|  | // 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 |