# HG changeset patch # User Wolfgang Rosenauer # Date 1600345929 -7200 # Node ID ff28137410ebccc796dc0f235115c2070c04ba11 # Parent c5e32127317c5e9020f637dba8d81ae22b776fc0 FF8 80.0.1 including some required patches (see changes) diff -r c5e32127317c -r ff28137410eb MozillaFirefox/MozillaFirefox.changes --- a/MozillaFirefox/MozillaFirefox.changes Tue Aug 25 21:31:17 2020 +0200 +++ b/MozillaFirefox/MozillaFirefox.changes Thu Sep 17 14:32:09 2020 +0200 @@ -1,7 +1,35 @@ ------------------------------------------------------------------- +Thu Sep 17 11:45:31 UTC 2020 - Guillaume GARDET + +- Use %limit_build macro again for aarch64 and armv7, instead of + the new memoryperjob _constraints to use more workers + +------------------------------------------------------------------- +Sat Sep 5 17:43:26 UTC 2020 - Wolfgang Rosenauer + +- add mozilla-bmo1661715.patch to fix Flash plugin + +------------------------------------------------------------------- +Wed Sep 2 17:11:19 UTC 2020 - Manfred Hollstein + +- Mozilla Firefox 80.0.1: Bug fixes: + * Fixed a performance regression when encountering new intermediate + CA certificates (bmo#1661543) + * Fixed crashes possibly related to GPU resets (bmo#1627616) + * Fixed rendering on some sites using WebGL (bmo#1659225) + * Fixed the zoom-in keyboard shortcut on Japanese language builds + (bmo#1661895) + * Fixed download issues related to extensions and cookies + (bmo#1655190) +- added mozilla-silence-no-return-type.patch + +------------------------------------------------------------------- Tue Aug 25 19:30:15 UTC 2020 - Wolfgang Rosenauer -- more whitelisting for sandbox in relation to FIPS (bsc#1174284) +- more whitelisting (/dev/random) for sandbox in relation to FIPS + (bsc#1174284) +- improve langpack builds to use dedicated objdirs and make it + parallel again ------------------------------------------------------------------- Sat Aug 22 06:52:01 UTC 2020 - Wolfgang Rosenauer diff -r c5e32127317c -r ff28137410eb MozillaFirefox/MozillaFirefox.spec --- a/MozillaFirefox/MozillaFirefox.spec Tue Aug 25 21:31:17 2020 +0200 +++ b/MozillaFirefox/MozillaFirefox.spec Thu Sep 17 14:32:09 2020 +0200 @@ -26,8 +26,8 @@ # major 69 # mainver %major.99 %define major 80 -%define mainver %major.0 -%define orig_version 80.0 +%define mainver %major.0.1 +%define orig_version 80.0.1 %define orig_suffix %{nil} %define update_channel release %define branding 1 @@ -82,6 +82,7 @@ BuildRequires: dbus-1-glib-devel BuildRequires: dejavu-fonts BuildRequires: fdupes +BuildRequires: memory-constraints %if 0%{?suse_version} <= 1320 BuildRequires: gcc9-c++ %else @@ -209,10 +210,12 @@ Patch27: mozilla-s390x-skia-gradient.patch Patch28: mozilla-libavcodec58_91.patch Patch29: mozilla-system-nspr.patch +Patch30: mozilla-silence-no-return-type.patch +Patch31: mozilla-bmo1661715.patch # Firefox/browser Patch101: firefox-kde.patch Patch102: firefox-branded-icons.patch -%endif # only_print_mozconfig +%endif BuildRoot: %{_tmppath}/%{name}-%{version}-build Requires(post): coreutils shared-mime-info desktop-file-utils Requires(postun): shared-mime-info desktop-file-utils @@ -352,10 +355,12 @@ %patch27 -p1 %patch28 -p1 %patch29 -p1 +%patch30 -p1 +%patch31 -p1 # Firefox %patch101 -p1 %patch102 -p1 -%endif # only_print_mozconfig +%endif %build %if !%{with only_print_mozconfig} @@ -378,9 +383,9 @@ echo fix kde helper version in the .spec file exit 1 fi -%endif # only_print_mozconfig source %{SOURCE4} +%endif export CARGO_HOME=${RPM_BUILD_DIR}/%{srcname}-%{orig_version}/.cargo export MOZ_SOURCE_CHANGESET=$RELEASE_TAG @@ -431,6 +436,9 @@ echo "" cat << EOF %else +%ifarch aarch64 %arm +%limit_build -m 2000 +%endif cat << EOF > $MOZCONFIG %endif mk_add_options MOZILLA_OFFICIAL=1 @@ -475,6 +483,7 @@ #ac_add_options --enable-chrome-format=jar ac_add_options --enable-update-channel=%{update_channel} ac_add_options --with-mozilla-api-keyfile=%{SOURCE18} +# Google-service currently not available for free anymore #ac_add_options --with-google-location-service-api-keyfile=%{SOURCE19} ac_add_options --with-google-safebrowsing-api-keyfile=%{SOURCE19} ac_add_options --with-unsigned-addon-scopes=app @@ -528,22 +537,36 @@ # build additional locales %if %localize -# The file obj/browser/locales/bookmarks.html will be overwritten by each langpack-build with the current translation -# Thus we save here the original, to restore it afterwards, so that the default installation will not have zh-TW -# bookmarks -# See also https://bugzilla.opensuse.org/show_bug.cgi?id=1167976 -cp ../obj/browser/locales/bookmarks.html ../obj/browser/locales/bookmarks.html_ORIG - mkdir -p %{buildroot}%{progdir}/browser/extensions truncate -s 0 %{_tmppath}/translations.{common,other} -# Adding "-P 0" would give us parallel builds of langpacks. Unfortunately, mach currently doesn't support -# building them in parallel. If we do, we get race-conditions and have mixed languages in the langpacks. -# See https://bugzilla.suse.com/show_bug.cgi?id=1173986 +# langpack-build can not be done in parallel easily (see https://bugzilla.mozilla.org/show_bug.cgi?id=1660943) +# Therefore, we have to have a separate obj-dir for each language +# We do this, by creating a mozconfig-template with the necessary switches +# and a placeholder obj-dir, which gets copied and modified for each language + +# Create mozconfig-template for langbuild +cat << EOF > ${MOZCONFIG}_LANG +mk_add_options MOZILLA_OFFICIAL=1 +mk_add_options BUILD_OFFICIAL=1 +mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj_LANG +. \$topsrcdir/browser/config/mozconfig +ac_add_options --prefix=%{_prefix} +ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n +ac_add_options --disable-updater +%if %branding +ac_add_options --enable-official-branding +%endif +EOF + sed -r '/^(ja-JP-mac|ga-IE|en-US|)$/d;s/ .*$//' $RPM_BUILD_DIR/%{srcname}-%{orig_version}/browser/locales/shipped-locales \ - | xargs -n 1 -I {} /bin/sh -c ' + | xargs -n 1 %{?jobs:-P %jobs} -I {} /bin/sh -c ' locale=$1 - ./mach build langpack-$locale - cp -L ../obj/dist/linux-*/xpi/firefox-%{orig_version}.$locale.langpack.xpi \ + cp ${MOZCONFIG}_LANG ${MOZCONFIG}_$locale + sed -i "s|obj_LANG|obj_$locale|" ${MOZCONFIG}_$locale + export MOZCONFIG=${MOZCONFIG}_$locale + # nsinstall is needed for langpack-build. It is already built by `./mach build`, but building it again is very fast + ./mach build config/nsinstall langpack-$locale + cp -L ../obj_$locale/dist/linux-*/xpi/firefox-%{orig_version}.$locale.langpack.xpi \ %{buildroot}%{progdir}/browser/extensions/langpack-$locale@firefox.mozilla.org.xpi # remove prefs, profile defaults, and hyphenation from langpack #rm -rf %{buildroot}%{progdir}/browser/extensions/langpack-$locale@firefox.mozilla.org/defaults @@ -557,13 +580,10 @@ echo %{progdir}/browser/extensions/langpack-$locale@firefox.mozilla.org.xpi \ >> %{_tmppath}/translations.$_l10ntarget ' -- {} - -# Restoring the original bookmarksfile -cp ../obj/browser/locales/bookmarks.html_ORIG ../obj/browser/locales/bookmarks.html %endif ccache -s -%endif # only_print_mozconfig +%endif %install cd $RPM_BUILD_DIR/obj @@ -773,12 +793,12 @@ %files translations-common -f %{_tmppath}/translations.common %defattr(-,root,root) %dir %{progdir} -%dir %{progdir}/browser/extensions +%dir %{progdir}/browser/extensions/ %files translations-other -f %{_tmppath}/translations.other %defattr(-,root,root) %dir %{progdir} -%dir %{progdir}/browser/extensions +%dir %{progdir}/browser/extensions/ %endif # this package does not need to provide files but is needed to fulfill diff -r c5e32127317c -r ff28137410eb MozillaFirefox/_constraints --- a/MozillaFirefox/_constraints Tue Aug 25 21:31:17 2020 +0200 +++ b/MozillaFirefox/_constraints Thu Sep 17 14:32:09 2020 +0200 @@ -17,12 +17,15 @@ armv7l + + 1000 + 12 - + 5 - + @@ -30,9 +33,13 @@ aarch64 - + 4 + + 1000 + + 12 - + diff -r c5e32127317c -r ff28137410eb MozillaFirefox/mozilla-bmo1661715.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MozillaFirefox/mozilla-bmo1661715.patch Thu Sep 17 14:32:09 2020 +0200 @@ -0,0 +1,1 @@ +../mozilla-bmo1661715.patch \ No newline at end of file diff -r c5e32127317c -r ff28137410eb MozillaFirefox/mozilla-silence-no-return-type.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MozillaFirefox/mozilla-silence-no-return-type.patch Thu Sep 17 14:32:09 2020 +0200 @@ -0,0 +1,1 @@ +../mozilla-silence-no-return-type.patch \ No newline at end of file diff -r c5e32127317c -r ff28137410eb MozillaFirefox/tar_stamps --- a/MozillaFirefox/tar_stamps Tue Aug 25 21:31:17 2020 +0200 +++ b/MozillaFirefox/tar_stamps Thu Sep 17 14:32:09 2020 +0200 @@ -1,11 +1,11 @@ PRODUCT="firefox" CHANNEL="release" -VERSION="80.0" +VERSION="80.0.1" VERSION_SUFFIX="" -PREV_VERSION="79.0" +PREV_VERSION="80.0" PREV_VERSION_SUFFIX="" #SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-release" -RELEASE_TAG="bd5d1f49975deb730064a16b3079edb53c4a5f84" -RELEASE_TIMESTAMP="20200818235255" +RELEASE_TAG="2c869ada52702e6a02b2fe73b4d81d6be6d515f0" +RELEASE_TIMESTAMP="20200831163820" diff -r c5e32127317c -r ff28137410eb mozilla-bmo1661715.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mozilla-bmo1661715.patch Thu Sep 17 14:32:09 2020 +0200 @@ -0,0 +1,72 @@ + +# HG changeset patch +# User Olivier Tilloy +# Date 1598829330 0 +# Node ID 5d87a8dae5fe55360890e4ea4ed12135a8e909ed +# Parent bb814cdd2848401f78e44814363de03b013551ca +Bug 1661715 - Move GTK function stubs to the correct section. r=karlt + +Differential Revision: https://phabricator.services.mozilla.com/D88588 + +diff --git a/widget/gtk/mozgtk/mozgtk.c b/widget/gtk/mozgtk/mozgtk.c +--- a/widget/gtk/mozgtk/mozgtk.c ++++ b/widget/gtk/mozgtk/mozgtk.c +@@ -524,21 +524,19 @@ STUB(gtk_window_resize) + STUB(gtk_window_set_accept_focus) + STUB(gtk_window_set_decorated) + STUB(gtk_window_set_deletable) + STUB(gtk_window_set_destroy_with_parent) + STUB(gtk_window_set_focus_on_map) + STUB(gtk_window_set_geometry_hints) + STUB(gtk_window_set_icon_name) + STUB(gtk_window_set_modal) +-STUB(gdk_window_set_opaque_region) + STUB(gtk_window_set_skip_taskbar_hint) + STUB(gtk_window_set_startup_id) + STUB(gtk_window_set_title) +-STUB(gtk_window_set_titlebar) + STUB(gtk_window_set_transient_for) + STUB(gtk_window_set_type_hint) + STUB(gtk_window_set_wmclass) + STUB(gtk_window_unfullscreen) + STUB(gtk_window_unmaximize) + #endif + + #ifdef GTK3_SYMBOLS +@@ -549,16 +547,17 @@ STUB(gdk_device_manager_get_client_point + STUB(gdk_disable_multidevice) + STUB(gdk_device_manager_list_devices) + STUB(gdk_display_get_device_manager) + STUB(gdk_display_manager_open_display) + STUB(gdk_error_trap_pop_ignored) + STUB(gdk_event_get_source_device) + STUB(gdk_screen_get_monitor_workarea) + STUB(gdk_window_get_type) ++STUB(gdk_window_set_opaque_region) + STUB(gdk_x11_window_get_xid) + STUB(gdk_x11_display_get_type) + STUB(gdk_wayland_display_get_type) + STUB(gdk_wayland_display_get_wl_compositor) + STUB(gdk_wayland_display_get_wl_display) + STUB(gdk_wayland_window_get_wl_surface) + STUB(gtk_box_new) + STUB(gtk_cairo_should_draw_window) +@@ -629,16 +628,17 @@ STUB(gtk_widget_path_copy) + STUB(gtk_widget_path_free) + STUB(gtk_widget_path_iter_add_class) + STUB(gtk_widget_path_get_object_type) + STUB(gtk_widget_path_length) + STUB(gtk_widget_path_new) + STUB(gtk_widget_path_unref) + STUB(gtk_widget_set_valign) + STUB(gtk_widget_set_visual) ++STUB(gtk_window_set_titlebar) + STUB(gtk_app_chooser_dialog_new_for_content_type) + STUB(gtk_app_chooser_get_type) + STUB(gtk_app_chooser_get_app_info) + STUB(gtk_app_chooser_dialog_get_type) + STUB(gtk_app_chooser_dialog_set_heading) + STUB(gtk_color_chooser_dialog_new) + STUB(gtk_color_chooser_dialog_get_type) + STUB(gtk_color_chooser_get_type) + diff -r c5e32127317c -r ff28137410eb mozilla-silence-no-return-type.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mozilla-silence-no-return-type.patch Thu Sep 17 14:32:09 2020 +0200 @@ -0,0 +1,1022 @@ +diff -rup firefox-80.0.1.orig/gfx/skia/skia/include/codec/SkEncodedOrigin.h firefox-80.0.1/gfx/skia/skia/include/codec/SkEncodedOrigin.h +--- firefox-80.0.1.orig/gfx/skia/skia/include/codec/SkEncodedOrigin.h 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/include/codec/SkEncodedOrigin.h 2020-09-05 17:20:04.093066839 +0200 +@@ -41,6 +41,7 @@ static inline SkMatrix SkEncodedOriginTo + case kLeftBottom_SkEncodedOrigin: return SkMatrix::MakeAll( 0, 1, 0, -1, 0, w, 0, 0, 1); + } + SK_ABORT("Unexpected origin"); ++ SkUNREACHABLE; + } + + +diff -rup firefox-80.0.1.orig/gfx/skia/skia/include/private/GrTypesPriv.h firefox-80.0.1/gfx/skia/skia/include/private/GrTypesPriv.h +--- firefox-80.0.1.orig/gfx/skia/skia/include/private/GrTypesPriv.h 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/include/private/GrTypesPriv.h 2020-09-05 16:27:55.719487864 +0200 +@@ -540,6 +540,7 @@ static inline GrSLType GrSLCombinedSampl + default: + SK_ABORT("Unexpected texture type"); + } ++ SkUNREACHABLE; + } + + /** Rectangle and external textures only support the clamp wrap mode and do not support +@@ -556,6 +557,7 @@ static inline bool GrTextureTypeHasRestr + default: + SK_ABORT("Unexpected texture type"); + } ++ SkUNREACHABLE; + } + + static constexpr bool GrSLTypeIsCombinedSamplerType(GrSLType type) { +@@ -858,6 +860,7 @@ static inline size_t GrCompressedFormatD + } + + SK_ABORT("Invalid pixel config"); ++ SkUNREACHABLE; + } + + /** +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/core/SkGeometry.h firefox-80.0.1/gfx/skia/skia/src/core/SkGeometry.h +--- firefox-80.0.1.orig/gfx/skia/skia/src/core/SkGeometry.h 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/core/SkGeometry.h 2020-09-05 17:33:51.896635366 +0200 +@@ -182,6 +182,7 @@ static inline bool SkCubicIsDegenerate(S + return true; + } + SK_ABORT("Invalid SkCubicType"); ++ SkUNREACHABLE; + } + + static inline const char* SkCubicTypeName(SkCubicType type) { +@@ -194,6 +195,7 @@ static inline const char* SkCubicTypeNam + case SkCubicType::kLineOrPoint: return "kLineOrPoint"; + } + SK_ABORT("Invalid SkCubicType"); ++ SkUNREACHABLE; + } + + /** Returns the cubic classification. +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/core/SkTextBlob.cpp firefox-80.0.1/gfx/skia/skia/src/core/SkTextBlob.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/core/SkTextBlob.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/core/SkTextBlob.cpp 2020-09-05 17:33:19.028493560 +0200 +@@ -201,6 +201,7 @@ void SkTextBlob::operator delete(void* p + + void* SkTextBlob::operator new(size_t) { + SK_ABORT("All blobs are created by placement new."); ++ SkUNREACHABLE; + } + + void* SkTextBlob::operator new(size_t, void* p) { +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/core/SkTypeface_remote.cpp firefox-80.0.1/gfx/skia/skia/src/core/SkTypeface_remote.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/core/SkTypeface_remote.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/core/SkTypeface_remote.cpp 2020-09-05 17:33:09.424452127 +0200 +@@ -29,6 +29,7 @@ void SkScalerContextProxy::initCache(SkS + + unsigned SkScalerContextProxy::generateGlyphCount() { + SK_ABORT("Should never be called."); ++ SkUNREACHABLE; + } + + bool SkScalerContextProxy::generateAdvance(SkGlyph* glyph) { +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/core/SkTypeface_remote.h firefox-80.0.1/gfx/skia/skia/src/core/SkTypeface_remote.h +--- firefox-80.0.1.orig/gfx/skia/skia/src/core/SkTypeface_remote.h 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/core/SkTypeface_remote.h 2020-09-05 17:34:55.424909478 +0200 +@@ -63,23 +63,28 @@ public: + bool isLogging() const {return fIsLogging;} + + protected: +- int onGetUPEM() const override { SK_ABORT("Should never be called."); } ++ int onGetUPEM() const override { SK_ABORT("Should never be called."); SkUNREACHABLE; } + std::unique_ptr onOpenStream(int* ttcIndex) const override { + SK_ABORT("Should never be called."); ++ SkUNREACHABLE; + } + std::unique_ptr onMakeFontData() const override { + SK_ABORT("Should never be called."); ++ SkUNREACHABLE; + } + sk_sp onMakeClone(const SkFontArguments& args) const override { + SK_ABORT("Should never be called."); ++ SkUNREACHABLE; + } + int onGetVariationDesignPosition(SkFontArguments::VariationPosition::Coordinate coordinates[], + int coordinateCount) const override { + SK_ABORT("Should never be called."); ++ SkUNREACHABLE; + } + int onGetVariationDesignParameters(SkFontParameters::Variation::Axis parameters[], + int parameterCount) const override { + SK_ABORT("Should never be called."); ++ SkUNREACHABLE; + } + void onGetFamilyName(SkString* familyName) const override { + // Used by SkStrikeCache::DumpMemoryStatistics. +@@ -87,12 +92,15 @@ protected: + } + SkTypeface::LocalizedStrings* onCreateFamilyNameIterator() const override { + SK_ABORT("Should never be called."); ++ SkUNREACHABLE; + } + int onGetTableTags(SkFontTableTag tags[]) const override { + SK_ABORT("Should never be called."); ++ SkUNREACHABLE; + } + size_t onGetTableData(SkFontTableTag, size_t offset, size_t length, void* data) const override { + SK_ABORT("Should never be called."); ++ SkUNREACHABLE; + } + SkScalerContext* onCreateScalerContext(const SkScalerContextEffects& effects, + const SkDescriptor* desc) const override { +@@ -116,6 +124,7 @@ protected: + + std::unique_ptr onGetAdvancedMetrics() const override { + SK_ABORT("Should never be called."); ++ SkUNREACHABLE; + } + void onCharsToGlyphs(const SkUnichar* chars, int count, SkGlyphID glyphs[]) const override { + SK_ABORT("Should never be called."); +@@ -126,6 +135,7 @@ protected: + + void* onGetCTFontRef() const override { + SK_ABORT("Should never be called."); ++ SkUNREACHABLE; + } + + private: +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/effects/imagefilters/SkBlurImageFilter.cpp firefox-80.0.1/gfx/skia/skia/src/effects/imagefilters/SkBlurImageFilter.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/effects/imagefilters/SkBlurImageFilter.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/effects/imagefilters/SkBlurImageFilter.cpp 2020-09-05 17:35:26.657044250 +0200 +@@ -144,6 +144,7 @@ static GrTextureDomain::Mode to_texture_ + return GrTextureDomain::kRepeat_Mode; + default: + SK_ABORT("Unsupported tile mode."); ++ SkUNREACHABLE; + } + } + #endif +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/effects/imagefilters/SkLightingImageFilter.cpp firefox-80.0.1/gfx/skia/skia/src/effects/imagefilters/SkLightingImageFilter.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/effects/imagefilters/SkLightingImageFilter.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/effects/imagefilters/SkLightingImageFilter.cpp 2020-09-05 17:35:30.841062305 +0200 +@@ -1701,6 +1701,7 @@ static SkImageFilterLight* create_random + } + default: + SK_ABORT("Unexpected value."); ++ SkUNREACHABLE; + } + } + +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/fonts/SkFontMgr_indirect.cpp firefox-80.0.1/gfx/skia/skia/src/fonts/SkFontMgr_indirect.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/fonts/SkFontMgr_indirect.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/fonts/SkFontMgr_indirect.cpp 2020-09-05 17:35:41.193106978 +0200 +@@ -69,6 +69,7 @@ void SkFontMgr_Indirect::onGetFamilyName + + SkFontStyleSet* SkFontMgr_Indirect::onCreateStyleSet(int index) const { + SK_ABORT("Not implemented"); ++ SkUNREACHABLE; + } + + SkFontStyleSet* SkFontMgr_Indirect::onMatchFamily(const char familyName[]) const { +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/GrDataUtils.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/GrDataUtils.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/GrDataUtils.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/GrDataUtils.cpp 2020-09-05 17:26:21.958694975 +0200 +@@ -128,6 +128,7 @@ size_t GrCompressedDataSize(SkImage::Com + return numBlocks * sizeof(ETC1Block); + } + SK_ABORT("Unexpected compression type"); ++ SkUNREACHABLE; + } + + size_t GrCompressedRowBytes(SkImage::CompressionType type, int width) { +@@ -137,6 +138,7 @@ size_t GrCompressedRowBytes(SkImage::Com + return numBlocksWidth * sizeof(ETC1Block); + } + SK_ABORT("Unexpected compression type"); ++ SkUNREACHABLE; + } + + // Fill in 'dest' with ETC1 blocks derived from 'colorf' +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/GrFragmentProcessor.h firefox-80.0.1/gfx/skia/skia/src/gpu/GrFragmentProcessor.h +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/GrFragmentProcessor.h 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/GrFragmentProcessor.h 2020-09-05 17:26:07.414632282 +0200 +@@ -375,6 +375,7 @@ protected: + private: + virtual SkPMColor4f constantOutputForConstantInput(const SkPMColor4f& /* inputColor */) const { + SK_ABORT("Subclass must override this if advertising this optimization."); ++ SkUNREACHABLE; + } + + /** Returns a new instance of the appropriate *GL* implementation class +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/GrPathRendering.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/GrPathRendering.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/GrPathRendering.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/GrPathRendering.cpp 2020-09-05 17:28:44.215308274 +0200 +@@ -19,6 +19,7 @@ const GrUserStencilSettings& GrPathRende + switch (fill) { + default: + SK_ABORT("Unexpected path fill."); ++ SkUNREACHABLE; + case GrPathRendering::kWinding_FillType: { + constexpr static GrUserStencilSettings kWindingStencilPass( + GrUserStencilSettings::StaticInit< +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/GrPathRendering.h firefox-80.0.1/gfx/skia/skia/src/gpu/GrPathRendering.h +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/GrPathRendering.h 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/GrPathRendering.h 2020-09-05 17:28:31.247252358 +0200 +@@ -63,6 +63,7 @@ public: + + default: + SK_ABORT("Unknown path transform type"); ++ SkUNREACHABLE; + } + } + +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/GrProcessorUnitTest.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/GrProcessorUnitTest.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/GrProcessorUnitTest.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/GrProcessorUnitTest.cpp 2020-09-05 17:21:37.549469393 +0200 +@@ -20,6 +20,7 @@ std::unique_ptr GrP + return fp; + #else + SK_ABORT("Should not be called if !SK_ALLOW_STATIC_GLOBAL_INITIALIZERS"); ++ SkUNREACHABLE; + #endif + } + #endif +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/GrReducedClip.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/GrReducedClip.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/GrReducedClip.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/GrReducedClip.cpp 2020-09-05 17:28:39.151286438 +0200 +@@ -525,6 +525,7 @@ GrReducedClip::ClipResult GrReducedClip: + } + + SK_ABORT("Unexpected DeviceSpaceType"); ++ SkUNREACHABLE; + } + + GrReducedClip::ClipResult GrReducedClip::clipOutsideElement(const Element* element) { +@@ -591,6 +592,7 @@ GrReducedClip::ClipResult GrReducedClip: + } + + SK_ABORT("Unexpected DeviceSpaceType"); ++ SkUNREACHABLE; + } + + inline void GrReducedClip::addWindowRectangle(const SkRect& elementInteriorRect, bool elementIsAA) { +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/GrResourceCache.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/GrResourceCache.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/GrResourceCache.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/GrResourceCache.cpp 2020-09-05 17:24:04.038100548 +0200 +@@ -40,6 +40,7 @@ GrScratchKey::ResourceType GrScratchKey: + int32_t type = nextType++; + if (type > SkTo(UINT16_MAX)) { + SK_ABORT("Too many Resource Types"); ++ SkUNREACHABLE; + } + + return static_cast(type); +@@ -51,6 +52,7 @@ GrUniqueKey::Domain GrUniqueKey::Generat + int32_t domain = nextDomain++; + if (domain > SkTo(UINT16_MAX)) { + SK_ABORT("Too many GrUniqueKey Domains"); ++ SkUNREACHABLE; + } + + return static_cast(domain); +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/GrShaderVar.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/GrShaderVar.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/GrShaderVar.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/GrShaderVar.cpp 2020-09-05 17:21:29.397434277 +0200 +@@ -18,6 +18,7 @@ static const char* type_modifier_string( + case GrShaderVar::kUniform_TypeModifier: return "uniform"; + } + SK_ABORT("Unknown shader variable type modifier."); ++ SkUNREACHABLE; + } + + void GrShaderVar::setIOType(GrIOType ioType) { +@@ -32,6 +33,7 @@ void GrShaderVar::setIOType(GrIOType ioT + return; + } + SK_ABORT("Unknown io type."); ++ SkUNREACHABLE; + } + + void GrShaderVar::appendDecl(const GrShaderCaps* shaderCaps, SkString* out) const { +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/SkGpuDevice.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/SkGpuDevice.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/SkGpuDevice.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/SkGpuDevice.cpp 2020-09-05 17:30:38.891802801 +0200 +@@ -283,6 +283,7 @@ static inline GrPrimitiveType point_mode + return GrPrimitiveType::kLineStrip; + } + SK_ABORT("Unexpected mode"); ++ SkUNREACHABLE; + } + + void SkGpuDevice::drawPoints(SkCanvas::PointMode mode, +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/SkGr.h firefox-80.0.1/gfx/skia/skia/src/gpu/SkGr.h +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/SkGr.h 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/SkGr.h 2020-09-05 17:30:45.151829800 +0200 +@@ -159,6 +159,7 @@ static inline GrPrimitiveType SkVertexMo + break; + } + SK_ABORT("Invalid mode"); ++ SkUNREACHABLE; + } + + ////////////////////////////////////////////////////////////////////////////// +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/ccpr/GrCCCoverageProcessor.h firefox-80.0.1/gfx/skia/skia/src/gpu/ccpr/GrCCCoverageProcessor.h +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/ccpr/GrCCCoverageProcessor.h 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/ccpr/GrCCCoverageProcessor.h 2020-09-05 17:32:06.476180575 +0200 +@@ -240,6 +240,7 @@ inline const char* GrCCCoverageProcessor + case PrimitiveType::kConics: return "kConics"; + } + SK_ABORT("Invalid PrimitiveType"); ++ SkUNREACHABLE; + } + + inline void GrCCCoverageProcessor::TriPointInstance::set( +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/ccpr/GrCCStrokeGeometry.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/ccpr/GrCCStrokeGeometry.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/ccpr/GrCCStrokeGeometry.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/ccpr/GrCCStrokeGeometry.cpp 2020-09-05 17:32:10.548198140 +0200 +@@ -60,6 +60,7 @@ static GrCCStrokeGeometry::Verb join_ver + return Verb::kRoundJoin; + } + SK_ABORT("Invalid SkPaint::Join."); ++ SkUNREACHABLE; + } + + void GrCCStrokeGeometry::beginPath(const SkStrokeRec& stroke, float strokeDevWidth, +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/ccpr/GrCCStrokeGeometry.h firefox-80.0.1/gfx/skia/skia/src/gpu/ccpr/GrCCStrokeGeometry.h +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/ccpr/GrCCStrokeGeometry.h 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/ccpr/GrCCStrokeGeometry.h 2020-09-05 17:32:25.116260983 +0200 +@@ -175,5 +175,6 @@ inline bool GrCCStrokeGeometry::IsIntern + return false; + } + SK_ABORT("Invalid GrCCStrokeGeometry::Verb."); ++ SkUNREACHABLE; + } + #endif +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/ccpr/GrCoverageCountingPathRenderer.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/ccpr/GrCoverageCountingPathRenderer.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/ccpr/GrCoverageCountingPathRenderer.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/ccpr/GrCoverageCountingPathRenderer.cpp 2020-09-05 17:32:16.092222055 +0200 +@@ -164,6 +164,7 @@ GrPathRenderer::CanDrawPath GrCoverageCo + } + + SK_ABORT("Invalid stroke style."); ++ SkUNREACHABLE; + } + + bool GrCoverageCountingPathRenderer::onDrawPath(const DrawPathArgs& args) { +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/ccpr/GrVSCoverageProcessor.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/ccpr/GrVSCoverageProcessor.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/ccpr/GrVSCoverageProcessor.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/ccpr/GrVSCoverageProcessor.cpp 2020-09-05 17:32:20.524241174 +0200 +@@ -550,4 +550,5 @@ GrGLSLPrimitiveProcessor* GrVSCoveragePr + return new Impl(std::move(shader), 4); + } + SK_ABORT("Invalid PrimitiveType"); ++ SkUNREACHABLE; + } +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/dawn/GrDawnOpsRenderPass.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/dawn/GrDawnOpsRenderPass.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/dawn/GrDawnOpsRenderPass.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/dawn/GrDawnOpsRenderPass.cpp 2020-09-05 17:29:04.783396962 +0200 +@@ -39,7 +39,9 @@ static dawn::LoadOp to_dawn_load_op(GrLo + return dawn::LoadOp::Clear; + default: + SK_ABORT("Invalid LoadOp"); ++ SkUNREACHABLE; + } ++ SkUNREACHABLE; + } + + GrDawnOpsRenderPass::GrDawnOpsRenderPass(GrDawnGpu* gpu, GrRenderTarget* rt, GrSurfaceOrigin origin, +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/dawn/GrDawnUniformHandler.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/dawn/GrDawnUniformHandler.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/dawn/GrDawnUniformHandler.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/dawn/GrDawnUniformHandler.cpp 2020-09-05 17:29:19.431460126 +0200 +@@ -95,6 +95,7 @@ uint32_t grsltype_to_alignment_mask(GrSL + break; + } + SK_ABORT("Unexpected type"); ++ SkUNREACHABLE; + } + + static inline uint32_t grsltype_to_size(GrSLType type) { +@@ -173,6 +174,7 @@ static inline uint32_t grsltype_to_size( + break; + } + SK_ABORT("Unexpected type"); ++ SkUNREACHABLE; + } + + uint32_t get_ubo_offset(uint32_t* currentOffset, +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/dawn/GrDawnVaryingHandler.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/dawn/GrDawnVaryingHandler.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/dawn/GrDawnVaryingHandler.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/dawn/GrDawnVaryingHandler.cpp 2020-09-05 17:29:23.527477789 +0200 +@@ -76,6 +76,7 @@ static inline int grsltype_to_location_s + return 0; + } + SK_ABORT("Unexpected type"); ++ SkUNREACHABLE; + } + + static void finalize_helper(GrDawnVaryingHandler::VarArray& vars) { +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/effects/GrConstColorProcessor.fp firefox-80.0.1/gfx/skia/skia/src/gpu/effects/GrConstColorProcessor.fp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/effects/GrConstColorProcessor.fp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/effects/GrConstColorProcessor.fp 2020-09-05 17:31:23.039993215 +0200 +@@ -58,6 +58,7 @@ void main() { + return color * input; + } + SK_ABORT("Unexpected mode"); ++ SkUNREACHABLE; + } + } + +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/effects/GrCoverageSetOpXP.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/effects/GrCoverageSetOpXP.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/effects/GrCoverageSetOpXP.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/effects/GrCoverageSetOpXP.cpp 2020-09-05 17:31:42.796078430 +0200 +@@ -204,6 +204,7 @@ const GrXPFactory* GrCoverageSetOpXPFact + } + #undef _CONSTEXPR_ + SK_ABORT("Unknown region op."); ++ SkUNREACHABLE; + } + + sk_sp GrCoverageSetOpXPFactory::makeXferProcessor( +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp 2020-09-05 17:31:32.900035745 +0200 +@@ -753,6 +753,7 @@ const GrXPFactory* GrPorterDuffXPFactory + return &gScreenPDXPF; + default: + SK_ABORT("Unexpected blend mode."); ++ SkUNREACHABLE; + } + } + +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/effects/GrSkSLFP.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/effects/GrSkSLFP.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/effects/GrSkSLFP.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/effects/GrSkSLFP.cpp 2020-09-05 17:31:49.900109073 +0200 +@@ -154,6 +154,7 @@ public: + } + printf("%s\n", SkSL::String(type.fName).c_str()); + SK_ABORT("unsupported uniform type"); ++ SkUNREACHABLE; + } + + void emitCode(EmitArgs& args) override { +@@ -568,6 +569,7 @@ std::unique_ptr GrS + } + } + SK_ABORT("unreachable"); ++ SkUNREACHABLE; + } + + #endif +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/effects/generated/GrConstColorProcessor.h firefox-80.0.1/gfx/skia/skia/src/gpu/effects/generated/GrConstColorProcessor.h +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/effects/generated/GrConstColorProcessor.h 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/effects/generated/GrConstColorProcessor.h 2020-09-05 17:30:53.303864960 +0200 +@@ -41,6 +41,7 @@ public: + return color * input; + } + SK_ABORT("Unexpected mode"); ++ SkUNREACHABLE; + } + static std::unique_ptr Make(SkPMColor4f color, InputMode mode) { + return std::unique_ptr(new GrConstColorProcessor(color, mode)); +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/geometry/GrShape.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/geometry/GrShape.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/geometry/GrShape.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/geometry/GrShape.cpp 2020-09-05 17:26:35.670754081 +0200 +@@ -164,6 +164,7 @@ SkRect GrShape::bounds() const { + return this->path().getBounds(); + } + SK_ABORT("Unknown shape type"); ++ SkUNREACHABLE; + } + + SkRect GrShape::styledBounds() const { +@@ -254,6 +255,7 @@ int GrShape::unstyledKeySize() const { + } + } + SK_ABORT("Should never get here."); ++ SkUNREACHABLE; + } + + void GrShape::writeUnstyledKey(uint32_t* key) const { +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/gl/GrGLCaps.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/gl/GrGLCaps.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/gl/GrGLCaps.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/gl/GrGLCaps.cpp 2020-09-05 17:23:12.109876788 +0200 +@@ -4159,6 +4159,7 @@ GrBackendFormat GrGLCaps::getBackendForm + return GrBackendFormat::MakeGL(GR_GL_COMPRESSED_ETC1_RGB8, GR_GL_TEXTURE_2D); + } + SK_ABORT("Invalid compression type"); ++ SkUNREACHABLE; + } + + GrSwizzle GrGLCaps::getTextureSwizzle(const GrBackendFormat& format, GrColorType colorType) const { +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/gl/GrGLGLSL.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/gl/GrGLGLSL.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/gl/GrGLGLSL.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/gl/GrGLGLSL.cpp 2020-09-05 17:22:08.885604389 +0200 +@@ -68,4 +68,5 @@ bool GrGLGetGLSLGeneration(const GrGLInt + return true; + } + SK_ABORT("Unknown GL Standard"); ++ SkUNREACHABLE; + } +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/gl/GrGLGpu.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/gl/GrGLGpu.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/gl/GrGLGpu.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/gl/GrGLGpu.cpp 2020-09-05 17:23:04.717844938 +0200 +@@ -196,6 +196,7 @@ static int gl_target_to_binding_index(Gr + return 2; + } + SK_ABORT("Unexpected GL texture target."); ++ SkUNREACHABLE; + } + + GrGpuResource::UniqueID GrGLGpu::TextureUnitBindings::boundID(GrGLenum target) const { +@@ -234,6 +235,7 @@ static GrGLenum filter_to_gl_mag_filter( + case GrSamplerState::Filter::kMipMap: return GR_GL_LINEAR; + } + SK_ABORT("Unknown filter"); ++ SkUNREACHABLE; + } + + static GrGLenum filter_to_gl_min_filter(GrSamplerState::Filter filter) { +@@ -243,6 +245,7 @@ static GrGLenum filter_to_gl_min_filter( + case GrSamplerState::Filter::kMipMap: return GR_GL_LINEAR_MIPMAP_LINEAR; + } + SK_ABORT("Unknown filter"); ++ SkUNREACHABLE; + } + + static inline GrGLenum wrap_mode_to_gl_wrap(GrSamplerState::WrapMode wrapMode, +@@ -257,6 +260,7 @@ static inline GrGLenum wrap_mode_to_gl_w + return GR_GL_CLAMP_TO_BORDER; + } + SK_ABORT("Unknown wrap mode"); ++ SkUNREACHABLE; + } + + /////////////////////////////////////////////////////////////////////////////// +@@ -1107,7 +1111,7 @@ static bool renderbuffer_storage_msaa(co + break; + case GrGLCaps::kNone_MSFBOType: + SK_ABORT("Shouldn't be here if we don't support multisampled renderbuffers."); +- break; ++ SkUNREACHABLE; + } + return (GR_GL_NO_ERROR == CHECK_ALLOC_ERROR(ctx.interface())); + } +@@ -2275,9 +2279,10 @@ static GrGLenum gr_primitive_type_to_gl_ + return GR_GL_LINE_STRIP; + case GrPrimitiveType::kPath: + SK_ABORT("non-mesh-based GrPrimitiveType"); +- return 0; ++ SkUNREACHABLE; + } + SK_ABORT("invalid GrPrimitiveType"); ++ SkUNREACHABLE; + } + + void GrGLGpu::sendMeshToGpu(GrPrimitiveType primitiveType, const GrBuffer* vertexBuffer, +@@ -4006,7 +4011,8 @@ int GrGLGpu::TextureToCopyProgramIdx(GrT + case kTextureExternalSampler_GrSLType: + return 2; + default: +- SK_ABORT("Unexpected samper type"); ++ SK_ABORT("Unexpected sampler type"); ++ SkUNREACHABLE; + } + } + +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/gl/GrGLPath.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/gl/GrGLPath.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/gl/GrGLPath.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/gl/GrGLPath.cpp 2020-09-05 17:23:22.477921462 +0200 +@@ -197,6 +197,7 @@ static GrPathRendering::FillType convert + switch (fill) { + default: + SK_ABORT("Incomplete Switch\n"); ++ SkUNREACHABLE; + case SkPath::kWinding_FillType: + case SkPath::kInverseWinding_FillType: + return GrPathRendering::kWinding_FillType; +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/gl/GrGLTexture.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/gl/GrGLTexture.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/gl/GrGLTexture.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/gl/GrGLTexture.cpp 2020-09-05 17:22:32.685706927 +0200 +@@ -25,6 +25,7 @@ GrTextureType GrGLTexture::TextureTypeFr + return GrTextureType::kExternal; + } + SK_ABORT("Unexpected texture target"); ++ SkUNREACHABLE; + } + + static inline GrGLenum target_from_texture_type(GrTextureType type) { +@@ -37,8 +38,10 @@ static inline GrGLenum target_from_textu + return GR_GL_TEXTURE_EXTERNAL; + default: + SK_ABORT("Unexpected texture target"); ++ SkUNREACHABLE; + } + SK_ABORT("Unexpected texture type"); ++ SkUNREACHABLE; + } + + // Because this class is virtually derived from GrSurface we must explicitly call its constructor. +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/gl/GrGLVertexArray.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/gl/GrGLVertexArray.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/gl/GrGLVertexArray.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/gl/GrGLVertexArray.cpp 2020-09-05 17:23:27.989945214 +0200 +@@ -80,6 +80,7 @@ static AttribLayout attrib_layout(GrVert + return {true, 4, GR_GL_UNSIGNED_SHORT}; + } + SK_ABORT("Unknown vertex attrib type"); ++ SkUNREACHABLE; + }; + + void GrGLAttribArrayState::set(GrGLGpu* gpu, +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/glsl/GrGLSL.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/glsl/GrGLSL.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/glsl/GrGLSL.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/glsl/GrGLSL.cpp 2020-09-05 17:30:03.215648939 +0200 +@@ -98,4 +98,5 @@ const char* GrGLSLTypeString(GrSLType t) + return "sampler"; + } + SK_ABORT("Unknown shader var type."); ++ SkUNREACHABLE; + } +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/glsl/GrGLSLVarying.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/glsl/GrGLSLVarying.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/glsl/GrGLSLVarying.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/glsl/GrGLSLVarying.cpp 2020-09-05 17:30:16.439705971 +0200 +@@ -35,6 +35,7 @@ static bool use_flat_interpolation(GrGLS + return true; + } + SK_ABORT("Invalid interpolation"); ++ SkUNREACHABLE; + } + + void GrGLSLVaryingHandler::addVarying(const char* name, GrGLSLVarying* varying, +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/glsl/GrGLSLVertexGeoBuilder.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/glsl/GrGLSLVertexGeoBuilder.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/glsl/GrGLSLVertexGeoBuilder.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/glsl/GrGLSLVertexGeoBuilder.cpp 2020-09-05 17:30:09.799677334 +0200 +@@ -51,6 +51,7 @@ static const char* input_type_name(GrGLS + case InputType::kTriangles: return "triangles"; + } + SK_ABORT("invalid input type"); ++ SkUNREACHABLE; + } + + static const char* output_type_name(GrGLSLGeometryBuilder::OutputType out) { +@@ -61,6 +62,7 @@ static const char* output_type_name(GrGL + case OutputType::kTriangleStrip: return "triangle_strip"; + } + SK_ABORT("invalid output type"); ++ SkUNREACHABLE; + } + + void GrGLSLGeometryBuilder::configure(InputType inputType, OutputType outputType, int maxVertices, +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/mtl/GrMtlCaps.mm firefox-80.0.1/gfx/skia/skia/src/gpu/mtl/GrMtlCaps.mm +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/mtl/GrMtlCaps.mm 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/mtl/GrMtlCaps.mm 2020-09-05 17:27:20.846948832 +0200 +@@ -506,6 +506,7 @@ size_t GrMtlCaps::GetFormatIndex(MTLPixe + } + } + SK_ABORT("Invalid MTLPixelFormat"); ++ SkUNREACHABLE; + } + + void GrMtlCaps::initFormatTable() { +@@ -1011,6 +1012,7 @@ GrBackendFormat GrMtlCaps::getBackendFor + #endif + } + SK_ABORT("Invalid compression type"); ++ SkUNREACHABLE; + } + + GrSwizzle GrMtlCaps::getTextureSwizzle(const GrBackendFormat& format, GrColorType colorType) const { +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/mtl/GrMtlPipelineStateBuilder.mm firefox-80.0.1/gfx/skia/skia/src/gpu/mtl/GrMtlPipelineStateBuilder.mm +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/mtl/GrMtlPipelineStateBuilder.mm 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/mtl/GrMtlPipelineStateBuilder.mm 2020-09-05 17:26:49.110812019 +0200 +@@ -155,6 +155,7 @@ static inline MTLVertexFormat attribute_ + return MTLVertexFormatUShort4Normalized; + } + SK_ABORT("Unknown vertex attribute type"); ++ SkUNREACHABLE; + } + + static MTLVertexDescriptor* create_vertex_descriptor(const GrPrimitiveProcessor& primProc) { +@@ -276,6 +277,7 @@ static MTLBlendFactor blend_coeff_to_mtl + } + + SK_ABORT("Unknown blend coefficient"); ++ SkUNREACHABLE; + } + + static MTLBlendOperation blend_equation_to_mtl_blend_op(GrBlendEquation equation) { +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/mtl/GrMtlSampler.mm firefox-80.0.1/gfx/skia/skia/src/gpu/mtl/GrMtlSampler.mm +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/mtl/GrMtlSampler.mm 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/mtl/GrMtlSampler.mm 2020-09-05 17:26:53.606831401 +0200 +@@ -38,6 +38,7 @@ static inline MTLSamplerAddressMode wrap + } + } + SK_ABORT("Unknown wrap mode."); ++ SkUNREACHABLE; + } + + GrMtlSampler* GrMtlSampler::Create(const GrMtlGpu* gpu, const GrSamplerState& samplerState) { +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/mtl/GrMtlUniformHandler.mm firefox-80.0.1/gfx/skia/skia/src/gpu/mtl/GrMtlUniformHandler.mm +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/mtl/GrMtlUniformHandler.mm 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/mtl/GrMtlUniformHandler.mm 2020-09-05 17:27:08.118893961 +0200 +@@ -90,6 +90,7 @@ static uint32_t grsltype_to_alignment_ma + break; + } + SK_ABORT("Unexpected type"); ++ SkUNREACHABLE; + } + + /** Returns the size in bytes taken up in Metal buffers for GrSLTypes. */ +@@ -172,6 +173,7 @@ static inline uint32_t grsltype_to_mtl_s + break; + } + SK_ABORT("Unexpected type"); ++ SkUNREACHABLE; + } + + // Given the current offset into the ubo, calculate the offset for the uniform we're trying to add +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/mtl/GrMtlUtil.mm firefox-80.0.1/gfx/skia/skia/src/gpu/mtl/GrMtlUtil.mm +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/mtl/GrMtlUtil.mm 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/mtl/GrMtlUtil.mm 2020-09-05 17:27:01.606865888 +0200 +@@ -112,6 +112,7 @@ bool GrPixelConfigToMTLFormat(GrPixelCon + return true; + } + SK_ABORT("Unexpected config"); ++ SkUNREACHABLE; + } + + MTLTextureDescriptor* GrGetMTLTextureDescriptor(id mtlTexture) { +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/ops/GrDrawVerticesOp.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/ops/GrDrawVerticesOp.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/ops/GrDrawVerticesOp.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/ops/GrDrawVerticesOp.cpp 2020-09-05 17:27:56.087100762 +0200 +@@ -610,6 +610,7 @@ static uint32_t seed_vertices(GrPrimitiv + return 0; + } + SK_ABORT("Incomplete switch\n"); ++ SkUNREACHABLE; + } + + static uint32_t primitive_vertices(GrPrimitiveType type) { +@@ -627,6 +628,7 @@ static uint32_t primitive_vertices(GrPri + return 0; + } + SK_ABORT("Incomplete switch\n"); ++ SkUNREACHABLE; + } + + static SkPoint random_point(SkRandom* random, SkScalar min, SkScalar max) { +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/ops/GrFillRRectOp.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/ops/GrFillRRectOp.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/ops/GrFillRRectOp.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/ops/GrFillRRectOp.cpp 2020-09-05 17:27:40.111031883 +0200 +@@ -823,4 +823,5 @@ static bool can_use_hw_derivatives_with_ + } + } + SK_ABORT("Invalid round rect type."); ++ SkUNREACHABLE; + } +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/ops/GrOvalOpFactory.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/ops/GrOvalOpFactory.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/ops/GrOvalOpFactory.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/ops/GrOvalOpFactory.cpp 2020-09-05 17:28:03.935134598 +0200 +@@ -2283,6 +2283,7 @@ static int rrect_type_to_vert_count(RRec + return kVertsPerOverstrokeRRect; + } + SK_ABORT("Invalid type"); ++ SkUNREACHABLE; + } + + static int rrect_type_to_index_count(RRectType type) { +@@ -2295,6 +2296,7 @@ static int rrect_type_to_index_count(RRe + return kIndicesPerOverstrokeRRect; + } + SK_ABORT("Invalid type"); ++ SkUNREACHABLE; + } + + static const uint16_t* rrect_type_to_indices(RRectType type) { +@@ -2306,6 +2308,7 @@ static const uint16_t* rrect_type_to_ind + return gOverstrokeRRectIndices; + } + SK_ABORT("Invalid type"); ++ SkUNREACHABLE; + } + + /////////////////////////////////////////////////////////////////////////////////////////////////// +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/ops/GrShadowRRectOp.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/ops/GrShadowRRectOp.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/ops/GrShadowRRectOp.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/ops/GrShadowRRectOp.cpp 2020-09-05 17:27:49.879073997 +0200 +@@ -155,6 +155,7 @@ static int rrect_type_to_vert_count(RRec + return kVertsPerOverstrokeRRect; + } + SK_ABORT("Invalid type"); ++ SkUNREACHABLE; + } + + static int rrect_type_to_index_count(RRectType type) { +@@ -167,6 +168,7 @@ static int rrect_type_to_index_count(RRe + return kIndicesPerOverstrokeRRect; + } + SK_ABORT("Invalid type"); ++ SkUNREACHABLE; + } + + static const uint16_t* rrect_type_to_indices(RRectType type) { +@@ -178,6 +180,7 @@ static const uint16_t* rrect_type_to_ind + return gRRectIndices; + } + SK_ABORT("Invalid type"); ++ SkUNREACHABLE; + } + + /////////////////////////////////////////////////////////////////////////////// +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/text/GrTextBlob.h firefox-80.0.1/gfx/skia/skia/src/gpu/text/GrTextBlob.h +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/text/GrTextBlob.h 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/text/GrTextBlob.h 2020-09-05 17:30:30.791767867 +0200 +@@ -125,6 +125,7 @@ public: + + void* operator new(size_t) { + SK_ABORT("All blobs are created by placement new."); ++ SkUNREACHABLE; + } + + void* operator new(size_t, void* p) { return p; } +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/text/GrTextBlobVertexRegenerator.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/text/GrTextBlobVertexRegenerator.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/text/GrTextBlobVertexRegenerator.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/text/GrTextBlobVertexRegenerator.cpp 2020-09-05 17:30:25.919746855 +0200 +@@ -284,4 +284,5 @@ bool GrTextBlob::VertexRegenerator::rege + return true; + } + SK_ABORT("Should not get here"); ++ SkUNREACHABLE; + } +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/vk/GrVkCaps.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/vk/GrVkCaps.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/vk/GrVkCaps.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/vk/GrVkCaps.cpp 2020-09-05 17:25:38.166506214 +0200 +@@ -108,6 +108,7 @@ static FormatCompatibilityClass format_c + + default: + SK_ABORT("Unsupported VkFormat"); ++ SkUNREACHABLE; + } + } + +@@ -1656,6 +1657,7 @@ GrBackendFormat GrVkCaps::getBackendForm + return GrBackendFormat::MakeVk(VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK); + } + SK_ABORT("Invalid compression type"); ++ SkUNREACHABLE; + } + + GrSwizzle GrVkCaps::getTextureSwizzle(const GrBackendFormat& format, GrColorType colorType) const { +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/vk/GrVkMemory.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/vk/GrVkMemory.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/vk/GrVkMemory.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/vk/GrVkMemory.cpp 2020-09-05 17:25:19.878427391 +0200 +@@ -28,6 +28,7 @@ static BufferUsage get_buffer_usage(GrVk + return BufferUsage::kCpuOnly; + } + SK_ABORT("Invalid GrVkBuffer::Type"); ++ SkUNREACHABLE; + } + + bool GrVkMemory::AllocAndBindBufferMemory(const GrVkGpu* gpu, +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/vk/GrVkPipeline.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/vk/GrVkPipeline.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/vk/GrVkPipeline.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/vk/GrVkPipeline.cpp 2020-09-05 17:25:48.238549627 +0200 +@@ -80,6 +80,7 @@ static inline VkFormat attrib_type_to_vk + return VK_FORMAT_R16G16B16A16_UNORM; + } + SK_ABORT("Unknown vertex attrib type"); ++ SkUNREACHABLE; + } + + static void setup_vertex_input_state(const GrPrimitiveProcessor& primProc, +@@ -162,8 +163,10 @@ static VkPrimitiveTopology gr_primitive_ + return VK_PRIMITIVE_TOPOLOGY_LINE_STRIP; + case GrPrimitiveType::kPath: + SK_ABORT("Unsupported primitive type"); ++ SkUNREACHABLE; + } + SK_ABORT("invalid GrPrimitiveType"); ++ SkUNREACHABLE; + } + + static void setup_input_assembly_state(GrPrimitiveType primitiveType, +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/vk/GrVkSampler.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/vk/GrVkSampler.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/vk/GrVkSampler.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/vk/GrVkSampler.cpp 2020-09-05 17:25:24.502447321 +0200 +@@ -23,6 +23,7 @@ static inline VkSamplerAddressMode wrap_ + return VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER; + } + SK_ABORT("Unknown wrap mode."); ++ SkUNREACHABLE; + } + + GrVkSampler* GrVkSampler::Create(GrVkGpu* gpu, const GrSamplerState& samplerState, +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/vk/GrVkTransferBuffer.h firefox-80.0.1/gfx/skia/skia/src/gpu/vk/GrVkTransferBuffer.h +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/vk/GrVkTransferBuffer.h 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/vk/GrVkTransferBuffer.h 2020-09-05 17:25:55.190579592 +0200 +@@ -34,6 +34,7 @@ private: + + bool onUpdateData(const void* src, size_t srcSizeInBytes) override { + SK_ABORT("Not implemented for transfer buffers."); ++ SkUNREACHABLE; + } + + GrVkGpu* getVkGpu() const { +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/vk/GrVkUniformHandler.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/vk/GrVkUniformHandler.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/vk/GrVkUniformHandler.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/vk/GrVkUniformHandler.cpp 2020-09-05 17:25:14.854405738 +0200 +@@ -89,6 +89,7 @@ static uint32_t grsltype_to_alignment_ma + break; + } + SK_ABORT("Unexpected type"); ++ SkUNREACHABLE; + } + + /** Returns the size in bytes taken up in vulkanbuffers for GrSLTypes. */ +@@ -172,6 +173,7 @@ static inline uint32_t grsltype_to_vk_si + break; + } + SK_ABORT("Unexpected type"); ++ SkUNREACHABLE; + } + + +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/gpu/vk/GrVkVaryingHandler.cpp firefox-80.0.1/gfx/skia/skia/src/gpu/vk/GrVkVaryingHandler.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/gpu/vk/GrVkVaryingHandler.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/gpu/vk/GrVkVaryingHandler.cpp 2020-09-05 17:25:28.502464561 +0200 +@@ -74,6 +74,7 @@ static inline int grsltype_to_location_s + return 1; + } + SK_ABORT("Unexpected type"); ++ SkUNREACHABLE; + } + + static void finalize_helper(GrVkVaryingHandler::VarArray& vars) { +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/pdf/SkPDFTag.cpp firefox-80.0.1/gfx/skia/skia/src/pdf/SkPDFTag.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/pdf/SkPDFTag.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/pdf/SkPDFTag.cpp 2020-09-05 17:35:12.352982524 +0200 +@@ -64,6 +64,7 @@ static const char* tag_name_from_type(Sk + #undef M + } + SK_ABORT("bad tag"); ++ SkUNREACHABLE; + } + + struct SkPDFTagNode { +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/ports/SkFontMgr_FontConfigInterface.cpp firefox-80.0.1/gfx/skia/skia/src/ports/SkFontMgr_FontConfigInterface.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/ports/SkFontMgr_FontConfigInterface.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/ports/SkFontMgr_FontConfigInterface.cpp 2020-09-05 17:21:09.173347158 +0200 +@@ -173,18 +173,22 @@ public: + protected: + int onCountFamilies() const override { + SK_ABORT("Not implemented."); ++ SkUNREACHABLE; + } + + void onGetFamilyName(int index, SkString* familyName) const override { + SK_ABORT("Not implemented."); ++ SkUNREACHABLE; + } + + SkFontStyleSet* onCreateStyleSet(int index) const override { + SK_ABORT("Not implemented."); ++ SkUNREACHABLE; + } + + SkFontStyleSet* onMatchFamily(const char familyName[]) const override { + SK_ABORT("Not implemented."); ++ SkUNREACHABLE; + } + + SkTypeface* onMatchFamilyStyle(const char requestedFamilyName[], +@@ -215,10 +219,12 @@ protected: + const char* bcp47[], int bcp47Count, + SkUnichar character) const override { + SK_ABORT("Not implemented."); ++ SkUNREACHABLE; + } + + SkTypeface* onMatchFaceStyle(const SkTypeface*, const SkFontStyle&) const override { + SK_ABORT("Not implemented."); ++ SkUNREACHABLE; + } + + sk_sp onMakeFromData(sk_sp data, int ttcIndex) const override { +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/shaders/SkImageShader.cpp firefox-80.0.1/gfx/skia/skia/src/shaders/SkImageShader.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/shaders/SkImageShader.cpp 2020-08-31 16:04:09.000000000 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/shaders/SkImageShader.cpp 2020-09-05 17:21:18.005385203 +0200 +@@ -183,6 +183,7 @@ static GrSamplerState::WrapMode tile_mod + return GrSamplerState::WrapMode::kClampToBorder; + } + SK_ABORT("Unknown tile mode."); ++ SkUNREACHABLE; + } + + std::unique_ptr SkImageShader::asFragmentProcessor( +diff -rup firefox-80.0.1.orig/gfx/skia/skia/src/utils/SkShadowUtils.cpp firefox-80.0.1/gfx/skia/skia/src/utils/SkShadowUtils.cpp +--- firefox-80.0.1.orig/gfx/skia/skia/src/utils/SkShadowUtils.cpp 2020-09-05 13:23:03.590763363 +0200 ++++ firefox-80.0.1/gfx/skia/skia/src/utils/SkShadowUtils.cpp 2020-09-05 17:32:47.792358805 +0200 +@@ -149,6 +149,7 @@ struct SpotVerticesFactory { + return false; + } + SK_ABORT("Uninitialized occluder type?"); ++ SkUNREACHABLE; + } + + sk_sp makeVertices(const SkPath& path, const SkMatrix& ctm, diff -r c5e32127317c -r ff28137410eb series --- a/series Tue Aug 25 21:31:17 2020 +0200 +++ b/series Thu Sep 17 14:32:09 2020 +0200 @@ -26,6 +26,8 @@ mozilla-s390x-skia-gradient.patch mozilla-libavcodec58_91.patch mozilla-system-nspr.patch +mozilla-silence-no-return-type.patch +mozilla-bmo1661715.patch # Firefox patches firefox-kde.patch