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

            Bug ID: 112270
           Summary: ICE: in verify_gimple_in_seq on powerpc-darwin9
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: d
          Assignee: ibuclaw at gdcproject dot org
          Reporter: ibuclaw at gcc dot gnu.org
  Target Milestone: ---

Mismatching D and C boolean types causes ICE on powerpc-darwin.

---../../gcc/d/dmd/cppmangle.d: In function ‘isNamespaceEqual’:
../../gcc/d/dmd/cppmangle.d:2354:14: error: non-trivial conversion in
‘integer_cst’
 2354 | private bool isNamespaceEqual (CPPNamespaceDeclaration a,
CPPNamespaceDeclaration b) @safe
      |              ^
bool
<unsigned-boolean:1>
iftmp.120 = 1;
../../gcc/d/dmd/cppmangle.d:2354:14: internal compiler error: ‘verify_gimple’
failed
0x118c5a5 verify_gimple_in_seq(gimple*, bool)
        ../../gcc/tree-cfg.cc:5297
0xe4192b gimplify_body(tree_node*, bool)
        ../../gcc/gimplify.cc:18046
0xe41a9f gimplify_function_tree(tree_node*)
        ../../gcc/gimplify.cc:18162
0xc571f7 cgraph_node::analyze()
        ../../gcc/cgraphunit.cc:684
0xc598d7 analyze_functions
        ../../gcc/cgraphunit.cc:1247
0xc5a621 symbol_table::finalize_compilation_unit()
        ../../gcc/cgraphunit.cc:2554
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
../../gcc/d/dmd/cppmangle.d failed
---


Minimal reproducer:
---
class CPPNamespaceDeclaration { }
bool isNamespaceEqual (CPPNamespaceDeclaration a)
{
    return a ? true : isNamespaceEqual(a);
}

Reply via email to