diff options
Diffstat (limited to 'test/Parser/pragma-unroll.cpp')
-rw-r--r-- | test/Parser/pragma-unroll.cpp | 72 |
1 files changed, 45 insertions, 27 deletions
diff --git a/test/Parser/pragma-unroll.cpp b/test/Parser/pragma-unroll.cpp index 1d89e63028c48..260945756f2f0 100644 --- a/test/Parser/pragma-unroll.cpp +++ b/test/Parser/pragma-unroll.cpp @@ -11,47 +11,39 @@ void test(int *List, int Length) { List[i] = i; } -#pragma unroll 4 - while (i - 1 < Length) { - List[i] = i; - } - -#pragma unroll(8) - while (i - 2 < Length) { +#pragma nounroll + while (i < Length) { List[i] = i; } -#pragma unroll -#pragma unroll(8) - while (i - 3 < Length) { +#pragma unroll 4 + while (i - 1 < Length) { List[i] = i; } -#pragma clang loop unroll(enable) #pragma unroll(8) - while (i - 4 < Length) { - List[i] = i; - } - -#pragma unroll -#pragma clang loop unroll_count(4) - while (i - 5 < Length) { + while (i - 2 < Length) { List[i] = i; } /* expected-error {{expected ')'}} */ #pragma unroll(4 -/* expected-error {{missing argument to '#pragma unroll'; expected a positive integer value}} */ #pragma unroll() +/* expected-error {{missing argument; expected an integer value}} */ #pragma unroll() /* expected-warning {{extra tokens at end of '#pragma unroll'}} */ #pragma unroll 1 2 while (i-6 < Length) { List[i] = i; } -/* expected-error {{invalid argument; expected a positive integer value}} */ #pragma unroll(() -/* expected-error {{invalid argument; expected a positive integer value}} */ #pragma unroll - -/* expected-error {{invalid argument; expected a positive integer value}} */ #pragma unroll(0) -/* expected-error {{invalid argument; expected a positive integer value}} */ #pragma unroll 0 -/* expected-error {{invalid argument; expected a positive integer value}} */ #pragma unroll(3000000000) -/* expected-error {{invalid argument; expected a positive integer value}} */ #pragma unroll 3000000000 +/* expected-warning {{extra tokens at end of '#pragma nounroll'}} */ #pragma nounroll 1 + while (i-7 < Length) { + List[i] = i; + } + +/* expected-error {{expected ')'}} */ #pragma unroll(() +/* expected-error {{expected expression}} */ #pragma unroll - +/* expected-error {{invalid value '0'; must be positive}} */ #pragma unroll(0) +/* expected-error {{invalid value '0'; must be positive}} */ #pragma unroll 0 +/* expected-error {{value '3000000000' is too large}} */ #pragma unroll(3000000000) +/* expected-error {{value '3000000000' is too large}} */ #pragma unroll 3000000000 while (i-8 < Length) { List[i] = i; } @@ -60,6 +52,8 @@ void test(int *List, int Length) { /* expected-error {{expected a for, while, or do-while loop to follow '#pragma unroll'}} */ int j = Length; #pragma unroll 4 /* expected-error {{expected a for, while, or do-while loop to follow '#pragma unroll'}} */ int k = Length; +#pragma nounroll +/* expected-error {{expected a for, while, or do-while loop to follow '#pragma nounroll'}} */ int l = Length; /* expected-error {{incompatible directives 'unroll(disable)' and '#pragma unroll(4)'}} */ #pragma unroll 4 #pragma clang loop unroll(disable) @@ -67,14 +61,38 @@ void test(int *List, int Length) { List[i] = i; } +/* expected-error {{incompatible directives 'unroll(full)' and '#pragma unroll(4)'}} */ #pragma unroll(4) +#pragma clang loop unroll(full) + while (i-11 < Length) { + List[i] = i; + } + +/* expected-error {{incompatible directives '#pragma unroll' and '#pragma unroll(4)'}} */ #pragma unroll(4) +#pragma unroll + while (i-11 < Length) { + List[i] = i; + } + +/* expected-error {{incompatible directives '#pragma nounroll' and 'unroll_count(4)'}} */ #pragma clang loop unroll_count(4) +#pragma nounroll + while (i-12 < Length) { + List[i] = i; + } + +/* expected-error {{duplicate directives '#pragma nounroll' and '#pragma nounroll'}} */ #pragma nounroll +#pragma nounroll + while (i-13 < Length) { + List[i] = i; + } + /* expected-error {{duplicate directives '#pragma unroll' and '#pragma unroll'}} */ #pragma unroll #pragma unroll while (i-14 < Length) { List[i] = i; } -/* expected-error {{duplicate directives 'unroll(enable)' and '#pragma unroll'}} */ #pragma unroll -#pragma clang loop unroll(enable) +/* expected-error {{duplicate directives 'unroll(full)' and '#pragma unroll'}} */ #pragma unroll +#pragma clang loop unroll(full) while (i-15 < Length) { List[i] = i; } |