1*67e74705SXin Li // RUN: c-index-test -test-load-source all -x cuda %s | FileCheck %s 2*67e74705SXin Li // RUN: c-index-test -test-load-source all -x cuda --cuda-host-only %s | FileCheck %s 3*67e74705SXin Li // RUN: c-index-test -test-load-source all -x cuda --cuda-device-only %s | FileCheck %s 4*67e74705SXin Li 5*67e74705SXin Li __attribute__((device)) void f_device(); 6*67e74705SXin Li __attribute__((global)) void f_global(); 7*67e74705SXin Li __attribute__((constant)) int* g_constant; 8*67e74705SXin Li __attribute__((shared)) float *g_shared; 9*67e74705SXin Li __attribute__((host)) void f_host(); 10*67e74705SXin Li __attribute__((device_builtin)) void f_device_builtin(); 11*67e74705SXin Li typedef __attribute__((device_builtin)) const void *t_device_builtin; 12*67e74705SXin Li enum __attribute__((device_builtin)) e_device_builtin {}; 13*67e74705SXin Li __attribute__((device_builtin)) int v_device_builtin; 14*67e74705SXin Li __attribute__((cudart_builtin)) void f_cudart_builtin(); 15*67e74705SXin Li __attribute__((nv_weak)) void f_nv_weak(); 16*67e74705SXin Li __attribute__((device_builtin_surface_type)) unsigned long long surface_var; 17*67e74705SXin Li __attribute__((device_builtin_texture_type)) unsigned long long texture_var; 18*67e74705SXin Li 19*67e74705SXin Li // CHECK: attributes-cuda.cu:5:30: FunctionDecl=f_device:5:30 20*67e74705SXin Li // CHECK-NEXT: attributes-cuda.cu:5:16: attribute(device) 21*67e74705SXin Li // CHECK: attributes-cuda.cu:6:30: FunctionDecl=f_global:6:30 22*67e74705SXin Li // CHECK-NEXT: attributes-cuda.cu:6:16: attribute(global) 23*67e74705SXin Li // CHECK: attributes-cuda.cu:7:32: VarDecl=g_constant:7:32 (Definition) 24*67e74705SXin Li // CHECK-NEXT: attributes-cuda.cu:7:16: attribute(constant) 25*67e74705SXin Li // CHECK: attributes-cuda.cu:8:32: VarDecl=g_shared:8:32 (Definition) 26*67e74705SXin Li // CHECK-NEXT: attributes-cuda.cu:8:16: attribute(shared) 27*67e74705SXin Li // CHECK: attributes-cuda.cu:9:28: FunctionDecl=f_host:9:28 28*67e74705SXin Li // CHECK-NEXT: attributes-cuda.cu:9:16: attribute(host) 29*67e74705SXin Li // CHECK: attributes-cuda.cu:10:38: FunctionDecl=f_device_builtin:10:38 30*67e74705SXin Li // CHECK: attributes-cuda.cu:11:53: TypedefDecl=t_device_builtin:11:53 31*67e74705SXin Li // CHECK: attributes-cuda.cu:12:38: EnumDecl=e_device_builtin:12:38 32*67e74705SXin Li // CHECK: attributes-cuda.cu:13:37: VarDecl=v_device_builtin:13:37 33*67e74705SXin Li // CHECK: attributes-cuda.cu:14:38: FunctionDecl=f_cudart_builtin:14:38 34*67e74705SXin Li // CHECK: attributes-cuda.cu:15:31: FunctionDecl=f_nv_weak:15:31 35*67e74705SXin Li // CHECK: attributes-cuda.cu:16:65: VarDecl=surface_var:16:65 36*67e74705SXin Li // CHECK: attributes-cuda.cu:17:65: VarDecl=texture_var:17:65 37