public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug c++/51463] New: [c++0x] [4.7 Regression] ICE declaring a member function virtual and static @ 2011-12-08 8:15 reichelt at gcc dot gnu.org 2011-12-08 8:20 ` [Bug c++/51463] " reichelt at gcc dot gnu.org ` (3 more replies) 0 siblings, 4 replies; 5+ messages in thread From: reichelt at gcc dot gnu.org @ 2011-12-08 8:15 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51463 Bug #: 51463 Summary: [c++0x] [4.7 Regression] ICE declaring a member function virtual and static Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned@gcc.gnu.org ReportedBy: reichelt@gcc.gnu.org The following invalid code snippet triggers an ICE on trunk when compiled with "-std=c++0x": ============================== struct A { virtual static int i = 0; }; ============================== bug.cc:3:26: error: member 'i' cannot be declared both virtual and static bug.cc:3:26: error: 'i' declared as a 'virtual' field bug.cc:4:1: internal compiler error: tree check: expected default_arg, have integer_cst in cp_parser_late_parse_one_default_arg, at cp/parser.c:21781 Please submit a full bug report, [etc.] ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/51463] [c++0x] [4.7 Regression] ICE declaring a member function virtual and static 2011-12-08 8:15 [Bug c++/51463] New: [c++0x] [4.7 Regression] ICE declaring a member function virtual and static reichelt at gcc dot gnu.org @ 2011-12-08 8:20 ` reichelt at gcc dot gnu.org 2011-12-14 17:05 ` jakub at gcc dot gnu.org ` (2 subsequent siblings) 3 siblings, 0 replies; 5+ messages in thread From: reichelt at gcc dot gnu.org @ 2011-12-08 8:20 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51463 Volker Reichelt <reichelt at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |error-recovery, | |ice-checking, | |ice-on-invalid-code Target Milestone|--- |4.7.0 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/51463] [c++0x] [4.7 Regression] ICE declaring a member function virtual and static 2011-12-08 8:15 [Bug c++/51463] New: [c++0x] [4.7 Regression] ICE declaring a member function virtual and static reichelt at gcc dot gnu.org 2011-12-08 8:20 ` [Bug c++/51463] " reichelt at gcc dot gnu.org @ 2011-12-14 17:05 ` jakub at gcc dot gnu.org 2011-12-15 20:50 ` jakub at gcc dot gnu.org 2011-12-15 20:55 ` jakub at gcc dot gnu.org 3 siblings, 0 replies; 5+ messages in thread From: jakub at gcc dot gnu.org @ 2011-12-14 17:05 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51463 Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Last reconfirmed| |2011-12-14 AssignedTo|unassigned at gcc dot |jakub at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-12-14 16:39:37 UTC --- Created attachment 26084 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26084 gcc47-pr51463.patch Untested fix. Not very happy about the patch, it is not very nice, but we decide to parse the initializer as NSDMI resp. normal static initializer already before grokdeclarator is called, have apparently no access to that initializer in there and because of the errors decide to clear staticp (and override storage_class to sc_none). So something that has been parsed as static data member initializer is now used as NSDMI. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/51463] [c++0x] [4.7 Regression] ICE declaring a member function virtual and static 2011-12-08 8:15 [Bug c++/51463] New: [c++0x] [4.7 Regression] ICE declaring a member function virtual and static reichelt at gcc dot gnu.org 2011-12-08 8:20 ` [Bug c++/51463] " reichelt at gcc dot gnu.org 2011-12-14 17:05 ` jakub at gcc dot gnu.org @ 2011-12-15 20:50 ` jakub at gcc dot gnu.org 2011-12-15 20:55 ` jakub at gcc dot gnu.org 3 siblings, 0 replies; 5+ messages in thread From: jakub at gcc dot gnu.org @ 2011-12-15 20:50 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51463 --- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-12-15 20:46:01 UTC --- Author: jakub Date: Thu Dec 15 20:45:53 2011 New Revision: 182387 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=182387 Log: PR c++/51463 * decl.c (grokdeclarator): Set DECL_INITIAL of decl to error_mark_node to disallow NSDMI if declspecs->storage_class is sc_static. * parser.c (cp_parser_late_parse_one_default_arg): Return early if default_arg is error_mark_node. * g++.dg/cpp0x/pr51463.C: New test. Added: trunk/gcc/testsuite/g++.dg/cpp0x/pr51463.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/decl.c trunk/gcc/cp/parser.c trunk/gcc/testsuite/ChangeLog ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/51463] [c++0x] [4.7 Regression] ICE declaring a member function virtual and static 2011-12-08 8:15 [Bug c++/51463] New: [c++0x] [4.7 Regression] ICE declaring a member function virtual and static reichelt at gcc dot gnu.org ` (2 preceding siblings ...) 2011-12-15 20:50 ` jakub at gcc dot gnu.org @ 2011-12-15 20:55 ` jakub at gcc dot gnu.org 3 siblings, 0 replies; 5+ messages in thread From: jakub at gcc dot gnu.org @ 2011-12-15 20:55 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51463 Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED --- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-12-15 20:52:15 UTC --- Fixed. ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2011-12-15 20:53 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2011-12-08 8:15 [Bug c++/51463] New: [c++0x] [4.7 Regression] ICE declaring a member function virtual and static reichelt at gcc dot gnu.org 2011-12-08 8:20 ` [Bug c++/51463] " reichelt at gcc dot gnu.org 2011-12-14 17:05 ` jakub at gcc dot gnu.org 2011-12-15 20:50 ` jakub at gcc dot gnu.org 2011-12-15 20:55 ` jakub at gcc dot gnu.org
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).