From c666cf404d37d6624a4efdf06cc2f9f1995cfe9c Mon Sep 17 00:00:00 2001 From: Chad Rosier Date: Tue, 22 Jan 2013 18:18:22 +0000 Subject: [PATCH] [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 --- include/clang/Basic/DiagnosticParseKinds.td | 3 --- lib/Parse/ParseStmt.cpp | 3 --- test/Parser/MicrosoftExtensions.c | 2 +- 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; - 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 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}} -- 2.40.0