// RUN: %clang_cc1 %s -fopenacc -ast-dump | FileCheck %s

// Test this with PCH.
// RUN: %clang_cc1 %s -fopenacc -emit-pch -o %t %s
// RUN: %clang_cc1 %s -fopenacc -include-pch %t -ast-dump-all | FileCheck %s

#ifndef PCH_HELPER
#define PCH_HELPER

void NormalFunc() {
  // CHECK-LABEL: NormalFunc
  // CHECK-NEXT: CompoundStmt

#pragma acc parallel loop
  for(int i = 0; i < 5;++i);
  // CHECK-NEXT: OpenACCCombinedConstruct{{.*}} parallel loop
  // CHECK-NEXT: ForStmt
  // CHECK-NEXT: DeclStmt
  // CHECK-NEXT: VarDecl{{.*}}i
  // CHECK-NEXT: IntegerLiteral {{.*}}'int' 0
  // CHECK-NEXT: <<<NULL>>>
  // CHECK-NEXT: BinaryOperator {{.*}} 'bool' '<'
  // CHECK-NEXT: ImplicitCastExpr
  // CHECK-NEXT: DeclRefExpr{{.*}}'i' 'int'
  // CHECK-NEXT: IntegerLiteral {{.*}}'int' 5
  // CHECK-NEXT: UnaryOperator{{.*}} '++'
  // CHECK-NEXT: DeclRefExpr{{.*}}'i'
  // CHECK-NEXT: NullStmt

_Pragma("acc parallel loop")
  for(int i = 0; i < 5;++i);
  // CHECK-NEXT: OpenACCCombinedConstruct{{.*}} parallel loop
  // CHECK-NEXT: ForStmt
  // CHECK-NEXT: DeclStmt
  // CHECK-NEXT: VarDecl{{.*}}i
  // CHECK-NEXT: IntegerLiteral {{.*}}'int' 0
  // CHECK-NEXT: <<<NULL>>>
  // CHECK-NEXT: BinaryOperator {{.*}} 'bool' '<'
  // CHECK-NEXT: ImplicitCastExpr
  // CHECK-NEXT: DeclRefExpr{{.*}}'i' 'int'
  // CHECK-NEXT: IntegerLiteral {{.*}}'int' 5
  // CHECK-NEXT: UnaryOperator{{.*}} '++'
  // CHECK-NEXT: DeclRefExpr{{.*}}'i'
  // CHECK-NEXT: NullStmt

#pragma acc serial loop
  for(int i = 0; i < 5;++i);
  // CHECK-NEXT: OpenACCCombinedConstruct{{.*}} serial loop
  // CHECK-NEXT: ForStmt
  // CHECK-NEXT: DeclStmt
  // CHECK-NEXT: VarDecl{{.*}}i
  // CHECK-NEXT: IntegerLiteral {{.*}}'int' 0
  // CHECK-NEXT: <<<NULL>>>
  // CHECK-NEXT: BinaryOperator {{.*}} 'bool' '<'
  // CHECK-NEXT: ImplicitCastExpr
  // CHECK-NEXT: DeclRefExpr{{.*}}'i' 'int'
  // CHECK-NEXT: IntegerLiteral {{.*}}'int' 5
  // CHECK-NEXT: UnaryOperator{{.*}} '++'
  // CHECK-NEXT: DeclRefExpr{{.*}}'i'
  // CHECK-NEXT: NullStmt

#pragma acc kernels loop
  for(int i = 0; i < 5;++i);
  // CHECK-NEXT: OpenACCCombinedConstruct{{.*}} kernels loop
  // CHECK-NEXT: ForStmt
  // CHECK-NEXT: DeclStmt
  // CHECK-NEXT: VarDecl{{.*}}i
  // CHECK-NEXT: IntegerLiteral {{.*}}'int' 0
  // CHECK-NEXT: <<<NULL>>>
  // CHECK-NEXT: BinaryOperator {{.*}} 'bool' '<'
  // CHECK-NEXT: ImplicitCastExpr
  // CHECK-NEXT: DeclRefExpr{{.*}}'i' 'int'
  // CHECK-NEXT: IntegerLiteral {{.*}}'int' 5
  // CHECK-NEXT: UnaryOperator{{.*}} '++'
  // CHECK-NEXT: DeclRefExpr{{.*}}'i'
  // CHECK-NEXT: NullStmt


  int array[5];
  // CHECK-NEXT: DeclStmt
  // CHECK-NEXT: VarDecl
#pragma acc parallel loop
  for(auto x : array){}
  // CHECK-NEXT: OpenACCCombinedConstruct{{.*}} parallel loop
  // CHECK-NEXT: CXXForRangeStmt
  // CHECK: CompoundStmt

#pragma acc parallel
  // CHECK-NEXT: OpenACCComputeConstruct {{.*}}parallel
  // CHECK-NEXT: CompoundStmt
  {
#pragma acc serial loop
    // CHECK-NEXT: OpenACCCombinedConstruct {{.*}}serial loop
    // CHECK-NEXT: CXXForRangeStmt
    // CHECK: CompoundStmt
    for(auto x: array) {
#pragma acc loop
  // CHECK-NEXT: OpenACCLoopConstruct{{.*}} parent: serial loop
  // CHECK-NEXT: CXXForRangeStmt
  // CHECK: CompoundStmt
    for(auto y: array) { }
  }
  }
}
template<typename T>
void TemplFunc() {
  // CHECK-LABEL: FunctionTemplateDecl {{.*}}TemplFunc
  // CHECK-NEXT: TemplateTypeParmDecl
  // CHECK-NEXT: FunctionDecl{{.*}}TemplFunc
  // CHECK-NEXT: CompoundStmt

#pragma acc serial loop
  // CHECK-NEXT: OpenACCCombinedConstruct {{.*}} serial loop
  for(typename T::type t = 0; t < 5;++t) {
  // CHECK-NEXT: ForStmt
  // CHECK-NEXT: DeclStmt
  // CHECK-NEXT: VarDecl{{.*}} referenced t 'typename T::type'
  // CHECK-NEXT: IntegerLiteral {{.*}} 'int' 0
  // CHECK-NEXT: <<<NULL>>
  // CHECK-NEXT: BinaryOperator{{.*}} '<dependent type>' '<'
  // CHECK-NEXT: DeclRefExpr {{.*}} 'typename T::type' lvalue Var
  // CHECK-NEXT: IntegerLiteral {{.*}} 'int' 5
  // CHECK-NEXT: UnaryOperator{{.*}} '<dependent type>' lvalue prefix '++'
  // CHECK-NEXT: DeclRefExpr {{.*}} 'typename T::type' lvalue Var
  // CHECK-NEXT: CompoundStmt
    typename T::type I;
  // CHECK-NEXT: DeclStmt
  // CHECK-NEXT: VarDecl{{.*}} I 'typename T::type'

  }

#pragma acc parallel loop
  for(int a = 0; a < 5; ++a) {
    // CHECK-NEXT: OpenACCCombinedConstruct {{.*}} parallel loop
    // CHECK-NEXT: ForStmt
    // CHECK: CompoundStmt
#pragma acc kernels loop
    for(int b = 0; b < 5; ++b) {
    // CHECK-NEXT: OpenACCCombinedConstruct {{.*}} kernels loop
    // CHECK-NEXT: ForStmt
    // CHECK: CompoundStmt
#pragma acc loop
    // CHECK-NEXT: OpenACCLoopConstruct{{.*}} parent: kernels loop
    // CHECK-NEXT: ForStmt
    // CHECK-NEXT: DeclStmt
    // CHECK-NEXT: VarDecl {{.*}} i 'int'
    // CHECK-NEXT: IntegerLiteral {{.*}} 'int' 0
    // CHECK-NEXT: <<<NULL>>>
    // CHECK-NEXT: BinaryOperator{{.*}}'bool' '<'
    // CHECK-NEXT: ImplicitCastExpr
    // CHECK-NEXT: DeclRefExpr
    // CHECK-NEXT: IntegerLiteral {{.*}} 'int' 5
    // CHECK-NEXT: UnaryOperator{{.*}} prefix '++'
    // CHECK-NEXT: DeclRefExpr{{.*}} 'i' 'int'
    // CHECK-NEXT: NullStmt
      for(int i = 0; i < 5;++i);

#pragma acc loop
    // CHECK-NEXT: OpenACCLoopConstruct{{.*}} parent: kernels loop
    // CHECK-NEXT: ForStmt
    // CHECK-NEXT: DeclStmt
    // CHECK-NEXT: VarDecl {{.*}} i 'int'
    // CHECK-NEXT: IntegerLiteral {{.*}} 'int' 0
    // CHECK-NEXT: <<<NULL>>>
    // CHECK-NEXT: BinaryOperator{{.*}}'bool' '<'
    // CHECK-NEXT: ImplicitCastExpr
    // CHECK-NEXT: DeclRefExpr
    // CHECK-NEXT: IntegerLiteral {{.*}} 'int' 5
    // CHECK-NEXT: UnaryOperator{{.*}} prefix '++'
    // CHECK-NEXT: DeclRefExpr{{.*}} 'i' 'int'
    // CHECK-NEXT: NullStmt
      for(int i = 0; i < 5;++i);
    }
  }

  // Instantiation:
  // CHECK-NEXT: FunctionDecl{{.*}} TemplFunc 'void ()' implicit_instantiation
  // CHECK-NEXT: TemplateArgument type 'S'
  // CHECK-NEXT: RecordType{{.*}} 'S'
  // CHECK-NEXT: CXXRecord{{.*}} 'S'
  // CHECK-NEXT: CompoundStmt

  // CHECK-NEXT: OpenACCCombinedConstruct {{.*}} serial loop
  // CHECK-NEXT: ForStmt
  // CHECK-NEXT: DeclStmt
  // CHECK-NEXT: VarDecl{{.*}} t 'typename S::type':'int'
  // CHECK-NEXT: IntegerLiteral {{.*}} 'int' 0
  // CHECK-NEXT: <<<NULL>>
  // CHECK-NEXT: BinaryOperator{{.*}} 'bool' '<'
  // CHECK-NEXT: ImplicitCastExpr
  // CHECK-NEXT: DeclRefExpr {{.*}} 'typename S::type':'int' lvalue Var
  // CHECK-NEXT: IntegerLiteral {{.*}} 'int' 5
  // CHECK-NEXT: UnaryOperator{{.*}} 'typename S::type':'int' lvalue prefix '++'
  // CHECK-NEXT: DeclRefExpr {{.*}} 'typename S::type':'int' lvalue Var
  // CHECK-NEXT: CompoundStmt
  // CHECK-NEXT: DeclStmt
  // CHECK-NEXT: VarDecl{{.*}} I 'typename S::type':'int'

  // CHECK-NEXT: OpenACCCombinedConstruct {{.*}} parallel loop
  // CHECK-NEXT: ForStmt
  // CHECK: CompoundStmt

  // CHECK-NEXT: OpenACCCombinedConstruct {{.*}} kernels loop
  // CHECK-NEXT: ForStmt
  // CHECK: CompoundStmt

  // CHECK-NEXT: OpenACCLoopConstruct{{.*}} parent: kernels loop
  // CHECK-NEXT: ForStmt
  // CHECK-NEXT: DeclStmt
  // CHECK-NEXT: VarDecl {{.*}} i 'int'
  // CHECK-NEXT: IntegerLiteral {{.*}} 'int' 0
  // CHECK-NEXT: <<<NULL>>>
  // CHECK-NEXT: BinaryOperator{{.*}}'bool' '<'
  // CHECK-NEXT: ImplicitCastExpr
  // CHECK-NEXT: DeclRefExpr
  // CHECK-NEXT: IntegerLiteral {{.*}} 'int' 5
  // CHECK-NEXT: UnaryOperator{{.*}} prefix '++'
  // CHECK-NEXT: DeclRefExpr{{.*}} 'i' 'int'
  // CHECK-NEXT: NullStmt

  // CHECK-NEXT: OpenACCLoopConstruct{{.*}} parent: kernels loop
  // CHECK-NEXT: ForStmt
  // CHECK-NEXT: DeclStmt
  // CHECK-NEXT: VarDecl {{.*}} i 'int'
  // CHECK-NEXT: IntegerLiteral {{.*}} 'int' 0
  // CHECK-NEXT: <<<NULL>>>
  // CHECK-NEXT: BinaryOperator{{.*}}'bool' '<'
  // CHECK-NEXT: ImplicitCastExpr
  // CHECK-NEXT: DeclRefExpr
  // CHECK-NEXT: IntegerLiteral {{.*}} 'int' 5
  // CHECK-NEXT: UnaryOperator{{.*}} prefix '++'
  // CHECK-NEXT: DeclRefExpr{{.*}} 'i' 'int'
  // CHECK-NEXT: NullStmt

}

struct S {
  using type = int;
};

void use() {
  TemplFunc<S>();
}
#endif
