================
@@ -43,6 +43,14 @@ void test3(void) {
   int x;
   asm(L"foo" : "=r"(x)); // expected-error {{wide string}}
   asm("foo" : L"=r"(x)); // expected-error {{wide string}}
+
+  // GH177056
+  asm(u8"nop"); // expected-error {{cannot use unicode string literal in 
'asm'}}
+  asm(u"nop");  // expected-error {{cannot use unicode string literal in 
'asm'}}
+  asm(U"nop");  // expected-error {{cannot use unicode string literal in 
'asm'}}
+  asm(L"nop");  // expected-error {{cannot use wide string literal in 'asm'}}
----------------
ojhunt wrote:

Hmmm, we handle these all correctly, it's the brace in the original test case 
that breaks things, you just need `asm((u8""}))` - my assumption is that 
there's some logic that is skipped when the expression parsing fails

https://github.com/llvm/llvm-project/pull/177096
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to