Alexander Haase
f566e2b9ec
Added checks to avoid bad sanitizer combinations.
...
Some sanitizers are not compatible with other sanitizers. Added some checks to
avoid these combinations at configuration time.
2016-04-12 21:04:21 +02:00
Alexander Haase
6975d64d6b
Flags will be searched only once per compiler.
...
If a compiler does not support sanitizing, it will not be checked a second time.
2016-04-06 19:39:47 +02:00
Alexander Haase
de1a134183
Check if MemorySanitizer is used on x86_64 Linux.
...
According to the MemorySanitizer documentation, it is only compatible with 64bit
Linux at the moment.
2016-04-06 19:32:45 +02:00
Alexander Haase
4d96db375f
Check if ThreadSanitizer is used on x86_64 Linux.
...
According to the ThreadSanitizer documentation, it is only compatible with 64bit
Linux at the moment.
2016-04-06 19:29:46 +02:00
Alexander Haase
03db9d9383
Restructured all sanitizer modules.
2016-04-06 19:15:25 +02:00
Alexander Haase
b492553f61
New central module FindSanitizers.cmake.
...
* Added a new module FindSanitizers with new function add_sanitizers to combine
all sanitizers in one function instead of adding each one by one.
* Code of FindASan.cmake was outdourced into helper functions, so that the code
may be used by other sanitizer modules, too.
* AddressSanitizer will be used with -O1 now to get a better performance.
2016-04-06 18:48:16 +02:00
Alexander Haase
8f2015a4d3
Changed copyright notice.
2016-04-06 01:17:20 +02:00
Alexander Haase
925961bb5e
Bugfix in CMake cache docs.
2016-03-08 04:42:43 +01:00
Alexander Haase
88e75c6b03
Enabled debug symbols for ASan.
2016-03-08 04:18:39 +01:00
Alexander Haase
584f137e70
Reworked FindASan.cmake.
...
* removed build type ASAN. Targets should define ASan usage by sanitize_address
function
* compiler flags will be searched by compiler instead of per language
* FindASan warns, if a target can't be sanitized because of incompatible
compilers
* added some helper functions
2016-03-08 03:52:36 +01:00
Alexander Haase
c96a15b46c
Bugfix in FindASan.cmake
2016-02-15 05:13:36 +01:00
Alexander Haase
d81be39678
Bugfix in FindASan.cmake.
2016-01-28 19:17:07 +01:00
Alexander Haase
f62b5858ac
Compile flags will now be set per-source file.
...
Thus C can be mixed with Fortran and the objects can be build with different
compilers, not both may support AddressSanitizer.
2016-01-28 17:41:24 +01:00
Alexander Haase
c29aa33f11
Check ASan support for all enabled compilers.
...
Instead of fix checking for C and CXX compilers, all enabled languages will be
tested now.
2016-01-28 17:31:31 +01:00
Alexander Haase
e39082050c
Removed continue statement in FindASan.cmake
...
Older CMake versions are not capable of continue in foreach functions.
2015-11-19 16:38:53 +01:00
Alexander Haase
41e635c9ca
Restructured code of FindASan.cmake
2015-11-19 14:14:13 +01:00
Alexander Haase
4fd453301a
Moved CMake files and added a simple testcase
2015-07-07 00:31:35 +02:00
Matt Arsenault
b61ffc8ceb
Merge pull request #4 from smspillaz/issues/2
...
Set the HAVE_MEMORY_SANITIZER and HAVE_ADDRESS_SANITIZER cache entries.
2014-10-21 18:51:28 -07:00
Matt Arsenault
666bcc560d
Merge pull request #3 from smspillaz/issues/1
...
Don't emit an error for deleting an object with a nonvirtual dtor.
2014-10-21 18:43:20 -07:00
Sam Spilsbury
9b343f8e7e
Set the HAVE_MEMORY_SANITIZER and HAVE_ADDRESS_SANITIZER cache entries.
...
These were (inconsistently) not being set as opposed to
HAVE_THREAD_SANITIZER and HAVE_UNDEFINED_BEHAVIOUR_SANITIZER
2014-10-21 16:15:29 +08:00
Sam Spilsbury
1ec58d4183
Don't emit an error for deleting an object with a nonvirtual dtor.
...
We want that behaviour at runtime to make sure ubsan works
2014-10-21 16:13:59 +08:00
Matt Arsenault
42eac1f7af
Add modules for asan, msan, tsan and ubsan
2013-10-05 22:16:39 -04:00
Matt Arsenault
1121b004db
Initial commit
2013-10-05 22:14:59 -07:00