New clang flags, all default to true:
-f[no-]sanitize-thread-data-races
-f[no-]sanitize-thread-stack-traces
-f[no-]sanitize-thread-atomics
Details
Diff Detail
- Build Status
Buildable 1145 Build 1145: arc lint + arc unit
Event Timeline
| lib/Frontend/CompilerInvocation.cpp | ||
|---|---|---|
| 735 | It seems common to hardcode the default option value here. | |
Oh, and this needs a test. See test/Driver/fsanitize.c (search for -fsanitize-address-use-after-scope as an example).
| lib/Frontend/CompilerInvocation.cpp | ||
|---|---|---|
| 735 | True, but the default value for these flags is already mentioned in more than one place, why not to try to reduce the complexity? | |
| lib/Frontend/CompilerInvocation.cpp | ||
|---|---|---|
| 735 | I guess I don't mind either way. | |
| test/Driver/fsanitize.c | ||
|---|---|---|
| 288 | did you mean CHECK-TSAN-DATA-RACES-BOTH-NOT? | |
| include/clang/Driver/Options.td | ||
|---|---|---|
| 733 | These descriptions may be confusing for users. Does user see what's the default value? If not, then I guess some users will add flags just because they do want data races detection and stack traces. We need to make it clear that all flags are enabled by default. | |
| test/Driver/fsanitize.c | ||
|---|---|---|
| 288 | I missed -BOTH on the FileCheck line above and in couple of other places. | |
Seems like a reasonable enough first step. Please add a FIXME to pass these flags as attributes.
| lib/Frontend/CompilerInvocation.cpp | ||
|---|---|---|
| 732 | It looks like lib/Frontend changes are no longer necessary. | |
| include/clang/Driver/Options.td | ||
|---|---|---|
| 732 | You can remove the Flags<[CC1Option]> part in each of these now. | |
You can remove the Flags<[CC1Option]> part in each of these now.