Many thanks to Toon for approving the FORTRAN parts of this patch
for mainline. After a week without further comment, I decided that
the fold-const.c change was obvious and I've committed the patch to
mainline.
The following version is a backport of this fix to the gcc-3_3-branch.
This patch is nearly identical to the mainline version, with the
exception that the original required the function integer_nonzerop,
which isn't available on the branch. The solution below is to also
backport that new predicate to 3.3.3's tree.c.
This revised patch has been tested against the gcc-3_3-branch on
i686-pc-linux-gnu with a complete bootstrap, all languages except
treelang, and regression tested with a top-level "make -k check" with
no new failures.
Ok for the 3.3 branch?