Commit graph

23 commits

Author SHA1 Message Date
Johan Engelen
c421e4ccaf
Implement -fsanitize-recover for ASan and MSan. (#4783)
Resolves #4770
2024-11-29 19:35:56 +01:00
Martin Kinkelin
e7091dd0c7 Drop support for LLVM < 14
LLVM 14 is the first version supporting both new pass manager and
opaque IR pointers.
2024-05-12 03:53:03 +02:00
Martin Kinkelin
9041c0bf67 Adapt to free functions in dmd C++ namespace now 2024-03-03 19:14:00 +01:00
Martin Kinkelin
8fc096e4c6 Adapt to Loc::filename now being a function 2023-08-26 15:56:33 +02:00
Martin Kinkelin
9ce57807c0 Drop support for LLVM 9 and LLVM 10 2023-07-29 01:12:43 +02:00
Zachary Yedidia
4d254ae31c
Add coverage tracing for loads and stores (#4344) 2023-03-12 11:04:32 +08:00
Johan Engelen
981c58e498
Add -fsanitize-address-use-after-return (#4334) 2023-02-27 11:40:08 +01:00
Johan Engelen
3b9665bac6
Add LeakSanitizer support with -fsanitize=leak (#4005)
* Add LeakSanitizer support

* Windows and FreeBSD do not support LSan yet

* Test LLVM >= 10 only with LSan
2022-06-26 20:12:38 +00:00
Johan Engelen
6a56267699
Add @ldc.attributes.noSanitize UDA to selectively disable sanitizer instrumentation of functions. (#3889) 2022-01-01 14:27:36 +01:00
Martin Kinkelin
019e9c8e30 Add support for LLVM 13 2021-10-11 19:20:15 +02:00
Nicholas Wilson
1568d0cdca
Fix compilation with LLVM 14 (#3822) 2021-09-17 16:41:49 +02:00
Martin Kinkelin
834f666ce5
Raise min LLVM version to 6.0 (#3493) 2020-07-13 20:42:50 +02:00
Nicholas Lindsay Wilson
65bb21b76a fix SpecialCaseList 2019-12-04 12:12:38 +08:00
Johan Engelen
17a23873f0 Fix fuzzing: inline-8bit-counters should also imply edge tracing
This fixes the fuzz breakage introduced in the previous commit.
2019-09-25 03:42:19 +02:00
Johan Engelen
29436882e8 Align with Clang what -fsanitize=fuzzer implies
See Clang rev 312346: https://llvm.org/viewvc/llvm-project?view=revision&revision=312346
TracePCGuard is no longer supported by LLVM >= 9.0.
2019-09-25 03:42:19 +02:00
Martin Kinkelin
c25614eb6b Adapt lit-tests to LLVM 9 2019-09-25 03:42:19 +02:00
Martin Kinkelin
7776c4081b Upgrade frontend & libs to v2.083.0-beta.1 2018-10-20 16:19:46 +02:00
Johan Engelen
856a5730f5
Sanitizers: add blacklisting of source files (#2601) 2018-03-01 20:14:13 +01:00
Martin
cfad799f48 Merge 2.078.0 front-end and stdlibs 2018-01-06 01:39:18 +01:00
Johan Engelen
cde1903ca5
Add coverage sanitizer options and include them all in the cache hash. (#2473)
Main change is writing the full SanitizerCoverageOptions struct to the hash outputstream, such that options added (or removed) in the future are automatically included in the hash.
2018-01-03 19:49:50 +01:00
Johan Engelen
8ad5212399 Fix LLVM 6.0 build. (#2342)
* LLVM 6: tool_output_file was renamed to ToolOutputFile.

http://llvm.org/viewvc/llvm-project?view=revision&revision=314050

* Update SPIRV-LLVM

* Fix new LLVM6 API for sanitizerBlacklist->inSection
2017-09-30 17:58:08 +02:00
Johan Engelen
ec9ffe29f1 Add the -fsanitize-blacklist option for the sanitizers. (#2261)
Blacklisting is necessary for some druntime functions, and LLVM/Clang already provides just the right functionality.
2017-08-09 23:21:33 +02:00
Johan Engelen
22b1accb59 Replace -sanitize with -fsanitize and add -fsanitize-coverage. (#2149)
This reworks the sanitizer interface to be identical with Clang's.
What's left to do is pass the correct runtime libraries to the linker.
2017-06-15 17:19:21 +02:00