1 // RUN: %clang_cc1 -triple=x86_64-pc-win32 -verify -fopenmp -x c -std=c99 -fms-extensions -Wno-pragma-pack %s
2 // RUN: %clang_cc1 -triple=x86_64-pc-win32 -verify -fopenmp-simd -x c -std=c99 -fms-extensions -Wno-pragma-pack %s
3 
4 #pragma omp begin declare variant match(device={kind(gpu)}) // expected-note {{to match this '#pragma omp begin declare variant'}}
also_before(void)5 int also_before(void) {
6   return 0;
7 }
8 
9 #pragma omp begin declare variant match(device={kind(gpu)})
also_after(void)10 int also_after(void) {
11   return 2;
12 }
also_before(void)13 int also_before(void) {
14   return 2;
15 }
16 #pragma omp end declare variant
17 
18 
19 #pragma omp begin declare variant match(device={kind(fpga)})
20 
21 This text is never parsed!
22 
23 #pragma omp end declare variant
24 
25 int also_after(void) {
26   return 0;
27 }
28 
test()29 int test() {
30   return also_after() + also_before();
31 } // expected-error {{expected '#pragma omp end declare variant'}}
32