Use compiler provided static assert and avoid tripping unused-local-typedef warnings.
This commit is contained in:
parent
9bd74b7f25
commit
52b8d3fe78
1 changed files with 9 additions and 4 deletions
|
@ -55,10 +55,15 @@ NSString *const GPBExceptionMessageKey =
|
|||
static NSString *const kGPBDataCoderKey = @"GPBData";
|
||||
|
||||
#ifndef _GPBCompileAssert
|
||||
#define _GPBCompileAssertSymbolInner(line, msg) _GPBCompileAssert ## line ## __ ## msg
|
||||
#define _GPBCompileAssertSymbol(line, msg) _GPBCompileAssertSymbolInner(line, msg)
|
||||
#define _GPBCompileAssert(test, msg) \
|
||||
typedef char _GPBCompileAssertSymbol(__LINE__, msg) [ ((test) ? 1 : -1) ]
|
||||
#if __has_feature(c_static_assert) || __has_extension(c_static_assert)
|
||||
#define _GPBCompileAssert(test, msg) _Static_assert((test), #msg)
|
||||
#else
|
||||
// Pre-Xcode 7 support.
|
||||
#define _GPBCompileAssertSymbolInner(line, msg) _GPBCompileAssert ## line ## __ ## msg
|
||||
#define _GPBCompileAssertSymbol(line, msg) _GPBCompileAssertSymbolInner(line, msg)
|
||||
#define _GPBCompileAssert(test, msg) \
|
||||
typedef char _GPBCompileAssertSymbol(__LINE__, msg) [ ((test) ? 1 : -1) ]
|
||||
#endif // __has_feature(c_static_assert) || __has_extension(c_static_assert)
|
||||
#endif // _GPBCompileAssert
|
||||
|
||||
//
|
||||
|
|
Loading…
Add table
Reference in a new issue