次のエラーが発生します
main.c:107:2: internal compiler error: in extract_for_fields, at cilk-spawn.c:1857
}
関連する行は次のとおりです。
cilk_for (index = 0; table_name[index]!=NULL; ++index )
{
/* some work*/
}
Line 107cilk_forループの閉じ中括弧に対応します。
どんな助けでも大歓迎です!
最適化なしでビルドしてみてください(最適化フラグを省略するか、-O0明示的に使用してください)。
それが役立つ場合は、-O1(いくつかの最適化)が機能するかどうかを試してみてください-O2。運が良ければ、どの最適化が問題を引き起こしているのかをその方法で把握し、-fno-fooフラグを立ててその最適化を無効にすることができます。
ループは制御変数をテストする必要があるため、上記で行ったことは有効なcilk_forループではありませんでした。cilk_forまた、ループが実行される回数を予測できる必要があります。この場合、これは不可能です。したがって、これの正しいバージョンは次のようになります
int count=0;
while(table_name[count]!=NULL)
count++;
cilk_for (index = 0; index!=count; ++index )
{
/* some work*/
}