aboutsummaryrefslogtreecommitdiff
path: root/lib/Sema/SemaTemplateVariadic.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-12-15 21:57:59 +0000
committerDouglas Gregor <dgregor@apple.com>2010-12-15 21:57:59 +0000
commitcff163e3cc78277496b30fa40070b46abdc290db (patch)
tree64b5a13def2d80adb22477ededecd0dedbf900be /lib/Sema/SemaTemplateVariadic.cpp
parent9ef75899bae6dd9a4be1252ae9cadcb619c170ff (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.cpp11
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;
+ }
};
}