summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenFunction.h
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2014-06-03 23:27:44 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2014-06-03 23:27:44 +0000
commit760520bcb78d9b91b3bbf74704d9cb3ba6b5c5b6 (patch)
tree1ff10bb9dab6817ca90dcf831870df27b85a0389 /clang/lib/CodeGen/CodeGenFunction.h
parent08d84943afdce3e73c256e273d2697002303f9f7 (diff)
downloadbcm5719-llvm-760520bcb78d9b91b3bbf74704d9cb3ba6b5c5b6.tar.gz
bcm5719-llvm-760520bcb78d9b91b3bbf74704d9cb3ba6b5c5b6.zip
Add __builtin_operator_new and __builtin_operator_delete, which act like calls
to the normal non-placement ::operator new and ::operator delete, but allow optimizations like new-expressions and delete-expressions do. llvm-svn: 210137
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.h')
-rw-r--r--clang/lib/CodeGen/CodeGenFunction.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h
index d1e63a710bc..b6c58e0ee16 100644
--- a/clang/lib/CodeGen/CodeGenFunction.h
+++ b/clang/lib/CodeGen/CodeGenFunction.h
@@ -1659,6 +1659,9 @@ public:
void EmitDeleteCall(const FunctionDecl *DeleteFD, llvm::Value *Ptr,
QualType DeleteTy);
+ RValue EmitBuiltinNewDeleteCall(const FunctionProtoType *Type,
+ const Expr *Arg, bool IsDelete);
+
llvm::Value* EmitCXXTypeidExpr(const CXXTypeidExpr *E);
llvm::Value *EmitDynamicCast(llvm::Value *V, const CXXDynamicCastExpr *DCE);
llvm::Value* EmitCXXUuidofExpr(const CXXUuidofExpr *E);
@@ -2641,7 +2644,8 @@ public:
void EmitCallArgs(CallArgList &Args, ArrayRef<QualType> ArgTypes,
CallExpr::const_arg_iterator ArgBeg,
- CallExpr::const_arg_iterator ArgEnd, bool ForceColumnInfo);
+ CallExpr::const_arg_iterator ArgEnd,
+ bool ForceColumnInfo = false);
private:
const TargetCodeGenInfo &getTargetHooks() const {
OpenPOWER on IntegriCloud