1 // expected-no-diagnostics 2 3 // RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -fsyntax-only -verify %s 4 // RUN: %clang_cc1 -triple nvptx64-nvidia-cuda -fsyntax-only -fcuda-is-device -verify %s 5 6 #include "Inputs/cuda.h" 7 8 __host__ void overload() {} 9 __device__ void overload() {} 10 11 __host__ __device__ void test_hd() { 12 // This should not be ambiguous -- we choose the host or the device overload 13 // depending on whether or not we're compiling for host or device. 14 void (*x)() = overload; 15 } 16 17 // These also shouldn't be ambiguous, but they're an easier test than the HD 18 // function above. 19 __host__ void test_host() { 20 void (*x)() = overload; 21 } 22 __device__ void test_device() { 23 void (*x)() = overload; 24 } 25