https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101164
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> --- For example, the C++ front end has to be prepared to handle this: struct S { int i; decltype(i) j; int k[sizeof(i)]; }; The C++ compiler has to keep track of every name from its point of declaration, in case it's used in later member declarations.