This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/84938] New: internal compiler error: in gen_reg_rtx, at emit-rtl.c:1187 (gen_reg_rtx()/maybe_legitimize_operand())


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

            Bug ID: 84938
           Summary: internal compiler error: in gen_reg_rtx, at
                    emit-rtl.c:1187
                    (gen_reg_rtx()/maybe_legitimize_operand())
           Product: gcc
           Version: 8.0.1
            Status: UNCONFIRMED
          Keywords: ice-on-invalid-code
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: vegard.nossum at gmail dot com
                CC: webrown.cpp at gmail dot com
  Target Milestone: ---

Input:

int &&a = 1 / ~-1ULL;

Output:

$ cc1plus 
<stdin>:1:13: warning: division by zero [-Wdiv-by-zero]

Analyzing compilation unit
Performing interprocedural optimizations
 <*free_lang_data> <visibility> <build_ssa_passes> <opt_local_passes>
<targetclone> <free-fnsummary> <whole-program> <fnsummary> <inline>
<free-fnsummary> <single-use> <comdats>Assembling functions:
 <materialize-all-clones> <simdclone><stdin>:1:21: internal compiler error: in
gen_reg_rtx, at emit-rtl.c:1187
0x1d84b67 gen_reg_rtx(machine_mode)
        /home/vegard/git/gcc/gcc/emit-rtl.c:1187
0x2b0ee4c maybe_legitimize_operand
        /home/vegard/git/gcc/gcc/optabs.c:7143
0x2b0ee4c maybe_legitimize_operands(insn_code, unsigned int, unsigned int,
expand_operand*)
        /home/vegard/git/gcc/gcc/optabs.c:7222
0x2b0ee4c maybe_gen_insn(insn_code, unsigned int, expand_operand*)
        /home/vegard/git/gcc/gcc/optabs.c:7240
0x2b0ee4c expand_unop_direct
        /home/vegard/git/gcc/gcc/optabs.c:2695
0x2b07681 expand_unop(machine_mode, optab_tag, rtx_def*, rtx_def*, int)
        /home/vegard/git/gcc/gcc/optabs.c:2737
0x1edee2a expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
        /home/vegard/git/gcc/gcc/expr.c:9222
0x1e76836 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
        /home/vegard/git/gcc/gcc/expr.c:11286
0x1eb0674 expand_expr_real(tree_node*, rtx_def*, machine_mode, expand_modifier,
rtx_def**, bool)
        /home/vegard/git/gcc/gcc/expr.c:8227
0x1eb0674 expand_expr
        /home/vegard/git/gcc/gcc/expr.h:276
0x1eb0674 expand_operands(tree_node*, tree_node*, rtx_def*, rtx_def**,
rtx_def**, expand_modifier)
        /home/vegard/git/gcc/gcc/expr.c:7825
0x1edc677 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
        /home/vegard/git/gcc/gcc/expr.c:8971
0x1e76836 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
        /home/vegard/git/gcc/gcc/expr.c:11286
0x41d9f62 expand_expr
        /home/vegard/git/gcc/gcc/expr.h:276
0x41d9f62 output_constant
        /home/vegard/git/gcc/gcc/varasm.c:4907
0x41dcc2b assemble_variable_contents
        /home/vegard/git/gcc/gcc/varasm.c:2136
0x41fd542 assemble_variable(tree_node*, int, int, int)
        /home/vegard/git/gcc/gcc/varasm.c:2312
0x4218599 varpool_node::assemble_decl()
        /home/vegard/git/gcc/gcc/varpool.c:590
0x19a9497 output_in_order
        /home/vegard/git/gcc/gcc/cgraphunit.c:2385
0x19a9497 symbol_table::compile()
        /home/vegard/git/gcc/gcc/cgraphunit.c:2623
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.

Version:

GNU C++14 (GCC) version 8.0.1 20180306 (experimental) (x86_64-pc-linux-gnu)

Possibly related: bug #70420, bug #78380

Clang complains about UB (division by zero) but does compiles it.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]