diff options
author | Douglas Gregor <dgregor@apple.com> | 2010-12-15 21:57:59 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2010-12-15 21:57:59 +0000 |
commit | cff163e3cc78277496b30fa40070b46abdc290db (patch) | |
tree | 64b5a13def2d80adb22477ededecd0dedbf900be /lib/Sema/SemaTemplateVariadic.cpp | |
parent | 9ef75899bae6dd9a4be1252ae9cadcb619c170ff (diff) |
Test that all of the relevant types properly compute the "contains
unexpanded parameter pack" bit and that the recursive AST visitor can
then find those unexpanded parameter packs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121899 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaTemplateVariadic.cpp')
-rw-r--r-- | lib/Sema/SemaTemplateVariadic.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/Sema/SemaTemplateVariadic.cpp b/lib/Sema/SemaTemplateVariadic.cpp index 677b14635f..057792914b 100644 --- a/lib/Sema/SemaTemplateVariadic.cpp +++ b/lib/Sema/SemaTemplateVariadic.cpp @@ -103,9 +103,14 @@ namespace { return true; } - /// \brief Suppress traversal of declarations, since they cannot - /// contain unexpanded parameter packs. - bool TraverseDecl(Decl *D) { return true; } + /// \brief Suppress traversal of non-parameter declarations, since + /// they cannot contain unexpanded parameter packs. + bool TraverseDecl(Decl *D) { + if (D && isa<ParmVarDecl>(D)) + return inherited::TraverseDecl(D); + + return true; + } }; } |