[cfe-dev] -fcatch-undefined-behavior false positive with readdir()?
silvas at purdue.edu
Wed Sep 26 20:57:25 PDT 2012
If you look at some of Richard's proposed changes to the undefined
behavior checking, they include caret diagnostics (just like you're
used to getting from clang). In this case (correct me if I'm wrong,
Richard; I'm working from memory of the other thread), you'd get a
nice, colorized output of something like:
Undefined behavior! Unaligned load from pointer 'd' (address
0x7fb75880004c) of type 'struct dirent' that requires alignment 8:
const char* local = d->d_name; // bam!
On Wed, Sep 26, 2012 at 6:31 PM, Sean McBride <sean at rogue-research.com> wrote:
> On Wed, 26 Sep 2012 14:04:51 -0700, Eli Friedman said:
>>> So this is an OS X bug then? (I'm pretty sure my code snippet itself
>>Yes, it appears so. (Not sure whether it's a bug in the header or a
>>bug in the implementation.)
> Ugh. I was in 10.7.5, just tried in 10.8.2 and seems someone has already fixed this.
> Anyway, I think it's a nice example of why fine-graned control over -fcatch-undefined-behavior would be nice: enabling it can find bugs that you can't fix. If I could turn off the unaligned memory check, at least I could proceed and maybe find some bugs in my own code...
> Thanks to all for helping.
> Sean McBride, B. Eng sean at rogue-research.com
> Rogue Research www.rogue-research.com
> Mac Software Developer Montréal, Québec, Canada
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
More information about the cfe-dev