]> granicus.if.org Git - clang/commit
PR9793: Treat substitution as an instantiation step for the purpose of the
authorRichard Smith <richard-llvm@metafoo.co.uk>
Sun, 8 Jul 2012 02:38:24 +0000 (02:38 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Sun, 8 Jul 2012 02:38:24 +0000 (02:38 +0000)
commitab91ef1dbe524bba3c0147b11dfdd394153c783d
tree8e6d5b141b68afa348ef25365edda4cdf835f5f8
parent3a7bd67c06d83b6fdc1cfe8295d28c5dbc5e07ba
PR9793: Treat substitution as an instantiation step for the purpose of the
-ftemplate-depth limit.  There are various ways to get an infinite (or merely
huge) stack of substitutions with no intervening instantiations. This is also
consistent with gcc's behavior.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159907 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Sema/SemaExpr.cpp
lib/Sema/SemaTemplate.cpp
lib/Sema/SemaTemplateInstantiate.cpp
lib/Sema/SemaTemplateInstantiateDecl.cpp
test/SemaTemplate/instantiation-depth-defarg.cpp [new file with mode: 0644]
test/SemaTemplate/instantiation-depth-subst-2.cpp [new file with mode: 0644]
test/SemaTemplate/instantiation-depth-subst.cpp [new file with mode: 0644]