Make SkAssertResult work with SK_WARN_UNUSED_RESULT in Release on gcc
authorbsalomon <bsalomon@google.com>
Mon, 9 May 2016 19:35:17 +0000 (12:35 -0700)
committerCommit bot <commit-bot@chromium.org>
Mon, 9 May 2016 19:35:17 +0000 (12:35 -0700)
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1962723003

Review-Url: https://codereview.chromium.org/1962723003

include/core/SkTypes.h

index b44df0d..6793e4c 100644 (file)
@@ -149,8 +149,8 @@ inline void operator delete(void* p) {
     #define SkPARAM(var)
 
     // unlike SkASSERT, this guy executes its condition in the non-debug build.
-    // It casts to void to allow use with functions declared with SK_WARN_RESULT_UNUSED.
-    #define SkAssertResult(cond)        (void)(cond)
+    // The if is present so that this can be used with functions marked SK_WARN_UNUSED_RESULT.
+    #define SkAssertResult(cond)         if (cond) {} do {} while(false)
 #endif
 
 // Legacy macro names for SK_ABORT