[Bug c++/31038] [4.1/4.2/4.3 regression] ICE with C99 style compound literal vs templates vs instiaiontion
-- mmitchel at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |mark at codesourcery dot com |dot org | Status|NEW |ASSIGNED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31038
[Bug c++/31038] [4.1/4.2/4.3 regression] ICE with C99 style compound literal vs templates vs instiaiontion
--- Comment #3 from mmitchel at gcc dot gnu dot org 2007-03-12 00:26 --- Subject: Bug 31038 Author: mmitchel Date: Mon Mar 12 00:26:39 2007 New Revision: 122829 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=122829 Log: PR c++/30328 * semantics.c (finish_typeof): Use unlowered_expr_type. PR c++/30328 * g++.dg/ext/bitfield1.C: New test. PR c++/31038 * parser.c (cp_parser_postfix_expression): Disallow compound literals in constant expressions. PR c++/31038 * g++.dg/template/complit2.C: New test. Added: trunk/gcc/testsuite/g++.dg/ext/bitfield1.C trunk/gcc/testsuite/g++.dg/template/complit2.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/parser.c trunk/gcc/cp/semantics.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31038
[Bug c++/31038] [4.1/4.2/4.3 regression] ICE with C99 style compound literal vs templates vs instiaiontion
--- Comment #1 from pinskia at gcc dot gnu dot org 2007-03-04 22:00 --- I can fix the testcase here by optimizing when we produce a CLEANUP_POINT_EXPR but the following testcase still fails at that point: int f(void); templateint void foo() { int i = (int) { f() }; } template void foo0(); -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2007-03-04 22:00:04 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31038
[Bug c++/31038] [4.1/4.2/4.3 regression] ICE with C99 style compound literal vs templates vs instiaiontion
--- Comment #2 from pinskia at gcc dot gnu dot org 2007-03-04 22:14 --- #8 0x0017dc54 in cp_parser_initializer_clause (parser=0x434e1dc0, non_constant_p=0xb039 ) at ../../gcc/cp/parser.c:12954 12954 initializer = fold_non_dependent_expr (initializer); And fold_non_dependent_expr sets processing_template_decl to false. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31038
[Bug c++/31038] [4.1/4.2/4.3 regression] ICE with C99 style compound literal vs templates vs instiaiontion
-- mmitchel at gcc dot gnu dot org changed: What|Removed |Added Priority|P3 |P1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31038