[Bug c/65455] typeof _Atomic fails
joseph at codesourcery dot com
gcc-bugzilla@gcc.gnu.org
Thu Aug 13 15:59:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65455
--- Comment #19 from joseph at codesourcery dot com <joseph at codesourcery dot com> ---
On Thu, 13 Aug 2015, mpolacek at gcc dot gnu.org wrote:
> So this looks like a dup of PR39985. It seems that, if anything, we should
> modify __typeof to drop all qualifiers. I.e. that all of the following
> __typeofs yield "int":
Yes, I think so as a matter of language design, but there is a risk to
existing code (that declares aliases, for example) and there may be a use
for a new typeof variant that always returns the declared type when passed
an lvalue.
Minimally and probably more safely, __typeof should drop all qualifiers on
rvalues (including those returned by functions returning qualified type,
or resulting from cast to qualified type; note that the proposed
resolution to DR#423 would require changes to remove the qualifiers from
function return types so that "const int foo(int);" and "int foo(int);"
are compatible declarations, which would probably be safest if only done
for C11 and above).
More information about the Gcc-bugs
mailing list