diff options
author | Douglas Gregor <dgregor@apple.com> | 2010-07-14 23:14:12 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2010-07-14 23:14:12 +0000 |
commit | 5f0e252f635ab98060f6eb8e51babf6767064a8d (patch) | |
tree | e1bb1852ebbd977f2ce1fda248b614880464f970 /clang/lib/Sema/Sema.h | |
parent | 25e72a892019026b06677aa6100065354b6fa451 (diff) | |
download | bcm5719-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.h | 3 |
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, |