summaryrefslogtreecommitdiff
path: root/lib/Parse/ParseDecl.cpp
diff options
context:
space:
mode:
authorLeonard Chan <leonardchan@google.com>2019-05-03 03:28:06 +0000
committerLeonard Chan <leonardchan@google.com>2019-05-03 03:28:06 +0000
commita121961bcb19ce431c7e2be54afedf67c3407d8c (patch)
treec3e31443f6490fa2a2f53e2fe06daa38d97c8696 /lib/Parse/ParseDecl.cpp
parentecefe8a46344839f5272956a045e6f500f0a927e (diff)
downloadclang-a121961bcb19ce431c7e2be54afedf67c3407d8c.tar.gz
Revert "[Attribute/Diagnostics] Print macro if definition is an attribute declaration"
This reverts commit fc40cbd9d8c63e65eed3590ba925321afe782e1d. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@359859 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Parse/ParseDecl.cpp')
-rw-r--r--lib/Parse/ParseDecl.cpp40
1 files changed, 1 insertions, 39 deletions
diff --git a/lib/Parse/ParseDecl.cpp b/lib/Parse/ParseDecl.cpp
index 4e5ca2ee8f..130cd9f206 100644
--- a/lib/Parse/ParseDecl.cpp
+++ b/lib/Parse/ParseDecl.cpp
@@ -85,23 +85,6 @@ static bool isAttributeLateParsed(const IdentifierInfo &II) {
#undef CLANG_ATTR_LATE_PARSED_LIST
}
-/// Check if the a start and end source location expand to the same macro.
-bool FindLocsWithCommonFileID(Preprocessor &PP, SourceLocation StartLoc,
- SourceLocation EndLoc) {
- if (!StartLoc.isMacroID() || !EndLoc.isMacroID())
- return false;
-
- SourceManager &SM = PP.getSourceManager();
- if (SM.getFileID(StartLoc) != SM.getFileID(EndLoc))
- return false;
-
- bool AttrStartIsInMacro =
- Lexer::isAtStartOfMacroExpansion(StartLoc, SM, PP.getLangOpts());
- bool AttrEndIsInMacro =
- Lexer::isAtEndOfMacroExpansion(EndLoc, SM, PP.getLangOpts());
- return AttrStartIsInMacro && AttrEndIsInMacro;
-}
-
/// ParseGNUAttributes - Parse a non-empty attributes list.
///
/// [GNU] attributes:
@@ -150,10 +133,7 @@ void Parser::ParseGNUAttributes(ParsedAttributes &attrs,
assert(Tok.is(tok::kw___attribute) && "Not a GNU attribute list!");
while (Tok.is(tok::kw___attribute)) {
- SourceLocation AttrTokLoc = ConsumeToken();
- unsigned OldNumAttrs = attrs.size();
- unsigned OldNumLateAttrs = LateAttrs ? LateAttrs->size() : 0;
-
+ ConsumeToken();
if (ExpectAndConsume(tok::l_paren, diag::err_expected_lparen_after,
"attribute")) {
SkipUntil(tok::r_paren, StopAtSemi); // skip until ) or ;
@@ -221,24 +201,6 @@ void Parser::ParseGNUAttributes(ParsedAttributes &attrs,
SkipUntil(tok::r_paren, StopAtSemi);
if (endLoc)
*endLoc = Loc;
-
- // If this was declared in a macro, attach the macro IdentifierInfo to the
- // parsed attribute.
- if (FindLocsWithCommonFileID(PP, AttrTokLoc, Loc)) {
- auto &SM = PP.getSourceManager();
- CharSourceRange ExpansionRange = SM.getExpansionRange(AttrTokLoc);
- StringRef FoundName =
- Lexer::getSourceText(ExpansionRange, SM, PP.getLangOpts());
- IdentifierInfo *MacroII = PP.getIdentifierInfo(FoundName);
-
- for (unsigned i = OldNumAttrs; i < attrs.size(); ++i)
- attrs[i].setMacroIdentifier(MacroII, ExpansionRange.getBegin());
-
- if (LateAttrs) {
- for (unsigned i = OldNumLateAttrs; i < LateAttrs->size(); ++i)
- (*LateAttrs)[i]->MacroII = MacroII;
- }
- }
}
}