diff options
author | Douglas Gregor <dgregor@apple.com> | 2010-02-21 18:36:56 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2010-02-21 18:36:56 +0000 |
commit | 90d554ecb30d5282aff54aca2f9b0f3751e83c8c (patch) | |
tree | 5a7fde105ec946945bbd76347cc49828f8340300 /clang/lib/Parse/ParseExpr.cpp | |
parent | 901e717f9295e5d9616777ad2a0c89c86ef5268d (diff) | |
download | bcm5719-llvm-90d554ecb30d5282aff54aca2f9b0f3751e83c8c.tar.gz bcm5719-llvm-90d554ecb30d5282aff54aca2f9b0f3751e83c8c.zip |
Implement support for parsing pseudo-destructor expression with a nested-name-specifier, e.g.,
typedef int Int;
int *p;
p->Int::~Int();
This weakens the invariant that the only types in nested-name-specifiers are tag types (restricted to class types in C++98/03). However, we weaken this invariant as little as possible, accepting arbitrary types in nested-name-specifiers only when we're in a member access expression that looks like a pseudo-destructor expression.
llvm-svn: 96743
Diffstat (limited to 'clang/lib/Parse/ParseExpr.cpp')
-rw-r--r-- | clang/lib/Parse/ParseExpr.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Parse/ParseExpr.cpp b/clang/lib/Parse/ParseExpr.cpp index c763c2c6f65..8105eeb8751 100644 --- a/clang/lib/Parse/ParseExpr.cpp +++ b/clang/lib/Parse/ParseExpr.cpp @@ -1001,7 +1001,7 @@ Parser::ParsePostfixExpressionSuffix(OwningExprResult LHS) { OpLoc, OpKind, ObjectType); if (LHS.isInvalid()) break; - ParseOptionalCXXScopeSpecifier(SS, ObjectType, false); + ParseOptionalCXXScopeSpecifier(SS, ObjectType, false, true); } if (Tok.is(tok::code_completion)) { |