summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaTemplate/function-template-specialization.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Implement C++ DR727, which permits explicit specializations at class scope.Richard Smith2018-03-161-1/+1
| | | | | | | | | More generally, this permits a template to be specialized in any scope in which it could be defined, so this also supersedes DR44 and DR374 (the latter of which we previously only implemented in C++11 mode onwards due to unclarity as to whether it was a DR). llvm-svn: 327705
* FIXME fix: improving diagnostics for template arguments deduction of class ↵Larisse Voufo2013-07-191-1/+2
| | | | | | | | templates and explicit specializations This patch essentially removes all the FIXMEs following calls to DeduceTemplateArguments() that want to keep track of deduction failure info. llvm-svn: 186730
* Revert "Use function overloading instead of template specialization for ↵Larisse Voufo2013-07-191-2/+1
| | | | | | | | diagnosis of bad template argument deductions." This reverts commit a730f548325756d050d4caaa28fcbffdae8dfe95. llvm-svn: 186729
* Use function overloading instead of template specialization for diagnosis of ↵Larisse Voufo2013-07-191-1/+2
| | | | | | bad template argument deductions. llvm-svn: 186727
* Check a pointer is not null before attempting to use it. This prevents aRichard Trieu2013-05-161-0/+9
| | | | | | crash on an explicit specialization of a member function in a class scope. llvm-svn: 181971
* Disallow function template partial specializations, from HansDouglas Gregor2011-01-241-0/+5
| | | | | | Wennborg! Fixes PR8295. llvm-svn: 124135
* When performing name lookup into a scope, check that its entity isDouglas Gregor2010-01-111-0/+8
| | | | | | non-NULL before looking at the entity itself. llvm-svn: 93199
* 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
* Use explicitly-specified template argument lists to help namingDouglas Gregor2009-09-251-0/+10
| | | | | | explicit template specializations, when available. llvm-svn: 82824
* WIP implementation of explicit function template specialization. ThisDouglas Gregor2009-09-241-0/+25
first implementation recognizes when a function declaration is an explicit function template specialization (based on the presence of a template<> header), performs template argument deduction + ambiguity resolution to determine which template is being specialized, and hooks There are many caveats here: - We completely and totally drop any explicitly-specified template arguments on the floor - We don't diagnose any of the extra semantic things that we should diagnose. - I haven't looked to see that we're getting the right linkage for explicit specializations On a happy note, this silences a bunch of errors that show up in libstdc++'s <iostream>, although Clang still can't get through the entire header. llvm-svn: 82728
OpenPOWER on IntegriCloud