diff options
author | John McCall <rjmccall@apple.com> | 2010-01-25 22:27:48 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2010-01-25 22:27:48 +0000 |
commit | 9dfb16210eeabe75970965aa2209b312a246fc31 (patch) | |
tree | 1972c0ae006c17ed88eba5a54e722fe43717f9c7 /clang/lib/Parse/Parser.cpp | |
parent | ab2b1a7aebdbd5d4b3b7301681855cacd8952ad2 (diff) | |
download | bcm5719-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.cpp | 5 |
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(); |