Robin Heggelund Hansen
Robin Heggelund Hansen

Reputation: 5016

Clang Mac OS X Maveric, not supporting fsanitize=undefined

I'm getting a segfault in my C program, and I thought I'd use Clangs help in figuring out why, as Valgrind isn't supported (yet).

I try to compile my program with -fsanitize=undefined to activiate runtime checks for undefined behaviour. All I'm getting is an error message which reads something like: "fsanitize doesn't support option 'undefined'". I've also tried using -fsanitize=address with the same result :/

Anyone know why this is?

Upvotes: 1

Views: 1037

Answers (1)

dzada
dzada

Reputation: 5874

It seems like -fsanitize is not supported by apple's CLang. If you go here http://llvm.org/releases/download.html#3.4 you can get the prebuild binaries of clang, that do recognize this option.

However this is harder because then you have to use a Makefile, IF by chance you use cmake, then you can just easily go to use makefiles.

OR replace the binaries in the Xcode.app/Contents/Developer/Toolchains/.../bin but I don't know what can happen if you replace Apples binaries, do a backup before to be able to restore.

Honestly, I'm not myself confortable about replacing apple's binaries, because they probably added something in the clang to make it work with Xcode nicely. Again, the GPL policy of GCC had this advantage that apple could not modify it.

-> another solution is to develop on linux,

The port to windows of CLang is on its way, but not ready yet, maybe in 3.5.

Best

Upvotes: 1

Related Questions