gfx/skia/patches/0023-Bug-890539-Fix-SK_COMPILE_ASSERT-build-warning.patch

changeset 0
6474c204b198
     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)

mercurial