| /* APPLE LOCAL file radar 4668465 */ |
| /* Test if addition of 'volatile' to object causes bogus error in presence of try-catch. */ |
| /* { dg-options "-fpreprocessed -Wno-long-long" } */ |
| /* { dg-do compile } */ |
| |
| # 1 "VolatileBug.mm" |
| # 1 "<built-in>" |
| # 1 "<command line>" |
| # 1 "VolatileBug.mm" |
| # 1 "/System/Library/Frameworks/Foundation.framework/Headers/NSArray.h" 1 3 |
| |
| |
| |
| |
| # 1 "/System/Library/Frameworks/Foundation.framework/Headers/NSObject.h" 1 3 |
| |
| |
| |
| |
| # 1 "/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h" 1 3 |
| # 50 "/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h" 3 |
| # 1 "/usr/include/objc/objc.h" 1 3 4 |
| # 31 "/usr/include/objc/objc.h" 3 4 |
| # 1 "/usr/include/objc/objc-api.h" 1 3 4 |
| # 28 "/usr/include/objc/objc-api.h" 3 4 |
| # 1 "/usr/include/AvailabilityMacros.h" 1 3 4 |
| # 29 "/usr/include/objc/objc-api.h" 2 3 4 |
| # 32 "/usr/include/objc/objc.h" 2 3 4 |
| # 1 "/usr/include/sys/types.h" 1 3 4 |
| # 67 "/usr/include/sys/types.h" 3 4 |
| # 1 "/usr/include/sys/appleapiopts.h" 1 3 4 |
| # 68 "/usr/include/sys/types.h" 2 3 4 |
| |
| |
| # 1 "/usr/include/sys/cdefs.h" 1 3 4 |
| # 71 "/usr/include/sys/types.h" 2 3 4 |
| |
| |
| # 1 "/usr/include/machine/types.h" 1 3 4 |
| # 32 "/usr/include/machine/types.h" 3 4 |
| # 1 "/usr/include/i386/types.h" 1 3 4 |
| # 65 "/usr/include/i386/types.h" 3 4 |
| # 1 "/usr/include/i386/_types.h" 1 3 4 |
| # 32 "/usr/include/i386/_types.h" 3 4 |
| typedef signed char __int8_t; |
| |
| |
| |
| typedef unsigned char __uint8_t; |
| typedef short __int16_t; |
| typedef unsigned short __uint16_t; |
| typedef int __int32_t; |
| typedef unsigned int __uint32_t; |
| typedef long long __int64_t; |
| typedef unsigned long long __uint64_t; |
| |
| typedef long __darwin_intptr_t; |
| typedef unsigned int __darwin_natural_t; |
| # 65 "/usr/include/i386/_types.h" 3 4 |
| typedef int __darwin_ct_rune_t; |
| |
| |
| |
| |
| |
| typedef union { |
| char __mbstate8[128]; |
| long long _mbstateL; |
| } __mbstate_t; |
| |
| typedef __mbstate_t __darwin_mbstate_t; |
| |
| |
| typedef int __darwin_ptrdiff_t; |
| |
| |
| |
| |
| |
| typedef long unsigned int __darwin_size_t; |
| |
| |
| |
| |
| |
| typedef __builtin_va_list __darwin_va_list; |
| |
| |
| |
| |
| |
| typedef int __darwin_wchar_t; |
| |
| |
| |
| |
| typedef __darwin_wchar_t __darwin_rune_t; |
| |
| |
| typedef int __darwin_wint_t; |
| |
| |
| |
| |
| typedef unsigned long __darwin_clock_t; |
| typedef __uint32_t __darwin_socklen_t; |
| typedef long __darwin_ssize_t; |
| typedef long __darwin_time_t; |
| # 66 "/usr/include/i386/types.h" 2 3 4 |
| |
| |
| |
| |
| |
| |
| |
| typedef signed char int8_t; |
| |
| typedef unsigned char u_int8_t; |
| |
| |
| typedef short int16_t; |
| |
| typedef unsigned short u_int16_t; |
| |
| |
| typedef int int32_t; |
| |
| typedef unsigned int u_int32_t; |
| |
| |
| typedef long long int64_t; |
| |
| typedef unsigned long long u_int64_t; |
| |
| |
| |
| |
| typedef int32_t register_t; |
| |
| |
| |
| |
| typedef __darwin_intptr_t intptr_t; |
| |
| |
| |
| typedef unsigned long int uintptr_t; |
| |
| |
| |
| |
| |
| |
| typedef u_int64_t user_addr_t; |
| typedef u_int64_t user_size_t; |
| typedef int64_t user_ssize_t; |
| typedef int64_t user_long_t; |
| typedef u_int64_t user_ulong_t; |
| typedef int64_t user_time_t; |
| |
| |
| |
| |
| |
| typedef u_int64_t syscall_arg_t; |
| # 33 "/usr/include/machine/types.h" 2 3 4 |
| # 74 "/usr/include/sys/types.h" 2 3 4 |
| # 1 "/usr/include/sys/_types.h" 1 3 4 |
| # 28 "/usr/include/sys/_types.h" 3 4 |
| # 1 "/usr/include/machine/_types.h" 1 3 4 |
| # 29 "/usr/include/sys/_types.h" 2 3 4 |
| # 53 "/usr/include/sys/_types.h" 3 4 |
| struct __darwin_pthread_handler_rec |
| { |
| void (*__routine)(void *); |
| void *__arg; |
| struct __darwin_pthread_handler_rec *__next; |
| }; |
| struct _opaque_pthread_attr_t { long __sig; char __opaque[36]; }; |
| struct _opaque_pthread_cond_t { long __sig; char __opaque[24]; }; |
| struct _opaque_pthread_condattr_t { long __sig; char __opaque[4]; }; |
| struct _opaque_pthread_mutex_t { long __sig; char __opaque[40]; }; |
| struct _opaque_pthread_mutexattr_t { long __sig; char __opaque[8]; }; |
| struct _opaque_pthread_once_t { long __sig; char __opaque[4]; }; |
| struct _opaque_pthread_rwlock_t { long __sig; char __opaque[124]; }; |
| struct _opaque_pthread_rwlockattr_t { long __sig; char __opaque[12]; }; |
| struct _opaque_pthread_t { long __sig; struct __darwin_pthread_handler_rec *__cleanup_stack; char __opaque[596]; }; |
| # 89 "/usr/include/sys/_types.h" 3 4 |
| typedef __int64_t __darwin_blkcnt_t; |
| typedef __int32_t __darwin_blksize_t; |
| typedef __int32_t __darwin_dev_t; |
| typedef unsigned int __darwin_fsblkcnt_t; |
| typedef unsigned int __darwin_fsfilcnt_t; |
| typedef __uint32_t __darwin_gid_t; |
| typedef __uint32_t __darwin_id_t; |
| typedef __uint32_t __darwin_ino_t; |
| typedef __int64_t __darwin_ino64_t; |
| typedef __darwin_natural_t __darwin_mach_port_name_t; |
| typedef __darwin_mach_port_name_t __darwin_mach_port_t; |
| typedef __uint16_t __darwin_mode_t; |
| typedef __int64_t __darwin_off_t; |
| typedef __int32_t __darwin_pid_t; |
| typedef struct _opaque_pthread_attr_t |
| __darwin_pthread_attr_t; |
| typedef struct _opaque_pthread_cond_t |
| __darwin_pthread_cond_t; |
| typedef struct _opaque_pthread_condattr_t |
| __darwin_pthread_condattr_t; |
| typedef unsigned long __darwin_pthread_key_t; |
| typedef struct _opaque_pthread_mutex_t |
| __darwin_pthread_mutex_t; |
| typedef struct _opaque_pthread_mutexattr_t |
| __darwin_pthread_mutexattr_t; |
| typedef struct _opaque_pthread_once_t |
| __darwin_pthread_once_t; |
| typedef struct _opaque_pthread_rwlock_t |
| __darwin_pthread_rwlock_t; |
| typedef struct _opaque_pthread_rwlockattr_t |
| __darwin_pthread_rwlockattr_t; |
| typedef struct _opaque_pthread_t |
| *__darwin_pthread_t; |
| typedef __uint32_t __darwin_sigset_t; |
| typedef __int32_t __darwin_suseconds_t; |
| typedef __uint32_t __darwin_uid_t; |
| typedef __uint32_t __darwin_useconds_t; |
| typedef unsigned char __darwin_uuid_t[16]; |
| # 75 "/usr/include/sys/types.h" 2 3 4 |
| |
| # 1 "/usr/include/machine/endian.h" 1 3 4 |
| # 32 "/usr/include/machine/endian.h" 3 4 |
| # 1 "/usr/include/i386/endian.h" 1 3 4 |
| # 94 "/usr/include/i386/endian.h" 3 4 |
| # 1 "/usr/include/sys/_endian.h" 1 3 4 |
| # 114 "/usr/include/sys/_endian.h" 3 4 |
| # 1 "/usr/include/libkern/_OSByteOrder.h" 1 3 4 |
| # 61 "/usr/include/libkern/_OSByteOrder.h" 3 4 |
| # 1 "/usr/include/libkern/i386/_OSByteOrder.h" 1 3 4 |
| # 39 "/usr/include/libkern/i386/_OSByteOrder.h" 3 4 |
| static inline |
| __uint16_t |
| _OSSwapInt16( |
| __uint16_t _data |
| ) |
| { |
| return ((_data << 8) | (_data >> 8)); |
| } |
| |
| static inline |
| __uint32_t |
| _OSSwapInt32( |
| __uint32_t _data |
| ) |
| { |
| __asm__ ("bswap %0" : "+r" (_data)); |
| return _data; |
| } |
| |
| |
| static inline |
| __uint64_t |
| _OSSwapInt64( |
| __uint64_t _data |
| ) |
| { |
| __asm__ ("bswap %%eax\n\t" |
| "bswap %%edx\n\t" |
| "xchgl %%eax, %%edx" |
| : "+A" (_data)); |
| return _data; |
| } |
| # 62 "/usr/include/libkern/_OSByteOrder.h" 2 3 4 |
| # 115 "/usr/include/sys/_endian.h" 2 3 4 |
| # 95 "/usr/include/i386/endian.h" 2 3 4 |
| # 33 "/usr/include/machine/endian.h" 2 3 4 |
| # 77 "/usr/include/sys/types.h" 2 3 4 |
| |
| |
| typedef unsigned char u_char; |
| typedef unsigned short u_short; |
| typedef unsigned int u_int; |
| |
| typedef unsigned long u_long; |
| |
| |
| typedef unsigned short ushort; |
| typedef unsigned int uint; |
| |
| |
| typedef u_int64_t u_quad_t; |
| typedef int64_t quad_t; |
| typedef quad_t * qaddr_t; |
| |
| typedef char * caddr_t; |
| typedef int32_t daddr_t; |
| |
| |
| typedef __darwin_dev_t dev_t; |
| |
| |
| |
| typedef u_int32_t fixpt_t; |
| |
| |
| typedef __darwin_blkcnt_t blkcnt_t; |
| |
| |
| |
| |
| typedef __darwin_blksize_t blksize_t; |
| |
| |
| |
| |
| typedef __darwin_gid_t gid_t; |
| |
| |
| |
| |
| |
| typedef __uint32_t in_addr_t; |
| |
| |
| |
| |
| typedef __uint16_t in_port_t; |
| |
| |
| |
| typedef __darwin_ino_t ino_t; |
| |
| |
| |
| |
| |
| typedef __darwin_ino64_t ino64_t; |
| |
| |
| |
| |
| |
| |
| typedef __int32_t key_t; |
| |
| |
| |
| typedef __darwin_mode_t mode_t; |
| |
| |
| |
| |
| typedef __uint16_t nlink_t; |
| |
| |
| |
| |
| |
| typedef __darwin_id_t id_t; |
| |
| |
| |
| typedef __darwin_pid_t pid_t; |
| |
| |
| |
| |
| typedef __darwin_off_t off_t; |
| |
| |
| |
| typedef int32_t segsz_t; |
| typedef int32_t swblk_t; |
| |
| |
| typedef __darwin_uid_t uid_t; |
| # 192 "/usr/include/sys/types.h" 3 4 |
| static inline __int32_t major(__uint32_t _x) |
| { |
| return (__int32_t)(((__uint32_t)_x >> 24) & 0xff); |
| } |
| |
| static inline __int32_t minor(__uint32_t _x) |
| { |
| return (__int32_t)((_x) & 0xffffff); |
| } |
| |
| static inline dev_t makedev(__uint32_t _major, __uint32_t _minor) |
| { |
| return (dev_t)(((_major) << 24) | (_minor)); |
| } |
| # 218 "/usr/include/sys/types.h" 3 4 |
| typedef __darwin_clock_t clock_t; |
| |
| |
| |
| |
| |
| |
| typedef __darwin_size_t size_t; |
| |
| |
| |
| |
| typedef __darwin_ssize_t ssize_t; |
| |
| |
| |
| |
| typedef __darwin_time_t time_t; |
| |
| |
| |
| |
| typedef __darwin_useconds_t useconds_t; |
| |
| |
| |
| |
| typedef __darwin_suseconds_t suseconds_t; |
| # 255 "/usr/include/sys/types.h" 3 4 |
| # 1 "/usr/include/sys/_structs.h" 1 3 4 |
| # 193 "/usr/include/sys/_structs.h" 3 4 |
| extern "C" { |
| typedef struct fd_set { |
| __int32_t fds_bits[(((1024) + (((sizeof(__int32_t) * 8)) - 1)) / ((sizeof(__int32_t) * 8)))]; |
| } fd_set; |
| } |
| |
| |
| static inline int |
| __darwin_fd_isset(int _n, struct fd_set *_p) |
| { |
| return (_p->fds_bits[_n/(sizeof(__int32_t) * 8)] & (1<<(_n % (sizeof(__int32_t) * 8)))); |
| } |
| # 256 "/usr/include/sys/types.h" 2 3 4 |
| |
| |
| |
| |
| typedef __int32_t fd_mask; |
| # 313 "/usr/include/sys/types.h" 3 4 |
| typedef __darwin_pthread_attr_t pthread_attr_t; |
| |
| |
| |
| typedef __darwin_pthread_cond_t pthread_cond_t; |
| |
| |
| |
| typedef __darwin_pthread_condattr_t pthread_condattr_t; |
| |
| |
| |
| typedef __darwin_pthread_mutex_t pthread_mutex_t; |
| |
| |
| |
| typedef __darwin_pthread_mutexattr_t pthread_mutexattr_t; |
| |
| |
| |
| typedef __darwin_pthread_once_t pthread_once_t; |
| |
| |
| |
| typedef __darwin_pthread_rwlock_t pthread_rwlock_t; |
| |
| |
| |
| typedef __darwin_pthread_rwlockattr_t pthread_rwlockattr_t; |
| |
| |
| |
| typedef __darwin_pthread_t pthread_t; |
| |
| |
| |
| |
| |
| |
| typedef __darwin_pthread_key_t pthread_key_t; |
| |
| |
| |
| |
| |
| typedef __darwin_fsblkcnt_t fsblkcnt_t; |
| |
| |
| |
| |
| typedef __darwin_fsfilcnt_t fsfilcnt_t; |
| # 33 "/usr/include/objc/objc.h" 2 3 4 |
| |
| |
| typedef struct objc_class *Class; |
| typedef struct objc_object { |
| Class isa; |
| } *id; |
| |
| |
| typedef struct objc_selector *SEL; |
| typedef id (*IMP)(id, SEL, ...); |
| typedef signed char BOOL; |
| # 73 "/usr/include/objc/objc.h" 3 4 |
| typedef int arith_t; |
| typedef unsigned uarith_t; |
| |
| |
| |
| extern "C" BOOL sel_isMapped(SEL sel); |
| extern "C" const char *sel_getName(SEL sel); |
| extern "C" SEL sel_getUid(const char *str); |
| extern "C" SEL sel_registerName(const char *str); |
| extern "C" const char *object_getClassName(id obj); |
| extern "C" void *object_getIndexedIvars(id obj); |
| |
| typedef char *STR; |
| # 51 "/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h" 2 3 |
| # 1 "/usr/lib/gcc/i686-apple-darwin8/4.0.1/include/stdarg.h" 1 3 4 |
| # 43 "/usr/lib/gcc/i686-apple-darwin8/4.0.1/include/stdarg.h" 3 4 |
| typedef __builtin_va_list __gnuc_va_list; |
| # 105 "/usr/lib/gcc/i686-apple-darwin8/4.0.1/include/stdarg.h" 3 4 |
| typedef __gnuc_va_list va_list; |
| # 52 "/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h" 2 3 |
| # 1 "/usr/lib/gcc/i686-apple-darwin8/4.0.1/include/stdint.h" 1 3 4 |
| # 34 "/usr/lib/gcc/i686-apple-darwin8/4.0.1/include/stdint.h" 3 4 |
| typedef unsigned char uint8_t; |
| |
| |
| |
| |
| typedef unsigned short uint16_t; |
| |
| |
| |
| |
| typedef unsigned int uint32_t; |
| |
| |
| |
| |
| typedef unsigned long long uint64_t; |
| |
| |
| |
| typedef int8_t int_least8_t; |
| typedef int16_t int_least16_t; |
| typedef int32_t int_least32_t; |
| typedef int64_t int_least64_t; |
| typedef uint8_t uint_least8_t; |
| typedef uint16_t uint_least16_t; |
| typedef uint32_t uint_least32_t; |
| typedef uint64_t uint_least64_t; |
| |
| |
| |
| typedef int8_t int_fast8_t; |
| typedef int16_t int_fast16_t; |
| typedef int32_t int_fast32_t; |
| typedef int64_t int_fast64_t; |
| typedef uint8_t uint_fast8_t; |
| typedef uint16_t uint_fast16_t; |
| typedef uint32_t uint_fast32_t; |
| typedef uint64_t uint_fast64_t; |
| # 91 "/usr/lib/gcc/i686-apple-darwin8/4.0.1/include/stdint.h" 3 4 |
| typedef long long int intmax_t; |
| # 100 "/usr/lib/gcc/i686-apple-darwin8/4.0.1/include/stdint.h" 3 4 |
| typedef long long unsigned int uintmax_t; |
| # 53 "/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h" 2 3 |
| # 1 "/usr/lib/gcc/i686-apple-darwin8/4.0.1/include/limits.h" 1 3 4 |
| # 11 "/usr/lib/gcc/i686-apple-darwin8/4.0.1/include/limits.h" 3 4 |
| # 1 "/usr/lib/gcc/i686-apple-darwin8/4.0.1/include/syslimits.h" 1 3 4 |
| |
| |
| |
| |
| |
| |
| # 1 "/usr/lib/gcc/i686-apple-darwin8/4.0.1/include/limits.h" 1 3 4 |
| # 122 "/usr/lib/gcc/i686-apple-darwin8/4.0.1/include/limits.h" 3 4 |
| # 1 "/usr/include/limits.h" 1 3 4 |
| # 64 "/usr/include/limits.h" 3 4 |
| # 1 "/usr/include/machine/limits.h" 1 3 4 |
| |
| |
| |
| |
| |
| |
| |
| # 1 "/usr/include/i386/limits.h" 1 3 4 |
| # 40 "/usr/include/i386/limits.h" 3 4 |
| # 1 "/usr/include/i386/_limits.h" 1 3 4 |
| # 41 "/usr/include/i386/limits.h" 2 3 4 |
| # 9 "/usr/include/machine/limits.h" 2 3 4 |
| # 65 "/usr/include/limits.h" 2 3 4 |
| # 1 "/usr/include/sys/syslimits.h" 1 3 4 |
| # 66 "/usr/include/limits.h" 2 3 4 |
| # 123 "/usr/lib/gcc/i686-apple-darwin8/4.0.1/include/limits.h" 2 3 4 |
| # 8 "/usr/lib/gcc/i686-apple-darwin8/4.0.1/include/syslimits.h" 2 3 4 |
| # 12 "/usr/lib/gcc/i686-apple-darwin8/4.0.1/include/limits.h" 2 3 4 |
| # 54 "/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h" 2 3 |
| |
| |
| extern "C" double NSFoundationVersionNumber; |
| # 97 "/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h" 3 |
| typedef int NSInt; |
| typedef unsigned int NSUInt; |
| typedef int NSInteger; |
| typedef unsigned int NSUInteger; |
| # 109 "/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h" 3 |
| @class NSString; |
| |
| extern "C" NSString *NSStringFromSelector(SEL aSelector); |
| extern "C" SEL NSSelectorFromString(NSString *aSelectorName); |
| extern "C" Class NSClassFromString(NSString *aClassName); |
| extern "C" NSString *NSStringFromClass(Class aClass); |
| extern "C" const char *NSGetSizeAndAlignment(const char *typePtr, NSUInteger *sizep, NSUInteger *alignp); |
| |
| extern "C" void NSLog(NSString *format, ...); |
| extern "C" void NSLogv(NSString *format, va_list args); |
| |
| enum _NSComparisonResult {NSOrderedAscending = -1, NSOrderedSame, NSOrderedDescending}; |
| typedef NSInteger NSComparisonResult; |
| |
| enum {NSNotFound = 2147483647L}; |
| # 6 "/System/Library/Frameworks/Foundation.framework/Headers/NSObject.h" 2 3 |
| # 1 "/System/Library/Frameworks/Foundation.framework/Headers/NSZone.h" 1 3 |
| |
| |
| |
| |
| |
| # 1 "/System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h" 1 3 |
| # 39 "/System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h" 3 |
| # 1 "/usr/lib/gcc/i686-apple-darwin8/4.0.1/include/stdbool.h" 1 3 4 |
| # 40 "/System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h" 2 3 |
| # 49 "/System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h" 3 |
| # 1 "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" 1 3 |
| # 20 "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" 3 |
| # 1 "/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/ConditionalMacros.h" 1 3 |
| # 42 "/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/ConditionalMacros.h" 3 |
| # 1 "/usr/include/TargetConditionals.h" 1 3 4 |
| # 43 "/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/ConditionalMacros.h" 2 3 |
| # 21 "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" 2 3 |
| # 33 "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" 3 |
| extern "C" { |
| |
| |
| #pragma pack(push, 2) |
| # 126 "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" 3 |
| typedef unsigned char UInt8; |
| typedef signed char SInt8; |
| typedef unsigned short UInt16; |
| typedef signed short SInt16; |
| |
| |
| |
| |
| |
| typedef unsigned long UInt32; |
| typedef signed long SInt32; |
| # 153 "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" 3 |
| struct wide { |
| UInt32 lo; |
| SInt32 hi; |
| }; |
| typedef struct wide wide; |
| struct UnsignedWide { |
| UInt32 lo; |
| UInt32 hi; |
| }; |
| typedef struct UnsignedWide UnsignedWide; |
| # 184 "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" 3 |
| typedef signed long long SInt64; |
| typedef unsigned long long UInt64; |
| # 204 "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" 3 |
| typedef SInt32 Fixed; |
| typedef Fixed * FixedPtr; |
| typedef SInt32 Fract; |
| typedef Fract * FractPtr; |
| typedef UInt32 UnsignedFixed; |
| typedef UnsignedFixed * UnsignedFixedPtr; |
| typedef short ShortFixed; |
| typedef ShortFixed * ShortFixedPtr; |
| # 231 "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" 3 |
| typedef float Float32; |
| typedef double Float64; |
| struct Float80 { |
| SInt16 exp; |
| UInt16 man[4]; |
| }; |
| typedef struct Float80 Float80; |
| |
| struct Float96 { |
| SInt16 exp[2]; |
| UInt16 man[4]; |
| }; |
| typedef struct Float96 Float96; |
| struct Float32Point { |
| Float32 x; |
| Float32 y; |
| }; |
| typedef struct Float32Point Float32Point; |
| # 259 "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" 3 |
| typedef char * Ptr; |
| typedef Ptr * Handle; |
| typedef long Size; |
| # 289 "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" 3 |
| typedef SInt16 OSErr; |
| typedef SInt32 OSStatus; |
| typedef void * LogicalAddress; |
| typedef const void * ConstLogicalAddress; |
| typedef void * PhysicalAddress; |
| typedef UInt8 * BytePtr; |
| typedef unsigned long ByteCount; |
| typedef unsigned long ByteOffset; |
| typedef SInt32 Duration; |
| typedef UnsignedWide AbsoluteTime; |
| typedef UInt32 OptionBits; |
| typedef unsigned long ItemCount; |
| typedef UInt32 PBVersion; |
| typedef SInt16 ScriptCode; |
| typedef SInt16 LangCode; |
| typedef SInt16 RegionCode; |
| typedef UInt32 FourCharCode; |
| typedef FourCharCode OSType; |
| typedef FourCharCode ResType; |
| typedef OSType * OSTypePtr; |
| typedef ResType * ResTypePtr; |
| # 320 "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" 3 |
| typedef unsigned char Boolean; |
| # 333 "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" 3 |
| typedef long ( * ProcPtr)(); |
| typedef void ( * Register68kProcPtr)(); |
| |
| |
| |
| |
| typedef ProcPtr UniversalProcPtr; |
| |
| |
| typedef ProcPtr * ProcHandle; |
| typedef UniversalProcPtr * UniversalProcHandle; |
| # 358 "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" 3 |
| typedef void * PRefCon; |
| |
| |
| |
| |
| typedef UInt32 URefCon; |
| typedef SInt32 SRefCon; |
| # 388 "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" 3 |
| enum { |
| noErr = 0 |
| }; |
| |
| enum { |
| kNilOptions = 0 |
| }; |
| |
| |
| enum { |
| kVariableLengthArray = 1 |
| }; |
| |
| enum { |
| kUnknownType = 0x3F3F3F3F |
| }; |
| # 457 "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" 3 |
| typedef UInt32 UnicodeScalarValue; |
| typedef UInt32 UTF32Char; |
| typedef UInt16 UniChar; |
| typedef UInt16 UTF16Char; |
| typedef UInt8 UTF8Char; |
| typedef UniChar * UniCharPtr; |
| typedef unsigned long UniCharCount; |
| typedef UniCharCount * UniCharCountPtr; |
| typedef unsigned char Str255[256]; |
| typedef unsigned char Str63[64]; |
| typedef unsigned char Str32[33]; |
| typedef unsigned char Str31[32]; |
| typedef unsigned char Str27[28]; |
| typedef unsigned char Str15[16]; |
| # 479 "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" 3 |
| typedef unsigned char Str32Field[34]; |
| # 489 "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" 3 |
| typedef Str63 StrFileName; |
| typedef unsigned char * StringPtr; |
| typedef StringPtr * StringHandle; |
| typedef const unsigned char * ConstStringPtr; |
| typedef const unsigned char * ConstStr255Param; |
| typedef const unsigned char * ConstStr63Param; |
| typedef const unsigned char * ConstStr32Param; |
| typedef const unsigned char * ConstStr31Param; |
| typedef const unsigned char * ConstStr27Param; |
| typedef const unsigned char * ConstStr15Param; |
| typedef ConstStr63Param ConstStrFileNameParam; |
| |
| inline unsigned char StrLength(ConstStr255Param string) { return (*string); } |
| # 516 "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" 3 |
| struct ProcessSerialNumber { |
| UInt32 highLongOfPSN; |
| UInt32 lowLongOfPSN; |
| }; |
| typedef struct ProcessSerialNumber ProcessSerialNumber; |
| typedef ProcessSerialNumber * ProcessSerialNumberPtr; |
| # 538 "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" 3 |
| struct Point { |
| short v; |
| short h; |
| }; |
| typedef struct Point Point; |
| typedef Point * PointPtr; |
| struct Rect { |
| short top; |
| short left; |
| short bottom; |
| short right; |
| }; |
| typedef struct Rect Rect; |
| typedef Rect * RectPtr; |
| struct FixedPoint { |
| Fixed x; |
| Fixed y; |
| }; |
| typedef struct FixedPoint FixedPoint; |
| struct FixedRect { |
| Fixed left; |
| Fixed top; |
| Fixed right; |
| Fixed bottom; |
| }; |
| typedef struct FixedRect FixedRect; |
| |
| typedef short CharParameter; |
| enum { |
| normal = 0, |
| bold = 1, |
| italic = 2, |
| underline = 4, |
| outline = 8, |
| shadow = 0x10, |
| condense = 0x20, |
| extend = 0x40 |
| }; |
| |
| typedef unsigned char Style; |
| typedef short StyleParameter; |
| typedef Style StyleField; |
| # 594 "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" 3 |
| typedef SInt32 TimeValue; |
| typedef SInt32 TimeScale; |
| typedef wide CompTimeValue; |
| typedef SInt64 TimeValue64; |
| typedef struct TimeBaseRecord* TimeBase; |
| struct TimeRecord { |
| CompTimeValue value; |
| TimeScale scale; |
| TimeBase base; |
| }; |
| typedef struct TimeRecord TimeRecord; |
| # 646 "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" 3 |
| struct NumVersion { |
| |
| UInt8 nonRelRev; |
| UInt8 stage; |
| UInt8 minorAndBugRev; |
| UInt8 majorRev; |
| }; |
| typedef struct NumVersion NumVersion; |
| |
| |
| enum { |
| |
| developStage = 0x20, |
| alphaStage = 0x40, |
| betaStage = 0x60, |
| finalStage = 0x80 |
| }; |
| |
| union NumVersionVariant { |
| |
| NumVersion parts; |
| UInt32 whole; |
| }; |
| typedef union NumVersionVariant NumVersionVariant; |
| typedef NumVersionVariant * NumVersionVariantPtr; |
| typedef NumVersionVariantPtr * NumVersionVariantHandle; |
| struct VersRec { |
| |
| NumVersion numericVersion; |
| short countryCode; |
| Str255 shortVersion; |
| Str255 reserved; |
| }; |
| typedef struct VersRec VersRec; |
| typedef VersRec * VersRecPtr; |
| typedef VersRecPtr * VersRecHndl; |
| |
| |
| |
| |
| |
| typedef UInt8 Byte; |
| typedef SInt8 SignedByte; |
| typedef wide * WidePtr; |
| typedef UnsignedWide * UnsignedWidePtr; |
| typedef Float80 extended80; |
| typedef Float96 extended96; |
| typedef SInt8 VHSelect; |
| # 707 "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" 3 |
| extern void |
| Debugger(void) ; |
| # 719 "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" 3 |
| extern void |
| DebugStr(ConstStr255Param debuggerMsg) ; |
| # 766 "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" 3 |
| extern void |
| SysBreak(void) ; |
| # 778 "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" 3 |
| extern void |
| SysBreakStr(ConstStr255Param debuggerMsg) ; |
| # 790 "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" 3 |
| extern void |
| SysBreakFunc(ConstStr255Param debuggerMsg) ; |
| # 801 "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" 3 |
| #pragma pack(pop) |
| |
| |
| } |
| # 50 "/System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h" 2 3 |
| # 91 "/System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h" 3 |
| extern "C" { |
| # 154 "/System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h" 3 |
| extern double kCFCoreFoundationVersionNumber; |
| # 190 "/System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h" 3 |
| typedef unsigned long CFTypeID; |
| typedef unsigned long CFOptionFlags; |
| typedef unsigned long CFHashCode; |
| typedef signed long CFIndex; |
| |
| |
| typedef const void * CFTypeRef; |
| |
| typedef const struct __CFString * CFStringRef; |
| typedef struct __CFString * CFMutableStringRef; |
| |
| |
| |
| |
| |
| |
| typedef CFTypeRef CFPropertyListRef; |
| |
| |
| enum { |
| kCFCompareLessThan = -1, |
| kCFCompareEqualTo = 0, |
| kCFCompareGreaterThan = 1 |
| }; |
| typedef CFIndex CFComparisonResult; |
| |
| |
| typedef CFComparisonResult (*CFComparatorFunction)(const void *val1, const void *val2, void *context); |
| |
| |
| |
| enum { |
| kCFNotFound = -1 |
| }; |
| |
| |
| |
| typedef struct { |
| CFIndex location; |
| CFIndex length; |
| } CFRange; |
| |
| |
| static __inline__ __attribute__((always_inline)) CFRange CFRangeMake(CFIndex loc, CFIndex len) { |
| CFRange range; |
| range.location = loc; |
| range.length = len; |
| return range; |
| } |
| |
| |
| |
| |
| |
| extern |
| CFRange __CFRangeMake(CFIndex loc, CFIndex len); |
| |
| |
| |
| |
| |
| typedef const struct __CFNull * CFNullRef; |
| |
| extern |
| CFTypeID CFNullGetTypeID(void); |
| |
| extern |
| const CFNullRef kCFNull; |
| # 271 "/System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h" 3 |
| typedef const struct __CFAllocator * CFAllocatorRef; |
| |
| |
| extern |
| const CFAllocatorRef kCFAllocatorDefault; |
| |
| |
| extern |
| const CFAllocatorRef kCFAllocatorSystemDefault; |
| |
| |
| |
| |
| |
| |
| |
| extern |
| const CFAllocatorRef kCFAllocatorMalloc; |
| |
| |
| |
| |
| |
| extern |
| const CFAllocatorRef kCFAllocatorMallocZone ; |
| |
| |
| |
| |
| |
| extern |
| const CFAllocatorRef kCFAllocatorNull; |
| |
| |
| |
| |
| |
| extern |
| const CFAllocatorRef kCFAllocatorUseContext; |
| |
| typedef const void * (*CFAllocatorRetainCallBack)(const void *info); |
| typedef void (*CFAllocatorReleaseCallBack)(const void *info); |
| typedef CFStringRef (*CFAllocatorCopyDescriptionCallBack)(const void *info); |
| typedef void * (*CFAllocatorAllocateCallBack)(CFIndex allocSize, CFOptionFlags hint, void *info); |
| typedef void * (*CFAllocatorReallocateCallBack)(void *ptr, CFIndex newsize, CFOptionFlags hint, void *info); |
| typedef void (*CFAllocatorDeallocateCallBack)(void *ptr, void *info); |
| typedef CFIndex (*CFAllocatorPreferredSizeCallBack)(CFIndex size, CFOptionFlags hint, void *info); |
| typedef struct { |
| CFIndex version; |
| void * info; |
| CFAllocatorRetainCallBack retain; |
| CFAllocatorReleaseCallBack release; |
| CFAllocatorCopyDescriptionCallBack copyDescription; |
| CFAllocatorAllocateCallBack allocate; |
| CFAllocatorReallocateCallBack reallocate; |
| CFAllocatorDeallocateCallBack deallocate; |
| CFAllocatorPreferredSizeCallBack preferredSize; |
| } CFAllocatorContext; |
| |
| extern |
| CFTypeID CFAllocatorGetTypeID(void); |
| # 356 "/System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h" 3 |
| extern |
| void CFAllocatorSetDefault(CFAllocatorRef allocator); |
| |
| extern |
| CFAllocatorRef CFAllocatorGetDefault(void); |
| |
| extern |
| CFAllocatorRef CFAllocatorCreate(CFAllocatorRef allocator, CFAllocatorContext *context); |
| |
| extern |
| void *CFAllocatorAllocate(CFAllocatorRef allocator, CFIndex size, CFOptionFlags hint); |
| |
| extern |
| void *CFAllocatorReallocate(CFAllocatorRef allocator, void *ptr, CFIndex newsize, CFOptionFlags hint); |
| |
| extern |
| void CFAllocatorDeallocate(CFAllocatorRef allocator, void *ptr); |
| |
| extern |
| CFIndex CFAllocatorGetPreferredSizeForSize(CFAllocatorRef allocator, CFIndex size, CFOptionFlags hint); |
| |
| extern |
| void CFAllocatorGetContext(CFAllocatorRef allocator, CFAllocatorContext *context); |
| |
| |
| |
| |
| extern |
| CFTypeID CFGetTypeID(CFTypeRef cf); |
| |
| extern |
| CFStringRef CFCopyTypeIDDescription(CFTypeID type_id); |
| |
| extern |
| CFTypeRef CFRetain(CFTypeRef cf); |
| |
| extern |
| void CFRelease(CFTypeRef cf); |
| |
| extern |
| CFIndex CFGetRetainCount(CFTypeRef cf); |
| |
| extern |
| CFTypeRef CFMakeCollectable(CFTypeRef cf) ; |
| |
| extern |
| Boolean CFEqual(CFTypeRef cf1, CFTypeRef cf2); |
| |
| extern |
| CFHashCode CFHash(CFTypeRef cf); |
| |
| extern |
| CFStringRef CFCopyDescription(CFTypeRef cf); |
| |
| extern |
| CFAllocatorRef CFGetAllocator(CFTypeRef cf); |
| |
| |
| } |
| # 7 "/System/Library/Frameworks/Foundation.framework/Headers/NSZone.h" 2 3 |
| |
| @class NSString; |
| |
| typedef struct _NSZone NSZone; |
| |
| |
| extern "C" NSZone *NSDefaultMallocZone(void); |
| extern "C" NSZone *NSCreateZone(NSUInteger startSize, NSUInteger granularity, BOOL canFree); |
| extern "C" void NSRecycleZone(NSZone *zone); |
| extern "C" void NSSetZoneName(NSZone *zone, NSString *name); |
| extern "C" NSString *NSZoneName(NSZone *zone); |
| extern "C" NSZone *NSZoneFromPointer(void *ptr); |
| |
| extern "C" void *NSZoneMalloc(NSZone *zone, NSUInteger size); |
| extern "C" void *NSZoneCalloc(NSZone *zone, NSUInteger numElems, NSUInteger byteSize); |
| extern "C" void *NSZoneRealloc(NSZone *zone, void *ptr, NSUInteger size); |
| extern "C" void NSZoneFree(NSZone *zone, void *ptr); |
| # 32 "/System/Library/Frameworks/Foundation.framework/Headers/NSZone.h" 3 |
| enum { |
| NSScannedOption = (1<<0), |
| NSCollectorDisabledOption = (1<<1), |
| }; |
| |
| |
| extern "C" void * NSAllocateCollectable(NSUInteger size, NSUInteger options) ; |
| extern "C" void * NSReallocateCollectable(void *ptr, NSUInteger size, NSUInteger options) ; |
| # 48 "/System/Library/Frameworks/Foundation.framework/Headers/NSZone.h" 3 |
| static __inline__ __attribute__((always_inline)) id NSMakeCollectable(CFTypeRef cf) { |
| return (id) (cf != __null ? CFMakeCollectable(cf) : __null); |
| } |
| |
| |
| extern "C" NSUInteger NSPageSize(void); |
| extern "C" NSUInteger NSLogPageSize(void); |
| extern "C" NSUInteger NSRoundUpToMultipleOfPageSize(NSUInteger bytes); |
| extern "C" NSUInteger NSRoundDownToMultipleOfPageSize(NSUInteger bytes); |
| extern "C" void *NSAllocateMemoryPages(NSUInteger bytes); |
| extern "C" void NSDeallocateMemoryPages(void *ptr, NSUInteger bytes); |
| extern "C" void NSCopyMemoryPages(const void *source, void *dest, NSUInteger bytes); |
| extern "C" NSUInteger NSRealMemoryAvailable(void); |
| # 7 "/System/Library/Frameworks/Foundation.framework/Headers/NSObject.h" 2 3 |
| |
| @class NSInvocation, NSMethodSignature, NSCoder, NSString, NSEnumerator; |
| @class Protocol; |
| |
| |
| |
| @protocol NSObject |
| |
| - (BOOL)isEqual:(id)object; |
| - (NSUInteger)hash; |
| |
| - (Class)superclass; |
| - (Class)class; |
| - (id)self; |
| - (NSZone *)zone; |
| |
| - (id)performSelector:(SEL)aSelector; |
| - (id)performSelector:(SEL)aSelector withObject:(id)object; |
| - (id)performSelector:(SEL)aSelector withObject:(id)object1 withObject:(id)object2; |
| |
| - (BOOL)isProxy; |
| |
| - (BOOL)isKindOfClass:(Class)aClass; |
| - (BOOL)isMemberOfClass:(Class)aClass; |
| - (BOOL)conformsToProtocol:(Protocol *)aProtocol; |
| |
| - (BOOL)respondsToSelector:(SEL)aSelector; |
| |
| - (id)retain; |
| - (oneway void)release; |
| - (id)autorelease; |
| - (NSUInteger)retainCount; |
| |
| - (NSString *)description; |
| |
| @end |
| |
| @protocol NSCopying |
| |
| - (id)copyWithZone:(NSZone *)zone; |
| |
| @end |
| |
| @protocol NSMutableCopying |
| |
| - (id)mutableCopyWithZone:(NSZone *)zone; |
| |
| @end |
| |
| @protocol NSCoding |
| |
| - (void)encodeWithCoder:(NSCoder *)aCoder; |
| - (id)initWithCoder:(NSCoder *)aDecoder; |
| |
| @end |
| |
| |
| |
| @interface NSObject <NSObject> { |
| Class isa; |
| } |
| |
| + (void)load; |
| |
| + (void)initialize; |
| - (id)init; |
| |
| + (id)new; |
| + (id)allocWithZone:(NSZone *)zone; |
| + (id)alloc; |
| - (void)dealloc; |
| |
| |
| - (void)finalize; |
| |
| |
| - (id)copy; |
| - (id)mutableCopy; |
| |
| + (id)copyWithZone:(NSZone *)zone; |
| + (id)mutableCopyWithZone:(NSZone *)zone; |
| |
| + (Class)superclass; |
| + (Class)class; |
| + (void)poseAsClass:(Class)aClass; |
| + (BOOL)instancesRespondToSelector:(SEL)aSelector; |
| + (BOOL)conformsToProtocol:(Protocol *)protocol; |
| - (IMP)methodForSelector:(SEL)aSelector; |
| + (IMP)instanceMethodForSelector:(SEL)aSelector; |
| + (NSInteger)version; |
| + (void)setVersion:(NSInteger)aVersion; |
| - (void)doesNotRecognizeSelector:(SEL)aSelector; |
| - (void)forwardInvocation:(NSInvocation *)anInvocation; |
| - (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector; |
| |
| + (NSMethodSignature *)instanceMethodSignatureForSelector:(SEL)aSelector; |
| |
| |
| + (BOOL)isSubclassOfClass:(Class)aClass; |
| |
| |
| + (NSString *)description; |
| |
| - (Class)classForCoder; |
| - (id)replacementObjectForCoder:(NSCoder *)aCoder; |
| - (id)awakeAfterUsingCoder:(NSCoder *)aDecoder; |
| |
| @end |
| |
| |
| |
| extern "C" id NSAllocateObject(Class aClass, NSUInteger extraBytes, NSZone *zone); |
| |
| extern "C" void NSDeallocateObject(id object); |
| |
| extern "C" id NSCopyObject(id object, NSUInteger extraBytes, NSZone *zone); |
| |
| extern "C" BOOL NSShouldRetainWithZone(id anObject, NSZone *requestedZone); |
| |
| extern "C" void NSIncrementExtraRefCount(id object); |
| |
| extern "C" BOOL NSDecrementExtraRefCountWasZero(id object); |
| |
| extern "C" NSUInteger NSExtraRefCount(id object); |
| # 6 "/System/Library/Frameworks/Foundation.framework/Headers/NSArray.h" 2 3 |
| # 1 "/System/Library/Frameworks/Foundation.framework/Headers/NSRange.h" 1 3 |
| |
| |
| |
| |
| # 1 "/System/Library/Frameworks/Foundation.framework/Headers/NSValue.h" 1 3 |
| |
| |
| |
| |
| |
| |
| @class NSString, NSDictionary; |
| |
| @interface NSValue : NSObject <NSCopying, NSCoding> |
| |
| - (void)getValue:(void *)value; |
| - (const char *)objCType; |
| |
| @end |
| |
| @interface NSValue (NSValueCreation) |
| |
| - (id)initWithBytes:(const void *)value objCType:(const char *)type; |
| + (NSValue *)valueWithBytes:(const void *)value objCType:(const char *)type; |
| + (NSValue *)value:(const void *)value withObjCType:(const char *)type; |
| |
| @end |
| |
| @interface NSValue (NSValueExtensionMethods) |
| |
| + (NSValue *)valueWithNonretainedObject:(id)anObject; |
| - (id)nonretainedObjectValue; |
| |
| + (NSValue *)valueWithPointer:(const void *)pointer; |
| - (void *)pointerValue; |
| |
| - (BOOL)isEqualToValue:(NSValue *)value; |
| |
| @end |
| |
| @interface NSNumber : NSValue |
| |
| - (char)charValue; |
| - (unsigned char)unsignedCharValue; |
| - (short)shortValue; |
| - (unsigned short)unsignedShortValue; |
| - (int)intValue; |
| - (unsigned int)unsignedIntValue; |
| - (long)longValue; |
| - (unsigned long)unsignedLongValue; |
| - (long long)longLongValue; |
| - (unsigned long long)unsignedLongLongValue; |
| - (float)floatValue; |
| - (double)doubleValue; |
| - (BOOL)boolValue; |
| |
| - (NSInteger)integerValue; |
| - (NSUInteger)unsignedIntegerValue; |
| |
| |
| - (NSString *)stringValue; |
| |
| - (NSComparisonResult)compare:(NSNumber *)otherNumber; |
| |
| - (BOOL)isEqualToNumber:(NSNumber *)number; |
| |
| - (NSString *)descriptionWithLocale:(NSDictionary *)locale; |
| |
| @end |
| |
| @interface NSNumber (NSNumberCreation) |
| |
| - (id)initWithChar:(char)value; |
| - (id)initWithUnsignedChar:(unsigned char)value; |
| - (id)initWithShort:(short)value; |
| - (id)initWithUnsignedShort:(unsigned short)value; |
| - (id)initWithInt:(int)value; |
| - (id)initWithUnsignedInt:(unsigned int)value; |
| - (id)initWithLong:(long)value; |
| - (id)initWithUnsignedLong:(unsigned long)value; |
| - (id)initWithLongLong:(long long)value; |
| - (id)initWithUnsignedLongLong:(unsigned long long)value; |
| - (id)initWithFloat:(float)value; |
| - (id)initWithDouble:(double)value; |
| - (id)initWithBool:(BOOL)value; |
| |
| - (id)initWithInteger:(NSInteger)value; |
| - (id)initWithUnsignedInteger:(NSUInteger)value; |
| |
| |
| + (NSNumber *)numberWithChar:(char)value; |
| + (NSNumber *)numberWithUnsignedChar:(unsigned char)value; |
| + (NSNumber *)numberWithShort:(short)value; |
| + (NSNumber *)numberWithUnsignedShort:(unsigned short)value; |
| + (NSNumber *)numberWithInt:(int)value; |
| + (NSNumber *)numberWithUnsignedInt:(unsigned int)value; |
| + (NSNumber *)numberWithLong:(long)value; |
| + (NSNumber *)numberWithUnsignedLong:(unsigned long)value; |
| + (NSNumber *)numberWithLongLong:(long long)value; |
| + (NSNumber *)numberWithUnsignedLongLong:(unsigned long long)value; |
| + (NSNumber *)numberWithFloat:(float)value; |
| + (NSNumber *)numberWithDouble:(double)value; |
| + (NSNumber *)numberWithBool:(BOOL)value; |
| |
| + (NSNumber *)numberWithInteger:(NSInteger)value; |
| + (NSNumber *)numberWithUnsignedInteger:(NSUInteger)value; |
| |
| |
| @end |
| # 6 "/System/Library/Frameworks/Foundation.framework/Headers/NSRange.h" 2 3 |
| |
| |
| @class NSString; |
| |
| typedef struct _NSRange { |
| NSUInteger location; |
| NSUInteger length; |
| } NSRange; |
| |
| typedef NSRange *NSRangePointer; |
| |
| static __inline__ __attribute__((always_inline)) NSRange NSMakeRange(NSUInteger loc, NSUInteger len) { |
| NSRange r; |
| r.location = loc; |
| r.length = len; |
| return r; |
| } |
| |
| static __inline__ __attribute__((always_inline)) NSUInteger NSMaxRange(NSRange range) { |
| return (range.location + range.length); |
| } |
| |
| static __inline__ __attribute__((always_inline)) BOOL NSLocationInRange(NSUInteger loc, NSRange range) { |
| return (loc - range.location < range.length); |
| } |
| |
| static __inline__ __attribute__((always_inline)) BOOL NSEqualRanges(NSRange range1, NSRange range2) { |
| return (range1.location == range2.location && range1.length == range2.length); |
| } |
| |
| extern "C" NSRange NSUnionRange(NSRange range1, NSRange range2); |
| extern "C" NSRange NSIntersectionRange(NSRange range1, NSRange range2); |
| extern "C" NSString *NSStringFromRange(NSRange range); |
| extern "C" NSRange NSRangeFromString(NSString *aString); |
| |
| @interface NSValue (NSValueRangeExtensions) |
| |
| + (NSValue *)valueWithRange:(NSRange)range; |
| - (NSRange)rangeValue; |
| |
| @end |
| # 7 "/System/Library/Frameworks/Foundation.framework/Headers/NSArray.h" 2 3 |
| |
| @class NSData, NSDictionary, NSEnumerator, NSIndexSet, NSString, NSURL; |
| @protocol NSFastEnumeration; |
| |
| |
| |
| @interface NSArray : NSObject <NSCopying, NSMutableCopying, NSCoding, NSFastEnumeration> |
| |
| - (NSUInteger)count; |
| - (id)objectAtIndex:(NSUInteger)index; |
| |
| @end |
| |
| @interface NSArray (NSExtendedArray) |
| |
| - (NSArray *)arrayByAddingObject:(id)anObject; |
| - (NSArray *)arrayByAddingObjectsFromArray:(NSArray *)otherArray; |
| - (NSString *)componentsJoinedByString:(NSString *)separator; |
| - (BOOL)containsObject:(id)anObject; |
| - (NSString *)description; |
| - (NSString *)descriptionWithLocale:(NSDictionary *)locale; |
| - (NSString *)descriptionWithLocale:(NSDictionary *)locale indent:(NSUInteger)level; |
| - (id)firstObjectCommonWithArray:(NSArray *)otherArray; |
| - (void)getObjects:(id *)objects; |
| - (void)getObjects:(id *)objects range:(NSRange)range; |
| - (NSUInteger)indexOfObject:(id)anObject; |
| - (NSUInteger)indexOfObject:(id)anObject inRange:(NSRange)range; |
| - (NSUInteger)indexOfObjectIdenticalTo:(id)anObject; |
| - (NSUInteger)indexOfObjectIdenticalTo:(id)anObject inRange:(NSRange)range; |
| - (BOOL)isEqualToArray:(NSArray *)otherArray; |
| - (id)lastObject; |
| - (NSEnumerator *)objectEnumerator; |
| - (NSEnumerator *)reverseObjectEnumerator; |
| - (NSData *)sortedArrayHint; |
| - (NSArray *)sortedArrayUsingFunction:(NSInteger (*)(id, id, void *))comparator context:(void *)context; |
| - (NSArray *)sortedArrayUsingFunction:(NSInteger (*)(id, id, void *))comparator context:(void *)context hint:(NSData *)hint; |
| - (NSArray *)sortedArrayUsingSelector:(SEL)comparator; |
| - (NSArray *)subarrayWithRange:(NSRange)range; |
| - (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile; |
| - (BOOL)writeToURL:(NSURL *)url atomically:(BOOL)atomically; |
| |
| - (void)makeObjectsPerformSelector:(SEL)aSelector; |
| - (void)makeObjectsPerformSelector:(SEL)aSelector withObject:(id)argument; |
| |
| |
| - (NSArray *)objectsAtIndexes:(NSIndexSet *)indexes; |
| |
| |
| @end |
| |
| @interface NSArray (NSArrayCreation) |
| |
| + (id)array; |
| + (id)arrayWithContentsOfFile:(NSString *)path; |
| + (id)arrayWithContentsOfURL:(NSURL *)url; |
| + (id)arrayWithObject:(id)anObject; |
| + (id)arrayWithObjects:(id)firstObj, ...; |
| - (id)initWithArray:(NSArray *)array; |
| |
| - (id)initWithArray:(NSArray *)array copyItems:(BOOL)flag; |
| |
| - (id)initWithContentsOfFile:(NSString *)path; |
| - (id)initWithContentsOfURL:(NSURL *)url; |
| - (id)initWithObjects:(id *)objects count:(NSUInteger)count; |
| - (id)initWithObjects:(id)firstObj, ...; |
| |
| + (id)arrayWithArray:(NSArray *)array; |
| + (id)arrayWithObjects:(id *)objs count:(NSUInteger)cnt; |
| |
| @end |
| |
| |
| |
| @interface NSMutableArray : NSArray |
| |
| - (void)addObject:(id)anObject; |
| - (void)insertObject:(id)anObject atIndex:(NSUInteger)index; |
| - (void)removeLastObject; |
| - (void)removeObjectAtIndex:(NSUInteger)index; |
| - (void)replaceObjectAtIndex:(NSUInteger)index withObject:(id)anObject; |
| |
| @end |
| |
| @interface NSMutableArray (NSExtendedMutableArray) |
| |
| - (void)addObjectsFromArray:(NSArray *)otherArray; |
| - (void)exchangeObjectAtIndex:(NSUInteger)idx1 withObjectAtIndex:(NSUInteger)idx2; |
| - (void)removeAllObjects; |
| - (void)removeObject:(id)anObject inRange:(NSRange)range; |
| - (void)removeObject:(id)anObject; |
| - (void)removeObjectIdenticalTo:(id)anObject inRange:(NSRange)range; |
| - (void)removeObjectIdenticalTo:(id)anObject; |
| - (void)removeObjectsFromIndices:(NSUInteger *)indices numIndices:(NSUInteger)count; |
| - (void)removeObjectsInArray:(NSArray *)otherArray; |
| - (void)removeObjectsInRange:(NSRange)range; |
| - (void)replaceObjectsInRange:(NSRange)range withObjectsFromArray:(NSArray *)otherArray range:(NSRange)otherRange; |
| - (void)replaceObjectsInRange:(NSRange)range withObjectsFromArray:(NSArray *)otherArray; |
| - (void)setArray:(NSArray *)otherArray; |
| - (void)sortUsingFunction:(NSInteger (*)(id, id, void *))compare context:(void *)context; |
| - (void)sortUsingSelector:(SEL)comparator; |
| |
| |
| - (void)insertObjects:(NSArray *)objects atIndexes:(NSIndexSet *)indexes; |
| - (void)removeObjectsAtIndexes:(NSIndexSet *)indexes; |
| - (void)replaceObjectsAtIndexes:(NSIndexSet *)indexes withObjects:(NSArray *)objects; |
| |
| |
| @end |
| |
| @interface NSMutableArray (NSMutableArrayCreation) |
| |
| + (id)arrayWithCapacity:(NSUInteger)numItems; |
| - (id)initWithCapacity:(NSUInteger)numItems; |
| |
| @end |
| # 2 "VolatileBug.mm" 2 |
| # 1 "/System/Library/Frameworks/Foundation.framework/Headers/NSException.h" 1 3 |
| |
| |
| |
| |
| |
| |
| # 1 "/usr/include/setjmp.h" 1 3 4 |
| # 26 "/usr/include/setjmp.h" 3 4 |
| # 1 "/usr/include/machine/setjmp.h" 1 3 4 |
| # 32 "/usr/include/machine/setjmp.h" 3 4 |
| # 1 "/usr/include/i386/setjmp.h" 1 3 4 |
| # 64 "/usr/include/i386/setjmp.h" 3 4 |
| typedef int jmp_buf[(18)]; |
| typedef int sigjmp_buf[(18) + 1]; |
| |
| |
| |
| |
| extern "C" { |
| int setjmp(jmp_buf); |
| void longjmp(jmp_buf, int); |
| |
| |
| int _setjmp(jmp_buf); |
| void _longjmp(jmp_buf, int); |
| int sigsetjmp(sigjmp_buf, int); |
| void siglongjmp(sigjmp_buf, int); |
| |
| |
| |
| void longjmperror(void); |
| |
| } |
| # 33 "/usr/include/machine/setjmp.h" 2 3 4 |
| # 27 "/usr/include/setjmp.h" 2 3 4 |
| # 8 "/System/Library/Frameworks/Foundation.framework/Headers/NSException.h" 2 3 |
| |
| @class NSString, NSDictionary; |
| |
| |
| |
| extern "C" NSString * const NSGenericException; |
| extern "C" NSString * const NSRangeException; |
| extern "C" NSString * const NSInvalidArgumentException; |
| extern "C" NSString * const NSInternalInconsistencyException; |
| |
| extern "C" NSString * const NSMallocException; |
| |
| extern "C" NSString * const NSObjectInaccessibleException; |
| extern "C" NSString * const NSObjectNotAvailableException; |
| extern "C" NSString * const NSDestinationInvalidException; |
| |
| extern "C" NSString * const NSPortTimeoutException; |
| extern "C" NSString * const NSInvalidSendPortException; |
| extern "C" NSString * const NSInvalidReceivePortException; |
| extern "C" NSString * const NSPortSendException; |
| extern "C" NSString * const NSPortReceiveException; |
| |
| extern "C" NSString * const NSOldStyleException; |
| |
| |
| |
| @interface NSException : NSObject <NSCopying, NSCoding> { |
| @private |
| NSString *name; |
| NSString *reason; |
| NSDictionary *userInfo; |
| void *reserved; |
| } |
| |
| + (NSException *)exceptionWithName:(NSString *)name reason:(NSString *)reason userInfo:(NSDictionary *)userInfo; |
| - (id)initWithName:(NSString *)aName reason:(NSString *)aReason userInfo:(NSDictionary *)aUserInfo; |
| |
| - (NSString *)name; |
| - (NSString *)reason; |
| - (NSDictionary *)userInfo; |
| |
| - (void)raise; |
| |
| @end |
| |
| @interface NSException (NSExceptionRaisingConveniences) |
| |
| + (void)raise:(NSString *)name format:(NSString *)format, ...; |
| + (void)raise:(NSString *)name format:(NSString *)format arguments:(va_list)argList; |
| |
| @end |
| # 68 "/System/Library/Frameworks/Foundation.framework/Headers/NSException.h" 3 |
| typedef void NSUncaughtExceptionHandler(NSException *exception); |
| |
| extern "C" NSUncaughtExceptionHandler *NSGetUncaughtExceptionHandler(void); |
| extern "C" void NSSetUncaughtExceptionHandler(NSUncaughtExceptionHandler *); |
| |
| @class NSAssertionHandler; |
| # 154 "/System/Library/Frameworks/Foundation.framework/Headers/NSException.h" 3 |
| @interface NSAssertionHandler : NSObject { |
| @private |
| void *_reserved; |
| } |
| |
| + (NSAssertionHandler *)currentHandler; |
| |
| - (void)handleFailureInMethod:(SEL)selector object:(id)object file:(NSString *)fileName lineNumber:(NSInteger)line description:(NSString *)format,...; |
| |
| - (void)handleFailureInFunction:(NSString *)functionName file:(NSString *)fileName lineNumber:(NSInteger)line description:(NSString *)format,...; |
| |
| @end |
| # 3 "VolatileBug.mm" 2 |
| # 1 "/usr/include/stdio.h" 1 3 4 |
| # 64 "/usr/include/stdio.h" 3 4 |
| # 1 "/usr/include/_types.h" 1 3 4 |
| # 29 "/usr/include/_types.h" 3 4 |
| typedef int __darwin_nl_item; |
| typedef int __darwin_wctrans_t; |
| |
| |
| |
| typedef unsigned long __darwin_wctype_t; |
| # 65 "/usr/include/stdio.h" 2 3 4 |
| # 87 "/usr/include/stdio.h" 3 4 |
| typedef __darwin_off_t fpos_t; |
| # 98 "/usr/include/stdio.h" 3 4 |
| struct __sbuf { |
| unsigned char *_base; |
| int _size; |
| }; |
| |
| |
| struct __sFILEX; |
| # 132 "/usr/include/stdio.h" 3 4 |
| typedef struct __sFILE { |
| unsigned char *_p; |
| int _r; |
| int _w; |
| short _flags; |
| short _file; |
| struct __sbuf _bf; |
| int _lbfsize; |
| |
| |
| void *_cookie; |
| int (*_close)(void *); |
| int (*_read) (void *, char *, int); |
| fpos_t (*_seek) (void *, fpos_t, int); |
| int (*_write)(void *, const char *, int); |
| |
| |
| struct __sbuf _ub; |
| struct __sFILEX *_extra; |
| int _ur; |
| |
| |
| unsigned char _ubuf[3]; |
| unsigned char _nbuf[1]; |
| |
| |
| struct __sbuf _lb; |
| |
| |
| int _blksize; |
| fpos_t _offset; |
| } FILE; |
| |
| extern "C" { |
| |
| extern FILE *__stdinp; |
| extern FILE *__stdoutp; |
| extern FILE *__stderrp; |
| |
| |
| |
| } |
| # 248 "/usr/include/stdio.h" 3 4 |
| extern "C" { |
| void clearerr(FILE *); |
| int fclose(FILE *); |
| int feof(FILE *); |
| int ferror(FILE *); |
| int fflush(FILE *); |
| int fgetc(FILE *); |
| int fgetpos(FILE * , fpos_t *); |
| char *fgets(char * , int, FILE *); |
| FILE *fopen(const char * , const char * ); |
| int fprintf(FILE * , const char * , ...) ; |
| int fputc(int, FILE *); |
| int fputs(const char * , FILE * ) __asm("_" "fputs" "$UNIX2003"); |
| size_t fread(void * , size_t, size_t, FILE * ); |
| FILE *freopen(const char * , const char * , |
| FILE * ) __asm("_" "freopen" "$UNIX2003"); |
| int fscanf(FILE * , const char * , ...) ; |
| int fseek(FILE *, long, int); |
| int fsetpos(FILE *, const fpos_t *); |
| long ftell(FILE *); |
| size_t fwrite(const void * , size_t, size_t, FILE * ) __asm("_" "fwrite" "$UNIX2003"); |
| int getc(FILE *); |
| int getchar(void); |
| char *gets(char *); |
| |
| extern const int sys_nerr; |
| extern const char *const sys_errlist[]; |
| |
| void perror(const char *); |
| int printf(const char * , ...) ; |
| int putc(int, FILE *); |
| int putchar(int); |
| int puts(const char *); |
| int remove(const char *); |
| int rename (const char *, const char *); |
| void rewind(FILE *); |
| int scanf(const char * , ...) ; |
| void setbuf(FILE * , char * ); |
| int setvbuf(FILE * , char * , int, size_t); |
| int sprintf(char * , const char * , ...) ; |
| int sscanf(const char * , const char * , ...) ; |
| FILE *tmpfile(void); |
| char *tmpnam(char *); |
| int ungetc(int, FILE *); |
| int vfprintf(FILE * , const char * , va_list) ; |
| int vprintf(const char * , va_list) ; |
| int vsprintf(char * , const char * , va_list) ; |
| |
| int asprintf(char **, const char *, ...) ; |
| int vasprintf(char **, const char *, va_list) ; |
| |
| } |
| |
| |
| |
| |
| |
| |
| |
| extern "C" { |
| char *ctermid(char *); |
| |
| char *ctermid_r(char *); |
| |
| FILE *fdopen(int, const char *); |
| |
| char *fgetln(FILE *, size_t *); |
| |
| int fileno(FILE *); |
| void flockfile(FILE *); |
| |
| const char |
| *fmtcheck(const char *, const char *); |
| int fpurge(FILE *); |
| |
| int fseeko(FILE *, off_t, int); |
| off_t ftello(FILE *); |
| int ftrylockfile(FILE *); |
| void funlockfile(FILE *); |
| int getc_unlocked(FILE *); |
| int getchar_unlocked(void); |
| |
| int getw(FILE *); |
| |
| int pclose(FILE *); |
| FILE *popen(const char *, const char *); |
| int putc_unlocked(int, FILE *); |
| int putchar_unlocked(int); |
| |
| int putw(int, FILE *); |
| void setbuffer(FILE *, char *, int); |
| int setlinebuf(FILE *); |
| |
| int snprintf(char * , size_t, const char * , ...) ; |
| char *tempnam(const char *, const char *) __asm("_" "tempnam" "$UNIX2003"); |
| int vfscanf(FILE * , const char * , va_list) ; |
| int vscanf(const char * , va_list) ; |
| int vsnprintf(char * , size_t, const char * , va_list) ; |
| int vsscanf(const char * , const char * , va_list) ; |
| |
| FILE *zopen(const char *, const char *, int); |
| |
| } |
| |
| |
| |
| |
| |
| extern "C" { |
| FILE *funopen(const void *, |
| int (*)(void *, char *, int), |
| int (*)(void *, const char *, int), |
| fpos_t (*)(void *, fpos_t, int), |
| int (*)(void *)); |
| } |
| # 371 "/usr/include/stdio.h" 3 4 |
| extern "C" { |
| int __srget(FILE *); |
| int __svfscanf(FILE *, const char *, va_list) ; |
| int __swbuf(int, FILE *); |
| } |
| |
| |
| |
| |
| |
| |
| |
| static inline int __sputc(int _c, FILE *_p) { |
| if (--_p->_w >= 0 || (_p->_w >= _p->_lbfsize && (char)_c != '\n')) |
| return (*_p->_p++ = _c); |
| else |
| return (__swbuf(_c, _p)); |
| } |
| # 4 "VolatileBug.mm" 2 |
| |
| class CSharedObject { |
| public: |
| CSharedObject* Retain(); |
| void Release(); |
| CSharedObject& operator=(const CSharedObject& other); |
| long CountReferences(); |
| static void LogAllocCount(); |
| protected: |
| CSharedObject(); |
| CSharedObject(const CSharedObject& other); |
| virtual ~CSharedObject(); |
| private: |
| int32_t mRefCount; |
| uint32_t mSignature; |
| public: |
| static void LogNullRef(); |
| }; |
| # 34 "VolatileBug.mm" |
| template <class T> class CSharedObjectRef { |
| public: |
| ~CSharedObjectRef() |
| { |
| if (mObjectPtr != __null) { |
| mObjectPtr->Release(); |
| mObjectPtr = __null; |
| } |
| }; |
| CSharedObjectRef() : mObjectPtr(__null) |
| { |
| }; |
| |
| |
| |
| |
| CSharedObjectRef(const CSharedObjectRef& other) : mObjectPtr(other.mObjectPtr) |
| { |
| if ( mObjectPtr ) |
| mObjectPtr->Retain(); |
| }; |
| |
| |
| |
| explicit CSharedObjectRef(T* other) : mObjectPtr(other) |
| { |
| if ( mObjectPtr ) |
| mObjectPtr->Retain(); |
| }; |
| |
| |
| |
| |
| CSharedObjectRef& operator=(const CSharedObjectRef& other) |
| { |
| if (other.mObjectPtr != mObjectPtr) { |
| |
| |
| |
| if (mObjectPtr != __null ) |
| mObjectPtr->Release(); |
| |
| |
| mObjectPtr = (T*)other.mObjectPtr; |
| |
| if ( mObjectPtr != __null ) |
| mObjectPtr->Retain(); |
| |
| } |
| |
| return *this; |
| } |
| |
| |
| |
| |
| CSharedObjectRef& operator=(const T* other) |
| { |
| if (other != mObjectPtr) { |
| if (mObjectPtr != __null ) |
| mObjectPtr->Release(); |
| |
| mObjectPtr = const_cast<T*>(other); |
| |
| if (mObjectPtr != __null ) |
| mObjectPtr->Retain(); |
| } |
| return *this; |
| } |
| |
| |
| |
| T& operator*() const |
| { |
| if (mObjectPtr == __null) { |
| CSharedObject::LogNullRef(); |
| } |
| |
| return *mObjectPtr; |
| }; |
| |
| T* operator->() const |
| { |
| if (mObjectPtr == __null) { |
| CSharedObject::LogNullRef(); |
| } |
| |
| return mObjectPtr; |
| }; |
| |
| bool operator==(const CSharedObjectRef& other) const |
| { |
| return mObjectPtr == other.mObjectPtr; |
| } |
| |
| bool operator==(const T* other) const |
| { |
| return mObjectPtr == other; |
| } |
| |
| bool operator!=(const CSharedObjectRef& other) const |
| { |
| return mObjectPtr != other.mObjectPtr; |
| } |
| |
| bool operator!=(const T* other) const |
| { |
| return mObjectPtr != other; |
| } |
| |
| bool operator!() const |
| { |
| return !mObjectPtr; |
| } |
| # 160 "VolatileBug.mm" |
| template <class subT> subT* dynamicCast() |
| { |
| subT* result = dynamic_cast<subT*>(mObjectPtr); |
| return result; |
| } |
| |
| const T* getObjectPtr() const |
| { |
| return mObjectPtr; |
| } |
| |
| protected: |
| T* mObjectPtr; |
| }; |
| # 190 "VolatileBug.mm" |
| class MyClass : public CSharedObject |
| { |
| public: |
| MyClass (); |
| virtual ~MyClass (); |
| virtual void setValue (float f); |
| }; |
| |
| class MyClassRef : public CSharedObjectRef<MyClass> { protected: public: MyClassRef() {} MyClassRef( MyClass* assignPtr ) : CSharedObjectRef<MyClass>(assignPtr) {} MyClassRef( const MyClassRef& ref ) : CSharedObjectRef<MyClass>(ref) {} MyClassRef& operator=( MyClass* assignPtr ) { CSharedObjectRef<MyClass>::operator=(assignPtr); return *this; } }; |
| |
| @interface VolatileBug : NSObject |
| - (void) mymethod: (MyClassRef) myobject withParameters: (NSMutableArray *) parameters; |
| @end |
| |
| @implementation VolatileBug |
| - (void) mymethod: (MyClassRef) myobject withParameters: (NSMutableArray *) parameterList; |
| { |
| NSNumber *parameter = [NSNumber numberWithDouble: 0]; |
| |
| @try { |
| [parameterList addObject: parameter]; |
| } @catch (NSException *localException) { |
| printf("could not add parameter to list\n"); |
| } |
| |
| myobject->setValue(0); |
| } |
| |
| @end |