This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
patch that caused regression PR c++/9342
- From: Janis Johnson <janis187 at us dot ibm dot com>
- To: gcc at gcc dot gnu dot org, jason at redhat dot com
- Date: Thu, 16 Jan 2003 12:06:35 -0800
- Subject: patch that caused regression PR c++/9342
PR c++/9342 is a regression in the mainline and the 3.3 branch that
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 problem was reported against x86-64 and can be reproduced on
i686-linux using the minimized test case (extracted from KDE) in GNATS.
This information has been added to the PR.
Janis