clang-1/test/SemaTemplate
Douglas Gregor d1067e5a0a Implement transformation of template names within the generic tree
transform, then use the result for template instantiation. The generic
transformation fixes a few issues:

  - It copes better with template template parameters and member
  templates (when they're implemented). 
  - The logic used to replace template template parameters with their
  arguments is now centralized in TransformDecl, so that it will apply
  for other declaration-instantiation steps.
  - The error-recovery strategy is normalized now, so that any error
  results in a NULL TemplateName.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78292 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06 06:41:21 +00:00
..
ackermann.cpp Fix comment, and reduce computational expense of this test. 2009-07-11 22:44:48 +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 Robustify a bunch of C++-related declaration actions. 2009-06-22 23:20:33 +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 Initial infrastructure for class template partial specialization. Here 2009-05-31 09:31:02 +00:00
current-instantiation.cpp What luck! Clang obtains support for refering to members of the 2009-07-30 17:50:56 +00:00
default-arguments.cpp Add a null check that fixes the crash in PR4362, and make sure to instantiate non-type template arguments. 2009-06-11 16:06:49 +00:00
dependent-base-member-init.cpp Refactor base/member initializers, and construct them correctly in cases 2009-07-29 19:44:27 +00:00
dependent-names.cpp Fix PR4365. 2009-06-12 18:53:02 +00:00
dependent-type-identity.cpp Implement the notions of the "current instantiation" and "unknown 2009-05-11 19:58:34 +00:00
enum-argument.cpp Fix the type of a enum non-type template argument within the instantiation. 2009-05-27 19:21:29 +00:00
example-dynarray.cpp Test template instantiation for member functions of class templates defined 2009-07-22 15:45:39 +00:00
example-typelist.cpp Example metaprogram for reversing and searching in a type list 2009-06-09 21:22:32 +00:00
ext-vector-type.cpp Prep for new warning. 2009-07-22 00:43:08 +00:00
fibonacci.cpp The injected-class-name of class templates and class template 2009-03-26 00:10:35 +00:00
fun-template-def.cpp Template instantiation for C99 designated initializers, because we 2009-05-21 23:17:49 +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-array.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +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 Make functional-style casts emit correct messages, and fix a crash-on-invalid. 2009-07-29 13:50:23 +00:00
instantiate-clang.cpp Template instantiation for ExtVectorElementExpr. 2009-05-22 23:07:44 +00:00
instantiate-complete.cpp Implement explicit instantiations of member classes of class templates, e.g., 2009-05-14 00:28:11 +00:00
instantiate-declref-ice.cpp Make sure to calculate value-dependence correctly when deal with ICEs. 2009-06-11 01:11:20 +00:00
instantiate-declref.cpp Follow-on test case for template instantiation of interesting DeclGroups 2009-05-29 14:26:40 +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 Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
instantiate-expr-2.cpp Introduce basic support for instantiating the definitions of member 2009-05-14 23:26:13 +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-function-1.cpp Fix type of 'this' and add a decltype test. 2009-07-10 21:35:09 +00:00
instantiate-function-1.mm Make having no RUN line a failure. 2009-07-25 12:47:38 +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-member-class.cpp Fix notes regarding the instantiation of member classes (and test 'em). 2009-03-25 21:23:52 +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-method.cpp Template instantiation for conversion functions 2009-03-25 00:34:44 +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 Template instantiation for array subscript expressions. This was far 2009-05-19 00:01:19 +00:00
instantiate-template-template-parm.cpp Implement template instantiation for template names, including both 2009-03-31 18:38:02 +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 Implement explicit instantiations of member classes of class templates, e.g., 2009-05-14 00:28:11 +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 Rename clang to clang-cc. 2009-03-24 02:24:46 +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
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 Make the implicit-int handling error recovery stuff handle C++ 2009-04-14 22:17:06 +00:00
nested-template.cpp Diagnose class members that shadow a template parameter. Fixes 2009-06-17 23:37:01 +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-names-diag.cpp Avoid using the built-in type checker for assignment in C++ when classes are involved. Patch by Vyacheslav Kononenko. 2009-05-21 11:50:50 +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 Use "()" instead of "(void)" when pretty-printing a parameter-less function type for C++. 2009-06-03 02:06:50 +00:00
temp_arg_template.cpp Improved semantic analysis and AST respresentation for function 2009-06-25 22:08:12 +00:00
temp_arg_type.cpp Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
temp_class_spec.cpp Remove an obsolete kludge based on the previous, completely broken handling of function templates 2009-07-29 16:15:53 +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 Re-enable 'test/SemaTemplate/temp_class_spec_neg.cpp', after commenting out the cause of the crash. 2009-07-18 21:18:10 +00:00
temp_explicit.cpp When instantiating the definition of a member function of a class 2009-05-18 17:01:57 +00:00
temp_explicit_cxx0x.cpp Improve the semantic checking for explicit instantiations of 2009-05-13 18:28:20 +00:00
template-decl-fail.cpp Start propagating template parameter lists to the right places to 2009-06-23 23:11:28 +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.cpp Make the implicit-int handling error recovery stuff handle C++ 2009-04-14 22:17:06 +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 More work on type parameter packs. 2009-06-13 02:08:00 +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