| // REQUIRES: x86-registered-target |
| // REQUIRES: nvptx-registered-target |
| // REQUIRES: amdgpu-registered-target |
| |
| // RUN: %clang_cc1 -fcuda-is-device -triple nvptx-nvidia-cuda -emit-llvm \ |
| // RUN: -o - %s | FileCheck %s |
| // RUN: %clang_cc1 -fcuda-is-device -triple nvptx-nvidia-cuda -emit-llvm -target-sdk-version=10.1 \ |
| // RUN: -o - %s | FileCheck %s |
| // RUN: %clang_cc1 -fcuda-is-device -triple amdgcn-amd-amdhsa -emit-llvm \ |
| // RUN: -o - %s | FileCheck %s |
| |
| #include "Inputs/cuda.h" |
| |
| extern "C" { |
| __device__ int foo() { return 1; } |
| } |
| |
| [[gnu::alias("foo")]] __device__ int alias(); |
| |
| // CHECK: @_Z5aliasv = alias i32 (), ptr @foo |
| // |
| // CHECK: define dso_local i32 @foo() #[[ATTR0:[0-9]+]] { |
| // CHECK-NEXT: entry: |
| // CHECK: ret i32 1 |
| // CHECK-NEXT: } |
| |
| // RUN: not %clang_cc1 -fcuda-is-device -triple nvptx-nvidia-cuda -emit-llvm -target-sdk-version=9.0 \ |
| // RUN: -o - %s 2>&1 | FileCheck %s --check-prefix=NO_SUPPORT |
| // NO_SUPPORT: CUDA older than 10.0 does not support .alias |