xref: /llvm-project/clang/test/Parser/pragma-pipeline.cpp (revision 9bdf515c744fcc29df8f941a2bed4b82e1d4aa56)
1*9bdf515cSAaron Ballman // RUN: %clang_cc1 -std=c++11 -verify %s
2*9bdf515cSAaron Ballman 
3*9bdf515cSAaron Ballman // Note that this puts the expected lines before the directives to work around
4*9bdf515cSAaron Ballman // limitations in the -verify mode.
5*9bdf515cSAaron Ballman 
test(int * List,int Length,int Value)6*9bdf515cSAaron Ballman void test(int *List, int Length, int Value) {
7*9bdf515cSAaron Ballman   int i = 0;
8*9bdf515cSAaron Ballman 
9*9bdf515cSAaron Ballman #pragma clang loop pipeline(disable)
10*9bdf515cSAaron Ballman   for (int i = 0; i < Length; i++) {
11*9bdf515cSAaron Ballman     List[i] = Value;
12*9bdf515cSAaron Ballman   }
13*9bdf515cSAaron Ballman 
14*9bdf515cSAaron Ballman #pragma clang loop pipeline_initiation_interval(10)
15*9bdf515cSAaron Ballman   for (int i = 0; i < Length; i++) {
16*9bdf515cSAaron Ballman     List[i] = Value;
17*9bdf515cSAaron Ballman   }
18*9bdf515cSAaron Ballman 
19*9bdf515cSAaron Ballman /* expected-error {{expected ')'}} */ #pragma clang loop pipeline(disable
20*9bdf515cSAaron Ballman /* expected-error {{invalid argument; expected 'disable'}} */ #pragma clang loop pipeline(enable)
21*9bdf515cSAaron Ballman /* expected-error {{invalid argument; expected 'disable'}} */ #pragma clang loop pipeline(error)
22*9bdf515cSAaron Ballman /* expected-error {{expected '('}} */ #pragma clang loop pipeline disable
23*9bdf515cSAaron Ballman /* expected-error {{missing argument; expected an integer value}} */ #pragma clang loop pipeline_initiation_interval()
24*9bdf515cSAaron Ballman /* expected-error {{use of undeclared identifier 'error'}} */ #pragma clang loop pipeline_initiation_interval(error)
25*9bdf515cSAaron Ballman /* expected-error {{expected '('}} */ #pragma clang loop pipeline_initiation_interval 1 2
26*9bdf515cSAaron Ballman /* expected-error {{expected ')'}} */ #pragma clang loop pipeline_initiation_interval(1
27*9bdf515cSAaron Ballman   for (int i = 0; i < Length; i++) {
28*9bdf515cSAaron Ballman     for (int j = 0; j < Length; j++) {
29*9bdf515cSAaron Ballman       List[i * Length + j] = Value;
30*9bdf515cSAaron Ballman     }
31*9bdf515cSAaron Ballman   }
32*9bdf515cSAaron Ballman 
33*9bdf515cSAaron Ballman }
34