https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89037
Bug ID: 89037 Summary: checking ice emitting 128-bit bit-field initializer Product: gcc Version: 9.0 Status: UNCONFIRMED Keywords: ice-checking, ice-on-valid-code Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: rearnsha at gcc dot gnu.org Target Milestone: --- Target: aarch64 /* ./cc1 testcase.c */ struct s { __int128 y : 65; }; typedef struct s T; T a = { 1 }; Results in besttry.c:7:1: internal compiler error: tree check: accessed elt 2 of tree_int_cst with 1 elts in output_constructor_bitfield, at varasm.c:5410 7 | T a = { 1 }; | ^ 0x5be4f1 tree_int_cst_elt_check_failed(int, int, char const*, int, char const*) /home/rearnsha/gnusrc/gcc-cross/trunk/gcc/tree.c:9999 0x740049 tree_int_cst_elt_check(tree_node*, int, char const*, int, char const*) /home/rearnsha/gnusrc/gcc-cross/trunk/gcc/tree.h:3378 0xf8d530 output_constructor_bitfield /home/rearnsha/gnusrc/gcc-cross/trunk/gcc/varasm.c:5410 0xf8db12 output_constructor /home/rearnsha/gnusrc/gcc-cross/trunk/gcc/varasm.c:5524 0xf8c27f output_constant /home/rearnsha/gnusrc/gcc-cross/trunk/gcc/varasm.c:5037 0xf81a96 assemble_variable_contents /home/rearnsha/gnusrc/gcc-cross/trunk/gcc/varasm.c:2144 0xf82519 assemble_variable(tree_node*, int, int, int) /home/rearnsha/gnusrc/gcc-cross/trunk/gcc/varasm.c:2323 0xfa03c4 varpool_node::assemble_decl() /home/rearnsha/gnusrc/gcc-cross/trunk/gcc/varpool.c:586 0x7ac56c output_in_order /home/rearnsha/gnusrc/gcc-cross/trunk/gcc/cgraphunit.c:2443 0x7ac56c symbol_table::compile() /home/rearnsha/gnusrc/gcc-cross/trunk/gcc/cgraphunit.c:2683 0x7aef96 symbol_table::compile() /home/rearnsha/gnusrc/gcc-cross/trunk/gcc/cgraphunit.c:2865 0x7aef96 symbol_table::finalize_compilation_unit() /home/rearnsha/gnusrc/gcc-cross/trunk/gcc/cgraphunit.c:2862 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.