|
@@ -24,9 +24,9 @@ T foofoo(); // expected-note 2 {{declared here}}
|
|
|
#pragma omp declare variant(foofoo <int>) match(xxx =) // expected-error {{expected '{' after '='}}
|
|
|
#pragma omp declare variant(foofoo <int>) match(xxx = yyy) // expected-error {{expected '{' after '='}}
|
|
|
#pragma omp declare variant(foofoo <int>) match(xxx = yyy }) // expected-error {{expected '{' after '='}}
|
|
|
-#pragma omp declare variant(foofoo <int>) match(xxx = {) // expected-error {{expected '}'}} expected-note {{to match this '{'}}
|
|
|
+#pragma omp declare variant(foofoo <int>) match(xxx = {) // expected-error {{expected '}' or ',' after ')'}} expected-error {{expected '}'}} expected-note {{to match this '{'}}
|
|
|
#pragma omp declare variant(foofoo <int>) match(xxx = {})
|
|
|
-#pragma omp declare variant(foofoo <int>) match(xxx = {vvv})
|
|
|
+#pragma omp declare variant(foofoo <int>) match(xxx = {vvv, vvv})
|
|
|
#pragma omp declare variant(foofoo <int>) match(xxx = {vvv} xxx) // expected-error {{expected ','}} expected-error {{expected '=' after 'xxx' context selector set name on 'omp declare variant' directive}} expected-error {{context selector set 'xxx' is used already in the same 'omp declare variant' directive}} expected-note {{previously context selector set 'xxx' used here}}
|
|
|
#pragma omp declare variant(foofoo <int>) match(xxx = {vvv}) xxx // expected-warning {{extra tokens at the end of '#pragma omp declare variant' are ignored}}
|
|
|
#pragma omp declare variant(foofoo <int>) match(implementation={xxx}) // expected-warning {{unknown context selector in 'implementation' context selector set of 'omp declare variant' directive, ignored}}
|
|
@@ -37,7 +37,7 @@ T foofoo(); // expected-note 2 {{declared here}}
|
|
|
#pragma omp declare variant(foofoo <int>) match(implementation={vendor(score( ibm)}) // expected-error {{expected ')' or ',' after 'vendor name'}} expected-error {{expected ')'}} expected-error {{use of undeclared identifier 'ibm'}} expected-error {{expected vendor identifier in 'vendor' context selector of 'implementation' selector set of 'omp declare variant' directive}} expected-warning {{missing ':' after context selector score clause - ignoring}} expected-note {{to match this '('}}
|
|
|
#pragma omp declare variant(foofoo <int>) match(implementation={vendor(score(2 ibm)}) // expected-error {{expected ')' or ',' after 'vendor name'}} expected-error 2 {{expected ')'}} expected-error {{expected vendor identifier in 'vendor' context selector of 'implementation' selector set of 'omp declare variant' directive}} expected-warning {{missing ':' after context selector score clause - ignoring}} expected-note 2 {{to match this '('}}
|
|
|
#pragma omp declare variant(foofoo <int>) match(implementation={vendor(score(foofoo <int>()) ibm)}) // expected-warning {{missing ':' after context selector score clause - ignoring}} expected-error {{expression is not an integral constant expression}} expected-note {{non-constexpr function 'foofoo<int>' cannot be used in a constant expression}}
|
|
|
-#pragma omp declare variant(foofoo <int>) match(implementation={vendor(score(5): ibm)})
|
|
|
+#pragma omp declare variant(foofoo <int>) match(implementation={vendor(score(5): ibm), vendor(llvm)}) // expected-error {{context trait selector 'vendor' is used already in the same 'implementation' context selector set of 'omp declare variant' directive}} expected-note {{previously context trait selector 'vendor' used here}}
|
|
|
int bar();
|
|
|
|
|
|
#pragma omp declare variant // expected-error {{expected '(' after 'declare variant'}}
|
|
@@ -53,9 +53,9 @@ int bar();
|
|
|
#pragma omp declare variant(foofoo <T>) match() // expected-error {{expected context selector in 'match' clause on 'omp declare variant' directive}}
|
|
|
#pragma omp declare variant(foofoo <T>) match(xxx) // expected-error {{expected '=' after 'xxx' context selector set name on 'omp declare variant' directive}}
|
|
|
#pragma omp declare variant(foofoo <T>) match(xxx =) // expected-error {{expected '{' after '='}}
|
|
|
-#pragma omp declare variant(foofoo <T>) match(xxx = {) // expected-error {{expected '}'}} expected-note {{to match this '{'}}
|
|
|
+#pragma omp declare variant(foofoo <T>) match(xxx = {) // expected-error {{expected '}' or ',' after ')'}} expected-error {{expected '}'}} expected-note {{to match this '{'}}
|
|
|
#pragma omp declare variant(foofoo <T>) match(xxx = {})
|
|
|
-#pragma omp declare variant(foofoo <T>) match(xxx = {vvv})
|
|
|
+#pragma omp declare variant(foofoo <T>) match(xxx = {vvv, vvv})
|
|
|
#pragma omp declare variant(foofoo <T>) match(user = {score(<expr>) : condition(<expr>)})
|
|
|
#pragma omp declare variant(foofoo <T>) match(user = {score(<expr>) : condition(<expr>)})
|
|
|
#pragma omp declare variant(foofoo <T>) match(user = {condition(<expr>)})
|
|
@@ -66,7 +66,7 @@ int bar();
|
|
|
#pragma omp declare variant(foofoo <int>) match(implementation={vendor(score( ibm)}) // expected-error {{expected ')' or ',' after 'vendor name'}} expected-error {{expected ')'}} expected-error {{use of undeclared identifier 'ibm'}} expected-error {{expected vendor identifier in 'vendor' context selector of 'implementation' selector set of 'omp declare variant' directive}} expected-warning {{missing ':' after context selector score clause - ignoring}} expected-note {{to match this '('}}
|
|
|
#pragma omp declare variant(foofoo <int>) match(implementation={vendor(score(C ibm)}) // expected-error {{expected ')' or ',' after 'vendor name'}} expected-error 2 {{expected ')'}} expected-error {{expected vendor identifier in 'vendor' context selector of 'implementation' selector set of 'omp declare variant' directive}} expected-warning {{missing ':' after context selector score clause - ignoring}} expected-note 2 {{to match this '('}}
|
|
|
#pragma omp declare variant(foofoo <int>) match(implementation={vendor(score(foofoo <int>()) ibm)}) // expected-warning {{missing ':' after context selector score clause - ignoring}} expected-error {{expression is not an integral constant expression}} expected-note {{non-constexpr function 'foofoo<int>' cannot be used in a constant expression}}
|
|
|
-#pragma omp declare variant(foofoo <int>) match(implementation={vendor(score(C+5): ibm)})
|
|
|
+#pragma omp declare variant(foofoo <int>) match(implementation={vendor(score(C+5): ibm), vendor(llvm)}) // expected-error {{context trait selector 'vendor' is used already in the same 'implementation' context selector set of 'omp declare variant' directive}} expected-note {{previously context trait selector 'vendor' used here}}
|
|
|
template <typename T, int C>
|
|
|
T barbar();
|
|
|
|