[PATCH] D11690: [CUDA] Added stubs for new attributes used by CUDA headers.

Artem Belevich tra at google.com
Fri Jul 31 13:01:14 PDT 2015


tra created this revision.
tra added reviewers: echristo, jholewinski, eliben.
tra added a subscriber: cfe-commits.

http://reviews.llvm.org/D11690

Files:
  include/clang/Basic/Attr.td
  test/Index/attributes-cuda.cu

Index: test/Index/attributes-cuda.cu
===================================================================
--- test/Index/attributes-cuda.cu
+++ test/Index/attributes-cuda.cu
@@ -7,6 +7,14 @@
 __attribute__((constant)) int* g_constant;
 __attribute__((shared)) float *g_shared;
 __attribute__((host)) void f_host();
+__attribute__((device_builtin)) void f_device_builtin();
+typedef __attribute__((device_builtin)) const void *t_device_builtin;
+enum __attribute__((device_builtin)) e_device_builtin {};
+__attribute__((device_builtin)) int v_device_builtin;
+__attribute__((cudart_builtin)) void f_cudart_builtin();
+__attribute__((nv_weak)) void f_nv_weak();
+__attribute__((device_builtin_surface_type)) unsigned long long surface_var;
+__attribute__((device_builtin_texture_type)) unsigned long long texture_var;
 
 // CHECK:       attributes-cuda.cu:5:30: FunctionDecl=f_device:5:30
 // CHECK-NEXT:  attributes-cuda.cu:5:16: attribute(device)
@@ -18,3 +26,11 @@
 // CHECK-NEXT:  attributes-cuda.cu:8:16: attribute(shared)
 // CHECK:       attributes-cuda.cu:9:28: FunctionDecl=f_host:9:28
 // CHECK-NEXT:  attributes-cuda.cu:9:16: attribute(host)
+// CHECK:	attributes-cuda.cu:10:38: FunctionDecl=f_device_builtin:10:38
+// CHECK:	attributes-cuda.cu:11:53: TypedefDecl=t_device_builtin:11:53
+// CHECK:	attributes-cuda.cu:12:38: EnumDecl=e_device_builtin:12:38
+// CHECK:	attributes-cuda.cu:13:37: VarDecl=v_device_builtin:13:37
+// CHECK:	attributes-cuda.cu:14:38: FunctionDecl=f_cudart_builtin:14:38
+// CHECK:	attributes-cuda.cu:15:31: FunctionDecl=f_nv_weak:15:31
+// CHECK:	attributes-cuda.cu:16:65: VarDecl=surface_var:16:65
+// CHECK:	attributes-cuda.cu:17:65: VarDecl=texture_var:17:65
Index: include/clang/Basic/Attr.td
===================================================================
--- include/clang/Basic/Attr.td
+++ include/clang/Basic/Attr.td
@@ -557,13 +557,37 @@
   let Documentation = [Undocumented];
 }
 
+def CUDACudartBuiltin : IgnoredAttr {
+  let Spellings = [GNU<"cudart_builtin">];
+  let LangOpts = [CUDA];
+  let Documentation = [Undocumented];
+}
+
 def CUDADevice : InheritableAttr {
   let Spellings = [GNU<"device">];
   let Subjects = SubjectList<[Function, Var]>;
   let LangOpts = [CUDA];
   let Documentation = [Undocumented];
 }
 
+def CUDADeviceBuiltin : IgnoredAttr {
+  let Spellings = [GNU<"device_builtin">];
+  let LangOpts = [CUDA];
+  let Documentation = [Undocumented];
+}
+
+def CUDADeviceBuiltinSurfaceType : IgnoredAttr {
+  let Spellings = [GNU<"device_builtin_surface_type">];
+  let LangOpts = [CUDA];
+  let Documentation = [Undocumented];
+}
+
+def CUDADeviceBuiltinTextureType : IgnoredAttr {
+  let Spellings = [GNU<"device_builtin_texture_type">];
+  let LangOpts = [CUDA];
+  let Documentation = [Undocumented];
+}
+
 def CUDAGlobal : InheritableAttr {
   let Spellings = [GNU<"global">];
   let Subjects = SubjectList<[Function]>;
@@ -1015,6 +1039,11 @@
   let Documentation = [Undocumented];
 }
 
+def NvWeak : IgnoredAttr {
+  let Spellings = [GCC<"nv_weak">];
+  let Documentation = [Undocumented];
+}
+
 def ObjCBridge : InheritableAttr {
   let Spellings = [GNU<"objc_bridge">];
   let Subjects = SubjectList<[Record, TypedefName], ErrorDiag,


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D11690.31156.patch
Type: text/x-patch
Size: 3212 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150731/58b8e2dd/attachment.bin>


More information about the cfe-commits mailing list