/* PR c/60197 */ /* { dg-do compile } */ /* { dg-options "-fcilkplus" } */ extern int foo (void); extern int bar (int); int fn1 (void) { return (_Cilk_spawn foo ()) * 2; /* { dg-error "in a return statement is not allowed" } */ } int fn2 (void) { return (_Cilk_spawn foo ()) > 2; /* { dg-error "in a return statement is not allowed" } */ } int fn3 (int i, int j, int k) { return ((((((_Cilk_spawn foo () + i) - j) * k) / j) | i) ^ k) ; /* { dg-error "in a return statement is not allowed" } */ } int fn4 (int i, int j, int k) { return (((((i - _Cilk_spawn foo ()) * k) / j) | i) ^ k); /* { dg-error "in a return statement is not allowed" } */ } int fn5 (void) { return _Cilk_spawn foo (); /* { dg-error "in a return statement is not allowed" } */ } int fn6 (void) { return _Cilk_spawn foo () + _Cilk_spawn foo (); /* { dg-error "in a return statement is not allowed" } */ } int fn7 (void) { return 5 % _Cilk_spawn foo (); /* { dg-error "in a return statement is not allowed" } */ } int fn8 (void) { return !_Cilk_spawn foo (); /* { dg-error "in a return statement is not allowed" } */ } int fn9 (void) { return foo () && _Cilk_spawn foo (); /* { dg-error "in a return statement is not allowed" } */ } int fn10 (void) { return bar (_Cilk_spawn foo ()); /* { dg-error "in a return statement is not allowed" } */ }