diff options
author | Bob Wilson <bob.wilson@apple.com> | 2013-11-02 23:27:49 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@apple.com> | 2013-11-02 23:27:49 +0000 |
commit | 2c82c3d033c16bf3f6bc3bb4cd9d9a1639742894 (patch) | |
tree | 15536ab190d7f27cc7e30b3b746c3de2213c880c /clang/lib/AST | |
parent | 0f7445b6155e9174d80d82ba00ef8e67f001449b (diff) | |
download | bcm5719-llvm-2c82c3d033c16bf3f6bc3bb4cd9d9a1639742894.tar.gz bcm5719-llvm-2c82c3d033c16bf3f6bc3bb4cd9d9a1639742894.zip |
OS X 10.9+ and iOS 7+ support load/store of big atomic objects.
rdar://13973577
Patch by Fariborz Jahanian.
llvm-svn: 193935
Diffstat (limited to 'clang/lib/AST')
-rw-r--r-- | clang/lib/AST/ASTContext.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp index 2ed345aec8d..6729986c8d5 100644 --- a/clang/lib/AST/ASTContext.cpp +++ b/clang/lib/AST/ASTContext.cpp @@ -8109,6 +8109,10 @@ bool ASTContext::AtomicUsesUnsupportedLibcall(const AtomicExpr *E) const { if (!T.isOSDarwin()) return false; + if (!(T.isiOS() && T.isOSVersionLT(7)) && + !(T.isMacOSX() && T.isOSVersionLT(10, 9))) + return false; + QualType AtomicTy = E->getPtr()->getType()->getPointeeType(); CharUnits sizeChars = getTypeSizeInChars(AtomicTy); uint64_t Size = sizeChars.getQuantity(); |