llvm-project/clang/lib/Sema
Artem Belevich 97c01c35f8 [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

llvm-svn: 259592
2016-02-02 22:29:48 +00:00
..
AnalysisBasedWarnings.cpp [Sema] Replace pointer-to-map with a map. NFC. 2015-12-10 19:25:21 +00:00
AttributeList.cpp Roll-back r250822. 2015-10-20 13:23:58 +00:00
CMakeLists.txt [coroutines] Initial stub Sema functionality for handling coroutine await / yield / return. 2015-10-22 06:13:50 +00:00
CodeCompleteConsumer.cpp Roll-back r250822. 2015-10-20 13:23:58 +00:00
DeclSpec.cpp Move LocInfoType from Sema to AST. 2016-02-01 17:42:01 +00:00
DelayedDiagnostic.cpp Add -Wpartial-availability. 2015-03-19 19:18:22 +00:00
IdentifierResolver.cpp [modules] Remove redundant import of lexical decls when building a lookup table 2015-03-23 03:25:59 +00:00
JumpDiagnostics.cpp Some minor ARC diagnostic improvements. 2015-10-21 18:06:38 +00:00
MultiplexExternalSemaSource.cpp Roll-back r250822. 2015-10-20 13:23:58 +00:00
Scope.cpp Annotate dump() methods with LLVM_DUMP_METHOD, addressing Richard Smith r259192 post commit comment. 2016-01-29 19:38:18 +00:00
ScopeInfo.cpp Properly clear current coroutine promise on FunctionScopeInfo reuse. Should 2015-10-27 07:47:45 +00:00
Sema.cpp [Sema] Make nullness warnings appear in C++. 2015-12-14 22:00:49 +00:00
SemaAccess.cpp -Wdeprecated: SavedInstanceContext is returned by value but isn't really copyable, but it can be made movable 2015-08-12 22:58:10 +00:00
SemaAttr.cpp Introduce -fsanitize-stats flag. 2016-01-16 00:31:22 +00:00
SemaCUDA.cpp [CUDA] Do not allow dynamic initialization of global device side variables. 2016-02-02 22:29:48 +00:00
SemaCXXScopeSpec.cpp Model NamespaceAliasDecls as having their nominated namespace as an underlying 2015-12-29 23:34:32 +00:00
SemaCast.cpp [Bugfix] Fix ICE on constexpr vector splat. 2016-01-13 01:52:39 +00:00
SemaChecking.cpp Improve -Wconstant-conversion 2016-01-29 23:51:16 +00:00
SemaCodeComplete.cpp Class Property: class property and instance property can have the same name. 2016-01-28 18:49:28 +00:00
SemaConsumer.cpp
SemaCoroutine.cpp [coroutines] Build a CoroutineBodyStmt when finishing parsing a coroutine, and form the initial_suspend, final_suspend, and get_return_object calls. 2015-11-24 02:34:39 +00:00
SemaDecl.cpp [CUDA] Do not allow dynamic initialization of global device side variables. 2016-02-02 22:29:48 +00:00
SemaDeclAttr.cpp Fix for PR8901: attribute "mode" rejected for enums and dependent types. 2016-02-02 13:50:39 +00:00
SemaDeclCXX.cpp [Sema] Remove stray semicolons. 2016-01-26 01:39:17 +00:00
SemaDeclObjC.cpp Avoid overly large SmallPtrSet/SmallSet 2016-01-30 01:27:06 +00:00
SemaExceptionSpec.cpp Wire a SourceLocation into IsDerivedFrom and move the RequireCompleteType call 2015-12-18 21:45:41 +00:00
SemaExpr.cpp Allow capture typedefs/type aliases for VLAs in lambdas/captured statements chain. 2016-01-25 07:06:23 +00:00
SemaExprCXX.cpp OpaquePtr: Use nullptr construction for ParsedType OpaquePtr typedef 2016-01-15 23:43:34 +00:00
SemaExprMember.cpp Class Property: class property and instance property can have the same name. 2016-01-28 18:49:28 +00:00
SemaExprObjC.cpp Class Property: class property and instance property can have the same name. 2016-01-28 18:49:28 +00:00
SemaFixItUtils.cpp Wire a SourceLocation into IsDerivedFrom and move the RequireCompleteType call 2015-12-18 21:45:41 +00:00
SemaInit.cpp Annotate dump() methods with LLVM_DUMP_METHOD, addressing Richard Smith r259192 post commit comment. 2016-01-29 19:38:18 +00:00
SemaLambda.cpp ArrayRef-ize TemplateParameterList. NFC 2015-12-27 07:16:27 +00:00
SemaLookup.cpp [OpenCL] Eliminate warning when declaring OpenCL builtin functions. 2016-02-02 11:29:43 +00:00
SemaObjCProperty.cpp Class Property: warn for synthesize on a class property. 2016-01-29 19:16:39 +00:00
SemaOpenMP.cpp [OPENMP 4.0] Allow to use 'omp simd' directive inside other simd-regions. 2016-02-02 04:59:52 +00:00
SemaOverload.cpp Annotate dump() methods with LLVM_DUMP_METHOD, addressing Richard Smith r259192 post commit comment. 2016-01-29 19:38:18 +00:00
SemaPseudoObject.cpp Class Property: class property and instance property can have the same name. 2016-01-28 18:49:28 +00:00
SemaStmt.cpp [SemaCXX] Fix crash-on-invalid while trying to deduce return type of a lambda. 2016-01-30 01:51:20 +00:00
SemaStmtAsm.cpp Remove an unused parameter 2016-01-05 00:08:41 +00:00
SemaStmtAttr.cpp [Sema] Use available enum types instead of integers. As one is used in a switch, this makes the compiler ensure the switch is fully covered. NFC 2015-12-23 05:44:43 +00:00
SemaTemplate.cpp Fix PR26134: When substituting into default template arguments, keep CurContext unchanged. 2016-01-19 03:58:55 +00:00
SemaTemplateDeduction.cpp [OpenCL] Pipe type support 2016-01-09 12:53:17 +00:00
SemaTemplateInstantiate.cpp Always build a new TypeSourceInfo for function templates with parameters 2016-02-01 22:31:51 +00:00
SemaTemplateInstantiateDecl.cpp Fix for PR8901: attribute "mode" rejected for enums and dependent types. 2016-02-02 13:50:39 +00:00
SemaTemplateVariadic.cpp [OpenCL] Pipe type support 2016-01-09 12:53:17 +00:00
SemaType.cpp [Sema] Make extended vectors of `bool` an error. 2016-01-28 01:38:18 +00:00
TreeTransform.h [OpenMP] Parsing + sema for target parallel directive. 2016-01-26 18:48:41 +00:00
TypeLocBuilder.cpp [C++11] Use 'nullptr'. Sema edition. 2014-05-26 06:22:03 +00:00
TypeLocBuilder.h Revert r240270 ("Fixed/added namespace ending comments using clang-tidy"). 2015-06-22 23:07:51 +00:00