Laurent Thioudellet reports that gcc4's ultra-cautious data flow
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Mon, 26 Dec 2005 23:24:09 +0000 (23:24 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Mon, 26 Dec 2005 23:24:09 +0000 (23:24 +0000)
commit06fb836f3d357bdf3285fbe3590456b1a75bf6ff
tree1aba45133b043d54c526f99f0de94b3b535fce78
parent2b77bc5bd081a425fa062b8dfbf89302acd62221
Laurent Thioudellet reports that gcc4's ultra-cautious data flow
warnings require two more variables to be explicitly initialised. In
fact these variables are reliably initialised by a subfunction; gcc3
was happy to assume I knew what I was doing when it couldn't prove
they were definitely used uninitialised, whereas gcc4 apparently
takes the view that the onus is on me to allow it to prove they
_aren't_. I regard this as a step backwards, since the effect will
be to make explicit initialisation commonplace in cases where the
initialiser value is chosen arbitrarily and never expected to be
used, at which point (a) it will be less clear which initialisers
have genuine purpose and which are compiler-placating fluff, and (b)
valgrind's run-time uninitialised-data tracking will become less
useful. Still, the effect doesn't seem great as yet, so here's the
gcc4-placating checkin.

git-svn-id: svn://svn.tartarus.org/sgt/puzzles@6508 cda61777-01e9-0310-a592-d414129be87e
bridges.c