diff options
author | Chad Rosier <mcrosier@apple.com> | 2013-01-22 18:18:22 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@apple.com> | 2013-01-22 18:18:22 +0000 |
commit | c666cf404d37d6624a4efdf06cc2f9f1995cfe9c (patch) | |
tree | c11203d3e455ac3dd2e36ad32d95fc4b79aaaf8a | |
parent | e0d2066ab8812cbaa16d79af5f2c9fb6bd52d2e2 (diff) |
[ms-inline asm] Remove a warning about ms-style inline assembly not being
supported.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173177 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang/Basic/DiagnosticParseKinds.td | 3 | ||||
-rw-r--r-- | lib/Parse/ParseStmt.cpp | 3 | ||||
-rw-r--r-- | test/Parser/MicrosoftExtensions.c | 2 | ||||
-rw-r--r-- | test/Parser/ms-inline-asm.c | 28 |
4 files changed, 15 insertions, 21 deletions
diff --git a/include/clang/Basic/DiagnosticParseKinds.td b/include/clang/Basic/DiagnosticParseKinds.td index 4f8c427977..055e79c258 100644 --- a/include/clang/Basic/DiagnosticParseKinds.td +++ b/include/clang/Basic/DiagnosticParseKinds.td @@ -18,9 +18,6 @@ def w_asm_qualifier_ignored : Warning<"ignored %0 qualifier on asm">, def warn_file_asm_volatile : Warning< "meaningless 'volatile' on asm outside function">, CatInlineAsm; -def warn_unsupported_msasm : Warning< - "MS-style inline assembly is not supported">, InGroup<Microsoft>; - let CategoryName = "Parse Issue" in { def ext_empty_translation_unit : Extension< diff --git a/lib/Parse/ParseStmt.cpp b/lib/Parse/ParseStmt.cpp index 87c1d46f6c..c4c558c346 100644 --- a/lib/Parse/ParseStmt.cpp +++ b/lib/Parse/ParseStmt.cpp @@ -1679,9 +1679,6 @@ StmtResult Parser::ParseReturnStatement() { /// ms-asm-line '\n' ms-asm-instruction-block /// StmtResult Parser::ParseMicrosoftAsmStatement(SourceLocation AsmLoc) { - // MS-style inline assembly is not fully supported, so emit a warning. - Diag(AsmLoc, diag::warn_unsupported_msasm); - SourceManager &SrcMgr = PP.getSourceManager(); SourceLocation EndLoc = AsmLoc; SmallVector<Token, 4> AsmToks; diff --git a/test/Parser/MicrosoftExtensions.c b/test/Parser/MicrosoftExtensions.c index 7703999d67..a96cd5c8f6 100644 --- a/test/Parser/MicrosoftExtensions.c +++ b/test/Parser/MicrosoftExtensions.c @@ -20,7 +20,7 @@ void * __ptr32 PtrToPtr32(const void *p) void __forceinline InterlockedBitTestAndSet (long *Base, long Bit) { - __asm { // expected-warning {{MS-style inline assembly is not supported}} + __asm { mov eax, Bit mov ecx, Base lock bts [ecx], eax diff --git a/test/Parser/ms-inline-asm.c b/test/Parser/ms-inline-asm.c index 280881a166..c6db602059 100644 --- a/test/Parser/ms-inline-asm.c +++ b/test/Parser/ms-inline-asm.c @@ -3,36 +3,36 @@ #define M __asm int 0x2c #define M2 int -void t1(void) { M } // expected-warning {{MS-style inline assembly is not supported}} -void t2(void) { __asm int 0x2c } // expected-warning {{MS-style inline assembly is not supported}} -void t3(void) { __asm M2 0x2c } // expected-warning {{MS-style inline assembly is not supported}} -void t4(void) { __asm mov eax, fs:[0x10] } // expected-warning {{MS-style inline assembly is not supported}} +void t1(void) { M } +void t2(void) { __asm int 0x2c } +void t3(void) { __asm M2 0x2c } +void t4(void) { __asm mov eax, fs:[0x10] } void t5() { - __asm { // expected-warning {{MS-style inline assembly is not supported}} + __asm { int 0x2c ; } asm comments are fun! }{ } - __asm {} // expected-warning {{MS-style inline assembly is not supported}} + __asm {} } int t6() { - __asm int 3 ; } comments for single-line asm // expected-warning {{MS-style inline assembly is not supported}} - __asm {} // expected-warning {{MS-style inline assembly is not supported}} + __asm int 3 ; } comments for single-line asm + __asm {} - __asm int 4 // expected-warning {{MS-style inline assembly is not supported}} + __asm int 4 return 10; } void t7() { - __asm { // expected-warning {{MS-style inline assembly is not supported}} + __asm { push ebx mov ebx, 0x07 pop ebx } } void t8() { - __asm nop __asm nop __asm nop // expected-warning {{MS-style inline assembly is not supported}} + __asm nop __asm nop __asm nop } void t9() { - __asm nop __asm nop ; __asm nop // expected-warning {{MS-style inline assembly is not supported}} + __asm nop __asm nop ; __asm nop } int t_fail() { // expected-note {{to match this}} - __asm // expected-warning {{MS-style inline assembly is not supported}} - __asm { // expected-warning {{MS-style inline assembly is not supported}} expected-error 3 {{expected}} expected-note {{to match this}} + __asm + __asm { // expected-error 3 {{expected}} expected-note {{to match this}} |