aboutsummaryrefslogtreecommitdiff
path: root/clang/test/SemaOpenACC/compute-construct-reduction-clause.c
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/SemaOpenACC/compute-construct-reduction-clause.c')
-rw-r--r--clang/test/SemaOpenACC/compute-construct-reduction-clause.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/clang/test/SemaOpenACC/compute-construct-reduction-clause.c b/clang/test/SemaOpenACC/compute-construct-reduction-clause.c
index 96c01d0..cb490ed 100644
--- a/clang/test/SemaOpenACC/compute-construct-reduction-clause.c
+++ b/clang/test/SemaOpenACC/compute-construct-reduction-clause.c
@@ -59,10 +59,12 @@ void uses(unsigned Parm) {
// Vars in a reduction must be a scalar or a composite of scalars.
#pragma acc parallel reduction(&: CoS, I, F)
// expected-error@-1{{variable of type 'float' referenced in OpenACC 'reduction' clause does not have a valid operation available}}
- // expected-error@-2{{invalid operands to binary expression ('float' and 'float')}}
- // expected-error@-3{{variable of type 'float' referenced in OpenACC 'reduction' clause does not have a valid operation available}}
+ // expected-note@-2{{while forming binary operator '&='}}
+ // expected-error@-3{{invalid operands to binary expression ('float' and 'float')}}
+ // expected-error@-4{{variable of type 'float' referenced in OpenACC 'reduction' clause does not have a valid operation available}}
// expected-note@#COS_FLOAT{{while forming combiner for compound type 'CompositeOfScalars'}}
- // expected-error@-5{{invalid operands to binary expression ('float' and 'float')}}
+ // expected-note@-6{{while forming binary operator '&='}}
+ // expected-error@-7{{invalid operands to binary expression ('float' and 'float')}}
while (1);
// expected-error@+3{{invalid type 'struct CompositeOfScalars' used in OpenACC 'reduction' variable reference; type is not a scalar value}}
// expected-note@#COS_FIELD{{used as field 'COS' of composite 'CompositeHasComposite'}}
@@ -76,15 +78,17 @@ void uses(unsigned Parm) {
#pragma acc parallel reduction(&: CoS, Array[I], Array[0:I])
// expected-error@-1{{variable of type 'float' referenced in OpenACC 'reduction' clause does not have a valid operation available}}
// expected-note@#COS_FLOAT{{while forming combiner for compound type 'CompositeOfScalars'}}
- // expected-error@-3{{invalid operands to binary expression ('float' and 'float')}}
+ // expected-note@-3{{while forming binary operator '&='}}
+ // expected-error@-4{{invalid operands to binary expression ('float' and 'float')}}
while (1);
struct CompositeHasComposite ChCArray[5];
- // expected-error@+6{{invalid type 'struct CompositeOfScalars' used in OpenACC 'reduction' variable reference; type is not a scalar value}}
+ // expected-error@+7{{invalid type 'struct CompositeOfScalars' used in OpenACC 'reduction' variable reference; type is not a scalar value}}
// expected-note@#COS_FIELD{{used as field 'COS' of composite 'CompositeHasComposite'}}
- // expected-note@+4{{OpenACC 'reduction' variable reference must be a scalar variable or a composite of scalars, or an array, sub-array, or element of scalar types}}
- // expected-error@+3{{variable of type 'float' referenced in OpenACC 'reduction' clause does not have a valid operation available}}
+ // expected-note@+5{{OpenACC 'reduction' variable reference must be a scalar variable or a composite of scalars, or an array, sub-array, or element of scalar types}}
+ // expected-error@+4{{variable of type 'float' referenced in OpenACC 'reduction' clause does not have a valid operation available}}
// expected-note@#COS_FLOAT{{while forming combiner for compound type 'CompositeOfScalars'}}
+ // expected-note@+2{{while forming binary operator '&='}}
// expected-error@+1{{invalid operands to binary expression ('float' and 'float')}}
#pragma acc parallel reduction(&: CoS, Array[I], ChCArray[0:I])
while (1);