diff options
| author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2009-06-17 22:50:06 +0000 |
|---|---|---|
| committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2009-06-17 22:50:06 +0000 |
| commit | 3df1978270c98b653879fcad35b6848f565e820c (patch) | |
| tree | 1bd964b7e90f5104d1cb8c8d5a6c4bf5657c5439 /clang/lib/Sema/Sema.h | |
| parent | c4b766bc65927dd1b09c1014287aa5e0325dcb1c (diff) | |
| download | bcm5719-llvm-3df1978270c98b653879fcad35b6848f565e820c.tar.gz bcm5719-llvm-3df1978270c98b653879fcad35b6848f565e820c.zip | |
Implement correct name lookup inside an initializer of a C++ class static data member.
Fixes "test/CXX/basic/basic.lookup/basic.lookup.unqual/p13.cpp" test case.
llvm-svn: 73652
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 bbfab88a3fd..579fe37feb5 100644 --- a/clang/lib/Sema/Sema.h +++ b/clang/lib/Sema/Sema.h @@ -1721,6 +1721,17 @@ public: /// defining scope. virtual void ActOnCXXExitDeclaratorScope(Scope *S, const CXXScopeSpec &SS); + /// ActOnCXXEnterDeclInitializer - Invoked when we are about to parse an + /// initializer for the declaration 'Dcl'. + /// After this method is called, according to [C++ 3.4.1p13], if 'Dcl' is a + /// static data member of class X, names should be looked up in the scope of + /// class X. + virtual void ActOnCXXEnterDeclInitializer(Scope *S, DeclPtrTy Dcl); + + /// ActOnCXXExitDeclInitializer - Invoked after we are finished parsing an + /// initializer for the declaration 'Dcl'. + virtual void ActOnCXXExitDeclInitializer(Scope *S, DeclPtrTy Dcl); + // ParseObjCStringLiteral - Parse Objective-C string literals. virtual ExprResult ParseObjCStringLiteral(SourceLocation *AtLocs, ExprTy **Strings, |

