llvm-project/clang/test/SemaTemplate
Douglas Gregor c998409cce Remove an overly-eager assertion when replacing tokens with an
annotation token, because some of the tokens we're annotating might
not be in the set of cached tokens (we could have consumed them
unconditionally).

Also, move the tentative parsing from ParseTemplateTemplateArgument
into the one caller that needs it, improving recovery.

llvm-svn: 86904
2009-11-12 00:03:40 +00:00
..
ackermann.cpp Fix comment, and reduce computational expense of this test. 2009-07-11 22:44:48 +00:00
ambiguous-ovl-print.cpp When printing an overload candidate that is a function template specialization, 2009-09-15 20:11:42 +00:00
canonical-expr-type-0x.cpp Update for LLVM API change. 2009-07-31 20:28:54 +00:00
canonical-expr-type.cpp Make canonicalization of overloaded function declarations match the 2009-07-31 16:07:31 +00:00
class-template-ctor-initializer.cpp Patch to implement template types in ctor-initializer list. 2009-07-01 19:21:19 +00:00
class-template-decl.cpp Be a little more careful when trying to extract a TypeDecl from a enum/class/struct/union specifier; in invalid code, we may also see ClassTemplateDecls. 2009-11-05 20:54:04 +00:00
class-template-id-2.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
class-template-id.cpp Fix parsing of template classes prefixed by nested-name-specifiers 2009-03-25 15:40:00 +00:00
class-template-spec.cpp Only set the point of instantiation for an implicit or explicit 2009-10-27 06:26:26 +00:00
constructor-template.cpp Introduce a new class, UnqualifiedId, that provides a parsed 2009-11-03 01:35:08 +00:00
copy-ctor-assign.cpp When looking for a copy-assignment operator to determine the cv-qualifiers on its argument type, ignore assignment operator templates 2009-10-30 22:48:49 +00:00
current-instantiation.cpp What luck! Clang obtains support for refering to members of the 2009-07-30 17:50:56 +00:00
deduction.cpp Template argument deduction for template template parameters. This 2009-11-11 23:06:43 +00:00
default-arguments.cpp Remove an overly-eager assertion when replacing tokens with an 2009-11-12 00:03:40 +00:00
default-expr-arguments.cpp Make sure that we instantiate default function arguments for an 2009-11-09 19:27:57 +00:00
dependent-base-member-init.cpp When we know that we are parsing a class-name, implicitly construct a 2009-08-26 18:27:52 +00:00
dependent-names.cpp Fix PR4365. 2009-06-12 18:53:02 +00:00
dependent-type-identity.cpp Improve support for out-of-line definitions of nested templates and 2009-08-25 22:51:20 +00:00
destructor-template.cpp Skip over bases/fields with dependent types. 2009-08-25 16:37:49 +00:00
enum-argument.cpp Make sure that EnumConstantDecls always get a type, even when they have type-dependent initializers. 2009-11-06 00:03:12 +00:00
example-dynarray.cpp Fixed for running on Windows. 2009-11-04 21:52:17 +00:00
example-typelist.cpp Example metaprogram for reversing and searching in a type list 2009-06-09 21:22:32 +00:00
explicit-instantiation.cpp Additional semantic checking for explicit template instantiations, 2009-10-14 23:41:34 +00:00
explicit-specialization-member.cpp When entering the scope of a declarator, make sure that the scope is 2009-09-24 23:39:01 +00:00
ext-vector-type.cpp Rebuild dependently-sized ext vectors if either the element type or the size 2009-10-23 17:55:45 +00:00
extern-templates.cpp Make the remaining explicit-instantiation semantic action use 2009-10-15 22:53:21 +00:00
fibonacci.cpp The injected-class-name of class templates and class template 2009-03-26 00:10:35 +00:00
friend-template.cpp When a friend is declared in a dependent context, don't even try to 2009-10-30 22:42:42 +00:00
friend.cpp Simplify the handling of non-dependent friend class template 2009-09-26 20:57:03 +00:00
fun-template-def.cpp When type-checking a C++ "new" expression, don't type-check the actual 2009-10-17 21:40:42 +00:00
function-template-specialization.cpp Use explicitly-specified template argument lists to help naming 2009-09-25 23:53:26 +00:00
implicit-instantiation-1.cpp Update for LLVM API change. 2009-07-27 21:00:51 +00:00
injected-class-name.cpp Use the new statement/expression profiling code to unique dependent 2009-07-29 16:09:57 +00:00
instantiate-anonymous-union.cpp Don't assume that a base is always a RecordType, it can also be a TemplateSpecializationType. Also, make sure to get the instantiated union member. 2009-09-01 06:22:14 +00:00
instantiate-array.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
instantiate-attr.cpp When instantiating a field decl, make sure to clone its attributes. With this change FileCheck no longer crashes when it's run without any arguments. 2009-11-07 06:07:58 +00:00
instantiate-c99.cpp Template instantiation for C99 compound literals 2009-05-21 23:48:18 +00:00
instantiate-call.cpp Template instantiation for call expressions. 2009-05-19 00:38:01 +00:00
instantiate-cast.cpp We may need to instantiate a class template specialization as part of a derived-to-base pointer case 2009-10-29 23:08:22 +00:00
instantiate-clang.cpp Template instantiation for ExtVectorElementExpr. 2009-05-22 23:07:44 +00:00
instantiate-complete.cpp Fixed two places where we needed to force completion of a type 2009-11-05 13:06:35 +00:00
instantiate-decl-init.cpp Don't reprocess non-dependent initializers of non-dependent VarDecls. Fixes PR5426. 2009-11-08 10:16:43 +00:00
instantiate-declref-ice.cpp When determining whether a reference to a static data member is an 2009-11-01 20:32:48 +00:00
instantiate-declref.cpp When performing template instantiation (transformation) of 2009-11-04 07:01:15 +00:00
instantiate-deeply.cpp Don't try to check the initialization of fields with dependent 2009-11-04 17:16:11 +00:00
instantiate-dependent-nested-name.cpp Fix for PR4382: allow instantiating dependent nested name specifiers. 2009-06-13 04:51:30 +00:00
instantiate-enum.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
instantiate-expr-1.cpp When instantiating a UnaryOperator, allow the resulting expression to 2009-11-05 00:51:44 +00:00
instantiate-expr-2.cpp When type-checking a C++ "new" expression, don't type-check the actual 2009-10-17 21:40:42 +00:00
instantiate-expr-3.cpp Template instantiation for ExtVectorElementExpr. 2009-05-22 23:07:44 +00:00
instantiate-expr-4.cpp Template instantiation for qualified declaration reference 2009-05-22 23:47:06 +00:00
instantiate-expr-5.cpp Slight code reorganization to allow instantiating post-inc/dec. 2009-07-22 22:25:00 +00:00
instantiate-expr-basic.cpp Test case for previous commit. Explicit instantiation does the trick. (Thanks, Anders.) 2009-05-16 18:59:35 +00:00
instantiate-field.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
instantiate-friend-class.cpp Fix for PR4794 (instantiating friend class decl); this version shouldn't 2009-08-27 19:11:42 +00:00
instantiate-function-1.cpp Fix type of 'this' and add a decltype test. 2009-07-10 21:35:09 +00:00
instantiate-function-1.mm Switch XFAIL format to match LLVM. 2009-11-03 07:25:45 +00:00
instantiate-function-2.cpp Make sure that we use the canonical type for the names of instantiated 2009-05-15 21:18:27 +00:00
instantiate-init.cpp Implement support for C++ direct initializers that involve dependent 2009-08-26 21:14:46 +00:00
instantiate-member-class.cpp Fix notes regarding the instantiation of member classes (and test 'em). 2009-03-25 21:23:52 +00:00
instantiate-member-initializers.cpp Make instantiating initializers for classes with a dependent base type 2009-08-29 22:22:07 +00:00
instantiate-member-pointers.cpp Handle member pointer types with dependent class types (e.g., int 2009-06-09 22:17:39 +00:00
instantiate-member-template.cpp Slightly more testing for instantiation of non-type template parameters in nested templates, for my own sanity's sake 2009-11-09 18:29:00 +00:00
instantiate-method.cpp Within a template, qualified name lookup can refer to a non-dependent type 2009-11-01 17:08:18 +00:00
instantiate-non-type-template-parameter.cpp Implement "incremental" template instantiation for non-type template 2009-10-31 17:21:17 +00:00
instantiate-objc-1.mm Instantiation support for more Obj-C expressions, string literals, @selector and @protocol expressions. 2009-06-07 19:51:47 +00:00
instantiate-static-var.cpp Update for LLVM API change. 2009-07-27 22:29:56 +00:00
instantiate-subscript.cpp Properly instantiate usage of overloaded operator []. Fixes PR5345. 2009-10-29 20:17:01 +00:00
instantiate-template-template-parm.cpp Before checking a template template argument against its corresponding 2009-11-11 19:13:48 +00:00
instantiate-try-catch.cpp Deal with an icky corner case where we were complaining that a catch 2009-05-18 21:08:14 +00:00
instantiate-type.cpp Template instantiation for "typeof" for both types and expressions. 2009-05-26 22:09:24 +00:00
instantiate-typedef.cpp Improve diagnostics when the parser encounters a declarator with an 2009-10-13 23:27:22 +00:00
instantiate-using-decl.cpp Improve instantiation of UnresolvedUsingDecls. 2009-08-29 19:37:28 +00:00
instantiation-backtrace.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
instantiation-default-1.cpp Initial infrastructure for class template partial specialization. Here 2009-05-31 09:31:02 +00:00
instantiation-default-2.cpp Before checking a template template argument against its corresponding 2009-11-11 19:13:48 +00:00
instantiation-default-3.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
instantiation-depth.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
member-access-expr.cpp Make sure to grab CVR qualifiers from the canonical type. ARGH! 2009-11-05 00:07:36 +00:00
member-function-template.cpp Cope with calls to operator() templates. Fixes PR5419. 2009-11-07 17:23:56 +00:00
member-initializers.cpp Don't check member and base initializers if the constructor is dependent. 2009-08-27 05:57:30 +00:00
member-template-access-expr.cpp When starting a C++ member access expression, make sure to compute the 2009-11-04 22:49:18 +00:00
metafun-apply.cpp Implement transformation of template names within the generic tree 2009-08-06 06:41:21 +00:00
nested-linkage.cpp Make the check for the linkage of a template handle the case of nested 2009-07-31 01:43:05 +00:00
nested-name-spec-template.cpp Fix speculative parsing of dependent template names in 2009-11-11 16:39:34 +00:00
nested-template.cpp Before checking a template template argument against its corresponding 2009-11-11 19:13:48 +00:00
operator-function-id-template.cpp Implement support for parsing dependent template-ids that refer to 2009-11-04 00:56:37 +00:00
operator-template.cpp Keep track of more information within the template instantiation stack, e.g., 2009-07-01 22:01:06 +00:00
partial-spec-instantiate.cpp Keep track of the template arguments deduced when matching a class 2009-08-02 23:24:31 +00:00
qualified-id.cpp Parse a C++ scope specifier followed by a "typename" annotation token as a type name within the declaration specifiers. Fixes PR5061. 2009-09-28 07:26:33 +00:00
qualified-names-diag.cpp When overload resolution fails for an overloaded operator, show the 2009-09-30 21:46:01 +00:00
recursive-template-instantiation.cpp When recursively instantiating function templates, keep track of the 2009-06-30 17:20:14 +00:00
temp.cpp Parser::ParseDeclarationOrFunctionDefinition no longer needs to accept 2009-05-12 21:43:46 +00:00
temp_arg.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
temp_arg_nontype.cpp Introduce a new representation for template template 2009-11-11 01:00:40 +00:00
temp_arg_template.cpp Introduce a new representation for template template 2009-11-11 01:00:40 +00:00
temp_arg_type.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
temp_class_order.cpp Implement partial ordering of class template partial specializations 2009-09-15 16:23:51 +00:00
temp_class_spec.cpp Implement partial ordering of class template partial specializations 2009-09-15 16:23:51 +00:00
temp_class_spec_blocks.cpp Deducation and instantiation of block types. 2009-06-12 16:23:10 +00:00
temp_class_spec_neg.cpp Refactor checking of the scope of explicit template specialization 2009-10-07 00:13:32 +00:00
temp_explicit.cpp Additional semantic checking for explicit template instantiations, 2009-10-14 23:41:34 +00:00
temp_explicit_cxx0x.cpp Improve the semantic checking for explicit instantiations of 2009-05-13 18:28:20 +00:00
temp_func_order.cpp Implement partial ordering of function templates when calling a 2009-09-14 23:02:14 +00:00
template-decl-fail.cpp Start propagating template parameter lists to the right places to 2009-06-23 23:11:28 +00:00
template-id-expr.cpp When instantiating a MemberExpr, be sure to instantiate the 2009-11-04 23:20:05 +00:00
template-id-printing.cpp Migrate Sema::ActOnCallExpr to Sema::FixOverloadedFunctionReference, 2009-10-23 22:18:25 +00:00
typename-specifier-2.cpp Create a new PrintingPolicy class, which we pass down through the AST 2009-05-29 20:38:28 +00:00
typename-specifier-3.cpp Move test to be with the other typename tests. 2009-06-11 01:01:02 +00:00
typename-specifier-4.cpp Add a few more typename-specifier tests that involve simple-template-ids in the nested-name-specifier 2009-09-02 13:07:20 +00:00
typename-specifier.cpp Improve diagnostics when the parser encounters a declarator with an 2009-10-13 23:27:22 +00:00
value-dependent-null-pointer-constant.cpp Eliminate &&s in tests. 2009-11-08 01:45:36 +00:00
variadic-class-template-1.cpp A parameter pack must always come last in a class template. 2009-06-12 23:20:15 +00:00
variadic-class-template-2.cpp Make the remaining explicit-instantiation semantic action use 2009-10-15 22:53:21 +00:00
variadic-parse.cpp Parse support for C++0x type parameter packs. 2009-06-12 19:58:00 +00:00
variadic-unsupported.cpp Address more comments from Doug. 2009-06-12 23:09:56 +00:00