Allow taking the address of data members, resulting in a member pointer.
Pointers to functions don't work yet, and pointers to overloaded functions even less. Also, far too much illegal code is accepted.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63655 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/PrintParserCallbacks.cpp b/Driver/PrintParserCallbacks.cpp
index 9178fcb..90cdf45 100644
--- a/Driver/PrintParserCallbacks.cpp
+++ b/Driver/PrintParserCallbacks.cpp
@@ -447,7 +447,8 @@
virtual OwningExprResult ActOnIdentifierExpr(Scope *S, SourceLocation Loc,
IdentifierInfo &II,
bool HasTrailingLParen,
- const CXXScopeSpec *SS) {
+ const CXXScopeSpec *SS,
+ bool isAddressOfOperand) {
llvm::cout << __FUNCTION__ << "\n";
return ExprEmpty();
}
@@ -455,7 +456,8 @@
virtual OwningExprResult ActOnCXXOperatorFunctionIdExpr(
Scope *S, SourceLocation OperatorLoc,
OverloadedOperatorKind Op,
- bool HasTrailingLParen, const CXXScopeSpec &SS) {
+ bool HasTrailingLParen, const CXXScopeSpec &SS,
+ bool isAddressOfOperand) {
llvm::cout << __FUNCTION__ << "\n";
return ExprEmpty();
}
@@ -463,7 +465,7 @@
virtual OwningExprResult ActOnCXXConversionFunctionExpr(
Scope *S, SourceLocation OperatorLoc,
TypeTy *Type, bool HasTrailingLParen,
- const CXXScopeSpec &SS) {
+ const CXXScopeSpec &SS,bool isAddressOfOperand) {
llvm::cout << __FUNCTION__ << "\n";
return ExprEmpty();
}