mozilla-silence-no-return-type.patch
branchfirefox91
changeset 1162 af5e283c2e5d
child 1164 bb219fd0d646
child 1167 7852ceef239b
equal deleted inserted replaced
1161:36ae1e4f15eb 1162:af5e283c2e5d
       
     1 diff --git a/Cargo.lock b/Cargo.lock
       
     2 index 6f54a9380d..09911c0273 100644
       
     3 --- a/Cargo.lock
       
     4 +++ b/Cargo.lock
       
     5 @@ -2063,8 +2063,6 @@ dependencies = [
       
     6  [[package]]
       
     7  name = "glslopt"
       
     8  version = "0.1.9"
       
     9 -source = "registry+https://github.com/rust-lang/crates.io-index"
       
    10 -checksum = "74a3f5c04450dfdadb4b08f6e5ee6f5110f674de1acbd6199bfec68392a8cbaf"
       
    11  dependencies = [
       
    12   "cc",
       
    13  ]
       
    14 diff --git a/Cargo.toml b/Cargo.toml
       
    15 index 09f3e7292f..3581baf2aa 100644
       
    16 --- a/Cargo.toml
       
    17 +++ b/Cargo.toml
       
    18 @@ -83,6 +83,7 @@ rlbox_lucet_sandbox = { git = "https://github.com/PLSysSec/rlbox_lucet_sandbox/"
       
    19  nix = { git = "https://github.com/shravanrn/nix/", rev="4af6c367603869a30fddb5ffb0aba2b9477ba92e" }
       
    20  spirv_cross = { git = "https://github.com/kvark/spirv_cross", branch = "wgpu5" }
       
    21  minidump_writer_linux = { git = "https://github.com/msirringhaus/minidump_writer_linux.git", rev = "85551909b95a5cf553a85dbcddfa5f117cfbbe0e" }
       
    22 +glslopt = { path = "third_party/rust/glslopt/" }
       
    23  
       
    24  
       
    25  [patch.crates-io.cranelift-codegen]
       
    26 @@ -105,4 +106,4 @@ path = "third_party/rust/mio"
       
    27  
       
    28  # Patch failure 0.1.8 to disable the backtrace feature by default. See bug 1608157.
       
    29  [patch.crates-io.failure]
       
    30 -path = "third_party/rust/failure"
       
    31 \ No newline at end of file
       
    32 +path = "third_party/rust/failure"
       
    33 diff --git a/gfx/skia/skia/include/codec/SkEncodedOrigin.h b/gfx/skia/skia/include/codec/SkEncodedOrigin.h
       
    34 index 2eed1c6ac6..49d0309034 100644
       
    35 --- a/gfx/skia/skia/include/codec/SkEncodedOrigin.h
       
    36 +++ b/gfx/skia/skia/include/codec/SkEncodedOrigin.h
       
    37 @@ -41,6 +41,7 @@ static inline SkMatrix SkEncodedOriginToMatrix(SkEncodedOrigin origin, int w, in
       
    38          case  kLeftBottom_SkEncodedOrigin: return SkMatrix::MakeAll( 0,  1, 0, -1,  0, w, 0, 0, 1);
       
    39      }
       
    40      SK_ABORT("Unexpected origin");
       
    41 +    SkUNREACHABLE;
       
    42  }
       
    43  
       
    44  
       
    45 diff --git a/gfx/skia/skia/include/private/GrTypesPriv.h b/gfx/skia/skia/include/private/GrTypesPriv.h
       
    46 index 90718038e0..4ec7729ab8 100644
       
    47 --- a/gfx/skia/skia/include/private/GrTypesPriv.h
       
    48 +++ b/gfx/skia/skia/include/private/GrTypesPriv.h
       
    49 @@ -540,6 +540,7 @@ static inline GrSLType GrSLCombinedSamplerTypeForTextureType(GrTextureType type)
       
    50          default:
       
    51              SK_ABORT("Unexpected texture type");
       
    52      }
       
    53 +    SkUNREACHABLE;
       
    54  }
       
    55  
       
    56  /** Rectangle and external textures only support the clamp wrap mode and do not support
       
    57 @@ -556,6 +557,7 @@ static inline bool GrTextureTypeHasRestrictedSampling(GrTextureType type) {
       
    58          default:
       
    59              SK_ABORT("Unexpected texture type");
       
    60      }
       
    61 +    SkUNREACHABLE;
       
    62  }
       
    63  
       
    64  static constexpr bool GrSLTypeIsCombinedSamplerType(GrSLType type) {
       
    65 @@ -858,6 +860,7 @@ static inline size_t GrCompressedFormatDataSize(SkImage::CompressionType compres
       
    66      }
       
    67  
       
    68      SK_ABORT("Invalid pixel config");
       
    69 +    SkUNREACHABLE;
       
    70  }
       
    71  
       
    72  /**
       
    73 diff --git a/gfx/skia/skia/src/core/SkGeometry.h b/gfx/skia/skia/src/core/SkGeometry.h
       
    74 index 23bdbc1c42..ea2d23f6e8 100644
       
    75 --- a/gfx/skia/skia/src/core/SkGeometry.h
       
    76 +++ b/gfx/skia/skia/src/core/SkGeometry.h
       
    77 @@ -182,6 +182,7 @@ static inline bool SkCubicIsDegenerate(SkCubicType type) {
       
    78              return true;
       
    79      }
       
    80      SK_ABORT("Invalid SkCubicType");
       
    81 +    SkUNREACHABLE;
       
    82  }
       
    83  
       
    84  static inline const char* SkCubicTypeName(SkCubicType type) {
       
    85 @@ -194,6 +195,7 @@ static inline const char* SkCubicTypeName(SkCubicType type) {
       
    86          case SkCubicType::kLineOrPoint: return "kLineOrPoint";
       
    87      }
       
    88      SK_ABORT("Invalid SkCubicType");
       
    89 +    SkUNREACHABLE;
       
    90  }
       
    91  
       
    92  /** Returns the cubic classification.
       
    93 diff --git a/gfx/skia/skia/src/core/SkTextBlob.cpp b/gfx/skia/skia/src/core/SkTextBlob.cpp
       
    94 index 3c84bda6f8..e2fba375cc 100644
       
    95 --- a/gfx/skia/skia/src/core/SkTextBlob.cpp
       
    96 +++ b/gfx/skia/skia/src/core/SkTextBlob.cpp
       
    97 @@ -201,6 +201,7 @@ void SkTextBlob::operator delete(void* p) {
       
    98  
       
    99  void* SkTextBlob::operator new(size_t) {
       
   100      SK_ABORT("All blobs are created by placement new.");
       
   101 +    SkUNREACHABLE;
       
   102  }
       
   103  
       
   104  void* SkTextBlob::operator new(size_t, void* p) {
       
   105 diff --git a/gfx/skia/skia/src/core/SkTypeface_remote.cpp b/gfx/skia/skia/src/core/SkTypeface_remote.cpp
       
   106 index 838a783313..d878fadc08 100644
       
   107 --- a/gfx/skia/skia/src/core/SkTypeface_remote.cpp
       
   108 +++ b/gfx/skia/skia/src/core/SkTypeface_remote.cpp
       
   109 @@ -29,6 +29,7 @@ void SkScalerContextProxy::initCache(SkStrike* cache, SkStrikeCache* strikeCache
       
   110  
       
   111  unsigned SkScalerContextProxy::generateGlyphCount()  {
       
   112      SK_ABORT("Should never be called.");
       
   113 +    SkUNREACHABLE;
       
   114  }
       
   115  
       
   116  bool SkScalerContextProxy::generateAdvance(SkGlyph* glyph) {
       
   117 diff --git a/gfx/skia/skia/src/core/SkTypeface_remote.h b/gfx/skia/skia/src/core/SkTypeface_remote.h
       
   118 index 3d454cf760..554f7c0617 100644
       
   119 --- a/gfx/skia/skia/src/core/SkTypeface_remote.h
       
   120 +++ b/gfx/skia/skia/src/core/SkTypeface_remote.h
       
   121 @@ -63,23 +63,28 @@ public:
       
   122      bool isLogging() const {return fIsLogging;}
       
   123  
       
   124  protected:
       
   125 -    int onGetUPEM() const override { SK_ABORT("Should never be called."); }
       
   126 +    int onGetUPEM() const override { SK_ABORT("Should never be called."); SkUNREACHABLE; }
       
   127      std::unique_ptr<SkStreamAsset> onOpenStream(int* ttcIndex) const override {
       
   128          SK_ABORT("Should never be called.");
       
   129 +	SkUNREACHABLE;
       
   130      }
       
   131      std::unique_ptr<SkFontData> onMakeFontData() const override {
       
   132          SK_ABORT("Should never be called.");
       
   133 +	SkUNREACHABLE;
       
   134      }
       
   135      sk_sp<SkTypeface> onMakeClone(const SkFontArguments& args) const override {
       
   136          SK_ABORT("Should never be called.");
       
   137 +	SkUNREACHABLE;
       
   138      }
       
   139      int onGetVariationDesignPosition(SkFontArguments::VariationPosition::Coordinate coordinates[],
       
   140                                       int coordinateCount) const override {
       
   141          SK_ABORT("Should never be called.");
       
   142 +	SkUNREACHABLE;
       
   143      }
       
   144      int onGetVariationDesignParameters(SkFontParameters::Variation::Axis parameters[],
       
   145                                         int parameterCount) const override {
       
   146          SK_ABORT("Should never be called.");
       
   147 +	SkUNREACHABLE;
       
   148      }
       
   149      void onGetFamilyName(SkString* familyName) const override {
       
   150          // Used by SkStrikeCache::DumpMemoryStatistics.
       
   151 @@ -87,12 +92,15 @@ protected:
       
   152      }
       
   153      SkTypeface::LocalizedStrings* onCreateFamilyNameIterator() const override {
       
   154          SK_ABORT("Should never be called.");
       
   155 +	SkUNREACHABLE;
       
   156      }
       
   157      int onGetTableTags(SkFontTableTag tags[]) const override {
       
   158          SK_ABORT("Should never be called.");
       
   159 +	SkUNREACHABLE;
       
   160      }
       
   161      size_t onGetTableData(SkFontTableTag, size_t offset, size_t length, void* data) const override {
       
   162          SK_ABORT("Should never be called.");
       
   163 +	SkUNREACHABLE;
       
   164      }
       
   165      SkScalerContext* onCreateScalerContext(const SkScalerContextEffects& effects,
       
   166                                             const SkDescriptor* desc) const override {
       
   167 @@ -116,6 +124,7 @@ protected:
       
   168  
       
   169      std::unique_ptr<SkAdvancedTypefaceMetrics> onGetAdvancedMetrics() const override {
       
   170          SK_ABORT("Should never be called.");
       
   171 +	SkUNREACHABLE;
       
   172      }
       
   173      void onCharsToGlyphs(const SkUnichar* chars, int count, SkGlyphID glyphs[]) const override {
       
   174          SK_ABORT("Should never be called.");
       
   175 @@ -126,6 +135,7 @@ protected:
       
   176  
       
   177      void* onGetCTFontRef() const override {
       
   178          SK_ABORT("Should never be called.");
       
   179 +	SkUNREACHABLE;
       
   180      }
       
   181  
       
   182  private:
       
   183 diff --git a/gfx/skia/skia/src/effects/imagefilters/SkBlurImageFilter.cpp b/gfx/skia/skia/src/effects/imagefilters/SkBlurImageFilter.cpp
       
   184 index 2dde5e2be7..dd8550dfad 100644
       
   185 --- a/gfx/skia/skia/src/effects/imagefilters/SkBlurImageFilter.cpp
       
   186 +++ b/gfx/skia/skia/src/effects/imagefilters/SkBlurImageFilter.cpp
       
   187 @@ -144,6 +144,7 @@ static GrTextureDomain::Mode to_texture_domain_mode(SkTileMode tileMode) {
       
   188              return GrTextureDomain::kRepeat_Mode;
       
   189          default:
       
   190              SK_ABORT("Unsupported tile mode.");
       
   191 +	    SkUNREACHABLE;
       
   192      }
       
   193  }
       
   194  #endif
       
   195 diff --git a/gfx/skia/skia/src/effects/imagefilters/SkLightingImageFilter.cpp b/gfx/skia/skia/src/effects/imagefilters/SkLightingImageFilter.cpp
       
   196 index 43d32dcc91..4a8143e2e2 100644
       
   197 --- a/gfx/skia/skia/src/effects/imagefilters/SkLightingImageFilter.cpp
       
   198 +++ b/gfx/skia/skia/src/effects/imagefilters/SkLightingImageFilter.cpp
       
   199 @@ -1701,6 +1701,7 @@ static SkImageFilterLight* create_random_light(SkRandom* random) {
       
   200          }
       
   201          default:
       
   202              SK_ABORT("Unexpected value.");
       
   203 +	    SkUNREACHABLE;
       
   204      }
       
   205  }
       
   206  
       
   207 diff --git a/gfx/skia/skia/src/fonts/SkFontMgr_indirect.cpp b/gfx/skia/skia/src/fonts/SkFontMgr_indirect.cpp
       
   208 index da7678a725..63330e58c2 100644
       
   209 --- a/gfx/skia/skia/src/fonts/SkFontMgr_indirect.cpp
       
   210 +++ b/gfx/skia/skia/src/fonts/SkFontMgr_indirect.cpp
       
   211 @@ -69,6 +69,7 @@ void SkFontMgr_Indirect::onGetFamilyName(int index, SkString* familyName) const
       
   212  
       
   213  SkFontStyleSet* SkFontMgr_Indirect::onCreateStyleSet(int index) const {
       
   214      SK_ABORT("Not implemented");
       
   215 +    SkUNREACHABLE;
       
   216  }
       
   217  
       
   218  SkFontStyleSet* SkFontMgr_Indirect::onMatchFamily(const char familyName[]) const {
       
   219 diff --git a/gfx/skia/skia/src/gpu/GrDataUtils.cpp b/gfx/skia/skia/src/gpu/GrDataUtils.cpp
       
   220 index 6265aaec28..0da5190e4a 100644
       
   221 --- a/gfx/skia/skia/src/gpu/GrDataUtils.cpp
       
   222 +++ b/gfx/skia/skia/src/gpu/GrDataUtils.cpp
       
   223 @@ -128,6 +128,7 @@ size_t GrCompressedDataSize(SkImage::CompressionType type, int width, int height
       
   224              return numBlocks * sizeof(ETC1Block);
       
   225      }
       
   226      SK_ABORT("Unexpected compression type");
       
   227 +    SkUNREACHABLE;
       
   228  }
       
   229  
       
   230  size_t GrCompressedRowBytes(SkImage::CompressionType type, int width) {
       
   231 @@ -137,6 +138,7 @@ size_t GrCompressedRowBytes(SkImage::CompressionType type, int width) {
       
   232              return numBlocksWidth * sizeof(ETC1Block);
       
   233      }
       
   234      SK_ABORT("Unexpected compression type");
       
   235 +    SkUNREACHABLE;
       
   236  }
       
   237  
       
   238  // Fill in 'dest' with ETC1 blocks derived from 'colorf'
       
   239 diff --git a/gfx/skia/skia/src/gpu/GrFragmentProcessor.h b/gfx/skia/skia/src/gpu/GrFragmentProcessor.h
       
   240 index 21e27b868b..5b96868075 100644
       
   241 --- a/gfx/skia/skia/src/gpu/GrFragmentProcessor.h
       
   242 +++ b/gfx/skia/skia/src/gpu/GrFragmentProcessor.h
       
   243 @@ -375,6 +375,7 @@ protected:
       
   244  private:
       
   245      virtual SkPMColor4f constantOutputForConstantInput(const SkPMColor4f& /* inputColor */) const {
       
   246          SK_ABORT("Subclass must override this if advertising this optimization.");
       
   247 +	SkUNREACHABLE;
       
   248      }
       
   249  
       
   250      /** Returns a new instance of the appropriate *GL* implementation class
       
   251 diff --git a/gfx/skia/skia/src/gpu/GrPathRendering.cpp b/gfx/skia/skia/src/gpu/GrPathRendering.cpp
       
   252 index 5e44531d2e..a6bd5e4cbc 100644
       
   253 --- a/gfx/skia/skia/src/gpu/GrPathRendering.cpp
       
   254 +++ b/gfx/skia/skia/src/gpu/GrPathRendering.cpp
       
   255 @@ -19,6 +19,7 @@ const GrUserStencilSettings& GrPathRendering::GetStencilPassSettings(FillType fi
       
   256      switch (fill) {
       
   257          default:
       
   258              SK_ABORT("Unexpected path fill.");
       
   259 +	    SkUNREACHABLE;
       
   260          case GrPathRendering::kWinding_FillType: {
       
   261              constexpr static GrUserStencilSettings kWindingStencilPass(
       
   262                  GrUserStencilSettings::StaticInit<
       
   263 diff --git a/gfx/skia/skia/src/gpu/GrPathRendering.h b/gfx/skia/skia/src/gpu/GrPathRendering.h
       
   264 index 3e143e4d0f..3a672fabc6 100644
       
   265 --- a/gfx/skia/skia/src/gpu/GrPathRendering.h
       
   266 +++ b/gfx/skia/skia/src/gpu/GrPathRendering.h
       
   267 @@ -63,6 +63,7 @@ public:
       
   268  
       
   269              default:
       
   270                  SK_ABORT("Unknown path transform type");
       
   271 +		SkUNREACHABLE;
       
   272          }
       
   273      }
       
   274  
       
   275 diff --git a/gfx/skia/skia/src/gpu/GrProcessorUnitTest.cpp b/gfx/skia/skia/src/gpu/GrProcessorUnitTest.cpp
       
   276 index 8d8efa7685..2d56d2cb09 100644
       
   277 --- a/gfx/skia/skia/src/gpu/GrProcessorUnitTest.cpp
       
   278 +++ b/gfx/skia/skia/src/gpu/GrProcessorUnitTest.cpp
       
   279 @@ -20,6 +20,7 @@ std::unique_ptr<GrFragmentProcessor> GrProcessorUnitTest::MakeChildFP(GrProcesso
       
   280      return fp;
       
   281  #else
       
   282      SK_ABORT("Should not be called if !SK_ALLOW_STATIC_GLOBAL_INITIALIZERS");
       
   283 +    SkUNREACHABLE;
       
   284  #endif
       
   285  }
       
   286  #endif
       
   287 diff --git a/gfx/skia/skia/src/gpu/GrReducedClip.cpp b/gfx/skia/skia/src/gpu/GrReducedClip.cpp
       
   288 index 9224e005c6..5c1d44b613 100644
       
   289 --- a/gfx/skia/skia/src/gpu/GrReducedClip.cpp
       
   290 +++ b/gfx/skia/skia/src/gpu/GrReducedClip.cpp
       
   291 @@ -525,6 +525,7 @@ GrReducedClip::ClipResult GrReducedClip::clipInsideElement(const Element* elemen
       
   292      }
       
   293  
       
   294      SK_ABORT("Unexpected DeviceSpaceType");
       
   295 +    SkUNREACHABLE;
       
   296  }
       
   297  
       
   298  GrReducedClip::ClipResult GrReducedClip::clipOutsideElement(const Element* element) {
       
   299 @@ -591,6 +592,7 @@ GrReducedClip::ClipResult GrReducedClip::clipOutsideElement(const Element* eleme
       
   300      }
       
   301  
       
   302      SK_ABORT("Unexpected DeviceSpaceType");
       
   303 +    SkUNREACHABLE;
       
   304  }
       
   305  
       
   306  inline void GrReducedClip::addWindowRectangle(const SkRect& elementInteriorRect, bool elementIsAA) {
       
   307 diff --git a/gfx/skia/skia/src/gpu/GrResourceCache.cpp b/gfx/skia/skia/src/gpu/GrResourceCache.cpp
       
   308 index 6d9a961886..5f2e68dd7b 100644
       
   309 --- a/gfx/skia/skia/src/gpu/GrResourceCache.cpp
       
   310 +++ b/gfx/skia/skia/src/gpu/GrResourceCache.cpp
       
   311 @@ -40,6 +40,7 @@ GrScratchKey::ResourceType GrScratchKey::GenerateResourceType() {
       
   312      int32_t type = nextType++;
       
   313      if (type > SkTo<int32_t>(UINT16_MAX)) {
       
   314          SK_ABORT("Too many Resource Types");
       
   315 +	SkUNREACHABLE;
       
   316      }
       
   317  
       
   318      return static_cast<ResourceType>(type);
       
   319 @@ -51,6 +52,7 @@ GrUniqueKey::Domain GrUniqueKey::GenerateDomain() {
       
   320      int32_t domain = nextDomain++;
       
   321      if (domain > SkTo<int32_t>(UINT16_MAX)) {
       
   322          SK_ABORT("Too many GrUniqueKey Domains");
       
   323 +	SkUNREACHABLE;
       
   324      }
       
   325  
       
   326      return static_cast<Domain>(domain);
       
   327 diff --git a/gfx/skia/skia/src/gpu/GrShaderVar.cpp b/gfx/skia/skia/src/gpu/GrShaderVar.cpp
       
   328 index 6f7ccccd60..67156a74bc 100644
       
   329 --- a/gfx/skia/skia/src/gpu/GrShaderVar.cpp
       
   330 +++ b/gfx/skia/skia/src/gpu/GrShaderVar.cpp
       
   331 @@ -18,6 +18,7 @@ static const char* type_modifier_string(GrShaderVar::TypeModifier t) {
       
   332          case GrShaderVar::kUniform_TypeModifier: return "uniform";
       
   333      }
       
   334      SK_ABORT("Unknown shader variable type modifier.");
       
   335 +    SkUNREACHABLE;
       
   336  }
       
   337  
       
   338  void GrShaderVar::setIOType(GrIOType ioType) {
       
   339 @@ -32,6 +33,7 @@ void GrShaderVar::setIOType(GrIOType ioType) {
       
   340              return;
       
   341      }
       
   342      SK_ABORT("Unknown io type.");
       
   343 +    SkUNREACHABLE;
       
   344  }
       
   345  
       
   346  void GrShaderVar::appendDecl(const GrShaderCaps* shaderCaps, SkString* out) const {
       
   347 diff --git a/gfx/skia/skia/src/gpu/SkGpuDevice.cpp b/gfx/skia/skia/src/gpu/SkGpuDevice.cpp
       
   348 index 77b9963ba5..f6d7ca05dd 100644
       
   349 --- a/gfx/skia/skia/src/gpu/SkGpuDevice.cpp
       
   350 +++ b/gfx/skia/skia/src/gpu/SkGpuDevice.cpp
       
   351 @@ -283,6 +283,7 @@ static inline GrPrimitiveType point_mode_to_primitive_type(SkCanvas::PointMode m
       
   352              return GrPrimitiveType::kLineStrip;
       
   353      }
       
   354      SK_ABORT("Unexpected mode");
       
   355 +    SkUNREACHABLE;
       
   356  }
       
   357  
       
   358  void SkGpuDevice::drawPoints(SkCanvas::PointMode mode,
       
   359 diff --git a/gfx/skia/skia/src/gpu/SkGr.h b/gfx/skia/skia/src/gpu/SkGr.h
       
   360 index 79a68822b9..716f59d7e6 100644
       
   361 --- a/gfx/skia/skia/src/gpu/SkGr.h
       
   362 +++ b/gfx/skia/skia/src/gpu/SkGr.h
       
   363 @@ -159,6 +159,7 @@ static inline GrPrimitiveType SkVertexModeToGrPrimitiveType(SkVertices::VertexMo
       
   364              break;
       
   365      }
       
   366      SK_ABORT("Invalid mode");
       
   367 +    SkUNREACHABLE;
       
   368  }
       
   369  
       
   370  //////////////////////////////////////////////////////////////////////////////
       
   371 diff --git a/gfx/skia/skia/src/gpu/ccpr/GrCCCoverageProcessor.h b/gfx/skia/skia/src/gpu/ccpr/GrCCCoverageProcessor.h
       
   372 index 5fdb488ea5..eb81f47ba6 100644
       
   373 --- a/gfx/skia/skia/src/gpu/ccpr/GrCCCoverageProcessor.h
       
   374 +++ b/gfx/skia/skia/src/gpu/ccpr/GrCCCoverageProcessor.h
       
   375 @@ -240,6 +240,7 @@ inline const char* GrCCCoverageProcessor::PrimitiveTypeName(PrimitiveType type)
       
   376          case PrimitiveType::kConics: return "kConics";
       
   377      }
       
   378      SK_ABORT("Invalid PrimitiveType");
       
   379 +    SkUNREACHABLE;
       
   380  }
       
   381  
       
   382  inline void GrCCCoverageProcessor::TriPointInstance::set(
       
   383 diff --git a/gfx/skia/skia/src/gpu/ccpr/GrCCStrokeGeometry.cpp b/gfx/skia/skia/src/gpu/ccpr/GrCCStrokeGeometry.cpp
       
   384 index 40884d7d8f..c920365f50 100644
       
   385 --- a/gfx/skia/skia/src/gpu/ccpr/GrCCStrokeGeometry.cpp
       
   386 +++ b/gfx/skia/skia/src/gpu/ccpr/GrCCStrokeGeometry.cpp
       
   387 @@ -60,6 +60,7 @@ static GrCCStrokeGeometry::Verb join_verb_from_join(SkPaint::Join join) {
       
   388              return Verb::kRoundJoin;
       
   389      }
       
   390      SK_ABORT("Invalid SkPaint::Join.");
       
   391 +    SkUNREACHABLE;
       
   392  }
       
   393  
       
   394  void GrCCStrokeGeometry::beginPath(const SkStrokeRec& stroke, float strokeDevWidth,
       
   395 diff --git a/gfx/skia/skia/src/gpu/ccpr/GrCCStrokeGeometry.h b/gfx/skia/skia/src/gpu/ccpr/GrCCStrokeGeometry.h
       
   396 index 24569accc4..d105836141 100644
       
   397 --- a/gfx/skia/skia/src/gpu/ccpr/GrCCStrokeGeometry.h
       
   398 +++ b/gfx/skia/skia/src/gpu/ccpr/GrCCStrokeGeometry.h
       
   399 @@ -175,5 +175,6 @@ inline bool GrCCStrokeGeometry::IsInternalJoinVerb(Verb verb) {
       
   400              return false;
       
   401      }
       
   402      SK_ABORT("Invalid GrCCStrokeGeometry::Verb.");
       
   403 +    SkUNREACHABLE;
       
   404  }
       
   405  #endif
       
   406 diff --git a/gfx/skia/skia/src/gpu/ccpr/GrCoverageCountingPathRenderer.cpp b/gfx/skia/skia/src/gpu/ccpr/GrCoverageCountingPathRenderer.cpp
       
   407 index 4e86d7e071..0376cf40c3 100644
       
   408 --- a/gfx/skia/skia/src/gpu/ccpr/GrCoverageCountingPathRenderer.cpp
       
   409 +++ b/gfx/skia/skia/src/gpu/ccpr/GrCoverageCountingPathRenderer.cpp
       
   410 @@ -164,6 +164,7 @@ GrPathRenderer::CanDrawPath GrCoverageCountingPathRenderer::onCanDrawPath(
       
   411      }
       
   412  
       
   413      SK_ABORT("Invalid stroke style.");
       
   414 +    SkUNREACHABLE;
       
   415  }
       
   416  
       
   417  bool GrCoverageCountingPathRenderer::onDrawPath(const DrawPathArgs& args) {
       
   418 diff --git a/gfx/skia/skia/src/gpu/ccpr/GrVSCoverageProcessor.cpp b/gfx/skia/skia/src/gpu/ccpr/GrVSCoverageProcessor.cpp
       
   419 index ae5cfca504..89beff076a 100644
       
   420 --- a/gfx/skia/skia/src/gpu/ccpr/GrVSCoverageProcessor.cpp
       
   421 +++ b/gfx/skia/skia/src/gpu/ccpr/GrVSCoverageProcessor.cpp
       
   422 @@ -550,4 +550,5 @@ GrGLSLPrimitiveProcessor* GrVSCoverageProcessor::onCreateGLSLInstance(
       
   423              return new Impl(std::move(shader), 4);
       
   424      }
       
   425      SK_ABORT("Invalid PrimitiveType");
       
   426 +    SkUNREACHABLE;
       
   427  }
       
   428 diff --git a/gfx/skia/skia/src/gpu/dawn/GrDawnOpsRenderPass.cpp b/gfx/skia/skia/src/gpu/dawn/GrDawnOpsRenderPass.cpp
       
   429 index 48fc8a7f48..9321f43b7e 100644
       
   430 --- a/gfx/skia/skia/src/gpu/dawn/GrDawnOpsRenderPass.cpp
       
   431 +++ b/gfx/skia/skia/src/gpu/dawn/GrDawnOpsRenderPass.cpp
       
   432 @@ -39,7 +39,9 @@ static dawn::LoadOp to_dawn_load_op(GrLoadOp loadOp) {
       
   433              return dawn::LoadOp::Clear;
       
   434          default:
       
   435              SK_ABORT("Invalid LoadOp");
       
   436 +	    SkUNREACHABLE;
       
   437      }
       
   438 +    SkUNREACHABLE;
       
   439  }
       
   440  
       
   441  GrDawnOpsRenderPass::GrDawnOpsRenderPass(GrDawnGpu* gpu, GrRenderTarget* rt, GrSurfaceOrigin origin,
       
   442 diff --git a/gfx/skia/skia/src/gpu/dawn/GrDawnUniformHandler.cpp b/gfx/skia/skia/src/gpu/dawn/GrDawnUniformHandler.cpp
       
   443 index 74fd1e31a4..2546126406 100644
       
   444 --- a/gfx/skia/skia/src/gpu/dawn/GrDawnUniformHandler.cpp
       
   445 +++ b/gfx/skia/skia/src/gpu/dawn/GrDawnUniformHandler.cpp
       
   446 @@ -95,6 +95,7 @@ uint32_t grsltype_to_alignment_mask(GrSLType type) {
       
   447              break;
       
   448      }
       
   449      SK_ABORT("Unexpected type");
       
   450 +    SkUNREACHABLE;
       
   451  }
       
   452  
       
   453  static inline uint32_t grsltype_to_size(GrSLType type) {
       
   454 @@ -173,6 +174,7 @@ static inline uint32_t grsltype_to_size(GrSLType type) {
       
   455              break;
       
   456      }
       
   457      SK_ABORT("Unexpected type");
       
   458 +    SkUNREACHABLE;
       
   459  }
       
   460  
       
   461  uint32_t get_ubo_offset(uint32_t* currentOffset,
       
   462 diff --git a/gfx/skia/skia/src/gpu/dawn/GrDawnVaryingHandler.cpp b/gfx/skia/skia/src/gpu/dawn/GrDawnVaryingHandler.cpp
       
   463 index b3885d20c9..0d2bac39de 100644
       
   464 --- a/gfx/skia/skia/src/gpu/dawn/GrDawnVaryingHandler.cpp
       
   465 +++ b/gfx/skia/skia/src/gpu/dawn/GrDawnVaryingHandler.cpp
       
   466 @@ -76,6 +76,7 @@ static inline int grsltype_to_location_size(GrSLType type) {
       
   467               return 0;
       
   468      }
       
   469      SK_ABORT("Unexpected type");
       
   470 +    SkUNREACHABLE;
       
   471  }
       
   472  
       
   473  static void finalize_helper(GrDawnVaryingHandler::VarArray& vars) {
       
   474 diff --git a/gfx/skia/skia/src/gpu/effects/GrConstColorProcessor.fp b/gfx/skia/skia/src/gpu/effects/GrConstColorProcessor.fp
       
   475 index 18cc91a4b1..fd6694bb76 100644
       
   476 --- a/gfx/skia/skia/src/gpu/effects/GrConstColorProcessor.fp
       
   477 +++ b/gfx/skia/skia/src/gpu/effects/GrConstColorProcessor.fp
       
   478 @@ -58,6 +58,7 @@ void main() {
       
   479                  return color * input;
       
   480          }
       
   481          SK_ABORT("Unexpected mode");
       
   482 +	SkUNREACHABLE;
       
   483      }
       
   484  }
       
   485  
       
   486 diff --git a/gfx/skia/skia/src/gpu/effects/GrCoverageSetOpXP.cpp b/gfx/skia/skia/src/gpu/effects/GrCoverageSetOpXP.cpp
       
   487 index b75842c94a..714fc350d5 100644
       
   488 --- a/gfx/skia/skia/src/gpu/effects/GrCoverageSetOpXP.cpp
       
   489 +++ b/gfx/skia/skia/src/gpu/effects/GrCoverageSetOpXP.cpp
       
   490 @@ -204,6 +204,7 @@ const GrXPFactory* GrCoverageSetOpXPFactory::Get(SkRegion::Op regionOp, bool inv
       
   491      }
       
   492  #undef _CONSTEXPR_
       
   493      SK_ABORT("Unknown region op.");
       
   494 +    SkUNREACHABLE;
       
   495  }
       
   496  
       
   497  sk_sp<const GrXferProcessor> GrCoverageSetOpXPFactory::makeXferProcessor(
       
   498 diff --git a/gfx/skia/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp b/gfx/skia/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
       
   499 index 47d92dbde4..1d44d9ad82 100644
       
   500 --- a/gfx/skia/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
       
   501 +++ b/gfx/skia/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
       
   502 @@ -753,6 +753,7 @@ const GrXPFactory* GrPorterDuffXPFactory::Get(SkBlendMode blendMode) {
       
   503              return &gScreenPDXPF;
       
   504          default:
       
   505              SK_ABORT("Unexpected blend mode.");
       
   506 +	    SkUNREACHABLE;
       
   507      }
       
   508  }
       
   509  
       
   510 diff --git a/gfx/skia/skia/src/gpu/effects/GrSkSLFP.cpp b/gfx/skia/skia/src/gpu/effects/GrSkSLFP.cpp
       
   511 index 9269ebf668..3169ab6e3f 100644
       
   512 --- a/gfx/skia/skia/src/gpu/effects/GrSkSLFP.cpp
       
   513 +++ b/gfx/skia/skia/src/gpu/effects/GrSkSLFP.cpp
       
   514 @@ -154,6 +154,7 @@ public:
       
   515          }
       
   516          printf("%s\n", SkSL::String(type.fName).c_str());
       
   517          SK_ABORT("unsupported uniform type");
       
   518 +	SkUNREACHABLE;
       
   519      }
       
   520  
       
   521      void emitCode(EmitArgs& args) override {
       
   522 @@ -568,6 +569,7 @@ std::unique_ptr<GrFragmentProcessor> GrSkSLFP::TestCreate(GrProcessorTestData* d
       
   523          }
       
   524      }
       
   525      SK_ABORT("unreachable");
       
   526 +    SkUNREACHABLE;
       
   527  }
       
   528  
       
   529  #endif
       
   530 diff --git a/gfx/skia/skia/src/gpu/effects/generated/GrConstColorProcessor.h b/gfx/skia/skia/src/gpu/effects/generated/GrConstColorProcessor.h
       
   531 index df64bce9b7..bc9024cb07 100644
       
   532 --- a/gfx/skia/skia/src/gpu/effects/generated/GrConstColorProcessor.h
       
   533 +++ b/gfx/skia/skia/src/gpu/effects/generated/GrConstColorProcessor.h
       
   534 @@ -41,6 +41,7 @@ public:
       
   535                  return color * input;
       
   536          }
       
   537          SK_ABORT("Unexpected mode");
       
   538 +	SkUNREACHABLE;
       
   539      }
       
   540      static std::unique_ptr<GrFragmentProcessor> Make(SkPMColor4f color, InputMode mode) {
       
   541          return std::unique_ptr<GrFragmentProcessor>(new GrConstColorProcessor(color, mode));
       
   542 diff --git a/gfx/skia/skia/src/gpu/geometry/GrShape.cpp b/gfx/skia/skia/src/gpu/geometry/GrShape.cpp
       
   543 index 4fc3472ffb..f16a2c536e 100644
       
   544 --- a/gfx/skia/skia/src/gpu/geometry/GrShape.cpp
       
   545 +++ b/gfx/skia/skia/src/gpu/geometry/GrShape.cpp
       
   546 @@ -164,6 +164,7 @@ SkRect GrShape::bounds() const {
       
   547              return this->path().getBounds();
       
   548      }
       
   549      SK_ABORT("Unknown shape type");
       
   550 +    SkUNREACHABLE;
       
   551  }
       
   552  
       
   553  SkRect GrShape::styledBounds() const {
       
   554 @@ -254,6 +255,7 @@ int GrShape::unstyledKeySize() const {
       
   555          }
       
   556      }
       
   557      SK_ABORT("Should never get here.");
       
   558 +    SkUNREACHABLE;
       
   559  }
       
   560  
       
   561  void GrShape::writeUnstyledKey(uint32_t* key) const {
       
   562 diff --git a/gfx/skia/skia/src/gpu/gl/GrGLCaps.cpp b/gfx/skia/skia/src/gpu/gl/GrGLCaps.cpp
       
   563 index 3142399c58..2dab83639a 100644
       
   564 --- a/gfx/skia/skia/src/gpu/gl/GrGLCaps.cpp
       
   565 +++ b/gfx/skia/skia/src/gpu/gl/GrGLCaps.cpp
       
   566 @@ -4159,6 +4159,7 @@ GrBackendFormat GrGLCaps::getBackendFormatFromCompressionType(
       
   567              return GrBackendFormat::MakeGL(GR_GL_COMPRESSED_ETC1_RGB8, GR_GL_TEXTURE_2D);
       
   568      }
       
   569      SK_ABORT("Invalid compression type");
       
   570 +    SkUNREACHABLE;
       
   571  }
       
   572  
       
   573  GrSwizzle GrGLCaps::getTextureSwizzle(const GrBackendFormat& format, GrColorType colorType) const {
       
   574 diff --git a/gfx/skia/skia/src/gpu/gl/GrGLGLSL.cpp b/gfx/skia/skia/src/gpu/gl/GrGLGLSL.cpp
       
   575 index 2ad38bc35e..8dc730f1b7 100644
       
   576 --- a/gfx/skia/skia/src/gpu/gl/GrGLGLSL.cpp
       
   577 +++ b/gfx/skia/skia/src/gpu/gl/GrGLGLSL.cpp
       
   578 @@ -68,4 +68,5 @@ bool GrGLGetGLSLGeneration(const GrGLInterface* gl, GrGLSLGeneration* generation
       
   579          return true;
       
   580      }
       
   581      SK_ABORT("Unknown GL Standard");
       
   582 +    SkUNREACHABLE;
       
   583  }
       
   584 diff --git a/gfx/skia/skia/src/gpu/gl/GrGLGpu.cpp b/gfx/skia/skia/src/gpu/gl/GrGLGpu.cpp
       
   585 index 937e168db5..da66902895 100644
       
   586 --- a/gfx/skia/skia/src/gpu/gl/GrGLGpu.cpp
       
   587 +++ b/gfx/skia/skia/src/gpu/gl/GrGLGpu.cpp
       
   588 @@ -196,6 +196,7 @@ static int gl_target_to_binding_index(GrGLenum target) {
       
   589              return 2;
       
   590      }
       
   591      SK_ABORT("Unexpected GL texture target.");
       
   592 +    SkUNREACHABLE;
       
   593  }
       
   594  
       
   595  GrGpuResource::UniqueID GrGLGpu::TextureUnitBindings::boundID(GrGLenum target) const {
       
   596 @@ -234,6 +235,7 @@ static GrGLenum filter_to_gl_mag_filter(GrSamplerState::Filter filter) {
       
   597          case GrSamplerState::Filter::kMipMap:  return GR_GL_LINEAR;
       
   598      }
       
   599      SK_ABORT("Unknown filter");
       
   600 +    SkUNREACHABLE;
       
   601  }
       
   602  
       
   603  static GrGLenum filter_to_gl_min_filter(GrSamplerState::Filter filter) {
       
   604 @@ -243,6 +245,7 @@ static GrGLenum filter_to_gl_min_filter(GrSamplerState::Filter filter) {
       
   605          case GrSamplerState::Filter::kMipMap:  return GR_GL_LINEAR_MIPMAP_LINEAR;
       
   606      }
       
   607      SK_ABORT("Unknown filter");
       
   608 +    SkUNREACHABLE;
       
   609  }
       
   610  
       
   611  static inline GrGLenum wrap_mode_to_gl_wrap(GrSamplerState::WrapMode wrapMode,
       
   612 @@ -257,6 +260,7 @@ static inline GrGLenum wrap_mode_to_gl_wrap(GrSamplerState::WrapMode wrapMode,
       
   613              return GR_GL_CLAMP_TO_BORDER;
       
   614      }
       
   615      SK_ABORT("Unknown wrap mode");
       
   616 +    SkUNREACHABLE;
       
   617  }
       
   618  
       
   619  ///////////////////////////////////////////////////////////////////////////////
       
   620 @@ -1107,7 +1111,7 @@ static bool renderbuffer_storage_msaa(const GrGLContext& ctx,
       
   621              break;
       
   622          case GrGLCaps::kNone_MSFBOType:
       
   623              SK_ABORT("Shouldn't be here if we don't support multisampled renderbuffers.");
       
   624 -            break;
       
   625 +	    SkUNREACHABLE;
       
   626      }
       
   627      return (GR_GL_NO_ERROR == CHECK_ALLOC_ERROR(ctx.interface()));
       
   628  }
       
   629 @@ -2275,9 +2279,10 @@ static GrGLenum gr_primitive_type_to_gl_mode(GrPrimitiveType primitiveType) {
       
   630              return GR_GL_LINE_STRIP;
       
   631          case GrPrimitiveType::kPath:
       
   632              SK_ABORT("non-mesh-based GrPrimitiveType");
       
   633 -            return 0;
       
   634 +            SkUNREACHABLE;
       
   635      }
       
   636      SK_ABORT("invalid GrPrimitiveType");
       
   637 +    SkUNREACHABLE;
       
   638  }
       
   639  
       
   640  void GrGLGpu::sendMeshToGpu(GrPrimitiveType primitiveType, const GrBuffer* vertexBuffer,
       
   641 @@ -4006,7 +4011,8 @@ int GrGLGpu::TextureToCopyProgramIdx(GrTexture* texture) {
       
   642          case kTextureExternalSampler_GrSLType:
       
   643              return 2;
       
   644          default:
       
   645 -            SK_ABORT("Unexpected samper type");
       
   646 +            SK_ABORT("Unexpected sampler type");
       
   647 +	    SkUNREACHABLE;
       
   648      }
       
   649  }
       
   650  
       
   651 diff --git a/gfx/skia/skia/src/gpu/gl/GrGLPath.cpp b/gfx/skia/skia/src/gpu/gl/GrGLPath.cpp
       
   652 index e001bf93a1..8d51f00e4b 100644
       
   653 --- a/gfx/skia/skia/src/gpu/gl/GrGLPath.cpp
       
   654 +++ b/gfx/skia/skia/src/gpu/gl/GrGLPath.cpp
       
   655 @@ -197,6 +197,7 @@ static GrPathRendering::FillType convert_skpath_filltype(SkPath::FillType fill)
       
   656      switch (fill) {
       
   657          default:
       
   658              SK_ABORT("Incomplete Switch\n");
       
   659 +	    SkUNREACHABLE;
       
   660          case SkPath::kWinding_FillType:
       
   661          case SkPath::kInverseWinding_FillType:
       
   662              return GrPathRendering::kWinding_FillType;
       
   663 diff --git a/gfx/skia/skia/src/gpu/gl/GrGLTexture.cpp b/gfx/skia/skia/src/gpu/gl/GrGLTexture.cpp
       
   664 index a5a1a3708b..1a223cf1e2 100644
       
   665 --- a/gfx/skia/skia/src/gpu/gl/GrGLTexture.cpp
       
   666 +++ b/gfx/skia/skia/src/gpu/gl/GrGLTexture.cpp
       
   667 @@ -25,6 +25,7 @@ GrTextureType GrGLTexture::TextureTypeFromTarget(GrGLenum target) {
       
   668              return GrTextureType::kExternal;
       
   669      }
       
   670      SK_ABORT("Unexpected texture target");
       
   671 +    SkUNREACHABLE;
       
   672  }
       
   673  
       
   674  static inline GrGLenum target_from_texture_type(GrTextureType type) {
       
   675 @@ -37,8 +38,10 @@ static inline GrGLenum target_from_texture_type(GrTextureType type) {
       
   676              return GR_GL_TEXTURE_EXTERNAL;
       
   677          default:
       
   678              SK_ABORT("Unexpected texture target");
       
   679 +	    SkUNREACHABLE;
       
   680      }
       
   681      SK_ABORT("Unexpected texture type");
       
   682 +    SkUNREACHABLE;
       
   683  }
       
   684  
       
   685  // Because this class is virtually derived from GrSurface we must explicitly call its constructor.
       
   686 diff --git a/gfx/skia/skia/src/gpu/gl/GrGLVertexArray.cpp b/gfx/skia/skia/src/gpu/gl/GrGLVertexArray.cpp
       
   687 index cfac573241..4d878af131 100644
       
   688 --- a/gfx/skia/skia/src/gpu/gl/GrGLVertexArray.cpp
       
   689 +++ b/gfx/skia/skia/src/gpu/gl/GrGLVertexArray.cpp
       
   690 @@ -80,6 +80,7 @@ static AttribLayout attrib_layout(GrVertexAttribType type) {
       
   691              return {true, 4, GR_GL_UNSIGNED_SHORT};
       
   692      }
       
   693      SK_ABORT("Unknown vertex attrib type");
       
   694 +    SkUNREACHABLE;
       
   695  };
       
   696  
       
   697  void GrGLAttribArrayState::set(GrGLGpu* gpu,
       
   698 diff --git a/gfx/skia/skia/src/gpu/glsl/GrGLSL.cpp b/gfx/skia/skia/src/gpu/glsl/GrGLSL.cpp
       
   699 index afa9159bb0..d073fa6f8b 100644
       
   700 --- a/gfx/skia/skia/src/gpu/glsl/GrGLSL.cpp
       
   701 +++ b/gfx/skia/skia/src/gpu/glsl/GrGLSL.cpp
       
   702 @@ -98,4 +98,5 @@ const char* GrGLSLTypeString(GrSLType t) {
       
   703              return "sampler";
       
   704      }
       
   705      SK_ABORT("Unknown shader var type.");
       
   706 +    SkUNREACHABLE;
       
   707  }
       
   708 diff --git a/gfx/skia/skia/src/gpu/glsl/GrGLSLVarying.cpp b/gfx/skia/skia/src/gpu/glsl/GrGLSLVarying.cpp
       
   709 index ce086a9082..16a0171e7d 100644
       
   710 --- a/gfx/skia/skia/src/gpu/glsl/GrGLSLVarying.cpp
       
   711 +++ b/gfx/skia/skia/src/gpu/glsl/GrGLSLVarying.cpp
       
   712 @@ -35,6 +35,7 @@ static bool use_flat_interpolation(GrGLSLVaryingHandler::Interpolation interpola
       
   713              return true;
       
   714      }
       
   715      SK_ABORT("Invalid interpolation");
       
   716 +    SkUNREACHABLE;
       
   717  }
       
   718  
       
   719  void GrGLSLVaryingHandler::addVarying(const char* name, GrGLSLVarying* varying,
       
   720 diff --git a/gfx/skia/skia/src/gpu/glsl/GrGLSLVertexGeoBuilder.cpp b/gfx/skia/skia/src/gpu/glsl/GrGLSLVertexGeoBuilder.cpp
       
   721 index ccec08db8b..751b40e9fe 100644
       
   722 --- a/gfx/skia/skia/src/gpu/glsl/GrGLSLVertexGeoBuilder.cpp
       
   723 +++ b/gfx/skia/skia/src/gpu/glsl/GrGLSLVertexGeoBuilder.cpp
       
   724 @@ -51,6 +51,7 @@ static const char* input_type_name(GrGLSLGeometryBuilder::InputType in) {
       
   725          case InputType::kTriangles: return "triangles";
       
   726      }
       
   727      SK_ABORT("invalid input type");
       
   728 +    SkUNREACHABLE;
       
   729  }
       
   730  
       
   731  static const char* output_type_name(GrGLSLGeometryBuilder::OutputType out) {
       
   732 @@ -61,6 +62,7 @@ static const char* output_type_name(GrGLSLGeometryBuilder::OutputType out) {
       
   733          case OutputType::kTriangleStrip: return "triangle_strip";
       
   734      }
       
   735      SK_ABORT("invalid output type");
       
   736 +    SkUNREACHABLE;
       
   737  }
       
   738  
       
   739  void GrGLSLGeometryBuilder::configure(InputType inputType, OutputType outputType, int maxVertices,
       
   740 diff --git a/gfx/skia/skia/src/gpu/mtl/GrMtlCaps.mm b/gfx/skia/skia/src/gpu/mtl/GrMtlCaps.mm
       
   741 index 7511f26366..82ff3db772 100644
       
   742 --- a/gfx/skia/skia/src/gpu/mtl/GrMtlCaps.mm
       
   743 +++ b/gfx/skia/skia/src/gpu/mtl/GrMtlCaps.mm
       
   744 @@ -506,6 +506,7 @@ size_t GrMtlCaps::GetFormatIndex(MTLPixelFormat pixelFormat) {
       
   745          }
       
   746      }
       
   747      SK_ABORT("Invalid MTLPixelFormat");
       
   748 +    SkUNREACHABLE;
       
   749  }
       
   750  
       
   751  void GrMtlCaps::initFormatTable() {
       
   752 @@ -1011,6 +1012,7 @@ GrBackendFormat GrMtlCaps::getBackendFormatFromCompressionType(
       
   753  #endif
       
   754      }
       
   755      SK_ABORT("Invalid compression type");
       
   756 +    SkUNREACHABLE;
       
   757  }
       
   758  
       
   759  GrSwizzle GrMtlCaps::getTextureSwizzle(const GrBackendFormat& format, GrColorType colorType) const {
       
   760 diff --git a/gfx/skia/skia/src/gpu/mtl/GrMtlPipelineStateBuilder.mm b/gfx/skia/skia/src/gpu/mtl/GrMtlPipelineStateBuilder.mm
       
   761 index 090c41b9de..4be37d4c53 100644
       
   762 --- a/gfx/skia/skia/src/gpu/mtl/GrMtlPipelineStateBuilder.mm
       
   763 +++ b/gfx/skia/skia/src/gpu/mtl/GrMtlPipelineStateBuilder.mm
       
   764 @@ -155,6 +155,7 @@ static inline MTLVertexFormat attribute_type_to_mtlformat(GrVertexAttribType typ
       
   765              return MTLVertexFormatUShort4Normalized;
       
   766      }
       
   767      SK_ABORT("Unknown vertex attribute type");
       
   768 +    SkUNREACHABLE;
       
   769  }
       
   770  
       
   771  static MTLVertexDescriptor* create_vertex_descriptor(const GrPrimitiveProcessor& primProc) {
       
   772 @@ -276,6 +277,7 @@ static MTLBlendFactor blend_coeff_to_mtl_blend(GrBlendCoeff coeff) {
       
   773      }
       
   774  
       
   775      SK_ABORT("Unknown blend coefficient");
       
   776 +    SkUNREACHABLE;
       
   777  }
       
   778  
       
   779  static MTLBlendOperation blend_equation_to_mtl_blend_op(GrBlendEquation equation) {
       
   780 diff --git a/gfx/skia/skia/src/gpu/mtl/GrMtlSampler.mm b/gfx/skia/skia/src/gpu/mtl/GrMtlSampler.mm
       
   781 index 2d7344eff7..2d03c968bf 100644
       
   782 --- a/gfx/skia/skia/src/gpu/mtl/GrMtlSampler.mm
       
   783 +++ b/gfx/skia/skia/src/gpu/mtl/GrMtlSampler.mm
       
   784 @@ -38,6 +38,7 @@ static inline MTLSamplerAddressMode wrap_mode_to_mtl_sampler_address(
       
   785              }
       
   786      }
       
   787      SK_ABORT("Unknown wrap mode.");
       
   788 +    SkUNREACHABLE;
       
   789  }
       
   790  
       
   791  GrMtlSampler* GrMtlSampler::Create(const GrMtlGpu* gpu, const GrSamplerState& samplerState) {
       
   792 diff --git a/gfx/skia/skia/src/gpu/mtl/GrMtlUniformHandler.mm b/gfx/skia/skia/src/gpu/mtl/GrMtlUniformHandler.mm
       
   793 index 89e1263eaf..7a2d007918 100644
       
   794 --- a/gfx/skia/skia/src/gpu/mtl/GrMtlUniformHandler.mm
       
   795 +++ b/gfx/skia/skia/src/gpu/mtl/GrMtlUniformHandler.mm
       
   796 @@ -90,6 +90,7 @@ static uint32_t grsltype_to_alignment_mask(GrSLType type) {
       
   797              break;
       
   798      }
       
   799      SK_ABORT("Unexpected type");
       
   800 +    SkUNREACHABLE;
       
   801  }
       
   802  
       
   803  /** Returns the size in bytes taken up in Metal buffers for GrSLTypes. */
       
   804 @@ -172,6 +173,7 @@ static inline uint32_t grsltype_to_mtl_size(GrSLType type) {
       
   805              break;
       
   806      }
       
   807      SK_ABORT("Unexpected type");
       
   808 +    SkUNREACHABLE;
       
   809  }
       
   810  
       
   811  // Given the current offset into the ubo, calculate the offset for the uniform we're trying to add
       
   812 diff --git a/gfx/skia/skia/src/gpu/mtl/GrMtlUtil.mm b/gfx/skia/skia/src/gpu/mtl/GrMtlUtil.mm
       
   813 index eccf435074..b49a43b7ec 100644
       
   814 --- a/gfx/skia/skia/src/gpu/mtl/GrMtlUtil.mm
       
   815 +++ b/gfx/skia/skia/src/gpu/mtl/GrMtlUtil.mm
       
   816 @@ -112,6 +112,7 @@ bool GrPixelConfigToMTLFormat(GrPixelConfig config, MTLPixelFormat* format) {
       
   817              return true;
       
   818      }
       
   819      SK_ABORT("Unexpected config");
       
   820 +    SkUNREACHABLE;
       
   821  }
       
   822  
       
   823  MTLTextureDescriptor* GrGetMTLTextureDescriptor(id<MTLTexture> mtlTexture) {
       
   824 diff --git a/gfx/skia/skia/src/gpu/ops/GrDrawVerticesOp.cpp b/gfx/skia/skia/src/gpu/ops/GrDrawVerticesOp.cpp
       
   825 index 4b311b5207..8a010a1de1 100644
       
   826 --- a/gfx/skia/skia/src/gpu/ops/GrDrawVerticesOp.cpp
       
   827 +++ b/gfx/skia/skia/src/gpu/ops/GrDrawVerticesOp.cpp
       
   828 @@ -610,6 +610,7 @@ static uint32_t seed_vertices(GrPrimitiveType type) {
       
   829              return 0;
       
   830      }
       
   831      SK_ABORT("Incomplete switch\n");
       
   832 +    SkUNREACHABLE;
       
   833  }
       
   834  
       
   835  static uint32_t primitive_vertices(GrPrimitiveType type) {
       
   836 @@ -627,6 +628,7 @@ static uint32_t primitive_vertices(GrPrimitiveType type) {
       
   837              return 0;
       
   838      }
       
   839      SK_ABORT("Incomplete switch\n");
       
   840 +    SkUNREACHABLE;
       
   841  }
       
   842  
       
   843  static SkPoint random_point(SkRandom* random, SkScalar min, SkScalar max) {
       
   844 diff --git a/gfx/skia/skia/src/gpu/ops/GrFillRRectOp.cpp b/gfx/skia/skia/src/gpu/ops/GrFillRRectOp.cpp
       
   845 index 6b3c023ff6..6b28723bd5 100644
       
   846 --- a/gfx/skia/skia/src/gpu/ops/GrFillRRectOp.cpp
       
   847 +++ b/gfx/skia/skia/src/gpu/ops/GrFillRRectOp.cpp
       
   848 @@ -823,4 +823,5 @@ static bool can_use_hw_derivatives_with_coverage(
       
   849          }
       
   850      }
       
   851      SK_ABORT("Invalid round rect type.");
       
   852 +    SkUNREACHABLE;
       
   853  }
       
   854 diff --git a/gfx/skia/skia/src/gpu/ops/GrOvalOpFactory.cpp b/gfx/skia/skia/src/gpu/ops/GrOvalOpFactory.cpp
       
   855 index b32758150f..10f0d96889 100644
       
   856 --- a/gfx/skia/skia/src/gpu/ops/GrOvalOpFactory.cpp
       
   857 +++ b/gfx/skia/skia/src/gpu/ops/GrOvalOpFactory.cpp
       
   858 @@ -2283,6 +2283,7 @@ static int rrect_type_to_vert_count(RRectType type) {
       
   859              return kVertsPerOverstrokeRRect;
       
   860      }
       
   861      SK_ABORT("Invalid type");
       
   862 +    SkUNREACHABLE;
       
   863  }
       
   864  
       
   865  static int rrect_type_to_index_count(RRectType type) {
       
   866 @@ -2295,6 +2296,7 @@ static int rrect_type_to_index_count(RRectType type) {
       
   867              return kIndicesPerOverstrokeRRect;
       
   868      }
       
   869      SK_ABORT("Invalid type");
       
   870 +    SkUNREACHABLE;
       
   871  }
       
   872  
       
   873  static const uint16_t* rrect_type_to_indices(RRectType type) {
       
   874 @@ -2306,6 +2308,7 @@ static const uint16_t* rrect_type_to_indices(RRectType type) {
       
   875              return gOverstrokeRRectIndices;
       
   876      }
       
   877      SK_ABORT("Invalid type");
       
   878 +    SkUNREACHABLE;
       
   879  }
       
   880  
       
   881  ///////////////////////////////////////////////////////////////////////////////////////////////////
       
   882 diff --git a/gfx/skia/skia/src/gpu/ops/GrShadowRRectOp.cpp b/gfx/skia/skia/src/gpu/ops/GrShadowRRectOp.cpp
       
   883 index 546933bb8a..fadf6096c3 100644
       
   884 --- a/gfx/skia/skia/src/gpu/ops/GrShadowRRectOp.cpp
       
   885 +++ b/gfx/skia/skia/src/gpu/ops/GrShadowRRectOp.cpp
       
   886 @@ -155,6 +155,7 @@ static int rrect_type_to_vert_count(RRectType type) {
       
   887              return kVertsPerOverstrokeRRect;
       
   888      }
       
   889      SK_ABORT("Invalid type");
       
   890 +    SkUNREACHABLE;
       
   891  }
       
   892  
       
   893  static int rrect_type_to_index_count(RRectType type) {
       
   894 @@ -167,6 +168,7 @@ static int rrect_type_to_index_count(RRectType type) {
       
   895              return kIndicesPerOverstrokeRRect;
       
   896      }
       
   897      SK_ABORT("Invalid type");
       
   898 +    SkUNREACHABLE;
       
   899  }
       
   900  
       
   901  static const uint16_t* rrect_type_to_indices(RRectType type) {
       
   902 @@ -178,6 +180,7 @@ static const uint16_t* rrect_type_to_indices(RRectType type) {
       
   903              return gRRectIndices;
       
   904      }
       
   905      SK_ABORT("Invalid type");
       
   906 +    SkUNREACHABLE;
       
   907  }
       
   908  
       
   909  ///////////////////////////////////////////////////////////////////////////////
       
   910 diff --git a/gfx/skia/skia/src/gpu/text/GrTextBlob.h b/gfx/skia/skia/src/gpu/text/GrTextBlob.h
       
   911 index ddea88d15f..d82e84704f 100644
       
   912 --- a/gfx/skia/skia/src/gpu/text/GrTextBlob.h
       
   913 +++ b/gfx/skia/skia/src/gpu/text/GrTextBlob.h
       
   914 @@ -125,6 +125,7 @@ public:
       
   915  
       
   916      void* operator new(size_t) {
       
   917          SK_ABORT("All blobs are created by placement new.");
       
   918 +	SkUNREACHABLE;
       
   919      }
       
   920  
       
   921      void* operator new(size_t, void* p) { return p; }
       
   922 diff --git a/gfx/skia/skia/src/gpu/text/GrTextBlobVertexRegenerator.cpp b/gfx/skia/skia/src/gpu/text/GrTextBlobVertexRegenerator.cpp
       
   923 index 976beaf3d4..f9c01dd217 100644
       
   924 --- a/gfx/skia/skia/src/gpu/text/GrTextBlobVertexRegenerator.cpp
       
   925 +++ b/gfx/skia/skia/src/gpu/text/GrTextBlobVertexRegenerator.cpp
       
   926 @@ -284,4 +284,5 @@ bool GrTextBlob::VertexRegenerator::regenerate(GrTextBlob::VertexRegenerator::Re
       
   927          return true;
       
   928      }
       
   929      SK_ABORT("Should not get here");
       
   930 +    SkUNREACHABLE;
       
   931  }
       
   932 diff --git a/gfx/skia/skia/src/gpu/vk/GrVkCaps.cpp b/gfx/skia/skia/src/gpu/vk/GrVkCaps.cpp
       
   933 index 36e2436a85..a914f5a4d5 100644
       
   934 --- a/gfx/skia/skia/src/gpu/vk/GrVkCaps.cpp
       
   935 +++ b/gfx/skia/skia/src/gpu/vk/GrVkCaps.cpp
       
   936 @@ -108,6 +108,7 @@ static FormatCompatibilityClass format_compatibility_class(VkFormat format) {
       
   937  
       
   938          default:
       
   939              SK_ABORT("Unsupported VkFormat");
       
   940 +	    SkUNREACHABLE;
       
   941      }
       
   942  }
       
   943  
       
   944 @@ -1656,6 +1657,7 @@ GrBackendFormat GrVkCaps::getBackendFormatFromCompressionType(
       
   945              return GrBackendFormat::MakeVk(VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK);
       
   946      }
       
   947      SK_ABORT("Invalid compression type");
       
   948 +    SkUNREACHABLE;
       
   949  }
       
   950  
       
   951  GrSwizzle GrVkCaps::getTextureSwizzle(const GrBackendFormat& format, GrColorType colorType) const {
       
   952 diff --git a/gfx/skia/skia/src/gpu/vk/GrVkMemory.cpp b/gfx/skia/skia/src/gpu/vk/GrVkMemory.cpp
       
   953 index ed14a643ec..3675c953d4 100644
       
   954 --- a/gfx/skia/skia/src/gpu/vk/GrVkMemory.cpp
       
   955 +++ b/gfx/skia/skia/src/gpu/vk/GrVkMemory.cpp
       
   956 @@ -28,6 +28,7 @@ static BufferUsage get_buffer_usage(GrVkBuffer::Type type, bool dynamic) {
       
   957              return BufferUsage::kCpuOnly;
       
   958      }
       
   959      SK_ABORT("Invalid GrVkBuffer::Type");
       
   960 +    SkUNREACHABLE;
       
   961  }
       
   962  
       
   963  bool GrVkMemory::AllocAndBindBufferMemory(const GrVkGpu* gpu,
       
   964 diff --git a/gfx/skia/skia/src/gpu/vk/GrVkPipeline.cpp b/gfx/skia/skia/src/gpu/vk/GrVkPipeline.cpp
       
   965 index 6868ff5bab..2c7a20a7db 100644
       
   966 --- a/gfx/skia/skia/src/gpu/vk/GrVkPipeline.cpp
       
   967 +++ b/gfx/skia/skia/src/gpu/vk/GrVkPipeline.cpp
       
   968 @@ -80,6 +80,7 @@ static inline VkFormat attrib_type_to_vkformat(GrVertexAttribType type) {
       
   969              return VK_FORMAT_R16G16B16A16_UNORM;
       
   970      }
       
   971      SK_ABORT("Unknown vertex attrib type");
       
   972 +    SkUNREACHABLE;
       
   973  }
       
   974  
       
   975  static void setup_vertex_input_state(const GrPrimitiveProcessor& primProc,
       
   976 @@ -162,8 +163,10 @@ static VkPrimitiveTopology gr_primitive_type_to_vk_topology(GrPrimitiveType prim
       
   977              return VK_PRIMITIVE_TOPOLOGY_LINE_STRIP;
       
   978          case GrPrimitiveType::kPath:
       
   979              SK_ABORT("Unsupported primitive type");
       
   980 +	    SkUNREACHABLE;
       
   981      }
       
   982      SK_ABORT("invalid GrPrimitiveType");
       
   983 +    SkUNREACHABLE;
       
   984  }
       
   985  
       
   986  static void setup_input_assembly_state(GrPrimitiveType primitiveType,
       
   987 diff --git a/gfx/skia/skia/src/gpu/vk/GrVkSampler.cpp b/gfx/skia/skia/src/gpu/vk/GrVkSampler.cpp
       
   988 index 5dc3544f00..306bd96816 100644
       
   989 --- a/gfx/skia/skia/src/gpu/vk/GrVkSampler.cpp
       
   990 +++ b/gfx/skia/skia/src/gpu/vk/GrVkSampler.cpp
       
   991 @@ -23,6 +23,7 @@ static inline VkSamplerAddressMode wrap_mode_to_vk_sampler_address(
       
   992              return VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER;
       
   993      }
       
   994      SK_ABORT("Unknown wrap mode.");
       
   995 +    SkUNREACHABLE;
       
   996  }
       
   997  
       
   998  GrVkSampler* GrVkSampler::Create(GrVkGpu* gpu, const GrSamplerState& samplerState,
       
   999 diff --git a/gfx/skia/skia/src/gpu/vk/GrVkTransferBuffer.h b/gfx/skia/skia/src/gpu/vk/GrVkTransferBuffer.h
       
  1000 index 210cf228d9..6a6fd90d96 100644
       
  1001 --- a/gfx/skia/skia/src/gpu/vk/GrVkTransferBuffer.h
       
  1002 +++ b/gfx/skia/skia/src/gpu/vk/GrVkTransferBuffer.h
       
  1003 @@ -34,6 +34,7 @@ private:
       
  1004  
       
  1005      bool onUpdateData(const void* src, size_t srcSizeInBytes) override {
       
  1006          SK_ABORT("Not implemented for transfer buffers.");
       
  1007 +	SkUNREACHABLE;
       
  1008      }
       
  1009  
       
  1010      GrVkGpu* getVkGpu() const {
       
  1011 diff --git a/gfx/skia/skia/src/gpu/vk/GrVkUniformHandler.cpp b/gfx/skia/skia/src/gpu/vk/GrVkUniformHandler.cpp
       
  1012 index 6df62ce6a9..4ac6873563 100644
       
  1013 --- a/gfx/skia/skia/src/gpu/vk/GrVkUniformHandler.cpp
       
  1014 +++ b/gfx/skia/skia/src/gpu/vk/GrVkUniformHandler.cpp
       
  1015 @@ -89,6 +89,7 @@ static uint32_t grsltype_to_alignment_mask(GrSLType type) {
       
  1016              break;
       
  1017      }
       
  1018      SK_ABORT("Unexpected type");
       
  1019 +    SkUNREACHABLE;
       
  1020  }
       
  1021  
       
  1022  /** Returns the size in bytes taken up in vulkanbuffers for GrSLTypes. */
       
  1023 @@ -172,6 +173,7 @@ static inline uint32_t grsltype_to_vk_size(GrSLType type) {
       
  1024              break;
       
  1025      }
       
  1026      SK_ABORT("Unexpected type");
       
  1027 +    SkUNREACHABLE;
       
  1028  }
       
  1029  
       
  1030  
       
  1031 diff --git a/gfx/skia/skia/src/gpu/vk/GrVkVaryingHandler.cpp b/gfx/skia/skia/src/gpu/vk/GrVkVaryingHandler.cpp
       
  1032 index 5fe2f45373..4b6d61813d 100644
       
  1033 --- a/gfx/skia/skia/src/gpu/vk/GrVkVaryingHandler.cpp
       
  1034 +++ b/gfx/skia/skia/src/gpu/vk/GrVkVaryingHandler.cpp
       
  1035 @@ -74,6 +74,7 @@ static inline int grsltype_to_location_size(GrSLType type) {
       
  1036               return 1;
       
  1037      }
       
  1038      SK_ABORT("Unexpected type");
       
  1039 +    SkUNREACHABLE;
       
  1040  }
       
  1041  
       
  1042  static void finalize_helper(GrVkVaryingHandler::VarArray& vars) {
       
  1043 diff --git a/gfx/skia/skia/src/pdf/SkPDFTag.cpp b/gfx/skia/skia/src/pdf/SkPDFTag.cpp
       
  1044 index a2248070e8..15122d5047 100644
       
  1045 --- a/gfx/skia/skia/src/pdf/SkPDFTag.cpp
       
  1046 +++ b/gfx/skia/skia/src/pdf/SkPDFTag.cpp
       
  1047 @@ -64,6 +64,7 @@ static const char* tag_name_from_type(SkPDF::DocumentStructureType type) {
       
  1048          #undef M
       
  1049      }
       
  1050      SK_ABORT("bad tag");
       
  1051 +    SkUNREACHABLE;
       
  1052  }
       
  1053  
       
  1054  struct SkPDFTagNode {
       
  1055 diff --git a/gfx/skia/skia/src/ports/SkFontMgr_FontConfigInterface.cpp b/gfx/skia/skia/src/ports/SkFontMgr_FontConfigInterface.cpp
       
  1056 index 23986cbaaa..e78c47b11a 100644
       
  1057 --- a/gfx/skia/skia/src/ports/SkFontMgr_FontConfigInterface.cpp
       
  1058 +++ b/gfx/skia/skia/src/ports/SkFontMgr_FontConfigInterface.cpp
       
  1059 @@ -173,18 +173,22 @@ public:
       
  1060  protected:
       
  1061      int onCountFamilies() const override {
       
  1062          SK_ABORT("Not implemented.");
       
  1063 +	SkUNREACHABLE;
       
  1064      }
       
  1065  
       
  1066      void onGetFamilyName(int index, SkString* familyName) const override {
       
  1067          SK_ABORT("Not implemented.");
       
  1068 +	SkUNREACHABLE;
       
  1069      }
       
  1070  
       
  1071      SkFontStyleSet* onCreateStyleSet(int index) const override {
       
  1072          SK_ABORT("Not implemented.");
       
  1073 +	SkUNREACHABLE;
       
  1074      }
       
  1075  
       
  1076      SkFontStyleSet* onMatchFamily(const char familyName[]) const override {
       
  1077          SK_ABORT("Not implemented.");
       
  1078 +	SkUNREACHABLE;
       
  1079      }
       
  1080  
       
  1081      SkTypeface* onMatchFamilyStyle(const char requestedFamilyName[],
       
  1082 @@ -215,10 +219,12 @@ protected:
       
  1083                                              const char* bcp47[], int bcp47Count,
       
  1084                                              SkUnichar character) const override {
       
  1085          SK_ABORT("Not implemented.");
       
  1086 +	SkUNREACHABLE;
       
  1087      }
       
  1088  
       
  1089      SkTypeface* onMatchFaceStyle(const SkTypeface*, const SkFontStyle&) const override {
       
  1090          SK_ABORT("Not implemented.");
       
  1091 +	SkUNREACHABLE;
       
  1092      }
       
  1093  
       
  1094      sk_sp<SkTypeface> onMakeFromData(sk_sp<SkData> data, int ttcIndex) const override {
       
  1095 diff --git a/gfx/skia/skia/src/shaders/SkImageShader.cpp b/gfx/skia/skia/src/shaders/SkImageShader.cpp
       
  1096 index 5bc13e587c..968e3cffae 100644
       
  1097 --- a/gfx/skia/skia/src/shaders/SkImageShader.cpp
       
  1098 +++ b/gfx/skia/skia/src/shaders/SkImageShader.cpp
       
  1099 @@ -183,6 +183,7 @@ static GrSamplerState::WrapMode tile_mode_to_wrap_mode(const SkTileMode tileMode
       
  1100              return GrSamplerState::WrapMode::kClampToBorder;
       
  1101      }
       
  1102      SK_ABORT("Unknown tile mode.");
       
  1103 +    SkUNREACHABLE;
       
  1104  }
       
  1105  
       
  1106  std::unique_ptr<GrFragmentProcessor> SkImageShader::asFragmentProcessor(
       
  1107 diff --git a/gfx/skia/skia/src/utils/SkShadowUtils.cpp b/gfx/skia/skia/src/utils/SkShadowUtils.cpp
       
  1108 index 1b47af5523..f0ae0411d0 100644
       
  1109 --- a/gfx/skia/skia/src/utils/SkShadowUtils.cpp
       
  1110 +++ b/gfx/skia/skia/src/utils/SkShadowUtils.cpp
       
  1111 @@ -149,6 +149,7 @@ struct SpotVerticesFactory {
       
  1112                  return false;
       
  1113          }
       
  1114          SK_ABORT("Uninitialized occluder type?");
       
  1115 +	SkUNREACHABLE;
       
  1116      }
       
  1117  
       
  1118      sk_sp<SkVertices> makeVertices(const SkPath& path, const SkMatrix& ctm,
       
  1119 diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ast_to_hir.cpp b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ast_to_hir.cpp
       
  1120 index c00298a160..74b9d1aef3 100644
       
  1121 --- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ast_to_hir.cpp
       
  1122 +++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ast_to_hir.cpp
       
  1123 @@ -2651,6 +2651,7 @@ get_type_name_for_precision_qualifier(const glsl_type *type)
       
  1124     default:
       
  1125        unreachable("Unsupported type");
       
  1126     } /* base type */
       
  1127 +   return "";
       
  1128  }
       
  1129  
       
  1130  static unsigned
       
  1131 diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir.cpp b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir.cpp
       
  1132 index 9ea8e00d31..2dee2ccdcd 100644
       
  1133 --- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir.cpp
       
  1134 +++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir.cpp
       
  1135 @@ -624,6 +624,7 @@ ir_expression::get_num_operands(ir_expression_operation op)
       
  1136        return 4;
       
  1137  
       
  1138     unreachable("Could not calculate number of operands");
       
  1139 +   return -1;
       
  1140  }
       
  1141  
       
  1142  #include "ir_expression_operation_strings.h"
       
  1143 diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/loop_analysis.cpp b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/loop_analysis.cpp
       
  1144 index 9429e69c2a..8d9da42434 100644
       
  1145 --- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/loop_analysis.cpp
       
  1146 +++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/loop_analysis.cpp
       
  1147 @@ -239,6 +239,7 @@ incremented_before_terminator(ir_loop *loop, ir_variable *var,
       
  1148     }
       
  1149  
       
  1150     unreachable("Unable to find induction variable");
       
  1151 +   return false;
       
  1152  }
       
  1153  
       
  1154  /**
       
  1155 diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/opt_vectorize.cpp b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/opt_vectorize.cpp
       
  1156 index 88318cd8a6..63a535c802 100644
       
  1157 --- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/opt_vectorize.cpp
       
  1158 +++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/opt_vectorize.cpp
       
  1159 @@ -229,6 +229,7 @@ write_mask_to_swizzle(unsigned write_mask)
       
  1160     case WRITEMASK_W: return SWIZZLE_W;
       
  1161     }
       
  1162     unreachable("not reached");
       
  1163 +   return 0;
       
  1164  }
       
  1165  
       
  1166  /**
       
  1167 diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl_types.cpp b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl_types.cpp
       
  1168 index 445659599c..615ab6215a 100644
       
  1169 --- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl_types.cpp
       
  1170 +++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl_types.cpp
       
  1171 @@ -460,6 +460,7 @@ const glsl_type *glsl_type::get_bare_type() const
       
  1172     }
       
  1173  
       
  1174     unreachable("Invalid base type");
       
  1175 +   return nullptr;
       
  1176  }
       
  1177  
       
  1178  const glsl_type *glsl_type::get_float16_type() const
       
  1179 @@ -2016,6 +2017,7 @@ glsl_type::get_explicit_std140_type(bool row_major) const
       
  1180        return type;
       
  1181     } else {
       
  1182        unreachable("Invalid type for UBO or SSBO");
       
  1183 +      return nullptr;
       
  1184     }
       
  1185  }
       
  1186  
       
  1187 @@ -2374,6 +2376,7 @@ glsl_type::get_explicit_std430_type(bool row_major) const
       
  1188        return type;
       
  1189     } else {
       
  1190        unreachable("Invalid type for SSBO");
       
  1191 +      return nullptr;
       
  1192     }
       
  1193  }
       
  1194  
       
  1195 @@ -2448,6 +2451,7 @@ glsl_type::get_explicit_type_for_size_align(glsl_type_size_align_func type_info,
       
  1196                                       this->matrix_columns, stride, false);
       
  1197     } else {
       
  1198        unreachable("Unhandled type.");
       
  1199 +      return nullptr;
       
  1200     }
       
  1201  }
       
  1202  
       
  1203 @@ -2948,6 +2952,7 @@ glsl_get_sampler_dim_coordinate_components(enum glsl_sampler_dim dim)
       
  1204        return 3;
       
  1205     default:
       
  1206        unreachable("Unknown sampler dim");
       
  1207 +      return -1;
       
  1208     }
       
  1209  }
       
  1210  
       
  1211 diff --git a/third_party/rust/glslopt/glsl-optimizer/src/mesa/main/shaderobj.h b/third_party/rust/glslopt/glsl-optimizer/src/mesa/main/shaderobj.h
       
  1212 index 0d512550de..ef940cabdd 100644
       
  1213 --- a/third_party/rust/glslopt/glsl-optimizer/src/mesa/main/shaderobj.h
       
  1214 +++ b/third_party/rust/glslopt/glsl-optimizer/src/mesa/main/shaderobj.h
       
  1215 @@ -185,6 +185,7 @@ _mesa_shader_stage_from_subroutine_uniform(GLenum subuniform)
       
  1216        return MESA_SHADER_TESS_EVAL;
       
  1217     }
       
  1218     unreachable("not reached");
       
  1219 +   return MESA_SHADER_NONE;
       
  1220  }
       
  1221  
       
  1222  static inline gl_shader_stage
       
  1223 @@ -205,6 +206,7 @@ _mesa_shader_stage_from_subroutine(GLenum subroutine)
       
  1224        return MESA_SHADER_TESS_EVAL;
       
  1225     }
       
  1226     unreachable("not reached");
       
  1227 +   return MESA_SHADER_NONE;
       
  1228  }
       
  1229  
       
  1230  static inline GLenum
       
  1231 @@ -230,6 +232,7 @@ _mesa_shader_stage_to_subroutine(gl_shader_stage stage)
       
  1232        break;
       
  1233     }
       
  1234     unreachable("not reached");
       
  1235 +   return GL_VERTEX_PROGRAM_ARB;
       
  1236  }
       
  1237  
       
  1238  static inline GLenum
       
  1239 @@ -253,6 +256,7 @@ _mesa_shader_stage_to_subroutine_uniform(gl_shader_stage stage)
       
  1240        break;
       
  1241     }
       
  1242     unreachable("not reached");
       
  1243 +   return GL_VERTEX_PROGRAM_ARB;
       
  1244  }
       
  1245  
       
  1246  extern bool