http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60804
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> --- But then it is not valid in many other places (for/while/do condition, etc.). Perhaps if _Cilk_spawn is allowed in the grammer only in 3 specific cases it might be better to disallow it everywhere and check for it only in the 3 listed cases (whole statement, var initializer and rhs of assignment (but for the last one it has to be only toplevel assignment I guess, a = b = _Cilk_spawn foo (); is presumably also invalid, ditto a + (b = _Cilk_spawn foo ()); etc.