summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse/Parser.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2010-01-25 22:27:48 +0000
committerJohn McCall <rjmccall@apple.com>2010-01-25 22:27:48 +0000
commit9dfb16210eeabe75970965aa2209b312a246fc31 (patch)
tree1972c0ae006c17ed88eba5a54e722fe43717f9c7 /clang/lib/Parse/Parser.cpp
parentab2b1a7aebdbd5d4b3b7301681855cacd8952ad2 (diff)
downloadbcm5719-llvm-9dfb16210eeabe75970965aa2209b312a246fc31.tar.gz
bcm5719-llvm-9dfb16210eeabe75970965aa2209b312a246fc31.zip
Warn on top-level 'asm volatile' (instead of misparsing it).
"Fixes" rdar://problem/7574870 llvm-svn: 94458
Diffstat (limited to 'clang/lib/Parse/Parser.cpp')
-rw-r--r--clang/lib/Parse/Parser.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/Parse/Parser.cpp b/clang/lib/Parse/Parser.cpp
index f2bc303acd6..8ae85e3c26a 100644
--- a/clang/lib/Parse/Parser.cpp
+++ b/clang/lib/Parse/Parser.cpp
@@ -835,6 +835,11 @@ Parser::OwningExprResult Parser::ParseSimpleAsm(SourceLocation *EndLoc) {
assert(Tok.is(tok::kw_asm) && "Not an asm!");
SourceLocation Loc = ConsumeToken();
+ if (Tok.is(tok::kw_volatile)) {
+ Diag(Tok, diag::warn_file_asm_volatile);
+ ConsumeToken();
+ }
+
if (Tok.isNot(tok::l_paren)) {
Diag(Tok, diag::err_expected_lparen_after) << "asm";
return ExprError();
OpenPOWER on IntegriCloud