Bug 755869 - [8] Re-apply bug 731384 - Fix compile errors on older versions of clang r=mattwoodrow
authorGeorge Wright <gwright@mozilla.com>
Fri, 18 May 2012 14:15:50 -0400
changeset 99203 0912e895675b279f513e06c2a377c7e606cb82d6
parent 99202 04f6554beaa3dccc0e0d066d8f3d26849cb2b61b
child 99204 304e51f21f0d91efb402c892462580186ac53681
push idunknown
push userunknown
push dateunknown
reviewersmattwoodrow
bugs755869, 731384
milestone15.0a1
Bug 755869 - [8] Re-apply bug 731384 - Fix compile errors on older versions of clang r=mattwoodrow
gfx/skia/include/core/SkPostConfig.h
--- a/gfx/skia/include/core/SkPostConfig.h
+++ b/gfx/skia/include/core/SkPostConfig.h
@@ -283,19 +283,28 @@
 #endif
 
 //////////////////////////////////////////////////////////////////////
 
 #ifndef SK_OVERRIDE
 #if defined(_MSC_VER)
 #define SK_OVERRIDE override
 #elif defined(__clang__)
+#if __has_feature(cxx_override_control)
 // Some documentation suggests we should be using __attribute__((override)),
 // but it doesn't work.
 #define SK_OVERRIDE override
+#elif defined(__has_extension)
+#if __has_extension(cxx_override_control)
+#define SK_OVERRIDE override
+#endif
+#endif
+#ifndef SK_OVERRIDE
+#define SK_OVERRIDE
+#endif
 #else
 // Linux GCC ignores "__attribute__((override))" and rejects "override".
 #define SK_OVERRIDE
 #endif
 #endif
 
 //////////////////////////////////////////////////////////////////////