This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]