diff options
author | Douglas Gregor <dgregor@apple.com> | 2009-11-25 17:50:39 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2009-11-25 17:50:39 +0000 |
commit | ed5731f68a8b0ae2dba24c79bad0730203cb7dba (patch) | |
tree | f6d2112ef40e0e097f0485c20f18131bfcfe6987 /clang/lib/Sema/Sema.h | |
parent | 58bf6e188594ec2f91a1ec0981ca58ac46e6e446 (diff) | |
download | bcm5719-llvm-ed5731f68a8b0ae2dba24c79bad0730203cb7dba.tar.gz bcm5719-llvm-ed5731f68a8b0ae2dba24c79bad0730203cb7dba.zip |
Diagnose ill-formed uses of default template arguments in
function templates (in C++98), friend function templates, and
out-of-line definitions of members of class templates.
Also handles merging of default template arguments from previous
declarations of function templates, for C++0x. However, we don't yet
make use of those default template arguments.
llvm-svn: 89872
Diffstat (limited to 'clang/lib/Sema/Sema.h')
-rw-r--r-- | clang/lib/Sema/Sema.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/clang/lib/Sema/Sema.h b/clang/lib/Sema/Sema.h index 92d809b9c24..8528560555c 100644 --- a/clang/lib/Sema/Sema.h +++ b/clang/lib/Sema/Sema.h @@ -2256,8 +2256,19 @@ public: SourceLocation LAngleLoc, DeclPtrTy *Params, unsigned NumParams, SourceLocation RAngleLoc); + + /// \brief The context in which we are checking a template parameter + /// list. + enum TemplateParamListContext { + TPC_ClassTemplate, + TPC_FunctionTemplate, + TPC_ClassTemplateMember, + TPC_FriendFunctionTemplate + }; + bool CheckTemplateParameterList(TemplateParameterList *NewParams, - TemplateParameterList *OldParams); + TemplateParameterList *OldParams, + TemplateParamListContext TPC); TemplateParameterList * MatchTemplateParametersToScopeSpecifier(SourceLocation DeclStartLoc, const CXXScopeSpec &SS, |