]> granicus.if.org Git - clang/commit
Implement transformation of template names within the generic tree
authorDouglas Gregor <dgregor@apple.com>
Thu, 6 Aug 2009 06:41:21 +0000 (06:41 +0000)
committerDouglas Gregor <dgregor@apple.com>
Thu, 6 Aug 2009 06:41:21 +0000 (06:41 +0000)
commitd1067e5a0a6e2aee7260c392452df9553034c92b
treecffb06e1a3c70a8e4b2c588da0f7bfa86847e90e
parent38b02b912e1a55c912f603c4369431264d36a381
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
lib/Sema/SemaTemplateInstantiate.cpp
lib/Sema/TreeTransform.h
test/SemaTemplate/metafun-apply.cpp