llvm-project/clang/test/SemaTemplate
Douglas Gregor 463421deb1 Implement the basics of implicit instantiation of class templates, in
response to attempts to diagnose an "incomplete" type. This will force
us to use DiagnoseIncompleteType more regularly (rather than looking at
isIncompleteType), but that's also a good thing.

Implicit instantiation is still very simplistic, and will create a new
definition for the class template specialization (as it should) but it
only actually instantiates the base classes and attaches
those. Actually instantiating class members will follow. 

Also, instantiate the types of non-type template parameters before
checking them,  allowing, e.g., 

  template<typename T, T Value> struct Constant; 
 
to work properly.

llvm-svn: 65924
2009-03-03 04:44:36 +00:00
..
class-template-decl.cpp Fix a long standard problem with clang retaining "too much" sugar 2009-02-19 23:45:49 +00:00
class-template-id-2.cpp Implement the basics of implicit instantiation of class templates, in 2009-03-03 04:44:36 +00:00
class-template-id.cpp Added ClassTemplateSpecializationDecl, which is a subclass of 2009-02-17 01:05:43 +00:00
class-template-spec.cpp Implement the basics of implicit instantiation of class templates, in 2009-03-03 04:44:36 +00:00
default-arguments.cpp Implement parsing of nested-name-specifiers that involve template-ids, e.g., 2009-02-25 19:37:18 +00:00
fun-template-def.cpp Make more AST nodes and semantic checkers dependent-expression-aware. 2009-02-26 14:39:58 +00:00
instantiation-default-1.cpp Template instantiation for function types 2009-02-28 01:04:19 +00:00
instantiation-default-2.cpp Implement the basics of implicit instantiation of class templates, in 2009-03-03 04:44:36 +00:00
nested-name-spec-template.cpp Implement parsing of nested-name-specifiers that involve template-ids, e.g., 2009-02-25 19:37:18 +00:00
right-angle-brackets-0x.cpp Cope with use of the token '>>' inside a template argument list, e.g., 2009-02-25 23:02:36 +00:00
right-angle-brackets-98.cpp Introduce code modification hints into the diagnostics system. When we 2009-02-26 21:00:50 +00:00
temp_arg.cpp Implement parsing of nested-name-specifiers that involve template-ids, e.g., 2009-02-25 19:37:18 +00:00
temp_arg_nontype.cpp Introduce code modification hints into the diagnostics system. When we 2009-02-26 21:00:50 +00:00
temp_arg_template.cpp Implement parsing of nested-name-specifiers that involve template-ids, e.g., 2009-02-25 19:37:18 +00:00
temp_arg_type.cpp Implement parsing of nested-name-specifiers that involve template-ids, e.g., 2009-02-25 19:37:18 +00:00
temp_param.cpp Add partial semantic checking of template arguments that are meant for 2009-02-11 00:19:33 +00:00