hliao added a comment. In D76365#1947103 <https://reviews.llvm.org/D76365#1947103>, @tra wrote:
> In D76365#1946938 <https://reviews.llvm.org/D76365#1946938>, @hliao wrote: > > > The new revision is accepted, right? Just want to confirm as it seems you > > accept it before I posted the new change. > > > The approval was for the old version. I didn't undo it when I reopened the > review. The diff looks OK, though the last variant still leaves open the > question of what's the meaning of these attributes and what are the > restrictions on their use. > > So what's the reasonable thing to do if I write something like this: > > __attribute__((device_builtin_surface_type)) int foo; // Ignore? Warn? > Error? Do something sensible? > For such case, NVCC reports the following error: kernel.cu(3): error: attribute "device_builtin_surface_type" does not apply here 1 error detected in the compilation of "kernel.cpp1.ii" That error is generated after `nvcc --keep -g -c kernel.cu` from this sample code (`kernel.cu`) #include <cuda.h> __attribute__((device_builtin_surface_type)) int foo; int f() { return foo; } I changed that sample code a little bit to this one #include <cuda.h> #if 1 typedef __attribute__((device_builtin_surface_type)) int dev_texsurf_int_t; dev_texsurf_int_t foo; #else __attribute__((device_builtin_surface_type)) int foo; #endif int f() { return foo; } It triggers a crash in NVCC with the same compilation command line. We may enhance clang to report an error instead of a warning only so far. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76365/new/ https://reviews.llvm.org/D76365 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits