diff --git a/Vendor/CrashReporter.framework/Versions/A/CrashReporter b/Vendor/CrashReporter.framework/Versions/A/CrashReporter index 6262df86c5..3b18fa0571 100644 Binary files a/Vendor/CrashReporter.framework/Versions/A/CrashReporter and b/Vendor/CrashReporter.framework/Versions/A/CrashReporter differ diff --git a/Vendor/CrashReporter.framework/Versions/A/Headers/CrashReporter.h b/Vendor/CrashReporter.framework/Versions/A/Headers/CrashReporter.h index c654319112..26caf3dd62 100644 --- a/Vendor/CrashReporter.framework/Versions/A/Headers/CrashReporter.h +++ b/Vendor/CrashReporter.framework/Versions/A/Headers/CrashReporter.h @@ -95,7 +95,13 @@ typedef enum { PLCrashReporterErrorCrashReportInvalid = 2, /** An attempt to use a resource which was in use at the time in a manner which would have conflicted with the request. */ - PLCrashReporterErrorResourceBusy = 3 + PLCrashReporterErrorResourceBusy = 3, + + /** The requested resource could not be found. */ + PLCRashReporterErrorNotFound = 4, + + /** Allocation failed. */ + PLCRashReporterErrorInsufficientMemory = 4 } PLCrashReporterError; diff --git a/Vendor/CrashReporter.framework/Versions/A/Headers/PLCrashMacros.h b/Vendor/CrashReporter.framework/Versions/A/Headers/PLCrashMacros.h index 6629bc4683..a933f3a8bd 100644 --- a/Vendor/CrashReporter.framework/Versions/A/Headers/PLCrashMacros.h +++ b/Vendor/CrashReporter.framework/Versions/A/Headers/PLCrashMacros.h @@ -52,6 +52,12 @@ # define PLCR_CPP_BEGIN_NS namespace plcrash { # define PLCR_CPP_END_NS } # endif +# + /** @internal Define the plcrash::async namespace, automatically inserting an inline namespace containing the configured PLCRASHREPORTER_PREFIX, if any. */ +# define PLCR_CPP_BEGIN_ASYNC_NS PLCR_CPP_BEGIN_NS namespace async { + + /** @internal Close the definition of the `plcrash::async` namespace (and the PLCRASHREPORTER_PREFIX inline namespace, if any). */ +# define PLCR_CPP_END_ASYNC_NS PLCR_CPP_END_NS } #endif #ifdef __clang__ @@ -60,12 +66,56 @@ # define PLCR_PRAGMA_CLANG(_p) #endif +#ifdef __clang__ +# define PLCR_DEPRECATED __attribute__((deprecated)) +#else +# define PLCR_DEPRECATED +#endif + #if defined(__clang__) || defined(__GNUC__) # define PLCR_UNUSED __attribute__((unused)) #else # define PLCR_UNUSED #endif +#ifdef PLCR_PRIVATE +/** + * Marks a definition as deprecated only for for external clients, allowing + * uses of it internal fo the framework. + */ +#define PLCR_EXTERNAL_DEPRECATED + +/** + * @internal + * A macro to put above a definition marked PLCR_EXTERNAL_DEPRECATED that will + * silence warnings about there being a deprecation documentation marker but the + * definition not being marked deprecated. + */ +# define PLCR_EXTERNAL_DEPRECATED_NOWARN_PUSH() \ + PLCR_PRAGMA_CLANG("clang diagnostic push"); \ + PLCR_PRAGMA_CLANG("clang diagnostic ignored \"-Wdocumentation-deprecated-sync\"") + +/** + * @internal + * A macro to put below a definition marked PLCR_EXTERNAL_DEPRECATED that will + * silence warnings about there being a deprecation documentation marker but the + * definition not being marked deprecated. + */ +# define PLCR_EXTERNAL_DEPRECATED_NOWARN_POP() PLCR_PRAGMA_CLANG("clang diagnostic pop") +#else +# define PLCR_EXTERNAL_DEPRECATED PLCR_DEPRECATED +# define PLCR_EXTERNAL_DEPRECATED_NOWARN_PUSH() +# define PLCR_EXTERNAL_DEPRECATED_NOWARN_PUSH() +#endif /* PLCR_PRIVATE */ + +#ifdef PLCR_PRIVATE +# if defined(__clang__) && __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough") +# define PLCR_FALLTHROUGH [[clang::fallthrough]] +# else +# define PLCR_FALLTHROUGH do {} while (0) +# endif +#endif + #ifdef PLCR_PRIVATE /** * @internal diff --git a/Vendor/CrashReporter.framework/Versions/A/Headers/PLCrashNamespace.h b/Vendor/CrashReporter.framework/Versions/A/Headers/PLCrashNamespace.h index dba0200e5c..b352ca197a 100644 --- a/Vendor/CrashReporter.framework/Versions/A/Headers/PLCrashNamespace.h +++ b/Vendor/CrashReporter.framework/Versions/A/Headers/PLCrashNamespace.h @@ -247,8 +247,8 @@ #define plcrash_nasync_image_list_free PLNS(plcrash_nasync_image_list_free) #define plcrash_nasync_image_list_init PLNS(plcrash_nasync_image_list_init) #define plcrash_nasync_image_list_remove PLNS(plcrash_nasync_image_list_remove) -#define plcrash_nasync_macho_free PLNS(plcrash_nasync_macho_free) -#define plcrash_nasync_macho_init PLNS(plcrash_nasync_macho_init) +#define plcrash_async_macho_free PLNS(plcrash_async_macho_free) +#define plcrash_async_macho_init PLNS(plcrash_async_macho_init) #define plcrash_populate_error PLNS(plcrash_populate_error) #define plcrash_populate_mach_error PLNS(plcrash_populate_mach_error) #define plcrash_populate_posix_error PLNS(plcrash_populate_posix_error) diff --git a/Vendor/CrashReporter.framework/Versions/A/Headers/PLCrashReportSystemInfo.h b/Vendor/CrashReporter.framework/Versions/A/Headers/PLCrashReportSystemInfo.h index e98c969c81..1bc59a81b0 100644 --- a/Vendor/CrashReporter.framework/Versions/A/Headers/PLCrashReportSystemInfo.h +++ b/Vendor/CrashReporter.framework/Versions/A/Headers/PLCrashReportSystemInfo.h @@ -27,6 +27,8 @@ */ #import +#include "PLCrashMacros.h" +@class PLCrashReportProcessorInfo; /** * @ingroup constants @@ -55,7 +57,7 @@ typedef enum { * * Indicates the architecture under which a Crash Log was generated. * - * @deprecated The architecture value has been deprecated in v1.1 and later crash reports. All new reports + * @note The architecture value has been deprecated in v1.1 and later crash reports. All new reports * will make use of the new PLCrashReportProcessorInfo CPU type encodings. * * @internal @@ -77,7 +79,7 @@ typedef enum { * values. * @sa PLCrashReportArchitectureARMv6 */ - PLCrashReportArchitectureARM = PLCrashReportArchitectureARMv6, + PLCrashReportArchitectureARM PLCR_DEPRECATED = PLCrashReportArchitectureARMv6, /** PPC */ PLCrashReportArchitecturePPC = 3, @@ -94,7 +96,9 @@ typedef enum { extern PLCrashReportOperatingSystem PLCrashReportHostOperatingSystem; -extern PLCrashReportArchitecture PLCrashReportHostArchitecture; +PLCR_EXTERNAL_DEPRECATED_NOWARN_PUSH(); +extern PLCrashReportArchitecture PLCrashReportHostArchitecture PLCR_EXTERNAL_DEPRECATED; +PLCR_EXTERNAL_DEPRECATED_NOWARN_PUSH(); @interface PLCrashReportSystemInfo : NSObject { @private @@ -112,17 +116,27 @@ extern PLCrashReportArchitecture PLCrashReportHostArchitecture; /** Date crash report was generated. May be nil if the date is unknown. */ NSDate *_timestamp; + + /** Processor information. */ + PLCrashReportProcessorInfo *_processorInfo; } - (id) initWithOperatingSystem: (PLCrashReportOperatingSystem) operatingSystem operatingSystemVersion: (NSString *) operatingSystemVersion architecture: (PLCrashReportArchitecture) architecture - timestamp: (NSDate *) timestamp; + timestamp: (NSDate *) timestamp PLCR_DEPRECATED; - (id) initWithOperatingSystem: (PLCrashReportOperatingSystem) operatingSystem operatingSystemVersion: (NSString *) operatingSystemVersion operatingSystemBuild: (NSString *) operatingSystemBuild architecture: (PLCrashReportArchitecture) architecture + timestamp: (NSDate *) timestamp PLCR_DEPRECATED; + +- (id) initWithOperatingSystem: (PLCrashReportOperatingSystem) operatingSystem + operatingSystemVersion: (NSString *) operatingSystemVersion + operatingSystemBuild: (NSString *) operatingSystemBuild + architecture: (PLCrashReportArchitecture) architecture + processorInfo: (PLCrashReportProcessorInfo *) processorInfo timestamp: (NSDate *) timestamp; /** The operating system. */ @@ -137,9 +151,13 @@ extern PLCrashReportArchitecture PLCrashReportHostArchitecture; /** Architecture. @deprecated The architecture value has been deprecated in v1.1 and later crash reports. All new reports * include the CPU type as part of the crash report's machine info structure, using the PLCrashReportProcessorInfo * extensible encoding. */ -@property(nonatomic, readonly) PLCrashReportArchitecture architecture; +@property(nonatomic, readonly) PLCrashReportArchitecture architecture PLCR_DEPRECATED; /** Date and time that the crash report was generated. This may be unavailable, and this property will be nil. */ @property(nonatomic, readonly) NSDate *timestamp; +/** The processor type. For v1.2 reports and later, this is an alias to the machine info's processorInfo. + * For earlier reports, this will be synthesized from the deprecated architecture property. */ +@property(nonatomic, readonly) PLCrashReportProcessorInfo *processorInfo; + @end diff --git a/Vendor/CrashReporter.framework/Versions/A/Headers/PLCrashReporter.h b/Vendor/CrashReporter.framework/Versions/A/Headers/PLCrashReporter.h index 455c417ac7..fe74e27b1d 100644 --- a/Vendor/CrashReporter.framework/Versions/A/Headers/PLCrashReporter.h +++ b/Vendor/CrashReporter.framework/Versions/A/Headers/PLCrashReporter.h @@ -30,6 +30,7 @@ #import #import "PLCrashReporterConfig.h" +#import "PLCrashMacros.h" @class PLCrashMachExceptionServer; @class PLCrashMachExceptionPortSet; @@ -44,7 +45,7 @@ * @param uap The crash's threads context. * @param context The API client's supplied context value. * - * @sa @ref async_safety + * @sa The @ref async_safety documentation. * @sa PLCrashReporter::setPostCrashCallbacks: */ typedef void (*PLCrashReporterPostCrashSignalCallback)(siginfo_t *info, ucontext_t *uap, void *context); @@ -55,7 +56,7 @@ typedef void (*PLCrashReporterPostCrashSignalCallback)(siginfo_t *info, ucontext * This structure contains callbacks supported by PLCrashReporter to allow the host application to perform * additional tasks prior to program termination after a crash has occured. * - * @sa @ref async_safety + * @sa The @ref async_safety documentation. */ typedef struct PLCrashReporterCallbacks { /** The version number of this structure. If not one of the defined version numbers for this type, the behavior @@ -87,7 +88,7 @@ typedef struct PLCrashReporterCallbacks { /** YES if the crash reporter has been enabled */ BOOL _enabled; - + #if PLCRASH_FEATURE_MACH_EXCEPTIONS /** The backing Mach exception server, if any. Nil if the reporter has not been enabled, or if * the configured signal handler type is not PLCrashReporterSignalHandlerTypeMach. */ @@ -110,7 +111,7 @@ typedef struct PLCrashReporterCallbacks { NSString *_crashReportDirectory; } -+ (PLCrashReporter *) sharedReporter; ++ (PLCrashReporter *) sharedReporter PLCR_DEPRECATED; - (instancetype) initWithConfiguration: (PLCrashReporterConfig *) config; @@ -121,9 +122,11 @@ typedef struct PLCrashReporterCallbacks { - (NSData *) generateLiveReportWithThread: (thread_t) thread; - (NSData *) generateLiveReportWithThread: (thread_t) thread error: (NSError **) outError; +- (NSData *) generateLiveReportWithThread: (thread_t) thread exception: (NSException *) exception error: (NSError **) outError; - (NSData *) generateLiveReport; - (NSData *) generateLiveReportAndReturnError: (NSError **) outError; +- (NSData *) generateLiveReportWithException: (NSException *) exception error: (NSError **) outError; - (BOOL) purgePendingCrashReport; - (BOOL) purgePendingCrashReportAndReturnError: (NSError **) outError; diff --git a/Vendor/CrashReporter.framework/Versions/A/Resources/Info.plist b/Vendor/CrashReporter.framework/Versions/A/Resources/Info.plist index d83fe7d429..c4c6265fe1 100644 --- a/Vendor/CrashReporter.framework/Versions/A/Resources/Info.plist +++ b/Vendor/CrashReporter.framework/Versions/A/Resources/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 14F27 + 15G1004 CFBundleDevelopmentRegion English CFBundleExecutable @@ -27,16 +27,16 @@ DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 7A220 + 7D1014 DTPlatformVersion GM DTSDKBuild - 15A278 + 15E60 DTSDKName macosx10.11 DTXcode - 0700 + 0731 DTXcodeBuild - 7A220 + 7D1014