diff options
| author | Douglas Gregor <dgregor@apple.com> | 2008-12-05 18:15:24 +0000 |
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2008-12-05 18:15:24 +0000 |
| commit | 5101c24f60997b3775624f5c9488ded8e9f3cdf2 (patch) | |
| tree | 2807802cd135f700026aa90f8d842508b2630d5a /clang/lib/Sema/Sema.h | |
| parent | 43c08918389ca2f928a94a4f2a5faa256a10e8e4 (diff) | |
| download | bcm5719-llvm-5101c24f60997b3775624f5c9488ded8e9f3cdf2.tar.gz bcm5719-llvm-5101c24f60997b3775624f5c9488ded8e9f3cdf2.zip | |
Representation of template type parameters and non-type template
parameters, with some semantic analysis:
- Template parameters are introduced into template parameter scope
- Complain about template parameter shadowing (except in Microsoft mode)
Note that we leak template parameter declarations like crazy, a
problem we'll remedy once we actually create proper declarations for
templates.
Next up: dependent types and value-dependent/type-dependent
expressions.
llvm-svn: 60597
Diffstat (limited to 'clang/lib/Sema/Sema.h')
| -rw-r--r-- | clang/lib/Sema/Sema.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/lib/Sema/Sema.h b/clang/lib/Sema/Sema.h index ef150646381..f1d0ee2da01 100644 --- a/clang/lib/Sema/Sema.h +++ b/clang/lib/Sema/Sema.h @@ -988,6 +988,17 @@ public: bool CheckOverloadedOperatorDeclaration(FunctionDecl *FnDecl); + //===--------------------------------------------------------------------===// + // C++ Templates [C++ 14] + // + bool isTemplateParameterDecl(Decl *D); + bool DiagnoseTemplateParameterShadow(SourceLocation Loc, Decl *PrevDecl); + virtual DeclTy *ActOnTypeParameter(Scope *S, bool Typename, + SourceLocation KeyLoc, + IdentifierInfo *ParamName, + SourceLocation ParamNameLoc); + virtual DeclTy *ActOnNonTypeTemplateParameter(Scope *S, Declarator &D); + // Objective-C declarations. virtual DeclTy *ActOnStartClassInterface(SourceLocation AtInterfaceLoc, IdentifierInfo *ClassName, |

