diff options
author | Chris Lattner <sabre@nondot.org> | 2008-07-31 04:58:58 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2008-07-31 04:58:58 +0000 |
commit | 05d2fb40859bbfc081ab08379452db876545bff6 (patch) | |
tree | af7a18ced0c691c16fdb31fdc3f795d2776991f7 | |
parent | c5004516489c931cf839bdbdde5a76e4074cc888 (diff) |
Fix a regression I introduced in r54107:
http://llvm.org/viewvc/llvm-project?view=rev&revision=54107
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54242 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/CodeGen/CGExpr.cpp | 2 | ||||
-rw-r--r-- | test/CodeGen/functions.c | 8 |
2 files changed, 8 insertions, 2 deletions
diff --git a/lib/CodeGen/CGExpr.cpp b/lib/CodeGen/CGExpr.cpp index b219b7a67d..1fd616c648 100644 --- a/lib/CodeGen/CGExpr.cpp +++ b/lib/CodeGen/CGExpr.cpp @@ -721,7 +721,7 @@ RValue CodeGenFunction::EmitCallExpr(llvm::Value *Callee, QualType FnType, // The callee type will always be a pointer to function type, get the function // type. FnType = FnType->getAsPointerType()->getPointeeType(); - QualType ResultType = cast<FunctionType>(FnType)->getResultType(); + QualType ResultType = FnType->getAsFunctionType()->getResultType(); llvm::SmallVector<llvm::Value*, 16> Args; diff --git a/test/CodeGen/functions.c b/test/CodeGen/functions.c index 09cb9786da..60e2b6c80c 100644 --- a/test/CodeGen/functions.c +++ b/test/CodeGen/functions.c @@ -1,4 +1,4 @@ -// RUN: clang %s -emit-llvm +// RUN: clang %s -emit-llvm -o - int g(); int foo(int i) { @@ -9,3 +9,9 @@ int g(int i) { return g(i); } +// rdar://6110827 +typedef void T(void); +void test3(T f) { + f(); +} + |