diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-02-20 18:06:48 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-02-20 18:06:48 +0000 |
commit | c0ef9f59937c3971c48b6fed37cf5bd8985c024b (patch) | |
tree | 5cc83e25acc874fda399923131dd15ef30e2a0f8 /lib/CodeGen/CodeGenFunction.h | |
parent | 67956052ea5fb0cd7f443de96a11f9a0176dc681 (diff) |
Set call attribute for direct calls (i.e. noreturn).
- Remove an unused variant of EmitCallExpr overload.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65130 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CodeGenFunction.h')
-rw-r--r-- | lib/CodeGen/CodeGenFunction.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/CodeGen/CodeGenFunction.h b/lib/CodeGen/CodeGenFunction.h index bc602f3720..7072be8f60 100644 --- a/lib/CodeGen/CodeGenFunction.h +++ b/lib/CodeGen/CodeGenFunction.h @@ -618,18 +618,21 @@ public: /// EmitCall - Generate a call of the given function, expecting the given /// result type, and using the given argument list which specifies both the /// LLVM arguments and the types they were derived from. + /// + /// \param TargetDecl - If given, the decl of the function in a + /// direct call; used to set attributes on the call (noreturn, + /// etc.). RValue EmitCall(const CGFunctionInfo &FnInfo, llvm::Value *Callee, - const CallArgList &Args); + const CallArgList &Args, + const Decl *TargetDecl = 0); RValue EmitCallExpr(const CallExpr *E); - RValue EmitCallExpr(Expr *FnExpr, CallExpr::const_arg_iterator ArgBeg, - CallExpr::const_arg_iterator ArgEnd); - RValue EmitCallExpr(llvm::Value *Callee, QualType FnType, CallExpr::const_arg_iterator ArgBeg, - CallExpr::const_arg_iterator ArgEnd); + CallExpr::const_arg_iterator ArgEnd, + const Decl *TargetDecl = 0); RValue EmitBuiltinExpr(const FunctionDecl *FD, unsigned BuiltinID, const CallExpr *E); |