skia2/include/core
Ben Wagner 0795361b45 SkUNREACHABLE should fail, not be UB.
The use of __builtin_unreachable() and __assume(false) are actually
injections of undefined behavior. They do not crash and they may allow
the compiler to assume that any values which could cause that location
to be reached cannot occur. They should only be used after code which
cannot return but the compiler cannot know that (such as inline assembly
which does not return and calls to functions which should have been
declared noreturn but were not).

Replace their use with __builtin_trap() and __failfast(). These are
similar to __builtin_debugtrap() or __debugbreak() but also indicate
that execution should not be resumed.

Change-Id: I46c1362f4e86944cc8e03f6f5837875ac71b69f3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297024
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-07-29 17:24:29 +00:00
..
SkAnnotation.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkBBHFactory.h Fix clang 12 Wsuggest-override and Wsuggest-destructor-override 2020-07-22 01:11:36 +00:00
SkBitmap.h rename SkMipMap to SkMipmap 2020-07-15 13:26:13 +00:00
SkBlendMode.h remove enum docs 2020-02-11 21:43:07 +00:00
SkBlurTypes.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkCanvas.h Expose GrRecordingContext accessor on SkCanvas and SkSurface 2020-06-26 19:35:30 +00:00
SkCanvasVirtualEnforcer.h remove legacy virtual from enforcer 2020-03-13 14:57:03 +00:00
SkClipOp.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkColor.h Add getter for channels to GrBackendFormat 2020-04-08 19:54:27 +00:00
SkColorFilter.h Move impl into SkColorFilterBase 2020-06-25 00:26:11 +00:00
SkColorPriv.h Remove SkScalarClampMax and SkScalarPin 2020-02-06 18:29:51 +00:00
SkColorSpace.h remove old kDCIP3 alias 2020-05-29 14:59:43 +00:00
SkContourMeasure.h Hide SkContourMeasure's usage of RawIter behind an "Impl" class 2020-05-05 19:24:41 +00:00
SkCoverageMode.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkCubicMap.h [skottie] De-dupe sequential cubic mappers 2019-07-17 17:14:46 +00:00
SkData.h test data.equals with empty 2020-02-17 17:53:49 +00:00
SkDataTable.h Fix clang 12 Wsuggest-override and Wsuggest-destructor-override 2020-07-22 01:11:36 +00:00
SkDeferredDisplayList.h Move GrRecordingContext.h and GrDirectContext.h into include/gpu 2020-07-01 17:32:14 +00:00
SkDeferredDisplayListRecorder.h Rename GrMipMapped GrMipmapped 2020-07-21 14:06:35 +00:00
SkDocument.h Fix clang 12 Wsuggest-override and Wsuggest-destructor-override 2020-07-22 01:11:36 +00:00
SkDrawable.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkDrawLooper.h SkDrawLooper has not been supported by Skia for a while. Update dox and remove examples 2020-05-27 01:22:06 +00:00
SkEncodedImageFormat.h GOOGLE3 -> SK_BUILD_FOR_GOOGLE3 2017-12-19 14:42:16 +00:00
SkExecutor.h Allow SkThreadPool to be non-borrowing 2020-04-23 16:11:28 +00:00
SkFilterQuality.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkFlattenable.h Make SK_DISABLE_EFFECT_SERIALIZATION trim out more code 2020-06-09 15:45:07 +00:00
SkFont.h split transformed mask from SDFT 2020-07-26 16:59:44 +00:00
SkFontArguments.h Remove SkFontArguments::Axis. 2020-07-15 20:59:22 +00:00
SkFontLCDConfig.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkFontMetrics.h Notify when SkFontMetrics bounds are bogus. 2020-07-09 19:26:40 +00:00
SkFontMgr.h Remove SkFontMgr::matchFaceStyle. 2020-06-28 01:43:04 +00:00
SkFontParameters.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkFontStyle.h Wsign-conversion for public headers 2020-06-02 12:34:54 +00:00
SkFontTypes.h Remove SkTextEncoding and SkFontHinting macros. 2019-05-22 20:44:28 +00:00
SkGraphics.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkICC.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkImage.h Migrate MakeFromYUVATexturesCopy* to GrRecordingContext 2020-07-29 15:00:36 +00:00
SkImageEncoder.h Revert "add runtime registration for encoders" 2019-05-15 22:02:39 +00:00
SkImageFilter.h Move SkImageFilter functionality into private SkImageFilter_Base 2019-08-02 18:56:39 +00:00
SkImageGenerator.h Rename GrMipMapped GrMipmapped 2020-07-21 14:06:35 +00:00
SkImageInfo.h Add several more values to SkYUVColorSpace 2020-07-24 18:49:10 +00:00
SkM44.h make more constructors constexpr 2020-07-21 17:44:57 +00:00
SkMallocPixelRef.h SkMallocPixelRef: remove MakeDirect and MakeWithProc from API. 2019-08-15 19:01:13 +00:00
SkMaskFilter.h remove unused maskfilter helpers: Combine, Compose 2020-05-05 19:10:00 +00:00
SkMath.h Remove SkClampMax 2020-02-06 19:49:53 +00:00
SkMatrix44.h Revert "transition matrix44 to opt-in only" 2020-04-16 10:01:29 +00:00
SkMatrix.h Remove SkReader32, and some API from SkWriter32 2020-06-10 16:45:56 +00:00
SkMilestone.h Update Skia milestone to 86 2020-06-29 21:18:16 +00:00
SkOverdrawCanvas.h can we remove these entirely? 2020-04-01 12:13:54 +00:00
SkPaint.h SkDrawLooper has not been supported by Skia for a while. Update dox and remove examples 2020-05-27 01:22:06 +00:00
SkPath.h document Make for paths, and move from pathbuilder into path 2020-07-02 13:48:09 +00:00
SkPathBuilder.h document Make for paths, and move from pathbuilder into path 2020-07-02 13:48:09 +00:00
SkPathEffect.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkPathMeasure.h More classes no longer inherit from SkNoncopyable 2019-06-10 18:15:18 +00:00
SkPathTypes.h Remove SkPathVerb::kDone 2020-05-01 21:27:18 +00:00
SkPicture.h Inclusive language 2020-07-24 13:33:53 +00:00
SkPictureRecorder.h let picture record take a bbh directly 2020-01-21 18:59:11 +00:00
SkPixelRef.h Prevent unbounded listener growth on SkPixelRefs. 2020-03-02 22:32:09 +00:00
SkPixmap.h Wsign-conversion for public headers 2020-06-02 12:34:54 +00:00
SkPngChunkReader.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkPoint3.h Add clipping for perspective triangles 2019-12-17 23:24:18 +00:00
SkPoint.h Test texture domain effect with local matrix. 2019-11-22 22:37:33 +00:00
SkPromiseImageTexture.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkRasterHandleAllocator.h use std::make_unique 2019-12-12 22:32:45 +00:00
SkRect.h Remove SkMin32/SkMax32 2020-02-06 17:31:51 +00:00
SkRefCnt.h Make GrSurfaceProxy ref counts thread safe. 2019-10-24 19:55:23 +00:00
SkRegion.h remove enum docs 2020-02-11 21:43:07 +00:00
SkRRect.h Fix false positive in SkRRectPriv::ConservativeIntersect 2020-05-06 19:49:39 +00:00
SkRSXform.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkRWBuffer.h Fix clang 12 Wsuggest-override and Wsuggest-destructor-override 2020-07-22 01:11:36 +00:00
SkScalar.h Remove SkScalarClampMax and SkScalarPin 2020-02-06 18:29:51 +00:00
SkSerialProcs.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkShader.h remove localmatrix parameter from Blend and Lerp compose shaders 2020-03-25 17:56:26 +00:00
SkSize.h Remove GrSurfaceDesc 2020-02-07 19:48:13 +00:00
SkStream.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkString.h Use SkScalar type where appropriate. 2020-07-28 20:13:37 +00:00
SkStrokeRec.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSurface.h Create mipmaps when creating images 2020-07-14 16:02:26 +00:00
SkSurfaceCharacterization.h Retract GrContext.h from headers 2020-07-13 20:03:58 +00:00
SkSurfaceProps.h Add back deprecated warnings. 2020-03-27 14:18:49 +00:00
SkSwizzle.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkTextBlob.h Docs: Add links to header files. 2019-10-18 19:24:13 +00:00
SkTileMode.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkTime.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkTraceMemoryDump.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkTypeface.h Fix clang 12 Wsuggest-override and Wsuggest-destructor-override 2020-07-22 01:11:36 +00:00
SkTypes.h SkUNREACHABLE should fail, not be UB. 2020-07-29 17:24:29 +00:00
SkUnPreMultiply.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkVertices.h For custom vector/normal/position attrs, let marker ID 0 mean CTM 2020-06-02 18:09:14 +00:00
SkYUVAIndex.h Remove SkTMin and SkTMax 2020-02-07 18:40:09 +00:00
SkYUVASizeInfo.h Use safe computation for adding up YUVASizeInfo total bytes 2019-09-23 20:55:28 +00:00