[fixe] - Explication donnée dans les commentaireserreur de compilation interne C++ Cilk Plus
[Mise à jour avec capture d'écran d'erreur]
Je reçois une erreur de compilation lors de la compilation avec gcc/5.4.0. Voici l'erreur signalée:
internal compiler error: in lower_stmt, at gimple-low.c:397 cilk_spawn m_sparsify_graph_helper__(mdl, n_pa, n_ch, score2beat);
Après est l'extrait de code qui provoque une erreur:
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__
Je suppose que c'est une erreur de compilation mais je voudrais savoir quel est le moyen de contourner cette erreur et obtenir le code exécuté avertissement et sans erreur.
Une erreur ICE est toujours une erreur du compilateur, que le code source soit valide ou non. Rapportez-le. –
Est-ce tout ce qu'il dit à propos de l'erreur interne? –
@TrevorHickey Ajout de la capture d'écran complète de l'erreur. – letsBeePolite