https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65455
--- Comment #4 from Jens Gustedt <jens.gustedt at inria dot fr> --- This is a surprising policy change that occurs a random point in time, namely where _Atomic is introduced to the C language and in addition does that in a very unituitive way. Why drop _Atomic, why keep the others. Also it doesn't look very consistent to me: on one hand you claim that it is necessary for the implementation of stdatomic.h, but that now uses __auto_type. For __auto_type the drop of qualifiers comes quite naturally since the RHS is evaluated anyhow. So basically the drop of _Atomic qualifiers by __typeof__ is a historic artefact that maybe has been needed in a short period of time for one internal use case in libatomic. Please consider changing this to a more comprehensive behavior.