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

Reply via email to