On Wed, Oct 03, 2012 at 09:54:45AM -0700, Lawrence Crowl wrote: > On 10/2/12, Ian Lance Taylor <i...@google.com> wrote: > > On Oct 2, 2012 Lawrence Crowl <cr...@googlers.com> wrote: > > > On 10/2/12, Richard Guenther <rguent...@suse.de> wrote: > > > > You are changing a hashtable used by fold checking, did you > > > > test with fold checking enabled? > > > > > > I didn't know I had to do anything beyond the normal make check. > > > What do I do? > > > > Fold checking is not enabled by default because of high overhead > > and general pointlessness. To enable it, when you run configure, > > use --enable-checking=yes,fold. > > So, why have the feature if it is pointless? Just curious.
It is not pointless, just seldom used. The reason for the verification code is to (very expensively) verify that fold_binary etc. doesn't modify passed expressions in place, instead if it needs to make changes, it allocates new trees. It is not something for every day use (unlike say tree or rtl checking which can be enabled on faster build boxes for daily bootstraps on the trunk), but something to be checked once a year or so (similarly to --enable-checking=valgrind, which is even more expensive). Jakub