1/* 2 * Copyright (c) 2012,2014 Apple Inc. All Rights Reserved. 3 * 4 * @APPLE_LICENSE_HEADER_START@ 5 * 6 * This file contains Original Code and/or Modifications of Original Code 7 * as defined in and that are subject to the Apple Public Source License 8 * Version 2.0 (the 'License'). You may not use this file except in 9 * compliance with the License. Please obtain a copy of the License at 10 * http://www.opensource.apple.com/apsl/ and read it before using this 11 * file. 12 * 13 * The Original Code and all software distributed under the License are 14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 * Please see the License for the specific language governing rights and 19 * limitations under the License. 20 * 21 * @APPLE_LICENSE_HEADER_END@ 22 */ 23 24 25#ifndef sec_SOSARCDefines_h 26#define sec_SOSARCDefines_h 27 28#ifndef __has_feature 29#define __has_feature(x) 0 30#endif 31#ifndef __has_extension 32#define __has_extension __has_feature // Compatibility with pre-3.0 compilers. 33#endif 34 35#if __has_feature(objc_arc) && __clang_major__ >= 3 36#define ARC_ENABLED 1 37#endif // __has_feature(objc_arc) 38 39#if !ARC_ENABLED || !defined(__clang__) || __clang_major__ < 3 40 41#ifndef __bridge 42#define __bridge 43#endif 44#ifndef __bridge_retained 45#define __bridge_retained 46#endif 47#ifndef __bridge_transfer 48#define __bridge_transfer 49#endif 50#ifndef __autoreleasing 51#define __autoreleasing 52#endif 53#ifndef __strong 54#define __strong 55#endif 56#ifndef __weak 57#define __weak 58#endif 59#ifndef __unsafe_unretained 60#define __unsafe_unretained 61#endif 62 63#endif // __clang_major__ < 3 64 65#endif 66