summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/Sema.h
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-07-14 23:14:12 +0000
committerDouglas Gregor <dgregor@apple.com>2010-07-14 23:14:12 +0000
commit5f0e252f635ab98060f6eb8e51babf6767064a8d (patch)
treee1bb1852ebbd977f2ce1fda248b614880464f970 /clang/lib/Sema/Sema.h
parent25e72a892019026b06677aa6100065354b6fa451 (diff)
downloadbcm5719-llvm-5f0e252f635ab98060f6eb8e51babf6767064a8d.tar.gz
bcm5719-llvm-5f0e252f635ab98060f6eb8e51babf6767064a8d.zip
When there are extra or missing template parameter lists in a template
definition, we're likely going to end up breaking the invariants of the template system, e.g., that the depths of template parameter lists match up with the nesting template of the template. So, make sure we mark such ill-formed declarations as invalid or don't even build them at all. llvm-svn: 108372
Diffstat (limited to 'clang/lib/Sema/Sema.h')
-rw-r--r--clang/lib/Sema/Sema.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Sema/Sema.h b/clang/lib/Sema/Sema.h
index d902dfea1f1..8336918c134 100644
--- a/clang/lib/Sema/Sema.h
+++ b/clang/lib/Sema/Sema.h
@@ -2956,7 +2956,8 @@ public:
TemplateParameterList **ParamLists,
unsigned NumParamLists,
bool IsFriend,
- bool &IsExplicitSpecialization);
+ bool &IsExplicitSpecialization,
+ bool &Invalid);
DeclResult CheckClassTemplate(Scope *S, unsigned TagSpec, TagUseKind TUK,
SourceLocation KWLoc, CXXScopeSpec &SS,
OpenPOWER on IntegriCloud