================
@@ -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