diff options
author | Douglas Gregor <dgregor@apple.com> | 2009-10-19 22:04:39 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2009-10-19 22:04:39 +0000 |
commit | dd62b15665a4144c45c1f7c53665414ad5f7f4f2 (patch) | |
tree | 9ae123b6657303a7e459e3c37ffe8ed7bc8fd25d /include/clang/Parse/Action.h | |
parent | fc0622155fa61349698a8fd0053773c37d9f7ac4 (diff) |
Parse a simple-template-id following a '~' when calling a destructor, e.g.,
t->~T<A0, A1>()
Fixes PR5213.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84545 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Parse/Action.h')
-rw-r--r-- | include/clang/Parse/Action.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/include/clang/Parse/Action.h b/include/clang/Parse/Action.h index 1ee14701fa..cefd512aee 100644 --- a/include/clang/Parse/Action.h +++ b/include/clang/Parse/Action.h @@ -1390,6 +1390,34 @@ public: return ExprEmpty(); } + /// \brief Parsed a C++ destructor reference that refers to a type. + /// + /// This action is used when parsing a destructor reference that uses a + /// template-id, e.g., + /// + /// \code + /// t->~Tmpl<T1, T2> + /// \endcode + /// + /// \param S the scope in which the destructor reference occurs. + /// \param Base the base object of the destructor reference expression. + /// \param OpLoc the location of the operator ('.' or '->'). + /// \param OpKind the kind of the destructor reference operator ('.' or '->'). + /// \param TypeRange the source range that covers the destructor type. + /// \param Type the type that is being destroyed. + /// \param SS the scope specifier that precedes the destructor name. + /// \param HasTrailingLParen whether the destructor name is followed by a '('. + virtual OwningExprResult + ActOnDestructorReferenceExpr(Scope *S, ExprArg Base, + SourceLocation OpLoc, + tok::TokenKind OpKind, + SourceRange TypeRange, + TypeTy *Type, + const CXXScopeSpec &SS, + bool HasTrailingLParen) { + return ExprEmpty(); + } + /// ActOnOverloadedOperatorReferenceExpr - Parsed an overloaded operator /// reference, for example: /// |