https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122483
--- Comment #14 from Richard Biener <rguenth at gcc dot gnu.org> ---
I think diagnosing
void sc_b ();
void sc_b () [[arm::streaming_compatible]]; // { dg-error "conflicting types" }
which still works is good. Diagnosing
void sc_a () [[arm::streaming_compatible]];
void sc_a (); // { dg-error "conflicting types" }
which no longer works is not necessary - the latter declaration does not
actually remove the attribute, so the type of sc_a isn't changed and all
possible users of sc_a see the attributed declaration.
So IMO this works as expected and in the appropriate way.
Thus, a testsuite issue, the tests should be fixed.