aboutsummaryrefslogtreecommitdiff
path: root/clang/test/SemaOpenACC/parallel-assoc-stmt-inst.cpp
blob: f533baa4c0e68c2aa2d9c50bbbfb522e6c617e40 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// RUN: %clang_cc1 %s -verify -fopenacc

template<typename T>
void Func() {
#pragma acc parallel
    typename T::type I; //#ILOC
#pragma acc serial
    typename T::type IS; //#ILOCSERIAL
#pragma acc kernels
    typename T::type IK; //#ILOCKERNELS
}

struct S {
  using type = int;
};

void use() {
  Func<S>();
  // expected-error@#ILOC{{type 'int' cannot be used prior to '::' because it has no members}}
  // expected-note@+3{{in instantiation of function template specialization 'Func<int>' requested here}}
  // expected-error@#ILOCSERIAL{{type 'int' cannot be used prior to '::' because it has no members}}
  // expected-error@#ILOCKERNELS{{type 'int' cannot be used prior to '::' because it has no members}}
  Func<int>();
}