[Bug c++/31038] [4.1/4.2/4.3 regression] ICE with C99 style compound literal vs templates vs instiaiontion

2007-03-11 Thread mmitchel at gcc dot gnu dot org


-- 

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

2007-03-11 Thread mmitchel at gcc dot gnu dot org


--- 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

2007-03-04 Thread pinskia at gcc dot gnu dot org


--- 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

2007-03-04 Thread pinskia at gcc dot gnu dot org


--- 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

2007-03-04 Thread mmitchel at gcc dot gnu dot org


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31038