summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/cxx1z-inline-variables.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Properly construct `inline` members without initializersGeorge Burgess IV2018-03-201-0/+26
| | | | | | | | | | | | Digging through commit logs, it appears the checks in this block predate `inline` class variables. With them, we fail to emit dynamic initializers for members that don't have an explicit initializer, and we won't go out of our way to instantiate the class denoted by `Var->getType()`. Fixes PR35599. llvm-svn: 327945
* In C++17, when instantiating an out-of-line definition of an inline static dataRichard Smith2018-01-101-0/+8
| | | | | | member, don't forget to instantiate the initializer too. llvm-svn: 322236
* [c++17] Visit class template explicit specializations just like all other ↵Richard Smith2017-11-031-0/+12
| | | | | | | | class definitions in codegen. If an explicit specialization has a static data member, it may be a definition and we may need to register it for emission. llvm-svn: 317296
* For better compatibility with C++11 and C++14, emit a nondiscardable definitionRichard Smith2017-10-231-4/+14
| | | | | | | of a static constexpr data member if it's defined 'constexpr' out of line, not only if it's defined 'constexpr' in the class. llvm-svn: 316310
* PR28394: For compatibility with c++11 and c++14, if a static constexpr dataRichard Smith2016-07-021-0/+20
| | | | | | | | member is redundantly redeclared outside the class definition in code built in c++17 mode, ensure we emit a non-discardable definition of the data member for c++11 and c++14 compilations to use. llvm-svn: 274416
* Implement C++17 P0386R2, inline variables. (The 'inline' specifier gives aRichard Smith2016-06-251-0/+63
variable weak discardable linkage and partially-ordered initialization, and is implied for constexpr static data members.) llvm-svn: 273754
OpenPOWER on IntegriCloud