https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117802
Bug ID: 117802 Summary: ICE: SIGSEGV in fold_convert_loc (fold-const.cc:2626) with __builtin_iseqsig() on _BitInt() Product: gcc Version: unknown Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: zsojka at seznam dot cz CC: jakub at gcc dot gnu.org Target Milestone: --- Host: x86_64-pc-linux-gnu Target: x86_64-pc-linux-gnu Created attachment 59719 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=59719&action=edit reduced testcase Compiler output: $ x86_64-pc-linux-gnu-gcc testcase.c -wrapper valgrind,-q,--num-callers=100 ==26147== Invalid read of size 2 ==26147== at 0x120CE0E: fold_convert_loc(unsigned int, tree_node*, tree_node*) (fold-const.cc:2626) ==26147== by 0x103F1D3: fold_builtin_iseqsig(unsigned int, tree_node*, tree_node*) (builtins.cc:9953) ==26147== by 0x104D780: fold_builtin_2 (builtins.cc:10699) ==26147== by 0x104D780: fold_builtin_n(unsigned int, tree_node*, tree_node*, tree_node**, int, bool) [clone .isra.0] (builtins.cc:10819) ==26147== by 0x11ED75A: fold_build_call_array_loc(unsigned int, tree_node*, tree_node*, int, tree_node**) (fold-const.cc:14477) ==26147== by 0xF194CC: build_function_call_vec(unsigned int, vec<unsigned int, va_heap, vl_ptr>, tree_node*, vec<tree_node*, va_gc, vl_embed>*, vec<tree_node*, va_gc, vl_embed>*, tree_node*) (c-typeck.cc:3865) ==26147== by 0xF6877D: c_parser_postfix_expression_after_primary(c_parser*, unsigned int, c_expr) (c-parser.cc:13405) ==26147== by 0xF3FE4E: c_parser_postfix_expression(c_parser*) (c-parser.cc:12956) ==26147== by 0xF459EA: c_parser_unary_expression(c_parser*) (c-parser.cc:10367) ==26147== by 0xF4753F: c_parser_cast_expression(c_parser*, c_expr*) (c-parser.cc:10208) ==26147== by 0xF4782C: c_parser_binary_expression(c_parser*, c_expr*, tree_node*) (c-parser.cc:9976) ==26147== by 0xF48DD3: c_parser_conditional_expression(c_parser*, c_expr*, tree_node*) (c-parser.cc:9671) ==26147== by 0xF495C4: c_parser_expr_no_commas(c_parser*, c_expr*, tree_node*) (c-parser.cc:9584) ==26147== by 0xF4ABA3: c_parser_expression(c_parser*) (c-parser.cc:13545) ==26147== by 0xF4B107: c_parser_expression_conv(c_parser*) (c-parser.cc:13605) ==26147== by 0xF3CCCE: c_parser_statement_after_labels(c_parser*, bool*, tree_node*, vec<tree_node*, va_heap, vl_ptr>*, attr_state) (c-parser.cc:7975) ==26147== by 0xF3F9C7: c_parser_compound_statement_nostart(c_parser*) (c-parser.cc:7536) ==26147== by 0xF3FC64: c_parser_compound_statement(c_parser*, unsigned int*) (c-parser.cc:6760) ==26147== by 0xF3B444: c_parser_declaration_or_fndef(c_parser*, bool, bool, bool, bool, bool, bool, tree_node**, vec<c_token, va_heap, vl_ptr>*, bool, tree_node*, oacc_routine_data*, bool*) (c-parser.cc:3071) ==26147== by 0xF7508D: c_parser_external_declaration(c_parser*) (c-parser.cc:2067) ==26147== by 0xF75B15: c_parser_translation_unit (c-parser.cc:1921) ==26147== by 0xF75B15: c_parse_file() (c-parser.cc:28878) ==26147== by 0xFF2FE1: c_common_parse_file() (c-opts.cc:1379) ==26147== by 0x1638D9D: compile_file() (toplev.cc:452) ==26147== by 0xEC4FAA: do_compile (toplev.cc:2211) ==26147== by 0xEC4FAA: toplev::main(int, char**) (toplev.cc:2371) ==26147== by 0xEC67FD: main (main.cc:39) ==26147== Address 0x0 is not stack'd, malloc'd or (recently) free'd ==26147== testcase.c: In function 'foo': testcase.c:4:3: internal compiler error: Segmentation fault 4 | return __builtin_iseqsig (b, f); | ^~~~~~ ... $ x86_64-pc-linux-gnu-gcc -v Using built-in specs. COLLECT_GCC=/repo/gcc-trunk/binary-latest-amd64/bin/x86_64-pc-linux-gnu-gcc COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-20241126235337-r15-5714-g2fd9aef1db1a42-checking-yes-rtl-df-extra-nobootstrap-amd64/bin/../libexec/gcc/x86_64-pc-linux-gnu/15.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /repo/gcc-trunk//configure --enable-languages=c,c++ --enable-valgrind-annotations --disable-nls --enable-checking=yes,rtl,df,extra --disable-bootstrap --with-cloog --with-ppl --with-isl --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=x86_64-pc-linux-gnu --with-ld=/usr/bin/x86_64-pc-linux-gnu-ld --with-as=/usr/bin/x86_64-pc-linux-gnu-as --enable-libsanitizer --disable-libstdcxx-pch --prefix=/repo/gcc-trunk//binary-trunk-20241126235337-r15-5714-g2fd9aef1db1a42-checking-yes-rtl-df-extra-nobootstrap-amd64 Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 15.0.0 20241127 (experimental) (GCC)