// REQUIRES: x86-registered-target
// REQUIRES: nvptx-registered-target
// RUN: %clang_cc1 -triple nvptx64-nvidia-cuda -emit-llvm -disable-llvm-optzns -fno-builtin-printf -fcuda-is-device \
// RUN: -o - %s | FileCheck %s
#define __device__ __attribute__((device))
extern "C" __device__ int printf(const char *format, ...);
// CHECK-LABEL: @_Z4foo1v()
__device__ int foo1() {
// CHECK: call i32 @vprintf
// CHECK-NOT: call i32 (ptr, ...) @printf
return __builtin_printf("Hello World\n");
}
// CHECK-LABEL: @_Z4foo2v()
__device__ int foo2() {
// CHECK: call i32 (ptr, ...) @printf
return printf("Hello World\n");
}