diff options
author | John McCall <rjmccall@apple.com> | 2011-09-13 23:08:34 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2011-09-13 23:08:34 +0000 |
commit | e3ca8eb0499bb4ae9ad51ff9e6e4b8074492395a (patch) | |
tree | 2964db53647e59a649251afaa710486ca256f6f8 /clang/lib/AST/Expr.cpp | |
parent | fc9c4a730e2b2329603f36e3f3f04e0af9c11568 (diff) | |
download | bcm5719-llvm-e3ca8eb0499bb4ae9ad51ff9e6e4b8074492395a.tar.gz bcm5719-llvm-e3ca8eb0499bb4ae9ad51ff9e6e4b8074492395a.zip |
In general, don't look through explicit casts when trying
to find the called declaration. Explicit casts can radically
change the semantics of a call, and it's no longer really a
builtin call any more than it would be a builtin call if you stored
the function pointer into a variable and called that.
llvm-svn: 139659
Diffstat (limited to 'clang/lib/AST/Expr.cpp')
-rw-r--r-- | clang/lib/AST/Expr.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/AST/Expr.cpp b/clang/lib/AST/Expr.cpp index 1168874a889..8beecc0856c 100644 --- a/clang/lib/AST/Expr.cpp +++ b/clang/lib/AST/Expr.cpp @@ -770,7 +770,7 @@ CallExpr::CallExpr(ASTContext &C, StmtClass SC, unsigned NumPreArgs, } Decl *CallExpr::getCalleeDecl() { - Expr *CEE = getCallee()->IgnoreParenCasts(); + Expr *CEE = getCallee()->IgnoreParenImpCasts(); while (SubstNonTypeTemplateParmExpr *NTTP = dyn_cast<SubstNonTypeTemplateParmExpr>(CEE)) { |