[Bug libstdc++/64367] [5 Regression] g++-v5/stdexcept:52:28: error: invalid use of non-static data member '_M_p'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64367 Jonathan Wakely redi at gcc dot gnu.org changed: What|Removed |Added CC||dcb314 at hotmail dot com --- Comment #10 from Jonathan Wakely redi at gcc dot gnu.org --- *** Bug 65399 has been marked as a duplicate of this bug. ***
[Bug libstdc++/64367] [5 Regression] g++-v5/stdexcept:52:28: error: invalid use of non-static data member '_M_p'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64367 --- Comment #8 from Jonathan Wakely redi at gcc dot gnu.org --- Author: redi Date: Mon Mar 2 16:50:24 2015 New Revision: 221118 URL: https://gcc.gnu.org/viewcvs?rev=221118root=gccview=rev Log: PR libstdc++/64367 * include/std/stdexcept (__sso_string): Don't use non-static member in sizeof. Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/include/std/stdexcept
[Bug libstdc++/64367] [5 Regression] g++-v5/stdexcept:52:28: error: invalid use of non-static data member '_M_p'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64367 Jonathan Wakely redi at gcc dot gnu.org changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution|--- |FIXED Target Milestone|--- |5.0 --- Comment #9 from Jonathan Wakely redi at gcc dot gnu.org --- Should really be fixed this time.
[Bug libstdc++/64367] [5 Regression] g++-v5/stdexcept:52:28: error: invalid use of non-static data member '_M_p'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64367 Jonathan Wakely redi at gcc dot gnu.org changed: What|Removed |Added Status|RESOLVED|REOPENED Last reconfirmed||2015-02-26 Resolution|FIXED |--- Assignee|unassigned at gcc dot gnu.org |redi at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #7 from Jonathan Wakely redi at gcc dot gnu.org --- There's another instance of the same error later in the file: /../lib/gcc/x86_64-redhat-linux/5.0.0/../../../../include/c++/5.0.0/stdexcept:83:28: error: invalid use of non-static data member '_M_s' char _M_bytes[sizeof(_M_s)]; ^~~~
[Bug libstdc++/64367] [5 Regression] g++-v5/stdexcept:52:28: error: invalid use of non-static data member '_M_p'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64367 --- Comment #5 from Jonathan Wakely redi at gcc dot gnu.org --- Author: redi Date: Sun Dec 21 15:16:08 2014 New Revision: 218997 URL: https://gcc.gnu.org/viewcvs?rev=218997root=gccview=rev Log: PR libstdc++/64367 * include/std/stdexcept: Don't use non-static member in sizeof. Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/include/std/stdexcept
[Bug libstdc++/64367] [5 Regression] g++-v5/stdexcept:52:28: error: invalid use of non-static data member '_M_p'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64367 Jonathan Wakely redi at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #6 from Jonathan Wakely redi at gcc dot gnu.org --- should be fixed
[Bug libstdc++/64367] [5 Regression] g++-v5/stdexcept:52:28: error: invalid use of non-static data member '_M_p'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64367 --- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org --- I don't know why clang complains, it accepts this, which shouldn't be any different: char _M_bytes[sizeof(decltype(_M_p))];
[Bug libstdc++/64367] [5 Regression] g++-v5/stdexcept:52:28: error: invalid use of non-static data member '_M_p'
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.
[Bug libstdc++/64367] [5 Regression] g++-v5/stdexcept:52:28: error: invalid use of non-static data member '_M_p'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64367 --- Comment #3 from Markus Trippelsdorf trippels at gcc dot gnu.org --- See § 5.1.1-13 for C++11 and § 5.1-10 for C++98. The C++98 standard doesn't mention unevaluated operands.
[Bug libstdc++/64367] [5 Regression] g++-v5/stdexcept:52:28: error: invalid use of non-static data member '_M_p'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64367 --- Comment #4 from Jonathan Wakely redi at gcc dot gnu.org --- Oh it's only for 98, I see. Well it's easy to fix with sizeof(const char*) anyway.