summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenFunction.h
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@apple.com>2018-03-10 06:36:08 +0000
committerAkira Hatanaka <ahatanaka@apple.com>2018-03-10 06:36:08 +0000
commitc181b127c0e33ac5bbdab559de0ad1e6383737b1 (patch)
tree9ce6ebc866c0ff47020bcb3b4b37d2af1180794a /clang/lib/CodeGen/CodeGenFunction.h
parentb76ed82b58cba454799456217bc341ce59e83192 (diff)
downloadbcm5719-llvm-c181b127c0e33ac5bbdab559de0ad1e6383737b1.tar.gz
bcm5719-llvm-c181b127c0e33ac5bbdab559de0ad1e6383737b1.zip
[ObjC] Allow declaring __weak pointer fields in C structs in ARC.
This patch uses the infrastructure added in r326307 for enabling non-trivial fields to be declared in C structs to allow __weak fields in C structs in ARC. rdar://problem/33599681 Differential Revision: https://reviews.llvm.org/D44095 llvm-svn: 327206
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.h')
-rw-r--r--clang/lib/CodeGen/CodeGenFunction.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h
index 95d8229c7de..7bb9466ca2f 100644
--- a/clang/lib/CodeGen/CodeGenFunction.h
+++ b/clang/lib/CodeGen/CodeGenFunction.h
@@ -3548,6 +3548,8 @@ public:
llvm::Value *EmitARCLoadWeak(Address addr);
llvm::Value *EmitARCLoadWeakRetained(Address addr);
llvm::Value *EmitARCStoreWeak(Address addr, llvm::Value *value, bool ignored);
+ void emitARCCopyAssignWeak(QualType Ty, Address DstAddr, Address SrcAddr);
+ void emitARCMoveAssignWeak(QualType Ty, Address DstAddr, Address SrcAddr);
void EmitARCCopyWeak(Address dst, Address src);
void EmitARCMoveWeak(Address dst, Address src);
llvm::Value *EmitARCRetainAutorelease(QualType type, llvm::Value *value);
OpenPOWER on IntegriCloud