https://bugs.kde.org/show_bug.cgi?id=381326
--- Comment #4 from John Reiser <jrei...@bitwagon.com> --- (In reply to John Reiser from comment #1) More generally, when memcheck complains about uninit in a test for equality between variables, then the Valid bits should "cross-pollinate": if (a == b) { // 'a' and 'b' are the user values if (~aV | ~bV) { //' 'aV' are the Valid bits for 'a' complain("uninit bits in equality test", ...); old_aV = aV; old_bV = bV; // The user bits are equal. Therefore the Valid bits // of each operand must erase Uninit // for the corresponding bits of the other operand. // There is no difference between being Initialized by a Write, // and being equal to an Initialized bit. aV |= old_bV; bV |= old_aV; } } else { ... } Carried to extremes, this could mean that some previous complaints are no longer correct! The user bits have not changed (there were no Write operations), but we have learned new information: some bits that a while ago were thought to be Uninit, have turned out to be initialized after all. (This is not the French national Dictée dictation examination, where late discovery of gender requires that you go back and correct previous pronouns, but ...) -- You are receiving this mail because: You are watching all bug changes.