summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/Expr.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2011-09-13 23:08:34 +0000
committerJohn McCall <rjmccall@apple.com>2011-09-13 23:08:34 +0000
commite3ca8eb0499bb4ae9ad51ff9e6e4b8074492395a (patch)
tree2964db53647e59a649251afaa710486ca256f6f8 /clang/lib/AST/Expr.cpp
parentfc9c4a730e2b2329603f36e3f3f04e0af9c11568 (diff)
downloadbcm5719-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.cpp2
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)) {
OpenPOWER on IntegriCloud