This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[C++ Patch] PR 55323
- From: Paolo Carlini <paolo dot carlini at oracle dot com>
- To: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Cc: Jason Merrill <jason at redhat dot com>
- Date: Wed, 14 Nov 2012 17:39:12 +0100
- Subject: [C++ Patch] PR 55323
Hi,
in this ICE on illegal what happens is the following:
finish_mem_initializers calls check_for_bare_parameter_packs which
errors out with "parameter packs not expanded with ‘...’" and returns
true, thus the former does TREE_VALUE (mem) = error_mark_node.
Eventually, emit_mem_initializers calls expand_aggr_init_1 with this
error_mark_node as 'arguments' which hits the gcc_assert for init !=
error_mark_node.
A safe fix, which passes testing on x86_64-linux, seems just skipping
the error_mark_node. I also considered simply returning, but that would
certainly change the current behavior in terms of warnings produced for
other bases when arguments == NULL_TREE.
Thanks,
Paolo.
/////////////////////
Attachment:
CL_55323
Description: Text document
Attachment:
patch_55323
Description: Text document