1*f892ddb3SJoseph Huber // NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --function-signature --include-generated-funcs 2*f892ddb3SJoseph Huber // RUN: %clang_cc1 -verify -fopenmp -x c++ -triple powerpc64le-unknown-unknown -emit-llvm %s -o - | FileCheck %s 3*f892ddb3SJoseph Huber // expected-no-diagnostics 4*f892ddb3SJoseph Huber 5*f892ddb3SJoseph Huber #ifndef HEADER 6*f892ddb3SJoseph Huber #define HEADER 7*f892ddb3SJoseph Huber foo()8*f892ddb3SJoseph Hubervoid foo() { } 9*f892ddb3SJoseph Huber 10*f892ddb3SJoseph Huber #pragma omp begin declare variant match( \ 11*f892ddb3SJoseph Huber device = {arch(ppc64le, ppc64)}, \ 12*f892ddb3SJoseph Huber implementation = {extension(match_any, bind_to_declaration)}) 13*f892ddb3SJoseph Huber 14*f892ddb3SJoseph Huber void foo(); 15*f892ddb3SJoseph Huber 16*f892ddb3SJoseph Huber #pragma omp end declare variant 17*f892ddb3SJoseph Huber main()18*f892ddb3SJoseph Huberint main() { 19*f892ddb3SJoseph Huber foo(); 20*f892ddb3SJoseph Huber } 21*f892ddb3SJoseph Huber 22*f892ddb3SJoseph Huber #endif 23*f892ddb3SJoseph Huber // CHECK-LABEL: define {{[^@]+}}@_Z3foov 24*f892ddb3SJoseph Huber // CHECK-SAME: () #[[ATTR0:[0-9]+]] { 25*f892ddb3SJoseph Huber // CHECK-NEXT: entry: 26*f892ddb3SJoseph Huber // CHECK-NEXT: ret void 27*f892ddb3SJoseph Huber // 28*f892ddb3SJoseph Huber // 29*f892ddb3SJoseph Huber // CHECK-LABEL: define {{[^@]+}}@main 30*f892ddb3SJoseph Huber // CHECK-SAME: () #[[ATTR1:[0-9]+]] { 31*f892ddb3SJoseph Huber // CHECK-NEXT: entry: 32*f892ddb3SJoseph Huber // CHECK-NEXT: call void @"_Z74foo$ompvariant$S2$s7$Pppc64le$Pppc64$S3$s9$Pmatch_any$Pbind_to_declarationv"() 33*f892ddb3SJoseph Huber // CHECK-NEXT: ret i32 0 34*f892ddb3SJoseph Huber // 35