summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/cxx1y-variable-templates_in_class.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Sema: Variable templates cannot be static bitfield membersDavid Majnemer2014-12-281-0/+6
| | | | | | | We correctly forbid variables but not variable templates. Diagnose this case instead of crashing. llvm-svn: 224905
* Improve diagnostic on default-initializing const variables (PR20208).Nico Weber2014-07-231-2/+2
| | | | | | | | This tweaks the diagnostic wording slighly, and adds a fixit on a note. An alternative would be to add the fixit directly on the diagnostic, see the review thread linked to from the bug for a few notes on that approach. llvm-svn: 213725
* Fix crash if a dependent template-id was assumed to be a type but instantiatesRichard Smith2013-12-041-0/+24
| | | | | | to a variable template specialization. llvm-svn: 196337
* Provide better diagnostic wording for initializers on staticHans Wennborg2013-11-211-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | data member definitions when the variable has an initializer in its declaration. For the following code: struct S { static const int x = 42; }; const int S::x = 42; This patch changes the diagnostic from: a.cc:4:14: error: redefinition of 'x' const int S::x = 42; ^ a.cc:2:20: note: previous definition is here static const int x = 42; ^ to: a.cc:4:18: error: static data member 'x' already has an initializer const int S::x = 42; ^ a.cc:2:24: note: previous initialization is here static const int x = 42; ^ Differential Revision: http://llvm-reviews.chandlerc.com/D2235 llvm-svn: 195306
* Variable templates: handle instantiation of static data member templatesRichard Smith2013-09-271-68/+108
| | | | | | appropriately, especially when they appear within class templates. llvm-svn: 191548
* Implement restriction that a partial specialization must actually specializeRichard Smith2013-09-241-18/+19
| | | | | | something, for variable templates. llvm-svn: 191278
* Remove a bogus diagnostic preventing static data member templates from beingRichard Smith2013-09-181-6/+5
| | | | | | defined with no initializer. llvm-svn: 190970
* If a variable template specialization with an incomplete array type isRichard Smith2013-09-181-3/+33
| | | | | | referenced, try to instantiate its definition in order to complete the type. llvm-svn: 190910
* Add a constexpr functionality test for static data member templates.Larisse Voufo2013-08-221-0/+19
| | | | llvm-svn: 188975
* Refactor for clarity and simplicity.Larisse Voufo2013-08-221-55/+57
| | | | llvm-svn: 188974
* Improve support for static data member templates. This revision still has at ↵Larisse Voufo2013-08-221-8/+57
| | | | | | least one bug, as it does not respect the variable template specialization hierarchy well. llvm-svn: 188969
* Started implementing variable templates. Top level declarations should be ↵Larisse Voufo2013-08-061-0/+159
fully supported, up to some limitations documented as FIXMEs or TODO. Static data member templates work very partially. Static data member templates of class templates need particular attention... llvm-svn: 187762
OpenPOWER on IntegriCloud