1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/gfx/skia/patches/0023-Bug-890539-Fix-SK_COMPILE_ASSERT-build-warning.patch Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,39 @@ 1.4 +# HG changeset patch 1.5 +# Parent e378875000890099fffcdb4cbc4ab12828ac34ee 1.6 +# User Daniel Holbert <dholbert@cs.stanford.edu> 1.7 +Bug 890539: Annotate SK_COMPILE_ASSERT's typedef as permissibly unused, to fix GCC 4.8 build warning. r=gw280 1.8 + 1.9 +diff --git a/gfx/skia/include/core/SkTypes.h b/gfx/skia/include/core/SkTypes.h 1.10 +--- a/gfx/skia/include/core/SkTypes.h 1.11 ++++ b/gfx/skia/include/core/SkTypes.h 1.12 +@@ -121,18 +121,29 @@ inline void operator delete(void* p) { 1.13 + #define SkDEVCODE(code) 1.14 + #define SK_DEVELOPER_TO_STRING() 1.15 + #endif 1.16 + 1.17 + template <bool> 1.18 + struct SkCompileAssert { 1.19 + }; 1.20 + 1.21 ++/* 1.22 ++ * The SK_COMPILE_ASSERT definition creates an otherwise-unused typedef. This 1.23 ++ * triggers compiler warnings with some versions of gcc, so mark the typedef 1.24 ++ * as permissibly-unused to disable the warnings. 1.25 ++ */ 1.26 ++# if defined(__GNUC__) 1.27 ++# define SK_COMPILE_ASSERT_UNUSED_ATTRIBUTE __attribute__((unused)) 1.28 ++# else 1.29 ++# define SK_COMPILE_ASSERT_UNUSED_ATTRIBUTE /* nothing */ 1.30 ++# endif 1.31 ++ 1.32 + #define SK_COMPILE_ASSERT(expr, msg) \ 1.33 +- typedef SkCompileAssert<(bool(expr))> msg[bool(expr) ? 1 : -1] 1.34 ++ typedef SkCompileAssert<(bool(expr))> msg[bool(expr) ? 1 : -1] SK_COMPILE_ASSERT_UNUSED_ATTRIBUTE 1.35 + 1.36 + /* 1.37 + * Usage: SK_MACRO_CONCAT(a, b) to construct the symbol ab 1.38 + * 1.39 + * SK_MACRO_CONCAT_IMPL_PRIV just exists to make this work. Do not use directly 1.40 + * 1.41 + */ 1.42 + #define SK_MACRO_CONCAT(X, Y) SK_MACRO_CONCAT_IMPL_PRIV(X, Y)