3 ms·
That only applies to warnings in conjunction with optimisations though, just turning optimisations on (as shown in the example slide) won't necessarily pick up
by pwaring 15y ago
That only applies to warnings in conjunction with optimisations though, just turning optimisations on (as shown in the example slide) won't necessarily pick up uninitialised variables. For example, if I compile the example given in the slides with -O, -O1, -O2 or -O3 with gcc, I don't get an error/warning, but I do if I use -Wall.
Also, you can use -Wuninitialized without optimisations and it picks up the problem, at least in my version of gcc (4.5.2).
- greyfade 15y agoThe example in the slide uses `-Wall -O`, and `-Wall` includes `-Wuninitialized`. Recent versions of GCC have a revamped syntax tree analyzer, which was needed for the new tree-vectorize features. It does more work from the outset these days, so I'm not surprised if it throws the warning earlier.
- silentbicycle 15y agoIndeed, you need the warning and the optimization to make it work. That note came from the man page for i686-apple-darwin11-llvm-gcc-4.2, FWIW.
- deleted 15y ago[deleted]
- pwaring 15y agoAh, I'm using a newer version of gcc, which seems to catch the warning regardless of the optimisation level (including none at all). The text of the man page also seems to be different.