【问题标题】:Internal compile error c++ cilk plus内部编译错误 c++ cilk plus
【发布时间】:2017-01-12 05:35:13
【问题描述】:

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

[更新错误截图]
使用 gcc/5.4.0 编译时出现编译错误。以下是报错:

内部编译器错误:在 lower_stmt 中,位于 gimple-low.c:397 cilk_spawn m_sparsify_graph_helper__(mdl, n_pa, n_ch, score2beat);

以下是导致错误的代码sn-p:

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__

我认为这是编译器错误,但我想知道如何规避此错误并使代码执行时发出警告且无错误。

错误截图:

【问题讨论】:

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

标签: c++ c++11 gcc cilk-plus cilk


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2016-03-12
    • 1970-01-01
    • 2021-06-24
    • 1970-01-01
    • 1970-01-01
    • 2015-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多