Bootstrapping gcc-4.7-20120107 with fortran enabled and --disable-build-poststage1-with-cxx fails with: /mnt/scratch/objdir47/./prev-gcc/xgcc -B/mnt/scratch/objdir47/./prev-gcc/ -B/mnt/scratch/install47/i686-pc-linux-gnu/bin/ -B/mnt/scratch/install47/i686-pc-linux-gnu/bin/ -B/mnt/scratch/install47/i686-pc-linux-gnu/lib/ -isystem /mnt/scratch/install47/i686-pc-linux-gnu/include -isystem /mnt/scratch/install47/i686-pc-linux-gnu/sys-include -c -DIN_GCC_FRONTEND -g -O2 -gtoggle -DIN_GCC -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H -I. -Ifortran -I/mnt/scratch/gcc-4.7-20120107/gcc -I/mnt/scratch/gcc-4.7-20120107/gcc/fortran -I/mnt/scratch/gcc-4.7-20120107/gcc/../include -I/mnt/scratch/gcc-4.7-20120107/gcc/../libcpp/include -I/home/mikpe/pkgs/linux-x86/gmp-5.0.2/include -I/home/mikpe/pkgs/linux-x86/mpfr-3.1.0/include -I/home/mikpe/pkgs/linux-x86/mpc-0.9/include -I/mnt/scratch/gcc-4.7-20120107/gcc/../libdecnumber -I/mnt/scratch/gcc-4.7-20120107/gcc/../libdecnumber/bid -I../libdecnumber /mnt/scratch/gcc-4.7-20120107/gcc/fortran/resolve.c -o fortran/resolve.o /mnt/scratch/gcc-4.7-20120107/gcc/fortran/resolve.c:5891:1: error: no previous prototype for 'resolve_typebound_function' [-Werror=missing-prototypes] cc1: all warnings being treated as errors This is because r182754 (PR 46262 + 46328 + 51052 fix) deleted the 'static' for resolve_typebound_function, even though nothing outside of resolve.c calls it, and there is no previous prototype in scope. Adding the 'static' back allows bootstrap to complete. Yet another error missed due to the build-everything-with-c++-by-default change.
Dear Mikael, Thanks for that - the static was removed for one variant of the patches that you cite so that the function could be called form interface.c. Indeed, as you say, it did not throw up an error subsequently and so I missed it. I am just about to commit on another PR, so I will fix this one at the same time. Confirmed. Cheers Paul
Author: pault Date: Mon Jan 9 20:25:55 2012 New Revision: 183032 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=183032 Log: 2012-01-09 Paul Thomas <pault@gcc.gnu.org> PR fortran/51791 * interface.c (matching_typebound_op): Drill down through possible parentheses to obtain base expression. Do not test for 'class_ok' but, instead for the class structure components. * resolve.c (resolve_ordinary_assign): Extend error message for polymorphic assignment to advise checking for specific subroutine. PR fortran/51792 * resolve.c (resolve_typebound_function): Restore 'static' to declaration. 2012-01-09 Paul Thomas <pault@gcc.gnu.org> PR fortran/51791 * gfortran.dg/typebound_operator_7.f03: Insert parentheses around base object in first assignment in main program. * gfortran.dg/typebound_operator_10.f03: New test. Added: trunk/gcc/testsuite/gfortran.dg/typebound_operator_10.f03 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/interface.c trunk/gcc/fortran/resolve.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gfortran.dg/typebound_operator_7.f03
Fixed on trunk Paul