aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/c-c++-common/cilk-plus/CK/pr60197.c
blob: 2b47d1efb7dc4d2b0594ca120f51e97f4fdf40f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/* 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" } */
}