Commit Graph

23 Commits

Author SHA1 Message Date
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