https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110690
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Here is the proper testcase: ``` #include <typeinfo> struct S { int m; static void f_sizeof() { (void) sizeof(m); } static void f_typeid() { (void) typeid(decltype(m)); } struct N { int m; static void f_sizeof() { (void) sizeof(m); } static void f_typeid() { (void) typeid(decltype(m)); } }; template <class T> class C { public: int m; static void f_sizeof() { (void) sizeof(m); } static void f_typeid() { (void) typeid(decltype(m)); } }; } s; static void f_typeid() { (void) typeid(S::m); } ```