https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114067
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |diagnostic --- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Actually A at that point is incomplete type. Note MSVC gives really bad diagnostic for: ``` struct A{ int x; static constexpr const A a{1}; }; ``` says undefined type A rather than incomplete type. Anyways GCC's check for incomplete type happens before the other checks. Plus GCC allows it with -fpermissive ....