https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64367

--- Comment #2 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
It doesn't accept your example for C++98, too. C++11 is fine.

markus@x4 ~ % cat test.ii
union u
{
  const char *_M_p;
  char _M_bytes[sizeof (_M_p)];
};

markus@x4 ~ % clang++ -std=c++11 -O2 -c test.ii
markus@x4 ~ % clang++ -O2 -c test.ii
test.ii:4:25: error: invalid use of non-static data member '_M_p'
  char _M_bytes[sizeof (_M_p)];
                        ^~~~
1 error generated.
markus@x4 ~ % 

This looks correct to me.

Reply via email to