From 074577c360568871b35834bbbc73bfd05305589e Mon Sep 17 00:00:00 2001 From: Michael Wyman Date: Tue, 21 Jan 2020 09:18:29 -0800 Subject: Avoid nullability compiler/clang-tidy warnings in _GTMDevAssert. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The string parameters in NSAssertionHandler's -handleFailureInFunction:… method are declared nonnull, but converting __PRETTY_FUNCTION__ and __FILE__ to NSString (via +[NSString stringWithUTF8String:] returns nullable, leading to warnings. --- GTMDefines.h | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/GTMDefines.h b/GTMDefines.h index 68ff8c0..f2c047e 100644 --- a/GTMDefines.h +++ b/GTMDefines.h @@ -130,11 +130,16 @@ #if !defined(NS_BLOCK_ASSERTIONS) #define _GTMDevAssert(condition, ...) \ do { \ - if (!(condition)) { \ + if (__builtin_expect(!(condition), 0)) { \ + NSString *__assert_func_name__ = \ + [NSString stringWithUTF8String:__PRETTY_FUNCTION__]; \ + __assert_func_name__ = __assert_func_name__ ?: @""; \ + NSString *__assert_file_name__ = \ + [NSString stringWithUTF8String:__FILE__]; \ + __assert_file_name__ = __assert_file_name__ ?: @""; \ [[NSAssertionHandler currentHandler] \ - handleFailureInFunction:(NSString *) \ - [NSString stringWithUTF8String:__PRETTY_FUNCTION__] \ - file:(NSString *)[NSString stringWithUTF8String:__FILE__] \ + handleFailureInFunction:__assert_func_name__ \ + file:__assert_file_name__ \ lineNumber:__LINE__ \ description:__VA_ARGS__]; \ } \ -- cgit v1.2.3