Lines Matching +full:- +full:fno +full:- +full:sanitize +full:- +full:recover
3 # Use of this source code is governed by a BSD-style license that can be
44 "/utf-8", # Set Source and Executable character sets to UTF-8.
47 cflags += [ "-fms-compatibility-version=19" ] # 2015
71 "-imsvc",
95 "-fstrict-aliasing",
96 "-fPIC",
98 cflags_cc += [ "-std=c++14" ]
101 # These would make stack traces worse on Linux, so we don't just set them willy-nilly.
103 cflags += [ "-fvisibility=hidden" ]
104 cflags_cc += [ "-fvisibility-inlines-hidden" ]
110 "-march=armv7-a",
111 "-mfpu=neon",
112 "-mthumb",
115 asmflags += [ "-march=loongson3a" ]
117 "-march=loongson3a",
120 "-DSKCMS_PORTABLE",
123 asmflags += [ "-march=mips64" ]
124 cflags += [ "-march=mips64" ]
126 asmflags += [ "-m32" ]
128 "-m32",
129 "-msse2",
130 "-mfpmath=sse",
132 ldflags += [ "-m32" ]
137 "-fno-builtin-malloc",
138 "-fno-builtin-calloc",
139 "-fno-builtin-realloc",
140 "-fno-builtin-free",
146 asmflags += [ "--target=$ndk_target" ]
148 "--sysroot=$ndk/sysroot",
149 "-isystem$ndk/sysroot/usr/include/$ndk_target",
150 "-D__ANDROID_API__=$ndk_api",
151 "--target=$ndk_target",
154 "-isystem$ndk/sources/cxx-stl/llvm-libc++/include",
155 "-isystem$ndk/sources/cxx-stl/llvm-libc++abi/include",
156 "-isystem$ndk/sources/android/support/include",
159 "--sysroot=$ndk/platforms/$ndk_platform",
160 "--target=$ndk_target",
161 "-B$ndk/toolchains/$ndk_gccdir-4.9/prebuilt/$ndk_host/$ndk_target/bin",
164 "$ndk/sources/cxx-stl/llvm-libc++/libs/$ndk_stdlib",
165 "$ndk/toolchains/$ndk_gccdir-4.9/prebuilt/$ndk_host/lib/gcc/$ndk_target/4.9.x",
187 "-isysroot",
189 "-arch",
193 "-isysroot",
195 "-arch",
198 cflags_cc += [ "-stdlib=libc++" ]
200 "-isysroot",
202 "-arch",
204 "-stdlib=libc++",
211 if (is_debug && sanitize == "") {
217 # ld: warning: text-based stub file
221 ldflags += [ "-Wl,-w" ]
224 if (sanitize != "") {
227 sanitizers = sanitize
229 if (sanitize == "ASAN" || sanitize == "UBSAN") {
232 if (sanitize == "ASAN") {
240 } else if (sanitize == "TSAN") {
242 } else if (sanitize == "MSAN") {
249 "-fsanitize=$sanitizers",
250 "-fno-sanitize-recover=$sanitizers",
251 "-fsanitize-blacklist=$_blacklist",
253 ldflags += [ "-fsanitize=$sanitizers" ]
259 "-include$_blacklist",
260 "-fno-omit-frame-pointer",
265 cflags_cc += [ "-stdlib=libc++" ]
266 ldflags += [ "-stdlib=libc++" ]
270 cflags += [ "-fsanitize-memory-track-origins" ]
278 cflags_cc = [ "-fno-exceptions" ]
302 "-Werror",
303 "-Wall",
304 "-Wextra",
305 "-Winit-self",
306 "-Wpointer-arith",
307 "-Wsign-compare",
308 "-Wvla",
310 "-Wno-deprecated-declarations",
311 "-Wno-maybe-uninitialized",
314 "-Wnon-virtual-dtor",
315 "-Wno-noexcept-type",
321 "-Weverything",
322 "-Wno-unknown-warning-option", # Let older Clangs ignore newer Clangs' warnings.
326 # Clang seems to think new/malloc will only be 4-byte aligned on 32-bit iOS.
327 # We're pretty sure it's actually 8-byte alignment.
328 cflags += [ "-Wno-over-aligned" ]
331 # Clang seems to think new/malloc will only be 4-byte aligned on 32-bit x86 Android builds.
332 # We're pretty sure it's actually 8-byte alignment. See OverAlignedTest.cpp for more info.
333 cflags += [ "-Wno-over-aligned" ]
337 # their case during copy, causing case-sensitivity mismatch on remote machines.
339 "-Wno-nonportable-include-path",
340 "-Wno-nonportable-system-include-path",
345 "-Wno-cast-align",
346 "-Wno-cast-qual",
347 "-Wno-conversion",
348 "-Wno-disabled-macro-expansion",
349 "-Wno-documentation",
350 "-Wno-documentation-unknown-command",
351 "-Wno-double-promotion",
352 "-Wno-exit-time-destructors", # TODO: OK outside libskia
353 "-Wno-float-equal",
354 "-Wno-format-nonliteral",
355 "-Wno-global-constructors", # TODO: OK outside libskia
356 "-Wno-missing-prototypes",
357 "-Wno-missing-variable-declarations",
358 "-Wno-pedantic",
359 "-Wno-reserved-id-macro",
360 "-Wno-shadow",
361 "-Wno-shift-sign-overflow",
362 "-Wno-signed-enum-bitfield",
363 "-Wno-switch-enum",
364 "-Wno-undef",
365 "-Wno-unreachable-code",
366 "-Wno-unreachable-code-break",
367 "-Wno-unreachable-code-return",
368 "-Wno-unused-macros",
369 "-Wno-unused-member-function",
370 "-Wno-unused-template",
371 "-Wno-zero-as-null-pointer-constant",
374 "-Wno-abstract-vbase-init",
375 "-Wno-weak-vtables",
380 "-Wno-bad-function-cast",
381 "-Wno-covered-switch-default",
382 "-Wno-deprecated",
383 "-Wno-missing-noreturn",
384 "-Wno-old-style-cast",
385 "-Wno-padded",
386 "-Wno-newline-eof",
389 "-Wno-c++98-compat",
390 "-Wno-c++98-compat-pedantic",
391 "-Wno-undefined-func-template",
394 "-Wno-direct-ivar-access",
395 "-Wno-objc-interface-ivars",
398 "-Wno-direct-ivar-access",
399 "-Wno-objcc-interface-ivars",
403 cflags += [ "-Wno-implicit-fallthrough" ]
408 cflags = [ "-Wno-unused-parameter" ]
422 # to Android devices. -gline-tables-only is a lot slimmer.
425 "-gline-tables-only",
426 "-funwind-tables", # Helps make in-process backtraces fuller.
431 cflags += [ "-mllvm", "-emit-codeview-ghash-section" ]
437 cflags = [ "-g" ]
442 if (sanitize != "ASAN") { # -fsanitize=vptr requires RTTI
444 cflags_cc = [ "/GR-" ]
446 cflags_cc = [ "-fno-rtti" ]
463 "-O3",
464 "-fdata-sections",
465 "-ffunction-sections",
468 ldflags = [ "-dead_strip" ]
470 ldflags = [ "-Wl,--gc-sections" ]
477 ldflags += [ "-O3" ]
489 "-pie",
490 "-rdynamic",
493 ldflags = [ "-Wl,-rpath,@loader_path/." ]
496 "-rdynamic",
497 "-Wl,-rpath,\$ORIGIN",