This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: c++/9342: [3.3/3.4 regression] another ICE in cp_expr_size at cp/cp-lang.c: 304
- From: Janis Johnson <janis187 at us dot ibm dot com>
- To: jason at redhat dot com, gcc-gnats at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, matz at suse dot de, gcc-bugs at gcc dot gnu dot org, nobody at gcc dot gnu dot org
- Date: Thu, 16 Jan 2003 12:05:36 -0800
- Subject: Re: c++/9342: [3.3/3.4 regression] another ICE in cp_expr_size at cp/cp-lang.c: 304
- Organization: IBM
- Reply-to: janis187 at us dot ibm dot com
This regression showed up starting with this patch:
--- gcc/ChangeLog ---
2002-08-02 Jason Merrill <jason@redhat.com>
* langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
* langhooks.c (lhd_expr_size): Define default.
* langhooks.h (struct lang_hooks): Add expr_size.
* explow.c (expr_size): Call it.
* expr.c (store_expr): Don't copy an expression of size zero.
(expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
to store.
* Makefile.in (builtins.o): Depend on langhooks.h.
--- gcc/cp/ChangeLog ---
* cp-lang.c (LANG_HOOKS_EXPR_SIZE): Define.
(cp_expr_size): New fn.
* call.c (build_over_call): Lose empty class hackery.
(convert_arg_to_ellipsis): Promote non-POD warning to error.
* typeck.c (build_modify_expr): Don't use save_expr on an
lvalue.
The ICE can be reproduced on i686-linux with the reduced
test case.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9342