C++ 内部编译错误c++;cilk plus

C++ 内部编译错误c++;cilk plus,c++,c++11,gcc,cilk-plus,cilk,C++,C++11,Gcc,Cilk Plus,Cilk,[固定]-注释中给出的解释 [更新错误屏幕截图] 使用gcc/5.4.0编译时,我遇到一个编译错误。以下是报告的错误: 内部编译器错误:在较低版本中,在gimple low.c:397 cilk_sparsify_graph_helper__(mdl,n_pa,n_ch,score2beat) 以下是导致错误的代码段: void m_sparsify_graph_helper__(MDL mdl, set_type pa, set_type ch, std::vector<double&g

[固定]-注释中给出的解释

[更新错误屏幕截图]
使用gcc/5.4.0编译时,我遇到一个编译错误。以下是报告的错误:

内部编译器错误:在较低版本中,在gimple low.c:397 cilk_sparsify_graph_helper__(mdl,n_pa,n_ch,score2beat)

以下是导致错误的代码段:

void m_sparsify_graph_helper__(MDL mdl, set_type pa, set_type ch, std::vector<double> score2beat) {
        //cilk::reducer<cilk::op_list_append<RNode_>> rlist;
        //"rlist" - defined in the class as a private variable

        if (ch == 0) { return; } 

        set_type n_ch = ch;

        // Some more code -- which I am very sure is not causing error

        int lsb = n_ - 1;
        for (; lsb >= 0; --lsb) { if (in_set(pa, lsb)) { break; } }

        if (lsb == n_ - 1) { return; }

        set_type n_pa = set_add(pa, lsb + 1);
        int n_pa_sz = set_size(n_pa);
        if (n_pa_sz >= n_) { return; }

        BitCombination comb(n_pa, n_pa_sz, n_);

        for (;;) {
            n_pa = comb.data();
            // If cilk_spawn keyword removed it compiles fine.
            cilk_spawn m_sparsify_graph_helper__(mdl, n_pa, n_ch, score2beat);
            if (!comb.next() || in_set(n_pa, n_ - 1)) { break; }
        }

    }// m_sparsify_graph_helper__
void m_sparsify_graph_helper__(MDL-MDL,set_-type-pa,set_-type-ch,std::vector score2beat){
//cilk::还原剂rlist;
//“rlist”-在类中定义为私有变量
如果(ch==0){return;}
设置类型n\u ch=ch;
//还有一些代码——我很确定这不会导致错误
int lsb=n_u1;
对于(;lsb>=0;--lsb){if(in_集(pa,lsb)){break;}
如果(lsb==n_u1){return;}
设置类型n\u pa=设置添加(pa,lsb+1);
int n_pa_sz=设置大小(n_pa);
如果(n_pa_sz>=n_{return;}
比特组合梳(n_-pa,n_-pa_-sz,n_);
对于(;;){
n_pa=comb.data();
//如果删除了cilk_spawn关键字,则编译效果良好。
cilk_sparsify_graph_helper__(mdl,n_pa,n_ch,score2beat);
如果(!comb.next()| | in_集(n_pa,n_-1)){break;}
}
}//m_稀疏图__
我假设这是一个编译器错误,但我想知道怎样才能避免这个错误,并在警告和无错误的情况下执行代码

错误屏幕截图:

报告的错误似乎已在GCC 6.X版本中解决


仅供参考,如果您面临类似问题,请尝试在最新版本的GCC上重现该错误,以确认该错误是否已在早期报告和纠正。

ICE始终是编译器错误,无论源代码是否有效。报告。这就是关于内部错误的全部内容吗?@TrevorHickey添加了完整的错误截图。