Go to file
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
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Remove gendered language 2020-07-28 15:02:41 +00:00
bin bin/try: automatically set 'git cl issue' when not found 2020-06-25 17:44:01 +00:00
build/fuchsia [fuchsia] Fix fidlc command. 2020-06-10 03:29:24 +00:00
build_overrides Use Dawn's BUILD.gn instead of defining another one for Skia. 2020-04-13 23:26:31 +00:00
client_utils/android Remove SkBitmapRegionDecoder and SkBRDAllocator 2020-06-01 20:56:29 +00:00
demos.skia.org Modify CanvasKit to work in a Web Worker and add a demo of it in action. 2020-07-21 22:21:06 +00:00
dm Remove subset parameter from making encoded/generator images 2020-07-28 17:33:12 +00:00
docker Fix swiftshader Dockerfile. 2020-07-20 17:17:53 +00:00
docs/examples Remove subset parameter from making encoded/generator images 2020-07-28 17:33:12 +00:00
example Clean up GrContext references in the src/gpu 2020-07-16 14:14:08 +00:00
experimental Remove experimental/Networking code 2020-07-28 13:25:27 +00:00
fuzz add create ddl fuzzer 2020-07-22 20:10:51 +00:00
gm Re-org image-cacherator-from-* GMs 2020-07-29 16:56:27 +00:00
gn Remove GrSurfacePriv and GrRenderTargetPriv 2020-07-28 13:52:07 +00:00
include SkUNREACHABLE should fail, not be UB. 2020-07-29 17:24:29 +00:00
infra A puppeteer test that runs karma-like tests 2020-07-29 15:38:56 +00:00
modules Fix SIMD CanvasKit build to output to the expected directory. 2020-07-29 15:04:22 +00:00
platform_tools Add LLDB debugging extensions for SkAutoTArray. 2020-07-29 16:34:26 +00:00
resources Remove "master" from lua files 2020-07-28 13:35:37 +00:00
samplecode demo CubicResampler 2020-07-24 20:13:34 +00:00
site Remove gendered language 2020-07-28 15:02:41 +00:00
specs Fix CanvasKit generated documentation to work with emscripten 1.39.16. 2020-05-27 12:23:32 +00:00
src Migrate MakeFromYUVATexturesCopy* to GrRecordingContext 2020-07-29 15:00:36 +00:00
tests JIT functions taking six pointers 2020-07-28 19:49:12 +00:00
third_party Inclusive language 2020-07-24 13:33:53 +00:00
tools A puppeteer test that runs karma-like tests 2020-07-29 15:38:56 +00:00
.clang-format Disable BinPackParameters in .clang-format 2020-03-27 14:32:40 +00:00
.clang-tidy add google-build-namespaces to clang-tidy checks 2018-12-12 16:33:59 +00:00
.gitignore Reland the new module for skia lib for g3 2020-06-23 14:19:13 +00:00
.gn Basic standalone GN configs. 2016-07-21 12:25:45 -07:00
AUTHORS GCC: fix unknown attribute warnings for no_sanitize 2020-07-06 13:52:22 +00:00
BUILD.gn add create ddl fuzzer 2020-07-22 20:10:51 +00:00
codereview.settings Make uploading to Gerrit the default for Skia 2016-11-09 19:07:56 +00:00
CONTRIBUTING Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
CQ_COMMITTERS Moved committer list to chrome-infra-auth and deleted it from the repo 2015-09-02 13:37:54 -07:00
DEPS Roll third_party/externals/spirv-cross/ d573a95a9..7778792ae (15 commits) 2020-07-29 13:17:16 +00:00
go.mod Update Go Deps 2020-07-25 05:33:32 +00:00
go.sum Update Go Deps 2020-07-25 05:33:32 +00:00
LICENSE LICENSE file: clean up 2019-11-22 21:59:03 +00:00
OWNERS add OWNERS file 2017-12-01 19:50:19 +00:00
PRESUBMIT.py PRESUBMIT: Don't check formatting of deleted files 2020-04-08 10:36:09 +00:00
public.bzl Reland #3 "ICU API: only in SkParagraph, simplified." 2020-07-24 13:28:52 +00:00
README Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
README.chromium Update README.chromium. 2015-06-11 13:19:24 -07:00
RELEASE_NOTES.txt remove (unused) DirectTo... methods 2020-07-28 23:47:07 +00:00
whitespace.txt Whitespace change to re-trigger Mac/iOS tests 2020-02-23 20:55:01 +00:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at https://skia.org.