[cfe-dev] recent change broke -fcatch-undefined-behavior
sean at rogue-research.com
Fri Nov 23 13:40:57 PST 2012
On Fri, 23 Nov 2012 18:11:45 +0100, Jean-Daniel Dupas said:
>As I said previously, this issue is due to missing symbols in darwin's C+
>+ libs. I don't think there is an easy way to fix this. Apple should
>update libc++abi and libc++ to fix this issue (the LLVM libc++abi
>library already does it, and a fix is already present in libc++ but is
>explicitly disabled: lib/libc++abi2.exp).
Anyone have a bug number for this?
>IMHO, the best option right now is to disable this sanitizer in the
>driver when targeting darwin (maybe emitting a warning if it is
>explicitly required using 'vptr' an not implicitly defined using 'undefined').
OK, I'll give up on that one for now.
I'm seeing some other weirdness with -fsanitize=float-cast-overflow:
<unknown>: fatal error: value 255 is outside the range of representable values of type 'unsigned char'
hmmm, could there be an off-by-one error in the check here?
<unknown>: fatal error: value nan is outside the range of representable values of type 'double'
What is this telling me? I'm no language lawyer, but doubles can encode nan as far as I know.
Also, is there something like -fdiagnostics-show-option that would show the exact check that caused the error message? It wasn't immediately obvious to me that these (the former especially) was related to 'float-cast-overflow'.
Sean McBride, B. Eng sean at rogue-research.com
Rogue Research www.rogue-research.com
Mac Software Developer Montréal, Québec, Canada
More information about the cfe-dev