You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| Warnings (e.g. `-Wall`) added by default |**Linux: opt-in · QNX: on by default**|`minimal_warnings` (includes `-Wall`) is enabled by default on QNX but disabled on Linux. `strict_warnings` / `all_wall_warnings` are opt-in on both. |
99
99
|`-Werror`|**Not implicit — opt-in**|`warnings_as_errors` (disabled by default) |
| Sanitizers (asan/lsan/tsan/ubsan) |**Not part of this toolchain — injected (Linux)**|Defined by `score_cpp_policies` (`score_asan`/ `score_lsan` / `score_tsan` / `score_ubsan`) and brought in via `extra_known_features` / `extra_enabled_features`|
101
101
| Fully static link (`-static`) |**Not implicit — opt-in**|`fully_static_link` (disabled by default) |
102
102
|`-pthread`|**Not implicit — opt-in (Linux)**|`use_pthread` (disabled by default) |
103
103
| Fission / split DWARF, linkstamps, strip, static-libgcc |**Supported, guarded**| Guarded features; no-ops until the relevant build mode is active |
104
104
| Any other Bazel legacy default not listed above |**Not available**| Must be added explicitly (see below) |
105
105
106
-
Two categories deserve special attention because they are the most frequent
106
+
Three categories deserve special attention because they are the most frequent
107
107
migration surprises:
108
108
109
109
1.**Warnings differ by platform.** On **Linux**, all warning features are
110
110
opt-in — if you expected `-Wall`-style warnings you must enable them. On
111
111
**QNX**, `minimal_warnings` (which includes `-Wall`) is enabled by default,
112
112
so those warnings do *not* disappear; `strict_warnings`,
113
113
`all_wall_warnings`, and `-Werror` remain opt-in on both platforms.
114
-
2.**`-pthread`, sanitizers, and fully-static linking are opt-in.** These emit
115
-
nothing until you enable the corresponding feature.
114
+
2.**`-pthread` and fully-static linking are opt-in.** These emit nothing until
115
+
you enable the corresponding feature.
116
+
3.**Sanitizers are not part of this toolchain.** They are defined by the
117
+
`score_cpp_policies` module and must first be injected via
118
+
`extra_known_features` / `extra_enabled_features` before they can be enabled.
119
+
See [Toolchain features](features.md#sanitizers-linux-opt-in).
116
120
117
121
For the authoritative and complete list, always refer to
0 commit comments