diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2016-07-15 18:11:33 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2016-07-15 18:11:33 +0000 |
commit | d798c05526af3e746d3e0b5ab99ebfa62d55d803 (patch) | |
tree | 8cc9bf8791aa4afc54fa33ccdd450e6baca75550 /clang/lib/Parse/ParseDecl.cpp | |
parent | e59b770518847c3fa83aabb0c5c96a49d274d047 (diff) | |
download | bcm5719-llvm-d798c05526af3e746d3e0b5ab99ebfa62d55d803.tar.gz bcm5719-llvm-d798c05526af3e746d3e0b5ab99ebfa62d55d803.zip |
[AST] Keep track of the left brace source location of a tag decl.
This is useful for source modification tools. There will be a follow-up commit using it.
llvm-svn: 275590
Diffstat (limited to 'clang/lib/Parse/ParseDecl.cpp')
-rw-r--r-- | clang/lib/Parse/ParseDecl.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/clang/lib/Parse/ParseDecl.cpp b/clang/lib/Parse/ParseDecl.cpp index 65d7a9b8fd7..9a754ee23c9 100644 --- a/clang/lib/Parse/ParseDecl.cpp +++ b/clang/lib/Parse/ParseDecl.cpp @@ -3773,8 +3773,7 @@ void Parser::ParseStructUnionBody(SourceLocation RecordLoc, T.getOpenLocation(), T.getCloseLocation(), attrs.getList()); StructScope.Exit(); - Actions.ActOnTagFinishDefinition(getCurScope(), TagDecl, - T.getCloseLocation()); + Actions.ActOnTagFinishDefinition(getCurScope(), TagDecl, T.getRange()); } /// ParseEnumSpecifier @@ -4269,7 +4268,7 @@ void Parser::ParseEnumBody(SourceLocation StartLoc, Decl *EnumDecl) { ParsedAttributes attrs(AttrFactory); MaybeParseGNUAttributes(attrs); - Actions.ActOnEnumBody(StartLoc, T.getOpenLocation(), T.getCloseLocation(), + Actions.ActOnEnumBody(StartLoc, T.getRange(), EnumDecl, EnumConstantDecls, getCurScope(), attrs.getList()); @@ -4283,8 +4282,7 @@ void Parser::ParseEnumBody(SourceLocation StartLoc, Decl *EnumDecl) { } EnumScope.Exit(); - Actions.ActOnTagFinishDefinition(getCurScope(), EnumDecl, - T.getCloseLocation()); + Actions.ActOnTagFinishDefinition(getCurScope(), EnumDecl, T.getRange()); // The next token must be valid after an enum definition. If not, a ';' // was probably forgotten. |