summaryrefslogtreecommitdiffstats
path: root/clang/test/CXX/temp/temp.decls/temp.variadic/p4.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [c++20] Implement P0428R2 - Familiar template syntax for generic lambdasHamza Sood2019-05-041-6/+3
| | | | | | Differential Revision: https://reviews.llvm.org/D36527 llvm-svn: 359967
* Do not look through pack expansions when looking for unexpanded parameter packs.Richard Smith2017-08-151-0/+98
| | | | | | | Fixes a selection of rejects-valids when pack-expanding a lambda that itself contains a pack expansion. llvm-svn: 310972
* PR11850 + duplicates: don't assume that a function parameter pack expansion isRichard Smith2012-03-131-0/+46
| | | | | | at the end of the parameter list. llvm-svn: 152618
* Improve diagnostics a bit for bad member initializers, and fix an obscure ↵Eli Friedman2012-02-221-0/+10
| | | | | | bug involving packs. Fixes PR12049. llvm-svn: 151130
* Tweak the fix to PR8977: an empty expression-list represents value ↵Eli Friedman2012-01-051-1/+2
| | | | | | initialization, not default initialization. Fixes PR11712. llvm-svn: 147620
* Update all tests other than Driver/std.cpp to use -std=c++11 rather thanRichard Smith2011-10-131-1/+1
| | | | | | -std=c++0x. Patch by Ahmed Charles! llvm-svn: 141900
* Declare and define implicit move constructor and assignment operator.Sebastian Redl2011-08-301-0/+1
| | | | | | | | | This makes the code duplication of implicit special member handling even worse, but the cleanup will have to come later. For now, this works. Follow-up with tests for explicit defaulting and enabling the __has_feature flag to come. llvm-svn: 138821
* Semantic checking for exception specifications should be triggered byJohn McCall2011-03-021-1/+1
| | | | | | whether C++ exceptions are enabled, not exceptions in general. PR9358. llvm-svn: 126820
* When we're instantiating a direct variable initializer that has a packDouglas Gregor2011-01-141-0/+9
| | | | | | | | expansion in it, we may end up instantiating to an empty expression-list. In this case, the variable is uninitialized; tweak the instantiation logic to handle this case. Fixes PR8977. llvm-svn: 123449
* Replace the representation of template template argument packDouglas Gregor2011-01-051-1/+1
| | | | | | | | | | | | | expansions with something that is easier to use correctly: a new template argment kind, rather than a bit on an existing kind. Update all of the switch statements that deal with template arguments, fixing a few latent bugs in the process. I"m happy with this representation, now. And, oh look! Template instantiation and deduction work for template template argument pack expansions. llvm-svn: 122896
* Implement pack expansion of base initializers, so that we canDouglas Gregor2011-01-041-2/+30
| | | | | | | initialize those lovely mixins that come from pack expansions of base specifiers. llvm-svn: 122793
* Implement pack expansions whose pattern is a base-specifier.Douglas Gregor2011-01-031-0/+18
| | | | llvm-svn: 122782
* Implement support for pack expansions in initializer lists andDouglas Gregor2011-01-031-0/+14
| | | | | | expression lists. llvm-svn: 122764
* When instantiating a non-type template parameter pack, be sure toDouglas Gregor2010-12-241-5/+25
| | | | | | | | extract the appropriate argument from the argument pack (based on the current substitution index, of course). Simple instantiation of pack expansions involving non-type template parameter packs now works. llvm-svn: 122532
* Implement instantiation of pack expansions whose pattern is a type-idDouglas Gregor2010-12-211-6/+6
| | | | | | in an exception specification. llvm-svn: 122297
* Extend the parser to support pack expansions within exceptionDouglas Gregor2010-12-201-0/+18
| | | | | | | specifications. We can't yet instantiate them, however, since I tripped over PR8835. llvm-svn: 122292
* Test template instantiation of pack expansions where the parameter pack is ↵Douglas Gregor2010-12-201-3/+16
| | | | | | in a nested-name-specifier llvm-svn: 122282
* Clean up the printing of template argument packs; previously, we wereDouglas Gregor2010-12-201-1/+1
| | | | | | getting extra "<>" delimiters around template argument packs. llvm-svn: 122280
* Implement basic support for template instantiation of pack expansionsDouglas Gregor2010-12-201-0/+15
whose patterns are template arguments. We can now instantiate, e.g., typedef tuple<pair<OuterTypes, InnerTypes>...> type; where OuterTypes and InnerTypes are template type parameter packs. There is a horrible inefficiency in TemplateArgumentLoc::getPackExpansionPattern(), where we need to create copies of TypeLoc data because our interfaces traffic in TypeSourceInfo pointers where they should traffic in TypeLocs instead. I've isolated in efficiency in this one routine; once we refactor our interfaces to traffic in TypeLocs, we can eliminate it. llvm-svn: 122278
OpenPOWER on IntegriCloud