]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gccrs: Emit error with old asm syntax in new asm blocks
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Wed, 9 Apr 2025 15:41:24 +0000 (17:41 +0200)
committerArthur Cohen <arthur.cohen@embecosm.com>
Mon, 28 Apr 2025 14:18:53 +0000 (16:18 +0200)
gcc/rust/ChangeLog:

* expand/rust-macro-builtins-asm.cc (parse_asm_arg): Emit error
message.

Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
gcc/rust/expand/rust-macro-builtins-asm.cc

index 4d0260447761e2037f9deeba8cea45557858fecb..97f7e3cff779b4328797d18f49fdd2acf03542d1 100644 (file)
@@ -671,6 +671,14 @@ parse_asm_arg (InlineAsmContext inline_asm_ctx)
     {
       token = parser.peek_current_token ();
 
+      if (token->get_id () == COLON || token->get_id () == SCOPE_RESOLUTION)
+       {
+         rust_error_at (
+           token->get_locus (),
+           "the legacy LLVM-style %<asm!%> syntax is no longer supported");
+         return tl::unexpected<InlineAsmParseError> (COMMITTED);
+       }
+
       // We accept a comma token here.
       if (token->get_id () != COMMA
          && inline_asm_ctx.consumed_comma_without_formatted_string)