Commit Graph

13 Commits

Author SHA1 Message Date
Alexey Samsonov 97c22f79e1 Enable UBSan on FreeBSD. Patch by Viktor Kutuzov.
llvm-svn: 202122
2014-02-25 08:29:36 +00:00
Alexey Samsonov c700e76278 [UBSan] Fix warning by specifying __extension__ before __int128
llvm-svn: 195648
2013-11-25 15:12:40 +00:00
Richard Smith b30d11194c ubsan: Pass floating-point arguments to the runtime by value if they fit the
value argument.

llvm-svn: 177689
2013-03-22 00:47:05 +00:00
Will Dietz 9d3209b5c7 [ubsan] Use __sanitizer::atomic_exchange(), prefer shared impl.
Specify weaker memory order in case we optimize for it in the future,
presently still doing same __sync_lock_test_and_set() as before.

Change suggested by Alexey Samsonov, thanks!

llvm-svn: 172429
2013-01-14 16:13:52 +00:00
Will Dietz b50565b21a [ubsan] Drop use of __atomic_exchange_n for now to fix build for some.
Need a more reliable way to check for support of this intrinsic.

llvm-svn: 171955
2013-01-09 06:18:40 +00:00
Will Dietz 765c266892 [ubsan] Add deduplication functionality, always enabled.
llvm-svn: 171948
2013-01-09 03:40:03 +00:00
Richard Smith 99507e6c10 ubsan: Don't assume that Clang provides __int128 unless it advertises that it does.
llvm-svn: 168857
2012-11-29 05:59:30 +00:00
Richard Smith 6122d0692b Support for building the ubsan runtime when using the autoconf build system on
Darwin. Patch by Jean-Daniel Dupas, tweaked by Jonathan Sauer, simplified
somewhat by me.

llvm-svn: 167889
2012-11-13 23:55:06 +00:00
Richard Smith 130b748b72 Use a better test for __int128 support, which works on old GCC versions.
llvm-svn: 165912
2012-10-14 23:28:55 +00:00
Chandler Carruth eea8a48218 Fix the bootstrap of CompilerRT with host compilers that don't support
emulating 128-bit arithmetic on 32-bit x86 targets. This should get the
bootstrap back for GCC 4.6 at least.

Suggestions on better ways to do the detection here are welcome...

llvm-svn: 165863
2012-10-13 02:30:10 +00:00
Richard Smith 7247b23efc -fcatch-undefined-behavior: Runtime library support for trapping conversions to or
from a floating-point type where the source value is not in the range of
representable values of the destination type.

llvm-svn: 165844
2012-10-12 22:57:15 +00:00
Richard Smith b6fb381dba -fcatch-undefined-behavior: store the type name directly at the end of a type descriptor. 5% binary size reduction due to fewer relocations.
llvm-svn: 165571
2012-10-09 23:55:18 +00:00
Richard Smith 68b3014cd3 Add a runtime diagnostics library for Clang's -fcatch-undefined-behavior.
llvm-svn: 165533
2012-10-09 19:34:32 +00:00