https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90777
Bug ID: 90777 Summary: [10 Regression] pr84828 testcase ICEs for m32 x86_64,i686-darwin* Product: gcc Version: 10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: iains at gcc dot gnu.org Target Milestone: --- starting between 268809 (absent) and from 268955 through current trunk, the test case ICEs with: /src-local/gcc-trunk/gcc/testsuite/g++.dg/ext/pr84828.C: In function 'void foo(float, double)': /src-local/gcc-trunk/gcc/testsuite/g++.dg/ext/pr84828.C:10:35: error: output constraint 0 must specify a single register during RTL pass: stack /src-local/gcc-trunk/gcc/testsuite/g++.dg/ext/pr84828.C:13:1: internal compiler error: in change_stack, at reg-stack.c:2647 reproducible on a stage1 cc1plus. ===== * thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1 * frame #0: 0x0000000101c08546 cc1plus`internal_error(gmsgid="in %s, at %s:%d") at diagnostic.c:1543 frame #1: 0x0000000101fb96ad cc1plus`fancy_abort(file=<unavailable>, line=<unavailable>, function=<unavailable>) at diagnostic.c:1614 frame #2: 0x00000001014b4d26 cc1plus`::change_stack(insn=0x0000000143e41e80, old=0x00007fff5fbff530, new_stack=0x0000000103079130, where=<unavailable>) at reg-stack.c:2647 frame #3: 0x00000001014b681d cc1plus`::compensate_edge(e=0x0000000143d00750) at reg-stack.c:2915 frame #4: 0x00000001014b6988 cc1plus`::compensate_edges() at reg-stack.c:2958 frame #5: 0x00000001014bd820 cc1plus`::convert_regs() at reg-stack.c:3265 frame #6: 0x00000001014bdea9 cc1plus`::reg_to_stack() at reg-stack.c:3374 frame #7: 0x00000001014bded2 cc1plus`::rest_of_handle_stack_regs() at reg-stack.c:3429 frame #8: 0x00000001014bdeef cc1plus`pass_stack_regs_run::execute(this=<unavailable>, (null)=<unavailable>) const at reg-stack.c:3460 frame #9: 0x000000010142eaf1 cc1plus`execute_one_pass(pass=0x0000000143b13830) at passes.c:2473 frame #10: 0x000000010142f0ad cc1plus`::execute_pass_list_1(pass=0x0000000143b13830) at passes.c:2559 frame #11: 0x000000010142f0d1 cc1plus`::execute_pass_list_1(pass=0x0000000143b13770) at passes.c:2560 frame #12: 0x000000010142f0d1 cc1plus`::execute_pass_list_1(pass=0x0000000143b12e70) at passes.c:2560 frame #13: 0x000000010142f0d1 cc1plus`::execute_pass_list_1(pass=0x0000000143b11bb0) at passes.c:2560 frame #14: 0x000000010142f10c cc1plus`execute_pass_list(fn=0x0000000143e45000, pass=<unavailable>) at passes.c:2570 frame #15: 0x0000000100d551eb cc1plus`cgraph_node::expand(this=0x0000000143d042d0) at cgraphunit.c:2194 frame #16: 0x0000000100d56b36 cc1plus`::expand_all_functions() at cgraphunit.c:2332 frame #17: 0x0000000100d56fe0 cc1plus`symbol_table::compile(this=0x0000000143d05100) at cgraphunit.c:2683 frame #18: 0x0000000100d589e4 cc1plus`symbol_table::finalize_compilation_unit(this=0x0000000143d05100) at cgraphunit.c:2861 frame #19: 0x000000010160a608 cc1plus`::compile_file() at toplev.c:481 frame #20: 0x000000010160cd46 cc1plus`::do_compile() at toplev.c:2205 frame #21: 0x0000000101deaa45 cc1plus`toplev::main(this=0x00007fff5fbff8d0, argc=18, argv=0x00007fff5fbff918) at toplev.c:2340 frame #22: 0x0000000101dec342 cc1plus`main(argc=18, argv=0x00007fff5fbff918) at main.c:39 frame #23: 0x0000000100001644 cc1plus`start + 52