X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/84aacf34eae6543be9f0280b2015385f91e5c2c6..b54c578e17e9bcbd74aa30ea75e25e955b9a6205:/keychain/SecureObjectSync/SOSARCDefines.h?ds=inline diff --git a/keychain/SecureObjectSync/SOSARCDefines.h b/keychain/SecureObjectSync/SOSARCDefines.h new file mode 100644 index 00000000..013bbbc8 --- /dev/null +++ b/keychain/SecureObjectSync/SOSARCDefines.h @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2012,2014 Apple Inc. All Rights Reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ + + +#ifndef sec_SOSARCDefines_h +#define sec_SOSARCDefines_h + +#ifndef __has_feature +#define __has_feature(x) 0 +#endif +#ifndef __has_extension +#define __has_extension __has_feature // Compatibility with pre-3.0 compilers. +#endif + +#if __has_feature(objc_arc) && __clang_major__ >= 3 +#define ARC_ENABLED 1 +#endif // __has_feature(objc_arc) + +#if !ARC_ENABLED || !defined(__clang__) || __clang_major__ < 3 + +#ifndef __bridge +#define __bridge +#endif +#ifndef __bridge_retained +#define __bridge_retained +#endif +#ifndef __bridge_transfer +#define __bridge_transfer +#endif +#ifndef __autoreleasing +#define __autoreleasing +#endif +#ifndef __strong +#define __strong +#endif +#ifndef __weak +#define __weak +#endif +#ifndef __unsafe_unretained +#define __unsafe_unretained +#endif + +#endif // __clang_major__ < 3 + +#endif