summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/const-init-cxx1y.cpp
Commit message (Collapse)AuthorAgeFilesLines
* CodeGen: static constexpr data members should have a linkonce_odr initDavid Majnemer2015-02-191-3/+3
| | | | | | | | | Classes can be defined in multiple translation units. This means that the static constexpr data members should have identical initializers in all translation units. Implement this by giving the reference temporary linkonce_odr linkage. llvm-svn: 229900
* AST: Update reference temporary manglingDavid Majnemer2014-05-061-21/+21
| | | | | | | | | | | | | | | Summary: Update our mangling to match the discussion on cxx-abi-dev. This involves using a seq-id instead of an optional number. Reviewers: rsmith Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D3631 llvm-svn: 208140
* AST: Mangle reference temporaries reliablyDavid Majnemer2014-05-011-7/+7
| | | | | | | | | | | | | | | Summary: Previously, we would generate a single name for all reference temporaries and allow LLVM to rename them for us. Instead, number the reference temporaries as we build them in Sema. Reviewers: rsmith Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D3554 llvm-svn: 207776
* AST: Fix visibility calculation for VarTemplateSpecializationDeclDavid Majnemer2014-04-291-0/+8
| | | | | | | | | | | | It is possible that a variable template specialization might not have a VisibilityAttr attached to it while the template that it specializes does, in fact, have one. We should consider the template in such cases. This fixes PR19597. llvm-svn: 207498
* CodeGen: Fix linkage of reference temporariesDavid Majnemer2014-04-281-0/+30
| | | | | | | | | | | | | | | Summary: A reference temporary should inherit the linkage of the variable it initializes. Otherwise, we may hit cases where a reference temporary wouldn't have the same value in all translation units. Reviewers: rsmith Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D3515 llvm-svn: 207451
* Remove 'not' from some CodeGen testsAlp Toker2013-12-141-1/+2
| | | | | | | | These were just missing an expected-no-diagnostics directive. Also add -std=c++11 to a test warning noisly about extensions. llvm-svn: 197308
* Add 'not' to commands that are expected to fail.Rafael Espindola2013-07-041-1/+1
| | | | | | | This is at least good documentation, but also opens the possibility of using pipefail. llvm-svn: 185652
* Emit initializers for static-storage-duration temporaries as constants whereRichard Smith2013-06-141-0/+19
| | | | | | possible. llvm-svn: 183967
* Model temporary lifetime-extension explicitly in the AST. Use this model toRichard Smith2013-06-051-1/+10
| | | | | | | | | handle temporaries which have been lifetime-extended to static storage duration within constant expressions. This correctly handles nested lifetime extension (through reference members of aggregates in aggregate initializers) but non-constant-expression emission hasn't yet been updated to do the same. llvm-svn: 183283
* Implement C++1y constant initializer rules: in a constant initializer for anRichard Smith2013-05-091-0/+20
object x, x's subobjects can be constructed by constexpr constructor even if they are of non-literal type, and can be read and written even though they're not members of a constexpr object or temporary. llvm-svn: 181506
OpenPOWER on IntegriCloud