brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · 0ffff0d Raw
58 lines · cpp
1// RUN: %clang_cc1 -verify -fopenmp -fopenmp-version=60 -triple x86_64-apple-darwin10.6.0 -ast-dump %s | FileCheck %s2// RUN: %clang_cc1 -verify -fopenmp -fopenmp-version=60 -triple x86_64-unknown-linux-gnu -ast-dump %s | FileCheck %s3 4// RUN: %clang_cc1 -verify -fopenmp-simd -fopenmp-version=60 -triple x86_64-apple-darwin10.6.0 -ast-dump %s | FileCheck %s5// RUN: %clang_cc1 -verify -fopenmp-simd -fopenmp-version=60 -triple x86_64-unknown-linux-gnu -ast-dump %s | FileCheck %s6// expected-no-diagnostics7 8#ifndef HEADER9#define HEADER10 11struct St{12 int a;13};14 15struct St1{16 int a;17 static int b;18#pragma omp groupprivate(b)19};20// CHECK: VarDecl {{.*}} b 'int' static21// CHECK-NEXT: OMPGroupPrivateDeclAttr22// CHECK-NEXT: OMPGroupPrivateDecl23// CHECK-NEXT: DeclRefExpr {{.*}} 'int' lvalue Var {{.*}} 'b' 'int'24 25int a, b;26#pragma omp groupprivate(a)27#pragma omp groupprivate(b)28// CHECK: VarDecl {{.*}} a 'int'29// CHECK-NEXT: OMPGroupPrivateDeclAttr30// CHECK: VarDecl {{.*}} b 'int'31// CHECK-NEXT: OMPGroupPrivateDeclAttr32// CHECK-NEXT: OMPGroupPrivateDecl33// CHECK-NEXT: DeclRefExpr {{.*}} 'int' lvalue Var {{.*}} 'a' 'int'34// CHECK-NEXT: OMPGroupPrivateDecl35// CHECK-NEXT: DeclRefExpr {{.*}} 'int' lvalue Var {{.*}} 'b' 'int'36 37template <class T> T foo() {38  static T v;39  #pragma omp groupprivate(v)40  return v;41}42// CHECK: OMPGroupPrivateDecl43// CHECK-NEXT: DeclRefExpr {{.*}} 'T' lvalue Var {{.*}} 'v' 'T'44 45int main () {46  static int a;47#pragma omp groupprivate(a)48  a=2;49  return (foo<int>());50}51// CHECK: VarDecl {{.*}} a 'int' static52// CHECK-NEXT: OMPGroupPrivateDeclAttr53// CHECK-NEXT: DeclStmt54// CHECK-NEXT: OMPGroupPrivateDecl55// CHECK-NEXT: DeclRefExpr {{.*}} 'int' lvalue Var {{.*}} 'a' 'int'56 57#endif58