https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116545
--- Comment #5 from Andi Kleen <andi-gcc at firstfloor dot org> ---
Something like this untested patch would likely also fix the test case:
diff --git a/gcc/c-family/c-lex.cc b/gcc/c-family/c-lex.cc
index e450c9a57f0..e1f78431210 100644
--- a/gcc/c-family/c-lex.cc
+++ b/gcc/c-family/c-lex.cc
@@ -410,8 +410,10 @@ c_common_has_attribute (cpp_reader *pfile, bool
std_syntax)
}
else
{
+ if (is_attribute_p ("musttail", attr_name))
+ result = 0;
/* Some standard attributes need special handling. */
- if (c_dialect_cxx ())
+ else if (c_dialect_cxx ())
{
if (is_attribute_p ("noreturn", attr_name))
result = 200809;