c ++ 11 — внутренняя ошибка компиляции c ++ cilk plus

[Исправлено] — Объяснение дано в комментариях

[Обновлено с ошибкой скриншот] Я получаю ошибку компиляции при компиляции с использованием gcc / 5.4.0. Ниже приводится сообщение об ошибке:

внутренняя ошибка компилятора: в lower_stmt, в gimple-low.c: 397
cilk_spawn m_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__

Я предполагаю, что это ошибка компилятора, но я хотел бы знать, как обойти эту ошибку и получить предупреждение о выполнении кода без ошибок.

Скриншот ошибки:
Ошибка scrrenshot

0

Решение

Кажется, сообщаемые ошибки были исправлены в выпуске GCC 6.X.

К вашему сведению, если вы столкнулись с подобной проблемой, попробуйте воспроизвести ошибку в последней версии GCC, чтобы подтвердить, было ли ранее сообщено и исправлено или нет.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]