summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorAlex Lorenz <arphaman@gmail.com>2018-02-08 21:20:43 +0000
committerAlex Lorenz <arphaman@gmail.com>2018-02-08 21:20:43 +0000
commit692821afec54bf566ea80a00621648823c838b73 (patch)
tree6d383a2eb1bbb69b972920e6a4e4a6836b90dd9c /clang/lib
parent7fd9a58d8cfb0c32710701d360d116c4dbd8da9e (diff)
downloadbcm5719-llvm-692821afec54bf566ea80a00621648823c838b73.tar.gz
bcm5719-llvm-692821afec54bf566ea80a00621648823c838b73.zip
PR36307: Consume the #pragma options align annotation token after
semantic analysis to prevent incorrect -Wpragma-pack warning for an included file rdar://37354951 llvm-svn: 324651
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Parse/ParsePragma.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/clang/lib/Parse/ParsePragma.cpp b/clang/lib/Parse/ParsePragma.cpp
index 3517264d4e9..8cbae5f4633 100644
--- a/clang/lib/Parse/ParsePragma.cpp
+++ b/clang/lib/Parse/ParsePragma.cpp
@@ -509,8 +509,10 @@ void Parser::HandlePragmaAlign() {
Sema::PragmaOptionsAlignKind Kind =
static_cast<Sema::PragmaOptionsAlignKind>(
reinterpret_cast<uintptr_t>(Tok.getAnnotationValue()));
- SourceLocation PragmaLoc = ConsumeAnnotationToken();
- Actions.ActOnPragmaOptionsAlign(Kind, PragmaLoc);
+ Actions.ActOnPragmaOptionsAlign(Kind, Tok.getLocation());
+ // Consume the token after processing the pragma to enable pragma-specific
+ // #include warnings.
+ ConsumeAnnotationToken();
}
void Parser::HandlePragmaDump() {
OpenPOWER on IntegriCloud