aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingHelper.java
diff options
context:
space:
mode:
authorGravatar Loo Rong Jie <loorongjie@gmail.com>2018-07-10 09:26:49 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-07-10 09:28:26 -0700
commitccd7d76aff2bd41eaf23f9b182f41feffbcfea1e (patch)
tree5324e49019b47c8ed61fbcb307f1eb6a3302a4a0 /src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingHelper.java
parentdb78108570f1c37fbc46ad564cb0fee6dea1744c (diff)
Improve MSVC Crosstool
- Remove `/D_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS`: it disables warnings for deprecated C++ headers (`<stdext/*>`, `<hash_map>` etc.). Only useful for legacy codebase. - Remove `/J`: `char` is signed according to ISO C++. There is no reason to make `char` unsigned by default. - Remove default `/Gy`: moved to feature (`smaller_binary`). - Remove default `/GF`: string pooling, enabled by default with `/O2`. - Remove `/DDEBUG` in `dbg` mode: conflict with macros defined in some OSS projects such as LLVM. User should use standard `NDEBUG` to detect debug mode. Implements a few general `feature` to abstract away details about the compiler: - `treat_warnings_as_errors`: aka `-Werror`. - `frame_pointer`: aka `-fno-omit-frame-pointer'. - `determinism`: redact `__TIME__` macros etc. - `disable_assertions`: allow user to have `assert/DCHECK` back even in `opt` mode. - `smaller_binary`: common optimization enabled in `opt` mode. Still allow user to disable it in `opt` (such as when using ASAN). - `ignore_noisy_warnings`: suppress a bunch of warnings most people don't care. If users want to be pedantic, they can still get those warnings back with `--features=-ignore_noisy_warnings`. Closes #5519. PiperOrigin-RevId: 203959555
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingHelper.java')
0 files changed, 0 insertions, 0 deletions