summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaTemplate/extern-templates.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Don't suppress instantiation of definitions for variables subject to explicitRichard Smith2017-10-181-0/+7
| | | | | | | | | instantiation declarations if they are usable from constant expressions. We are permitted to instantiate in these cases, and required to do so in order to have an initializer available for use within constant evaluation. llvm-svn: 316136
* Re-commit r270748 "clang-cl: Treat dllimport explicit template instantiation ↵Hans Wennborg2016-05-261-2/+11
| | | | | | | | | | definitions as declarations (PR27810, PR27811)" Also make explicit instantiation decls not apply to nested classes when targeting MSVC. That dll attributes are not inherited by inner classes might be the explanation for MSVC's behaviour here. llvm-svn: 270897
* Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.Daniel Dunbar2009-12-151-1/+1
| | | | | | | | | - This is designed to make it obvious that %clang_cc1 is a "test variable" which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it can be useful to redefine what gets run as 'clang -cc1' (for example, to set a default target). llvm-svn: 91446
* Make the remaining explicit-instantiation semantic action useDouglas Gregor2009-10-151-4/+2
| | | | | | | | | CheckSpecializationInstantiationRedecl to check for redeclarations/instantiations. Also fixes a longstanding issue where our explicit-instantiation location information wasn't as good as it could have been. llvm-svn: 84216
* Make sure to set the template specialization kind of an explicitDouglas Gregor2009-10-081-2/+1
| | | | | | | template instantiation of a member function of a class template. FIXME -= 2; llvm-svn: 83520
* Keep track of whether a member function instantiated from a memberDouglas Gregor2009-10-071-2/+2
| | | | | | | | | function of a class template was implicitly instantiated, explicitly instantiated (declaration or definition), or explicitly specialized. The same MemberSpecializationInfo structure will be used for static data members and member classes as well. llvm-svn: 83509
* Slightly improve the semantics of extern templates for member functions of ↵Douglas Gregor2009-09-291-0/+26
| | | | | | class templates llvm-svn: 83063
* Slight improvement for extern templates, so that an explicitDouglas Gregor2009-09-111-3/+14
| | | | | | | | | instantiation definition can follow an explicit instantiation declaration. This is as far as I want to go with extern templates now, but they will still need quite a bit more work to get all of the C++0x semantics right. llvm-svn: 81573
* Improve testing for extern temp templates, slightly. We are (properly) ↵Douglas Gregor2009-09-111-6/+16
| | | | | | suppressing the implicit instantiation of members of extern templates llvm-svn: 81567
* Parse extern templates, pass that information all the way to Sema,Douglas Gregor2009-09-041-0/+20
then drop it on the floor. llvm-svn: 80989
OpenPOWER on IntegriCloud