Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

4
  • This sounds superficially good, but relies too much on the accuracy of uninitialized-value warnings. Getting these perfectly correct is equivalent to the Halting Problem, and production compilers can and do suffer false negatives (i.e. they don't diagnose an uninitialized variable when they should have); see for instance GCC bug 18501, which has gone unfixed for more than ten years now. Commented Dec 27, 2015 at 18:45
  • What you say about gcc is just said. The rest is irrelevant. Commented Dec 27, 2015 at 23:12
  • It is sad about gcc, but if you don't understand why the rest is relevant then you need to educate yourself. Commented Dec 27, 2015 at 23:28
  • Truly detecting used-before-set problems is indeed equivalent to the halting problem. And indeed it's sad when a compiler doesn't detect a used-before-set case. But that doesn't mean that it's not valuable to detect all of the cases that it can detect! If you initialize to NULL, say, there are tools that can detect some cases where you dereference that NULL, but that's much harder than detecting used-before-set. Commented Oct 22, 2020 at 1:26