This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/11971] [3.4 regression] ICE in cp_expr_size with variadic function call
- From: "janis187 at us dot ibm dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 29 Aug 2003 20:08:48 -0000
- Subject: [Bug c++/11971] [3.4 regression] ICE in cp_expr_size with variadic function call
- References: <20030818211350.11971.poschmid@lbl.gov>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11971
janis187 at us dot ibm dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jason at redhat dot com
------- Additional Comments From janis187 at us dot ibm dot com 2003-08-29 20:08 -------
The regression in PR 11971 was introduced or exposed by this patch:
--- gcc/gcc/ChangeLog ---
2003-01-02 Jason Merrill <jason@redhat.com>
* fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
* integrate.c (copy_decl_for_inlining): Don't clear the rtl for
static/external decls.
--- gcc/gcc/cp/ChangeLog ---
2003-01-02 Jason Merrill <jason@redhat.com>
* call.c (build_conditional_expr): Stabilize lvalues properly.
* cvt.c (ocp_convert): Don't build NOP_EXPRs of class type.
* tree.c (lvalue_p_1): Don't allow sloppy NOP_EXPRs as lvalues.
Don't allow CALL_EXPR or VA_ARG_EXPR, either.
* call.c (convert_like_real): Call decl_constant_value for an
IDENTITY_CONV even if there are no more conversions.
[also cvt.c, decl2.c, dump.c, except.c, init.c, tree.c]
The regression hunt took place on i686-pc-linux-gnu using the submitter's
test case. Before this patch the test case got these additional
warnings rather than the ICE:
11971.C: In function `int main()':
11971.C:22: warning: cannot pass objects of non-POD type `class A' through
`...'; call will abort at runtime
11971.C:22: warning: cannot pass objects of non-POD type `class A' through
`...'; call will abort at runtime