aboutsummaryrefslogtreecommitdiff
path: root/lib/Parse/ParseDeclCXX.cpp
diff options
context:
space:
mode:
authorAbramo Bagnara <abramo.bagnara@gmail.com>2011-05-01 16:25:54 +0000
committerAbramo Bagnara <abramo.bagnara@gmail.com>2011-05-01 16:25:54 +0000
commitf41e33c29cd4b21065956129d5e923f3d73d97d3 (patch)
tree8d7ea441dd451aabb9b8bb483bda5af5877e7948 /lib/Parse/ParseDeclCXX.cpp
parent8d54305063cd9246d2182c7144a6ef51009b4ad7 (diff)
Fixed source range for extern linkage specification without braces.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130660 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Parse/ParseDeclCXX.cpp')
-rw-r--r--lib/Parse/ParseDeclCXX.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Parse/ParseDeclCXX.cpp b/lib/Parse/ParseDeclCXX.cpp
index df2d214cb9..8c0aa1ba69 100644
--- a/lib/Parse/ParseDeclCXX.cpp
+++ b/lib/Parse/ParseDeclCXX.cpp
@@ -202,6 +202,11 @@ Decl *Parser::ParseLinkage(ParsingDeclSpec &DS, unsigned Context) {
MaybeParseMicrosoftAttributes(attrs);
if (Tok.isNot(tok::l_brace)) {
+ // Reset the source range in DS, as the leading "extern"
+ // does not really belong to the inner declaration ...
+ DS.SetRangeStart(SourceLocation());
+ DS.SetRangeEnd(SourceLocation());
+ // ... but anyway remember that such an "extern" was seen.
DS.setExternInLinkageSpec(true);
ParseExternalDeclaration(attrs, &DS);
return Actions.ActOnFinishLinkageSpecification(getCurScope(), LinkageSpec,