-
- Downloads
[CUDA] Do not allow dynamic initialization of global device side variables.
In general CUDA does not allow dynamic initialization of global device-side variables. One exception is that CUDA allows records with empty constructors as described in section E2.2.1 of CUDA 7.5 Programming guide. This patch applies initializer checks for all device-side variables. Empty constructors are accepted, but no code is generated for them. Differential Revision: http://reviews.llvm.org/D15305 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@259592 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- include/clang/Basic/DiagnosticSemaKinds.td 5 additions, 0 deletionsinclude/clang/Basic/DiagnosticSemaKinds.td
- include/clang/Sema/Sema.h 4 additions, 0 deletionsinclude/clang/Sema/Sema.h
- lib/CodeGen/CGDeclCXX.cpp 11 additions, 0 deletionslib/CodeGen/CGDeclCXX.cpp
- lib/CodeGen/CodeGenModule.cpp 6 additions, 11 deletionslib/CodeGen/CodeGenModule.cpp
- lib/Sema/SemaCUDA.cpp 35 additions, 0 deletionslib/Sema/SemaCUDA.cpp
- lib/Sema/SemaDecl.cpp 32 additions, 0 deletionslib/Sema/SemaDecl.cpp
- test/CodeGenCUDA/device-var-init.cu 393 additions, 0 deletionstest/CodeGenCUDA/device-var-init.cu
Loading
Please register or sign in to comment