On 8 Jul 2011, at 15:00, Sebastian Reitenbach wrote: >> I'm not sure if it's related, but I was seeing 'conditional jump depends on >> uninitialised value' errors in valgrind while loading defaults. I think it >> was somewhere in GSXML, but I'm not completely sure - by the time I got >> around to trying to find the cause, they'd stopped happening. I assumed >> that meant someone had fixed the relevant bug, but it might just have meant >> that my defaults settings had changed in a way that stopped the bug from >> being triggered. > > I guess, uninitialized variables, the compiler should warn, when it > encounters it while compiling.
Not always. In GCC, it only warns at all in an optimised build, because it only computes a code flow graph during optimisation. In any case, often the compiler doesn't have enough information to know. For example: int foo; bar(&foo); Is foo used uninitialized? Maybe. If bar starts with *foo = 0, then no. If bar starts with if (foo) then yes. If bar is defined in another compilation unit, the compiler can't tell. David -- Send from my Jacquard Loom _______________________________________________ Discuss-gnustep mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnustep
