https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102019
Bug ID: 102019 Summary: [12 Regression] UBSAN error: hwint.h:293:61: runtime error: shift exponent 64 is too large for 64-bit type 'long unsigned int' since r12-2975-g32c3a75390623a0470df52af13f78baddd562981 Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: jakub at gcc dot gnu.org Blocks: 63426 Target Milestone: --- It's a new regression: $ ./gcc/xg++ -Bgcc /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/other/bitfield4.C -c /home/marxin/Programming/gcc2/gcc/hwint.h:293:61: runtime error: shift exponent 64 is too large for 64-bit type 'long unsigned int' #0 0xd2aa27 in sext_hwi /home/marxin/Programming/gcc2/gcc/hwint.h:293 #1 0xd2abc7 in wi::hwi_with_prec::hwi_with_prec(long, unsigned int, signop) /home/marxin/Programming/gcc2/gcc/wide-int.h:1604 #2 0xd2ac52 in wi::shwi(long, unsigned int) /home/marxin/Programming/gcc2/gcc/wide-int.h:1613 #3 0x1deb10e in poly_int<1u, wi::hwi_with_prec> wi::shwi<1u>(poly_int_pod<1u, long> const&, unsigned int) /home/marxin/Programming/gcc2/gcc/poly-int.h:794 #4 0x358770f in build_int_cst(tree_node*, poly_int<1u, long>) /home/marxin/Programming/gcc2/gcc/tree.c:1507 #5 0x358f4e5 in build_zero_cst(tree_node*) /home/marxin/Programming/gcc2/gcc/tree.c:2616 #6 0xebe139 in build_zero_init_1 /home/marxin/Programming/gcc2/gcc/cp/init.c:190 #7 0xebecdd in build_zero_init(tree_node*, tree_node*, bool) /home/marxin/Programming/gcc2/gcc/cp/init.c:317 #8 0xebfffc in build_value_init_noctor(tree_node*, int) /home/marxin/Programming/gcc2/gcc/cp/init.c:520 #9 0xebf3ac in build_value_init(tree_node*, int) /home/marxin/Programming/gcc2/gcc/cp/init.c:379 #10 0xebfa69 in build_value_init_noctor(tree_node*, int) /home/marxin/Programming/gcc2/gcc/cp/init.c:440 #11 0xebf3ac in build_value_init(tree_node*, int) /home/marxin/Programming/gcc2/gcc/cp/init.c:379 #12 0x14ce72d in build_functional_cast_1 /home/marxin/Programming/gcc2/gcc/cp/typeck2.c:2254 #13 0x14ce93c in build_functional_cast(unsigned int, tree_node*, tree_node*, int) /home/marxin/Programming/gcc2/gcc/cp/typeck2.c:2276 #14 0x118e4e7 in cp_parser_functional_cast /home/marxin/Programming/gcc2/gcc/cp/parser.c:31585 #15 0x111b1c7 in cp_parser_postfix_expression /home/marxin/Programming/gcc2/gcc/cp/parser.c:7493 #16 0x1122ebb in cp_parser_unary_expression /home/marxin/Programming/gcc2/gcc/cp/parser.c:8888 #17 0x1125ec3 in cp_parser_cast_expression /home/marxin/Programming/gcc2/gcc/cp/parser.c:9794 #18 0x112603a in cp_parser_binary_expression /home/marxin/Programming/gcc2/gcc/cp/parser.c:9897 #19 0x1127f32 in cp_parser_assignment_expression /home/marxin/Programming/gcc2/gcc/cp/parser.c:10201 #20 0x112906a in cp_parser_constant_expression /home/marxin/Programming/gcc2/gcc/cp/parser.c:10504 #21 0x116eda3 in cp_parser_initializer_clause /home/marxin/Programming/gcc2/gcc/cp/parser.c:24980 #22 0x116ea95 in cp_parser_initializer /home/marxin/Programming/gcc2/gcc/cp/parser.c:24920 #23 0x1161894 in cp_parser_init_declarator /home/marxin/Programming/gcc2/gcc/cp/parser.c:22552 #24 0x1142b0b in cp_parser_simple_declaration /home/marxin/Programming/gcc2/gcc/cp/parser.c:15114 #25 0x1142345 in cp_parser_block_declaration /home/marxin/Programming/gcc2/gcc/cp/parser.c:14934 #26 0x11419fb in cp_parser_declaration /home/marxin/Programming/gcc2/gcc/cp/parser.c:14800 #27 0x1141cb5 in cp_parser_toplevel_declaration /home/marxin/Programming/gcc2/gcc/cp/parser.c:14821 #28 0x110f846 in cp_parser_translation_unit /home/marxin/Programming/gcc2/gcc/cp/parser.c:4978 #29 0x11edd39 in c_parse_file() /home/marxin/Programming/gcc2/gcc/cp/parser.c:46822 #30 0x1617814 in c_common_parse_file() /home/marxin/Programming/gcc2/gcc/c-family/c-opts.c:1223 #31 0x2bab22a in compile_file /home/marxin/Programming/gcc2/gcc/toplev.c:458 #32 0x2bb3e19 in do_compile /home/marxin/Programming/gcc2/gcc/toplev.c:2233 #33 0x2bb441c in toplev::main(int, char**) /home/marxin/Programming/gcc2/gcc/toplev.c:2372 #34 0x58a5525 in main /home/marxin/Programming/gcc2/gcc/main.c:39 #35 0x7ffff6edcb34 in __libc_start_main ../csu/libc-start.c:332 #36 0xb2cd0d in _start (/dev/shm/objdir3/gcc/cc1plus+0xb2cd0d) Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63426 [Bug 63426] [meta-bug] Issues found with -fsanitize=undefined