| // Test parsing of #pragma omp declare variant |
| // { dg-do compile { target c++11 } } |
| // { dg-additional-options "-fdump-tree-gimple" } |
| |
| constexpr int score (int x) { return x; } |
| void f0 (); |
| #pragma omp declare variant (f0) match (user={condition(score(1))}) |
| void f1 (); |
| void f2 (); |
| #pragma omp declare variant (f2) match (user={condition(score(1):1)}) |
| void f3 (); |
| void f4 (); |
| #pragma omp declare variant (f4) match (user={condition(score(1):score(1))}) |
| void f5 (); |
| void f6 (); |
| #pragma omp declare variant (f6) match (user={condition(score(1)==0)}) |
| void f7 (); |
| |
| void |
| test () |
| { |
| f1 (); // { dg-final { scan-tree-dump-times "f0 \\\(\\\);" 1 "gimple" } } |
| f3 (); // { dg-final { scan-tree-dump-times "f2 \\\(\\\);" 1 "gimple" } } |
| f5 (); // { dg-final { scan-tree-dump-times "f4 \\\(\\\);" 1 "gimple" } } |
| f7 (); // { dg-final { scan-tree-dump-times "f7 \\\(\\\);" 1 "gimple" } } |
| } |