diff options
Diffstat (limited to 'gnu/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp')
| -rw-r--r-- | gnu/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/gnu/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp b/gnu/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp index b2fb33f5343..3afa95f7d1f 100644 --- a/gnu/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp +++ b/gnu/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp @@ -6712,6 +6712,11 @@ ExprResult Sema::BuildCXXMemberCallExpr(Expr *E, NamedDecl *FoundDecl, CXXMemberCallExpr *CE = new (Context) CXXMemberCallExpr(Context, ME, None, ResultType, VK, Exp.get()->getLocEnd()); + + if (CheckFunctionCall(Method, CE, + Method->getType()->castAs<FunctionProtoType>())) + return ExprError(); + return CE; } @@ -7185,14 +7190,6 @@ public: ExprResult TransformBlockExpr(BlockExpr *E) { return Owned(E); } - ExprResult TransformObjCPropertyRefExpr(ObjCPropertyRefExpr *E) { - return Owned(E); - } - - ExprResult TransformObjCIvarRefExpr(ObjCIvarRefExpr *E) { - return Owned(E); - } - ExprResult Transform(Expr *E) { ExprResult Res; while (true) { |
