Currently clang accepts code like [[gnu::abi_tag("123")]] void func() {}. The problem is that this will produce a mangled function name that cannot be demangled. In this case _Z4funcB3123v. GCC correctly rejects this: https://godbolt.org/z/vGjKMrEv4.