@@ -9,43 +9,61 @@ build --test_summary=terse
99# Match go/ubsan for always-enabled features
1010# Docs: https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html
1111
12+ # Out-of-bounds access into a statically sized array.
13+ build:dbg --copt=-fsanitize=array-bounds
14+ build:dbg --linkopt=-fsanitize=array-bounds
15+ build:fastbuild --copt=-fsanitize=array-bounds
16+ build:fastbuild --linkopt=-fsanitize=array-bounds
17+
1218# Use of a misaligned pointer or creation of a misaligned reference. Also
1319# sanitizes assume_aligned-like attributes.
14- build --copt=-fsanitize=alignment
15- build --linkopt=-fsanitize=alignment
16-
17- # Out-of-bounds access into a statically sized array.
18- build --copt=-fsanitize=array-bounds
19- build --linkopt=-fsanitize=array-bounds
20+ build:dbg --copt=-fsanitize=alignment
21+ build:dbg --linkopt=-fsanitize=alignment
22+ build:fastbuild --copt=-fsanitize=alignment
23+ build:fastbuild --linkopt=-fsanitize=alignment
2024
2125# Load of a value of an enumerated type which is not in the range of
2226# representable values for that enumerated type.
23- build --copt=-fsanitize=enum
24- build --linkopt=-fsanitize=enum
27+ build:dbg --copt=-fsanitize=enum
28+ build:dbg --linkopt=-fsanitize=enum
29+ build:fastbuild --copt=-fsanitize=enum
30+ build:fastbuild --linkopt=-fsanitize=enum
2531
2632# Conversion to, from, or between floating-point types which would overflow the
2733# destination. Because the range of representable values for all floating-point
2834# types supported by Clang is [-inf, +inf], the only cases detected are
2935# conversions from floating point to integer types.
30- build --copt=-fsanitize=float-cast-overflow
31- build --linkopt=-fsanitize=float-cast-overflow
36+ build:dbg --copt=-fsanitize=float-cast-overflow
37+ build:dbg --linkopt=-fsanitize=float-cast-overflow
38+ build:fastbuild --copt=-fsanitize=float-cast-overflow
39+ build:fastbuild --linkopt=-fsanitize=float-cast-overflow
3240
3341# Use of a null pointer or creation of a null reference.
34- build --copt=-fsanitize=null
35- build --linkopt=-fsanitize=null
42+ build:dbg --copt=-fsanitize=null
43+ build:dbg --linkopt=-fsanitize=null
44+ build:fastbuild --copt=-fsanitize=null
45+ build:fastbuild --linkopt=-fsanitize=null
3646
3747# In C++, reaching the end of a value-returning function without returning a value.
38- build --copt=-fsanitize=return
39- build --linkopt=-fsanitize=return
48+ build:dbg --copt=-fsanitize=return
49+ build:dbg --linkopt=-fsanitize=return
50+ build:fastbuild --copt=-fsanitize=return
51+ build:fastbuild --linkopt=-fsanitize=return
4052
4153# Returning null pointer from a function which is declared to never return null.
42- build --copt=-fsanitize=returns-nonnull-attribute
43- build --linkopt=-fsanitize=returns-nonnull-attribute
54+ build:dbg--copt=-fsanitize=returns-nonnull-attribute
55+ build:dbg --linkopt=-fsanitize=returns-nonnull-attribute
56+ build:fastbuild--copt=-fsanitize=returns-nonnull-attribute
57+ build:fastbuild --linkopt=-fsanitize=returns-nonnull-attribute
4458
4559# If control flow reaches an unreachable program point.
46- build --copt=-fsanitize=unreachable
47- build --linkopt=-fsanitize=unreachable
60+ build:dbg --copt=-fsanitize=unreachable
61+ build:dbg --linkopt=-fsanitize=unreachable
62+ build:fastbuild --copt=-fsanitize=unreachable
63+ build:fastbuild --linkopt=-fsanitize=unreachable
4864
4965# A variable-length array whose bound does not evaluate to a positive value.
50- build --copt=-fsanitize=vla-bound
51- build --linkopt=-fsanitize=vla-bound
66+ build:dbg --copt=-fsanitize=vla-bound
67+ build:dbg --linkopt=-fsanitize=vla-bound
68+ build:fastbuild --copt=-fsanitize=vla-bound
69+ build:fastbuild --linkopt=-fsanitize=vla-bound
0 commit comments