diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2014-06-03 23:27:44 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2014-06-03 23:27:44 +0000 |
commit | 760520bcb78d9b91b3bbf74704d9cb3ba6b5c5b6 (patch) | |
tree | 1ff10bb9dab6817ca90dcf831870df27b85a0389 /clang/lib/CodeGen/CodeGenFunction.h | |
parent | 08d84943afdce3e73c256e273d2697002303f9f7 (diff) | |
download | bcm5719-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.h | 6 |
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 { |