Bug 1481097 - layout: Remove nsCSSPseudoElements workaround for gcc 4.9.2 bug. r?dbaron draft
authorChris Peterson <cpeterson@mozilla.com>
Sat, 21 Jul 2018 23:48:16 -0700
changeset 826870 114a3bb0d922d148b1d3605214a8e27bd71e9646
parent 826869 9560dadb96c377db6e8ee136a1f0c3ada0789979
child 826871 26d5f8f2a527d5bf0b071b856d7fad9785f8d1c8
push id118399
push usercpeterson@mozilla.com
push dateSun, 05 Aug 2018 22:49:36 +0000
reviewersdbaron
bugs1481097, 1273048, 1163171, 64037
milestone63.0a1
Bug 1481097 - layout: Remove nsCSSPseudoElements workaround for gcc 4.9.2 bug. r?dbaron This gcc 4.9.2 workaround (from bug 1273048) is no longer needed because Firefox for Android now uses clang instead of gcc (as of bug 1163171). The gcc bug was fixed in gcc 4.8.5 and 4.9.3: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64037 MozReview-Commit-ID: IAKONNSkqcz
layout/style/nsCSSPseudoElements.h
--- a/layout/style/nsCSSPseudoElements.h
+++ b/layout/style/nsCSSPseudoElements.h
@@ -197,26 +197,16 @@ public:
 
     return false;
   }
 
   static nsString PseudoTypeAsString(Type aPseudoType);
 
 private:
   // Does the given pseudo-element have all of the flags given?
-
-  // Work around https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64037 ,
-  // which is a general gcc bug that we seem to have hit only on Android/x86.
-#if defined(ANDROID) && defined(__i386__) && defined(__GNUC__) && \
-    !defined(__clang__)
-#if (MOZ_GCC_VERSION_AT_LEAST(4,8,0) && MOZ_GCC_VERSION_AT_MOST(4,8,4)) || \
-    (MOZ_GCC_VERSION_AT_LEAST(4,9,0) && MOZ_GCC_VERSION_AT_MOST(4,9,2))
-   __attribute__((noinline))
-#endif
-#endif
   static bool PseudoElementHasFlags(const Type aType, uint32_t aFlags)
   {
     MOZ_ASSERT(aType < Type::Count);
     return (kPseudoElementFlags[size_t(aType)] & aFlags) == aFlags;
   }
 
   static bool PseudoElementHasAnyFlag(const Type aType, uint32_t aFlags)
   {