https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122483
--- Comment #7 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to Andrew Pinski from comment #5)
> (In reply to H.J. Lu from comment #2)
> > (In reply to Andrew Pinski from comment #1)
> > > I am not sure this is just a testsuite failure/change needed. I think the
> > > requirement for these attributes are for them to error out according to
> > > the
> > > ACLE.
> >
> > No. These errors are wrong. Please compile them with g++.
>
> No the C++ front-end is broken too. Just nobody had added tests for the C++
> front-end in this case.
>
> Try with clang:
> void sc_e (void) __arm_streaming_compatible {}
> void sc_e (void); // { dg-error "conflicting types" }
It is done on purpose for C++. Otherwise, we get
g++.dg/tm/pr46270.C
g++.dg/tm/pr46567.C
g++.dg/tm/pr47340.C
g++.dg/tm/unsafe2.C
See
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122428