summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/Sema.h
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-11-25 17:50:39 +0000
committerDouglas Gregor <dgregor@apple.com>2009-11-25 17:50:39 +0000
commited5731f68a8b0ae2dba24c79bad0730203cb7dba (patch)
treef6d2112ef40e0e097f0485c20f18131bfcfe6987 /clang/lib/Sema/Sema.h
parent58bf6e188594ec2f91a1ec0981ca58ac46e6e446 (diff)
downloadbcm5719-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.h13
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,
OpenPOWER on IntegriCloud