Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/c-c++-common/cilk-plus/PS/clauses1.c @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 /* { dg-do compile } */ | |
2 /* { dg-options "-O3 -Werror -Wunknown-pragmas -fcilkplus" } */ | |
3 | |
4 volatile int *a, *b; | |
5 | |
6 void foo() | |
7 { | |
8 int i, j, k; | |
9 | |
10 #pragma simd assert /* { dg-error "expected '#pragma simd' clause" } */ | |
11 for (i=0; i < 100; ++i) | |
12 a[i] = b[i]; | |
13 | |
14 #pragma simd vectorlength /* { dg-error "expected '\\('" } */ | |
15 for (int i=0; i < 1000; ++i) | |
16 a[i] = b[j]; | |
17 | |
18 #pragma simd vectorlength /* { dg-error "expected '\\('" } */ | |
19 for (int i=0; i < 1000; ++i) | |
20 a[i] = b[j]; | |
21 | |
22 #pragma simd vectorlength(sizeof (a) == sizeof (float) ? 4 : 8) | |
23 for (int i=0; i < 1000; ++i) | |
24 a[i] = b[j]; | |
25 | |
26 #pragma simd vectorlength(4,8) /* { dg-error "expected '\\)'" } */ | |
27 for (int i=0; i < 1000; ++i) | |
28 a[i] = b[j]; | |
29 | |
30 #pragma simd vectorlength(i) /* { dg-error "\(vectorlength must be an integer\|in a constant\)" } */ | |
31 for (int i=0; i < 1000; ++i) | |
32 a[i] = b[j]; | |
33 | |
34 #pragma simd linear(35) /* { dg-error "expected identifier" } */ | |
35 for (int i=0; i < 1000; ++i) | |
36 a[i] = b[j]; | |
37 | |
38 #pragma simd linear(blah) /* { dg-error "'blah' \(undeclared\|has not been\)" } */ | |
39 for (int i=0; i < 1000; ++i) | |
40 a[i] = b[j]; | |
41 | |
42 #pragma simd linear(j, 36, k) /* { dg-error "expected" } */ | |
43 for (int i=0; i < 1000; ++i) | |
44 a[i] = b[j]; | |
45 | |
46 #pragma simd linear(i, j) | |
47 for (int i=0; i < 1000; ++i) | |
48 a[i] = b[j]; | |
49 | |
50 #pragma simd linear(i) | |
51 for (int i=0; i < 1000; ++i) | |
52 a[i] = b[j]; | |
53 | |
54 #pragma simd linear(i : 4) | |
55 for (int i=0; i < 1000; ++i) | |
56 a[i] = b[j]; | |
57 | |
58 #pragma simd linear(i : 2, j : 4, k) | |
59 for (int i=0; i < 1000; ++i) | |
60 a[i] = b[j]; | |
61 | |
62 #pragma simd linear(j : sizeof (a) == sizeof (float) ? 4 : 8) | |
63 for (int i=0; i < 1000; ++i) | |
64 a[i] = b[j]; | |
65 | |
66 // And now everyone in unison! | |
67 #pragma simd linear(j : 4) vectorlength(4) | |
68 for (int i=0; i < 1000; ++i) | |
69 a[i] = b[j]; | |
70 | |
71 #pragma simd linear(blah2, 36) | |
72 /* { dg-error "'blah2' \(undeclared\|has not been\)" "undeclared" { target *-*-* } .-1 } */ | |
73 /* { dg-error "expected" "expected" { target *-*-* } .-2 } */ | |
74 for (int i=0; i < 1000; ++i) | |
75 a[i] = b[j]; | |
76 | |
77 #pragma simd linear(j : k) | |
78 for (int i=0; i < 1234; ++i) | |
79 a[i] = b[j]; | |
80 } |