[Bug target/89281] New: [9 Regression] gcc/optabs.c:3901:30: runtime error: shift exponent 32 is too large for 32-bit type 'int'

marxin at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Feb 11 07:39:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89281

            Bug ID: 89281
           Summary: [9 Regression] gcc/optabs.c:3901:30: runtime error:
                    shift exponent 32 is too large for 32-bit type 'int'
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
  Target Milestone: ---

I see following recent UBSAN error:

$ ./xgcc -B.
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-ubsan/build/gcc/testsuite/g++.dg/ext/vector27.C
-c -mno-sse -fnon-call-exceptions
../../gcc/optabs.c:3901:30: runtime error: shift exponent 32 is too large for
32-bit type 'int'
    #0 0x20b6cb1 in prepare_cmp_insn ../../gcc/optabs.c:3901
    #1 0x20b893a in emit_cmp_and_jump_insns(rtx_def*, rtx_def*, rtx_code,
rtx_def*, machine_mode, int, rtx_def*, profile_probability)
../../gcc/optabs.c:4146
    #2 0x1540b18 in do_compare_rtx_and_jump(rtx_def*, rtx_def*, rtx_code, int,
machine_mode, rtx_def*, rtx_code_label*, rtx_code_label*, profile_probability)
../../gcc/dojump.c:1171
    #3 0x1541c1b in do_compare_and_jump ../../gcc/dojump.c:1245
    #4 0x153abe8 in do_jump_1 ../../gcc/dojump.c:231
    #5 0x153eee9 in jumpifnot_1(tree_code, tree_node*, tree_node*,
rtx_code_label*, profile_probability) ../../gcc/dojump.c:954
    #6 0x17f4d2a in expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier) ../../gcc/expr.c:9389
    #7 0x1323a44 in expand_gimple_stmt_1 ../../gcc/cfgexpand.c:3789
    #8 0x1323f8b in expand_gimple_stmt ../../gcc/cfgexpand.c:3850
    #9 0x13396e8 in expand_gimple_basic_block ../../gcc/cfgexpand.c:5886
    #10 0x133e94a in execute ../../gcc/cfgexpand.c:6509
    #11 0x21b0dc4 in execute_one_pass(opt_pass*) ../../gcc/passes.c:2483
    #12 0x21b165a in execute_pass_list_1 ../../gcc/passes.c:2569
    #13 0x21b17ae in execute_pass_list(function*, opt_pass*)
../../gcc/passes.c:2580
    #14 0x1443648 in cgraph_node::expand() ../../gcc/cgraphunit.c:2195
    #15 0x1445c75 in output_in_order ../../gcc/cgraphunit.c:2439
    #16 0x1447279 in symbol_table::compile() ../../gcc/cgraphunit.c:2683
    #17 0x1447ce4 in symbol_table::finalize_compilation_unit()
../../gcc/cgraphunit.c:2862
    #18 0x25e7433 in compile_file ../../gcc/toplev.c:481
    #19 0x25ee7cf in do_compile ../../gcc/toplev.c:2176
    #20 0x25eedfd in toplev::main(int, char**) ../../gcc/toplev.c:2311
    #21 0x4964b26 in main ../../gcc/main.c:39
    #22 0x7ffff6e3101a in __libc_start_main ../csu/libc-start.c:308
    #23 0x89b559 in _start
(/home/marxin/Programming/gcc2/objdir/gcc/cc1plus+0x89b559)


More information about the Gcc-bugs mailing list