diff -Nrc3pad gcc-3.3.1/boehm-gc/ChangeLog gcc-3.3.2/boehm-gc/ChangeLog *** gcc-3.3.1/boehm-gc/ChangeLog 2003-08-04 12:47:40.000000000 +0000 --- gcc-3.3.2/boehm-gc/ChangeLog 2003-10-16 19:42:44.000000000 +0000 *************** *** 1,3 **** --- 1,18 ---- + 2003-10-16 Release Manager + + * GCC 3.3.2 Released. + + 2003-10-01 Rainer Orth + + * configure.in: Remove wildcard from Solaris 8-9/Intel and Solaris + 2.3/SPARC, there are no micro versions. + Treat Solaris 10 and up alike. + * configure: Regenerate. + + 2003-09-09 Alan Modra + + * configure: Regenerate. + 2003-08-04 Release Manager * GCC 3.3.1 Released. diff -Nrc3pad gcc-3.3.1/boehm-gc/configure gcc-3.3.2/boehm-gc/configure *** gcc-3.3.1/boehm-gc/configure 2003-08-04 12:58:11.000000000 +0000 --- gcc-3.3.2/boehm-gc/configure 2003-10-16 20:10:48.000000000 +0000 *************** program_suffix=NONE *** 61,67 **** program_transform_name=s,x,x, silent= site= - sitefile= srcdir= target=NONE verbose= --- 61,66 ---- *************** Configuration: *** 176,182 **** --help print this message --no-create do not create output files --quiet, --silent do not print \`checking...' messages - --site-file=FILE use FILE as the site file --version print the version of autoconf that created configure Directory and file names: --prefix=PREFIX install architecture-independent files in PREFIX --- 175,180 ---- *************** EOF *** 347,357 **** -site=* | --site=* | --sit=*) site="$ac_optarg" ;; - -site-file | --site-file | --site-fil | --site-fi | --site-f) - ac_prev=sitefile ;; - -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*) - sitefile="$ac_optarg" ;; - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) --- 345,350 ---- *************** fi *** 517,532 **** srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` # Prefer explicitly selected file to automatically selected ones. ! if test -z "$sitefile"; then ! if test -z "$CONFIG_SITE"; then ! if test "x$prefix" != xNONE; then ! CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" ! else ! CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" ! fi fi - else - CONFIG_SITE="$sitefile" fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then --- 510,521 ---- srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` # Prefer explicitly selected file to automatically selected ones. ! if test -z "$CONFIG_SITE"; then ! if test "x$prefix" != xNONE; then ! CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" ! else ! CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then *************** ac_configure=$ac_aux_dir/configure # Thi *** 604,610 **** # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 ! echo "configure:608: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 593,599 ---- # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 ! echo "configure:597: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** test -z "$INSTALL_SCRIPT" && INSTALL_SCR *** 657,663 **** test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6 ! echo "configure:661: checking whether build environment is sane" >&5 # Just in case sleep 1 echo timestamp > conftestfile --- 646,652 ---- test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6 ! echo "configure:650: checking whether build environment is sane" >&5 # Just in case sleep 1 echo timestamp > conftestfile *************** test "$program_suffix" != NONE && *** 714,720 **** test "$program_transform_name" = "" && program_transform_name="s,x,x," echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 ! echo "configure:718: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 703,709 ---- test "$program_transform_name" = "" && program_transform_name="s,x,x," echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 ! echo "configure:707: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** else *** 747,758 **** fi echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6 ! echo "configure:751: checking for Cygwin environment" >&5 if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:740: checking for Cygwin environment" >&5 if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_cygwin=yes else --- 752,758 ---- return __CYGWIN__; ; return 0; } EOF ! if { (eval echo configure:756: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_cygwin=yes else *************** echo "$ac_t""$ac_cv_cygwin" 1>&6 *** 780,798 **** CYGWIN= test "$ac_cv_cygwin" = yes && CYGWIN=yes echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6 ! echo "configure:784: checking for mingw32 environment" >&5 if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_mingw32=yes else --- 769,787 ---- CYGWIN= test "$ac_cv_cygwin" = yes && CYGWIN=yes echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6 ! echo "configure:773: checking for mingw32 environment" >&5 if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_mingw32=yes else *************** else { echo "configure: error: can not r *** 903,909 **** fi echo $ac_n "checking host system type""... $ac_c" 1>&6 ! echo "configure:907: checking host system type" >&5 host_alias=$host case "$host_alias" in --- 892,898 ---- fi echo $ac_n "checking host system type""... $ac_c" 1>&6 ! echo "configure:896: checking host system type" >&5 host_alias=$host case "$host_alias" in *************** host_os=`echo $host | sed 's/^\([^-]*\)- *** 924,930 **** echo "$ac_t""$host" 1>&6 echo $ac_n "checking target system type""... $ac_c" 1>&6 ! echo "configure:928: checking target system type" >&5 target_alias=$target case "$target_alias" in --- 913,919 ---- echo "$ac_t""$host" 1>&6 echo $ac_n "checking target system type""... $ac_c" 1>&6 ! echo "configure:917: checking target system type" >&5 target_alias=$target case "$target_alias" in *************** target_os=`echo $target | sed 's/^\([^-] *** 942,948 **** echo "$ac_t""$target" 1>&6 echo $ac_n "checking build system type""... $ac_c" 1>&6 ! echo "configure:946: checking build system type" >&5 build_alias=$build case "$build_alias" in --- 931,937 ---- echo "$ac_t""$target" 1>&6 echo $ac_n "checking build system type""... $ac_c" 1>&6 ! echo "configure:935: checking build system type" >&5 build_alias=$build case "$build_alias" in *************** fi *** 982,988 **** missing_dir=`cd $ac_aux_dir && pwd` echo $ac_n "checking for working aclocal""... $ac_c" 1>&6 ! echo "configure:986: checking for working aclocal" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. --- 971,977 ---- missing_dir=`cd $ac_aux_dir && pwd` echo $ac_n "checking for working aclocal""... $ac_c" 1>&6 ! echo "configure:975: checking for working aclocal" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. *************** else *** 995,1001 **** fi echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 ! echo "configure:999: checking for working autoconf" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. --- 984,990 ---- fi echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 ! echo "configure:988: checking for working autoconf" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. *************** else *** 1008,1014 **** fi echo $ac_n "checking for working automake""... $ac_c" 1>&6 ! echo "configure:1012: checking for working automake" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. --- 997,1003 ---- fi echo $ac_n "checking for working automake""... $ac_c" 1>&6 ! echo "configure:1001: checking for working automake" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. *************** else *** 1021,1027 **** fi echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 ! echo "configure:1025: checking for working autoheader" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. --- 1010,1016 ---- fi echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 ! echo "configure:1014: checking for working autoheader" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. *************** else *** 1034,1040 **** fi echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6 ! echo "configure:1038: checking for working makeinfo" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. --- 1023,1029 ---- fi echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6 ! echo "configure:1027: checking for working makeinfo" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. *************** fi *** 1060,1066 **** # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1064: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1049,1055 ---- # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1053: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** if test -z "$CC"; then *** 1090,1096 **** # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1094: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1079,1085 ---- # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1083: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** fi *** 1139,1145 **** fi echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 ! echo "configure:1143: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1128,1134 ---- fi echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 ! echo "configure:1132: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** else *** 1148,1154 **** yes; #endif EOF ! if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1152: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no --- 1137,1143 ---- yes; #endif EOF ! if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1141: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no *************** if test $ac_cv_prog_gcc = yes; then *** 1163,1169 **** ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 ! echo "configure:1167: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1152,1158 ---- ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 ! echo "configure:1156: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** do *** 1200,1206 **** # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1204: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1189,1195 ---- # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1193: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** test -n "$CXX" || CXX="gcc" *** 1233,1239 **** test -z "$CXX" && { echo "configure: error: no acceptable c++ found in \$PATH" 1>&2; exit 1; } echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6 ! echo "configure:1237: checking whether we are using GNU C++" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1222,1228 ---- test -z "$CXX" && { echo "configure: error: no acceptable c++ found in \$PATH" 1>&2; exit 1; } echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6 ! echo "configure:1226: checking whether we are using GNU C++" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** else *** 1242,1248 **** yes; #endif EOF ! if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1246: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gxx=yes else ac_cv_prog_gxx=no --- 1231,1237 ---- yes; #endif EOF ! if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1235: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gxx=yes else ac_cv_prog_gxx=no *************** if test $ac_cv_prog_gxx = yes; then *** 1257,1263 **** ac_save_CXXFLAGS="$CXXFLAGS" CXXFLAGS= echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6 ! echo "configure:1261: checking whether ${CXX-g++} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1246,1252 ---- ac_save_CXXFLAGS="$CXXFLAGS" CXXFLAGS= echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6 ! echo "configure:1250: checking whether ${CXX-g++} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** fi *** 1290,1296 **** # NEWLIB_CONFIGURE, which doesn't work because that means that it will # be run before AC_CANONICAL_HOST. echo $ac_n "checking build system type""... $ac_c" 1>&6 ! echo "configure:1294: checking build system type" >&5 build_alias=$build case "$build_alias" in --- 1279,1285 ---- # NEWLIB_CONFIGURE, which doesn't work because that means that it will # be run before AC_CANONICAL_HOST. echo $ac_n "checking build system type""... $ac_c" 1>&6 ! echo "configure:1283: checking build system type" >&5 build_alias=$build case "$build_alias" in *************** echo "$ac_t""$build" 1>&6 *** 1311,1317 **** # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. set dummy ${ac_tool_prefix}as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1315: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1300,1306 ---- # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. set dummy ${ac_tool_prefix}as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1304: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** fi *** 1343,1349 **** # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1347: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1332,1338 ---- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1336: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** fi *** 1375,1381 **** # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1379: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1364,1370 ---- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1368: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** if test -n "$ac_tool_prefix"; then *** 1407,1413 **** # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1411: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1396,1402 ---- # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1400: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** fi *** 1452,1458 **** # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 ! echo "configure:1456: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 1441,1447 ---- # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 ! echo "configure:1445: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** test -z "$INSTALL_DATA" && INSTALL_DATA= *** 1506,1512 **** echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 ! echo "configure:1510: checking whether to enable maintainer-specific portions of Makefiles" >&5 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval="$enable_maintainer_mode" --- 1495,1501 ---- echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 ! echo "configure:1499: checking whether to enable maintainer-specific portions of Makefiles" >&5 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval="$enable_maintainer_mode" *************** if false; then *** 1544,1550 **** echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 ! echo "configure:1548: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1533,1539 ---- echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 ! echo "configure:1537: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** else *** 1554,1563 **** rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= ! if { (eval echo configure:1558: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in ! *.c | *.o | *.obj | *.ilk | *.pdb) ;; *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;; esac done --- 1543,1552 ---- rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= ! if { (eval echo configure:1547: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in ! *.c | *.o | *.obj) ;; *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;; esac done *************** ac_prog=ld *** 1676,1682 **** if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6 ! echo "configure:1680: checking for ld used by GCC" >&5 case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw --- 1665,1671 ---- if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6 ! echo "configure:1669: checking for ld used by GCC" >&5 case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw *************** echo "configure:1680: checking for ld us *** 1706,1715 **** esac elif test "$with_gnu_ld" = yes; then echo $ac_n "checking for GNU ld""... $ac_c" 1>&6 ! echo "configure:1710: checking for GNU ld" >&5 else echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 ! echo "configure:1713: checking for non-GNU ld" >&5 fi if eval "test \"`echo '$''{'lt_cv_path_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 1695,1704 ---- esac elif test "$with_gnu_ld" = yes; then echo $ac_n "checking for GNU ld""... $ac_c" 1>&6 ! echo "configure:1699: checking for GNU ld" >&5 else echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 ! echo "configure:1702: checking for non-GNU ld" >&5 fi if eval "test \"`echo '$''{'lt_cv_path_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** else *** 1744,1750 **** fi test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; } echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6 ! echo "configure:1748: checking if the linker ($LD) is GNU ld" >&5 if eval "test \"`echo '$''{'lt_cv_prog_gnu_ld'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1733,1739 ---- fi test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; } echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6 ! echo "configure:1737: checking if the linker ($LD) is GNU ld" >&5 if eval "test \"`echo '$''{'lt_cv_prog_gnu_ld'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** with_gnu_ld=$lt_cv_prog_gnu_ld *** 1761,1767 **** echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6 ! echo "configure:1765: checking for $LD option to reload object files" >&5 if eval "test \"`echo '$''{'lt_cv_ld_reload_flag'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1750,1756 ---- echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6 ! echo "configure:1754: checking for $LD option to reload object files" >&5 if eval "test \"`echo '$''{'lt_cv_ld_reload_flag'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** reload_flag=$lt_cv_ld_reload_flag *** 1773,1779 **** test -n "$reload_flag" && reload_flag=" $reload_flag" echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6 ! echo "configure:1777: checking for BSD-compatible nm" >&5 if eval "test \"`echo '$''{'lt_cv_path_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1762,1768 ---- test -n "$reload_flag" && reload_flag=" $reload_flag" echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6 ! echo "configure:1766: checking for BSD-compatible nm" >&5 if eval "test \"`echo '$''{'lt_cv_path_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** NM="$lt_cv_path_NM" *** 1811,1817 **** echo "$ac_t""$NM" 1>&6 echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 ! echo "configure:1815: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1800,1806 ---- echo "$ac_t""$NM" 1>&6 echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 ! echo "configure:1804: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** else *** 1832,1838 **** fi echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6 ! echo "configure:1836: checking how to recognise dependant libraries" >&5 if eval "test \"`echo '$''{'lt_cv_deplibs_check_method'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1821,1827 ---- fi echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6 ! echo "configure:1825: checking how to recognise dependant libraries" >&5 if eval "test \"`echo '$''{'lt_cv_deplibs_check_method'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** file_magic_cmd=$lt_cv_file_magic_cmd *** 2005,2017 **** deplibs_check_method=$lt_cv_deplibs_check_method echo $ac_n "checking for object suffix""... $ac_c" 1>&6 ! echo "configure:2009: checking for object suffix" >&5 if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else rm -f conftest* echo 'int i = 1;' > conftest.$ac_ext ! if { (eval echo configure:2015: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then for ac_file in conftest.*; do case $ac_file in *.c) ;; --- 1994,2006 ---- deplibs_check_method=$lt_cv_deplibs_check_method echo $ac_n "checking for object suffix""... $ac_c" 1>&6 ! echo "configure:1998: checking for object suffix" >&5 if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else rm -f conftest* echo 'int i = 1;' > conftest.$ac_ext ! if { (eval echo configure:2004: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then for ac_file in conftest.*; do case $ac_file in *.c) ;; *************** case $deplibs_check_method in *** 2035,2041 **** file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then echo $ac_n "checking for ${ac_tool_prefix}file""... $ac_c" 1>&6 ! echo "configure:2039: checking for ${ac_tool_prefix}file" >&5 if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2024,2030 ---- file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then echo $ac_n "checking for ${ac_tool_prefix}file""... $ac_c" 1>&6 ! echo "configure:2028: checking for ${ac_tool_prefix}file" >&5 if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** fi *** 2097,2103 **** if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then echo $ac_n "checking for file""... $ac_c" 1>&6 ! echo "configure:2101: checking for file" >&5 if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2086,2092 ---- if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then echo $ac_n "checking for file""... $ac_c" 1>&6 ! echo "configure:2090: checking for file" >&5 if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** esac *** 2168,2174 **** # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2172: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2157,2163 ---- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2161: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** if test -n "$ac_tool_prefix"; then *** 2200,2206 **** # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2204: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2189,2195 ---- # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2193: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** fi *** 2235,2241 **** # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2239: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2224,2230 ---- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2228: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** if test -n "$ac_tool_prefix"; then *** 2267,2273 **** # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2271: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2256,2262 ---- # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2260: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** test x"$pic_mode" = xno && libtool_flags *** 2334,2341 **** case $host in *-*-irix6*) # Find out which ABI we are using. ! echo '#line 2338 "configure"' > conftest.$ac_ext ! if { (eval echo configure:2339: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) --- 2323,2330 ---- case $host in *-*-irix6*) # Find out which ABI we are using. ! echo '#line 2327 "configure"' > conftest.$ac_ext ! if { (eval echo configure:2328: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) *************** case $host in *** 2368,2374 **** ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext ! if { (eval echo configure:2372: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then case "`/usr/bin/file conftest.o`" in *ELF-32*) HPUX_IA64_MODE="32" --- 2357,2363 ---- ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext ! if { (eval echo configure:2361: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then case "`/usr/bin/file conftest.o`" in *ELF-32*) HPUX_IA64_MODE="32" *************** ia64-*-hpux*) *** 2384,2397 **** x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext ! if { (eval echo configure:2388: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then case "`/usr/bin/file conftest.o`" in *32-bit*) case $host in x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ! ppc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) --- 2373,2386 ---- x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext ! if { (eval echo configure:2377: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then case "`/usr/bin/file conftest.o`" in *32-bit*) case $host in x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ! ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) *************** x86_64-*linux*|ppc*-*linux*|powerpc*-*li *** 2428,2434 **** SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6 ! echo "configure:2432: checking whether the C compiler needs -belf" >&5 if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2417,2423 ---- SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6 ! echo "configure:2421: checking whether the C compiler needs -belf" >&5 if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** ac_link='${CC-cc} -o conftest${ac_exeext *** 2441,2454 **** cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* lt_cv_cc_needs_belf=yes else --- 2430,2443 ---- cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* lt_cv_cc_needs_belf=yes else *************** echo "$ac_t""$lt_cv_cc_needs_belf" 1>&6 *** 2478,2484 **** esac echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6 ! echo "configure:2482: checking how to run the C++ preprocessor" >&5 if test -z "$CXXCPP"; then if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2467,2473 ---- esac echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6 ! echo "configure:2471: checking how to run the C++ preprocessor" >&5 if test -z "$CXXCPP"; then if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 2491,2502 **** cross_compiling=$ac_cv_prog_cxx_cross CXXCPP="${CXX-g++} -E" cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:2500: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : --- 2480,2491 ---- cross_compiling=$ac_cv_prog_cxx_cross CXXCPP="${CXX-g++} -E" cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:2489: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : *************** fi *** 2643,2649 **** echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 ! echo "configure:2647: checking whether to enable maintainer-specific portions of Makefiles" >&5 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval="$enable_maintainer_mode" --- 2632,2638 ---- echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 ! echo "configure:2636: checking whether to enable maintainer-specific portions of Makefiles" >&5 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval="$enable_maintainer_mode" *************** if false; then *** 2676,2682 **** echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 ! echo "configure:2680: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2665,2671 ---- echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 ! echo "configure:2669: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** else *** 2686,2695 **** rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= ! if { (eval echo configure:2690: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in ! *.c | *.o | *.obj | *.ilk | *.pdb) ;; *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;; esac done --- 2675,2684 ---- rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= ! if { (eval echo configure:2679: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in ! *.c | *.o | *.obj) ;; *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;; esac done *************** ac_exeext=$EXEEXT *** 2709,2715 **** fi echo $ac_n "checking for thread model used by GCC""... $ac_c" 1>&6 ! echo "configure:2713: checking for thread model used by GCC" >&5 THREADS=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'` if test -z "$THREADS"; then THREADS=no --- 2698,2704 ---- fi echo $ac_n "checking for thread model used by GCC""... $ac_c" 1>&6 ! echo "configure:2702: checking for thread model used by GCC" >&5 THREADS=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'` if test -z "$THREADS"; then THREADS=no *************** esac *** 2846,2852 **** echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 ! echo "configure:2850: checking for dlopen in -ldl" >&5 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2835,2841 ---- echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 ! echo "configure:2839: checking for dlopen in -ldl" >&5 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** else *** 2854,2860 **** ac_save_LIBS="$LIBS" LIBS="-ldl $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2854,2860 ---- dlopen() ; return 0; } EOF ! if { (eval echo configure:2858: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** fi *** 2953,2959 **** alpha*-*-*) machdep="alpha_mach_dep.lo" ;; ! i?86-*-solaris2.[89]*) cat >> confdefs.h <<\EOF #define SOLARIS25_PROC_VDB_BUG_FIXED 1 EOF --- 2942,2948 ---- alpha*-*-*) machdep="alpha_mach_dep.lo" ;; ! i?86-*-solaris2.[89] | i?86-*-solaris2.1?) cat >> confdefs.h <<\EOF #define SOLARIS25_PROC_VDB_BUG_FIXED 1 EOF *************** EOF *** 2982,2988 **** EOF ;; ! sparc-sun-solaris2.3*) machdep="sparc_mach_dep.lo" cat >> confdefs.h <<\EOF #define SUNOS53_SHARED_LIB 1 --- 2971,2977 ---- EOF ;; ! sparc-sun-solaris2.3) machdep="sparc_mach_dep.lo" cat >> confdefs.h <<\EOF #define SUNOS53_SHARED_LIB 1 *************** cat >> $CONFIG_STATUS <<\EOF *** 3323,3329 **** # Split the substitutions into bite-sized pieces for seds with # small command number limits, like on Digital OSF/1 and HP-UX. ! ac_max_sed_cmds=60 # Maximum number of lines to put in a sed script. ac_file=1 # Number of current file. ac_beg=1 # First line for current file. ac_end=$ac_max_sed_cmds # Line after last line for current file. --- 3312,3318 ---- # Split the substitutions into bite-sized pieces for seds with # small command number limits, like on Digital OSF/1 and HP-UX. ! ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. ac_file=1 # Number of current file. ac_beg=1 # First line for current file. ac_end=$ac_max_sed_cmds # Line after last line for current file. diff -Nrc3pad gcc-3.3.1/boehm-gc/configure.in gcc-3.3.2/boehm-gc/configure.in *** gcc-3.3.1/boehm-gc/configure.in 2003-04-28 20:55:07.000000000 +0000 --- gcc-3.3.2/boehm-gc/configure.in 2003-10-01 19:06:52.000000000 +0000 *************** case "$host" in *** 174,180 **** alpha*-*-*) machdep="alpha_mach_dep.lo" ;; ! i?86-*-solaris2.[[89]]*) AC_DEFINE(SOLARIS25_PROC_VDB_BUG_FIXED) ;; mipstx39-*-elf*) --- 174,180 ---- alpha*-*-*) machdep="alpha_mach_dep.lo" ;; ! i?86-*-solaris2.[[89]] | i?86-*-solaris2.1?) AC_DEFINE(SOLARIS25_PROC_VDB_BUG_FIXED) ;; mipstx39-*-elf*) *************** case "$host" in *** 191,197 **** machdep="mips_sgi_mach_dep.lo" AC_DEFINE(NO_EXECUTE_PERMISSION) ;; ! sparc-sun-solaris2.3*) machdep="sparc_mach_dep.lo" AC_DEFINE(SUNOS53_SHARED_LIB) ;; --- 191,197 ---- machdep="mips_sgi_mach_dep.lo" AC_DEFINE(NO_EXECUTE_PERMISSION) ;; ! sparc-sun-solaris2.3) machdep="sparc_mach_dep.lo" AC_DEFINE(SUNOS53_SHARED_LIB) ;; diff -Nrc3pad gcc-3.3.1/.brik gcc-3.3.2/.brik *** gcc-3.3.1/.brik 2003-08-04 14:59:43.000000000 +0000 --- gcc-3.3.2/.brik 2003-10-16 22:52:23.000000000 +0000 *************** *** 14,26 **** 2411687152b ./boehm-gc/BCC_MAKEFILE 394605993b ./boehm-gc/blacklst.c 971406525b ./boehm-gc/callprocs ! 4155691129b ./boehm-gc/ChangeLog 2542310219b ./boehm-gc/checksums.c 1272640704b ./boehm-gc/config.guess 4182969326b ./boehm-gc/config.sub ! 2472545041b ./boehm-gc/configure 2331870630b ./boehm-gc/configure.host ! 1266343671b ./boehm-gc/configure.in 3430717956b ./boehm-gc/cord/cordbscs.c 473686535b ./boehm-gc/cord/cordprnt.c 1796537586b ./boehm-gc/cord/cordtest.c --- 14,26 ---- 2411687152b ./boehm-gc/BCC_MAKEFILE 394605993b ./boehm-gc/blacklst.c 971406525b ./boehm-gc/callprocs ! 3646085849b ./boehm-gc/ChangeLog 2542310219b ./boehm-gc/checksums.c 1272640704b ./boehm-gc/config.guess 4182969326b ./boehm-gc/config.sub ! 2350970747b ./boehm-gc/configure 2331870630b ./boehm-gc/configure.host ! 725430640b ./boehm-gc/configure.in 3430717956b ./boehm-gc/cord/cordbscs.c 473686535b ./boehm-gc/cord/cordprnt.c 1796537586b ./boehm-gc/cord/cordtest.c *************** *** 162,172 **** 332085760b ./boehm-gc/version.h 205379550b ./boehm-gc/WCC_MAKEFILE 62682092b ./boehm-gc/win32_threads.c ! 2171734350b ./BUGS ! 2989600426b ./bugs.html ! 2254080160b ./ChangeLog 430854799b ./config/acinclude.m4 ! 1571744625b ./config/ChangeLog 3794184949b ./config.guess 2016379063b ./config.if 636889995b ./config/mh-a68bsd --- 162,172 ---- 332085760b ./boehm-gc/version.h 205379550b ./boehm-gc/WCC_MAKEFILE 62682092b ./boehm-gc/win32_threads.c ! 971684819b ./BUGS ! 4173866843b ./bugs.html ! 934441312b ./ChangeLog 430854799b ./config/acinclude.m4 ! 1748632144b ./config/ChangeLog 3794184949b ./config.guess 2016379063b ./config.if 636889995b ./config/mh-a68bsd *************** *** 200,206 **** 3478341494b ./config/mh-ppcpic 633311229b ./config/mh-riscos 3265825290b ./config/mh-s390pic ! 883433131b ./config/mh-sco 612532950b ./config/mh-solaris 1399222241b ./config/mh-sparcpic 1335785638b ./config/mh-sysv --- 200,206 ---- 3478341494b ./config/mh-ppcpic 633311229b ./config/mh-riscos 3265825290b ./config/mh-s390pic ! 2299205241b ./config/mh-sco 612532950b ./config/mh-solaris 1399222241b ./config/mh-sparcpic 1335785638b ./config/mh-sysv *************** *** 218,239 **** 2659154290b ./config/mt-wince 537897852b ./config.sub 4143692422b ./configure ! 2116386303b ./configure.in 1948950130b ./contrib/analyze_brprob ! 3735472459b ./contrib/ChangeLog 550196746b ./contrib/compare_tests 2828387446b ./contrib/convert_to_f2c 2929939770b ./contrib/convert_to_g2c 2025073358b ./contrib/download_f2c 1336632236b ./contrib/gccbug.el ! 2292355102b ./contrib/gcc_build 349855123b ./contrib/gcc_update ! 109296376b ./contrib/gennews 4256039795b ./contrib/index-prop 3683285493b ./contrib/newcvsroot 3406928738b ./contrib/paranoia.cc 3661855799b ./contrib/regression/btest-gcc.sh ! 2871919057b ./contrib/regression/ChangeLog 1435553453b ./contrib/regression/objs-gcc.sh 1757898889b ./contrib/regression/README 3103378580b ./contrib/regression/site.exp --- 218,239 ---- 2659154290b ./config/mt-wince 537897852b ./config.sub 4143692422b ./configure ! 2474773756b ./configure.in 1948950130b ./contrib/analyze_brprob ! 1043864154b ./contrib/ChangeLog 550196746b ./contrib/compare_tests 2828387446b ./contrib/convert_to_f2c 2929939770b ./contrib/convert_to_g2c 2025073358b ./contrib/download_f2c 1336632236b ./contrib/gccbug.el ! 4190705069b ./contrib/gcc_build 349855123b ./contrib/gcc_update ! 752127234b ./contrib/gennews 4256039795b ./contrib/index-prop 3683285493b ./contrib/newcvsroot 3406928738b ./contrib/paranoia.cc 3661855799b ./contrib/regression/btest-gcc.sh ! 3682328122b ./contrib/regression/ChangeLog 1435553453b ./contrib/regression/objs-gcc.sh 1757898889b ./contrib/regression/README 3103378580b ./contrib/regression/site.exp *************** *** 244,255 **** 2171125041b ./COPYING 508743035b ./COPYING.LIB 2864072627b ./.cvsignore ! 4097910241b ./FAQ ! 2227615908b ./faq.html 54199525b ./fastjar/acinclude.m4 1369101675b ./fastjar/aclocal.m4 1005262133b ./fastjar/AUTHORS ! 1926225893b ./fastjar/ChangeLog 1745615150b ./fastjar/CHANGES 3743222129b ./fastjar/compress.c 1169302702b ./fastjar/compress.h --- 244,255 ---- 2171125041b ./COPYING 508743035b ./COPYING.LIB 2864072627b ./.cvsignore ! 998335541b ./FAQ ! 1764901825b ./faq.html 54199525b ./fastjar/acinclude.m4 1369101675b ./fastjar/aclocal.m4 1005262133b ./fastjar/AUTHORS ! 2435650698b ./fastjar/ChangeLog 1745615150b ./fastjar/CHANGES 3743222129b ./fastjar/compress.c 1169302702b ./fastjar/compress.h *************** *** 260,278 **** 3707811223b ./fastjar/.cvsignore 2553867110b ./fastjar/dostime.c 446939748b ./fastjar/dostime.h ! 1044518281b ./fastjar/fastjar.info ! 2806177633b ./fastjar/fastjar.texi ! 378877939b ./fastjar/grepjar.1 2770615802b ./fastjar/INSTALL 2331671736b ./fastjar/install-defs.sh.in 1178077958b ./fastjar/install-sh ! 2922712869b ./fastjar/jar.1 2281221680b ./fastjar/jargrep.c 4062871816b ./fastjar/jargrep.h 2905933595b ./fastjar/jartool.c 2754304773b ./fastjar/jartool.h ! 443848619b ./fastjar/Makefile.am ! 232400679b ./fastjar/Makefile.in 990942143b ./fastjar/missing 1455437353b ./fastjar/mkinstalldirs 4038493440b ./fastjar/NEWS --- 260,278 ---- 3707811223b ./fastjar/.cvsignore 2553867110b ./fastjar/dostime.c 446939748b ./fastjar/dostime.h ! 3900501519b ./fastjar/fastjar.info ! 3589129523b ./fastjar/fastjar.texi ! 2261192900b ./fastjar/grepjar.1 2770615802b ./fastjar/INSTALL 2331671736b ./fastjar/install-defs.sh.in 1178077958b ./fastjar/install-sh ! 1406665953b ./fastjar/jar.1 2281221680b ./fastjar/jargrep.c 4062871816b ./fastjar/jargrep.h 2905933595b ./fastjar/jartool.c 2754304773b ./fastjar/jartool.h ! 1805291518b ./fastjar/Makefile.am ! 2841639681b ./fastjar/Makefile.in 990942143b ./fastjar/missing 1455437353b ./fastjar/mkinstalldirs 4038493440b ./fastjar/NEWS *************** *** 284,290 **** 2215240433b ./gcc/ABOUT-GCC-NLS 1413896246b ./gcc/ABOUT-NLS 3729933059b ./gcc/acconfig.h ! 674177543b ./gcc/aclocal.m4 3476755371b ./gcc/ada/1aexcept.adb 3022880533b ./gcc/ada/1aexcept.ads 2251433832b ./gcc/ada/1ic.ads --- 284,290 ---- 2215240433b ./gcc/ABOUT-GCC-NLS 1413896246b ./gcc/ABOUT-NLS 3729933059b ./gcc/acconfig.h ! 4067360570b ./gcc/aclocal.m4 3476755371b ./gcc/ada/1aexcept.adb 3022880533b ./gcc/ada/1aexcept.ads 2251433832b ./gcc/ada/1ic.ads *************** *** 725,731 **** 819907824b ./gcc/ada/casing.adb 383971693b ./gcc/ada/casing.ads 2658802005b ./gcc/ada/ceinfo.adb ! 3789399917b ./gcc/ada/ChangeLog 2766796861b ./gcc/ada/checks.adb 2020343191b ./gcc/ada/checks.ads 1422160412b ./gcc/ada/cio.c --- 725,731 ---- 819907824b ./gcc/ada/casing.adb 383971693b ./gcc/ada/casing.ads 2658802005b ./gcc/ada/ceinfo.adb ! 2122962180b ./gcc/ada/ChangeLog 2766796861b ./gcc/ada/checks.adb 2020343191b ./gcc/ada/checks.ads 1422160412b ./gcc/ada/cio.c *************** *** 919,936 **** 2304496705b ./gcc/ada/gnatprep.adb 2739505905b ./gcc/ada/gnatprep.ads 2618438921b ./gcc/ada/gnatpsta.adb ! 1370385931b ./gcc/ada/gnat_rm.info 2672136726b ./gcc/ada/gnat_rm.texi 4056210887b ./gcc/ada/gnat-style.info 4283135334b ./gcc/ada/gnat-style.texi 2087208411b ./gcc/ada/gnat_ug.texi ! 2520572795b ./gcc/ada/gnat_ug_unx.info 804303635b ./gcc/ada/gnat_ug_unx.texi ! 4283818481b ./gcc/ada/gnat_ug_vms.info 1719659850b ./gcc/ada/gnat_ug_vms.texi ! 4198303969b ./gcc/ada/gnat_ug_vxw.info 1705774003b ./gcc/ada/gnat_ug_vxw.texi ! 4196616963b ./gcc/ada/gnat_ug_wnt.info 1236505387b ./gcc/ada/gnat_ug_wnt.texi 3334144073b ./gcc/ada/gnatvsn.adb 1947192708b ./gcc/ada/gnatvsn.ads --- 919,936 ---- 2304496705b ./gcc/ada/gnatprep.adb 2739505905b ./gcc/ada/gnatprep.ads 2618438921b ./gcc/ada/gnatpsta.adb ! 2704394259b ./gcc/ada/gnat_rm.info 2672136726b ./gcc/ada/gnat_rm.texi 4056210887b ./gcc/ada/gnat-style.info 4283135334b ./gcc/ada/gnat-style.texi 2087208411b ./gcc/ada/gnat_ug.texi ! 606904986b ./gcc/ada/gnat_ug_unx.info 804303635b ./gcc/ada/gnat_ug_unx.texi ! 2054672295b ./gcc/ada/gnat_ug_vms.info 1719659850b ./gcc/ada/gnat_ug_vms.texi ! 3136932359b ./gcc/ada/gnat_ug_vxw.info 1705774003b ./gcc/ada/gnat_ug_vxw.texi ! 2763851577b ./gcc/ada/gnat_ug_wnt.info 1236505387b ./gcc/ada/gnat_ug_wnt.texi 3334144073b ./gcc/ada/gnatvsn.adb 1947192708b ./gcc/ada/gnatvsn.ads *************** *** 1677,1713 **** 3573112600b ./gcc/ada/xsinfo.adb 4190686960b ./gcc/ada/xsnames.adb 511048883b ./gcc/ada/xtreeprs.adb ! 713637432b ./gcc/alias.c 3329204760b ./gcc/attribs.c 661204297b ./gcc/basic-block.h 3868878276b ./gcc/bb-reorder.c 3592689596b ./gcc/bitmap.c 3888731700b ./gcc/bitmap.h 866389233b ./gcc/builtin-attrs.def ! 3936494214b ./gcc/builtins.c 3399851061b ./gcc/builtins.def 2231934789b ./gcc/builtin-types.def 1937217650b ./gcc/caller-save.c ! 1503808242b ./gcc/calls.c 266754123b ./gcc/c-aux-info.c 1775829814b ./gcc/c-common.c 1911269762b ./gcc/c-common.def 3230227898b ./gcc/c-common.h 2498727911b ./gcc/c-config-lang.in 4223371978b ./gcc/c-convert.c ! 1421132265b ./gcc/c-decl.c 420078897b ./gcc/c-dump.c 3988343334b ./gcc/c-errors.c 1424850360b ./gcc/cfganal.c 2497073643b ./gcc/cfgbuild.c 2570201327b ./gcc/cfg.c ! 2826252714b ./gcc/cfgcleanup.c 2495299687b ./gcc/cfglayout.c 397535119b ./gcc/cfglayout.h ! 2523244100b ./gcc/cfgloop.c ! 3924472751b ./gcc/cfgrtl.c 1308520655b ./gcc/c-format.c ! 3543327092b ./gcc/ChangeLog 4112479902b ./gcc/ChangeLog.0 3216066841b ./gcc/ChangeLog.1 2323556130b ./gcc/ChangeLog.2 --- 1677,1713 ---- 3573112600b ./gcc/ada/xsinfo.adb 4190686960b ./gcc/ada/xsnames.adb 511048883b ./gcc/ada/xtreeprs.adb ! 2840631424b ./gcc/alias.c 3329204760b ./gcc/attribs.c 661204297b ./gcc/basic-block.h 3868878276b ./gcc/bb-reorder.c 3592689596b ./gcc/bitmap.c 3888731700b ./gcc/bitmap.h 866389233b ./gcc/builtin-attrs.def ! 148394392b ./gcc/builtins.c 3399851061b ./gcc/builtins.def 2231934789b ./gcc/builtin-types.def 1937217650b ./gcc/caller-save.c ! 1946827628b ./gcc/calls.c 266754123b ./gcc/c-aux-info.c 1775829814b ./gcc/c-common.c 1911269762b ./gcc/c-common.def 3230227898b ./gcc/c-common.h 2498727911b ./gcc/c-config-lang.in 4223371978b ./gcc/c-convert.c ! 579906276b ./gcc/c-decl.c 420078897b ./gcc/c-dump.c 3988343334b ./gcc/c-errors.c 1424850360b ./gcc/cfganal.c 2497073643b ./gcc/cfgbuild.c 2570201327b ./gcc/cfg.c ! 830773923b ./gcc/cfgcleanup.c 2495299687b ./gcc/cfglayout.c 397535119b ./gcc/cfglayout.h ! 3649311558b ./gcc/cfgloop.c ! 847004601b ./gcc/cfgrtl.c 1308520655b ./gcc/c-format.c ! 2444607425b ./gcc/ChangeLog 4112479902b ./gcc/ChangeLog.0 3216066841b ./gcc/ChangeLog.1 2323556130b ./gcc/ChangeLog.2 *************** *** 1718,1734 **** 1208082050b ./gcc/ChangeLog.7 3235050590b ./gcc/ChangeLog.lib 2967450474b ./gcc/c-lang.c ! 1290114788b ./gcc/c-lex.c ! 906643159b ./gcc/c-objc-common.c ! 2549935202b ./gcc/collect2.c 1843868705b ./gcc/collect2.h ! 4226959394b ./gcc/combine.c 4122382037b ./gcc/conditions.h 3915788506b ./gcc/config/alpha/alpha32.h ! 1744690274b ./gcc/config/alpha/alpha.c ! 1117342680b ./gcc/config/alpha/alpha.h 1081521208b ./gcc/config/alpha/alpha-interix.h ! 670734235b ./gcc/config/alpha/alpha.md 1148890194b ./gcc/config/alpha/alpha-protos.h 1407988137b ./gcc/config/alpha/crtfastmath.c 1689355033b ./gcc/config/alpha/elf.h --- 1718,1734 ---- 1208082050b ./gcc/ChangeLog.7 3235050590b ./gcc/ChangeLog.lib 2967450474b ./gcc/c-lang.c ! 940015516b ./gcc/c-lex.c ! 615654456b ./gcc/c-objc-common.c ! 600457259b ./gcc/collect2.c 1843868705b ./gcc/collect2.h ! 2227256180b ./gcc/combine.c 4122382037b ./gcc/conditions.h 3915788506b ./gcc/config/alpha/alpha32.h ! 3673620331b ./gcc/config/alpha/alpha.c ! 1346602339b ./gcc/config/alpha/alpha.h 1081521208b ./gcc/config/alpha/alpha-interix.h ! 3145148145b ./gcc/config/alpha/alpha.md 1148890194b ./gcc/config/alpha/alpha-protos.h 1407988137b ./gcc/config/alpha/crtfastmath.c 1689355033b ./gcc/config/alpha/elf.h *************** *** 1739,1745 **** 2439445430b ./gcc/config/alpha/gnu.h 2998860143b ./gcc/config/alpha/lib1funcs.asm 3980115873b ./gcc/config/alpha/linux-elf.h ! 1799302733b ./gcc/config/alpha/linux.h 1246797152b ./gcc/config/alpha/netbsd.h 3083238444b ./gcc/config/alpha/openbsd.h 1148914945b ./gcc/config/alpha/osf5.h --- 1739,1745 ---- 2439445430b ./gcc/config/alpha/gnu.h 2998860143b ./gcc/config/alpha/lib1funcs.asm 3980115873b ./gcc/config/alpha/linux-elf.h ! 2178551847b ./gcc/config/alpha/linux.h 1246797152b ./gcc/config/alpha/netbsd.h 3083238444b ./gcc/config/alpha/openbsd.h 1148914945b ./gcc/config/alpha/osf5.h *************** *** 1795,1801 **** 259208134b ./gcc/config/arm/elf.h 4010625370b ./gcc/config/arm/freebsd.h 3355567723b ./gcc/config/arm/lib1funcs.asm ! 4115592483b ./gcc/config/arm/linux-elf.h 2410223095b ./gcc/config/arm/linux-gas.h 816029099b ./gcc/config/arm/netbsd-elf.h 3559608348b ./gcc/config/arm/netbsd.h --- 1795,1801 ---- 259208134b ./gcc/config/arm/elf.h 4010625370b ./gcc/config/arm/freebsd.h 3355567723b ./gcc/config/arm/lib1funcs.asm ! 2684835712b ./gcc/config/arm/linux-elf.h 2410223095b ./gcc/config/arm/linux-gas.h 816029099b ./gcc/config/arm/netbsd-elf.h 3559608348b ./gcc/config/arm/netbsd.h *************** *** 1865,1871 **** 3101942541b ./gcc/config/darwin.c 4059801364b ./gcc/config/darwin-c.c 3226016932b ./gcc/config/darwin-crt2.c ! 1934403156b ./gcc/config/darwin.h 1838012452b ./gcc/config/darwin-protos.h 2063159136b ./gcc/config/dbxcoff.h 741369544b ./gcc/config/dbxelf.h --- 1865,1871 ---- 3101942541b ./gcc/config/darwin.c 4059801364b ./gcc/config/darwin-c.c 3226016932b ./gcc/config/darwin-crt2.c ! 3020045688b ./gcc/config/darwin.h 1838012452b ./gcc/config/darwin-protos.h 2063159136b ./gcc/config/dbxcoff.h 741369544b ./gcc/config/dbxelf.h *************** *** 1913,1919 **** 3087488293b ./gcc/config/frv/ulltod.c 788903798b ./gcc/config/frv/ulltof.c 946276139b ./gcc/config/frv/umodi.c ! 435140269b ./gcc/config.gcc 2184744613b ./gcc/config/gnu.h 2188992916b ./gcc/config/gofast.h 1315260558b ./gcc/config.guess --- 1913,1919 ---- 3087488293b ./gcc/config/frv/ulltod.c 788903798b ./gcc/config/frv/ulltof.c 946276139b ./gcc/config/frv/umodi.c ! 2730027050b ./gcc/config.gcc 2184744613b ./gcc/config/gnu.h 2188992916b ./gcc/config/gofast.h 1315260558b ./gcc/config.guess *************** *** 1923,1929 **** 4087866448b ./gcc/config/h8300/fixunssfsi.c 913149092b ./gcc/config/h8300/h8300.c 2515220433b ./gcc/config/h8300/h8300.h ! 3672026458b ./gcc/config/h8300/h8300.md 2922330864b ./gcc/config/h8300/h8300-protos.h 1484792841b ./gcc/config/h8300/lib1funcs.asm 186420544b ./gcc/config/h8300/rtems.h --- 1923,1929 ---- 4087866448b ./gcc/config/h8300/fixunssfsi.c 913149092b ./gcc/config/h8300/h8300.c 2515220433b ./gcc/config/h8300/h8300.h ! 2784078000b ./gcc/config/h8300/h8300.md 2922330864b ./gcc/config/h8300/h8300-protos.h 1484792841b ./gcc/config/h8300/lib1funcs.asm 186420544b ./gcc/config/h8300/rtems.h *************** *** 1959,1965 **** 240648641b ./gcc/config/i386/gstabs.h 798942156b ./gcc/config/i386/gthr-win32.c 3155216183b ./gcc/config/i386/i386-aout.h ! 513525318b ./gcc/config/i386/i386.c 2124176398b ./gcc/config/i386/i386-coff.h 3652974168b ./gcc/config/i386/i386elf.h 1387308539b ./gcc/config/i386/i386.h --- 1959,1965 ---- 240648641b ./gcc/config/i386/gstabs.h 798942156b ./gcc/config/i386/gthr-win32.c 3155216183b ./gcc/config/i386/i386-aout.h ! 184235754b ./gcc/config/i386/i386.c 2124176398b ./gcc/config/i386/i386-coff.h 3652974168b ./gcc/config/i386/i386elf.h 1387308539b ./gcc/config/i386/i386.h *************** *** 1988,1999 **** 3476241273b ./gcc/config/i386/ppro.md 1986050166b ./gcc/config/i386/ptx4-i.h 574801934b ./gcc/config/i386/rtemself.h ! 2639545373b ./gcc/config/i386/sco5.h 425477609b ./gcc/config/i386/sol2-c1.asm 1565106149b ./gcc/config/i386/sol2-ci.asm 4008317666b ./gcc/config/i386/sol2-cn.asm 2045686122b ./gcc/config/i386/sol2-gc1.asm ! 1534089268b ./gcc/config/i386/sol2.h 2491384943b ./gcc/config/i386/svr3dbx.h 4076081204b ./gcc/config/i386/svr3gas.h 3846064431b ./gcc/config/i386/svr3.ifile --- 1988,1999 ---- 3476241273b ./gcc/config/i386/ppro.md 1986050166b ./gcc/config/i386/ptx4-i.h 574801934b ./gcc/config/i386/rtemself.h ! 3499499073b ./gcc/config/i386/sco5.h 425477609b ./gcc/config/i386/sol2-c1.asm 1565106149b ./gcc/config/i386/sol2-ci.asm 4008317666b ./gcc/config/i386/sol2-cn.asm 2045686122b ./gcc/config/i386/sol2-gc1.asm ! 3525567971b ./gcc/config/i386/sol2.h 2491384943b ./gcc/config/i386/svr3dbx.h 4076081204b ./gcc/config/i386/svr3gas.h 3846064431b ./gcc/config/i386/svr3.ifile *************** *** 2014,2021 **** 92801654b ./gcc/config/i386/t-netware 709063989b ./gcc/config/i386/t-openbsd 422823583b ./gcc/config/i386/t-rtems-i386 ! 1649755892b ./gcc/config/i386/t-sco5 ! 1098748916b ./gcc/config/i386/t-sco5gas 2786912378b ./gcc/config/i386/t-sol2 3128852740b ./gcc/config/i386/t-svr3dbx 2977164768b ./gcc/config/i386/t-udk --- 2014,2020 ---- 92801654b ./gcc/config/i386/t-netware 709063989b ./gcc/config/i386/t-openbsd 422823583b ./gcc/config/i386/t-rtems-i386 ! 2334743380b ./gcc/config/i386/t-sco5 2786912378b ./gcc/config/i386/t-sol2 3128852740b ./gcc/config/i386/t-svr3dbx 2977164768b ./gcc/config/i386/t-udk *************** *** 2056,2072 **** 1650540400b ./gcc/config/ia64/elf.h 2446839914b ./gcc/config/ia64/fde-glibc.c 2020318486b ./gcc/config/ia64/freebsd.h ! 1838314585b ./gcc/config/ia64/hpux.h 3568056609b ./gcc/config/ia64/hpux_longdouble.h ! 2403073370b ./gcc/config/ia64/ia64.c 1964471896b ./gcc/config/ia64/ia64-c.c ! 201253163b ./gcc/config/ia64/ia64.h 511545686b ./gcc/config/ia64/ia64intrin.h ! 2554824206b ./gcc/config/ia64/ia64.md 342783782b ./gcc/config/ia64/ia64-modes.def ! 2015129861b ./gcc/config/ia64/ia64-protos.h 3488320870b ./gcc/config/ia64/lib1funcs.asm ! 2361471520b ./gcc/config/ia64/libgcc-ia64.ver 3882388711b ./gcc/config/ia64/linux.h 3940638341b ./gcc/config/ia64/quadlib.c 4206796904b ./gcc/config/ia64/sysv4.h --- 2055,2071 ---- 1650540400b ./gcc/config/ia64/elf.h 2446839914b ./gcc/config/ia64/fde-glibc.c 2020318486b ./gcc/config/ia64/freebsd.h ! 145205945b ./gcc/config/ia64/hpux.h 3568056609b ./gcc/config/ia64/hpux_longdouble.h ! 3496380550b ./gcc/config/ia64/ia64.c 1964471896b ./gcc/config/ia64/ia64-c.c ! 776147292b ./gcc/config/ia64/ia64.h 511545686b ./gcc/config/ia64/ia64intrin.h ! 2724938558b ./gcc/config/ia64/ia64.md 342783782b ./gcc/config/ia64/ia64-modes.def ! 3227157966b ./gcc/config/ia64/ia64-protos.h 3488320870b ./gcc/config/ia64/lib1funcs.asm ! 2632266533b ./gcc/config/ia64/libgcc-ia64.ver 3882388711b ./gcc/config/ia64/linux.h 3940638341b ./gcc/config/ia64/quadlib.c 4206796904b ./gcc/config/ia64/sysv4.h *************** *** 2075,2083 **** 1051208108b ./gcc/config/ia64/t-hpux 308156643b ./gcc/config/ia64/t-ia64 2759923269b ./gcc/config/ia64/unwind-aix.c ! 3214954256b ./gcc/config/ia64/unwind-ia64.c 2355075302b ./gcc/config/ia64/unwind-ia64.h ! 3315675899b ./gcc/config.in 3221870490b ./gcc/config/interix3.h 782966245b ./gcc/config/interix.h 1877317600b ./gcc/config/ip2k/crt0.S --- 2074,2082 ---- 1051208108b ./gcc/config/ia64/t-hpux 308156643b ./gcc/config/ia64/t-ia64 2759923269b ./gcc/config/ia64/unwind-aix.c ! 1278555130b ./gcc/config/ia64/unwind-ia64.c 2355075302b ./gcc/config/ia64/unwind-ia64.h ! 1745697809b ./gcc/config.in 3221870490b ./gcc/config/interix3.h 782966245b ./gcc/config/interix.h 1877317600b ./gcc/config/ip2k/crt0.S *************** *** 2090,2103 **** 3774321010b ./gcc/config/libgcc-glibc.ver 431681775b ./gcc/config/libgloss.h 1132125030b ./gcc/config/linux-aout.h ! 3792279926b ./gcc/config/linux.h 836960090b ./gcc/config/lynx.h 1696444785b ./gcc/config/lynx-ng.h 2460604231b ./gcc/config/m32r/initfini.c ! 2654083948b ./gcc/config/m32r/m32r.c ! 2114240739b ./gcc/config/m32r/m32r.h ! 3502142620b ./gcc/config/m32r/m32r.md ! 822298781b ./gcc/config/m32r/m32r-protos.h 3043182144b ./gcc/config/m32r/t-m32r 2563624329b ./gcc/config/m68hc11/larith.asm 3705868201b ./gcc/config/m68hc11/m68hc11.c --- 2089,2102 ---- 3774321010b ./gcc/config/libgcc-glibc.ver 431681775b ./gcc/config/libgloss.h 1132125030b ./gcc/config/linux-aout.h ! 3480817898b ./gcc/config/linux.h 836960090b ./gcc/config/lynx.h 1696444785b ./gcc/config/lynx-ng.h 2460604231b ./gcc/config/m32r/initfini.c ! 3082370632b ./gcc/config/m32r/m32r.c ! 582485384b ./gcc/config/m32r/m32r.h ! 3253973863b ./gcc/config/m32r/m32r.md ! 4238084767b ./gcc/config/m32r/m32r-protos.h 3043182144b ./gcc/config/m32r/t-m32r 2563624329b ./gcc/config/m68hc11/larith.asm 3705868201b ./gcc/config/m68hc11/m68hc11.c *************** *** 2106,2112 **** 2108112324b ./gcc/config/m68hc11/m68hc11.md 3203494610b ./gcc/config/m68hc11/m68hc11-protos.h 900567272b ./gcc/config/m68hc11/m68hc12.h ! 4223184266b ./gcc/config/m68hc11/t-m68hc11-gas 4152566641b ./gcc/config/m68k/3b1g.h 950165799b ./gcc/config/m68k/3b1.h 3699861513b ./gcc/config/m68k/amix.h --- 2105,2111 ---- 2108112324b ./gcc/config/m68hc11/m68hc11.md 3203494610b ./gcc/config/m68hc11/m68hc11-protos.h 900567272b ./gcc/config/m68hc11/m68hc12.h ! 414967778b ./gcc/config/m68hc11/t-m68hc11-gas 4152566641b ./gcc/config/m68k/3b1g.h 950165799b ./gcc/config/m68k/3b1.h 3699861513b ./gcc/config/m68k/amix.h *************** *** 2162,2168 **** 1845413337b ./gcc/config/m68k/t-hp320 1601671577b ./gcc/config/m68k/t-linux 1601671577b ./gcc/config/m68k/t-linux-aout ! 591505405b ./gcc/config/m68k/t-m68kbare 1376927127b ./gcc/config/m68k/t-m68kelf 2312371323b ./gcc/config/m68k/t-mot3300 1278563328b ./gcc/config/m68k/t-mot3300-gald --- 2161,2167 ---- 1845413337b ./gcc/config/m68k/t-hp320 1601671577b ./gcc/config/m68k/t-linux 1601671577b ./gcc/config/m68k/t-linux-aout ! 2871905384b ./gcc/config/m68k/t-m68kbare 1376927127b ./gcc/config/m68k/t-m68kelf 2312371323b ./gcc/config/m68k/t-mot3300 1278563328b ./gcc/config/m68k/t-mot3300-gald *************** *** 2171,2176 **** --- 2170,2176 ---- 3937644742b ./gcc/config/m68k/t-openbsd 888720875b ./gcc/config/m68k/tower-as.h 2265492461b ./gcc/config/m68k/tower.h + 1448405083b ./gcc/config/m68k/t-rtems 2710264317b ./gcc/config/m68k/t-vxworks68 1353236462b ./gcc/config/m68k/vxm68k.h 1448728884b ./gcc/config/m88k/aout-dbx.h *************** *** 2246,2251 **** --- 2246,2252 ---- 1205295560b ./gcc/config/mips/t-isa3264 382304214b ./gcc/config/mips/t-mips 4201375008b ./gcc/config/mips/t-r3900 + 3243475203b ./gcc/config/mips/t-rtems 2079451253b ./gcc/config/mips/t-sr71k 550681837b ./gcc/config/mips/t-vr 568075896b ./gcc/config/mips/vr.h *************** *** 2292,2309 **** 2968109913b ./gcc/config/pa/pa32-linux.h 4077989132b ./gcc/config/pa/pa32-regs.h 1229145373b ./gcc/config/pa/pa-64.h ! 3956852599b ./gcc/config/pa/pa64-hpux.h 2920878761b ./gcc/config/pa/pa64-linux.h 653142328b ./gcc/config/pa/pa64-regs.h 3813586304b ./gcc/config/pa/pa64-start.h ! 1456283762b ./gcc/config/pa/pa.c 921995916b ./gcc/config/pa/pa.h 3786607524b ./gcc/config/pa/pa-hiux.h ! 4284123246b ./gcc/config/pa/pa-hpux10.h ! 1075128895b ./gcc/config/pa/pa-hpux11.h 1833709162b ./gcc/config/pa/pa-hpux7.h 3124002443b ./gcc/config/pa/pa-hpux9.h ! 4187284900b ./gcc/config/pa/pa-hpux.h 469628573b ./gcc/config/pa/pa-linux.h 1569454373b ./gcc/config/pa/pa.md 1508149926b ./gcc/config/pa/pa-modes.def --- 2293,2310 ---- 2968109913b ./gcc/config/pa/pa32-linux.h 4077989132b ./gcc/config/pa/pa32-regs.h 1229145373b ./gcc/config/pa/pa-64.h ! 1058350505b ./gcc/config/pa/pa64-hpux.h 2920878761b ./gcc/config/pa/pa64-linux.h 653142328b ./gcc/config/pa/pa64-regs.h 3813586304b ./gcc/config/pa/pa64-start.h ! 1461752469b ./gcc/config/pa/pa.c 921995916b ./gcc/config/pa/pa.h 3786607524b ./gcc/config/pa/pa-hiux.h ! 3365446155b ./gcc/config/pa/pa-hpux10.h ! 1196664519b ./gcc/config/pa/pa-hpux11.h 1833709162b ./gcc/config/pa/pa-hpux7.h 3124002443b ./gcc/config/pa/pa-hpux9.h ! 605433968b ./gcc/config/pa/pa-hpux.h 469628573b ./gcc/config/pa/pa-linux.h 1569454373b ./gcc/config/pa/pa.md 1508149926b ./gcc/config/pa/pa-modes.def *************** *** 2363,2381 **** 3977992822b ./gcc/config/rs6000/eabispe.h 2165084479b ./gcc/config/rs6000/freebsd.h 977386394b ./gcc/config/rs6000/gnu.h ! 573951816b ./gcc/config/rs6000/linux64.h 1351560312b ./gcc/config/rs6000/linuxaltivec.h ! 4231910920b ./gcc/config/rs6000/linux.h 1826004816b ./gcc/config/rs6000/lynx.h 662544262b ./gcc/config/rs6000/mach.h 1820610909b ./gcc/config/rs6000/milli.exp 3596315410b ./gcc/config/rs6000/netbsd.h 1801910688b ./gcc/config/rs6000/ppc64-fp.c 1765497648b ./gcc/config/rs6000/ppc-asm.h ! 1804222180b ./gcc/config/rs6000/rs6000.c 1345436052b ./gcc/config/rs6000/rs6000-c.c 3590135572b ./gcc/config/rs6000/rs6000.h ! 3037047642b ./gcc/config/rs6000/rs6000.md 3173719444b ./gcc/config/rs6000/rs6000-modes.def 528775605b ./gcc/config/rs6000/rs6000-protos.h 255651415b ./gcc/config/rs6000/rtems.h --- 2364,2382 ---- 3977992822b ./gcc/config/rs6000/eabispe.h 2165084479b ./gcc/config/rs6000/freebsd.h 977386394b ./gcc/config/rs6000/gnu.h ! 1412389761b ./gcc/config/rs6000/linux64.h 1351560312b ./gcc/config/rs6000/linuxaltivec.h ! 1443196669b ./gcc/config/rs6000/linux.h 1826004816b ./gcc/config/rs6000/lynx.h 662544262b ./gcc/config/rs6000/mach.h 1820610909b ./gcc/config/rs6000/milli.exp 3596315410b ./gcc/config/rs6000/netbsd.h 1801910688b ./gcc/config/rs6000/ppc64-fp.c 1765497648b ./gcc/config/rs6000/ppc-asm.h ! 3209769093b ./gcc/config/rs6000/rs6000.c 1345436052b ./gcc/config/rs6000/rs6000-c.c 3590135572b ./gcc/config/rs6000/rs6000.h ! 1596117806b ./gcc/config/rs6000/rs6000.md 3173719444b ./gcc/config/rs6000/rs6000-modes.def 528775605b ./gcc/config/rs6000/rs6000-protos.h 255651415b ./gcc/config/rs6000/rtems.h *************** *** 2422,2428 **** 3224910313b ./gcc/config/sh/elf.h 1949707998b ./gcc/config/sh/embed-elf.h 2071066204b ./gcc/config/sh/lib1funcs.asm ! 1797013974b ./gcc/config/sh/linux.h 3434577439b ./gcc/config/sh/little.h 3344891430b ./gcc/config/sh/netbsd-elf.h 2022181827b ./gcc/config/sh/rtemself.h --- 2423,2429 ---- 3224910313b ./gcc/config/sh/elf.h 1949707998b ./gcc/config/sh/embed-elf.h 2071066204b ./gcc/config/sh/lib1funcs.asm ! 979530234b ./gcc/config/sh/linux.h 3434577439b ./gcc/config/sh/little.h 3344891430b ./gcc/config/sh/netbsd-elf.h 2022181827b ./gcc/config/sh/rtemself.h *************** *** 2459,2467 **** 2939495704b ./gcc/config/sparc/lb1spc.asm 1395104248b ./gcc/config/sparc/lb1spl.asm 1761187951b ./gcc/config/sparc/libgcc-sparc-glibc.ver ! 358368202b ./gcc/config/sparc/linux64.h 34002579b ./gcc/config/sparc/linux-aout.h ! 1478480193b ./gcc/config/sparc/linux.h 1314010724b ./gcc/config/sparc/litecoff.h 2270102558b ./gcc/config/sparc/liteelf.h 2424336991b ./gcc/config/sparc/lite.h --- 2460,2468 ---- 2939495704b ./gcc/config/sparc/lb1spc.asm 1395104248b ./gcc/config/sparc/lb1spl.asm 1761187951b ./gcc/config/sparc/libgcc-sparc-glibc.ver ! 890665079b ./gcc/config/sparc/linux64.h 34002579b ./gcc/config/sparc/linux-aout.h ! 3987833697b ./gcc/config/sparc/linux.h 1314010724b ./gcc/config/sparc/litecoff.h 2270102558b ./gcc/config/sparc/liteelf.h 2424336991b ./gcc/config/sparc/lite.h *************** *** 2477,2483 **** 1579903847b ./gcc/config/sparc/sol2-64.h 3203477114b ./gcc/config/sparc/sol26-sld.h 1333200498b ./gcc/config/sparc/sol2-bi.h ! 1463670426b ./gcc/config/sparc/sol2-c1.asm 3288323690b ./gcc/config/sparc/sol2-ci.asm 2004370404b ./gcc/config/sparc/sol2-cn.asm 878755050b ./gcc/config/sparc/sol2-gas-bi.h --- 2478,2484 ---- 1579903847b ./gcc/config/sparc/sol2-64.h 3203477114b ./gcc/config/sparc/sol26-sld.h 1333200498b ./gcc/config/sparc/sol2-bi.h ! 2592132520b ./gcc/config/sparc/sol2-c1.asm 3288323690b ./gcc/config/sparc/sol2-ci.asm 2004370404b ./gcc/config/sparc/sol2-cn.asm 878755050b ./gcc/config/sparc/sol2-gas-bi.h *************** *** 2488,2497 **** 3549760155b ./gcc/config/sparc/sp64-elf.h 3128199560b ./gcc/config/sparc/sp86x-aout.h 632930923b ./gcc/config/sparc/sp86x-elf.h ! 3021873799b ./gcc/config/sparc/sparc.c 433855780b ./gcc/config/sparc/sparc.h 113806067b ./gcc/config/sparc/sparclet.md ! 1731086724b ./gcc/config/sparc/sparc.md 5497380b ./gcc/config/sparc/sparc-modes.def 2593826026b ./gcc/config/sparc/sparc-protos.h 842964351b ./gcc/config/sparc/splet.h --- 2489,2498 ---- 3549760155b ./gcc/config/sparc/sp64-elf.h 3128199560b ./gcc/config/sparc/sp86x-aout.h 632930923b ./gcc/config/sparc/sp86x-elf.h ! 2951430128b ./gcc/config/sparc/sparc.c 433855780b ./gcc/config/sparc/sparc.h 113806067b ./gcc/config/sparc/sparclet.md ! 1259137706b ./gcc/config/sparc/sparc.md 5497380b ./gcc/config/sparc/sparc-modes.def 2593826026b ./gcc/config/sparc/sparc-protos.h 842964351b ./gcc/config/sparc/splet.h *************** *** 2530,2542 **** 3561720924b ./gcc/config/stormy16/t-stormy16 2525748108b ./gcc/config/svr3.h 2147853147b ./gcc/config/svr4.h ! 1134445490b ./gcc/config/t-darwin 2749923948b ./gcc/config/t-freebsd 3853732254b ./gcc/config/t-freebsd-thread 2512129728b ./gcc/config/t-gnu 825269638b ./gcc/config/t-interix 4174365071b ./gcc/config/t-libc-ok 2753685882b ./gcc/config/t-libgcc-pic 2752897962b ./gcc/config/t-linux 825269638b ./gcc/config/t-linux-aout 4098486992b ./gcc/config/t-linux-gnulibc1 --- 2531,2544 ---- 3561720924b ./gcc/config/stormy16/t-stormy16 2525748108b ./gcc/config/svr3.h 2147853147b ./gcc/config/svr4.h ! 1733958440b ./gcc/config/t-darwin 2749923948b ./gcc/config/t-freebsd 3853732254b ./gcc/config/t-freebsd-thread 2512129728b ./gcc/config/t-gnu 825269638b ./gcc/config/t-interix 4174365071b ./gcc/config/t-libc-ok 2753685882b ./gcc/config/t-libgcc-pic + 2687879286b ./gcc/config/t-libunwind 2752897962b ./gcc/config/t-linux 825269638b ./gcc/config/t-linux-aout 4098486992b ./gcc/config/t-linux-gnulibc1 *************** *** 2551,2559 **** 321200235b ./gcc/config/t-svr4 937080303b ./gcc/config/udivmod.c 2590328114b ./gcc/config/udivmodsi4.c ! 2066956329b ./gcc/configure 2239237249b ./gcc/configure.frag ! 4153635196b ./gcc/configure.in 1401546799b ./gcc/config/usegas.h 1979686065b ./gcc/config/v850/lib1funcs.asm 3345272584b ./gcc/config/v850/rtems.h --- 2553,2561 ---- 321200235b ./gcc/config/t-svr4 937080303b ./gcc/config/udivmod.c 2590328114b ./gcc/config/udivmodsi4.c ! 2426675102b ./gcc/configure 2239237249b ./gcc/configure.frag ! 3433367808b ./gcc/configure.in 1401546799b ./gcc/config/usegas.h 1979686065b ./gcc/config/v850/lib1funcs.asm 3345272584b ./gcc/config/v850/rtems.h *************** *** 2597,2627 **** 1231075891b ./gcc/c-parse.c 2637246862b ./gcc/c-parse.in 1656602684b ./gcc/c-parse.y ! 1503091984b ./gcc/cp/call.c 2726184849b ./gcc/cp/cfns.gperf 3403558692b ./gcc/cp/cfns.h ! 3450579153b ./gcc/cp/ChangeLog 190176486b ./gcc/cp/ChangeLog.1 97583749b ./gcc/cp/ChangeLog.2 2546444747b ./gcc/cp/ChangeLog.egcs ! 4074195484b ./gcc/cp/class.c 4001109630b ./gcc/cp/config-lang.in 3345049029b ./gcc/cp/cp-lang.c 2277233898b ./gcc/cp/cp-tree.def ! 2674204807b ./gcc/cp/cp-tree.h 1230086821b ./gcc/cp/.cvsignore 1969471444b ./gcc/cp/cvt.c ! 2344086294b ./gcc/cp/decl2.c ! 2398845726b ./gcc/cp/decl.c 1385119476b ./gcc/cp/decl.h 757230858b ./gcc/cp/dump.c 1424479906b ./gcc/cp/error.c 452521469b ./gcc/cp/except.c 1201332681b ./gcc/cp/expr.c ! 3417476079b ./gcc/cp/friend.c 1574667259b ./gcc/cp/g++.1 729602332b ./gcc/cp/g++spec.c ! 226965055b ./gcc/cp/init.c 1486125690b ./gcc/cp/lang-options.h 2659645047b ./gcc/cp/lang-specs.h 2140565483b ./gcc/cp/lex.c --- 2599,2629 ---- 1231075891b ./gcc/c-parse.c 2637246862b ./gcc/c-parse.in 1656602684b ./gcc/c-parse.y ! 1395283318b ./gcc/cp/call.c 2726184849b ./gcc/cp/cfns.gperf 3403558692b ./gcc/cp/cfns.h ! 2127780464b ./gcc/cp/ChangeLog 190176486b ./gcc/cp/ChangeLog.1 97583749b ./gcc/cp/ChangeLog.2 2546444747b ./gcc/cp/ChangeLog.egcs ! 840174612b ./gcc/cp/class.c 4001109630b ./gcc/cp/config-lang.in 3345049029b ./gcc/cp/cp-lang.c 2277233898b ./gcc/cp/cp-tree.def ! 2040135329b ./gcc/cp/cp-tree.h 1230086821b ./gcc/cp/.cvsignore 1969471444b ./gcc/cp/cvt.c ! 1843026114b ./gcc/cp/decl2.c ! 1186021619b ./gcc/cp/decl.c 1385119476b ./gcc/cp/decl.h 757230858b ./gcc/cp/dump.c 1424479906b ./gcc/cp/error.c 452521469b ./gcc/cp/except.c 1201332681b ./gcc/cp/expr.c ! 1270190491b ./gcc/cp/friend.c 1574667259b ./gcc/cp/g++.1 729602332b ./gcc/cp/g++spec.c ! 3323910007b ./gcc/cp/init.c 1486125690b ./gcc/cp/lang-options.h 2659645047b ./gcc/cp/lang-specs.h 2140565483b ./gcc/cp/lex.c *************** *** 2633,2639 **** 3193855424b ./gcc/cp/operators.def 1390979693b ./gcc/cp/optimize.c 439273656b ./gcc/cp/parse.c ! 4183531307b ./gcc/cp/parse.h 2206367944b ./gcc/cp/parse.y 1602205564b ./gcc/cppdefault.c 2551769006b ./gcc/cppdefault.h --- 2635,2641 ---- 3193855424b ./gcc/cp/operators.def 1390979693b ./gcc/cp/optimize.c 439273656b ./gcc/cp/parse.c ! 1860010587b ./gcc/cp/parse.h 2206367944b ./gcc/cp/parse.y 1602205564b ./gcc/cppdefault.c 2551769006b ./gcc/cppdefault.h *************** *** 2644,2655 **** 1755335704b ./gcc/cpphash.h 1758176761b ./gcc/cppinit.c 3206802280b ./gcc/cpplex.c ! 4012594622b ./gcc/cpplib.c 2894228879b ./gcc/cpplib.h 1301003990b ./gcc/cppmacro.c ! 3118400845b ./gcc/cppmain.c 2457788577b ./gcc/cppspec.c ! 3843078991b ./gcc/cp/pt.c 1890705605b ./gcc/cpptrad.c 660118186b ./gcc/cp/ptree.c 3843981782b ./gcc/c-pragma.c --- 2646,2657 ---- 1755335704b ./gcc/cpphash.h 1758176761b ./gcc/cppinit.c 3206802280b ./gcc/cpplex.c ! 3323456088b ./gcc/cpplib.c 2894228879b ./gcc/cpplib.h 1301003990b ./gcc/cppmacro.c ! 4012085958b ./gcc/cppmain.c 2457788577b ./gcc/cppspec.c ! 1471038424b ./gcc/cp/pt.c 1890705605b ./gcc/cpptrad.c 660118186b ./gcc/cp/ptree.c 3843981782b ./gcc/c-pragma.c *************** *** 2658,2677 **** 1364992996b ./gcc/c-pretty-print.c 322270390b ./gcc/c-pretty-print.h 4034613095b ./gcc/cp/rtti.c ! 887151904b ./gcc/cp/search.c 1948405158b ./gcc/cp/semantics.c 1129915797b ./gcc/cp/spew.c ! 4056721053b ./gcc/cp/tree.c ! 144086378b ./gcc/cp/typeck2.c ! 4087141601b ./gcc/cp/typeck.c 3987640245b ./gcc/crtstuff.c ! 2684723874b ./gcc/cse.c 1095744296b ./gcc/cselib.c 2819991749b ./gcc/cselib.h 2307648174b ./gcc/c-semantics.c 216805921b ./gcc/cstamp-h.in 3323894092b ./gcc/c-tree.h ! 2917639237b ./gcc/c-typeck.c 1308782881b ./gcc/.cvsignore 4202760861b ./gcc/dbxout.c 2583180678b ./gcc/dbxout.h --- 2660,2679 ---- 1364992996b ./gcc/c-pretty-print.c 322270390b ./gcc/c-pretty-print.h 4034613095b ./gcc/cp/rtti.c ! 645435452b ./gcc/cp/search.c 1948405158b ./gcc/cp/semantics.c 1129915797b ./gcc/cp/spew.c ! 4048187454b ./gcc/cp/tree.c ! 1959780068b ./gcc/cp/typeck2.c ! 545237975b ./gcc/cp/typeck.c 3987640245b ./gcc/crtstuff.c ! 4070757557b ./gcc/cse.c 1095744296b ./gcc/cselib.c 2819991749b ./gcc/cselib.h 2307648174b ./gcc/c-semantics.c 216805921b ./gcc/cstamp-h.in 3323894092b ./gcc/c-tree.h ! 1266267684b ./gcc/c-typeck.c 1308782881b ./gcc/.cvsignore 4202760861b ./gcc/dbxout.c 2583180678b ./gcc/dbxout.h *************** *** 2691,2697 **** 3399730921b ./gcc/doc/configterms.texi 874591811b ./gcc/doc/contrib.texi 2272556046b ./gcc/doc/contribute.texi ! 1601456494b ./gcc/doc/cpp.1 4226490983b ./gcc/doc/cppenv.texi 818116428b ./gcc/doc/cpp.info 4128300115b ./gcc/doc/cppinternals.info --- 2693,2699 ---- 3399730921b ./gcc/doc/configterms.texi 874591811b ./gcc/doc/contrib.texi 2272556046b ./gcc/doc/contribute.texi ! 2817450277b ./gcc/doc/cpp.1 4226490983b ./gcc/doc/cppenv.texi 818116428b ./gcc/doc/cpp.info 4128300115b ./gcc/doc/cppinternals.info *************** *** 2700,2730 **** 1183227635b ./gcc/doc/cpp.texi 982930533b ./gcc/doc/c-tree.texi 1123688643b ./gcc/doc/.cvsignore ! 1798857281b ./gcc/doc/extend.texi 803819253b ./gcc/doc/fragments.texi 2401477723b ./gcc/doc/frontends.texi ! 32821813b ./gcc/doc/fsf-funding.7 ! 1979961433b ./gcc/doc/gcc.1 ! 1639973729b ./gcc/doc/gcc.info ! 1401869286b ./gcc/doc/gccinstall.info ! 582428438b ./gcc/doc/gccint.info 4222820739b ./gcc/doc/gccint.texi 1998340815b ./gcc/doc/gcc.texi ! 1834076335b ./gcc/doc/gcov.1 799484262b ./gcc/doc/gcov.texi ! 3279795360b ./gcc/doc/gfdl.7 4217859569b ./gcc/doc/gnu.texi ! 911918480b ./gcc/doc/gpl.7 2598049702b ./gcc/doc/gty.texi 2874371193b ./gcc/doc/headerdirs.texi 1425599017b ./gcc/doc/hostconfig.texi 3288537183b ./gcc/doc/include/fdl.texi 2048065465b ./gcc/doc/include/funding.texi ! 911493169b ./gcc/doc/include/gcc-common.texi 3092587370b ./gcc/doc/include/gpl.texi 124394628b ./gcc/doc/include/texinfo.tex 3427634226b ./gcc/doc/install-old.texi ! 143873088b ./gcc/doc/install.texi 1451529977b ./gcc/doc/install.texi2html 3000332536b ./gcc/doc/interface.texi 2525709574b ./gcc/doc/invoke.texi --- 2702,2732 ---- 1183227635b ./gcc/doc/cpp.texi 982930533b ./gcc/doc/c-tree.texi 1123688643b ./gcc/doc/.cvsignore ! 3830403079b ./gcc/doc/extend.texi 803819253b ./gcc/doc/fragments.texi 2401477723b ./gcc/doc/frontends.texi ! 737064711b ./gcc/doc/fsf-funding.7 ! 3672915547b ./gcc/doc/gcc.1 ! 2879597060b ./gcc/doc/gcc.info ! 1525034435b ./gcc/doc/gccinstall.info ! 1436299138b ./gcc/doc/gccint.info 4222820739b ./gcc/doc/gccint.texi 1998340815b ./gcc/doc/gcc.texi ! 3672734819b ./gcc/doc/gcov.1 799484262b ./gcc/doc/gcov.texi ! 2654046990b ./gcc/doc/gfdl.7 4217859569b ./gcc/doc/gnu.texi ! 2692696284b ./gcc/doc/gpl.7 2598049702b ./gcc/doc/gty.texi 2874371193b ./gcc/doc/headerdirs.texi 1425599017b ./gcc/doc/hostconfig.texi 3288537183b ./gcc/doc/include/fdl.texi 2048065465b ./gcc/doc/include/funding.texi ! 4074697841b ./gcc/doc/include/gcc-common.texi 3092587370b ./gcc/doc/include/gpl.texi 124394628b ./gcc/doc/include/texinfo.tex 3427634226b ./gcc/doc/install-old.texi ! 800471831b ./gcc/doc/install.texi 1451529977b ./gcc/doc/install.texi2html 3000332536b ./gcc/doc/interface.texi 2525709574b ./gcc/doc/invoke.texi *************** *** 2738,2744 **** 1759580304b ./gcc/doc/service.texi 3166516007b ./gcc/doc/sourcebuild.texi 3565606796b ./gcc/doc/standards.texi ! 2315196493b ./gcc/doc/tm.texi 128574166b ./gcc/doc/trouble.texi 3258612192b ./gcc/doloop.c 1146162220b ./gcc/dominance.c --- 2740,2746 ---- 1759580304b ./gcc/doc/service.texi 3166516007b ./gcc/doc/sourcebuild.texi 3565606796b ./gcc/doc/standards.texi ! 2405268332b ./gcc/doc/tm.texi 128574166b ./gcc/doc/trouble.texi 3258612192b ./gcc/doloop.c 1146162220b ./gcc/dominance.c *************** *** 2747,2753 **** 4027179154b ./gcc/dwarf2asm.c 538758205b ./gcc/dwarf2asm.h 1582620025b ./gcc/dwarf2.h ! 1730888572b ./gcc/dwarf2out.c 3517290530b ./gcc/dwarf2out.h 109276966b ./gcc/dwarf.h 3351836985b ./gcc/dwarfout.c --- 2749,2755 ---- 4027179154b ./gcc/dwarf2asm.c 538758205b ./gcc/dwarf2asm.h 1582620025b ./gcc/dwarf2.h ! 2150551288b ./gcc/dwarf2out.c 3517290530b ./gcc/dwarf2out.h 109276966b ./gcc/dwarf.h 3351836985b ./gcc/dwarfout.c *************** *** 2760,2766 **** 3819344801b ./gcc/except.h 1662793030b ./gcc/explow.c 2338822673b ./gcc/expmed.c ! 1148786081b ./gcc/expr.c 1872989667b ./gcc/expr.h 1934744031b ./gcc/f/ansify.c 1172411862b ./gcc/f/bad.c --- 2762,2768 ---- 3819344801b ./gcc/except.h 1662793030b ./gcc/explow.c 2338822673b ./gcc/expmed.c ! 2359221535b ./gcc/expr.c 1872989667b ./gcc/expr.h 1934744031b ./gcc/f/ansify.c 1172411862b ./gcc/f/bad.c *************** *** 2771,2780 **** 3553474552b ./gcc/f/bld.c 3286267604b ./gcc/f/bld.h 2128697889b ./gcc/f/bld-op.def ! 4041685179b ./gcc/f/BUGS 235013049b ./gcc/f/bugs0.texi 3922562500b ./gcc/f/bugs.texi ! 1580679890b ./gcc/f/ChangeLog 3233190569b ./gcc/f/ChangeLog.0 3391364885b ./gcc/f/com.c 3386200382b ./gcc/f/com.h --- 2773,2782 ---- 3553474552b ./gcc/f/bld.c 3286267604b ./gcc/f/bld.h 2128697889b ./gcc/f/bld-op.def ! 1837378607b ./gcc/f/BUGS 235013049b ./gcc/f/bugs0.texi 3922562500b ./gcc/f/bugs.texi ! 2243337282b ./gcc/f/ChangeLog 3233190569b ./gcc/f/ChangeLog.0 3391364885b ./gcc/f/com.c 3386200382b ./gcc/f/com.h *************** *** 2789,2796 **** 417834755b ./gcc/f/expr.h 333493781b ./gcc/f/ffe.texi 782070966b ./gcc/f/fini.c ! 738705303b ./gcc/f/g77.1 ! 3735550962b ./gcc/f/g77.info 1023118578b ./gcc/f/g77spec.c 3302596636b ./gcc/f/g77.texi 4062822261b ./gcc/f/global.c --- 2791,2798 ---- 417834755b ./gcc/f/expr.h 333493781b ./gcc/f/ffe.texi 782070966b ./gcc/f/fini.c ! 1828195012b ./gcc/f/g77.1 ! 235598750b ./gcc/f/g77.info 1023118578b ./gcc/f/g77spec.c 3302596636b ./gcc/f/g77.texi 4062822261b ./gcc/f/global.c *************** *** 2811,2824 **** 3418049706b ./gcc/f/intrin.h 2907149479b ./gcc/f/invoke.texi 4178345561b ./gcc/fix-header.c ! 766031417b ./gcc/fixinc/check.tpl 1043093163b ./gcc/fixinc/fixfixes.c 1862241894b ./gcc/fixinc/fixinc.dgux 15758129b ./gcc/fixinc/fixinc.interix 1824978333b ./gcc/fixinc/fixincl.c 2267967746b ./gcc/fixinc/fixincl.sh 2178021789b ./gcc/fixinc/fixincl.tpl ! 2076362356b ./gcc/fixinc/fixincl.x 1474597097b ./gcc/fixinc/fixinc.ptx 3187846170b ./gcc/fixinc/fixinc.svr4 1864448151b ./gcc/fixinc/fixinc.winnt --- 2813,2826 ---- 3418049706b ./gcc/f/intrin.h 2907149479b ./gcc/f/invoke.texi 4178345561b ./gcc/fix-header.c ! 353743878b ./gcc/fixinc/check.tpl 1043093163b ./gcc/fixinc/fixfixes.c 1862241894b ./gcc/fixinc/fixinc.dgux 15758129b ./gcc/fixinc/fixinc.interix 1824978333b ./gcc/fixinc/fixincl.c 2267967746b ./gcc/fixinc/fixincl.sh 2178021789b ./gcc/fixinc/fixincl.tpl ! 1748144386b ./gcc/fixinc/fixincl.x 1474597097b ./gcc/fixinc/fixinc.ptx 3187846170b ./gcc/fixinc/fixinc.svr4 1864448151b ./gcc/fixinc/fixinc.winnt *************** *** 2829,2835 **** 2003329934b ./gcc/fixinc/genfixes 2190395998b ./gcc/fixinc/gnu-regex.c 1403987073b ./gcc/fixinc/gnu-regex.h ! 91473779b ./gcc/fixinc/inclhack.def 333067513b ./gcc/fixinc/Makefile.in 1990838210b ./gcc/fixinc/mkfixinc.sh 1834585069b ./gcc/fixinc/procopen.c --- 2831,2837 ---- 2003329934b ./gcc/fixinc/genfixes 2190395998b ./gcc/fixinc/gnu-regex.c 1403987073b ./gcc/fixinc/gnu-regex.h ! 1730486141b ./gcc/fixinc/inclhack.def 333067513b ./gcc/fixinc/Makefile.in 1990838210b ./gcc/fixinc/mkfixinc.sh 1834585069b ./gcc/fixinc/procopen.c *************** *** 2838,2843 **** --- 2840,2846 ---- 3490851801b ./gcc/fixinc/server.h 1165473466b ./gcc/fixinc/tests/base/ansi/math.h 3124694417b ./gcc/fixinc/tests/base/ansi/stdlib.h + 483312381b ./gcc/fixinc/tests/base/ansi/string.h 2980092932b ./gcc/fixinc/tests/base/arch/i960/archI960.h 1062137968b ./gcc/fixinc/tests/base/arpa/inet.h 935781122b ./gcc/fixinc/tests/base/assert.h *************** *** 2857,2867 **** 2670651204b ./gcc/fixinc/tests/base/libgen.h 1854625388b ./gcc/fixinc/tests/base/machine/cpu.h 114078425b ./gcc/fixinc/tests/base/malloc.h ! 2313686563b ./gcc/fixinc/tests/base/math.h 2373596333b ./gcc/fixinc/tests/base/netdnet/dnetdb.h 4211518276b ./gcc/fixinc/tests/base/netinet/ip.h 3107111098b ./gcc/fixinc/tests/base/pixrect/memvar.h ! 3253666839b ./gcc/fixinc/tests/base/pthread.h 2876721819b ./gcc/fixinc/tests/base/regex.h 351364386b ./gcc/fixinc/tests/base/reg_types.h 2249464053b ./gcc/fixinc/tests/base/rpc/auth.h --- 2860,2870 ---- 2670651204b ./gcc/fixinc/tests/base/libgen.h 1854625388b ./gcc/fixinc/tests/base/machine/cpu.h 114078425b ./gcc/fixinc/tests/base/malloc.h ! 213949517b ./gcc/fixinc/tests/base/math.h 2373596333b ./gcc/fixinc/tests/base/netdnet/dnetdb.h 4211518276b ./gcc/fixinc/tests/base/netinet/ip.h 3107111098b ./gcc/fixinc/tests/base/pixrect/memvar.h ! 2157512402b ./gcc/fixinc/tests/base/pthread.h 2876721819b ./gcc/fixinc/tests/base/regex.h 351364386b ./gcc/fixinc/tests/base/reg_types.h 2249464053b ./gcc/fixinc/tests/base/rpc/auth.h *************** *** 2874,2885 **** 1583769396b ./gcc/fixinc/tests/base/stdio.h 1529509815b ./gcc/fixinc/tests/base/stdio_tag.h 298829255b ./gcc/fixinc/tests/base/stdlib.h 2907849084b ./gcc/fixinc/tests/base/strings.h 482468002b ./gcc/fixinc/tests/base/sundev/vuid_event.h 1807434691b ./gcc/fixinc/tests/base/sunwindow/win_lock.h 124945712b ./gcc/fixinc/tests/base/sym.h 3921290193b ./gcc/fixinc/tests/base/sys/asm.h ! 54324049b ./gcc/fixinc/tests/base/sys/byteorder.h 1224260027b ./gcc/fixinc/tests/base/sys/cdefs.h 1406575472b ./gcc/fixinc/tests/base/sys/file.h 3052695740b ./gcc/fixinc/tests/base/sys/ioctl.h --- 2877,2889 ---- 1583769396b ./gcc/fixinc/tests/base/stdio.h 1529509815b ./gcc/fixinc/tests/base/stdio_tag.h 298829255b ./gcc/fixinc/tests/base/stdlib.h + 2274134488b ./gcc/fixinc/tests/base/string.h 2907849084b ./gcc/fixinc/tests/base/strings.h 482468002b ./gcc/fixinc/tests/base/sundev/vuid_event.h 1807434691b ./gcc/fixinc/tests/base/sunwindow/win_lock.h 124945712b ./gcc/fixinc/tests/base/sym.h 3921290193b ./gcc/fixinc/tests/base/sys/asm.h ! 1997294699b ./gcc/fixinc/tests/base/sys/byteorder.h 1224260027b ./gcc/fixinc/tests/base/sys/cdefs.h 1406575472b ./gcc/fixinc/tests/base/sys/file.h 3052695740b ./gcc/fixinc/tests/base/sys/ioctl.h *************** *** 2887,2892 **** --- 2891,2897 ---- 645497489b ./gcc/fixinc/tests/base/sys/machine.h 1230050207b ./gcc/fixinc/tests/base/sys/mman.h 3800154687b ./gcc/fixinc/tests/base/sys/param.h + 2763839202b ./gcc/fixinc/tests/base/sys/regset.h 3041640682b ./gcc/fixinc/tests/base/sys/signal.h 85483121b ./gcc/fixinc/tests/base/sys/socket.h 2450632911b ./gcc/fixinc/tests/base/sys/spinlock.h *************** *** 2922,2928 **** 1633854048b ./gcc/f/malloc.h 2687881356b ./gcc/f/name.c 558328466b ./gcc/f/name.h ! 559255786b ./gcc/f/NEWS 3453379674b ./gcc/f/news0.texi 2025578594b ./gcc/f/news.texi 77254354b ./gcc/fold-const.c --- 2927,2933 ---- 1633854048b ./gcc/f/malloc.h 2687881356b ./gcc/f/name.c 558328466b ./gcc/f/name.h ! 2173085709b ./gcc/f/NEWS 3453379674b ./gcc/f/news0.texi 2025578594b ./gcc/f/news.texi 77254354b ./gcc/fold-const.c *************** *** 2981,2994 **** 2232338664b ./gcc/f/top.h 3443401298b ./gcc/f/type.c 2499934202b ./gcc/f/type.h ! 2589414035b ./gcc/function.c 2092834276b ./gcc/function.h 3058774034b ./gcc/future.options 316201735b ./gcc/f/where.c 3857741668b ./gcc/f/where.h 3783840564b ./gcc/gbl-ctors.h 1115769236b ./gcc/gccbug.in ! 3359207208b ./gcc/gcc.c 4230721321b ./gcc/gcc.h 3093644366b ./gcc/gcc.hlp 2622773729b ./gcc/gccspec.c --- 2986,2999 ---- 2232338664b ./gcc/f/top.h 3443401298b ./gcc/f/type.c 2499934202b ./gcc/f/type.h ! 1462737491b ./gcc/function.c 2092834276b ./gcc/function.h 3058774034b ./gcc/future.options 316201735b ./gcc/f/where.c 3857741668b ./gcc/f/where.h 3783840564b ./gcc/gbl-ctors.h 1115769236b ./gcc/gccbug.in ! 2921634145b ./gcc/gcc.c 4230721321b ./gcc/gcc.h 3093644366b ./gcc/gcc.hlp 2622773729b ./gcc/gccspec.c *************** *** 3011,3017 **** 904540311b ./gcc/gengenrtl.c 2765427045b ./gcc/gengtype.c 1706925807b ./gcc/gengtype.h ! 3357288863b ./gcc/gengtype-lex.c 3137000585b ./gcc/gengtype-lex.l 283432982b ./gcc/gengtype-yacc.c 2625416625b ./gcc/gengtype-yacc.h --- 3016,3022 ---- 904540311b ./gcc/gengenrtl.c 2765427045b ./gcc/gengtype.c 1706925807b ./gcc/gengtype.h ! 362087221b ./gcc/gengtype-lex.c 3137000585b ./gcc/gengtype-lex.l 283432982b ./gcc/gengtype-yacc.c 2625416625b ./gcc/gengtype-yacc.h *************** *** 3067,3073 **** 3129523647b ./gcc/integrate.h 3847321727b ./gcc/intl/bindtextdom.c 3277280645b ./gcc/intl.c ! 908602716b ./gcc/intl/ChangeLog 3698301396b ./gcc/intl/config.charset 3683549278b ./gcc/intl/dcgettext.c 1537282354b ./gcc/intl/dcigettext.c --- 3072,3078 ---- 3129523647b ./gcc/integrate.h 3847321727b ./gcc/intl/bindtextdom.c 3277280645b ./gcc/intl.c ! 2907030698b ./gcc/intl/ChangeLog 3698301396b ./gcc/intl/config.charset 3683549278b ./gcc/intl/dcgettext.c 1537282354b ./gcc/intl/dcigettext.c *************** *** 3102,3108 **** 674770997b ./gcc/java/buffer.c 1535113190b ./gcc/java/buffer.h 2471190840b ./gcc/java/builtins.c ! 1405334807b ./gcc/java/ChangeLog 2409493226b ./gcc/java/chartables.h 1669534513b ./gcc/java/check-init.c 1987085295b ./gcc/java/class.c --- 3107,3113 ---- 674770997b ./gcc/java/buffer.c 1535113190b ./gcc/java/buffer.h 2471190840b ./gcc/java/builtins.c ! 711626241b ./gcc/java/ChangeLog 2409493226b ./gcc/java/chartables.h 1669534513b ./gcc/java/check-init.c 1987085295b ./gcc/java/class.c *************** *** 3113,3124 **** 2447326245b ./gcc/java/decl.c 808662179b ./gcc/java/except.c 3550734029b ./gcc/java/expr.c ! 293857630b ./gcc/java/gcj.1 ! 1181101193b ./gcc/java/gcjh.1 3037774527b ./gcc/java/gcj.info 3613529008b ./gcc/java/gcj.texi 533046670b ./gcc/java/gen-table.pl ! 1411986171b ./gcc/java/gij.1 871232158b ./gcc/java/gjavah.c 1545050516b ./gcc/java/java-except.h 1953641142b ./gcc/java/java-opcodes.h --- 3118,3129 ---- 2447326245b ./gcc/java/decl.c 808662179b ./gcc/java/except.c 3550734029b ./gcc/java/expr.c ! 4140633080b ./gcc/java/gcj.1 ! 650127821b ./gcc/java/gcjh.1 3037774527b ./gcc/java/gcj.info 3613529008b ./gcc/java/gcj.texi 533046670b ./gcc/java/gen-table.pl ! 1159065701b ./gcc/java/gij.1 871232158b ./gcc/java/gjavah.c 1545050516b ./gcc/java/java-except.h 1953641142b ./gcc/java/java-opcodes.h *************** *** 3127,3133 **** 2113802419b ./gcc/java/java-tree.def 1585333829b ./gcc/java/java-tree.h 1618392854b ./gcc/java/jcf-depend.c ! 1309423528b ./gcc/java/jcf-dump.1 989986345b ./gcc/java/jcf-dump.c 1096034698b ./gcc/java/jcf.h 265802933b ./gcc/java/jcf-io.c --- 3132,3138 ---- 2113802419b ./gcc/java/java-tree.def 1585333829b ./gcc/java/java-tree.h 1618392854b ./gcc/java/jcf-depend.c ! 1330782242b ./gcc/java/jcf-dump.1 989986345b ./gcc/java/jcf-dump.c 1096034698b ./gcc/java/jcf.h 265802933b ./gcc/java/jcf-io.c *************** *** 3135,3143 **** 3649177865b ./gcc/java/jcf-path.c 3469145485b ./gcc/java/jcf-reader.c 2779561656b ./gcc/java/jcf-write.c ! 2954054827b ./gcc/java/jv-convert.1 3805988298b ./gcc/java/jvgenmain.c ! 240446804b ./gcc/java/jv-scan.1 1608362154b ./gcc/java/jv-scan.c 1503112447b ./gcc/java/jvspec.c 1823669543b ./gcc/java/keyword.gperf --- 3140,3148 ---- 3649177865b ./gcc/java/jcf-path.c 3469145485b ./gcc/java/jcf-reader.c 2779561656b ./gcc/java/jcf-write.c ! 1607884657b ./gcc/java/jv-convert.1 3805988298b ./gcc/java/jvgenmain.c ! 2969973964b ./gcc/java/jv-scan.1 1608362154b ./gcc/java/jv-scan.c 1503112447b ./gcc/java/jvspec.c 1823669543b ./gcc/java/keyword.gperf *************** *** 3150,3162 **** 827934844b ./gcc/java/Make-lang.in 3475732428b ./gcc/java/mangle.c 1178542691b ./gcc/java/mangle_name.c ! 2451677701b ./gcc/java/parse.c 1819635606b ./gcc/java/parse.h ! 997050303b ./gcc/java/parse-scan.c 222108707b ./gcc/java/parse-scan.y 3662037178b ./gcc/java/parse.y ! 6813413b ./gcc/java/rmic.1 ! 2076065631b ./gcc/java/rmiregistry.1 4133292138b ./gcc/java/typeck.c 3461608157b ./gcc/java/verify.c 3887545656b ./gcc/java/win32-host.c --- 3155,3167 ---- 827934844b ./gcc/java/Make-lang.in 3475732428b ./gcc/java/mangle.c 1178542691b ./gcc/java/mangle_name.c ! 1612011901b ./gcc/java/parse.c 1819635606b ./gcc/java/parse.h ! 1406773240b ./gcc/java/parse-scan.c 222108707b ./gcc/java/parse-scan.y 3662037178b ./gcc/java/parse.y ! 2458901806b ./gcc/java/rmic.1 ! 3179582836b ./gcc/java/rmiregistry.1 4133292138b ./gcc/java/typeck.c 3461608157b ./gcc/java/verify.c 3887545656b ./gcc/java/win32-host.c *************** *** 3173,3179 **** 95519294b ./gcc/libfuncs.h 1895885741b ./gcc/libgcc2.c 3322762549b ./gcc/libgcc2.h ! 279804516b ./gcc/libgcc-std.ver 2497915666b ./gcc/limitx.h 1045880008b ./gcc/limity.h 1060915850b ./gcc/line-map.c --- 3178,3184 ---- 95519294b ./gcc/libfuncs.h 1895885741b ./gcc/libgcc2.c 3322762549b ./gcc/libgcc2.h ! 1203905598b ./gcc/libgcc-std.ver 2497915666b ./gcc/limitx.h 1045880008b ./gcc/limity.h 1060915850b ./gcc/line-map.c *************** *** 3182,3193 **** 2979000969b ./gcc/local-alloc.c 1812783525b ./gcc/location.h 3570672314b ./gcc/longlong.h ! 2167532150b ./gcc/loop.c ! 2947339148b ./gcc/loop.h 1751002388b ./gcc/machmode.def 2912025978b ./gcc/machmode.h 189930733b ./gcc/main.c ! 372306726b ./gcc/Makefile.in 2927199649b ./gcc/mbchar.c 1508701785b ./gcc/mbchar.h 886384654b ./gcc/mips-tdump.c --- 3187,3198 ---- 2979000969b ./gcc/local-alloc.c 1812783525b ./gcc/location.h 3570672314b ./gcc/longlong.h ! 3976331173b ./gcc/loop.c ! 3228595845b ./gcc/loop.h 1751002388b ./gcc/machmode.def 2912025978b ./gcc/machmode.h 189930733b ./gcc/main.c ! 892780542b ./gcc/Makefile.in 2927199649b ./gcc/mbchar.c 1508701785b ./gcc/mbchar.h 886384654b ./gcc/mips-tdump.c *************** *** 3197,3207 **** 3976112005b ./gcc/mkdeps.h 27366989b ./gcc/mkheaders.in 827441351b ./gcc/mkinstalldirs ! 1322684481b ./gcc/mklibgcc.in 4201050746b ./gcc/mkmap-flat.awk ! 1180430107b ./gcc/mkmap-symver.awk 1597314052b ./gcc/move-if-change ! 2142801929b ./gcc/NEWS 753535702b ./gcc/objc/config-lang.in 1966957144b ./gcc/objc/.cvsignore 588115418b ./gcc/objc/lang-options.h --- 3202,3212 ---- 3976112005b ./gcc/mkdeps.h 27366989b ./gcc/mkheaders.in 827441351b ./gcc/mkinstalldirs ! 3700388981b ./gcc/mklibgcc.in 4201050746b ./gcc/mkmap-flat.awk ! 2348443687b ./gcc/mkmap-symver.awk 1597314052b ./gcc/move-if-change ! 492608708b ./gcc/NEWS 753535702b ./gcc/objc/config-lang.in 1966957144b ./gcc/objc/.cvsignore 588115418b ./gcc/objc/lang-options.h *************** *** 3223,3229 **** 984476649b ./gcc/params.h 3291441019b ./gcc/po/be.gmo 3594423100b ./gcc/po/be.po ! 1668679948b ./gcc/po/ChangeLog 958960227b ./gcc/po/da.gmo 473883872b ./gcc/po/da.po 389901689b ./gcc/po/de.gmo --- 3228,3234 ---- 984476649b ./gcc/params.h 3291441019b ./gcc/po/be.gmo 3594423100b ./gcc/po/be.po ! 1199822984b ./gcc/po/ChangeLog 958960227b ./gcc/po/da.gmo 473883872b ./gcc/po/da.po 389901689b ./gcc/po/de.gmo *************** *** 3273,3283 **** 1380845695b ./gcc/regmove.c 886698666b ./gcc/regrename.c 4261713084b ./gcc/regs.h ! 388866387b ./gcc/reg-stack.c 1851607546b ./gcc/reload1.c 2803735528b ./gcc/reload.c 3481272321b ./gcc/reload.h ! 4020213172b ./gcc/reorg.c 249014842b ./gcc/resource.c 2605579460b ./gcc/resource.h 3358091595b ./gcc/rtlanal.c --- 3278,3288 ---- 1380845695b ./gcc/regmove.c 886698666b ./gcc/regrename.c 4261713084b ./gcc/regs.h ! 2988316224b ./gcc/reg-stack.c 1851607546b ./gcc/reload1.c 2803735528b ./gcc/reload.c 3481272321b ./gcc/reload.h ! 926972925b ./gcc/reorg.c 249014842b ./gcc/resource.c 2605579460b ./gcc/resource.h 3358091595b ./gcc/rtlanal.c *************** *** 3288,3294 **** 1290811844b ./gcc/sbitmap.c 7124827b ./gcc/sbitmap.h 75721905b ./gcc/scan.c ! 1157934170b ./gcc/scan-decls.c 339714129b ./gcc/scan.h 3912741047b ./gcc/scan-types.sh 2704776331b ./gcc/sched-deps.c --- 3293,3299 ---- 1290811844b ./gcc/sbitmap.c 7124827b ./gcc/sbitmap.h 75721905b ./gcc/scan.c ! 1193388276b ./gcc/scan-decls.c 339714129b ./gcc/scan.h 3912741047b ./gcc/scan-types.sh 2704776331b ./gcc/sched-deps.c *************** *** 3308,3322 **** 3490823511b ./gcc/ssa.h 661640452b ./gcc/stab.def 471587796b ./gcc/stack.h ! 1990422131b ./gcc/stmt.c ! 2148442539b ./gcc/stor-layout.c 3600592812b ./gcc/stringpool.c 567176141b ./gcc/sys-protos.h 1032468258b ./gcc/system.h 482558466b ./gcc/sys-types.h 3943359312b ./gcc/target-def.h 1185210674b ./gcc/target.h ! 2810119787b ./gcc/testsuite/ChangeLog 1101480727b ./gcc/testsuite/config/default.exp 3657217366b ./gcc/testsuite/consistency.vlad/layout/a-char.c 2814769741b ./gcc/testsuite/consistency.vlad/layout/a-double.c --- 3313,3327 ---- 3490823511b ./gcc/ssa.h 661640452b ./gcc/stab.def 471587796b ./gcc/stack.h ! 2279062054b ./gcc/stmt.c ! 859696767b ./gcc/stor-layout.c 3600592812b ./gcc/stringpool.c 567176141b ./gcc/sys-protos.h 1032468258b ./gcc/system.h 482558466b ./gcc/sys-types.h 3943359312b ./gcc/target-def.h 1185210674b ./gcc/target.h ! 776473652b ./gcc/testsuite/ChangeLog 1101480727b ./gcc/testsuite/config/default.exp 3657217366b ./gcc/testsuite/consistency.vlad/layout/a-char.c 2814769741b ./gcc/testsuite/consistency.vlad/layout/a-double.c *************** *** 5363,5368 **** --- 5368,5377 ---- 139115612b ./gcc/testsuite/gcc.c-torture/compile/20030604-1.c 3168385659b ./gcc/testsuite/gcc.c-torture/compile/20030625-1.c 1844731542b ./gcc/testsuite/gcc.c-torture/compile/20030703-1.c + 421671839b ./gcc/testsuite/gcc.c-torture/compile/20030821-1.c + 144576078b ./gcc/testsuite/gcc.c-torture/compile/20030907-1.c + 3163338462b ./gcc/testsuite/gcc.c-torture/compile/20031002-1.c + 1569879978b ./gcc/testsuite/gcc.c-torture/compile/20031011-1.c 375311401b ./gcc/testsuite/gcc.c-torture/compile/900116-1.c 4181931788b ./gcc/testsuite/gcc.c-torture/compile/900216-1.c 426860692b ./gcc/testsuite/gcc.c-torture/compile/900313-1.c *************** *** 5673,5678 **** --- 5682,5688 ---- 2677779184b ./gcc/testsuite/gcc.c-torture/compile/trunctfdf.c 3723113555b ./gcc/testsuite/gcc.c-torture/compile/widechar-1.c 2985433108b ./gcc/testsuite/gcc.c-torture/compile/zero-strct-1.c + 1339023163b ./gcc/testsuite/gcc.c-torture/compile/zero-strct-2.c 1530761060b ./gcc/testsuite/gcc.c-torture/execute/20000112-1.c 2481066019b ./gcc/testsuite/gcc.c-torture/execute/20000113-1.c 1162771092b ./gcc/testsuite/gcc.c-torture/execute/20000121-1.c *************** *** 5894,5899 **** --- 5904,5910 ---- 4701210b ./gcc/testsuite/gcc.c-torture/execute/20030613-1.c 1633117452b ./gcc/testsuite/gcc.c-torture/execute/20030714-1.c 966093144b ./gcc/testsuite/gcc.c-torture/execute/20030715-1.c + 479976333b ./gcc/testsuite/gcc.c-torture/execute/20030907-1.c 37158978b ./gcc/testsuite/gcc.c-torture/execute/900409-1.c 1241514475b ./gcc/testsuite/gcc.c-torture/execute/920202-1.c 651529975b ./gcc/testsuite/gcc.c-torture/execute/920302-1.c *************** *** 6763,6769 **** 2738421039b ./gcc/testsuite/gcc.dg/20020310-1.c 767384458b ./gcc/testsuite/gcc.dg/20020312-1.c 2062142429b ./gcc/testsuite/gcc.dg/20020312-2.c ! 3842300935b ./gcc/testsuite/gcc.dg/20020313-1.c 663674028b ./gcc/testsuite/gcc.dg/20020319-1.c 3802202669b ./gcc/testsuite/gcc.dg/20020326-1.c 575770214b ./gcc/testsuite/gcc.dg/20020411-1.c --- 6774,6780 ---- 2738421039b ./gcc/testsuite/gcc.dg/20020310-1.c 767384458b ./gcc/testsuite/gcc.dg/20020312-1.c 2062142429b ./gcc/testsuite/gcc.dg/20020312-2.c ! 353733237b ./gcc/testsuite/gcc.dg/20020313-1.c 663674028b ./gcc/testsuite/gcc.dg/20020319-1.c 3802202669b ./gcc/testsuite/gcc.dg/20020326-1.c 575770214b ./gcc/testsuite/gcc.dg/20020411-1.c *************** *** 6808,6816 **** --- 6819,6831 ---- 1058638767b ./gcc/testsuite/gcc.dg/20030414-1.c 562276436b ./gcc/testsuite/gcc.dg/20030625-1.c 234439247b ./gcc/testsuite/gcc.dg/20030627-1.c + 2034015147b ./gcc/testsuite/gcc.dg/20030702-1.c 633614653b ./gcc/testsuite/gcc.dg/20030708-1.c 432289486b ./gcc/testsuite/gcc.dg/20030717-1.c 2732676543b ./gcc/testsuite/gcc.dg/20030721-1.c + 2613783087b ./gcc/testsuite/gcc.dg/20030815-1.c + 3262950551b ./gcc/testsuite/gcc.dg/20031002-1.c + 3703962415b ./gcc/testsuite/gcc.dg/20031009-1.c 1577979025b ./gcc/testsuite/gcc.dg/920413-1.c 2176221389b ./gcc/testsuite/gcc.dg/940409-1.c 1567764883b ./gcc/testsuite/gcc.dg/940510-1.c *************** *** 6887,6892 **** --- 6902,6908 ---- 719825537b ./gcc/testsuite/gcc.dg/bitfld-4.c 331669473b ./gcc/testsuite/gcc.dg/bitfld-5.c 2721476408b ./gcc/testsuite/gcc.dg/bitfld-6.c + 2770733918b ./gcc/testsuite/gcc.dg/builtin-apply1.c 1594168367b ./gcc/testsuite/gcc.dg/builtin-choose-expr.c 10093864b ./gcc/testsuite/gcc.dg/builtin-inf-1.c 2462561678b ./gcc/testsuite/gcc.dg/builtin-prefetch-1.c *************** *** 6897,6902 **** --- 6913,6919 ---- 4098525451b ./gcc/testsuite/gcc.dg/c90-array-lval-3.c 3655088604b ./gcc/testsuite/gcc.dg/c90-array-lval-4.c 1572913366b ./gcc/testsuite/gcc.dg/c90-array-lval-5.c + 25327060b ./gcc/testsuite/gcc.dg/c90-array-lval-6.c 4018159207b ./gcc/testsuite/gcc.dg/c90-complex-1.c 3681535923b ./gcc/testsuite/gcc.dg/c90-complit-1.c 1705314837b ./gcc/testsuite/gcc.dg/c90-const-expr-1.c *************** *** 6929,6934 **** --- 6946,6952 ---- 533861407b ./gcc/testsuite/gcc.dg/c99-array-lval-3.c 2215212813b ./gcc/testsuite/gcc.dg/c99-array-lval-4.c 3070583409b ./gcc/testsuite/gcc.dg/c99-array-lval-5.c + 144287683b ./gcc/testsuite/gcc.dg/c99-array-lval-6.c 1817213908b ./gcc/testsuite/gcc.dg/c99-array-nonobj-1.c 2980400116b ./gcc/testsuite/gcc.dg/c99-bool-1.c 2269932988b ./gcc/testsuite/gcc.dg/c99-complex-1.c *************** *** 7177,7185 **** 1107840471b ./gcc/testsuite/gcc.dg/cpp/redef1.c 1601641321b ./gcc/testsuite/gcc.dg/cpp/redef2.c 2157179075b ./gcc/testsuite/gcc.dg/cpp/redef3.c 2020720031b ./gcc/testsuite/gcc.dg/cpp/skipping2.c 3846911977b ./gcc/testsuite/gcc.dg/cpp/skipping.c ! 3873271528b ./gcc/testsuite/gcc.dg/cpp/spacing1.c 1299147601b ./gcc/testsuite/gcc.dg/cpp/spacing2.c 3081823659b ./gcc/testsuite/gcc.dg/cpp/strify1.c 3973832195b ./gcc/testsuite/gcc.dg/cpp/strify2.c --- 7195,7204 ---- 1107840471b ./gcc/testsuite/gcc.dg/cpp/redef1.c 1601641321b ./gcc/testsuite/gcc.dg/cpp/redef2.c 2157179075b ./gcc/testsuite/gcc.dg/cpp/redef3.c + 2746819393b ./gcc/testsuite/gcc.dg/cpp/separate-1.c 2020720031b ./gcc/testsuite/gcc.dg/cpp/skipping2.c 3846911977b ./gcc/testsuite/gcc.dg/cpp/skipping.c ! 3826080641b ./gcc/testsuite/gcc.dg/cpp/spacing1.c 1299147601b ./gcc/testsuite/gcc.dg/cpp/spacing2.c 3081823659b ./gcc/testsuite/gcc.dg/cpp/strify1.c 3973832195b ./gcc/testsuite/gcc.dg/cpp/strify2.c *************** *** 7287,7294 **** --- 7306,7315 ---- 2112571638b ./gcc/testsuite/gcc.dg/cpp/widestr1.c 3886684794b ./gcc/testsuite/gcc.dg/cpp/Wsignprom.c 1685485063b ./gcc/testsuite/gcc.dg/cpp/Wtrigraphs.c + 2373291318b ./gcc/testsuite/gcc.dg/cpp/Wunknown-pragmas-1.c 3786746146b ./gcc/testsuite/gcc.dg/cpp/Wunused.c 2247214341b ./gcc/testsuite/gcc.dg/cpp/Wunused.h + 966111785b ./gcc/testsuite/gcc.dg/darwin-abi-1.c 3955692120b ./gcc/testsuite/gcc.dg/darwin-ld-1.c 3377797610b ./gcc/testsuite/gcc.dg/darwin-ld-2.c 858483839b ./gcc/testsuite/gcc.dg/darwin-ld-3.c *************** *** 7438,7444 **** 2954420820b ./gcc/testsuite/gcc.dg/mmix-1.c 2663557248b ./gcc/testsuite/gcc.dg/m-un-1.c 2341407016b ./gcc/testsuite/gcc.dg/m-un-2.c ! 3356258804b ./gcc/testsuite/gcc.dg/nest.c 167742958b ./gcc/testsuite/gcc.dg/no-builtin-1.c 2208318132b ./gcc/testsuite/gcc.dg/noncompile/20000901-1.c 3562764821b ./gcc/testsuite/gcc.dg/noncompile/20001228-1.c --- 7459,7465 ---- 2954420820b ./gcc/testsuite/gcc.dg/mmix-1.c 2663557248b ./gcc/testsuite/gcc.dg/m-un-1.c 2341407016b ./gcc/testsuite/gcc.dg/m-un-2.c ! 2607910125b ./gcc/testsuite/gcc.dg/nest.c 167742958b ./gcc/testsuite/gcc.dg/no-builtin-1.c 2208318132b ./gcc/testsuite/gcc.dg/noncompile/20000901-1.c 3562764821b ./gcc/testsuite/gcc.dg/noncompile/20001228-1.c *************** *** 7449,7454 **** --- 7470,7476 ---- 3055182962b ./gcc/testsuite/gcc.dg/noncompile/20020207-1.c 3889627347b ./gcc/testsuite/gcc.dg/noncompile/20020213-1.c 1457569280b ./gcc/testsuite/gcc.dg/noncompile/20020220-1.c + 2121631552b ./gcc/testsuite/gcc.dg/noncompile/20030818-1.c 2964160251b ./gcc/testsuite/gcc.dg/noncompile/920507-1.c 2161867266b ./gcc/testsuite/gcc.dg/noncompile/920616-2.c 1066215762b ./gcc/testsuite/gcc.dg/noncompile/920721-2.c *************** *** 7509,7515 **** 2879526504b ./gcc/testsuite/gcc.dg/return-type-3.c 3862146754b ./gcc/testsuite/gcc.dg/sequence-pt-1.c 3997091992b ./gcc/testsuite/gcc.dg/setjmp-1.c ! 1999251039b ./gcc/testsuite/gcc.dg/sibcall-1.c 2394881430b ./gcc/testsuite/gcc.dg/sibcall-2.c 2328366575b ./gcc/testsuite/gcc.dg/sibcall-3.c 348731556b ./gcc/testsuite/gcc.dg/sibcall-4.c --- 7531,7537 ---- 2879526504b ./gcc/testsuite/gcc.dg/return-type-3.c 3862146754b ./gcc/testsuite/gcc.dg/sequence-pt-1.c 3997091992b ./gcc/testsuite/gcc.dg/setjmp-1.c ! 4257734656b ./gcc/testsuite/gcc.dg/sibcall-1.c 2394881430b ./gcc/testsuite/gcc.dg/sibcall-2.c 2328366575b ./gcc/testsuite/gcc.dg/sibcall-3.c 348731556b ./gcc/testsuite/gcc.dg/sibcall-4.c *************** *** 7559,7564 **** --- 7581,7587 ---- 1890682509b ./gcc/testsuite/gcc.dg/typedef-init.c 1892637986b ./gcc/testsuite/gcc.dg/typeof-1.c 2805647153b ./gcc/testsuite/gcc.dg/typespec-1.c + 2282506048b ./gcc/testsuite/gcc.dg/ultrasp10.c 1860858242b ./gcc/testsuite/gcc.dg/ultrasp1.c 789972216b ./gcc/testsuite/gcc.dg/ultrasp2.c 2708772692b ./gcc/testsuite/gcc.dg/ultrasp3.c *************** *** 7578,7584 **** 390912088b ./gcc/testsuite/gcc.dg/uninit-9.c 2047101897b ./gcc/testsuite/gcc.dg/uninit-A.c 3967573468b ./gcc/testsuite/gcc.dg/uninit-B.c ! 2467264013b ./gcc/testsuite/gcc.dg/uninit-C.c 3652858704b ./gcc/testsuite/gcc.dg/unordered-1.c 977726966b ./gcc/testsuite/gcc.dg/unused-1.c 3484455791b ./gcc/testsuite/gcc.dg/unused-2.c --- 7601,7607 ---- 390912088b ./gcc/testsuite/gcc.dg/uninit-9.c 2047101897b ./gcc/testsuite/gcc.dg/uninit-A.c 3967573468b ./gcc/testsuite/gcc.dg/uninit-B.c ! 871237670b ./gcc/testsuite/gcc.dg/uninit-C.c 3652858704b ./gcc/testsuite/gcc.dg/unordered-1.c 977726966b ./gcc/testsuite/gcc.dg/unused-1.c 3484455791b ./gcc/testsuite/gcc.dg/unused-2.c *************** *** 7630,7635 **** --- 7653,7660 ---- 2078992029b ./gcc/testsuite/gcc.dg/Wunknownprag.c 1674197654b ./gcc/testsuite/gcc.dg/Wunreachable-1.c 3581949676b ./gcc/testsuite/gcc.dg/Wunreachable-2.c + 4265013314b ./gcc/testsuite/gcc.dg/Wunreachable-6.c + 154937648b ./gcc/testsuite/gcc.dg/Wunreachable-7.c 1769759078b ./gcc/testsuite/gcc.misc-tests/acker1.c 1443030966b ./gcc/testsuite/gcc.misc-tests/acker1.exp 278378178b ./gcc/testsuite/gcc.misc-tests/arm-isr.c *************** *** 7673,7679 **** 2266643451b ./gcc/testsuite/gcc.misc-tests/i386-pf-none-1.c 2697809529b ./gcc/testsuite/gcc.misc-tests/i386-pf-sse-1.c 2256410310b ./gcc/testsuite/gcc.misc-tests/i386-prefetch.exp ! 3414573605b ./gcc/testsuite/gcc.misc-tests/linkage.exp 2071381157b ./gcc/testsuite/gcc.misc-tests/linkage-x.c 3975807378b ./gcc/testsuite/gcc.misc-tests/linkage-y.c 2874350784b ./gcc/testsuite/gcc.misc-tests/matrix1.c --- 7698,7704 ---- 2266643451b ./gcc/testsuite/gcc.misc-tests/i386-pf-none-1.c 2697809529b ./gcc/testsuite/gcc.misc-tests/i386-pf-sse-1.c 2256410310b ./gcc/testsuite/gcc.misc-tests/i386-prefetch.exp ! 1438262609b ./gcc/testsuite/gcc.misc-tests/linkage.exp 2071381157b ./gcc/testsuite/gcc.misc-tests/linkage-x.c 3975807378b ./gcc/testsuite/gcc.misc-tests/linkage-y.c 2874350784b ./gcc/testsuite/gcc.misc-tests/matrix1.c *************** *** 7684,7689 **** --- 7709,7716 ---- 3220093576b ./gcc/testsuite/gcc.misc-tests/sieve.exp 4235385594b ./gcc/testsuite/gcc.misc-tests/sort2.c 232815709b ./gcc/testsuite/gcc.misc-tests/sort2.exp + 3879806733b ./gcc/testsuite/g++.dg/abi/bitfield11.C + 633990831b ./gcc/testsuite/g++.dg/abi/bitfield12.C 885716516b ./gcc/testsuite/g++.dg/abi/bitfield1.C 479436735b ./gcc/testsuite/g++.dg/abi/bitfield2.C 3225280346b ./gcc/testsuite/g++.dg/abi/bitfield3.C *************** *** 7871,7876 **** --- 7898,7904 ---- 3604468645b ./gcc/testsuite/g++.dg/eh/ctor1.C 2992503335b ./gcc/testsuite/g++.dg/eh/ctor2.C 3380022165b ./gcc/testsuite/g++.dg/eh/dead1.C + 3753867915b ./gcc/testsuite/g++.dg/eh/delayslot1.C 2869281563b ./gcc/testsuite/g++.dg/eh/dtor1.C 3289569863b ./gcc/testsuite/g++.dg/eh/filter1.C 1460645953b ./gcc/testsuite/g++.dg/eh/filter2.C *************** *** 7899,7904 **** --- 7927,7933 ---- 1242918408b ./gcc/testsuite/g++.dg/expr/anew3.C 2363098696b ./gcc/testsuite/g++.dg/expr/anew4.C 3540714573b ./gcc/testsuite/g++.dg/expr/cast1.C + 1287092719b ./gcc/testsuite/g++.dg/expr/comma1.C 880147168b ./gcc/testsuite/g++.dg/expr/cond1.C 3467644215b ./gcc/testsuite/g++.dg/expr/dtor1.C 1191085278b ./gcc/testsuite/g++.dg/expr/member-of-incomplete-type-1.C *************** *** 7906,7911 **** --- 7935,7942 ---- 176841758b ./gcc/testsuite/g++.dg/expr/static_cast1.C 305119696b ./gcc/testsuite/g++.dg/expr/static_cast2.C 1996013771b ./gcc/testsuite/g++.dg/expr/static_cast3.C + 672086049b ./gcc/testsuite/g++.dg/expr/static_cast4.C + 3771989345b ./gcc/testsuite/g++.dg/expr/static_cast5.C 10818138b ./gcc/testsuite/g++.dg/ext/align1.C 161719849b ./gcc/testsuite/g++.dg/ext/alignof1.C 1838999152b ./gcc/testsuite/g++.dg/ext/anon-struct1.C *************** *** 7920,7925 **** --- 7951,7957 ---- 3822844850b ./gcc/testsuite/g++.dg/ext/attrib4.C 3467041206b ./gcc/testsuite/g++.dg/ext/attrib5.C 2936155890b ./gcc/testsuite/g++.dg/ext/attrib6.C + 1969936708b ./gcc/testsuite/g++.dg/ext/attrib8.C 2703749043b ./gcc/testsuite/g++.dg/ext/conv1.C 3998238765b ./gcc/testsuite/g++.dg/ext/desig1.C 1844149136b ./gcc/testsuite/g++.dg/ext/dllexport1.C *************** *** 7966,7972 **** --- 7998,8006 ---- 1226473169b ./gcc/testsuite/g++.dg/inherit/access5.C 3439912284b ./gcc/testsuite/g++.dg/inherit/base1.C 3472745263b ./gcc/testsuite/g++.dg/inherit/cond1.C + 2011214219b ./gcc/testsuite/g++.dg/inherit/conv1.C 3404023551b ./gcc/testsuite/g++.dg/inherit/covariant1.C + 1224112180b ./gcc/testsuite/g++.dg/inherit/error1.C 2543191854b ./gcc/testsuite/g++.dg/inherit/namespace-as-base.C 4167951109b ./gcc/testsuite/g++.dg/inherit/null1.C 2478211972b ./gcc/testsuite/g++.dg/inherit/operator1.C *************** *** 7980,7985 **** --- 8014,8020 ---- 2391219706b ./gcc/testsuite/g++.dg/inherit/using3.C 1997208530b ./gcc/testsuite/g++.dg/init/addr-const1.C 1409346264b ./gcc/testsuite/g++.dg/init/aggr1.C + 1025630251b ./gcc/testsuite/g++.dg/init/array11.C 4149172890b ./gcc/testsuite/g++.dg/init/array1.C 3157994593b ./gcc/testsuite/g++.dg/init/array2.C 3175368870b ./gcc/testsuite/g++.dg/init/array3.C *************** *** 8014,8019 **** --- 8049,8055 ---- 2065836625b ./gcc/testsuite/g++.dg/init/new5.C 3584312984b ./gcc/testsuite/g++.dg/init/new6.C 2240525756b ./gcc/testsuite/g++.dg/init/new7.C + 2021239480b ./gcc/testsuite/g++.dg/init/new9.C 1015198831b ./gcc/testsuite/g++.dg/init/pm1.C 1446834658b ./gcc/testsuite/g++.dg/init/pm2.C 3206400652b ./gcc/testsuite/g++.dg/init/ref1.C *************** *** 8022,8029 **** --- 8058,8068 ---- 327983634b ./gcc/testsuite/g++.dg/init/ref5.C 4081692652b ./gcc/testsuite/g++.dg/init/ref6.C 2855903834b ./gcc/testsuite/g++.dg/init/ref7.C + 3389778468b ./gcc/testsuite/g++.dg/init/ref8.C + 2843431707b ./gcc/testsuite/g++.dg/init/ref9.C 1760232845b ./gcc/testsuite/g++.dg/init/static1.C 710300032b ./gcc/testsuite/g++.dg/init/string1.C + 1661800402b ./gcc/testsuite/g++.dg/init/struct1.C 4082145348b ./gcc/testsuite/g++.dg/lookup/anon1.C 3674515572b ./gcc/testsuite/g++.dg/lookup/anon2.C 4033472976b ./gcc/testsuite/g++.dg/lookup/class-member-1.C *************** *** 8034,8039 **** --- 8073,8079 ---- 3013908110b ./gcc/testsuite/g++.dg/lookup/disamb1.C 1698581993b ./gcc/testsuite/g++.dg/lookup/forscope1.C 3727433793b ./gcc/testsuite/g++.dg/lookup/friend1.C + 4002587758b ./gcc/testsuite/g++.dg/lookup/koenig2.C 766167426b ./gcc/testsuite/g++.dg/lookup/pretty1.C 1562081572b ./gcc/testsuite/g++.dg/lookup/ptrmem1.C 2830406633b ./gcc/testsuite/g++.dg/lookup/scoped1.C *************** *** 8051,8057 **** --- 8091,8100 ---- 1878509122b ./gcc/testsuite/g++.dg/opt/anonunion1.C 845836056b ./gcc/testsuite/g++.dg/opt/asm1.C 4275274967b ./gcc/testsuite/g++.dg/opt/cfg1.C + 1436628306b ./gcc/testsuite/g++.dg/opt/cfg2.C + 923628046b ./gcc/testsuite/g++.dg/opt/cfg3.C 1484527337b ./gcc/testsuite/g++.dg/opt/cleanup1.C + 1343255310b ./gcc/testsuite/g++.dg/opt/cond1.C 3120356664b ./gcc/testsuite/g++.dg/opt/conj1.C 4054451892b ./gcc/testsuite/g++.dg/opt/conj2.C 2033783153b ./gcc/testsuite/g++.dg/opt/const1.C *************** *** 8060,8071 **** --- 8103,8116 ---- 1501006084b ./gcc/testsuite/g++.dg/opt/cse2.C 1685294627b ./gcc/testsuite/g++.dg/opt/dtor1.C 3659366294b ./gcc/testsuite/g++.dg/opt/emptyunion.C + 3038238314b ./gcc/testsuite/g++.dg/opt/float1.C 3770486737b ./gcc/testsuite/g++.dg/opt/inline1.C 2869206713b ./gcc/testsuite/g++.dg/opt/inline2.C 3194356521b ./gcc/testsuite/g++.dg/opt/inline3.C 2860828140b ./gcc/testsuite/g++.dg/opt/inline4.C 373643534b ./gcc/testsuite/g++.dg/opt/local1.C 3146403914b ./gcc/testsuite/g++.dg/opt/longbranch1.C + 3172021311b ./gcc/testsuite/g++.dg/opt/longbranch2.C 2026702440b ./gcc/testsuite/g++.dg/opt/mmx1.C 2857034604b ./gcc/testsuite/g++.dg/opt/nrv1.C 2448700667b ./gcc/testsuite/g++.dg/opt/nrv2.C *************** *** 8078,8083 **** --- 8123,8129 ---- 1496969096b ./gcc/testsuite/g++.dg/opt/ptrintsum1.C 1663667381b ./gcc/testsuite/g++.dg/opt/ptrmem1.C 3284968679b ./gcc/testsuite/g++.dg/opt/ptrmem2.C + 3593075142b ./gcc/testsuite/g++.dg/opt/reg-stack2.C 571185401b ./gcc/testsuite/g++.dg/opt/reg-stack.C 1557651694b ./gcc/testsuite/g++.dg/opt/reload1.C 3765450094b ./gcc/testsuite/g++.dg/opt/stack1.C *************** *** 8085,8090 **** --- 8131,8137 ---- 684782459b ./gcc/testsuite/g++.dg/opt/static2.C 3942616977b ./gcc/testsuite/g++.dg/opt/strength-reduce.C 4154721541b ./gcc/testsuite/g++.dg/opt/thunk1.C + 1853312151b ./gcc/testsuite/g++.dg/opt/unroll1.C 4029726050b ./gcc/testsuite/g++.dg/opt/vt1.C 686527483b ./gcc/testsuite/g++.dg/other/access1.C 3285252373b ./gcc/testsuite/g++.dg/other/anon2.C *************** *** 8117,8123 **** 2143945221b ./gcc/testsuite/g++.dg/other/linkage1.C 1678560039b ./gcc/testsuite/g++.dg/other/new1.C 786983178b ./gcc/testsuite/g++.dg/other/offsetof1.C ! 1786437900b ./gcc/testsuite/g++.dg/other/packed1.C 1073045139b ./gcc/testsuite/g++.dg/other/pragma-ep-1.C 198088036b ./gcc/testsuite/g++.dg/other/pragma-re-1.C 1453288357b ./gcc/testsuite/g++.dg/other/ptrmem1.C --- 8164,8170 ---- 2143945221b ./gcc/testsuite/g++.dg/other/linkage1.C 1678560039b ./gcc/testsuite/g++.dg/other/new1.C 786983178b ./gcc/testsuite/g++.dg/other/offsetof1.C ! 3016873217b ./gcc/testsuite/g++.dg/other/packed1.C 1073045139b ./gcc/testsuite/g++.dg/other/pragma-ep-1.C 198088036b ./gcc/testsuite/g++.dg/other/pragma-re-1.C 1453288357b ./gcc/testsuite/g++.dg/other/ptrmem1.C *************** *** 8133,8144 **** --- 8180,8193 ---- 2421396411b ./gcc/testsuite/g++.dg/overload/ambig1.C 492684594b ./gcc/testsuite/g++.dg/overload/builtin1.C 2593583015b ./gcc/testsuite/g++.dg/overload/builtin2.C + 2392782743b ./gcc/testsuite/g++.dg/overload/builtin3.C 3775778165b ./gcc/testsuite/g++.dg/overload/cond1.C 1110519878b ./gcc/testsuite/g++.dg/overload/error1.C 1362696676b ./gcc/testsuite/g++.dg/overload/member1.C 3780752279b ./gcc/testsuite/g++.dg/overload/member2.C 4213646402b ./gcc/testsuite/g++.dg/overload/operator1.C 3588815363b ./gcc/testsuite/g++.dg/overload/pmf1.C + 3836696775b ./gcc/testsuite/g++.dg/overload/template1.C 1828032968b ./gcc/testsuite/g++.dg/parse/angle-bracket.C 3621016079b ./gcc/testsuite/g++.dg/parse/attr1.C 1209396293b ./gcc/testsuite/g++.dg/parse/class1.C *************** *** 8159,8171 **** 402996652b ./gcc/testsuite/g++.dg/parse/namespace8.C 1437124593b ./gcc/testsuite/g++.dg/parse/namespace9.C 3024323785b ./gcc/testsuite/g++.dg/parse/octal1.C ! 1189423005b ./gcc/testsuite/g++.dg/parse/parameter-declaration-1.C 2118699314b ./gcc/testsuite/g++.dg/parse/ptrmem1.C 4289007099b ./gcc/testsuite/g++.dg/parse/saved1.C 19296994b ./gcc/testsuite/g++.dg/parse/stack1.C 1402579554b ./gcc/testsuite/g++.dg/parse/stmtexpr1.C 2804352074b ./gcc/testsuite/g++.dg/parse/stmtexpr2.C 254645785b ./gcc/testsuite/g++.dg/parse/stmtexpr3.C 1537348229b ./gcc/testsuite/g++.dg/parse/template8.C 1641234101b ./gcc/testsuite/g++.dg/parse/typedef1.C 465475026b ./gcc/testsuite/g++.dg/parse/varmod1.C --- 8208,8221 ---- 402996652b ./gcc/testsuite/g++.dg/parse/namespace8.C 1437124593b ./gcc/testsuite/g++.dg/parse/namespace9.C 3024323785b ./gcc/testsuite/g++.dg/parse/octal1.C ! 2612344954b ./gcc/testsuite/g++.dg/parse/parameter-declaration-1.C 2118699314b ./gcc/testsuite/g++.dg/parse/ptrmem1.C 4289007099b ./gcc/testsuite/g++.dg/parse/saved1.C 19296994b ./gcc/testsuite/g++.dg/parse/stack1.C 1402579554b ./gcc/testsuite/g++.dg/parse/stmtexpr1.C 2804352074b ./gcc/testsuite/g++.dg/parse/stmtexpr2.C 254645785b ./gcc/testsuite/g++.dg/parse/stmtexpr3.C + 3518048033b ./gcc/testsuite/g++.dg/parse/template12.C 1537348229b ./gcc/testsuite/g++.dg/parse/template8.C 1641234101b ./gcc/testsuite/g++.dg/parse/typedef1.C 465475026b ./gcc/testsuite/g++.dg/parse/varmod1.C *************** *** 8173,8178 **** --- 8223,8230 ---- 438642550b ./gcc/testsuite/g++.dg/rtti/crash1.C 1433046709b ./gcc/testsuite/g++.dg/rtti/cv1.C 1829490760b ./gcc/testsuite/g++.dg/rtti/dyncast1.C + 432043063b ./gcc/testsuite/g++.dg/rtti/typeid2.C + 1187117877b ./gcc/testsuite/g++.dg/rtti/typeid3.C 370035332b ./gcc/testsuite/g++.dg/special/conpr-1.C 1217683257b ./gcc/testsuite/g++.dg/special/conpr-2a.C 641456338b ./gcc/testsuite/g++.dg/special/conpr-2.C *************** *** 8204,8212 **** --- 8256,8266 ---- 41330039b ./gcc/testsuite/g++.dg/template/conv7.C 4153551346b ./gcc/testsuite/g++.dg/template/conv8.C 2083292273b ./gcc/testsuite/g++.dg/template/copy1.C + 3424550778b ./gcc/testsuite/g++.dg/template/crash11.C 611422239b ./gcc/testsuite/g++.dg/template/crash1.C 3568011765b ./gcc/testsuite/g++.dg/template/crash2.C 3886517071b ./gcc/testsuite/g++.dg/template/crash8.C + 3865899580b ./gcc/testsuite/g++.dg/template/crash9.C 3504290323b ./gcc/testsuite/g++.dg/template/ctor1.C 2330430995b ./gcc/testsuite/g++.dg/template/ctor2.C 1215391925b ./gcc/testsuite/g++.dg/template/decl1.C *************** *** 8224,8229 **** --- 8278,8284 ---- 4292587643b ./gcc/testsuite/g++.dg/template/friend17.C 4039879103b ./gcc/testsuite/g++.dg/template/friend18.C 1697588661b ./gcc/testsuite/g++.dg/template/friend20.C + 2719895390b ./gcc/testsuite/g++.dg/template/friend25.C 3302501697b ./gcc/testsuite/g++.dg/template/friend3.C 2426122237b ./gcc/testsuite/g++.dg/template/friend4.C 3560434139b ./gcc/testsuite/g++.dg/template/friend5.C *************** *** 8262,8268 **** 601175114b ./gcc/testsuite/g++.dg/template/ptrmem1.C 3748090308b ./gcc/testsuite/g++.dg/template/ptrmem2.C 1552975789b ./gcc/testsuite/g++.dg/template/ptrmem3.C ! 1140102843b ./gcc/testsuite/g++.dg/template/ptrmem4.C 1117759327b ./gcc/testsuite/g++.dg/template/qual1.C 4043559007b ./gcc/testsuite/g++.dg/template/qualttp10.C 265969049b ./gcc/testsuite/g++.dg/template/qualttp11.C --- 8317,8323 ---- 601175114b ./gcc/testsuite/g++.dg/template/ptrmem1.C 3748090308b ./gcc/testsuite/g++.dg/template/ptrmem2.C 1552975789b ./gcc/testsuite/g++.dg/template/ptrmem3.C ! 3864682907b ./gcc/testsuite/g++.dg/template/ptrmem4.C 1117759327b ./gcc/testsuite/g++.dg/template/qual1.C 4043559007b ./gcc/testsuite/g++.dg/template/qualttp10.C 265969049b ./gcc/testsuite/g++.dg/template/qualttp11.C *************** *** 8290,8296 **** 2809672487b ./gcc/testsuite/g++.dg/template/restrict1.C 1942107252b ./gcc/testsuite/g++.dg/template/sizeof1.C 1028564434b ./gcc/testsuite/g++.dg/template/sizeof2.C ! 975447277b ./gcc/testsuite/g++.dg/template/spec10.C 2914549620b ./gcc/testsuite/g++.dg/template/spec1.C 2378483146b ./gcc/testsuite/g++.dg/template/spec2.C 4044137217b ./gcc/testsuite/g++.dg/template/spec3.C --- 8345,8351 ---- 2809672487b ./gcc/testsuite/g++.dg/template/restrict1.C 1942107252b ./gcc/testsuite/g++.dg/template/sizeof1.C 1028564434b ./gcc/testsuite/g++.dg/template/sizeof2.C ! 2086014865b ./gcc/testsuite/g++.dg/template/spec10.C 2914549620b ./gcc/testsuite/g++.dg/template/spec1.C 2378483146b ./gcc/testsuite/g++.dg/template/spec2.C 4044137217b ./gcc/testsuite/g++.dg/template/spec3.C *************** *** 8326,8332 **** 1569401313b ./gcc/testsuite/g++.dg/tls/diag-1.C 2646101455b ./gcc/testsuite/g++.dg/tls/diag-2.C 2984687092b ./gcc/testsuite/g++.dg/tls/init-1.C ! 225284648b ./gcc/testsuite/g++.dg/tls/init-2.C 1820185551b ./gcc/testsuite/g++.dg/tls/tls.exp 472549683b ./gcc/testsuite/g++.dg/tls/trivial.C 3534874517b ./gcc/testsuite/g++.dg/warn/compare1.C --- 8381,8387 ---- 1569401313b ./gcc/testsuite/g++.dg/tls/diag-1.C 2646101455b ./gcc/testsuite/g++.dg/tls/diag-2.C 2984687092b ./gcc/testsuite/g++.dg/tls/init-1.C ! 3742529525b ./gcc/testsuite/g++.dg/tls/init-2.C 1820185551b ./gcc/testsuite/g++.dg/tls/tls.exp 472549683b ./gcc/testsuite/g++.dg/tls/trivial.C 3534874517b ./gcc/testsuite/g++.dg/warn/compare1.C *************** *** 8362,8368 **** 1155806507b ./gcc/testsuite/g++.old-deja/g++.abi/arraynew.C 3647855758b ./gcc/testsuite/g++.old-deja/g++.abi/bitfields.C 2026386788b ./gcc/testsuite/g++.old-deja/g++.abi/crash1.C ! 1147144784b ./gcc/testsuite/g++.old-deja/g++.abi/cxa_vec.C 4096109742b ./gcc/testsuite/g++.old-deja/g++.abi/empty2.C 1878628007b ./gcc/testsuite/g++.old-deja/g++.abi/empty3.C 2936636767b ./gcc/testsuite/g++.old-deja/g++.abi/empty.C --- 8417,8423 ---- 1155806507b ./gcc/testsuite/g++.old-deja/g++.abi/arraynew.C 3647855758b ./gcc/testsuite/g++.old-deja/g++.abi/bitfields.C 2026386788b ./gcc/testsuite/g++.old-deja/g++.abi/crash1.C ! 2856768338b ./gcc/testsuite/g++.old-deja/g++.abi/cxa_vec.C 4096109742b ./gcc/testsuite/g++.old-deja/g++.abi/empty2.C 1878628007b ./gcc/testsuite/g++.old-deja/g++.abi/empty3.C 2936636767b ./gcc/testsuite/g++.old-deja/g++.abi/empty.C *************** *** 8959,8965 **** 3350275577b ./gcc/testsuite/g++.old-deja/g++.ext/attrib2.C 1053733436b ./gcc/testsuite/g++.old-deja/g++.ext/attrib3.C 1626467181b ./gcc/testsuite/g++.old-deja/g++.ext/attrib4.C ! 3199258020b ./gcc/testsuite/g++.old-deja/g++.ext/attrib5.C 1231673353b ./gcc/testsuite/g++.old-deja/g++.ext/attrib6.C 1172027159b ./gcc/testsuite/g++.old-deja/g++.ext/bound1.C 2395600799b ./gcc/testsuite/g++.old-deja/g++.ext/constructor.C --- 9014,9020 ---- 3350275577b ./gcc/testsuite/g++.old-deja/g++.ext/attrib2.C 1053733436b ./gcc/testsuite/g++.old-deja/g++.ext/attrib3.C 1626467181b ./gcc/testsuite/g++.old-deja/g++.ext/attrib4.C ! 1442836994b ./gcc/testsuite/g++.old-deja/g++.ext/attrib5.C 1231673353b ./gcc/testsuite/g++.old-deja/g++.ext/attrib6.C 1172027159b ./gcc/testsuite/g++.old-deja/g++.ext/bound1.C 2395600799b ./gcc/testsuite/g++.old-deja/g++.ext/constructor.C *************** *** 10028,10034 **** 630939157b ./gcc/testsuite/g++.old-deja/g++.mike/thunk3.C 4259046108b ./gcc/testsuite/g++.old-deja/g++.mike/unroll1.C 1164439917b ./gcc/testsuite/g++.old-deja/g++.mike/virt1.C ! 2927817139b ./gcc/testsuite/g++.old-deja/g++.mike/virt2.C 1772591600b ./gcc/testsuite/g++.old-deja/g++.mike/virt3.C 2392194899b ./gcc/testsuite/g++.old-deja/g++.mike/virt4.C 2478016121b ./gcc/testsuite/g++.old-deja/g++.mike/virt5.C --- 10083,10089 ---- 630939157b ./gcc/testsuite/g++.old-deja/g++.mike/thunk3.C 4259046108b ./gcc/testsuite/g++.old-deja/g++.mike/unroll1.C 1164439917b ./gcc/testsuite/g++.old-deja/g++.mike/virt1.C ! 2441611493b ./gcc/testsuite/g++.old-deja/g++.mike/virt2.C 1772591600b ./gcc/testsuite/g++.old-deja/g++.mike/virt3.C 2392194899b ./gcc/testsuite/g++.old-deja/g++.mike/virt4.C 2478016121b ./gcc/testsuite/g++.old-deja/g++.mike/virt5.C *************** *** 10163,10169 **** 3099602163b ./gcc/testsuite/g++.old-deja/g++.ns/using7.C 396388537b ./gcc/testsuite/g++.old-deja/g++.ns/using8.C 536814910b ./gcc/testsuite/g++.old-deja/g++.ns/using9.C ! 3727468093b ./gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog 3728265872b ./gcc/testsuite/g++.old-deja/g++.oliva/ctor1.C 3026414575b ./gcc/testsuite/g++.old-deja/g++.oliva/delete1.C 3639944207b ./gcc/testsuite/g++.old-deja/g++.oliva/delete2.C --- 10218,10224 ---- 3099602163b ./gcc/testsuite/g++.old-deja/g++.ns/using7.C 396388537b ./gcc/testsuite/g++.old-deja/g++.ns/using8.C 536814910b ./gcc/testsuite/g++.old-deja/g++.ns/using9.C ! 3363076077b ./gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog 3728265872b ./gcc/testsuite/g++.old-deja/g++.oliva/ctor1.C 3026414575b ./gcc/testsuite/g++.old-deja/g++.oliva/delete1.C 3639944207b ./gcc/testsuite/g++.old-deja/g++.oliva/delete2.C *************** *** 11782,11805 **** 459055346b ./gcc/testsuite/treelang/a01gcci01.c 2293023639b ./gcc/testsuite/treelang/a01gcci01.tree 1160413650b ./gcc/testsuite/treelang/a01gcco01runpgm ! 3365937537b ./gcc/testsuite/treelang/ChangeLog 2484589993b ./gcc/testsuite/treelang/Makefile.in 1917546689b ./gcc/testsuite/treelang/treetests.exp 1194399710b ./gcc/timevar.c 2017483246b ./gcc/timevar.def 70728940b ./gcc/timevar.h ! 4177260386b ./gcc/tlink.c ! 4030870941b ./gcc/toplev.c 2285258868b ./gcc/toplev.h 3423640720b ./gcc/tracer.c ! 429462420b ./gcc/tree.c 266537813b ./gcc/tree.def 3233962690b ./gcc/tree-dump.c 3355334157b ./gcc/tree-dump.h ! 2955209321b ./gcc/tree.h 2369766666b ./gcc/tree-inline.c 3754771676b ./gcc/tree-inline.h ! 4081182088b ./gcc/treelang/ChangeLog 1636615662b ./gcc/treelang/config-lang.in 1245022634b ./gcc/treelang/.cvsignore 3755575041b ./gcc/treelang/lang-options.h --- 11837,11860 ---- 459055346b ./gcc/testsuite/treelang/a01gcci01.c 2293023639b ./gcc/testsuite/treelang/a01gcci01.tree 1160413650b ./gcc/testsuite/treelang/a01gcco01runpgm ! 937678774b ./gcc/testsuite/treelang/ChangeLog 2484589993b ./gcc/testsuite/treelang/Makefile.in 1917546689b ./gcc/testsuite/treelang/treetests.exp 1194399710b ./gcc/timevar.c 2017483246b ./gcc/timevar.def 70728940b ./gcc/timevar.h ! 2501087508b ./gcc/tlink.c ! 59174352b ./gcc/toplev.c 2285258868b ./gcc/toplev.h 3423640720b ./gcc/tracer.c ! 3323639773b ./gcc/tree.c 266537813b ./gcc/tree.def 3233962690b ./gcc/tree-dump.c 3355334157b ./gcc/tree-dump.h ! 3372102658b ./gcc/tree.h 2369766666b ./gcc/tree-inline.c 3754771676b ./gcc/tree-inline.h ! 871226491b ./gcc/treelang/ChangeLog 1636615662b ./gcc/treelang/config-lang.in 1245022634b ./gcc/treelang/.cvsignore 3755575041b ./gcc/treelang/lang-options.h *************** *** 11815,11842 **** 4292976636b ./gcc/treelang/treetree.h 2170053915b ./gcc/tsystem.h 4139263293b ./gcc/typeclass.h ! 3025263902b ./gcc/unroll.c 821072330b ./gcc/unwind-c.c ! 2177795b ./gcc/unwind-dw2.c 4197489626b ./gcc/unwind-dw2-fde.c 2891582256b ./gcc/unwind-dw2-fde-darwin.c 4043744940b ./gcc/unwind-dw2-fde-glibc.c 1040599635b ./gcc/unwind-dw2-fde.h ! 3814087766b ./gcc/unwind.h 1020619093b ./gcc/unwind.inc 703686593b ./gcc/unwind-pe.h 2302719627b ./gcc/unwind-sjlj.c ! 3016171086b ./gcc/varasm.c 2835975751b ./gcc/varray.c 1175263363b ./gcc/varray.h ! 3539879049b ./gcc/version.c 3311075015b ./gcc/version.h 1174103923b ./gcc/vmsdbg.h 3947609636b ./gcc/vmsdbgout.c 1306126748b ./gcc/xcoffout.c 1199287060b ./gcc/xcoffout.h 815071723b ./include/ansidecl.h ! 2161328101b ./include/ChangeLog 2171125041b ./include/COPYING 3196744694b ./include/demangle.h 524172850b ./include/dyn-string.h --- 11870,11898 ---- 4292976636b ./gcc/treelang/treetree.h 2170053915b ./gcc/tsystem.h 4139263293b ./gcc/typeclass.h ! 1580612335b ./gcc/unroll.c 821072330b ./gcc/unwind-c.c ! 586184029b ./gcc/unwind-dw2.c 4197489626b ./gcc/unwind-dw2-fde.c 2891582256b ./gcc/unwind-dw2-fde-darwin.c 4043744940b ./gcc/unwind-dw2-fde-glibc.c 1040599635b ./gcc/unwind-dw2-fde.h ! 2380024293b ./gcc/unwind.h 1020619093b ./gcc/unwind.inc + 2030699993b ./gcc/unwind-libunwind.c 703686593b ./gcc/unwind-pe.h 2302719627b ./gcc/unwind-sjlj.c ! 3315793682b ./gcc/varasm.c 2835975751b ./gcc/varray.c 1175263363b ./gcc/varray.h ! 1537458113b ./gcc/version.c 3311075015b ./gcc/version.h 1174103923b ./gcc/vmsdbg.h 3947609636b ./gcc/vmsdbgout.c 1306126748b ./gcc/xcoffout.c 1199287060b ./gcc/xcoffout.h 815071723b ./include/ansidecl.h ! 3047773923b ./include/ChangeLog 2171125041b ./include/COPYING 3196744694b ./include/demangle.h 524172850b ./include/dyn-string.h *************** *** 11867,11878 **** 2397948b ./INSTALL/old.html 2229468985b ./INSTALL/README 656627656b ./install-sh ! 2424715401b ./INSTALL/specific.html 1404181894b ./INSTALL/test.html 2266217259b ./libf2c/aclocal.m4 ! 3649867255b ./libf2c/ChangeLog 1973941211b ./libf2c/changes.netlib ! 1081212729b ./libf2c/configure 2026513347b ./libf2c/configure.in 2487502900b ./libf2c/disclaimer.netlib 4252437873b ./libf2c/f2cext.c --- 11923,11934 ---- 2397948b ./INSTALL/old.html 2229468985b ./INSTALL/README 656627656b ./install-sh ! 778202268b ./INSTALL/specific.html 1404181894b ./INSTALL/test.html 2266217259b ./libf2c/aclocal.m4 ! 2585465394b ./libf2c/ChangeLog 1973941211b ./libf2c/changes.netlib ! 2076327479b ./libf2c/configure 2026513347b ./libf2c/configure.in 2487502900b ./libf2c/disclaimer.netlib 4252437873b ./libf2c/f2cext.c *************** *** 12129,12139 **** 1812706554b ./libffi/acconfig.h 2067133813b ./libffi/acinclude.m4 724319761b ./libffi/aclocal.m4 ! 2856466476b ./libffi/ChangeLog 2702617959b ./libffi/ChangeLog.libgcj 1481682558b ./libffi/ChangeLog.v1 ! 1474348907b ./libffi/configure ! 530068231b ./libffi/configure.in 3275597189b ./libffi/fficonfig.h.in 3309556484b ./libffi/include/ffi_common.h 1733019211b ./libffi/include/ffi.h.in --- 12185,12195 ---- 1812706554b ./libffi/acconfig.h 2067133813b ./libffi/acinclude.m4 724319761b ./libffi/aclocal.m4 ! 1636369445b ./libffi/ChangeLog 2702617959b ./libffi/ChangeLog.libgcj 1481682558b ./libffi/ChangeLog.v1 ! 1642766366b ./libffi/configure ! 3275746772b ./libffi/configure.in 3275597189b ./libffi/fficonfig.h.in 3309556484b ./libffi/include/ffi_common.h 1733019211b ./libffi/include/ffi.h.in *************** *** 12196,12202 **** 1033916047b ./libiberty/bsearch.c 2389959529b ./libiberty/bzero.c 1591293922b ./libiberty/calloc.c ! 2200937096b ./libiberty/ChangeLog 2264262326b ./libiberty/choose-temp.c 2557767520b ./libiberty/clock.c 3170582338b ./libiberty/concat.c --- 12252,12258 ---- 1033916047b ./libiberty/bsearch.c 2389959529b ./libiberty/bzero.c 1591293922b ./libiberty/calloc.c ! 233187465b ./libiberty/ChangeLog 2264262326b ./libiberty/choose-temp.c 2557767520b ./libiberty/clock.c 3170582338b ./libiberty/concat.c *************** *** 12306,12315 **** 3744134120b ./libjava/aclocal.m4 3784840223b ./libjava/addr2name.awk 1162779077b ./libjava/boehm.cc ! 576718938b ./libjava/ChangeLog 3473562392b ./libjava/ChangeLog-1999 2385951174b ./libjava/ChangeLog-2001 ! 2705793388b ./libjava/configure 1341552609b ./libjava/configure.host 3029277452b ./libjava/configure.in 2171125041b ./libjava/COPYING --- 12362,12371 ---- 3744134120b ./libjava/aclocal.m4 3784840223b ./libjava/addr2name.awk 1162779077b ./libjava/boehm.cc ! 3199467562b ./libjava/ChangeLog 3473562392b ./libjava/ChangeLog-1999 2385951174b ./libjava/ChangeLog-2001 ! 4057856725b ./libjava/configure 1341552609b ./libjava/configure.host 3029277452b ./libjava/configure.in 2171125041b ./libjava/COPYING *************** *** 12731,12737 **** 1821380608b ./libjava/include/.cvsignore 1108817619b ./libjava/include/default-signal.h 833024369b ./libjava/include/dwarf2-signal.h ! 1300618817b ./libjava/include/i386-signal.h 590982531b ./libjava/include/java-assert.h 890969256b ./libjava/include/java-chardecomp.h 3721703006b ./libjava/include/java-chartables.h --- 12787,12793 ---- 1821380608b ./libjava/include/.cvsignore 1108817619b ./libjava/include/default-signal.h 833024369b ./libjava/include/dwarf2-signal.h ! 1608416031b ./libjava/include/i386-signal.h 590982531b ./libjava/include/java-assert.h 890969256b ./libjava/include/java-chardecomp.h 3721703006b ./libjava/include/java-chartables.h *************** *** 13130,13138 **** 2046387247b ./libjava/java/io/LineNumberInputStream.java 1977393201b ./libjava/java/io/LineNumberReader.java 873510583b ./libjava/java/io/natFileDescriptorEcos.cc ! 3852237539b ./libjava/java/io/natFileDescriptorPosix.cc 1364932101b ./libjava/java/io/natFileDescriptorWin32.cc ! 2467702739b ./libjava/java/io/natFilePosix.cc 3758140118b ./libjava/java/io/natFileWin32.cc 459733413b ./libjava/java/io/natObjectInputStream.cc 439868232b ./libjava/java/io/natVMObjectStreamClass.cc --- 13186,13194 ---- 2046387247b ./libjava/java/io/LineNumberInputStream.java 1977393201b ./libjava/java/io/LineNumberReader.java 873510583b ./libjava/java/io/natFileDescriptorEcos.cc ! 474317936b ./libjava/java/io/natFileDescriptorPosix.cc 1364932101b ./libjava/java/io/natFileDescriptorWin32.cc ! 3966839745b ./libjava/java/io/natFilePosix.cc 3758140118b ./libjava/java/io/natFileWin32.cc 459733413b ./libjava/java/io/natObjectInputStream.cc 439868232b ./libjava/java/io/natVMObjectStreamClass.cc *************** *** 14226,14232 **** 464053222b ./libjava/libltdl/acconfig.h 1486261890b ./libjava/libltdl/acinclude.m4 2748542911b ./libjava/libltdl/aclocal.m4 ! 1252505715b ./libjava/libltdl/ChangeLog 3229611250b ./libjava/libltdl/config.h.in 3663840013b ./libjava/libltdl/configure 586017012b ./libjava/libltdl/configure.in --- 14282,14288 ---- 464053222b ./libjava/libltdl/acconfig.h 1486261890b ./libjava/libltdl/acinclude.m4 2748542911b ./libjava/libltdl/aclocal.m4 ! 1352649985b ./libjava/libltdl/ChangeLog 3229611250b ./libjava/libltdl/config.h.in 3663840013b ./libjava/libltdl/configure 586017012b ./libjava/libltdl/configure.in *************** *** 14305,14311 **** 718503864b ./libjava/org/xml/sax/XMLReader.java 2522783030b ./libjava/posix.cc 1371529945b ./libjava/posix-threads.cc ! 110444835b ./libjava/prims.cc 3199155412b ./libjava/README 3770005913b ./libjava/resolve.cc 2710913388b ./libjava/scripts/classes.pl --- 14361,14367 ---- 718503864b ./libjava/org/xml/sax/XMLReader.java 2522783030b ./libjava/posix.cc 1371529945b ./libjava/posix-threads.cc ! 229817601b ./libjava/prims.cc 3199155412b ./libjava/README 3770005913b ./libjava/resolve.cc 2710913388b ./libjava/scripts/classes.pl *************** *** 14329,14335 **** 2334349943b ./libjava/sysdep/sh/locks.h 2903495760b ./libjava/sysdep/sparc/locks.h 1725741696b ./libjava/sysdep/x86-64/locks.h ! 3405146074b ./libjava/testsuite/ChangeLog 1230501773b ./libjava/testsuite/config/default.exp 3718926011b ./libjava/testsuite/libjava.compile/abstr.java 2888415448b ./libjava/testsuite/libjava.compile/abstr.xfail --- 14385,14391 ---- 2334349943b ./libjava/sysdep/sh/locks.h 2903495760b ./libjava/sysdep/sparc/locks.h 1725741696b ./libjava/sysdep/x86-64/locks.h ! 2105390128b ./libjava/testsuite/ChangeLog 1230501773b ./libjava/testsuite/config/default.exp 3718926011b ./libjava/testsuite/libjava.compile/abstr.java 2888415448b ./libjava/testsuite/libjava.compile/abstr.xfail *************** *** 14824,14833 **** 295719627b ./libjava/win32-threads.cc 3981227345b ./libobjc/aclocal.m4 2023635858b ./libobjc/archive.c ! 3854879097b ./libobjc/ChangeLog 1187612736b ./libobjc/class.c 1748737547b ./libobjc/config.h.in ! 3718287267b ./libobjc/configure 944229002b ./libobjc/configure.in 2269926719b ./libobjc/encoding.c 1957395429b ./libobjc/gc.c --- 14880,14889 ---- 295719627b ./libjava/win32-threads.cc 3981227345b ./libobjc/aclocal.m4 2023635858b ./libobjc/archive.c ! 4251769240b ./libobjc/ChangeLog 1187612736b ./libobjc/class.c 1748737547b ./libobjc/config.h.in ! 216167108b ./libobjc/configure 944229002b ./libobjc/configure.in 2269926719b ./libobjc/encoding.c 1957395429b ./libobjc/gc.c *************** *** 14878,14886 **** 2005277748b ./libobjc/thr-vxworks.c 2963027857b ./libobjc/thr-win32.c 1476631381b ./libstdc++-v3/acconfig.h ! 2367959340b ./libstdc++-v3/acinclude.m4 ! 625369417b ./libstdc++-v3/aclocal.m4 ! 512211710b ./libstdc++-v3/ChangeLog 1996982572b ./libstdc++-v3/ChangeLog-2000 3665233589b ./libstdc++-v3/ChangeLog-2001 3829016086b ./libstdc++-v3/config/abi/alpha-freebsd5/baseline_symbols.txt --- 14934,14942 ---- 2005277748b ./libobjc/thr-vxworks.c 2963027857b ./libobjc/thr-win32.c 1476631381b ./libstdc++-v3/acconfig.h ! 2565448560b ./libstdc++-v3/acinclude.m4 ! 3043939341b ./libstdc++-v3/aclocal.m4 ! 3102548050b ./libstdc++-v3/ChangeLog 1996982572b ./libstdc++-v3/ChangeLog-2000 3665233589b ./libstdc++-v3/ChangeLog-2001 3829016086b ./libstdc++-v3/config/abi/alpha-freebsd5/baseline_symbols.txt *************** *** 14902,14908 **** 4160964918b ./libstdc++-v3/config/cpu/i386/atomicity.h 1602541359b ./libstdc++-v3/config/cpu/i486/atomicity.h 193432505b ./libstdc++-v3/config/cpu/ia64/atomicity.h ! 1265572143b ./libstdc++-v3/config/cpu/m68k/atomicity.h 4070465676b ./libstdc++-v3/config/cpu/mips/atomicity.h 915792421b ./libstdc++-v3/config/cpu/powerpc/atomicity.h 3930061484b ./libstdc++-v3/config/cpu/s390/atomicity.h --- 14958,14964 ---- 4160964918b ./libstdc++-v3/config/cpu/i386/atomicity.h 1602541359b ./libstdc++-v3/config/cpu/i486/atomicity.h 193432505b ./libstdc++-v3/config/cpu/ia64/atomicity.h ! 2353535463b ./libstdc++-v3/config/cpu/m68k/atomicity.h 4070465676b ./libstdc++-v3/config/cpu/mips/atomicity.h 915792421b ./libstdc++-v3/config/cpu/powerpc/atomicity.h 3930061484b ./libstdc++-v3/config/cpu/s390/atomicity.h *************** *** 14923,14929 **** 1369267090b ./libstdc++-v3/config/locale/generic/codecvt_members.cc 2005861251b ./libstdc++-v3/config/locale/generic/codecvt_specializations.h 4228611347b ./libstdc++-v3/config/locale/generic/collate_members.cc ! 1221593163b ./libstdc++-v3/config/locale/generic/ctype_members.cc 474184383b ./libstdc++-v3/config/locale/generic/messages_members.cc 177225482b ./libstdc++-v3/config/locale/generic/messages_members.h 45184175b ./libstdc++-v3/config/locale/generic/monetary_members.cc --- 14979,14985 ---- 1369267090b ./libstdc++-v3/config/locale/generic/codecvt_members.cc 2005861251b ./libstdc++-v3/config/locale/generic/codecvt_specializations.h 4228611347b ./libstdc++-v3/config/locale/generic/collate_members.cc ! 1931177604b ./libstdc++-v3/config/locale/generic/ctype_members.cc 474184383b ./libstdc++-v3/config/locale/generic/messages_members.cc 177225482b ./libstdc++-v3/config/locale/generic/messages_members.h 45184175b ./libstdc++-v3/config/locale/generic/monetary_members.cc *************** *** 14935,14941 **** 490906006b ./libstdc++-v3/config/locale/gnu/c++locale_internal.h 2712762793b ./libstdc++-v3/config/locale/gnu/codecvt_members.cc 1792931968b ./libstdc++-v3/config/locale/gnu/collate_members.cc ! 2503295949b ./libstdc++-v3/config/locale/gnu/ctype_members.cc 440357314b ./libstdc++-v3/config/locale/gnu/messages_members.cc 2781776822b ./libstdc++-v3/config/locale/gnu/messages_members.h 875064597b ./libstdc++-v3/config/locale/gnu/monetary_members.cc --- 14991,14997 ---- 490906006b ./libstdc++-v3/config/locale/gnu/c++locale_internal.h 2712762793b ./libstdc++-v3/config/locale/gnu/codecvt_members.cc 1792931968b ./libstdc++-v3/config/locale/gnu/collate_members.cc ! 429457042b ./libstdc++-v3/config/locale/gnu/ctype_members.cc 440357314b ./libstdc++-v3/config/locale/gnu/messages_members.cc 2781776822b ./libstdc++-v3/config/locale/gnu/messages_members.h 875064597b ./libstdc++-v3/config/locale/gnu/monetary_members.cc *************** *** 14965,14971 **** 2200168434b ./libstdc++-v3/config/os/djgpp/ctype_noninline.h 1128798661b ./libstdc++-v3/config/os/djgpp/os_defines.h 1770894154b ./libstdc++-v3/config/os/generic/ctype_base.h ! 2893983699b ./libstdc++-v3/config/os/generic/ctype_inline.h 2814302307b ./libstdc++-v3/config/os/generic/ctype_noninline.h 2662031339b ./libstdc++-v3/config/os/generic/os_defines.h 585502053b ./libstdc++-v3/config/os/gnu-linux/ctype_base.h --- 15021,15027 ---- 2200168434b ./libstdc++-v3/config/os/djgpp/ctype_noninline.h 1128798661b ./libstdc++-v3/config/os/djgpp/os_defines.h 1770894154b ./libstdc++-v3/config/os/generic/ctype_base.h ! 1348586866b ./libstdc++-v3/config/os/generic/ctype_inline.h 2814302307b ./libstdc++-v3/config/os/generic/ctype_noninline.h 2662031339b ./libstdc++-v3/config/os/generic/os_defines.h 585502053b ./libstdc++-v3/config/os/gnu-linux/ctype_base.h *************** *** 14975,14981 **** 2727448261b ./libstdc++-v3/config/os/hpux/ctype_base.h 577770049b ./libstdc++-v3/config/os/hpux/ctype_inline.h 3255050061b ./libstdc++-v3/config/os/hpux/ctype_noninline.h ! 621273857b ./libstdc++-v3/config/os/hpux/os_defines.h 805235121b ./libstdc++-v3/config/os/irix/irix5.2/atomicity.h 734403019b ./libstdc++-v3/config/os/irix/irix5.2/ctype_base.h 2703839638b ./libstdc++-v3/config/os/irix/irix5.2/ctype_inline.h --- 15031,15037 ---- 2727448261b ./libstdc++-v3/config/os/hpux/ctype_base.h 577770049b ./libstdc++-v3/config/os/hpux/ctype_inline.h 3255050061b ./libstdc++-v3/config/os/hpux/ctype_noninline.h ! 1063087697b ./libstdc++-v3/config/os/hpux/os_defines.h 805235121b ./libstdc++-v3/config/os/irix/irix5.2/atomicity.h 734403019b ./libstdc++-v3/config/os/irix/irix5.2/ctype_base.h 2703839638b ./libstdc++-v3/config/os/irix/irix5.2/ctype_inline.h *************** *** 15014,15022 **** 3459761118b ./libstdc++-v3/config/os/windiss/ctype_inline.h 273313682b ./libstdc++-v3/config/os/windiss/ctype_noninline.h 2207004934b ./libstdc++-v3/config/os/windiss/os_defines.h ! 3793167097b ./libstdc++-v3/configure 2677676702b ./libstdc++-v3/configure.in ! 2731797763b ./libstdc++-v3/configure.target 1779001880b ./libstdc++-v3/docs/doxygen/doxygroups.cc 3218460995b ./libstdc++-v3/docs/doxygen/filter 970775578b ./libstdc++-v3/docs/doxygen/filter.sed --- 15070,15078 ---- 3459761118b ./libstdc++-v3/config/os/windiss/ctype_inline.h 273313682b ./libstdc++-v3/config/os/windiss/ctype_noninline.h 2207004934b ./libstdc++-v3/config/os/windiss/os_defines.h ! 3057615828b ./libstdc++-v3/configure 2677676702b ./libstdc++-v3/configure.in ! 2975501078b ./libstdc++-v3/configure.target 1779001880b ./libstdc++-v3/docs/doxygen/doxygroups.cc 3218460995b ./libstdc++-v3/docs/doxygen/filter 970775578b ./libstdc++-v3/docs/doxygen/filter.sed *************** *** 15126,15132 **** 2377036917b ./libstdc++-v3/include/bits/basic_string.h 925690662b ./libstdc++-v3/include/bits/basic_string.tcc 3126573300b ./libstdc++-v3/include/bits/boost_concept_check.h ! 1161953688b ./libstdc++-v3/include/bits/c++config 994369839b ./libstdc++-v3/include/bits/char_traits.h 694818237b ./libstdc++-v3/include/bits/codecvt.h 4105193573b ./libstdc++-v3/include/bits/concept_check.h --- 15182,15188 ---- 2377036917b ./libstdc++-v3/include/bits/basic_string.h 925690662b ./libstdc++-v3/include/bits/basic_string.tcc 3126573300b ./libstdc++-v3/include/bits/boost_concept_check.h ! 2418149102b ./libstdc++-v3/include/bits/c++config 994369839b ./libstdc++-v3/include/bits/char_traits.h 694818237b ./libstdc++-v3/include/bits/codecvt.h 4105193573b ./libstdc++-v3/include/bits/concept_check.h *************** *** 15139,15145 **** 1117238130b ./libstdc++-v3/include/bits/gslice.h 3095889165b ./libstdc++-v3/include/bits/indirect_array.h 1700217390b ./libstdc++-v3/include/bits/ios_base.h ! 2739149156b ./libstdc++-v3/include/bits/istream.tcc 3496463763b ./libstdc++-v3/include/bits/list.tcc 837416971b ./libstdc++-v3/include/bits/locale_classes.h 1832292610b ./libstdc++-v3/include/bits/locale_facets.h --- 15195,15201 ---- 1117238130b ./libstdc++-v3/include/bits/gslice.h 3095889165b ./libstdc++-v3/include/bits/indirect_array.h 1700217390b ./libstdc++-v3/include/bits/ios_base.h ! 4218369762b ./libstdc++-v3/include/bits/istream.tcc 3496463763b ./libstdc++-v3/include/bits/list.tcc 837416971b ./libstdc++-v3/include/bits/locale_classes.h 1832292610b ./libstdc++-v3/include/bits/locale_facets.h *************** *** 15151,15157 **** 3530846268b ./libstdc++-v3/include/bits/slice_array.h 3555571522b ./libstdc++-v3/include/bits/sstream.tcc 3316800061b ./libstdc++-v3/include/bits/stl_algobase.h ! 1569010907b ./libstdc++-v3/include/bits/stl_algo.h 2417140750b ./libstdc++-v3/include/bits/stl_alloc.h 840750803b ./libstdc++-v3/include/bits/stl_bvector.h 3302543196b ./libstdc++-v3/include/bits/stl_construct.h --- 15207,15213 ---- 3530846268b ./libstdc++-v3/include/bits/slice_array.h 3555571522b ./libstdc++-v3/include/bits/sstream.tcc 3316800061b ./libstdc++-v3/include/bits/stl_algobase.h ! 1522343897b ./libstdc++-v3/include/bits/stl_algo.h 2417140750b ./libstdc++-v3/include/bits/stl_alloc.h 840750803b ./libstdc++-v3/include/bits/stl_bvector.h 3302543196b ./libstdc++-v3/include/bits/stl_construct.h *************** *** 15258,15265 **** 2805137138b ./libstdc++-v3/include/ext/stl_hash_fun.h 3897129258b ./libstdc++-v3/include/ext/stl_hashtable.h 984888269b ./libstdc++-v3/include/ext/stl_rope.h ! 261894093b ./libstdc++-v3/include/Makefile.am ! 61602503b ./libstdc++-v3/include/Makefile.in 4064711400b ./libstdc++-v3/include/std/std_algorithm.h 3911856756b ./libstdc++-v3/include/std/std_bitset.h 1807119215b ./libstdc++-v3/include/std/std_complex.h --- 15314,15321 ---- 2805137138b ./libstdc++-v3/include/ext/stl_hash_fun.h 3897129258b ./libstdc++-v3/include/ext/stl_hashtable.h 984888269b ./libstdc++-v3/include/ext/stl_rope.h ! 3252604710b ./libstdc++-v3/include/Makefile.am ! 2117932589b ./libstdc++-v3/include/Makefile.in 4064711400b ./libstdc++-v3/include/std/std_algorithm.h 3911856756b ./libstdc++-v3/include/std/std_bitset.h 1807119215b ./libstdc++-v3/include/std/std_complex.h *************** *** 15289,15295 **** 4158492065b ./libstdc++-v3/include/std/std_utility.h 2660730597b ./libstdc++-v3/include/std/std_valarray.h 3713138538b ./libstdc++-v3/include/std/std_vector.h ! 941518905b ./libstdc++-v3/libio/ChangeLog 2122576197b ./libstdc++-v3/libio/filedoalloc.c 3590060213b ./libstdc++-v3/libio/fileops.c 314955067b ./libstdc++-v3/libio/_G_config.h --- 15345,15351 ---- 4158492065b ./libstdc++-v3/include/std/std_utility.h 2660730597b ./libstdc++-v3/include/std/std_valarray.h 3713138538b ./libstdc++-v3/include/std/std_vector.h ! 702995762b ./libstdc++-v3/libio/ChangeLog 2122576197b ./libstdc++-v3/libio/filedoalloc.c 3590060213b ./libstdc++-v3/libio/fileops.c 314955067b ./libstdc++-v3/libio/_G_config.h *************** *** 15316,15322 **** 3226432156b ./libstdc++-v3/libmath/signbitf.c 706230946b ./libstdc++-v3/libmath/signbitl.c 517957737b ./libstdc++-v3/libmath/stubs.c ! 1326026004b ./libstdc++-v3/libsupc++/cxxabi.h 3887473586b ./libstdc++-v3/libsupc++/del_op.cc 2108254126b ./libstdc++-v3/libsupc++/del_opnt.cc 998297127b ./libstdc++-v3/libsupc++/del_opv.cc --- 15372,15378 ---- 3226432156b ./libstdc++-v3/libmath/signbitf.c 706230946b ./libstdc++-v3/libmath/signbitl.c 517957737b ./libstdc++-v3/libmath/stubs.c ! 1938961486b ./libstdc++-v3/libsupc++/cxxabi.h 3887473586b ./libstdc++-v3/libsupc++/del_op.cc 2108254126b ./libstdc++-v3/libsupc++/del_opnt.cc 998297127b ./libstdc++-v3/libsupc++/del_opv.cc *************** *** 15684,15700 **** 1685222676b ./libstdc++-v3/testsuite/thread/pthread4.cc 3647024336b ./libstdc++-v3/testsuite/thread/pthread5.cc 1701874201b ./libstdc++-v3/testsuite/thread/pthread6.cc ! 1879354273b ./libtool.m4 3680999751b ./ltcf-c.sh 809573867b ./ltcf-cxx.sh 2744413125b ./ltcf-gcj.sh 910615352b ./ltconfig 1562969795b ./ltmain.sh ! 255464805b ./MAINTAINERS ! 961111943b ./maintainer-scripts/ChangeLog 3655238705b ./maintainer-scripts/crontab 4171969357b ./maintainer-scripts/doc_exclude ! 3816605504b ./maintainer-scripts/gcc_release 3126840705b ./maintainer-scripts/README 449123050b ./maintainer-scripts/snapshot-index.html 865042342b ./maintainer-scripts/snapshot-README --- 15740,15756 ---- 1685222676b ./libstdc++-v3/testsuite/thread/pthread4.cc 3647024336b ./libstdc++-v3/testsuite/thread/pthread5.cc 1701874201b ./libstdc++-v3/testsuite/thread/pthread6.cc ! 3719830716b ./libtool.m4 3680999751b ./ltcf-c.sh 809573867b ./ltcf-cxx.sh 2744413125b ./ltcf-gcj.sh 910615352b ./ltconfig 1562969795b ./ltmain.sh ! 941537411b ./MAINTAINERS ! 1059991613b ./maintainer-scripts/ChangeLog 3655238705b ./maintainer-scripts/crontab 4171969357b ./maintainer-scripts/doc_exclude ! 2394357728b ./maintainer-scripts/gcc_release 3126840705b ./maintainer-scripts/README 449123050b ./maintainer-scripts/snapshot-index.html 865042342b ./maintainer-scripts/snapshot-README *************** *** 15719,15728 **** 2360440520b ./zlib/algorithm.txt 1537725969b ./zlib/amiga/Makefile.pup 3919607569b ./zlib/amiga/Makefile.sas ! 2950221985b ./zlib/ChangeLog ! 1415461458b ./zlib/ChangeLog.gcj 1397025471b ./zlib/compress.c ! 165956115b ./zlib/configure 1753606500b ./zlib/configure.in 215845136b ./zlib/contrib/asm386/gvmat32.asm 4143184108b ./zlib/contrib/asm386/gvmat32c.c --- 15775,15784 ---- 2360440520b ./zlib/algorithm.txt 1537725969b ./zlib/amiga/Makefile.pup 3919607569b ./zlib/amiga/Makefile.sas ! 3041793522b ./zlib/ChangeLog ! 642840868b ./zlib/ChangeLog.gcj 1397025471b ./zlib/compress.c ! 3790213997b ./zlib/configure 1753606500b ./zlib/configure.in 215845136b ./zlib/contrib/asm386/gvmat32.asm 4143184108b ./zlib/contrib/asm386/gvmat32c.c diff -Nrc3pad gcc-3.3.1/BUGS gcc-3.3.2/BUGS *** gcc-3.3.1/BUGS 2003-08-04 12:58:19.000000000 +0000 --- gcc-3.3.2/BUGS 2003-10-16 20:10:56.000000000 +0000 *************** Table of Contents *** 16,29 **** + [8]Detailed bug reporting instructions when using a precompiled header * [9]Frequently Reported Bugs in GCC ! + [10]General ! + [11]Fortran ! + [12]C ! + [13]C++ ! o [14]Common problems updating from G++ 2.95 to G++ 3.0 ! o [15]Non-bugs ! o [16]Missing features ! o [17]Parse errors for "simple" code _________________________________________________________________ Reporting Bugs --- 16,31 ---- + [8]Detailed bug reporting instructions when using a precompiled header * [9]Frequently Reported Bugs in GCC ! + [10]C++ ! o [11]ABI bugs ! o [12]Missing features ! o [13]Parse errors for "simple" code ! + [14]Fortran ! * [15]Non-bugs ! + [16]General ! + [17]C ! + [18]C++ ! o [19]Common problems updating from G++ 2.95 to G++ 3.0 _________________________________________________________________ Reporting Bugs *************** Table of Contents *** 32,38 **** most important prerequisite for this is that the report must be complete and self-contained, which we explain in detail below. ! Before you report a bug, please check the [18]list of well-known bugs and, if possible in any way, try a current development snapshot. If you want to report a bug with versions of GCC before 3.1 we strongly recommend upgrading to the current release first. --- 34,40 ---- most important prerequisite for this is that the report must be complete and self-contained, which we explain in detail below. ! Before you report a bug, please check the [20]list of well-known bugs and, if possible in any way, try a current development snapshot. If you want to report a bug with versions of GCC before 3.1 we strongly recommend upgrading to the current release first. *************** Summarized bug reporting instructions *** 100,116 **** Where to post it ! Please submit your bug report directly to the [19]GCC bug database. Alternatively, you can use the gccbug script that mails your bug report to the bug database. Only if all this is absolutely impossible, ! mail all information to [20]gcc-bugs@gcc.gnu.org, but note that such reports are often overlooked since they are not permanently recorded into the database for later processing. Detailed bug reporting instructions ! Please refer to the [21]next section when reporting bugs in GNAT, the ! Ada compiler, or to the [22]one after that when reporting bugs that appear when using a precompiled header. In general, all the information we need can be obtained by collecting --- 102,118 ---- Where to post it ! Please submit your bug report directly to the [21]GCC bug database. Alternatively, you can use the gccbug script that mails your bug report to the bug database. Only if all this is absolutely impossible, ! mail all information to [22]gcc-bugs@gcc.gnu.org, but note that such reports are often overlooked since they are not permanently recorded into the database for later processing. Detailed bug reporting instructions ! Please refer to the [23]next section when reporting bugs in GNAT, the ! Ada compiler, or to the [24]one after that when reporting bugs that appear when using a precompiled header. In general, all the information we need can be obtained by collecting *************** Detailed bug reporting instructions *** 170,176 **** Detailed bug reporting instructions for GNAT ! See the [23]previous section for bug reporting instructions for GCC language implementations other than Ada. Bug reports have to contain at least the following information in --- 172,178 ---- Detailed bug reporting instructions for GNAT ! See the [25]previous section for bug reporting instructions for GCC language implementations other than Ada. Bug reports have to contain at least the following information in *************** Detailed bug reporting instructions for *** 202,208 **** you have to report a bug in gnatprep). When you have checked that your report meets these criteria, please ! submit it according to our [24]generic instructions. (If you use a mailing list for reporting, please include an "[Ada]" tag in the subject.) --- 204,210 ---- you have to report a bug in gnatprep). When you have checked that your report meets these criteria, please ! submit it according to our [26]generic instructions. (If you use a mailing list for reporting, please include an "[Ada]" tag in the subject.) *************** Detailed bug reporting instructions when *** 212,222 **** first thing to do is to delete the precompiled header, and try running the same GCC command again. If the bug happens again, the bug doesn't really involve precompiled headers, please report it without using ! them by following the instructions [25]above. If you've found a bug while building a precompiled header (for instance, the compiler crashes), follow the usual instructions ! [26]above. If you've found a real precompiled header bug, what we'll need to reproduce it is the sources to build the precompiled header (as a --- 214,224 ---- first thing to do is to delete the precompiled header, and try running the same GCC command again. If the bug happens again, the bug doesn't really involve precompiled headers, please report it without using ! them by following the instructions [27]above. If you've found a bug while building a precompiled header (for instance, the compiler crashes), follow the usual instructions ! [28]above. If you've found a real precompiled header bug, what we'll need to reproduce it is the sources to build the precompiled header (as a *************** Detailed bug reporting instructions when *** 230,483 **** Frequently Reported Bugs in GCC ! Fortran ! ! Fortran bugs are documented in the G77 manual rather than explicitly ! listed here. Please see [27]Known Causes of Trouble with GNU Fortran ! in the G77 manual. ! _________________________________________________________________ ! ! C ! ! The following are not bugs in the C compiler, but are reported often ! enough to warrant a mention here. ! ! Cannot initialize a static variable with stdin. ! This has nothing to do with GCC, but people ask us about it a ! lot. Code like this: ! ! #include ! ! FILE *yyin = stdin; ! ! will not compile with GNU libc (GNU/Linux libc6), because stdin ! is not a constant. This was done deliberately, to make it ! easier to maintain binary compatibility when the type FILE ! needs to be changed. It is surprising for people used to ! traditional Unix C libraries, but it is permitted by the C ! standard. ! ! This construct commonly occurs in code generated by old ! versions of lex or yacc. We suggest you try regenerating the ! parser with a current version of flex or bison, respectively. ! In your own code, the appropriate fix is to move the ! initialization to the beginning of main. ! ! There is a common misconception that the GCC developers are ! responsible for GNU libc. These are in fact two entirely ! separate projects; please check the [28]GNU libc web pages for ! details. ! ! Cannot use preprocessor directive in macro arguments. ! Let me guess... you wrote code that looks something like this: ! ! memcpy(dest, src, ! #ifdef PLATFORM1 ! 12 ! #else ! 24 ! #endif ! ); ! ! and you got a whole pile of error messages: ! ! test.c:11: warning: preprocessing directive not recognized within ! macro arg ! test.c:11: warning: preprocessing directive not recognized within ! macro arg ! test.c:11: warning: preprocessing directive not recognized within ! macro arg ! test.c: In function `foo': ! test.c:6: undefined or invalid # directive ! test.c:8: undefined or invalid # directive ! test.c:9: parse error before `24' ! test.c:10: undefined or invalid # directive ! test.c:11: parse error before `#' ! ! Update: As of GCC 3.2 this kind of construct is always accepted ! and CPP will probably do what you expect, but see the manual ! for detailed semantics. ! ! However, versions of GCC prior to 3.2 did not allow you to put ! #ifdef (or any other directive) inside the arguments of a ! macro. Your C library's happens to define memcpy as ! a macro - this is perfectly legitimate. The code therefore ! would not compile. ! ! This kind of code is not portable. It is "undefined behavior" ! according to the C standard; that means different compilers ! will do different things with it. It is always possible to ! rewrite code which uses conditionals inside macros so that it ! doesn't. You could write the above example ! ! #ifdef PLATFORM1 ! memcpy(dest, src, 12); ! #else ! memcpy(dest, src, 24); ! #endif ! ! This is a bit more typing, but I personally think it's better ! style in addition to being more portable. ! In recent versions of glibc, printf is among the functions ! which are implemented as macros. _________________________________________________________________ C++ - This is the list of bugs (and non-bugs) in g++ (aka GNU C++) that are - reported very often, but not yet fixed. While it is certainly better - to fix bugs instead of documenting them, this document might save - people the effort of writing a bug report when the bug is already - well-known. [29]How to report bugs tells you how to report a bug. - - There are many reasons why reported bugs don't get fixed. It might be - difficult to fix, or fixing it might break compatibility. Often, - reports get a low priority when there is a simple work-around. In - particular, bugs caused by invalid C++ code have a simple work-around, - fix the code. Now that there is an agreed ISO/ANSI standard for C++, - the compiler has a definitive document to adhere to. Earlier versions - might have accepted source code that is no longer C++. This means that - code which might have `worked' in a previous version, is now rejected. - You should update your code to be C++. - - You should try to use the latest stable release of the GNU C++ - compiler. - - Common problems updating from G++ 2.95 to G++ 3.0 - - G++ 3.0 conforms much closer to the ISO C++ standard (available at - [30]http://www.ncits.org/cplusplus.htm). - - We have also implemented some of the core and library defect reports - (available at - [31]http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_defects.html & - [32]http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-defects.html - respectively). - * The ABI has changed. This means that both class layout and name - mangling is different. You must recompile all c++ libraries (if - you don't you will get link errors). - * The standard library is much more conformant, and uses the std:: - namespace. - * std:: is now a real namespace, not an alias for ::. - * The standard header files for the c library don't end with .h, but - begin with c (i.e. rather than ). The .h names - are still available, but are deprecated. - * is deprecated, use instead. - * streambuf::seekoff & streambuf::seekpos are private, instead use - streambuf::pubseekoff & streambuf::pubseekpos respectively. - * If std::operator << (std::ostream &, long long) doesn't exist, you - need to recompile libstdc++ with --enable-long-long. - - This means you may get lots of errors about things like strcmp not - being found. You've most likely forgotten to tell the compiler to look - in the std:: namespace. There are several ways to do this, - * Say, std::strcmp at the call. This is the most explicit way of - saying what you mean. - * Say, using std::strcmp; somewhere before the call. You will need - to do this for each function or type you wish to use from the - standard library. - * Say, using namespace std; somewhere before the call. This is the - quick-but-dirty fix. This brings the whole of the std:: namespace - into scope. Never do this in a header file, as you will be forcing - users of your header file to do the same. - ABI bugs ! 3.0 had a new ABI, which affected class layout, function mangling and ! calling conventions. We had intended it to be complete, unfortunately ! some issues came to light, too late to fix in the 3.0 series. The ABI ! should not change in dot releases, so we addressed most issues in GCC ! 3.1. Covariant return types Up to (and including) GCC 3.3 we did not implement non-trivial covariant returns. This has been addressed for GCC 3.4. - Non-bugs - - This section lists several features that have been reported as bugs, - but are not; in addition, the manual contains a section on [33]Common - Misunderstandings with GNU C++. - - Nested classes can access private types of the containing class. - G++ now implements type access control on member types. Defect - report 45 clarifies that nested classes are members of the - class they are nested in, and so are granted access to private - members of that class. - - Classes in exception specifiers must be complete types. - [15.4]/1 tells you that you cannot have an incomplete type, or - pointer to incomplete (other than cv void *) in an exception - specification. - - G++ emits two copies of constructors and destructors. - In general there are three types of constructors (and - destructors). - - 1. The complete object constructor/destructor. - 2. The base object constructor/destructor. - 3. The allocating destructor/deallocating destructor. - - The first two are different, when virtual base classes are - involved. - - Exceptions don't work in multithreaded applications. - You need to rebuild g++ and libstdc++ with --enable-threads. - Remember, c++ exceptions are not like hardware interrupts. You - cannot throw an exception in one thread and catch it in - another. You cannot throw an exception from a signal handler, - and catch it in the main thread. - - Global destructors are not run in the correct order. - Global destructors should be run in the reverse order of their - constructors completing. In most cases this is the same as the - reverse order of constructors starting, but sometimes it is - different, and that is important. You need to compile and link - your programs with --use-cxa-atexit. We have not turned this - switch on by default, as it requires a cxa aware runtime - library (libc, glibc, or equivalent). - - Problems with floating point computations. - In a number of cases, GCC appears to perform floating point - computations incorrectly. For example, the program - - #include - int main() { - double min = 0.0; - double max = 0.5; - double width = 0.01; - std::cout << (int)(((max - min) / width) - 1) << std::endl; - } - - might print 49 on some systems and optimization levels, and 48 - on others. - - The is the result of rounding: The computer cannot represent - all real numbers exactly, so it has to use approximations. When - computing with approximation, the computer needs to round to - the nearest representable number. - - This is not a bug in the compiler, but an inherent limitation - of the float and double types. Please study [34]this paper for - more information. - - Templates, scoping, and digraphs. - If you have a class in global namespace, say named X, and want - to give it as a template argument to some other class, say - std::vector, then this here fails with a parser error: - std::vector<::X>. - - The reason is that the standard mandates that the sequence <: - is treated as if it were the token [, and the parser then - reports a parse error before the character : (by which it means - the second colon). There are several such combinations of - characters, and they are called digraphs. - - The simplest way to avoid this is to write std::vector< ::X>, - i.e. place a space between the opening angle bracket and the - scope operator. - Missing features We know some things are missing from G++. --- 232,263 ---- Frequently Reported Bugs in GCC ! This is a list of bugs in GCC that are reported very often, but not ! yet fixed. While it is certainly better to fix bugs instead of ! documenting them, this document might save people the effort of ! writing a bug report when the bug is already well-known. ! There are many reasons why a reported bug doesn't get fixed. It might ! be difficult to fix, or fixing it might break compatibility. Often, ! reports get a low priority when there is a simple work-around. In ! particular, bugs caused by invalid code have a simple work-around: fix ! the code. _________________________________________________________________ C++ ABI bugs ! GCC 3.0 had a new ABI, which affected class layout, function mangling ! and calling conventions. We had intended it to be complete, but ! unfortunately some issues came to light, too late to fix in the 3.0 ! series. The ABI should not change in dot releases, so we addressed ! most issues in GCC 3.1. Covariant return types Up to (and including) GCC 3.3 we did not implement non-trivial covariant returns. This has been addressed for GCC 3.4. Missing features We know some things are missing from G++. *************** A B::f1(bool b) *** 556,561 **** --- 336,647 ---- also somewhat varies with the compiler version. The work-arounds proposed do not change the semantics of the program at all; they make them perhaps less readable. + _________________________________________________________________ + + Fortran + + Fortran bugs are documented in the G77 manual rather than explicitly + listed here. Please see [29]Known Causes of Trouble with GNU Fortran + in the G77 manual. + _________________________________________________________________ + + Non-bugs + + The following are not actually bugs, but are reported often enough to + warrant a mention here. + + It is not always a bug in the compiler, if code which "worked" in a + previous version, is now rejected. Earlier versions of GCC sometimes + were less picky about standard conformance and accepted invalid source + code. In addition, programming languages themselves change, rendering + code invalid that used to be conforming (this holds especially for + C++). In either case, you should update your code to match recent + language standards. + _________________________________________________________________ + + General + + Problems with floating point numbers - the [30]most often reported + non-bug. + In a number of cases, GCC appears to perform floating point + computations incorrectly. For example, the C++ program + + #include + + int main() + { + double a = 0.5; + double b = 0.01; + std::cout << (int)(a / b) << std::endl; + return 0; + } + + might print 50 on some systems and optimization levels, and 49 + on others. + + The is the result of rounding: The computer cannot represent + all real numbers exactly, so it has to use approximations. When + computing with approximation, the computer needs to round to + the nearest representable number. + + This is not a bug in the compiler, but an inherent limitation + of the floating point types. Please study [31]this paper for + more information. + _________________________________________________________________ + + C + + Casting does not work as expected when optimization is turned on. + This is often caused by a violation of aliasing rules, which + are part of the ISO C standard. These rules say that a program + is invalid if you try to access a variable through a pointer of + an incompatible type. This is happening in the following + example where a short is accessed through a pointer to integer + (the code assumes 16-bit shorts and 32-bit ints): + + #include + + int main() + { + short a[2]; + + a[0]=0x1111; + a[1]=0x1111; + + *(int *)a = 0x22222222; /* violation of aliasing rules */ + + printf("%x %x\n", a[0], a[1]); + return 0; + } + + The aliasing rules were designed to allow compilers more + aggressive optimization. Basically, a compiler can assume that + all changes to variables happen through pointers or references + to variables of a type compatible to the accessed variable. + Dereferencing a pointer that violates the aliasing rules + results in undefined behavior. + + In the case above, the compiler may assume that no access + through an integer pointer can change the array a, consisting + of shorts. Thus, printf may be called with the original values + of a[0] and a[1]. What really happens is up to the compiler and + may change with architecture and optimization level. + + Recent versions of GCC turn on the option -fstrict-aliasing + (which allows alias-based optimizations) by default with -O2. + And some architectures then really print "1111 1111" as result. + Without optimization the executable will generate the + "expected" output "2222 2222". + + To disable optimizations based on alias-analysis for faulty + legacy code, the option -fno-strict-aliasing can be used as a + work-around. + + The option -Wstrict-aliasing (which is included in -Wall) warns + about some - but not all - cases of violation of aliasing rules + when -fstrict-aliasing is active. + + To fix the code above, you can use a union instead of a cast + (note that this is a GCC extension which might not work with + other compilers): + + #include + + int main() + { + union + { + short a[2]; + int i; + } u; + + u.a[0]=0x1111; + u.a[1]=0x1111; + + u.i = 0x22222222; + + printf("%x %x\n", u.a[0], u.a[1]); + return 0; + } + + Now the result will always be "2222 2222". + + For some more insight into the subject, please have a look at + [32]this article. + + Cannot use preprocessor directive in macro arguments. + Let me guess... you used an older version of GCC to compile + code that looks something like this: + + memcpy(dest, src, + #ifdef PLATFORM1 + 12 + #else + 24 + #endif + ); + + and you got a whole pile of error messages: + + test.c:11: warning: preprocessing directive not recognized within macro arg + test.c:11: warning: preprocessing directive not recognized within macro arg + test.c:11: warning: preprocessing directive not recognized within macro arg + test.c: In function `foo': + test.c:6: undefined or invalid # directive + test.c:8: undefined or invalid # directive + test.c:9: parse error before `24' + test.c:10: undefined or invalid # directive + + This is because your C library's happens to define + memcpy as a macro - which is perfectly legitimate. In recent + versions of glibc, for example, printf is among those functions + which are implemented as macros. + + Versions of GCC prior to 3.3 did not allow you to put #ifdef + (or any other preprocessor directive) inside the arguments of a + macro. The code therefore would not compile. + + As of GCC 3.3 this kind of construct is always accepted and the + preprocessor will probably do what you expect, but see the + manual for detailed semantics. + + However, this kind of code is not portable. It is "undefined + behavior" according to the C standard; that means different + compilers may do different things with it. It is always + possible to rewrite code which uses conditionals inside macros + so that it doesn't. You could write the above example + + #ifdef PLATFORM1 + memcpy(dest, src, 12); + #else + memcpy(dest, src, 24); + #endif + + This is a bit more typing, but I personally think it's better + style in addition to being more portable. + + Cannot initialize a static variable with stdin. + This has nothing to do with GCC, but people ask us about it a + lot. Code like this: + + #include + + FILE *yyin = stdin; + + will not compile with GNU libc, because stdin is not a + constant. This was done deliberately, to make it easier to + maintain binary compatibility when the type FILE needs to be + changed. It is surprising for people used to traditional Unix C + libraries, but it is permitted by the C standard. + + This construct commonly occurs in code generated by old + versions of lex or yacc. We suggest you try regenerating the + parser with a current version of flex or bison, respectively. + In your own code, the appropriate fix is to move the + initialization to the beginning of main. + + There is a common misconception that the GCC developers are + responsible for GNU libc. These are in fact two entirely + separate projects; please check the [33]GNU libc web pages for + details. + _________________________________________________________________ + + C++ + + Nested classes can access private members and types of the containing + class. + Defect report 45 clarifies that nested classes are members of + the class they are nested in, and so are granted access to + private members of that class. + + G++ emits two copies of constructors and destructors. + In general there are three types of constructors (and + destructors). + + 1. The complete object constructor/destructor. + 2. The base object constructor/destructor. + 3. The allocating constructor/deallocating destructor. + + The first two are different, when virtual base classes are + involved. + + Global destructors are not run in the correct order. + Global destructors should be run in the reverse order of their + constructors completing. In most cases this is the same as the + reverse order of constructors starting, but sometimes it is + different, and that is important. You need to compile and link + your programs with --use-cxa-atexit. We have not turned this + switch on by default, as it requires a cxa aware runtime + library (libc, glibc, or equivalent). + + Classes in exception specifiers must be complete types. + [15.4]/1 tells you that you cannot have an incomplete type, or + pointer to incomplete (other than cv void *) in an exception + specification. + + Exceptions don't work in multithreaded applications. + You need to rebuild g++ and libstdc++ with --enable-threads. + Remember, C++ exceptions are not like hardware interrupts. You + cannot throw an exception in one thread and catch it in + another. You cannot throw an exception from a signal handler + and catch it in the main thread. + + Templates, scoping, and digraphs. + If you have a class in the global namespace, say named X, and + want to give it as a template argument to some other class, say + std::vector, then std::vector<::X> fails with a parser error. + + The reason is that the standard mandates that the sequence <: + is treated as if it were the token [. (There are several such + combinations of characters - they are called digraphs.) + Depending on the version, the compiler then reports a parse + error before the character : (the colon before X) or a missing + closing bracket ]. + + The simplest way to avoid this is to write std::vector< ::X>, + i.e. place a space between the opening angle bracket and the + scope operator. + + Common problems updating from G++ 2.95 to G++ 3.0 + + G++ 3.0 conforms much closer to the ISO C++ standard (available at + [34]http://www.ncits.org/cplusplus.htm). + + We have also implemented some of the core and library defect reports + (available at + [35]http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_defects.html & + [36]http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-defects.html + respectively). + * The ABI has changed. This means that both class layout and name + mangling is different. You must recompile all c++ libraries (if + you don't you will get link errors). + * The standard library is much more conformant, and uses the std:: + namespace. + * std:: is now a real namespace, not an alias for ::. + * The standard header files for the c library don't end with .h, but + begin with c (i.e. rather than ). The .h names + are still available, but are deprecated. + * is deprecated, use instead. + * streambuf::seekoff & streambuf::seekpos are private, instead use + streambuf::pubseekoff & streambuf::pubseekpos respectively. + * If std::operator << (std::ostream &, long long) doesn't exist, you + need to recompile libstdc++ with --enable-long-long. + + This means you may get lots of errors about things like strcmp not + being found. You've most likely forgotten to tell the compiler to look + in the std:: namespace. There are several ways to do this, + * Say, std::strcmp at the call. This is the most explicit way of + saying what you mean. + * Say, using std::strcmp; somewhere before the call. You will need + to do this for each function or type you wish to use from the + standard library. + * Say, using namespace std; somewhere before the call. This is the + quick-but-dirty fix. This brings the whole of the std:: namespace + into scope. Never do this in a header file, as you will be forcing + users of your header file to do the same. + + In addition to the problems listed above, the manual contains a + section on [37]Common Misunderstandings with GNU C++. References *************** References *** 568,595 **** 7. http://gcc.gnu.org/bugs.html#gnat 8. http://gcc.gnu.org/bugs.html#pch 9. http://gcc.gnu.org/bugs.html#known ! 10. http://gcc.gnu.org/bugs.html#general ! 11. http://gcc.gnu.org/bugs.html#fortran ! 12. http://gcc.gnu.org/bugs.html#c ! 13. http://gcc.gnu.org/bugs.html#cplusplus ! 14. http://gcc.gnu.org/bugs.html#updating 15. http://gcc.gnu.org/bugs.html#nonbugs ! 16. http://gcc.gnu.org/bugs.html#missing ! 17. http://gcc.gnu.org/bugs.html#parsing ! 18. http://gcc.gnu.org/bugs.html#known ! 19. http://gcc.gnu.org/bugzilla/ ! 20. mailto:gcc-bugs@gcc.gnu.org ! 21. http://gcc.gnu.org/bugs.html#gnat ! 22. http://gcc.gnu.org/bugs.html#pch ! 23. http://gcc.gnu.org/bugs.html#detailed ! 24. http://gcc.gnu.org/bugs.html#where 25. http://gcc.gnu.org/bugs.html#detailed ! 26. http://gcc.gnu.org/bugs.html#detailed ! 27. http://gcc.gnu.org/onlinedocs/g77/Trouble.html ! 28. http://www.gnu.org/software/glibc/ ! 29. http://gcc.gnu.org/bugs.html#report ! 30. http://www.ncits.org/cplusplus.htm ! 31. http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_defects.html ! 32. http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-defects.html ! 33. http://gcc.gnu.org/onlinedocs/gcc/C---Misunderstandings.html ! 34. http://www.validlab.com/goldberg/paper.ps --- 654,684 ---- 7. http://gcc.gnu.org/bugs.html#gnat 8. http://gcc.gnu.org/bugs.html#pch 9. http://gcc.gnu.org/bugs.html#known ! 10. http://gcc.gnu.org/bugs.html#cxx ! 11. http://gcc.gnu.org/bugs.html#cxx-abi ! 12. http://gcc.gnu.org/bugs.html#missing ! 13. http://gcc.gnu.org/bugs.html#parsing ! 14. http://gcc.gnu.org/bugs.html#fortran 15. http://gcc.gnu.org/bugs.html#nonbugs ! 16. http://gcc.gnu.org/bugs.html#nonbugs_general ! 17. http://gcc.gnu.org/bugs.html#nonbugs_c ! 18. http://gcc.gnu.org/bugs.html#nonbugs_cxx ! 19. http://gcc.gnu.org/bugs.html#updating ! 20. http://gcc.gnu.org/bugs.html#known ! 21. http://gcc.gnu.org/bugzilla/ ! 22. mailto:gcc-bugs@gcc.gnu.org ! 23. http://gcc.gnu.org/bugs.html#gnat ! 24. http://gcc.gnu.org/bugs.html#pch 25. http://gcc.gnu.org/bugs.html#detailed ! 26. http://gcc.gnu.org/bugs.html#where ! 27. http://gcc.gnu.org/bugs.html#detailed ! 28. http://gcc.gnu.org/bugs.html#detailed ! 29. http://gcc.gnu.org/onlinedocs/g77/Trouble.html ! 30. http://gcc.gnu.org/PR323 ! 31. http://www.validlab.com/goldberg/paper.ps ! 32. http://mail-index.NetBSD.org/tech-kern/2003/08/11/0001.html ! 33. http://www.gnu.org/software/glibc/ ! 34. http://www.ncits.org/cplusplus.htm ! 35. http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_defects.html ! 36. http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-defects.html ! 37. http://gcc.gnu.org/onlinedocs/gcc/C---Misunderstandings.html diff -Nrc3pad gcc-3.3.1/bugs.html gcc-3.3.2/bugs.html *** gcc-3.3.1/bugs.html 2003-08-04 12:58:16.000000000 +0000 --- gcc-3.3.2/bugs.html 2003-10-16 20:10:52.000000000 +0000 *************** *** 15,45 ****

Table of Contents


--- 15,53 ----

Table of Contents


*************** requested in this summary.

*** 69,76 ****

What we need

! Please include in your bug report all of the following items, the first ! three of which can be obtained from the output of gcc -v:
  • the exact version of GCC;
  • --- 77,84 ----

    What we need

    !

    Please include in your bug report all of the following items, the first ! three of which can be obtained from the output of gcc -v:

    • the exact version of GCC;
    • *************** that when reporting bugs that appear *** 155,162 **** collecting the command line below, as well as its output and the preprocessed file it generates.

      !
      gcc -v -save-temps all-your-options ! source-file

      Typically the preprocessed file (extension .i for C or .ii for C++, and .f if the preprocessor is used on --- 163,170 ---- collecting the command line below, as well as its output and the preprocessed file it generates.

      !

      gcc -v -save-temps all-your-options ! source-file

      Typically the preprocessed file (extension .i for C or .ii for C++, and .f if the preprocessor is used on *************** reproduce the problem.

      *** 280,285 **** --- 288,426 ----

      Frequently Reported Bugs in GCC

      +

      This is a list of bugs in GCC that are reported very often, but not + yet fixed. While it is certainly better to fix bugs instead of documenting + them, this document might save people the effort of writing a bug report + when the bug is already well-known.

      + +

      There are many reasons why a reported bug doesn't get fixed. + It might be difficult to fix, or fixing it might break compatibility. + Often, reports get a low priority when there is a simple work-around. + In particular, bugs caused by invalid code have a simple work-around: + fix the code.

      + +
      + +

      C++

      + +

      ABI bugs

      + +

      GCC 3.0 had a new ABI, which affected class layout, function mangling and + calling conventions. We had intended it to be complete, but unfortunately + some issues came to light, too late to fix in the 3.0 series. + The ABI should not change in dot releases, so we addressed most issues + in GCC 3.1.

      + +
      + +
      Covariant return types
      + +
      Up to (and including) GCC 3.3 we did not implement non-trivial + covariant returns. This has been addressed for GCC 3.4.
      + +
      + +

      Missing features

      +

      We know some things are missing from G++.

      + +
      + +
      The export keyword is not implemented.
      +

      Most C++ compilers (G++ included) do not yet implement + export, which is necessary for separate compilation of + template declarations and definitions. Without export, a + template definition must be in scope to be used. The obvious + workaround is simply to place all definitions in the header + itself. Alternatively, the compilation unit containing template + definitions may be included from the header.

      + +
      Two stage lookup in templates is not implemented.
      +

      [14.6] specifies how names are looked up inside a template. G++ + does not do this correctly, but for most templates this will not be + noticeable.

      + +
      + +

      Parse errors for "simple" code

      + +

      Up to and including GCC 3.0, the compiler will give "parse error" for + seemingly simple code, such as

      + +
      + struct A{
      +   A();
      +   A(int);
      +   void func();
      + };
      + 
      + struct B{
      +   B(A);
      +   B(A,A);
      +   void func();
      + };
      + 
      + void foo(){
      +   B b(A(),A(1));     //Variable b, initialized with two temporaries
      +   B(A(2)).func();    //B temporary, initialized with A temporary
      + }
      + 
      + +

      The problem is that GCC starts to parse the declaration of + b as a function b returning B, + taking a function returning A as an argument. When it + sees the 1, it is too late. The work-around in these cases is to add + additional parentheses around the expressions that are mistaken as + declarations:

      + +
      +   (B(A(2))).func();
      + 
      + +

      Sometimes, even that is not enough; to show the compiler that this + should be really an expression, a comma operator with a dummy argument + can be used:

      + +
      +   B b((0,A()),A(1));
      + 
      + +

      Another example is the parse error for the return + statement in

      + +
      + struct A{};
      + 
      + struct B{
      +   A a;
      +   A f1(bool);
      + };
      + 
      + A B::f1(bool b)
      + {
      +   if (b)
      +     return (A());
      +   return a;
      + }
      + 
      + +

      The problem is that the compiler interprets A() as a + function (taking no arguments, returning A), and + (A()) as a cast - with a missing expression, hence the + parse error. The work-around is to omit the parentheses:

      + +
      +   if (b)
      +     return A();
      + 
      + +

      This problem occurs in a number of variants; in throw + statements, people also frequently put the object in parentheses. The + exact error also somewhat varies with the compiler version. The + work-arounds proposed do not change the semantics of the program at + all; they make them perhaps less readable.

      + +
      +

      Fortran

      Fortran bugs are documented in the G77 manual rather than *************** Trouble with GNU Fortran in the G77 *** 289,331 ****


      !

      C

      !

      The following are not bugs in the C compiler, but are reported ! often enough to warrant a mention here.

      !
      Cannot initialize a static variable with stdin.
      !

      This has nothing to do with GCC, but people ask us about it a ! lot. Code like this:

        #include <stdio.h>
        
      ! FILE *yyin = stdin;
        
      !

      will not compile with GNU libc (GNU/Linux libc6), because ! stdin is not a constant. This was done deliberately, to make ! it easier to maintain binary compatibility when the type FILE ! needs to be changed. It is surprising for people used to traditional Unix ! C libraries, but it is permitted by the C standard.

      !

      This construct commonly occurs in code generated by old versions of ! lex or yacc. We suggest you try regenerating the parser with a ! current version of flex or bison, respectively. In your own code, the ! appropriate fix is to move the initialization to the beginning of ! main.

      -

      There is a common misconception that the GCC developers are - responsible for GNU libc. These are in fact two entirely separate - projects; please check the - GNU libc web pages - for details. -

      Cannot use preprocessor directive in macro arguments.
      !

      Let me guess... you wrote code that looks something like this:

          memcpy(dest, src,
        #ifdef PLATFORM1
      --- 430,569 ----
        
        
      !

      Non-bugs

      !

      The following are not actually bugs, but are reported often ! enough to warrant a mention here.

      ! !

      It is not always a bug in the compiler, if code which "worked" in a ! previous version, is now rejected. Earlier versions of GCC sometimes were ! less picky about standard conformance and accepted invalid source code. ! In addition, programming languages themselves change, rendering code ! invalid that used to be conforming (this holds especially for C++). ! In either case, you should update your code to match recent language ! standards.

      ! !
      ! !

      General

      !
      Problems with floating point numbers - the ! most often reported non-bug.
      !

      In a number of cases, GCC appears to perform floating point ! computations incorrectly. For example, the C++ program

      !
      ! #include <iostream>
        
      + int main()
      + {
      +   double a = 0.5;
      +   double b = 0.01;
      +   std::cout << (int)(a / b) << std::endl;
      +   return 0;
      + }
      + 
      +

      might print 50 on some systems and optimization levels, and 49 on + others.

      + +

      The is the result of rounding: The computer cannot + represent all real numbers exactly, so it has to use + approximations. When computing with approximation, the computer needs + to round to the nearest representable number.

      + +

      This is not a bug in the compiler, but an inherent limitation of + the floating point types. Please study + this paper + for more information.

      +
      + +
      + +

      C

      + +
      +
      Casting does not work as expected when optimization is turned on.
      + +

      This is often caused by a violation of aliasing rules, which are part + of the ISO C standard. These rules say that a program is invalid if you try + to access a variable through a pointer of an incompatible type. This is + happening in the following example where a short is accessed through a + pointer to integer (the code assumes 16-bit shorts and 32-bit + ints):

        #include <stdio.h>
        
      ! int main()
      ! {
      !   short a[2];
      ! 
      !   a[0]=0x1111;
      !   a[1]=0x1111;
      ! 
      !   *(int *)a = 0x22222222; /* violation of aliasing rules */
      ! 
      !   printf("%x %x\n", a[0], a[1]);
      !   return 0;
      ! }
        
      +

      The aliasing rules were designed to allow compilers more aggressive + optimization. Basically, a compiler can assume that all changes to variables + happen through pointers or references to variables of a type compatible to + the accessed variable. Dereferencing a pointer that violates the aliasing + rules results in undefined behavior.

      !

      In the case above, the compiler may assume that no access through an ! integer pointer can change the array a, consisting of shorts. ! Thus, printf may be called with the original values of ! a[0] and a[1]. What really happens is up to ! the compiler and may change with architecture and optimization level.

      !

      Recent versions of GCC turn on the option -fstrict-aliasing ! (which allows alias-based optimizations) by default with -O2. ! And some architectures then really print "1111 1111" as result. Without ! optimization the executable will generate the "expected" output ! "2222 2222".

      ! !

      To disable optimizations based on alias-analysis for faulty legacy code, ! the option -fno-strict-aliasing can be used as a work-around.

      ! !

      The option -Wstrict-aliasing (which is included in ! -Wall) warns about some - but not all - cases of violation ! of aliasing rules when -fstrict-aliasing is active.

      ! !

      To fix the code above, you can use a union instead of a ! cast (note that this is a GCC extension which might not work with other ! compilers):

      !
      ! #include <stdio.h>
      ! 
      ! int main()
      ! {
      !   union
      !   {
      !     short a[2];
      !     int i;
      !   } u;
      ! 
      !   u.a[0]=0x1111;
      !   u.a[1]=0x1111;
      ! 
      !   u.i = 0x22222222;
      ! 
      !   printf("%x %x\n", u.a[0], u.a[1]);
      !   return 0;
      ! }
      ! 
      !

      Now the result will always be "2222 2222".

      ! !

      For some more insight into the subject, please have a look at ! this ! article.

      Cannot use preprocessor directive in macro arguments.
      !

      Let me guess... you used an older version of GCC to compile code ! that looks something like this:

          memcpy(dest, src,
        #ifdef PLATFORM1
      *************** for details.
      *** 336,369 ****
        	);
        

      and you got a whole pile of error messages:

      !
      ! test.c:11: warning: preprocessing directive not recognized within ! macro arg
      ! test.c:11: warning: preprocessing directive not recognized within ! macro arg
      ! test.c:11: warning: preprocessing directive not recognized within ! macro arg
      ! test.c: In function `foo':
      ! test.c:6: undefined or invalid # directive
      ! test.c:8: undefined or invalid # directive
      ! test.c:9: parse error before `24'
      ! test.c:10: undefined or invalid # directive
      ! test.c:11: parse error before `#'
      !
      !

      Update: As of GCC 3.2 this kind of construct is ! always accepted and CPP will probably do what you expect, but see the ! manual for detailed semantics.

      !

      However, versions of GCC prior to 3.2 did not allow you to put ! #ifdef (or any other directive) inside the arguments of a ! macro. Your C library's <string.h> happens to ! define memcpy as a macro - this is perfectly legitimate. ! The code therefore would not compile.

      !

      This kind of code is not portable. It is "undefined behavior" ! according to the C standard; that means different compilers will do different things with it. It is always possible to rewrite code which uses conditionals inside macros so that it doesn't. You could write the above example

      --- 574,605 ---- );

      and you got a whole pile of error messages:

      !
      ! test.c:11: warning: preprocessing directive not recognized within macro arg
      ! test.c:11: warning: preprocessing directive not recognized within macro arg
      ! test.c:11: warning: preprocessing directive not recognized within macro arg
      ! test.c: In function `foo':
      ! test.c:6: undefined or invalid # directive
      ! test.c:8: undefined or invalid # directive
      ! test.c:9: parse error before `24'
      ! test.c:10: undefined or invalid # directive
      ! 
      !

      This is because your C library's <string.h> happens ! to define memcpy as a macro - which is perfectly legitimate. ! In recent versions of glibc, for example, printf is among those ! functions which are implemented as macros.

      !

      Versions of GCC prior to 3.3 did not allow you to put #ifdef ! (or any other preprocessor directive) inside the arguments of a macro. The ! code therefore would not compile.

      !

      As of GCC 3.3 this kind of construct is always accepted and the ! preprocessor will probably do what you expect, but see the manual for ! detailed semantics.

      !

      However, this kind of code is not portable. It is "undefined behavior" ! according to the C standard; that means different compilers may do different things with it. It is always possible to rewrite code which uses conditionals inside macros so that it doesn't. You could write the above example

      *************** the above example

      *** 375,409 **** #endif

      This is a bit more typing, but I personally think it's better style ! in addition to being more portable.

      !

      In recent versions of glibc, printf is among the ! functions which are implemented as macros.


      !

      C++

      !

      This is the list of bugs (and non-bugs) in g++ (aka GNU C++) that ! are reported very often, but not yet fixed. While it is certainly ! better to fix bugs instead of documenting them, this document might ! save people the effort of writing a bug report when the bug is already ! well-known. How to report bugs tells you how to ! report a bug.

      !

      There are many reasons why reported bugs don't get fixed. It might ! be difficult to fix, or fixing it might break compatibility. Often, ! reports get a low priority when there is a simple work-around. In ! particular, bugs caused by invalid C++ code have a simple work-around, ! fix the code. Now that there is an agreed ISO/ANSI standard ! for C++, the compiler has a definitive document to adhere to. Earlier ! versions might have accepted source code that is no longer ! C++. This means that code which might have `worked' in a previous ! version, is now rejected. You should update your code to be C++.

      !

      You should try to use the latest stable release of the GNU C++ ! compiler.

      Common problems updating from G++ 2.95 to G++ 3.0

      --- 611,715 ---- #endif

      This is a bit more typing, but I personally think it's better style ! in addition to being more portable.

      ! !
      Cannot initialize a static variable with stdin.
      !

      This has nothing to do with GCC, but people ask us about it a ! lot. Code like this:

      ! !
      ! #include <stdio.h>
      ! 
      ! FILE *yyin = stdin;
      ! 
      ! !

      will not compile with GNU libc, because stdin is not a ! constant. This was done deliberately, to make it easier to maintain ! binary compatibility when the type FILE needs to be changed. ! It is surprising for people used to traditional Unix C libraries, but it ! is permitted by the C standard.

      ! !

      This construct commonly occurs in code generated by old versions of ! lex or yacc. We suggest you try regenerating the parser with a ! current version of flex or bison, respectively. In your own code, the ! appropriate fix is to move the initialization to the beginning of ! main.

      ! !

      There is a common misconception that the GCC developers are ! responsible for GNU libc. These are in fact two entirely separate ! projects; please check the ! GNU libc web pages ! for details. !


      !

      C++

      !
      !
      Nested classes can access private members and types of the containing ! class.
      !

      Defect report 45 clarifies that nested classes are members of the ! class they are nested in, and so are granted access to private members of ! that class.

      !
      G++ emits two copies of constructors and destructors.
      ! !

      In general there are three types of constructors (and ! destructors).

      !
        !
      1. The complete object constructor/destructor.
      2. !
      3. The base object constructor/destructor.
      4. !
      5. The allocating constructor/deallocating destructor.
      6. !
      !

      The first two are different, when virtual base classes are involved. !

      ! !
      Global destructors are not run in the correct order.
      ! !

      Global destructors should be run in the reverse order of their ! constructors completing. In most cases this is the same as ! the reverse order of constructors starting, but sometimes it ! is different, and that is important. You need to compile and link your ! programs with --use-cxa-atexit. We have not turned this ! switch on by default, as it requires a cxa aware runtime ! library (libc, glibc, or equivalent).

      ! !
      Classes in exception specifiers must be complete types.
      ! !

      [15.4]/1 tells you that you cannot have an incomplete type, or ! pointer to incomplete (other than cv void *) in ! an exception specification.

      ! !
      Exceptions don't work in multithreaded applications.
      ! !

      You need to rebuild g++ and libstdc++ with ! --enable-threads. Remember, C++ exceptions are not like ! hardware interrupts. You cannot throw an exception in one thread and ! catch it in another. You cannot throw an exception from a signal ! handler and catch it in the main thread.

      ! !
      Templates, scoping, and digraphs.
      ! !

      If you have a class in the global namespace, say named X, ! and want to give it as a template argument to some other class, say ! std::vector, then std::vector<::X> ! fails with a parser error.

      ! !

      The reason is that the standard mandates that the sequence ! <: is treated as if it were the token [. ! (There are several such combinations of characters - they are called ! digraphs.) Depending on the version, the compiler then reports ! a parse error before the character : (the colon before ! X) or a missing closing bracket ].

      ! !

      The simplest way to avoid this is to write std::vector< ! ::X>, i.e. place a space between the opening angle bracket ! and the scope operator.

      !

      Common problems updating from G++ 2.95 to G++ 3.0

      *************** compiler.

      *** 414,422 ****

      We have also implemented some of the core and library defect reports (available at http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_defects.html ! & ! http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-defects.html respectively).

        --- 720,728 ----

        We have also implemented some of the core and library defect reports (available at http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_defects.html ! & ! http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-defects.html respectively).

          *************** doesn't exist, you need to recompile lib *** 450,459 ****
        ! This means you may get lots of errors about things like strcmp not being found. You've most likely forgotten to tell the compiler to look in the std:: namespace. There are ! several ways to do this,
          --- 756,765 ----
        !

        This means you may get lots of errors about things like strcmp not being found. You've most likely forgotten to tell the compiler to look in the std:: namespace. There are ! several ways to do this,

          *************** same. *** 472,692 ****
        -

        ABI bugs

        - -

        3.0 had a new ABI, which affected class layout, function mangling and - calling conventions. We had intended it to be complete, unfortunately - some issues came to light, too late to fix in the 3.0 series. - The ABI should not change in dot releases, so we addressed most issues - in GCC 3.1. -

        - -
        - -
        Covariant return types
        - -
        Up to (and including) GCC 3.3 we did not implement non-trivial - covariant returns. This has been addressed for GCC 3.4.
        - -
        - -

        Non-bugs

        !

        This section lists several features that have been reported as bugs, but ! are not; in addition, the manual contains a section on Common Misunderstandings with GNU C++.

        -
        - -
        Nested classes can access private types of the containing - class.
        -

        G++ now implements type access control on member types. Defect - report 45 clarifies that nested classes are members of the class they - are nested in, and so are granted access to private members of that - class.

        - -
        Classes in exception specifiers must be complete types.
        -

        [15.4]/1 tells you that you cannot have an incomplete type, or - pointer to incomplete (other than cv void *) in - an exception specification.

        - -
        G++ emits two copies of constructors and destructors.
        - -

        In general there are three types of constructors (and - destructors).

        -
          -
        1. The complete object constructor/destructor.
        2. -
        3. The base object constructor/destructor.
        4. -
        5. The allocating destructor/deallocating destructor.
        6. -
        -

        The first two are different, when virtual base classes are involved. -

        - -
        Exceptions don't work in multithreaded applications.
        - -

        You need to rebuild g++ and libstdc++ with - --enable-threads. Remember, c++ exceptions are not like - hardware interrupts. You cannot throw an exception in one thread and - catch it in another. You cannot throw an exception from a signal - handler, and catch it in the main thread.

        - -
        Global destructors are not run in the correct order.
        - -

        Global destructors should be run in the reverse order of their - constructors completing. In most cases this is the same as - the reverse order of constructors starting, but sometimes it - is different, and that is important. You need to compile and link your - programs with --use-cxa-atexit. We have not turned this - switch on by default, as it requires a cxa aware runtime - library (libc, glibc, or - equivalent).

        - -
        Problems with floating point computations.
        -

        In a number of cases, GCC appears to perform floating point - computations incorrectly. For example, the program

        -
        - #include <iostream>
        -
        - int main() {
        -
        - double min = 0.0;
        - double max = 0.5;
        - double width = 0.01;
        - std::cout << (int)(((max - min) / width) - 1) << - std::endl;
        -
        - }
        -
        -

        might print 49 on some systems and optimization levels, and 48 on - others.

        - -

        The is the result of rounding: The computer cannot - represent all real numbers exactly, so it has to use - approximations. When computing with approximation, the computer needs - to round to the nearest representable number.

        - -

        This is not a bug in the compiler, but an inherent limitation of - the float and double types. Please study - this paper - for more information.

        - -
        Templates, scoping, and digraphs.
        - -

        If you have a class in global namespace, say named - X, and want to give it as a template argument to some - other class, say std::vector, then this here fails with a - parser error: std::vector<::X>. -

        - -

        - The reason is that the standard mandates that the sequence - <: is treated as if it were the token - [, and the parser then reports a parse error before the - character : (by which it means the second - colon). There are several such combinations of characters, and - they are called digraphs. -

        - -

        - The simplest way to avoid this is to write std::vector< - ::X>, i.e. place a space between the opening angle bracket - and the scope operator. -

        - - -
        - -

        Missing features

        -

        We know some things are missing from G++.

        - -
        - -
        The export keyword is not implemented.
        -

        Most C++ compilers (G++ included) do not yet implement - export, which is necessary for separate compilation of - template declarations and definitions. Without export, a - template definition must be in scope to be used. The obvious - workaround is simply to place all definitions in the header - itself. Alternatively, the compilation unit containing template - definitions may be included from the header.

        - -
        Two stage lookup in templates is not implemented.
        -

        [14.6] specifies how names are looked up inside a template. G++ - does not do this correctly, but for most templates this will not be - noticeable.

        - -
        - -

        Parse errors for "simple" code

        - - Up to and including GCC 3.0, the compiler will give "parse error" for - seemingly simple code, such as - -
        - struct A{
        -   A();
        -   A(int);
        -   void func();
        - };
        - 
        - struct B{
        -   B(A);
        -   B(A,A);
        -   void func();
        - };
        - 
        - void foo(){
        -   B b(A(),A(1));     //Variable b, initialized with two temporaries
        -   B(A(2)).func();    //B temporary, initialized with A temporary
        - }
        - 
        - The problem is that GCC starts to parse the declaration of - b as a function b returning B, - taking a function returning A as an argument. When it - sees the 1, it is too late. The work-around in these cases is to add - additional parentheses around the expressions that are mistaken as - declarations: -
        -   (B(A(2))).func();
        - 
        - Sometimes, even that is not enough; to show the compiler that this - should be really an expression, a comma operator with a dummy argument - can be used: -
        -   B b((0,A()),A(1));
        - 
        -

        - Another example is the parse error for the return - statement in

        -
        - struct A{};
        - 
        - struct B{
        -   A a;
        -   A f1(bool);
        - };
        - 
        - A B::f1(bool b)
        - {
        -   if (b)
        -     return (A()); 
        -   return a;
        - }
        - 
        -

        The problem is that the compiler interprets A() as a - function (taking no arguments, returning A), and - (A()) as a cast - with a missing expression, hence the - parse error. The work-around is to omit the parentheses:

        -
        -   if (b)
        -     return A(); 
        - 
        -

        This problem occurs in a number of variants; in throw - statements, people also frequently put the object in parentheses. The - exact error also somewhat varies with the compiler version. The - work-arounds proposed do not change the semantics of the program at - all; they make them perhaps less readable.

        - --- 778,787 ----
      !

      In addition to the problems listed above, the manual contains a section on Common Misunderstandings with GNU C++.

      diff -Nrc3pad gcc-3.3.1/ChangeLog gcc-3.3.2/ChangeLog *** gcc-3.3.1/ChangeLog 2003-08-04 12:47:35.000000000 +0000 --- gcc-3.3.2/ChangeLog 2003-10-16 19:42:40.000000000 +0000 *************** *** 1,3 **** --- 1,27 ---- + 2003-10-16 Release Manager + + * GCC 3.3.2 Released. + + 2003-09-09 Alan Modra + + * libtool.m4 (LD): Correct powerpc64 host match. + + 2003-08-30 Gerald Pfeifer + + * MAINTAINERS: Update my e-mail address. + + 2003-08-20 Bernardo Innocenti + + * MAINTAINERS (Write After Approval): Add myself. + + 2003-08-15 Andrew Pinski + + * MAINTAINERS (Write After Approval): Add myself. + + 2003-08-08 Kean Johnston + + * configure.in (sco3.2v5*): Enable building of libgcj + 2003-08-04 Release Manager * GCC 3.3.1 Released. diff -Nrc3pad gcc-3.3.1/config/ChangeLog gcc-3.3.2/config/ChangeLog *** gcc-3.3.1/config/ChangeLog 2003-08-04 12:47:43.000000000 +0000 --- gcc-3.3.2/config/ChangeLog 2003-10-16 19:42:47.000000000 +0000 *************** *** 1,3 **** --- 1,7 ---- + 2003-10-16 Release Manager + + * GCC 3.3.2 Released. + 2003-08-04 Release Manager * GCC 3.3.1 Released. diff -Nrc3pad gcc-3.3.1/config/mh-sco gcc-3.3.2/config/mh-sco *** gcc-3.3.1/config/mh-sco 2002-04-30 03:30:22.000000000 +0000 --- gcc-3.3.2/config/mh-sco 2003-08-09 06:57:21.000000000 +0000 *************** RANLIB = true *** 2,5 **** # You may need this if you don't have bison. # BISON = yacc -Sm10400 ! X11_EXTRA_LIBS = -lsocket -lm -lintl -lmalloc --- 2,5 ---- # You may need this if you don't have bison. # BISON = yacc -Sm10400 ! X11_EXTRA_LIBS = -lsocket diff -Nrc3pad gcc-3.3.1/configure.in gcc-3.3.2/configure.in *** gcc-3.3.1/configure.in 2003-06-27 11:44:14.000000000 +0000 --- gcc-3.3.2/configure.in 2003-08-09 06:57:21.000000000 +0000 *************** case "${target}" in *** 473,479 **** i[3456]86-*-sco3.2v5*) # The linker does not yet know about weak symbols in COFF, # and is not configured to handle mixed ELF and COFF. ! noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}" ;; i[3456]86-*-sco*) noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" --- 473,479 ---- i[3456]86-*-sco3.2v5*) # The linker does not yet know about weak symbols in COFF, # and is not configured to handle mixed ELF and COFF. ! noconfigdirs="$noconfigdirs ld target-libgloss" ;; i[3456]86-*-sco*) noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" diff -Nrc3pad gcc-3.3.1/contrib/ChangeLog gcc-3.3.2/contrib/ChangeLog *** gcc-3.3.1/contrib/ChangeLog 2003-08-04 12:47:46.000000000 +0000 --- gcc-3.3.2/contrib/ChangeLog 2003-10-16 19:42:51.000000000 +0000 *************** *** 1,3 **** --- 1,15 ---- + 2003-10-16 Release Manager + + * GCC 3.3.2 Released. + + 2003-10-16 Mark Mitchell + + * gennews (files): Add GCC 3.3 files. + + 2003-08-21 Mark Mitchell + + * gcc_build: Fix handling of -t option. Add -x option. + 2003-08-04 Release Manager * GCC 3.3.1 Released. diff -Nrc3pad gcc-3.3.1/contrib/gcc_build gcc-3.3.2/contrib/gcc_build *** gcc-3.3.1/contrib/gcc_build 2001-06-11 21:13:36.000000000 +0000 --- gcc-3.3.2/contrib/gcc_build 2003-08-21 18:59:23.000000000 +0000 *************** gcc_build [-c configure_options] *** 66,71 **** --- 66,72 ---- [-u username] [-p protocol] [-t tarfile] + [-x make_check_options] [bootstrap] [build] [checkout] *************** test_gcc() { *** 174,180 **** changedir ${OBJDIR} echo "Running tests... This will take a while." ! ${MAKE} -k check ${DESTINATION}/contrib/test_summary } --- 175,181 ---- changedir ${OBJDIR} echo "Running tests... This will take a while." ! eval \${MAKE} -k ${MAKE_CHECK_OPTIONS} check ${DESTINATION}/contrib/test_summary } *************** TARFILE="${HOME}/dev/gcc.tgz" *** 231,238 **** CONFIGURE_OPTIONS= # The `make' program. MAKE=${MAKE:-make} ! # Options to pass to make. MAKE_BOOTSTRAP_OPTIONS= # Modes of operation BOOTSTRAP=0 --- 232,241 ---- CONFIGURE_OPTIONS= # The `make' program. MAKE=${MAKE:-make} ! # Options to pass to "make bootstrap". MAKE_BOOTSTRAP_OPTIONS= + # Options to pass to "make check". + MAKE_CHECK_OPTIONS= # Modes of operation BOOTSTRAP=0 *************** UPDATE=0 *** 248,261 **** ######################################################################## # Parse the options. ! while getopts "c:d:m:o:p:t:u:" ARG; do case $ARG in c) CONFIGURE_OPTIONS="${OPTARG}";; d) DESTINATION="${OPTARG}";; m) MAKE_BOOTSTRAP_OPTIONS="${OPTARG}";; o) OBJDIR="${OPTARG}";; p) CVS_PROTOCOL="${OPTARG}";; ! t) CVS_TARGFILE="${OPTARG}";; u) CVS_USERNAME="${OPTARG}";; \?) usage;; esac --- 251,265 ---- ######################################################################## # Parse the options. ! while getopts "c:d:m:o:p:t:u:x:" ARG; do case $ARG in c) CONFIGURE_OPTIONS="${OPTARG}";; d) DESTINATION="${OPTARG}";; m) MAKE_BOOTSTRAP_OPTIONS="${OPTARG}";; o) OBJDIR="${OPTARG}";; p) CVS_PROTOCOL="${OPTARG}";; ! t) TARFILE="${OPTARG}";; ! x) MAKE_CHECK_OPTIONS="${OPTARG}";; u) CVS_USERNAME="${OPTARG}";; \?) usage;; esac diff -Nrc3pad gcc-3.3.1/contrib/gennews gcc-3.3.2/contrib/gennews *** gcc-3.3.1/contrib/gennews 2002-08-14 08:35:37.000000000 +0000 --- gcc-3.3.2/contrib/gennews 2003-10-16 19:18:28.000000000 +0000 *************** *** 22,28 **** # Boston, MA 02111-1307, USA. website=http://gcc.gnu.org/ ! files="gcc-3.2/index.html gcc-3.2/changes.html gcc-3.1/index.html gcc-3.1/changes.html gcc-3.0/gcc-3.0.html gcc-3.0/features.html gcc-3.0/caveats.html gcc-2.95/index.html gcc-2.95/features.html gcc-2.95/caveats.html --- 22,29 ---- # Boston, MA 02111-1307, USA. website=http://gcc.gnu.org/ ! files="gcc-3.3/index.html gcc-3.3/changes.html ! gcc-3.2/index.html gcc-3.2/changes.html gcc-3.1/index.html gcc-3.1/changes.html gcc-3.0/gcc-3.0.html gcc-3.0/features.html gcc-3.0/caveats.html gcc-2.95/index.html gcc-2.95/features.html gcc-2.95/caveats.html diff -Nrc3pad gcc-3.3.1/contrib/regression/ChangeLog gcc-3.3.2/contrib/regression/ChangeLog *** gcc-3.3.1/contrib/regression/ChangeLog 2003-08-04 12:47:49.000000000 +0000 --- gcc-3.3.2/contrib/regression/ChangeLog 2003-10-16 19:42:54.000000000 +0000 *************** *** 1,3 **** --- 1,7 ---- + 2003-10-16 Release Manager + + * GCC 3.3.2 Released. + 2003-08-04 Release Manager * GCC 3.3.1 Released. diff -Nrc3pad gcc-3.3.1/FAQ gcc-3.3.2/FAQ *** gcc-3.3.1/FAQ 2003-08-04 12:58:19.000000000 +0000 --- gcc-3.3.2/FAQ 2003-10-16 20:10:56.000000000 +0000 *************** *** 28,48 **** 6. [18]Optimizing the compiler itself 7. [19]Why does libiconv get linked into jc1 on Solaris? 3. [20]Testsuite problems ! 1. [21]Unable to run the testsuite ! 2. [22]How do I pass flags like -fnew-abi to the testsuite? ! 3. [23]How can I run the test suite with multiple options? ! 4. [24]Older versions of GCC ! 1. [25]Is there a stringstream / sstream for GCC 2.95.2? ! 5. [26]Miscellaneous ! 1. [27]Friend Templates ! 2. [28]dynamic_cast, throw, typeid don't work with shared libraries ! 3. [29]Why do I need autoconf, bison, xgettext, automake, etc? ! 4. [30]Why can't I build a shared library? ! 5. [31]When building C++, the linker says my constructors, destructors or virtual tables are undefined, but I defined them ! 6. [32]Will GCC someday include an incremental linker? _________________________________________________________________ General information --- 28,47 ---- 6. [18]Optimizing the compiler itself 7. [19]Why does libiconv get linked into jc1 on Solaris? 3. [20]Testsuite problems ! 1. [21]How do I pass flags like -fnew-abi to the testsuite? ! 2. [22]How can I run the test suite with multiple options? ! 4. [23]Older versions of GCC ! 1. [24]Is there a stringstream / sstream for GCC 2.95.2? ! 5. [25]Miscellaneous ! 1. [26]Friend Templates ! 2. [27]dynamic_cast, throw, typeid don't work with shared libraries ! 3. [28]Why do I need autoconf, bison, xgettext, automake, etc? ! 4. [29]Why can't I build a shared library? ! 5. [30]When building C++, the linker says my constructors, destructors or virtual tables are undefined, but I defined them ! 6. [31]Will GCC someday include an incremental linker? _________________________________________________________________ General information *************** What is the relationship between GCC and *** 64,75 **** development on the gcc2 compiler and appointed the EGCS project as the official GCC maintainers. The net result was a single project which carries forward GCC development under the ultimate control of the ! [33]GCC Steering Committee. _________________________________________________________________ What is an open development model? ! We are using a bazaar style [34][1] approach to GCC development: we make snapshots publicly available to anyone who wants to try them; we welcome anyone to join the development mailing list. All of the discussions on the development mailing list are available via the web. --- 63,74 ---- development on the gcc2 compiler and appointed the EGCS project as the official GCC maintainers. The net result was a single project which carries forward GCC development under the ultimate control of the ! [32]GCC Steering Committee. _________________________________________________________________ What is an open development model? ! We are using a bazaar style [33][1] approach to GCC development: we make snapshots publicly available to anyone who wants to try them; we welcome anyone to join the development mailing list. All of the discussions on the development mailing list are available via the web. *************** How do I get a bug fixed or a feature ad *** 125,131 **** depending on the quality of your work and the perceived benefits of your changes, your code may or may not ever make it into an official release of GCC. ! * [35]Report the problem to the GCC bug tracking system and hope that someone will be kind enough to fix it for you. While this is certainly possible, and often happens, there is no guarantee that it will. You should not expect the same response from this method --- 124,130 ---- depending on the quality of your work and the perceived benefits of your changes, your code may or may not ever make it into an official release of GCC. ! * [34]Report the problem to the GCC bug tracking system and hope that someone will be kind enough to fix it for you. While this is certainly possible, and often happens, there is no guarantee that it will. You should not expect the same response from this method *************** Does GCC work on my platform? *** 142,149 **** The host/target specific installation notes for GCC include information about known problems with installing or using GCC on particular platforms. These are included in the sources for a release ! in INSTALL/specific.html, and the [36]latest version is always ! available at the GCC web site. Reports of [37]successful builds for several versions of GCC are also available at the web site. _________________________________________________________________ --- 141,148 ---- The host/target specific installation notes for GCC include information about known problems with installing or using GCC on particular platforms. These are included in the sources for a release ! in INSTALL/specific.html, and the [35]latest version is always ! available at the GCC web site. Reports of [36]successful builds for several versions of GCC are also available at the web site. _________________________________________________________________ *************** How to install multiple versions of GCC *** 190,196 **** wish to be sure about which version you are invoking. If you use --prefix, GCC may have difficulty locating a GNU assembler ! or linker on your system, [38]GCC can not find GNU as/GNU ld explains how to deal with this. Another option that may be easier is to use the --program-prefix= or --- 189,195 ---- wish to be sure about which version you are invoking. If you use --prefix, GCC may have difficulty locating a GNU assembler ! or linker on your system, [37]GCC can not find GNU as/GNU ld explains how to deal with this. Another option that may be easier is to use the --program-prefix= or *************** GCC can not find GNU as/GNU ld *** 256,262 **** versions of those programs. To ensure that GCC finds the GNU assembler (the GNU loader), which are ! required by [39]some configurations, you should configure these with the same --prefix option as you used for GCC. Then build & install GNU as (GNU ld) and proceed with building GCC. --- 255,261 ---- versions of those programs. To ensure that GCC finds the GNU assembler (the GNU loader), which are ! required by [38]some configurations, you should configure these with the same --prefix option as you used for GCC. Then build & install GNU as (GNU ld) and proceed with building GCC. *************** How can I run the test suite with multip *** 356,362 **** Is there a stringstream / sstream for GCC 2.95.2? Yes, it's at: ! [40]http://gcc.gnu.org/ml/libstdc++/2000-q2/msg00700/sstream. _________________________________________________________________ Miscellaneous --- 355,361 ---- Is there a stringstream / sstream for GCC 2.95.2? Yes, it's at: ! [39]http://gcc.gnu.org/ml/libstdc++/2000-q2/msg00700/sstream. _________________________________________________________________ Miscellaneous *************** dynamic_cast, throw, typeid don't work w *** 455,461 **** [basic.def.odr]. For more details about the way that GCC implements these and other C++ ! features, please read the [41]ABI specification. Note the std::typeinfo_t objects which must be resolved all begin with "_ZTS". Refer to ld's documentation for a description of the "-E" & "-Bsymbolic" flags. --- 454,460 ---- [basic.def.odr]. For more details about the way that GCC implements these and other C++ ! features, please read the [40]ABI specification. Note the std::typeinfo_t objects which must be resolved all begin with "_ZTS". Refer to ld's documentation for a description of the "-E" & "-Bsymbolic" flags. *************** Why do I need autoconf, bison, xgettext, *** 486,495 **** rebuild GCC. In general, the current versions of these tools from ! [42]ftp://ftp.gnu.org/gnu/ will work. At present, Autoconf 2.50 is not supported, and you will need to use Autoconf 2.13; work is in progress to fix this problem. Also look at ! [43]ftp://gcc.gnu.org/pub/gcc/infrastructure/ for any special versions of packages. _________________________________________________________________ --- 485,494 ---- rebuild GCC. In general, the current versions of these tools from ! [41]ftp://ftp.gnu.org/gnu/ will work. At present, Autoconf 2.50 is not supported, and you will need to use Autoconf 2.13; work is in progress to fix this problem. Also look at ! [42]ftp://gcc.gnu.org/pub/gcc/infrastructure/ for any special versions of packages. _________________________________________________________________ *************** References *** 565,590 **** 18. http://gcc.gnu.org/faq.html#optimizing 19. http://gcc.gnu.org/faq.html#iconv 20. http://gcc.gnu.org/faq.html#testsuite ! 21. http://gcc.gnu.org/faq.html#dejagnu ! 22. http://gcc.gnu.org/faq.html#testoptions ! 23. http://gcc.gnu.org/faq.html#multipletests ! 24. http://gcc.gnu.org/faq.html#old ! 25. http://gcc.gnu.org/faq.html#2.95sstream ! 26. http://gcc.gnu.org/faq.html#misc ! 27. http://gcc.gnu.org/faq.html#friend ! 28. http://gcc.gnu.org/faq.html#dso ! 29. http://gcc.gnu.org/faq.html#generated_files ! 30. http://gcc.gnu.org/faq.html#picflag-needed ! 31. http://gcc.gnu.org/faq.html#vtables ! 32. http://gcc.gnu.org/faq.html#incremental ! 33. http://gcc.gnu.org/steering.html ! 34. http://gcc.gnu.org/faq.html#cathedral-vs-bazaar ! 35. http://gcc.gnu.org/bugs.html ! 36. http://gcc.gnu.org/install/specific.html ! 37. http://gcc.gnu.org/buildstat.html ! 38. http://gcc.gnu.org/faq.html#gas ! 39. http://gcc.gnu.org/install/specific.html ! 40. http://gcc.gnu.org/ml/libstdc++/2000-q2/msg00700/sstream ! 41. http://www.codesourcery.com/cxx-abi/ ! 42. ftp://ftp.gnu.org/gnu/ ! 43. ftp://gcc.gnu.org/pub/gcc/infrastructure/ --- 564,588 ---- 18. http://gcc.gnu.org/faq.html#optimizing 19. http://gcc.gnu.org/faq.html#iconv 20. http://gcc.gnu.org/faq.html#testsuite ! 21. http://gcc.gnu.org/faq.html#testoptions ! 22. http://gcc.gnu.org/faq.html#multipletests ! 23. http://gcc.gnu.org/faq.html#old ! 24. http://gcc.gnu.org/faq.html#2.95sstream ! 25. http://gcc.gnu.org/faq.html#misc ! 26. http://gcc.gnu.org/faq.html#friend ! 27. http://gcc.gnu.org/faq.html#dso ! 28. http://gcc.gnu.org/faq.html#generated_files ! 29. http://gcc.gnu.org/faq.html#picflag-needed ! 30. http://gcc.gnu.org/faq.html#vtables ! 31. http://gcc.gnu.org/faq.html#incremental ! 32. http://gcc.gnu.org/steering.html ! 33. http://gcc.gnu.org/faq.html#cathedral-vs-bazaar ! 34. http://gcc.gnu.org/bugs.html ! 35. http://gcc.gnu.org/install/specific.html ! 36. http://gcc.gnu.org/buildstat.html ! 37. http://gcc.gnu.org/faq.html#gas ! 38. http://gcc.gnu.org/install/specific.html ! 39. http://gcc.gnu.org/ml/libstdc++/2000-q2/msg00700/sstream ! 40. http://www.codesourcery.com/cxx-abi/ ! 41. ftp://ftp.gnu.org/gnu/ ! 42. ftp://gcc.gnu.org/pub/gcc/infrastructure/ diff -Nrc3pad gcc-3.3.1/faq.html gcc-3.3.2/faq.html *** gcc-3.3.1/faq.html 2003-08-04 12:58:19.000000000 +0000 --- gcc-3.3.2/faq.html 2003-10-16 20:10:55.000000000 +0000 *************** Information page.

      *** 48,54 ****
    • Testsuite problems
        -
      1. Unable to run the testsuite
      2. How do I pass flags like -fnew-abi to the testsuite?
      3. How can I run the test suite with multiple options?
      4. --- 48,53 ---- diff -Nrc3pad gcc-3.3.1/fastjar/ChangeLog gcc-3.3.2/fastjar/ChangeLog *** gcc-3.3.1/fastjar/ChangeLog 2003-08-04 12:47:53.000000000 +0000 --- gcc-3.3.2/fastjar/ChangeLog 2003-10-16 19:42:57.000000000 +0000 *************** *** 1,6 **** ! 2003-08-04 Release Manager ! * GCC 3.3.1 Released. 2003-08-04 Release Manager --- 1,12 ---- ! 2003-10-16 Release Manager ! * GCC 3.3.2 Released. ! ! 2003-08-13 Matthias Klose ! ! * fastjar.texi: License manual under the GPL. ! * Makefile.am: Remove reference to fdl.texi ! * Makefile.in: Regenerate 2003-08-04 Release Manager *************** *** 14,31 **** * GCC 3.3 Released. - 2003-05-13 Release Manager - - * GCC 3.3 Released. - - 2003-05-13 Release Manager - - * GCC 3.3 Released. - - 2003-05-13 Release Manager - - * GCC 3.3 Released. - 2003-03-30 Joseph S. Myers * fastjar.texi: Remove @ at start of file. --- 20,25 ---- diff -Nrc3pad gcc-3.3.1/fastjar/fastjar.info gcc-3.3.2/fastjar/fastjar.info *** gcc-3.3.1/fastjar/fastjar.info 2003-08-04 14:00:48.000000000 +0000 --- gcc-3.3.2/fastjar/fastjar.info 2003-10-16 21:17:45.000000000 +0000 *************** START-INFO-DIR-ENTRY *** 14,38 **** Search files in a jar file for a pattern END-INFO-DIR-ENTRY ! Copyright (C) 2002 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document ! under the terms of the GNU Free Documentation License, Version 1.2 or ! any later version published by the Free Software Foundation; with the ! Invariant Sections being "GNU General Public License", the Front-Cover ! texts being (a) (see below), and with the Back-Cover Texts being (b) ! (see below). A copy of the license is included in the section entitled ! "GNU Free Documentation License". ! ! (a) The FSF's Front-Cover Text is: ! ! A GNU Manual ! ! (b) The FSF's Back-Cover Text is: ! ! You have freedom to copy and modify this GNU Manual, like GNU ! software. Copies published by the Free Software Foundation raise ! funds for GNU development.  File: fastjar.info, Node: Top, Next: Invoking jar, Up: (dir) --- 14,26 ---- Search files in a jar file for a pattern END-INFO-DIR-ENTRY ! Copyright (C) 2002 Matthias Klose Permission is granted to copy, distribute and/or modify this document ! under the terms of the GNU General Public License as published by the ! Free Software Foundation; either version 2, or (at your option) any ! later version. A copy of the license is included in the section ! entitled "GNU General Public License".  File: fastjar.info, Node: Top, Next: Invoking jar, Up: (dir) *************** Introduction *** 47,54 **** * Invoking jar:: Options supported by `jar' * Invoking grepjar:: Options supported by `grepjar' * Copying:: The GNU General Public License - * GNU Free Documentation License:: - How you can share and copy this manual  File: fastjar.info, Node: Invoking jar, Next: Invoking grepjar, Prev: Top, Up: Top --- 35,40 ---- *************** a pattern. *** 154,160 **** Print version number, then exit.  ! File: fastjar.info, Node: Copying, Next: GNU Free Documentation License, Prev: Invoking grepjar, Up: Top GNU GENERAL PUBLIC LICENSE ************************** --- 140,146 ---- Print version number, then exit.  ! File: fastjar.info, Node: Copying, Prev: Invoking grepjar, Up: Top GNU GENERAL PUBLIC LICENSE ************************** *************** library, you may consider it more useful *** 513,956 **** applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. -  - File: fastjar.info, Node: GNU Free Documentation License, Prev: Copying, Up: Top - - GNU Free Documentation License - ****************************** - - Version 1.2, November 2002 - Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - 0. PREAMBLE - - The purpose of this License is to make a manual, textbook, or other - functional and useful document "free" in the sense of freedom: to - assure everyone the effective freedom to copy and redistribute it, - with or without modifying it, either commercially or - noncommercially. Secondarily, this License preserves for the - author and publisher a way to get credit for their work, while not - being considered responsible for modifications made by others. - - This License is a kind of "copyleft", which means that derivative - works of the document must themselves be free in the same sense. - It complements the GNU General Public License, which is a copyleft - license designed for free software. - - We have designed this License in order to use it for manuals for - free software, because free software needs free documentation: a - free program should come with manuals providing the same freedoms - that the software does. But this License is not limited to - software manuals; it can be used for any textual work, regardless - of subject matter or whether it is published as a printed book. - We recommend this License principally for works whose purpose is - instruction or reference. - - 1. APPLICABILITY AND DEFINITIONS - - This License applies to any manual or other work, in any medium, - that contains a notice placed by the copyright holder saying it - can be distributed under the terms of this License. Such a notice - grants a world-wide, royalty-free license, unlimited in duration, - to use that work under the conditions stated herein. The - "Document", below, refers to any such manual or work. Any member - of the public is a licensee, and is addressed as "you". You - accept the license if you copy, modify or distribute the work in a - way requiring permission under copyright law. - - A "Modified Version" of the Document means any work containing the - Document or a portion of it, either copied verbatim, or with - modifications and/or translated into another language. - - A "Secondary Section" is a named appendix or a front-matter section - of the Document that deals exclusively with the relationship of the - publishers or authors of the Document to the Document's overall - subject (or to related matters) and contains nothing that could - fall directly within that overall subject. (Thus, if the Document - is in part a textbook of mathematics, a Secondary Section may not - explain any mathematics.) The relationship could be a matter of - historical connection with the subject or with related matters, or - of legal, commercial, philosophical, ethical or political position - regarding them. - - The "Invariant Sections" are certain Secondary Sections whose - titles are designated, as being those of Invariant Sections, in - the notice that says that the Document is released under this - License. If a section does not fit the above definition of - Secondary then it is not allowed to be designated as Invariant. - The Document may contain zero Invariant Sections. If the Document - does not identify any Invariant Sections then there are none. - - The "Cover Texts" are certain short passages of text that are - listed, as Front-Cover Texts or Back-Cover Texts, in the notice - that says that the Document is released under this License. A - Front-Cover Text may be at most 5 words, and a Back-Cover Text may - be at most 25 words. - - A "Transparent" copy of the Document means a machine-readable copy, - represented in a format whose specification is available to the - general public, that is suitable for revising the document - straightforwardly with generic text editors or (for images - composed of pixels) generic paint programs or (for drawings) some - widely available drawing editor, and that is suitable for input to - text formatters or for automatic translation to a variety of - formats suitable for input to text formatters. A copy made in an - otherwise Transparent file format whose markup, or absence of - markup, has been arranged to thwart or discourage subsequent - modification by readers is not Transparent. An image format is - not Transparent if used for any substantial amount of text. A - copy that is not "Transparent" is called "Opaque". - - Examples of suitable formats for Transparent copies include plain - ASCII without markup, Texinfo input format, LaTeX input format, - SGML or XML using a publicly available DTD, and - standard-conforming simple HTML, PostScript or PDF designed for - human modification. Examples of transparent image formats include - PNG, XCF and JPG. Opaque formats include proprietary formats that - can be read and edited only by proprietary word processors, SGML or - XML for which the DTD and/or processing tools are not generally - available, and the machine-generated HTML, PostScript or PDF - produced by some word processors for output purposes only. - - The "Title Page" means, for a printed book, the title page itself, - plus such following pages as are needed to hold, legibly, the - material this License requires to appear in the title page. For - works in formats which do not have any title page as such, "Title - Page" means the text near the most prominent appearance of the - work's title, preceding the beginning of the body of the text. - - A section "Entitled XYZ" means a named subunit of the Document - whose title either is precisely XYZ or contains XYZ in parentheses - following text that translates XYZ in another language. (Here XYZ - stands for a specific section name mentioned below, such as - "Acknowledgements", "Dedications", "Endorsements", or "History".) - To "Preserve the Title" of such a section when you modify the - Document means that it remains a section "Entitled XYZ" according - to this definition. - - The Document may include Warranty Disclaimers next to the notice - which states that this License applies to the Document. These - Warranty Disclaimers are considered to be included by reference in - this License, but only as regards disclaiming warranties: any other - implication that these Warranty Disclaimers may have is void and - has no effect on the meaning of this License. - - 2. VERBATIM COPYING - - You may copy and distribute the Document in any medium, either - commercially or noncommercially, provided that this License, the - copyright notices, and the license notice saying this License - applies to the Document are reproduced in all copies, and that you - add no other conditions whatsoever to those of this License. You - may not use technical measures to obstruct or control the reading - or further copying of the copies you make or distribute. However, - you may accept compensation in exchange for copies. If you - distribute a large enough number of copies you must also follow - the conditions in section 3. - - You may also lend copies, under the same conditions stated above, - and you may publicly display copies. - - 3. COPYING IN QUANTITY - - If you publish printed copies (or copies in media that commonly - have printed covers) of the Document, numbering more than 100, and - the Document's license notice requires Cover Texts, you must - enclose the copies in covers that carry, clearly and legibly, all - these Cover Texts: Front-Cover Texts on the front cover, and - Back-Cover Texts on the back cover. Both covers must also clearly - and legibly identify you as the publisher of these copies. The - front cover must present the full title with all words of the - title equally prominent and visible. You may add other material - on the covers in addition. Copying with changes limited to the - covers, as long as they preserve the title of the Document and - satisfy these conditions, can be treated as verbatim copying in - other respects. - - If the required texts for either cover are too voluminous to fit - legibly, you should put the first ones listed (as many as fit - reasonably) on the actual cover, and continue the rest onto - adjacent pages. - - If you publish or distribute Opaque copies of the Document - numbering more than 100, you must either include a - machine-readable Transparent copy along with each Opaque copy, or - state in or with each Opaque copy a computer-network location from - which the general network-using public has access to download - using public-standard network protocols a complete Transparent - copy of the Document, free of added material. If you use the - latter option, you must take reasonably prudent steps, when you - begin distribution of Opaque copies in quantity, to ensure that - this Transparent copy will remain thus accessible at the stated - location until at least one year after the last time you - distribute an Opaque copy (directly or through your agents or - retailers) of that edition to the public. - - It is requested, but not required, that you contact the authors of - the Document well before redistributing any large number of - copies, to give them a chance to provide you with an updated - version of the Document. - - 4. MODIFICATIONS - - You may copy and distribute a Modified Version of the Document - under the conditions of sections 2 and 3 above, provided that you - release the Modified Version under precisely this License, with - the Modified Version filling the role of the Document, thus - licensing distribution and modification of the Modified Version to - whoever possesses a copy of it. In addition, you must do these - things in the Modified Version: - - A. Use in the Title Page (and on the covers, if any) a title - distinct from that of the Document, and from those of - previous versions (which should, if there were any, be listed - in the History section of the Document). You may use the - same title as a previous version if the original publisher of - that version gives permission. - - B. List on the Title Page, as authors, one or more persons or - entities responsible for authorship of the modifications in - the Modified Version, together with at least five of the - principal authors of the Document (all of its principal - authors, if it has fewer than five), unless they release you - from this requirement. - - C. State on the Title page the name of the publisher of the - Modified Version, as the publisher. - - D. Preserve all the copyright notices of the Document. - - E. Add an appropriate copyright notice for your modifications - adjacent to the other copyright notices. - - F. Include, immediately after the copyright notices, a license - notice giving the public permission to use the Modified - Version under the terms of this License, in the form shown in - the Addendum below. - - G. Preserve in that license notice the full lists of Invariant - Sections and required Cover Texts given in the Document's - license notice. - - H. Include an unaltered copy of this License. - - I. Preserve the section Entitled "History", Preserve its Title, - and add to it an item stating at least the title, year, new - authors, and publisher of the Modified Version as given on - the Title Page. If there is no section Entitled "History" in - the Document, create one stating the title, year, authors, - and publisher of the Document as given on its Title Page, - then add an item describing the Modified Version as stated in - the previous sentence. - - J. Preserve the network location, if any, given in the Document - for public access to a Transparent copy of the Document, and - likewise the network locations given in the Document for - previous versions it was based on. These may be placed in - the "History" section. You may omit a network location for a - work that was published at least four years before the - Document itself, or if the original publisher of the version - it refers to gives permission. - - K. For any section Entitled "Acknowledgements" or "Dedications", - Preserve the Title of the section, and preserve in the - section all the substance and tone of each of the contributor - acknowledgements and/or dedications given therein. - - L. Preserve all the Invariant Sections of the Document, - unaltered in their text and in their titles. Section numbers - or the equivalent are not considered part of the section - titles. - - M. Delete any section Entitled "Endorsements". Such a section - may not be included in the Modified Version. - - N. Do not retitle any existing section to be Entitled - "Endorsements" or to conflict in title with any Invariant - Section. - - O. Preserve any Warranty Disclaimers. - - If the Modified Version includes new front-matter sections or - appendices that qualify as Secondary Sections and contain no - material copied from the Document, you may at your option - designate some or all of these sections as invariant. To do this, - add their titles to the list of Invariant Sections in the Modified - Version's license notice. These titles must be distinct from any - other section titles. - - You may add a section Entitled "Endorsements", provided it contains - nothing but endorsements of your Modified Version by various - parties--for example, statements of peer review or that the text - has been approved by an organization as the authoritative - definition of a standard. - - You may add a passage of up to five words as a Front-Cover Text, - and a passage of up to 25 words as a Back-Cover Text, to the end - of the list of Cover Texts in the Modified Version. Only one - passage of Front-Cover Text and one of Back-Cover Text may be - added by (or through arrangements made by) any one entity. If the - Document already includes a cover text for the same cover, - previously added by you or by arrangement made by the same entity - you are acting on behalf of, you may not add another; but you may - replace the old one, on explicit permission from the previous - publisher that added the old one. - - The author(s) and publisher(s) of the Document do not by this - License give permission to use their names for publicity for or to - assert or imply endorsement of any Modified Version. - - 5. COMBINING DOCUMENTS - - You may combine the Document with other documents released under - this License, under the terms defined in section 4 above for - modified versions, provided that you include in the combination - all of the Invariant Sections of all of the original documents, - unmodified, and list them all as Invariant Sections of your - combined work in its license notice, and that you preserve all - their Warranty Disclaimers. - - The combined work need only contain one copy of this License, and - multiple identical Invariant Sections may be replaced with a single - copy. If there are multiple Invariant Sections with the same name - but different contents, make the title of each such section unique - by adding at the end of it, in parentheses, the name of the - original author or publisher of that section if known, or else a - unique number. Make the same adjustment to the section titles in - the list of Invariant Sections in the license notice of the - combined work. - - In the combination, you must combine any sections Entitled - "History" in the various original documents, forming one section - Entitled "History"; likewise combine any sections Entitled - "Acknowledgements", and any sections Entitled "Dedications". You - must delete all sections Entitled "Endorsements." - - 6. COLLECTIONS OF DOCUMENTS - - You may make a collection consisting of the Document and other - documents released under this License, and replace the individual - copies of this License in the various documents with a single copy - that is included in the collection, provided that you follow the - rules of this License for verbatim copying of each of the - documents in all other respects. - - You may extract a single document from such a collection, and - distribute it individually under this License, provided you insert - a copy of this License into the extracted document, and follow - this License in all other respects regarding verbatim copying of - that document. - - 7. AGGREGATION WITH INDEPENDENT WORKS - - A compilation of the Document or its derivatives with other - separate and independent documents or works, in or on a volume of - a storage or distribution medium, is called an "aggregate" if the - copyright resulting from the compilation is not used to limit the - legal rights of the compilation's users beyond what the individual - works permit. When the Document is included an aggregate, this - License does not apply to the other works in the aggregate which - are not themselves derivative works of the Document. - - If the Cover Text requirement of section 3 is applicable to these - copies of the Document, then if the Document is less than one half - of the entire aggregate, the Document's Cover Texts may be placed - on covers that bracket the Document within the aggregate, or the - electronic equivalent of covers if the Document is in electronic - form. Otherwise they must appear on printed covers that bracket - the whole aggregate. - - 8. TRANSLATION - - Translation is considered a kind of modification, so you may - distribute translations of the Document under the terms of section - 4. Replacing Invariant Sections with translations requires special - permission from their copyright holders, but you may include - translations of some or all Invariant Sections in addition to the - original versions of these Invariant Sections. You may include a - translation of this License, and all the license notices in the - Document, and any Warrany Disclaimers, provided that you also - include the original English version of this License and the - original versions of those notices and disclaimers. In case of a - disagreement between the translation and the original version of - this License or a notice or disclaimer, the original version will - prevail. - - If a section in the Document is Entitled "Acknowledgements", - "Dedications", or "History", the requirement (section 4) to - Preserve its Title (section 1) will typically require changing the - actual title. - - 9. TERMINATION - - You may not copy, modify, sublicense, or distribute the Document - except as expressly provided for under this License. Any other - attempt to copy, modify, sublicense or distribute the Document is - void, and will automatically terminate your rights under this - License. However, parties who have received copies, or rights, - from you under this License will not have their licenses - terminated so long as such parties remain in full compliance. - - 10. FUTURE REVISIONS OF THIS LICENSE - - The Free Software Foundation may publish new, revised versions of - the GNU Free Documentation License from time to time. Such new - versions will be similar in spirit to the present version, but may - differ in detail to address new problems or concerns. See - `http://www.gnu.org/copyleft/'. - - Each version of the License is given a distinguishing version - number. If the Document specifies that a particular numbered - version of this License "or any later version" applies to it, you - have the option of following the terms and conditions either of - that specified version or of any later version that has been - published (not as a draft) by the Free Software Foundation. If - the Document does not specify a version number of this License, - you may choose any version ever published (not as a draft) by the - Free Software Foundation. - - ADDENDUM: How to use this License for your documents - ==================================================== - - To use this License in a document you have written, include a copy of - the License in the document and put the following copyright and license - notices just after the title page: - - Copyright (C) YEAR YOUR NAME. - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.2 - or any later version published by the Free Software Foundation; - with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. - A copy of the license is included in the section entitled ``GNU - Free Documentation License''. - - If you have Invariant Sections, Front-Cover Texts and Back-Cover - Texts, replace the "with...Texts." line with this: - - with the Invariant Sections being LIST THEIR TITLES, with - the Front-Cover Texts being LIST, and with the Back-Cover Texts - being LIST. - - If you have Invariant Sections without Cover Texts, or some other - combination of the three, merge those two alternatives to suit the - situation. - - If your document contains nontrivial examples of program code, we - recommend releasing these examples in parallel under your choice of - free software license, such as the GNU General Public License, to - permit their use in free software. -  Tag Table: ! Node: Top1236 ! Node: Invoking jar1618 ! Node: Invoking grepjar3399 ! Node: Copying4005 ! Node: GNU Free Documentation License23222  End Tag Table --- 499,510 ---- applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.  Tag Table: ! Node: Top822 ! Node: Invoking jar1127 ! Node: Invoking grepjar2908 ! Node: Copying3514  End Tag Table diff -Nrc3pad gcc-3.3.1/fastjar/fastjar.texi gcc-3.3.2/fastjar/fastjar.texi *** gcc-3.3.1/fastjar/fastjar.texi 2003-03-30 17:01:58.000000000 +0000 --- gcc-3.3.2/fastjar/fastjar.texi 2003-08-14 05:48:44.000000000 +0000 *************** *** 32,66 **** @end format @c man begin COPYRIGHT ! Copyright (C) @value{copyrights-fastjar} Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document ! under the terms of the GNU Free Documentation License, Version 1.2 or ! any later version published by the Free Software Foundation; with the ! Invariant Sections being ``GNU General Public License'', the Front-Cover ! texts being (a) (see below), and with the Back-Cover Texts being (b) ! (see below). A copy of the license is included in the @c man end ! section entitled ! ``GNU Free Documentation License''. @ignore @c man begin COPYRIGHT ! man page gfdl(7). @c man end @end ignore - - @c man begin COPYRIGHT - - (a) The FSF's Front-Cover Text is: - - A GNU Manual - - (b) The FSF's Back-Cover Text is: - - You have freedom to copy and modify this GNU Manual, like GNU - software. Copies published by the Free Software Foundation raise - funds for GNU development. - @c man end @end ifinfo @titlepage --- 32,50 ---- @end format @c man begin COPYRIGHT ! Copyright (C) @value{copyrights-fastjar} Matthias Klose Permission is granted to copy, distribute and/or modify this document ! under the terms of the GNU General Public License as published by the ! Free Software Foundation; either version 2, or (at your option) any ! later version. A copy of the license is included in the @c man end ! section entitled ``GNU General Public License''. @ignore @c man begin COPYRIGHT ! man page gpl(7). @c man end @end ignore @end ifinfo @titlepage *************** man page gfdl(7). *** 69,75 **** @page @vskip 0pt plus 1filll ! Copyright @copyright{} @value{copyrights-gcj} Free Software Foundation, Inc. @sp 2 For the @value{which-gcj} Version* @sp 1 --- 53,59 ---- @page @vskip 0pt plus 1filll ! Copyright @copyright{} @value{copyrights-gcj} Matthias Klose @sp 2 For the @value{which-gcj} Version* @sp 1 *************** Published by the Free Software Foundatio *** 78,99 **** Boston, MA 02111-1307, USA@* @sp 1 Permission is granted to copy, distribute and/or modify this document ! under the terms of the GNU Free Documentation License, Version 1.2 or ! any later version published by the Free Software Foundation; with the ! Invariant Sections being ``GNU General Public License'', the Front-Cover ! texts being (a) (see below), and with the Back-Cover Texts being (b) ! (see below). A copy of the license is included in the section entitled ! ``GNU Free Documentation License''. ! ! (a) The FSF's Front-Cover Text is: ! ! A GNU Manual ! ! (b) The FSF's Back-Cover Text is: ! ! You have freedom to copy and modify this GNU Manual, like GNU ! software. Copies published by the Free Software Foundation raise ! funds for GNU development. @end titlepage @contents @page --- 62,71 ---- Boston, MA 02111-1307, USA@* @sp 1 Permission is granted to copy, distribute and/or modify this document ! under the terms of the GNU General Public License as published by the ! Free Software Foundation; either version 2, or (at your option) any ! later version. A copy of the license is included in the ! section entitled ``GNU General Public License''. @end titlepage @contents @page *************** This manual describes how to use @comman *** 108,115 **** * Invoking jar:: Options supported by @command{jar} * Invoking grepjar:: Options supported by @command{grepjar} * Copying:: The GNU General Public License - * GNU Free Documentation License:: - How you can share and copy this manual @end menu @node Invoking jar --- 80,85 ---- *************** Print version number, then exit. *** 260,265 **** @include gpl.texi - @include fdl.texi - @bye --- 230,233 ---- diff -Nrc3pad gcc-3.3.1/fastjar/grepjar.1 gcc-3.3.2/fastjar/grepjar.1 *** gcc-3.3.1/fastjar/grepjar.1 2003-08-04 14:00:54.000000000 +0000 --- gcc-3.3.2/fastjar/grepjar.1 2003-10-16 21:17:52.000000000 +0000 *************** *** 129,135 **** .\" ======================================================================== .\" .IX Title "GREPJAR 1" ! .TH GREPJAR 1 "2003-08-04" "gcc-3.3.1" "GNU" .SH "NAME" grepjar \- search files in a jar file for a pattern .SH "SYNOPSIS" --- 129,135 ---- .\" ======================================================================== .\" .IX Title "GREPJAR 1" ! .TH GREPJAR 1 "2003-10-16" "gcc-3.3.2" "GNU" .SH "NAME" grepjar \- search files in a jar file for a pattern .SH "SYNOPSIS" *************** Print version number, then exit. *** 177,202 **** \&\fIjar\fR\|(1), \fIgcj\fR\|(1), \fIgij\fR\|(1), \fIgfdl\fR\|(7) and the Info entry for \fIgcj\fR. .SH "COPYRIGHT" .IX Header "COPYRIGHT" ! Copyright (C) 2002 Free Software Foundation, Inc. .PP Permission is granted to copy, distribute and/or modify this document ! under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.2 or ! any later version published by the Free Software Foundation; with the ! Invariant Sections being ``\s-1GNU\s0 General Public License'', the Front-Cover ! texts being (a) (see below), and with the Back-Cover Texts being (b) ! (see below). A copy of the license is included in the ! man page \fIgfdl\fR\|(7). ! .PP ! (a) The \s-1FSF\s0's Front-Cover Text is: ! .PP ! .Vb 1 ! \& A GNU Manual ! .Ve ! .PP ! (b) The \s-1FSF\s0's Back-Cover Text is: ! .PP ! .Vb 3 ! \& You have freedom to copy and modify this GNU Manual, like GNU ! \& software. Copies published by the Free Software Foundation raise ! \& funds for GNU development. ! .Ve --- 177,186 ---- \&\fIjar\fR\|(1), \fIgcj\fR\|(1), \fIgij\fR\|(1), \fIgfdl\fR\|(7) and the Info entry for \fIgcj\fR. .SH "COPYRIGHT" .IX Header "COPYRIGHT" ! Copyright (C) 2002 Matthias Klose .PP Permission is granted to copy, distribute and/or modify this document ! under the terms of the \s-1GNU\s0 General Public License as published by the ! Free Software Foundation; either version 2, or (at your option) any ! later version. A copy of the license is included in the ! man page \fIgpl\fR\|(7). diff -Nrc3pad gcc-3.3.1/fastjar/jar.1 gcc-3.3.2/fastjar/jar.1 *** gcc-3.3.1/fastjar/jar.1 2003-08-04 14:00:53.000000000 +0000 --- gcc-3.3.2/fastjar/jar.1 2003-10-16 21:17:51.000000000 +0000 *************** *** 129,135 **** .\" ======================================================================== .\" .IX Title "FASTJAR 1" ! .TH FASTJAR 1 "2003-08-04" "gcc-3.3.1" "GNU" .SH "NAME" jar \- archive tool for Java archives .SH "SYNOPSIS" --- 129,135 ---- .\" ======================================================================== .\" .IX Title "FASTJAR 1" ! .TH FASTJAR 1 "2003-10-16" "gcc-3.3.2" "GNU" .SH "NAME" jar \- archive tool for Java archives .SH "SYNOPSIS" *************** All remaining options are considered to *** 206,231 **** and the Info entry for \fIgcj\fR. .SH "COPYRIGHT" .IX Header "COPYRIGHT" ! Copyright (C) 2002 Free Software Foundation, Inc. .PP Permission is granted to copy, distribute and/or modify this document ! under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.2 or ! any later version published by the Free Software Foundation; with the ! Invariant Sections being ``\s-1GNU\s0 General Public License'', the Front-Cover ! texts being (a) (see below), and with the Back-Cover Texts being (b) ! (see below). A copy of the license is included in the ! man page \fIgfdl\fR\|(7). ! .PP ! (a) The \s-1FSF\s0's Front-Cover Text is: ! .PP ! .Vb 1 ! \& A GNU Manual ! .Ve ! .PP ! (b) The \s-1FSF\s0's Back-Cover Text is: ! .PP ! .Vb 3 ! \& You have freedom to copy and modify this GNU Manual, like GNU ! \& software. Copies published by the Free Software Foundation raise ! \& funds for GNU development. ! .Ve --- 206,215 ---- and the Info entry for \fIgcj\fR. .SH "COPYRIGHT" .IX Header "COPYRIGHT" ! Copyright (C) 2002 Matthias Klose .PP Permission is granted to copy, distribute and/or modify this document ! under the terms of the \s-1GNU\s0 General Public License as published by the ! Free Software Foundation; either version 2, or (at your option) any ! later version. A copy of the license is included in the ! man page \fIgpl\fR\|(7). diff -Nrc3pad gcc-3.3.1/fastjar/Makefile.am gcc-3.3.2/fastjar/Makefile.am *** gcc-3.3.1/fastjar/Makefile.am 2002-12-31 01:17:12.000000000 +0000 --- gcc-3.3.2/fastjar/Makefile.am 2003-08-14 05:48:44.000000000 +0000 *************** TEXINFO_TEX = ../gcc/doc/include/texinfo *** 62,68 **** info_TEXINFOS = fastjar.texi fastjar_TEXINFOS = \ ../gcc/doc/include/gcc-common.texi \ - ../gcc/doc/include/fdl.texi \ ../gcc/doc/include/gpl.texi man_MANS = jar.1 grepjar.1 EXTRA_DIST = $(man_MANS) --- 62,67 ---- diff -Nrc3pad gcc-3.3.1/fastjar/Makefile.in gcc-3.3.2/fastjar/Makefile.in *** gcc-3.3.1/fastjar/Makefile.in 2003-08-04 12:58:11.000000000 +0000 --- gcc-3.3.2/fastjar/Makefile.in 2003-10-16 20:10:47.000000000 +0000 *************** *** 1,6 **** ! # Makefile.in generated automatically by automake 1.4 from Makefile.am ! # Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. --- 1,6 ---- ! # Makefile.in generated automatically by automake 1.4-p6 from Makefile.am ! # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. *************** AUTOMAKE_OPTIONS = no-dependencies *** 80,119 **** # Work around what appears to be a GNU make bug handling MAKEFLAGS # values defined in terms of make variables, as is the case for CC and # friends when we are called from the top level Makefile. ! AM_MAKEFLAGS = \ ! "AR_FLAGS=$(AR_FLAGS)" \ ! "CC_FOR_BUILD=$(CC_FOR_BUILD)" \ ! "CFLAGS=$(CFLAGS)" \ ! "CXXFLAGS=$(CXXFLAGS)" \ ! "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \ ! "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \ ! "INSTALL=$(INSTALL)" \ ! "INSTALL_DATA=$(INSTALL_DATA)" \ ! "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ ! "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \ ! "JC1FLAGS=$(JC1FLAGS)" \ ! "LDFLAGS=$(LDFLAGS)" \ ! "LIBCFLAGS=$(LIBCFLAGS)" \ ! "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \ ! "MAKE=$(MAKE)" \ ! "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \ ! "PICFLAG=$(PICFLAG)" \ ! "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \ ! "SHELL=$(SHELL)" \ ! "exec_prefix=$(exec_prefix)" \ ! "infodir=$(infodir)" \ ! "libdir=$(libdir)" \ ! "prefix=$(prefix)" \ ! "AR=$(AR)" \ ! "AS=$(AS)" \ ! "CC=$(CC)" \ ! "CXX=$(CXX)" \ ! "LD=$(LD)" \ ! "LIBCFLAGS=$(LIBCFLAGS)" \ ! "NM=$(NM)" \ ! "PICFLAG=$(PICFLAG)" \ ! "RANLIB=$(RANLIB)" \ ! "DESTDIR=$(DESTDIR)" INCLUDES = -I. -I$(top_srcdir) $(ZINCS) -I$(top_srcdir)/../include --- 80,86 ---- # Work around what appears to be a GNU make bug handling MAKEFLAGS # values defined in terms of make variables, as is the case for CC and # friends when we are called from the top level Makefile. ! AM_MAKEFLAGS = "AR_FLAGS=$(AR_FLAGS)" "CC_FOR_BUILD=$(CC_FOR_BUILD)" "CFLAGS=$(CFLAGS)" "CXXFLAGS=$(CXXFLAGS)" "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" "INSTALL=$(INSTALL)" "INSTALL_DATA=$(INSTALL_DATA)" "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" "JC1FLAGS=$(JC1FLAGS)" "LDFLAGS=$(LDFLAGS)" "LIBCFLAGS=$(LIBCFLAGS)" "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" "MAKE=$(MAKE)" "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" "PICFLAG=$(PICFLAG)" "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" "SHELL=$(SHELL)" "exec_prefix=$(exec_prefix)" "infodir=$(infodir)" "libdir=$(libdir)" "prefix=$(prefix)" "AR=$(AR)" "AS=$(AS)" "CC=$(CC)" "CXX=$(CXX)" "LD=$(LD)" "LIBCFLAGS=$(LIBCFLAGS)" "NM=$(NM)" "PICFLAG=$(PICFLAG)" "RANLIB=$(RANLIB)" "DESTDIR=$(DESTDIR)" INCLUDES = -I. -I$(top_srcdir) $(ZINCS) -I$(top_srcdir)/../include *************** INCLUDES = -I. -I$(top_srcdir) $(ZINCS) *** 121,134 **** LIBIBERTY = ../libiberty/libiberty.a bin_PROGRAMS = jar grepjar ! jar_SOURCES = jartool.c dostime.c compress.c pushback.c jartool.h \ ! zipfile.h dostime.h compress.h pushback.h jar_LDADD = $(ZLIBS) $(LIBIBERTY) jar_DEPENDENCIES = $(ZDEPS) $(LIBIBERTY) ! grepjar_SOURCES = jargrep.c dostime.c compress.c pushback.c jartool.h \ ! zipfile.h dostime.h compress.h pushback.h grepjar_LDADD = $(ZLIBS) $(LIBIBERTY) grepjar_DEPENDENCIES = $(ZDEPS) $(LIBIBERTY) --- 88,99 ---- LIBIBERTY = ../libiberty/libiberty.a bin_PROGRAMS = jar grepjar ! jar_SOURCES = jartool.c dostime.c compress.c pushback.c jartool.h zipfile.h dostime.h compress.h pushback.h jar_LDADD = $(ZLIBS) $(LIBIBERTY) jar_DEPENDENCIES = $(ZDEPS) $(LIBIBERTY) ! grepjar_SOURCES = jargrep.c dostime.c compress.c pushback.c jartool.h zipfile.h dostime.h compress.h pushback.h grepjar_LDADD = $(ZLIBS) $(LIBIBERTY) grepjar_DEPENDENCIES = $(ZDEPS) $(LIBIBERTY) *************** AM_CFLAGS = @fastjar_warn_cflags@ *** 137,146 **** TEXINFO_TEX = ../gcc/doc/include/texinfo.tex info_TEXINFOS = fastjar.texi ! fastjar_TEXINFOS = \ ! ../gcc/doc/include/gcc-common.texi \ ! ../gcc/doc/include/fdl.texi \ ! ../gcc/doc/include/gpl.texi man_MANS = jar.1 grepjar.1 EXTRA_DIST = $(man_MANS) --- 102,108 ---- TEXINFO_TEX = ../gcc/doc/include/texinfo.tex info_TEXINFOS = fastjar.texi ! fastjar_TEXINFOS = ../gcc/doc/include/gcc-common.texi ../gcc/doc/include/gpl.texi man_MANS = jar.1 grepjar.1 EXTRA_DIST = $(man_MANS) *************** missing mkinstalldirs *** 185,191 **** DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) ! TAR = gtar GZIP_ENV = --best SOURCES = $(jar_SOURCES) $(grepjar_SOURCES) OBJECTS = $(jar_OBJECTS) $(grepjar_OBJECTS) --- 147,153 ---- DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) ! TAR = tar GZIP_ENV = --best SOURCES = $(jar_SOURCES) $(grepjar_SOURCES) OBJECTS = $(jar_OBJECTS) $(grepjar_OBJECTS) *************** uninstall-info: *** 369,375 **** else ii=; fi; \ list='$(INFO_DEPS)'; \ for file in $$list; do \ ! test -z "$ii" \ || install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file; \ done @$(NORMAL_UNINSTALL) --- 331,337 ---- else ii=; fi; \ list='$(INFO_DEPS)'; \ for file in $$list; do \ ! test -z "$$ii" \ || install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file; \ done @$(NORMAL_UNINSTALL) *************** TAGS: $(HEADERS) $(SOURCES) config.h.in *** 464,470 **** awk ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \ ! || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) -o $$here/TAGS) mostlyclean-tags: --- 426,432 ---- awk ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \ ! || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP)) mostlyclean-tags: diff -Nrc3pad gcc-3.3.1/gcc/aclocal.m4 gcc-3.3.2/gcc/aclocal.m4 *** gcc-3.3.1/gcc/aclocal.m4 2003-06-25 23:14:53.000000000 +0000 --- gcc-3.3.2/gcc/aclocal.m4 2003-10-01 21:56:34.000000000 +0000 *************** else *** 431,437 **** # Systems known to be in this category are Windows (all variants), # VMS, and Darwin. case "$host_os" in ! vms* | cygwin* | pe | mingw* | darwin*) gcc_cv_func_mmap_dev_zero=no ;; *) gcc_cv_func_mmap_dev_zero=yes;; --- 431,437 ---- # Systems known to be in this category are Windows (all variants), # VMS, and Darwin. case "$host_os" in ! vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00) gcc_cv_func_mmap_dev_zero=no ;; *) gcc_cv_func_mmap_dev_zero=yes;; diff -Nrc3pad gcc-3.3.1/gcc/ada/ChangeLog gcc-3.3.2/gcc/ada/ChangeLog *** gcc-3.3.1/gcc/ada/ChangeLog 2003-08-04 12:47:57.000000000 +0000 --- gcc-3.3.2/gcc/ada/ChangeLog 2003-10-16 19:43:01.000000000 +0000 *************** *** 1,3 **** --- 1,7 ---- + 2003-10-16 Release Manager + + * GCC 3.3.2 Released. + 2003-08-04 Release Manager * GCC 3.3.1 Released. diff -Nrc3pad gcc-3.3.1/gcc/ada/gnat_rm.info gcc-3.3.2/gcc/ada/gnat_rm.info *** gcc-3.3.1/gcc/ada/gnat_rm.info 2003-08-04 13:10:32.000000000 +0000 --- gcc-3.3.2/gcc/ada/gnat_rm.info 2003-10-16 20:24:02.000000000 +0000 *************** GNAT Reference Manual *** 25,31 **** GNAT, The GNU Ada 95 Compiler ! GNAT Version for GCC 3.3.1 Ada Core Technologies, Inc. --- 25,31 ---- GNAT, The GNU Ada 95 Compiler ! GNAT Version for GCC 3.3.2 Ada Core Technologies, Inc. diff -Nrc3pad gcc-3.3.1/gcc/ada/gnat_ug_unx.info gcc-3.3.2/gcc/ada/gnat_ug_unx.info *** gcc-3.3.1/gcc/ada/gnat_ug_unx.info 2003-08-04 13:10:30.000000000 +0000 --- gcc-3.3.2/gcc/ada/gnat_ug_unx.info 2003-10-16 20:24:00.000000000 +0000 *************** GNAT User's Guide *** 20,26 **** GNAT, The GNU Ada 95 Compiler ! GNAT Version for GCC 3.3.1 Ada Core Technologies, Inc. --- 20,26 ---- GNAT, The GNU Ada 95 Compiler ! GNAT Version for GCC 3.3.2 Ada Core Technologies, Inc. diff -Nrc3pad gcc-3.3.1/gcc/ada/gnat_ug_vms.info gcc-3.3.2/gcc/ada/gnat_ug_vms.info *** gcc-3.3.1/gcc/ada/gnat_ug_vms.info 2003-08-04 13:10:27.000000000 +0000 --- gcc-3.3.2/gcc/ada/gnat_ug_vms.info 2003-10-16 20:23:57.000000000 +0000 *************** GNAT User's Guide *** 20,26 **** GNAT, The GNU Ada 95 Compiler ! GNAT Version for GCC 3.3.1 Ada Core Technologies, Inc. --- 20,26 ---- GNAT, The GNU Ada 95 Compiler ! GNAT Version for GCC 3.3.2 Ada Core Technologies, Inc. diff -Nrc3pad gcc-3.3.1/gcc/ada/gnat_ug_vxw.info gcc-3.3.2/gcc/ada/gnat_ug_vxw.info *** gcc-3.3.1/gcc/ada/gnat_ug_vxw.info 2003-08-04 13:10:32.000000000 +0000 --- gcc-3.3.2/gcc/ada/gnat_ug_vxw.info 2003-10-16 20:24:02.000000000 +0000 *************** GNAT User's Guide *** 20,26 **** GNAT, The GNU Ada 95 Compiler ! GNAT Version for GCC 3.3.1 Ada Core Technologies, Inc. --- 20,26 ---- GNAT, The GNU Ada 95 Compiler ! GNAT Version for GCC 3.3.2 Ada Core Technologies, Inc. diff -Nrc3pad gcc-3.3.1/gcc/ada/gnat_ug_wnt.info gcc-3.3.2/gcc/ada/gnat_ug_wnt.info *** gcc-3.3.1/gcc/ada/gnat_ug_wnt.info 2003-08-04 13:10:29.000000000 +0000 --- gcc-3.3.2/gcc/ada/gnat_ug_wnt.info 2003-10-16 20:23:59.000000000 +0000 *************** GNAT User's Guide *** 20,26 **** GNAT, The GNU Ada 95 Compiler ! GNAT Version for GCC 3.3.1 Ada Core Technologies, Inc. --- 20,26 ---- GNAT, The GNU Ada 95 Compiler ! GNAT Version for GCC 3.3.2 Ada Core Technologies, Inc. diff -Nrc3pad gcc-3.3.1/gcc/alias.c gcc-3.3.2/gcc/alias.c *** gcc-3.3.1/gcc/alias.c 2003-07-07 07:31:42.000000000 +0000 --- gcc-3.3.2/gcc/alias.c 2003-08-12 05:26:11.000000000 +0000 *************** find_base_value (src) *** 796,802 **** return reg_base_value[regno]; } ! return src; case MEM: /* Check for an argument passed in memory. Only record in the --- 796,802 ---- return reg_base_value[regno]; } ! return 0; case MEM: /* Check for an argument passed in memory. Only record in the diff -Nrc3pad gcc-3.3.1/gcc/builtins.c gcc-3.3.2/gcc/builtins.c *** gcc-3.3.1/gcc/builtins.c 2003-06-25 22:48:25.000000000 +0000 --- gcc-3.3.2/gcc/builtins.c 2003-09-18 21:18:05.000000000 +0000 *************** expand_builtin_apply (function, argument *** 1344,1350 **** OK_DEFER_POP; /* Return the address of the result block. */ ! return copy_addr_to_reg (XEXP (result, 0)); } /* Perform an untyped return. */ --- 1344,1355 ---- OK_DEFER_POP; /* Return the address of the result block. */ ! result = copy_addr_to_reg (XEXP (result, 0)); ! #ifdef POINTERS_EXTEND_UNSIGNED ! if (GET_MODE (result) != ptr_mode) ! result = convert_memory_address (ptr_mode, result); ! #endif ! return result; } /* Perform an untyped return. */ diff -Nrc3pad gcc-3.3.1/gcc/calls.c gcc-3.3.2/gcc/calls.c *** gcc-3.3.1/gcc/calls.c 2003-07-18 02:58:25.000000000 +0000 --- gcc-3.3.2/gcc/calls.c 2003-09-06 21:26:46.000000000 +0000 *************** emit_call_1 (funexp, fndecl, funtype, st *** 641,646 **** --- 641,650 ---- if the context of the call as a whole permits. */ inhibit_defer_pop = old_inhibit_defer_pop; + /* Don't bother cleaning up after a noreturn function. */ + if (ecf_flags & (ECF_NORETURN | ECF_LONGJMP)) + return; + if (n_popped > 0) { if (!already_popped) *************** expand_call (exp, target, ignore) *** 3101,3106 **** --- 3105,3111 ---- /* Verify that we've deallocated all the stack we used. */ if (pass + && ! (flags & (ECF_NORETURN | ECF_LONGJMP)) && old_stack_allocated != stack_pointer_delta - pending_stack_adjust) abort (); *************** expand_call (exp, target, ignore) *** 3194,3199 **** --- 3199,3208 ---- } emit_barrier_after (last); + + /* Stack adjustments after a noreturn call are dead code. */ + stack_pointer_delta = old_stack_allocated; + pending_stack_adjust = 0; } if (flags & ECF_LONGJMP) *************** emit_library_call_value_1 (retval, orgfu *** 4017,4025 **** (save_mode, plus_constant (argblock, argvec[argnum].offset.constant))); ! argvec[argnum].save_area = gen_reg_rtx (save_mode); ! emit_move_insn (argvec[argnum].save_area, stack_area); } } --- 4026,4048 ---- (save_mode, plus_constant (argblock, argvec[argnum].offset.constant))); ! if (save_mode == BLKmode) ! { ! argvec[argnum].save_area ! = assign_stack_temp (BLKmode, ! argvec[argnum].size.constant, 0); ! emit_block_move (validize_mem (argvec[argnum].save_area), ! stack_area, ! GEN_INT (argvec[argnum].size.constant), ! BLOCK_OP_CALL_PARM); ! } ! else ! { ! argvec[argnum].save_area = gen_reg_rtx (save_mode); ! ! emit_move_insn (argvec[argnum].save_area, stack_area); ! } } } *************** emit_library_call_value_1 (retval, orgfu *** 4259,4265 **** plus_constant (argblock, argvec[count].offset.constant))); ! emit_move_insn (stack_area, argvec[count].save_area); } highest_outgoing_arg_in_use = initial_highest_arg_in_use; --- 4282,4294 ---- plus_constant (argblock, argvec[count].offset.constant))); ! if (save_mode == BLKmode) ! emit_block_move (stack_area, ! validize_mem (argvec[count].save_area), ! GEN_INT (argvec[count].size.constant), ! BLOCK_OP_CALL_PARM); ! else ! emit_move_insn (stack_area, argvec[count].save_area); } highest_outgoing_arg_in_use = initial_highest_arg_in_use; diff -Nrc3pad gcc-3.3.1/gcc/c-decl.c gcc-3.3.2/gcc/c-decl.c *** gcc-3.3.1/gcc/c-decl.c 2003-07-11 11:54:26.000000000 +0000 --- gcc-3.3.2/gcc/c-decl.c 2003-09-06 14:44:14.000000000 +0000 *************** static tree c_make_fname_decl *** 285,290 **** --- 285,291 ---- static void c_expand_body PARAMS ((tree, int, int)); static void warn_if_shadowing PARAMS ((tree, tree)); static bool flexible_array_type_p PARAMS ((tree)); + static int field_decl_cmp PARAMS ((const PTR, const PTR)); static tree set_save_expr_context PARAMS ((tree *, int *, void *)); /* States indicating how grokdeclarator() should handle declspecs marked *************** pushdecl (x) *** 2011,2018 **** while (TREE_CODE (element) == ARRAY_TYPE) element = TREE_TYPE (element); ! if (TREE_CODE (element) == RECORD_TYPE ! || TREE_CODE (element) == UNION_TYPE) b->incomplete_list = tree_cons (NULL_TREE, x, b->incomplete_list); } } --- 2012,2021 ---- while (TREE_CODE (element) == ARRAY_TYPE) element = TREE_TYPE (element); ! if ((TREE_CODE (element) == RECORD_TYPE ! || TREE_CODE (element) == UNION_TYPE) ! && (TREE_CODE (x) != TYPE_DECL ! || TREE_CODE (TREE_TYPE (x)) == ARRAY_TYPE)) b->incomplete_list = tree_cons (NULL_TREE, x, b->incomplete_list); } } *************** grokfield (filename, line, declarator, d *** 5114,5119 **** --- 5117,5144 ---- return value; } + /* Function to help qsort sort FIELD_DECLs by name order. */ + + + static int + field_decl_cmp (xp, yp) + const PTR xp; + const PTR yp; + { + tree *x = (tree *)xp, *y = (tree *)yp; + + if (DECL_NAME (*x) == DECL_NAME (*y)) + return 0; + if (DECL_NAME (*x) == NULL) + return -1; + if (DECL_NAME (*y) == NULL) + return 1; + if (DECL_NAME (*x) < DECL_NAME (*y)) + return -1; + return 1; + } + + /* Fill in the fields of a RECORD_TYPE or UNION_TYPE node, T. FIELDLIST is a chain of FIELD_DECL nodes for the fields. ATTRIBUTES are attributes to be applied to the structure. */ *************** finish_struct (t, fieldlist, attributes) *** 5358,5363 **** --- 5383,5435 ---- TYPE_FIELDS (t) = fieldlist; + /* If there are lots of fields, sort so we can look through them fast. + We arbitrarily consider 16 or more elts to be "a lot". */ + + { + int len = 0; + + for (x = fieldlist; x; x = TREE_CHAIN (x)) + { + if (len > 15 || DECL_NAME (x) == NULL) + break; + len += 1; + } + + if (len > 15) + { + tree *field_array; + char *space; + + len += list_length (x); + + /* Use the same allocation policy here that make_node uses, to + ensure that this lives as long as the rest of the struct decl. + All decls in an inline function need to be saved. */ + + space = ggc_alloc (sizeof (struct lang_type) + len * sizeof (tree)); + + len = 0; + field_array = &(((struct lang_type *) space)->elts[0]); + for (x = fieldlist; x; x = TREE_CHAIN (x)) + { + field_array[len++] = x; + + /* if there is anonymous struct or unoin break out of the loop */ + if (DECL_NAME (x) == NULL) + break; + } + /* found no anonymous struct/union add the TYPE_LANG_SPECIFIC. */ + if (x == NULL) + { + TYPE_LANG_SPECIFIC (t) = (struct lang_type *) space; + TYPE_LANG_SPECIFIC (t)->len = len; + field_array = &TYPE_LANG_SPECIFIC (t)->elts[0]; + qsort (field_array, len, sizeof (tree), field_decl_cmp); + } + } + } + for (x = TYPE_MAIN_VARIANT (t); x; x = TYPE_NEXT_VARIANT (x)) { TYPE_FIELDS (x) = TYPE_FIELDS (t); *************** finish_struct (t, fieldlist, attributes) *** 5391,5397 **** && TREE_CODE (decl) != TYPE_DECL) { layout_decl (decl, 0); ! /* This is a no-op in c-lang.c or something real in objc-act.c. */ if (flag_objc) objc_check_decl (decl); rest_of_decl_compilation (decl, NULL, toplevel, 0); --- 5463,5470 ---- && TREE_CODE (decl) != TYPE_DECL) { layout_decl (decl, 0); ! /* This is a no-op in c-lang.c or something real in ! objc-act.c. */ if (flag_objc) objc_check_decl (decl); rest_of_decl_compilation (decl, NULL, toplevel, 0); *************** finish_struct (t, fieldlist, attributes) *** 5427,5433 **** --- 5500,5510 ---- else current_binding_level->incomplete_list = TREE_CHAIN (x); } + else + prev = x; } + else + prev = x; } } *************** finish_function (nested, can_defer_p) *** 6440,6445 **** --- 6517,6529 ---- && DECL_INLINE (fndecl)) warning ("no return statement in function returning non-void"); + /* With just -W, complain only if function returns both with + and without a value. */ + if (extra_warnings + && current_function_returns_value + && current_function_returns_null) + warning ("this function may return with or without a value"); + /* Clear out memory we no longer need. */ free_after_parsing (cfun); /* Since we never call rest_of_compilation, we never clear *************** c_expand_body (fndecl, nested_p, can_def *** 6624,6636 **** if (nested_p) ggc_pop_context (); - /* With just -W, complain only if function returns both with - and without a value. */ - if (extra_warnings - && current_function_returns_value - && current_function_returns_null) - warning ("this function may return with or without a value"); - /* If requested, warn about function definitions where the function will return a value (usually of some struct or union type) which itself will take up a lot of stack space. */ --- 6708,6713 ---- diff -Nrc3pad gcc-3.3.1/gcc/cfgcleanup.c gcc-3.3.2/gcc/cfgcleanup.c *** gcc-3.3.1/gcc/cfgcleanup.c 2003-07-03 18:04:24.000000000 +0000 --- gcc-3.3.2/gcc/cfgcleanup.c 2003-09-07 12:54:30.000000000 +0000 *************** try_simplify_condjump (cbranch_block) *** 125,130 **** --- 125,132 ---- basic_block jump_block, jump_dest_block, cbranch_dest_block; edge cbranch_jump_edge, cbranch_fallthru_edge; rtx cbranch_insn; + rtx insn, next; + rtx end; /* Verify that there are exactly two successors. */ if (!cbranch_block->succ *************** try_simplify_condjump (cbranch_block) *** 177,182 **** --- 179,204 ---- cbranch_fallthru_edge->flags &= ~EDGE_FALLTHRU; update_br_prob_note (cbranch_block); + end = jump_block->end; + /* Deleting a block may produce unreachable code warning even when we are + not deleting anything live. Supress it by moving all the line number + notes out of the block. */ + for (insn = jump_block->head; insn != NEXT_INSN (jump_block->end); + insn = next) + { + next = NEXT_INSN (insn); + if (GET_CODE (insn) == NOTE && NOTE_LINE_NUMBER (insn) > 0) + { + if (insn == jump_block->end) + { + jump_block->end = PREV_INSN (insn); + if (insn == end) + break; + } + reorder_insns_nobb (insn, insn, end); + end = insn; + } + } /* Delete the block with the unconditional jump, and clean up the mess. */ flow_delete_block (jump_block); tidy_fallthru_edge (cbranch_jump_edge, cbranch_block, cbranch_dest_block); diff -Nrc3pad gcc-3.3.1/gcc/cfgloop.c gcc-3.3.2/gcc/cfgloop.c *** gcc-3.3.1/gcc/cfgloop.c 2002-09-22 02:03:15.000000000 +0000 --- gcc-3.3.2/gcc/cfgloop.c 2003-10-03 21:23:21.000000000 +0000 *************** flow_loops_find (loops, flags) *** 804,822 **** header->loop_depth = 0; for (e = header->pred; e; e = e->pred_next) { basic_block latch = e->src; if (e->flags & EDGE_ABNORMAL) ! { ! if (more_latches) ! { ! RESET_BIT (headers, header->index); ! num_loops--; ! } ! break; ! } /* Look for back edges where a predecessor is dominated by this block. A natural loop has a single entry --- 804,823 ---- header->loop_depth = 0; + /* If we have an abnormal predecessor, do not consider the + loop (not worth the problems). */ + for (e = header->pred; e; e = e->pred_next) + if (e->flags & EDGE_ABNORMAL) + break; + if (e) + continue; + for (e = header->pred; e; e = e->pred_next) { basic_block latch = e->src; if (e->flags & EDGE_ABNORMAL) ! abort (); /* Look for back edges where a predecessor is dominated by this block. A natural loop has a single entry diff -Nrc3pad gcc-3.3.1/gcc/cfgrtl.c gcc-3.3.2/gcc/cfgrtl.c *** gcc-3.3.1/gcc/cfgrtl.c 2003-04-22 23:08:15.000000000 +0000 --- gcc-3.3.2/gcc/cfgrtl.c 2003-09-17 07:17:08.000000000 +0000 *************** purge_dead_edges (bb) *** 2261,2268 **** continue; else if ((e->flags & EDGE_EH) && can_throw_internal (insn)) /* Keep the edges that correspond to exceptions thrown by ! this instruction. */ ! continue; /* We do not need this edge. */ bb->flags |= BB_DIRTY; --- 2261,2272 ---- continue; else if ((e->flags & EDGE_EH) && can_throw_internal (insn)) /* Keep the edges that correspond to exceptions thrown by ! this instruction and rematerialize the EDGE_ABNORMAL flag ! we just cleared above. */ ! { ! e->flags |= EDGE_ABNORMAL; ! continue; ! } /* We do not need this edge. */ bb->flags |= BB_DIRTY; diff -Nrc3pad gcc-3.3.1/gcc/ChangeLog gcc-3.3.2/gcc/ChangeLog *** gcc-3.3.1/gcc/ChangeLog 2003-08-04 12:48:12.000000000 +0000 --- gcc-3.3.2/gcc/ChangeLog 2003-10-16 19:43:18.000000000 +0000 *************** *** 1,3 **** --- 1,653 ---- + 2003-10-16 Release Manager + + * GCC 3.3.2 Released. + + 2003-10-14 Jason Merrill + + PR c/11885 + * stor-layout.c (update_alignment_for_field): Packed non-bit-fields + get byte alignment. + + 2003-10-14 Rainer Orth + + * fixinc/inclhack.def (alpha_pthread_gcc): New fix. + * fixinc/fixincl.x: Regenerate. + * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_GCC_CHECK]: New + testcase. + Fixes PR bootstrap/9330. + + 2003-10-14 Steven Bosscher + + PR target/11087 + Backport from gcc-3_3-rhl-branch and mainline. + + 2003-07-17 Jakub Jelinek + + * loop.c (basic_induction_var): Check if convert_modes + emitted any instructions. Remove them and return 0 if so. + + 2003-10-13 Matt Kraai + + PR target/11949 + Backport from mainline: + + 2003-05-05 Aldy Hernandez + + * testsuite/gcc.c-torture/compile/simd-6.c: New. + * c-typeck.c (digest_init): Handle arrays of vector constants. + + 2003-10-11 Eric Botcazou + + PR optimization/12544 + * function.c (put_var_into_stack): Don't generate ADDRESSOFs + for DECL_NONLOCAL decls. + + 2003-10-09 Eric Botcazou + + PR optimization/12510 + Backport from mainline: + + 2003-09-08 Jakub Jelinek + + * toplev.c (rest_of_compilation): Call split_all_insns before + regstack if optimizing but not scheduling after reload. + + 2003-10-09 Rainer Orth + + * fixinc/inclhack.def (stdio_va_list): Removed _ap fix. + (irix_stdio_va_list): Don't require leading printf, IRIX 6.5.21 + introduced some multi-line prototypes. + * fixinc/fixincl.x: Regenerate. + Fixes PR libf2c/12263. + + 2003-10-08 Timo Kokkonen + Eric Botcazou + + PR bootstrap/12490 + * scan-decls.c (MAX_EXTERN_C_BRACES): New preprocessor constant + to define the size of the extern_C_braces array. Set it to 200. + (scan_decls): Abort when extern_C_braces_length is out-of-bounds. + + 2003-10-06 Eric Botcazou + + PR optimization/12215 + * cse.c (cse_set_around_loop): Emit the move at the beginning + of the next basic block for trapping sets. + + 2003-10-06 Eric Botcazou + + PR optimization/11637 + * combine.c (adjust_for_new_dest): New function to adjust the + notes and LOG_LINKS when the dest of an insn has changed. + (try_combine): Use it when deleting the first insn of a two-insn + parallel or splitting a two-load parallel. + + 2003-10-04 Stephane Carrez + + * config/m68hc11/t-m68hc11-gas (MULTILIB_MATCHES): m68hcs12 is + identical to m68hc12 as far as libraries are concerned. + + 2003-10-04 Eric Botcazou + + PR c/12446 + * c-typeck.c (convert_for_assignment): Issue an error for + array to pointer assignment after default conversion. + (digest_init): Likewise. + + 2003-10-03 Gerald Pfeifer + + * doc/extend.texi (Function Attributes): Fix title of GNU C + Preprocessor manual. + (C++ Extensions): Fix reference to "Predefined Macros" in the + GNU C Preprocessor manual. + + 2003-10-03 Zdenek Dvorak + + PR/11883 + * cfgloop.c (flow_loops_find): Fix handling of abnormal edges. + + 2003-10-02 Mark Mitchell + + PR optimization/12180 + * c-objc-common.c (inline_forbidden_p): Do not permit inlining of + functions containing calls to __builtin_next_arg. + + 2003-10-02 Josef Zlomek + + PR/12292 + * combine.c (make_field_assignment): Check whether rtx's code + is CONST_INT before using INTVAL. + + 2003-10-02 Josef Zlomek + + Waldek Hebisch + PR/12072 + * varasm.c (compare_constant): Fix thinko. + + 2003-10-01 John David Anglin + + * aclocal.m4: Add hpux10* and hpux11.00 to /dev/zero blacklist. + * configure: Rebuilt. + + 2003-10-01 John David Anglin + + * aclocal.m4: Add ultrix* to /dev/zero blacklist. + * configure: Rebuilt. + + 2003-10-01 Rainer Orth + + * config.gcc (sparc-*-solaris2*): Handle Solaris 10 and up like + Solaris 7-9. + + * fixinc/inclhack.def (solaris_widec): Replace solaris2.[0-5]* by + wildcards which explicitly match micro versions. + * fixinc/fixincl.x: Regenerate. + + 2003-10-01 Richard Henderson + + * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Honor + DWARF_ALT_FRAME_RETURN_COLUMN. + * unwind-dw2.c (dwarf_reg_size_table): Expand by one. + (_Unwind_GetGR, _Unwind_SetGR): Validate lookup column. + (uw_frame_state_for): Return end-of-stack for null return address. + + * config/alpha/alpha.c (alpha_sa_mask): Add r31 for eh_return. + (alpha_expand_prologue): Store a zero for it. + (alpha_expand_epilogue): Don't reload it. + * config/alpha/alpha.h (DWARF_ALT_FRAME_RETURN_COLUMN): New. + * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Use column 64 + for the sigframe return address. + + 2003-10-01 Nick Clifton + + * Import this patch from mainline: + + 2003-02-01 John David Anglin + + * collect2.c (pexecute_pid): Rename to pid. + (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use + pid. + + 2003-09-23 David S. Miller + + * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Undefine + before redefining. + * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise. + + 2003-10-01 Eric Botcazou + + PR optimization/11753 + * config/sparc/sparc.md (length attribute) [fcc branch]: Add 1 to + the length in the non-V9 case. + + 2003-09-27 Eric Botcazou + + PR optimization/12340 + * loop.h (struct induction): Document the new semantics + of the 'same' field for bivs. + * unroll.c (biv_total_increment): Don't count the same + biv increment several times. + (loop_iterations) [GENERAL_INDUCT]: Likewise. + + 2003-09-26 John David Anglin + + PR bootstrap/12358 + * pa.c (output_bvb): Fix typo. + + 2003-09-24 Alexandre Oliva + + * cpplib.c (do_pragma): Reintroduce cb_line_change call in the + code path that calls a handler. + + 2003-09-23 Geoffrey Keating + + * config/t-darwin (crt2.o): Add stmp-int-hdrs to dependencies. + + * config/rs6000/rs6000.c (function_arg_pass_by_reference): Don't + pass zero-size arrays by reference. + (rs6000_va_arg): Likewise. + + 2003-09-22 Joel Sherrill + + * combine.c, config/mips/t-elf, config/c4x/rtems.h: Revert patches + which should not have been committed with other RTEMS changes. + + 2003-09-22 Olivier Hainque + + PR target/9786 + * reg-stack.c (convert_regs_1): Purge possible dead eh edges + after potential deletion of trapping insn. Avoids later ICE + from call to fixup_abnormal_edges. + (convert_regs_2): Stack the current block successors before + processing this block, that is, before the potential deletion of + dead edges by convert_regs_1, because these edges have been used + to initialize the predecessors count. + + 2003-09-21 Eric Botcazou + + PR target/12301 + * reorg.c (stop_search_p): Return 1 for insns that can + throw internally. + + 2003-09-19 Joel Sherrill + + * config/m68k/t-m68kbare, config/m68k/t-rtems: Change 68681 to + 68881. + + 2003-09-19 Ralf Corsepius + + * config/m68k/t-rtems (m68k-*-rtems*): New. + * config.gcc: Use config/m68k/t-rtems. + + 2003-09-19 Ralf Corsepius + + * config/mips/t-rtems: New. + * config.gcc (mips*-*-rtems*): Use config/mips/t-rtems. + + 2003-09-19 T. Papadopoulo + Eric Botcazou + + PR target/12166 + * config/sparc/sol2-c1.asm (start): Set __Argv if GCRT1. + + 2003-09-18 Mark Mitchell + + PR target/11184 + * builtins.c (expand_builtin_apply): Use convert_memory_address + before returning the value. + + 2003-09-17 Rainer Orth + + * configure.in (gcc_cv_as_hidden): Only disable if no GNU ld + detected. + * configure: Regenerate. + Fixes PR target/12248. + + 2003-09-17 Richard Henderson + + * config/alpha/alpha.c (alpha_expand_mov): Do gen_movdi_er_maybe_g + always during initial code generation. + * config/alpha/alpha.md (movdi_er_maybe_g): Don't conditionalize + on flag_inline_functions. + + 2003-09-17 Eric Botcazou + + PR optimization/11646 + * cfgrtl.c (purge_dead_edges) [JUMP_INSN]: Rematerialize the + EDGE_ABNORMAL flag for EH edges. + * toplev.c (rest_of_compilation): Delete unreachable blocks + if dead edges were purged after the first CSE pass. + + 2003-09-16 Jakub Jelinek + + * config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define. + * config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define. + * config/arm/linux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define. + * config/rs6000/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define. + * config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define. + * config/sh/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define. + * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define. + * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define. + + 2003-09-15 Alexandre Oliva + + * cpplib.c (do_pragma): Remove unnecessary cb_line_change. + + 2003-09-14 Alexandre Oliva + + * cppmain.c (cb_line_change): Revert 2003-08-04's change. + * c-lex.c (cb_line_change): Skip line changing whenever + cppmain.c would. + + 2003-09-11 Alexandre Oliva + + PR fortran/11522 + * dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function + for ultimate origin even if block is abstract. + + 2003-09-10 Martin Husemann + + PR target/11965 + * config/sparc/sparc.c (sparc_v8plus_shift): Protect against + constants greater than 63. + * config/sparc/sparc.md (ashlsi3, ashrsi3, lshrsi3): Protect + against constants greater than 31. + (*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against + constants greater than 63. + + 2003-09-09 Richard Henderson + + PR target/12224: + * config/ia64/ia64.c (ia64_expand_move): Properly truncate + result when op0 is SImode. + + 2003-09-09 Rainer Orth + + * configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if + assembler supports Sun syntax for cmov. + * configure: Regenerate. + * config.in: Li{ewise. + * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to + HAVE_AS_IX86_CMOV_SUN_SYNTAX. + * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove. + Fixes PR target/12101. + + 2003-09-09 Rainer Orth + + * configure.in (gcc_cv_as_hidden): Disable unless using GNU ld. + * configure: Regenerate. + + 2003-09-08 Mark Mitchell + + * mklibgcc.in (libcc.a): Depend on stmp-dirs. + (libgov.a): Likewise. + (libgcc_eh.a): Likewise. + + 2003-09-07 Eric Botcazou + + PR target/11689 + * config/i386/i386.c (memory_address_length): Fix computation when + the base is esp or ebp. + + 2003-09-07 Mark Mitchell + + PR c++/11852 + * varasm.c (initializer_constant_valid_p): Correct logic for + CONSTRUCTORs. + + Sun Sep 7 14:53:36 CEST 2003 Jan Hubicka + + * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch. + + 2003-09-07 Christian Ehrhardt + + PR optimization/11662 + Backport from mainline: + + 2003-07-10 Denis Chertykov + Richard Kenner + + * combine.c (gen_binary): Handle the CLOBBER rtx and + don't build a binary operation with it. + + Sat Sep 6 23:16:35 CEST 2003 Jan Hubicka + + * cfgcleanup.c (try_simplify_condjump): Fix my previous patch. + + PR target/12070 + * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments. + + PR opt/12082 + * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning. + + 2003-09-06 Steven Bosscher + + PR c/9862 + * c-decl.c (c_expand_body): Move return warning from here... + (finish_function): ...to here. + + 2003-09-05 Jan Hubicka + + PR target/8869 + * expr.c (convert_modes): Deal properly with integer to vector + constant conversion. + + 2003-09-05 Andrew Pinski + + PR c/10962 + * c-decl.c (field_decl_cmp): Add back function. + (finish_struct): Sort fields if number greater than 15 + and no anymous structs/unions. + + 2003-09-04 Jakub Jelinek + + * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2. + * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function. + * unwind.h (_Unwind_GetBSP): New prototype. + * libgcc-std.ver: Add empty GCC_3.3.2 version. + * mkmap-symver.awk: For symbol versions with no exported symbols, + don't put anything into version script, just change all symbol + versions which inherit from it to inherit from its ancestor. + + 2003-09-02 Kazuhiro Inaoka + + This is a fix for PR 10988: + * m32r.c (m32r_print_operand): Correct comment. + (m32r_expand_block_move): Correct the handling of leftover/small + blocks. + (m32r_block_small_immediate_operand): New predicate. + * m32r.md (movstrsi_small_internal): New pattern. + * m32r.h (PREDICATE_CODES): Add m32r_block_small_immediate_operand. + * m32r-protos.h: Add prototype for m32r_block_small_immediate_operand. + + 2003-08-25 Richard Henderson + + * config/i386.i386.c (ix86_return_in_memory): Reformat. Return true + for 16-byte vector modes if sse not enabled; warn for abi change. + (ix86_value_regno): Only return xmm0 for 16-byte vector types. + + 2003-08-25 Zack Weinberg + + * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove + commented-out logic to use DCE threads (if present), add + support for POSIX threads. + * config/ia64/hpux.h: Define CPP_SPEC to set appropriate + #defines for -pthread. Add -lpthread to LIB_SPEC when + -pthread. In both cases take -mt as a synonym for -pthread + for acc compatibility. + Define GTHREAD_USE_WEAK to 0. + * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC. + Remove old logic for DCE threads from LIB_SPEC. + * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0. + + 2003-08-25 Ulrich Weigand + + * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN. + + 2003-08-23 Jakub Jelinek + + * c-decl.c (pushdecl): Only put decls which finish_struct will do + something about onto incomplete chain. + (finish_struct): If not removing type from incomplete + list, update prev. + + 2003-08-23 Alexandre Oliva + + * cppmain.c (cb_line_change): Don't skip line changing while + parsing macro arguments in the top-level context. + + 2003-08-22 Mark Mitchell + + * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0. + + * config/ia64/ia64.c (ia64_output_mi_thunk): Support ILP32 mode. + + 2003-08-21 Kazu Hirata + + PR target/11805 + * config/h8300/h8300.md (two anonymous patterns): Remove. + + 2003-08-20 Kaveh R. Ghazi + + * stmt.c (expand_asm_operands): Avoid string concatenation. + * tree.c (default_flag_random_seed): Avoid ISO C definition. + * varasm.c (output_constant_def): Delete unused variable. + + 2003-08-18 Matt Kraai + + PR c/11207 + * c-typeck.c (set_init_index): Check for negative index. + + 2003-08-14 Mark Mitchell + + * version.c (version_string): Use "prerelease" not "experimental". + + 2003-08-11 James E Wilson + + PR optimization/11319 + PR target/10021 + * alias.c (find_base_value, case REG): Return 0 not src if no base + found. + + 2003-08-11 Kean Johnston + + * fixinc/inclhack.def (sco_math): Updated test text and select trigger + according to bkorb's review. + * fixinc/inclhack.def (sco_regset): Ditto. + * fixinc/inclhack.def (AAB_svr4_replace_byteorder): Remove all mach + lines so that this file is unconditionally replaced. + * fixinc/inclhack.def (sco_string): Use ansi/string.h as the first file + to check so that the Ultrix string.h check doesnt overwrite the test + case with its replacement text. + * fixinc/fixincl.x: Regenerated + * fixinc/tests/base/math.h: Updated sco_math result text + * fixinc/tests/base/ansi/string.h: New file. + * fixinc/tests/base/sys/regset.h: Compacted result text to fewer lines. + + 2003-08-11 Dale Johannesen + * config/rs6000/rs6000.md (ctrsi, ctrdi): Reenable handling of + decrement-and-branch farther away than 32 bits. + + 2003-08-10 Zack Weinberg + + Backport the following changes from mainline: + + 2003-05-08 David Mosberger + + * unwind-libunwind.c (_Unwind_FindEnclosingFunction): New. + + 2003-04-03 Richard Henderson + + * unwind-libunwind.c (_Unwind_GetCFA): New. + + 2003-03-27 David Mosberger + + * unwind-libunwind.c (uw_frame_state_for): Adjust for libunwind + v0.9 API change: replace read of UNW_REG_HANDLER with + unw_get_proc_info(). + (_Unwind_GetLanguageSpecificData): Replace read of UNW_REG_LSDA + with unw_get_proc_info(). + (_Unwind_GetRegionStart): Replace UNW_REG_PROC_START with + unw_get_proc_info(). + + 2003-03-13 Nathanael Nerode + + * unwind-libunwind.c: Replace "GNU CC" with "GCC". + + 2002-10-02 David Mosberger-Tang + + * config/t-libunwind: Mention unwind-sjlj.c. + * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__ + to #ifndef __USING_SJLJ_EXCEPTIONS__. + + * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions + before inclusion of config.gcc, but after configuring the compiler etc. + Determine default value for --enable-libunwind-exceptions based on + whether the host has a libunwind library (not guaranteed to be correct, + but it's a reasonable first guess and can always be overridden with an + explicit --enable/disable-libunwind-exceptions. + * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a + tmake_file when $use_libunwind_exceptions is enabled. + * Makefile.in: Update comment: LIB2ADDEH is updated not just by + ia64 (e.g., config/t-linux also updates it). + * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind + along with the shared version of libgcc since the latter requires + the former. + + * unwind-libunwind.c: New file. + * config/t-libunwind: Ditto. + + 2003-08-10 Richard Henderson + + PR target/11693 + * config/ia64/ia64.c (ia64_emit_nops): Skip L slots when + padding before inline assembly. + + 2003-08-10 John David Anglin + + PR c++/11712 + * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define + __STDC_EXT__ when using C++ dialect. + + 2003-08-08 Kean Johnston + + PR target/9877 + PR target/8336 + * config.gcc (sco3.2v5*): Use elfos.h and dbxelf.h in tm_file; + Eliminate need for t-sco5gas target fragment. + No longer build crt{begin,end}S.o, that were used for COFF support. + * tlink.c (recompile_files): Add missing = in putenv() calls. + * unwind-dw2.c (_Unwind_GetCFA): Correct return cast. + * config/i386/sco5.h: Major overhaul to remove all COFF support + * config/i386/t-sco5: Multilib for PIC support + * config/i386/t-sco5gas: Remove + * config/i386/i386.c: Check value as well as presence of + SUPPORTS_ONE_ONLY + * doc/install.texi: Update for modern SCO instructions + * fixinc/check.tpl: Allow user to specify diff program for make check + * fixinc/inclhack.def: Fix several SCO header files, namely string.h, + math.h, sys/byteorder.h and sys/regset.h. + * fixinc/fixincl.x: Regenerate + * fixinc/tests/base/math.h: Update + * fixinc/tests/base/sys/byteorder.h: Update + * fixinc/tests/base/string.h: Added + * fixinc/tests/base/sys/regset.h: Added + * testsuite/gcc.dg/nest.c: Allow failure on SCO (-pg not supported) + + 2003-08-08 Roger Sayle + + PR c/11370 + * calls.c (emit_call_1): Don't bother popping the arguments off of + the stack after a noreturn function call; The adjustment is dead. + (expand_call): Likewise. + + 2003-08-08 SUGIOKA Toshinobu + + * config.gcc: Do not override sh/t-linux with sh/t-le. + + 2003-08-08 Kaz Kojima + + * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath. + (LIB_SPEC): Set -lpthread always when -pthread set. Set -lieee + when -mieee-fp set and -shared not set. + + 2003-08-08 Richard Henderson + + PR target/11535 + * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove + RETURN_ADDRESS_POINTER_REGNUM. + (ia64_expand_prologue): Don't frob it. + (ia64_output_function_epilogue): Likewise. + (ia64_return_addr_rtx): New. + (ia64_split_return_addr_rtx): New. + * config/ia64/ia64-protos.h: Update. + * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement. + (RETURN_ADDRESS_POINTER_REGNUM): Remove. + (GENERAL_REGNO_P): Don't check it. + (AR_*_REGNUM): Renumber. + (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM. + (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise. + (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise. + (ELIMINABLE_REGS, REGISTER_NAMES): Likewise. + (RETURN_ADDR_RTX): Use ia64_return_addr_rtx. + * config/ia64/ia64.md (UNSPEC_RET_ADDR): New. + (movdi_ret_addr): New. + + 2003-08-03 Geoffrey Keating + + PR 11709 + * varasm.c (output_constant_def_contents): Use + ASM_DECLARE_CONSTANT_NAME if defined. + * doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME. + * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized + objects get at least one byte to prevent assembler problems. + (ASM_DECLARE_CONSTANT_NAME): New. + + 2003-08-07 Mark Mitchell + + * version.c (version_string): Reset to prerelease. + * doc/include/gcc-common.texi: Update version. + 2003-08-04 Release Manager * GCC 3.3.1 Released. *************** *** 8,30 **** 2003-08-03 Neil Booth ! PR preprocessor/11534 ! * cppexp.c (parse_defined): Warn only if -pedantic. 2003-08-03 Mark Mitchell * Makefile.in (ORDINARY_FLAGS_TO_PASS): Pass AR. ! * Makefile.in (STAGE2_FLAGS_TO_PASS): Pass AR_FOR_TARGET and RANLIB_FOR_TARGET. (stage1_build): Likewise. 2003-08-03 Jan Hubicka ! PR 10510 ! * config/pa/pa.h (MAYBE_FP_REG_CLASS_P): New. ! (SECONDARY_MEMORY_NEEDED): Use it. ! 2003-08-01 Geoffrey Keating PR 11709 (partial fix) --- 658,680 ---- 2003-08-03 Neil Booth ! PR preprocessor/11534 ! * cppexp.c (parse_defined): Warn only if -pedantic. 2003-08-03 Mark Mitchell * Makefile.in (ORDINARY_FLAGS_TO_PASS): Pass AR. ! * Makefile.in (STAGE2_FLAGS_TO_PASS): Pass AR_FOR_TARGET and RANLIB_FOR_TARGET. (stage1_build): Likewise. 2003-08-03 Jan Hubicka ! PR 10510 ! * config/pa/pa.h (MAYBE_FP_REG_CLASS_P): New. ! (SECONDARY_MEMORY_NEEDED): Use it. ! 2003-08-01 Geoffrey Keating PR 11709 (partial fix) *************** *** 40,57 **** PR target/10681 2003-06-27 J"orn Rennecke ! * flow.c (propagate_one_insn): Use proper test for a register ! being part of the return value. 2003-06-26 Richard Henderson ! * flow.c (propagate_one_insn): Preserve live-at-end registers ! across tail calls. 2003-06-26 Richard Henderson ! * config/ia64/ia64.c (ia64_expand_call): Don't add ar.pfs for sibcalls. ! (ia64_split_call): Only load descriptor for GP register inputs. ! (ia64_expand_epilogue): Check current_frame_info.mask not ! current_function_is_leaf to restore ar.pfs. 2003-07-26 Gerald Pfeifer --- 690,707 ---- PR target/10681 2003-06-27 J"orn Rennecke ! * flow.c (propagate_one_insn): Use proper test for a register ! being part of the return value. 2003-06-26 Richard Henderson ! * flow.c (propagate_one_insn): Preserve live-at-end registers ! across tail calls. 2003-06-26 Richard Henderson ! * config/ia64/ia64.c (ia64_expand_call): Don't add ar.pfs for sibcalls. ! (ia64_split_call): Only load descriptor for GP register inputs. ! (ia64_expand_epilogue): Check current_frame_info.mask not ! current_function_is_leaf to restore ar.pfs. 2003-07-26 Gerald Pfeifer *************** *** 62,76 **** Backport the folling patch. 2003-04-01 Aldy Hernandez ! ! PR/8878 ! * expr.c (expand_expr): Handle VECTOR_CST. ! (const_vector_from_tree): New. ! ! * varasm.c (output_constant): Handle VECTOR_CST. ! ! * c-typeck.c (digest_init): Build a vector constant from a ! VECTOR_TYPE. 2003-07-23 John David Anglin --- 712,726 ---- Backport the folling patch. 2003-04-01 Aldy Hernandez ! ! PR/8878 ! * expr.c (expand_expr): Handle VECTOR_CST. ! (const_vector_from_tree): New. ! ! * varasm.c (output_constant): Handle VECTOR_CST. ! ! * c-typeck.c (digest_init): Build a vector constant from a ! VECTOR_TYPE. 2003-07-23 John David Anglin *************** *** 81,91 **** PR optimization/10679 * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS. ! 2003-07-22 Bob Wilson ! * unwind-c.c (PERSONALITY_FUNCTION): Delete duplicate define. ! 2003-07-23 Dave Fluri * doc/extend.texi: Fixes to spelling, grammar, and diction. --- 731,741 ---- PR optimization/10679 * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS. ! 2003-07-22 Bob Wilson ! * unwind-c.c (PERSONALITY_FUNCTION): Delete duplicate define. ! 2003-07-23 Dave Fluri * doc/extend.texi: Fixes to spelling, grammar, and diction. *************** *** 97,111 **** 2003-07-17 Eric Botcazou ! PR optimization/11536 * unroll.c (loop_iterations): Do not replace a register holding the final value by its equivalent before the loop if it is not invariant. - 2003-07-17 Eric Botcazou - - * gcc.c-torture/execute/loop-16.c: New test. - 2003-07-21 Ben Elliston * doc/invoke.texi (V850 Options): Spelling fixes. --- 747,757 ---- 2003-07-17 Eric Botcazou ! PR optimization/11536 * unroll.c (loop_iterations): Do not replace a register holding the final value by its equivalent before the loop if it is not invariant. 2003-07-21 Ben Elliston * doc/invoke.texi (V850 Options): Spelling fixes. *************** *** 152,158 **** if the predicate doesn't satisfy. (gen_cond_trap): Allow prepare_operand to fail. Pass correct opnum argument to prepare_operand. ! 2003-07-18 Eric Botcazou PR optimization/11083 --- 798,804 ---- if the predicate doesn't satisfy. (gen_cond_trap): Allow prepare_operand to fail. Pass correct opnum argument to prepare_operand. ! 2003-07-18 Eric Botcazou PR optimization/11083 *************** *** 168,174 **** 2003-07-17 Nathanael Nerode PR bootstrap/11043 ! * config/arc/t-arc: Replace bogus references to "x-crtinit.o", "x-crtfini.o" with "crtinit.o", "crtfini.o". 2003-07-17 Eric Botcazou --- 814,820 ---- 2003-07-17 Nathanael Nerode PR bootstrap/11043 ! * config/arc/t-arc: Replace bogus references to "x-crtinit.o", "x-crtfini.o" with "crtinit.o", "crtfini.o". 2003-07-17 Eric Botcazou *************** *** 183,189 **** * doc/invoke.texi (SPARC Options): Document "-mimpure-text". 2003-07-17 Eric Botcazou ! Phil Edwards * doc/install.texi (*-*-solaris2*): Document the step-by-step procedure to bootstrap and install. --- 829,835 ---- * doc/invoke.texi (SPARC Options): Document "-mimpure-text". 2003-07-17 Eric Botcazou ! Phil Edwards * doc/install.texi (*-*-solaris2*): Document the step-by-step procedure to bootstrap and install. *************** *** 193,201 **** 2003-07-16 Richard Henderson PR target/10907 ! * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end ! even with !TARGET_CONST_GP. ! (ia64_function_ok_for_sibcall): Reject non-local functions. 2003-07-15 Geoffrey Keating --- 839,847 ---- 2003-07-16 Richard Henderson PR target/10907 ! * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end ! even with !TARGET_CONST_GP. ! (ia64_function_ok_for_sibcall): Reject non-local functions. 2003-07-15 Geoffrey Keating *************** *** 297,303 **** * c-decl.c (duplicate_decls): Re-invoke make_decl_rtl if the old decl had instantiated DECL_RTL. ! 2003-05-21 Danny Smith PR c++/9738 * config/i386/winnt.c (i386_pe_encode_section_info): Enable --- 943,949 ---- * c-decl.c (duplicate_decls): Re-invoke make_decl_rtl if the old decl had instantiated DECL_RTL. ! 2003-05-21 Danny Smith PR c++/9738 * config/i386/winnt.c (i386_pe_encode_section_info): Enable *************** *** 329,335 **** * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before loop_insn_emit_before. (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise. ! 2003-07-10 Dara Hazeghi PR bootstrap/10758 --- 975,981 ---- * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before loop_insn_emit_before. (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise. ! 2003-07-10 Dara Hazeghi PR bootstrap/10758 *************** *** 385,392 **** 2003-07-07 Dale Johannesen ! PR 10900 ! * config/rs6000/darwin-tramp.asm: Fix trampolines. 2003-07-07 Andrew Pinski --- 1031,1038 ---- 2003-07-07 Dale Johannesen ! PR 10900 ! * config/rs6000/darwin-tramp.asm: Fix trampolines. 2003-07-07 Andrew Pinski *************** *** 400,406 **** (-falign-jumps): Likewise. 2003-07-07 Richard Kenner ! Eric Botcazou PR optimization/11198 * alias.c (objects_must_conflict_p): Return 1 if the types have --- 1046,1052 ---- (-falign-jumps): Likewise. 2003-07-07 Richard Kenner ! Eric Botcazou PR optimization/11198 * alias.c (objects_must_conflict_p): Return 1 if the types have *************** Sun Apr 20 18:23:18 CEST 2003 Richard H *** 1567,1573 **** 2003-04-21 Mark Mitchell ! * config/i386/winnt.c (i386_pe_mark_dllimport): Make the new RTL have the same form as the old RTL. 2003-04-18 Mark Mitchell --- 2213,2219 ---- 2003-04-21 Mark Mitchell ! * config/i386/winnt.c (i386_pe_}ark_dllimport): Make the new RTL have the same form as the old RTL. 2003-04-18 Mark Mitchell *************** Mon Apr 7 15:56:30 CEST 2003 Jan Hubic *** 4172,4178 **** * df.c (df_uses_record): Handle CC0. 2003-01-25 Jan Hubicka ! Eric Botcazou PR opt/8492 * gcse.c (one_cprop_pass): Delete unreachable blocks. --- 4818,4824 ---- * df.c (df_uses_record): Handle CC0. 2003-01-25 Jan Hubicka ! Eric Botcazou PR opt/8492 * gcse.c (one_cprop_pass): Delete unreachable blocks. *************** Mon Apr 7 15:56:30 CEST 2003 Jan Hubic *** 4445,4451 **** 2003-01-16 Stephane Carrez ! * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC11. (expand_epilogue): Likewise. (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers. --- 5091,5097 ---- 2003-01-16 Stephane Carrez ! * config/m68hs11/m68hc11.c (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC11. (expand_epilogue): Likewise. (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers. *************** cp: *** 16996,16998 **** --- 17642,17645 ---- * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses. See ChangeLog.7 for earlier changes. + diff -Nrc3pad gcc-3.3.1/gcc/c-lex.c gcc-3.3.2/gcc/c-lex.c *** gcc-3.3.1/gcc/c-lex.c 2003-02-11 22:49:52.000000000 +0000 --- gcc-3.3.2/gcc/c-lex.c 2003-09-14 13:26:35.000000000 +0000 *************** static void *** 245,252 **** cb_line_change (pfile, token, parsing_args) cpp_reader *pfile ATTRIBUTE_UNUSED; const cpp_token *token; ! int parsing_args ATTRIBUTE_UNUSED; { src_lineno = SOURCE_LINE (map, token->line); } --- 245,255 ---- cb_line_change (pfile, token, parsing_args) cpp_reader *pfile ATTRIBUTE_UNUSED; const cpp_token *token; ! int parsing_args; { + if (token->type == CPP_EOF || parsing_args) + return; + src_lineno = SOURCE_LINE (map, token->line); } diff -Nrc3pad gcc-3.3.1/gcc/c-objc-common.c gcc-3.3.2/gcc/c-objc-common.c *** gcc-3.3.1/gcc/c-objc-common.c 2003-05-02 19:52:02.000000000 +0000 --- gcc-3.3.2/gcc/c-objc-common.c 2003-10-03 00:36:55.000000000 +0000 *************** inline_forbidden_p (nodep, walk_subtrees *** 94,99 **** --- 94,101 ---- arguments. */ case BUILT_IN_VA_START: case BUILT_IN_STDARG_START: + case BUILT_IN_NEXT_ARG: + case BUILT_IN_VA_END: #if 0 /* Functions that need information about the address of the caller can't (shouldn't?) be inlined. */ diff -Nrc3pad gcc-3.3.1/gcc/collect2.c gcc-3.3.2/gcc/collect2.c *** gcc-3.3.1/gcc/collect2.c 2003-03-31 01:12:20.000000000 +0000 --- gcc-3.3.2/gcc/collect2.c 2003-10-01 14:08:34.000000000 +0000 *************** struct obstack temporary_obstack; *** 234,240 **** char * temporary_firstobj; /* Holds the return value of pexecute. */ ! int pexecute_pid; /* Structure to hold all the directories in which to search for files to execute. */ --- 234,240 ---- char * temporary_firstobj; /* Holds the return value of pexecute. */ ! int pid; /* Structure to hold all the directories in which to search for files to execute. */ *************** collect_wait (prog) *** 1499,1505 **** { int status; ! pwait (pexecute_pid, &status, 0); if (status) { if (WIFSIGNALED (status)) --- 1499,1505 ---- { int status; ! pwait (pid, &status, 0); if (status) { if (WIFSIGNALED (status)) *************** collect_execute (prog, argv, redir) *** 1588,1596 **** dup2 (redir_handle, STDERR_FILENO); } ! pexecute_pid = pexecute (argv[0], argv, argv[0], NULL, ! &errmsg_fmt, &errmsg_arg, ! (PEXECUTE_FIRST | PEXECUTE_LAST | PEXECUTE_SEARCH)); if (redir) { --- 1588,1596 ---- dup2 (redir_handle, STDERR_FILENO); } ! pid = pexecute (argv[0], argv, argv[0], NULL, ! &errmsg_fmt, &errmsg_arg, ! (PEXECUTE_FIRST | PEXECUTE_LAST | PEXECUTE_SEARCH)); if (redir) { *************** collect_execute (prog, argv, redir) *** 1602,1608 **** close (redir_handle); } ! if (pexecute_pid == -1) fatal_perror (errmsg_fmt, errmsg_arg); } --- 1602,1608 ---- close (redir_handle); } ! if (pid == -1) fatal_perror (errmsg_fmt, errmsg_arg); } *************** scan_prog_file (prog_name, which_pass) *** 2069,2075 **** void (*quit_handler) PARAMS ((int)); char *real_nm_argv[4]; const char **nm_argv = (const char **) real_nm_argv; - int pid; int argc = 0; int pipe_fd[2]; char *p, buf[1024]; --- 2069,2074 ---- *************** scan_libraries (prog_name) *** 2514,2520 **** void (*quit_handler) PARAMS ((int)); char *real_ldd_argv[4]; const char **ldd_argv = (const char **) real_ldd_argv; - int pid; int argc = 0; int pipe_fd[2]; char buf[1024]; --- 2513,2518 ---- diff -Nrc3pad gcc-3.3.1/gcc/combine.c gcc-3.3.2/gcc/combine.c *** gcc-3.3.1/gcc/combine.c 2003-03-24 11:37:32.000000000 +0000 --- gcc-3.3.2/gcc/combine.c 2003-10-06 08:58:54.000000000 +0000 *************** static int insn_cuid PARAMS ((rtx)); *** 424,429 **** --- 424,430 ---- static void record_promoted_value PARAMS ((rtx, rtx)); static rtx reversed_comparison PARAMS ((rtx, enum machine_mode, rtx, rtx)); static enum rtx_code combine_reversed_comparison_code PARAMS ((rtx)); + static void adjust_for_new_dest PARAMS ((rtx)); /* Substitute NEWVAL, an rtx expression, into INTO, a place in some insn. The substitution can be undone by undo_all. If INTO is already *************** cant_combine_insn_p (insn) *** 1502,1507 **** --- 1503,1536 ---- return 0; } + /* Adjust INSN after we made a change to its destination. + + Changing the destination can invalidate notes that say something about + the results of the insn and a LOG_LINK pointing to the insn. */ + + static void + adjust_for_new_dest (insn) + rtx insn; + { + rtx *loc; + + /* For notes, be conservative and simply remove them. */ + loc = ®_NOTES (insn); + while (*loc) + { + enum reg_note kind = REG_NOTE_KIND (*loc); + if (kind == REG_EQUAL || kind == REG_EQUIV) + *loc = XEXP (*loc, 1); + else + loc = &XEXP (*loc, 1); + } + + /* The new insn will have a destination that was previously the destination + of an insn just above it. Call distribute_links to make a LOG_LINK from + the next use of that destination. */ + distribute_links (gen_rtx_INSN_LIST (VOIDmode, insn, NULL_RTX)); + } + /* Try to combine the insns I1 and I2 into I3. Here I1 and I2 appear earlier than I3. I1 can be zero; then we combine just I2 into I3. *************** try_combine (i3, i2, i1, new_direct_jump *** 2124,2129 **** --- 2153,2166 ---- { newpat = XVECEXP (newpat, 0, 1); insn_code_number = recog_for_combine (&newpat, i3, &new_i3_notes); + + if (insn_code_number >= 0) + { + /* If we will be able to accept this, we have made a change to the + destination of I3. This requires us to do a few adjustments. */ + PATTERN (i3) = newpat; + adjust_for_new_dest (i3); + } } /* If we were combining three insns and the result is a simple SET *************** try_combine (i3, i2, i1, new_direct_jump *** 2394,2409 **** rtx link; /* If we will be able to accept this, we have made a change to the ! destination of I3. This can invalidate a LOG_LINKS pointing ! to I3. No other part of combine.c makes such a transformation. ! ! The new I3 will have a destination that was previously the ! destination of I1 or I2 and which was used in i2 or I3. Call ! distribute_links to make a LOG_LINK from the next use of ! that destination. */ ! PATTERN (i3) = newpat; ! distribute_links (gen_rtx_INSN_LIST (VOIDmode, i3, NULL_RTX)); /* I3 now uses what used to be its destination and which is now I2's destination. That means we need a LOG_LINK from --- 2431,2439 ---- rtx link; /* If we will be able to accept this, we have made a change to the ! destination of I3. This requires us to do a few adjustments. */ PATTERN (i3) = newpat; ! adjust_for_new_dest (i3); /* I3 now uses what used to be its destination and which is now I2's destination. That means we need a LOG_LINK from *************** make_field_assignment (x) *** 7812,7817 **** --- 7842,7848 ---- && (GET_MODE_SIZE (GET_MODE (XEXP (src, 0))) < GET_MODE_SIZE (GET_MODE (SUBREG_REG (XEXP (src, 0))))) && GET_CODE (SUBREG_REG (XEXP (src, 0))) == ROTATE + && GET_CODE (XEXP (SUBREG_REG (XEXP (src, 0)), 0)) == CONST_INT && INTVAL (XEXP (SUBREG_REG (XEXP (src, 0)), 0)) == -2 && rtx_equal_for_field_assignment_p (dest, XEXP (src, 1))) { *************** gen_binary (code, mode, op0, op1) *** 10209,10214 **** --- 10240,10250 ---- rtx result; rtx tem; + if (GET_CODE (op0) == CLOBBER) + return op0; + else if (GET_CODE (op1) == CLOBBER) + return op1; + if (GET_RTX_CLASS (code) == 'c' && swap_commutative_operands_p (op0, op1)) tem = op0, op0 = op1, op1 = tem; *************** distribute_notes (notes, from_insn, i3, *** 12569,12574 **** --- 12605,12611 ---- abort (); break; + case REG_ALWAYS_RETURN: case REG_NORETURN: case REG_SETJMP: /* These notes must remain with the call. It should not be *************** distribute_notes (notes, from_insn, i3, *** 13070,13077 **** } /* Similarly to above, distribute the LOG_LINKS that used to be present on ! I3, I2, and I1 to new locations. This is also called in one case to ! add a link pointing at I3 when I3's destination is changed. */ static void distribute_links (links) --- 13107,13114 ---- } /* Similarly to above, distribute the LOG_LINKS that used to be present on ! I3, I2, and I1 to new locations. This is also called to add a link ! pointing at I3 when I3's destination is changed. */ static void distribute_links (links) diff -Nrc3pad gcc-3.3.1/gcc/config/alpha/alpha.c gcc-3.3.2/gcc/config/alpha/alpha.c *** gcc-3.3.1/gcc/config/alpha/alpha.c 2003-03-24 17:59:37.000000000 +0000 --- gcc-3.3.2/gcc/config/alpha/alpha.c 2003-10-01 16:58:38.000000000 +0000 *************** alpha_expand_mov (mode, operands) *** 2949,2960 **** compiled at the end of compilation. In the meantime, someone can re-encode-section-info on some symbol changing it e.g. from global to local-not-small. If this happens, we'd have emitted a plain ! load rather than a high+losum load and not recognize the insn. ! ! So if rtl inlining is in effect, we delay the global/not-global ! decision until rest_of_compilation by wrapping it in an ! UNSPEC_SYMBOL. */ ! if (TARGET_EXPLICIT_RELOCS && flag_inline_functions && rtx_equal_function_value_matters && global_symbolic_operand (operands[1], mode)) { --- 2949,2956 ---- compiled at the end of compilation. In the meantime, someone can re-encode-section-info on some symbol changing it e.g. from global to local-not-small. If this happens, we'd have emitted a plain ! load rather than a high+losum load and not recognize the insn. */ ! if (TARGET_EXPLICIT_RELOCS && rtx_equal_function_value_matters && global_symbolic_operand (operands[1], mode)) { *************** alpha_sa_mask (imaskP, fmaskP) *** 6748,6761 **** /* We need to restore these for the handler. */ if (current_function_calls_eh_return) ! for (i = 0; ; ++i) ! { ! unsigned regno = EH_RETURN_DATA_REGNO (i); ! if (regno == INVALID_REGNUM) ! break; ! imask |= 1L << regno; ! } ! /* If any register spilled, then spill the return address also. */ /* ??? This is required by the Digital stack unwind specification and isn't needed if we're doing Dwarf2 unwinding. */ --- 6744,6764 ---- /* We need to restore these for the handler. */ if (current_function_calls_eh_return) ! { ! for (i = 0; ; ++i) ! { ! unsigned regno = EH_RETURN_DATA_REGNO (i); ! if (regno == INVALID_REGNUM) ! break; ! imask |= 1L << regno; ! } ! ! /* Glibc likes to use $31 as an unwind stopper for crt0. To ! avoid hackery in unwind-dw2.c, we need to actively store a ! zero in the prologue of _Unwind_RaiseException et al. */ ! imask |= 1UL << 31; ! } ! /* If any register spilled, then spill the return address also. */ /* ??? This is required by the Digital stack unwind specification and isn't needed if we're doing Dwarf2 unwinding. */ *************** alpha_expand_prologue () *** 7210,7216 **** } /* Now save any other registers required to be saved. */ ! for (i = 0; i < 32; i++) if (imask & (1L << i)) { mem = gen_rtx_MEM (DImode, plus_constant (sa_reg, reg_offset)); --- 7213,7219 ---- } /* Now save any other registers required to be saved. */ ! for (i = 0; i < 31; i++) if (imask & (1L << i)) { mem = gen_rtx_MEM (DImode, plus_constant (sa_reg, reg_offset)); *************** alpha_expand_prologue () *** 7219,7225 **** reg_offset += 8; } ! for (i = 0; i < 32; i++) if (fmask & (1L << i)) { mem = gen_rtx_MEM (DFmode, plus_constant (sa_reg, reg_offset)); --- 7222,7246 ---- reg_offset += 8; } ! /* Store a zero if requested for unwinding. */ ! if (imask & (1UL << 31)) ! { ! rtx insn, t; ! ! mem = gen_rtx_MEM (DImode, plus_constant (sa_reg, reg_offset)); ! set_mem_alias_set (mem, alpha_sr_alias_set); ! insn = emit_move_insn (mem, const0_rtx); ! ! RTX_FRAME_RELATED_P (insn) = 1; ! t = gen_rtx_REG (Pmode, 31); ! t = gen_rtx_SET (VOIDmode, mem, t); ! t = gen_rtx_EXPR_LIST (REG_FRAME_RELATED_EXPR, t, REG_NOTES (insn)); ! REG_NOTES (insn) = t; ! ! reg_offset += 8; ! } ! ! for (i = 0; i < 31; i++) if (fmask & (1L << i)) { mem = gen_rtx_MEM (DFmode, plus_constant (sa_reg, reg_offset)); *************** alpha_expand_epilogue () *** 7625,7631 **** reg_offset += 8; imask &= ~(1L << REG_RA); ! for (i = 0; i < 32; ++i) if (imask & (1L << i)) { if (i == HARD_FRAME_POINTER_REGNUM && fp_is_frame_pointer) --- 7646,7652 ---- reg_offset += 8; imask &= ~(1L << REG_RA); ! for (i = 0; i < 31; ++i) if (imask & (1L << i)) { if (i == HARD_FRAME_POINTER_REGNUM && fp_is_frame_pointer) *************** alpha_expand_epilogue () *** 7639,7645 **** reg_offset += 8; } ! for (i = 0; i < 32; ++i) if (fmask & (1L << i)) { mem = gen_rtx_MEM (DFmode, plus_constant(sa_reg, reg_offset)); --- 7660,7669 ---- reg_offset += 8; } ! if (imask & (1UL << 31)) ! reg_offset += 8; ! ! for (i = 0; i < 31; ++i) if (fmask & (1L << i)) { mem = gen_rtx_MEM (DFmode, plus_constant(sa_reg, reg_offset)); diff -Nrc3pad gcc-3.3.1/gcc/config/alpha/alpha.h gcc-3.3.2/gcc/config/alpha/alpha.h *** gcc-3.3.1/gcc/config/alpha/alpha.h 2003-01-31 23:51:22.000000000 +0000 --- gcc-3.3.2/gcc/config/alpha/alpha.h 2003-10-01 16:58:39.000000000 +0000 *************** do { \ *** 1276,1281 **** --- 1276,1282 ---- /* Before the prologue, RA lives in $26. */ #define INCOMING_RETURN_ADDR_RTX gen_rtx_REG (Pmode, 26) #define DWARF_FRAME_RETURN_COLUMN DWARF_FRAME_REGNUM (26) + #define DWARF_ALT_FRAME_RETURN_COLUMN DWARF_FRAME_REGNUM (64) /* Describe how we implement __builtin_eh_return. */ #define EH_RETURN_DATA_REGNO(N) ((N) < 4 ? (N) + 16 : INVALID_REGNUM) diff -Nrc3pad gcc-3.3.1/gcc/config/alpha/alpha.md gcc-3.3.2/gcc/config/alpha/alpha.md *** gcc-3.3.1/gcc/config/alpha/alpha.md 2003-06-24 17:49:25.000000000 +0000 --- gcc-3.3.2/gcc/config/alpha/alpha.md 2003-09-17 23:29:20.000000000 +0000 *************** fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi *** 5399,5405 **** [(set (match_operand:DI 0 "register_operand" "=r") (unspec:DI [(match_operand:DI 1 "symbolic_operand" "")] UNSPEC_SYMBOL))] ! "TARGET_EXPLICIT_RELOCS && flag_inline_functions" "#" "" [(set (match_dup 0) (match_dup 1))] --- 5399,5405 ---- [(set (match_operand:DI 0 "register_operand" "=r") (unspec:DI [(match_operand:DI 1 "symbolic_operand" "")] UNSPEC_SYMBOL))] ! "TARGET_EXPLICIT_RELOCS" "#" "" [(set (match_dup 0) (match_dup 1))] diff -Nrc3pad gcc-3.3.1/gcc/config/alpha/linux.h gcc-3.3.2/gcc/config/alpha/linux.h *** gcc-3.3.1/gcc/config/alpha/linux.h 2003-02-22 18:35:00.000000000 +0000 --- gcc-3.3.2/gcc/config/alpha/linux.h 2003-10-01 16:58:40.000000000 +0000 *************** Boston, MA 02111-1307, USA. */ *** 61,66 **** --- 61,69 ---- #define TARGET_HAS_F_SETLKW + #define LINK_GCC_C_SEQUENCE_SPEC \ + "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}" + /* Do code reading to identify a signal frame, and set the frame state data appropriately. See unwind-dw2.c for the structs. */ *************** Boston, MA 02111-1307, USA. */ *** 78,83 **** --- 81,88 ---- if (pc_[0] != 0x47fe0410 /* mov $30,$16 */ \ || pc_[2] != 0x00000083 /* callsys */) \ break; \ + if ((CONTEXT)->cfa == 0) \ + break; \ if (pc_[1] == 0x201f0067) /* lda $0,NR_sigreturn */ \ sc_ = (CONTEXT)->cfa; \ else if (pc_[1] == 0x201f015f) /* lda $0,NR_rt_sigreturn */ \ *************** Boston, MA 02111-1307, USA. */ *** 106,113 **** (FS)->regs.reg[i_+32].loc.offset \ = (long)&sc_->sc_fpregs[i_] - new_cfa_; \ } \ ! (FS)->regs.reg[31].how = REG_SAVED_OFFSET; \ ! (FS)->regs.reg[31].loc.offset = (long)&sc_->sc_pc - new_cfa_; \ ! (FS)->retaddr_column = 31; \ goto SUCCESS; \ } while (0) --- 111,118 ---- (FS)->regs.reg[i_+32].loc.offset \ = (long)&sc_->sc_fpregs[i_] - new_cfa_; \ } \ ! (FS)->regs.reg[64].how = REG_SAVED_OFFSET; \ ! (FS)->regs.reg[64].loc.offset = (long)&sc_->sc_pc - new_cfa_; \ ! (FS)->retaddr_column = 64; \ goto SUCCESS; \ } while (0) diff -Nrc3pad gcc-3.3.1/gcc/config/arm/linux-elf.h gcc-3.3.2/gcc/config/arm/linux-elf.h *** gcc-3.3.1/gcc/config/arm/linux-elf.h 2002-12-10 10:55:31.000000000 +0000 --- gcc-3.3.2/gcc/config/arm/linux-elf.h 2003-09-16 15:39:23.000000000 +0000 *************** Boston, MA 02111-1307, USA. */ *** 123,125 **** --- 123,128 ---- #undef CC1_SPEC #define CC1_SPEC "%{profile:-p}" + + #define LINK_GCC_C_SEQUENCE_SPEC \ + "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}" diff -Nrc3pad gcc-3.3.1/gcc/config/darwin.h gcc-3.3.2/gcc/config/darwin.h *** gcc-3.3.1/gcc/config/darwin.h 2002-12-20 01:49:57.000000000 +0000 --- gcc-3.3.2/gcc/config/darwin.h 2003-08-08 21:17:57.000000000 +0000 *************** do { text_section (); \ *** 380,385 **** --- 380,389 ---- || DECL_INITIAL (DECL)) \ (* targetm.encode_section_info) (DECL, false); \ ASM_OUTPUT_LABEL (FILE, xname); \ + /* Darwin doesn't support zero-size objects, so give them a \ + byte. */ \ + if (tree_low_cst (DECL_SIZE_UNIT (DECL), 1) == 0) \ + assemble_zeros (1); \ } while (0) #define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \ *************** do { text_section (); \ *** 401,406 **** --- 405,419 ---- machopic_output_possible_stub_label (FILE, xname); \ } while (0) + #define ASM_DECLARE_CONSTANT_NAME(FILE, NAME, EXP, SIZE) \ + do { \ + ASM_OUTPUT_LABEL (FILE, NAME); \ + /* Darwin doesn't support zero-size objects, so give them a \ + byte. */ \ + if ((SIZE) == 0) \ + assemble_zeros (1); \ + } while (0) + /* Wrap new method names in quotes so the assembler doesn't gag. Make Objective-C internal symbols local. */ diff -Nrc3pad gcc-3.3.1/gcc/config/h8300/h8300.md gcc-3.3.2/gcc/config/h8300/h8300.md *** gcc-3.3.1/gcc/config/h8300/h8300.md 2003-02-18 19:17:56.000000000 +0000 --- gcc-3.3.2/gcc/config/h8300/h8300.md 2003-08-21 13:08:48.000000000 +0000 *************** *** 621,663 **** [(set_attr "length" "2") (set_attr "cc" "set_zn")]) - (define_insn "" - [(set (cc0) - (and:HI (match_operand:HI 0 "register_operand" "r") - (match_operand:HI 1 "single_one_operand" "n")))] - "" - "* - { - operands[1] = GEN_INT (INTVAL (operands[1]) & 0xffff); - if (INTVAL (operands[1]) > 128) - { - operands[1] = GEN_INT (INTVAL (operands[1]) >> 8); - return \"btst\\t%V1,%t0\"; - } - return \"btst\\t%V1,%s0\"; - }" - [(set_attr "length" "2") - (set_attr "cc" "set_zn")]) - - (define_insn "" - [(set (cc0) - (and:SI (match_operand:SI 0 "register_operand" "r") - (match_operand:SI 1 "single_one_operand" "n")))] - "(TARGET_H8300H || TARGET_H8300S) - && (INTVAL (operands[1]) & 0xffff) != 0" - "* - { - operands[1] = GEN_INT (INTVAL (operands[1]) & 0xffff); - if (INTVAL (operands[1]) > 128) - { - operands[1] = GEN_INT (INTVAL (operands[1]) >> 8); - return \"btst\\t%V1,%x0\"; - } - return \"btst\\t%V1,%w0\"; - }" - [(set_attr "length" "2") - (set_attr "cc" "set_zn")]) - (define_insn "tstqi" [(set (cc0) (match_operand:QI 0 "register_operand" "r"))] "" --- 621,626 ---- diff -Nrc3pad gcc-3.3.1/gcc/config/i386/i386.c gcc-3.3.2/gcc/config/i386/i386.c *** gcc-3.3.1/gcc/config/i386/i386.c 2003-07-08 19:16:44.000000000 +0000 --- gcc-3.3.2/gcc/config/i386/i386.c 2003-09-09 19:51:59.000000000 +0000 *************** int *** 2463,2485 **** ix86_return_in_memory (type) tree type; { ! int needed_intregs, needed_sseregs; if (TARGET_64BIT) { ! return !examine_argument (TYPE_MODE (type), type, 1, ! &needed_intregs, &needed_sseregs); ! } ! else ! { ! if (TYPE_MODE (type) == BLKmode ! || (VECTOR_MODE_P (TYPE_MODE (type)) ! && int_size_in_bytes (type) == 8) ! || (int_size_in_bytes (type) > 12 && TYPE_MODE (type) != TImode ! && TYPE_MODE (type) != TFmode ! && !VECTOR_MODE_P (TYPE_MODE (type)))) return 1; ! return 0; } } /* Define how to find the value returned by a library function --- 2463,2517 ---- ix86_return_in_memory (type) tree type; { ! int needed_intregs, needed_sseregs, size; ! enum machine_mode mode = TYPE_MODE (type); ! if (TARGET_64BIT) + return !examine_argument (mode, type, 1, &needed_intregs, &needed_sseregs); + + if (mode == BLKmode) + return 1; + + size = int_size_in_bytes (type); + + if (VECTOR_MODE_P (mode) || mode == TImode) { ! /* User-created vectors small enough to fit in EAX. */ ! if (size < 8) ! return 0; ! ! /* MMX/3dNow values are returned on the stack, since we've ! got to EMMS/FEMMS before returning. */ ! if (size == 8) return 1; ! ! /* SSE values are returned in XMM0. */ ! /* ??? Except when it doesn't exist? We have a choice of ! either (1) being abi incompatible with a -march switch, ! or (2) generating an error here. Given no good solution, ! I think the safest thing is one warning. The user won't ! be able to use -Werror, but... */ ! if (size == 16) ! { ! static bool warned; ! ! if (TARGET_SSE) ! return 0; ! ! if (!warned) ! { ! warned = true; ! warning ("SSE vector return without SSE enabled changes the ABI"); ! } ! return 1; ! } } + + if (mode == TFmode) + return 0; + if (size > 12) + return 1; + return 0; } /* Define how to find the value returned by a library function *************** static int *** 2514,2523 **** ix86_value_regno (mode) enum machine_mode mode; { if (GET_MODE_CLASS (mode) == MODE_FLOAT && TARGET_FLOAT_RETURNS_IN_80387) return FIRST_FLOAT_REG; ! if (mode == TImode || VECTOR_MODE_P (mode)) return FIRST_SSE_REG; return 0; } --- 2546,2559 ---- ix86_value_regno (mode) enum machine_mode mode; { + /* Floating point return values in %st(0). */ if (GET_MODE_CLASS (mode) == MODE_FLOAT && TARGET_FLOAT_RETURNS_IN_80387) return FIRST_FLOAT_REG; ! /* 16-byte vector modes in %xmm0. See ix86_return_in_memory for where ! we prevent this case when sse is not available. */ ! if (mode == TImode || (VECTOR_MODE_P (mode) && GET_MODE_SIZE (mode) == 16)) return FIRST_SSE_REG; + /* Everything else in %eax. */ return 0; } *************** ix86_setup_frame_addresses () *** 4230,4236 **** cfun->machine->accesses_prev_frame = 1; } ! #if defined(HAVE_GAS_HIDDEN) && defined(SUPPORTS_ONE_ONLY) # define USE_HIDDEN_LINKONCE 1 #else # define USE_HIDDEN_LINKONCE 0 --- 4266,4272 ---- cfun->machine->accesses_prev_frame = 1; } ! #if defined(HAVE_GAS_HIDDEN) && (defined(SUPPORTS_ONE_ONLY) && SUPPORTS_ONE_ONLY) # define USE_HIDDEN_LINKONCE 1 #else # define USE_HIDDEN_LINKONCE 0 *************** get_some_local_dynamic_name_1 (px, data) *** 6701,6708 **** C -- print opcode suffix for set/cmov insn. c -- like C, but print reversed condition F,f -- likewise, but for floating-point. ! O -- if CMOV_SUN_AS_SYNTAX, expand to "w.", "l." or "q.", otherwise ! nothing R -- print the prefix for register names. z -- print the opcode suffix for the size of the current operand. * -- print a star (in certain assembler syntax) --- 6737,6744 ---- C -- print opcode suffix for set/cmov insn. c -- like C, but print reversed condition F,f -- likewise, but for floating-point. ! O -- if HAVE_AS_IX86_CMOV_SUN_SYNTAX, expand to "w.", "l." or "q.", ! otherwise nothing R -- print the prefix for register names. z -- print the opcode suffix for the size of the current operand. * -- print a star (in certain assembler syntax) *************** print_operand (file, x, code) *** 6906,6912 **** } return; case 'O': ! #ifdef CMOV_SUN_AS_SYNTAX if (ASSEMBLER_DIALECT == ASM_ATT) { switch (GET_MODE (x)) --- 6942,6948 ---- } return; case 'O': ! #ifdef HAVE_AS_IX86_CMOV_SUN_SYNTAX if (ASSEMBLER_DIALECT == ASM_ATT) { switch (GET_MODE (x)) *************** print_operand (file, x, code) *** 6926,6932 **** put_condition_code (GET_CODE (x), GET_MODE (XEXP (x, 0)), 0, 0, file); return; case 'F': ! #ifdef CMOV_SUN_AS_SYNTAX if (ASSEMBLER_DIALECT == ASM_ATT) putc ('.', file); #endif --- 6962,6968 ---- put_condition_code (GET_CODE (x), GET_MODE (XEXP (x, 0)), 0, 0, file); return; case 'F': ! #ifdef HAVE_AS_IX86_CMOV_SUN_SYNTAX if (ASSEMBLER_DIALECT == ASM_ATT) putc ('.', file); #endif *************** print_operand (file, x, code) *** 6945,6951 **** put_condition_code (GET_CODE (x), GET_MODE (XEXP (x, 0)), 1, 0, file); return; case 'f': ! #ifdef CMOV_SUN_AS_SYNTAX if (ASSEMBLER_DIALECT == ASM_ATT) putc ('.', file); #endif --- 6981,6987 ---- put_condition_code (GET_CODE (x), GET_MODE (XEXP (x, 0)), 1, 0, file); return; case 'f': ! #ifdef HAVE_AS_IX86_CMOV_SUN_SYNTAX if (ASSEMBLER_DIALECT == ASM_ATT) putc ('.', file); #endif *************** memory_address_length (addr) *** 11147,11156 **** disp = parts.disp; len = 0; /* Register Indirect. */ if (base && !index && !disp) { ! /* Special cases: ebp and esp need the two-byte modrm form. */ if (addr == stack_pointer_rtx || addr == arg_pointer_rtx || addr == frame_pointer_rtx --- 11183,11197 ---- disp = parts.disp; len = 0; + /* Rule of thumb: + - esp as the base always wants an index, + - ebp as the base always wants a displacement. */ + /* Register Indirect. */ if (base && !index && !disp) { ! /* esp (for its index) and ebp (for its displacement) need ! the two-byte modrm form. */ if (addr == stack_pointer_rtx || addr == arg_pointer_rtx || addr == frame_pointer_rtx *************** memory_address_length (addr) *** 11174,11182 **** else len = 4; } ! /* An index requires the two-byte modrm form. */ ! if (index) len += 1; } --- 11215,11230 ---- else len = 4; } + /* ebp always wants a displacement. */ + else if (base == hard_frame_pointer_rtx) + len = 1; ! /* An index requires the two-byte modrm form... */ ! if (index ! /* ...like esp, which always wants an index. */ ! || base == stack_pointer_rtx ! || base == arg_pointer_rtx ! || base == frame_pointer_rtx) len += 1; } diff -Nrc3pad gcc-3.3.1/gcc/config/i386/sco5.h gcc-3.3.2/gcc/config/i386/sco5.h *** gcc-3.3.1/gcc/config/i386/sco5.h 2002-11-26 04:54:48.000000000 +0000 --- gcc-3.3.2/gcc/config/i386/sco5.h 2003-08-09 06:51:10.000000000 +0000 *************** *** 1,7 **** /* Definitions for Intel 386 running SCO Unix System V 3.2 Version 5. ! Copyright (C) 1992, 1995, 1996, 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc. ! Contributed by Kean Johnston (hug@netcom.com) This file is part of GNU CC. --- 1,7 ---- /* Definitions for Intel 386 running SCO Unix System V 3.2 Version 5. ! Copyright (C) 1992, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003 Free Software Foundation, Inc. ! Contributed by Kean Johnston (jkj@sco.com) This file is part of GNU CC. *************** along with GNU CC; see the file COPYING. *** 20,249 **** the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define TARGET_VERSION fprintf (stderr, " (i386, SCO OpenServer 5 Syntax)"); ! #undef LPREFIX ! #define LPREFIX ".L" ! ! #undef ALIGN_ASM_OP ! #define ALIGN_ASM_OP "\t.align\t" ! ! #undef ASCII_DATA_ASM_OP ! #define ASCII_DATA_ASM_OP "\t.ascii\t" ! ! #undef IDENT_ASM_OP ! #define IDENT_ASM_OP "\t.ident\t" ! ! #undef COMMON_ASM_OP ! #define COMMON_ASM_OP "\t.comm\t" ! ! #undef SET_ASM_OP ! #define SET_ASM_OP "\t.set\t" ! ! #undef LOCAL_ASM_OP ! #define LOCAL_ASM_OP "\t.local\t" ! ! #undef ASM_SHORT ! #define ASM_SHORT "\t.value\t" ! ! #undef ASM_LONG ! #define ASM_LONG "\t.long\t" #undef ASM_QUAD - #undef TYPE_ASM_OP - #define TYPE_ASM_OP "\t.type\t" - - #undef SIZE_ASM_OP - #define SIZE_ASM_OP "\t.size\t" - - #undef STRING_ASM_OP - #define STRING_ASM_OP "\t.string\t" - - #undef SKIP_ASM_OP - #define SKIP_ASM_OP "\t.zero\t" - #undef GLOBAL_ASM_OP #define GLOBAL_ASM_OP "\t.globl\t" - #undef EH_FRAME_SECTION_ASM_OP - #define EH_FRAME_SECTION_NAME_COFF ".ehfram" - #define EH_FRAME_SECTION_NAME_ELF ".eh_frame" - #define EH_FRAME_SECTION_NAME \ - ((TARGET_ELF) ? EH_FRAME_SECTION_NAME_ELF : EH_FRAME_SECTION_NAME_COFF) - - /* Avoid problems (long sectino names, forward assembler refs) with DWARF - exception unwinding when we're generating COFF */ - #define DWARF2_UNWIND_INFO \ - ((TARGET_ELF) ? 1 : 0 ) - - #undef READONLY_DATA_SECTION_ASM_OP - #define READONLY_DATA_SECTION_ASM_OP_COFF "\t.section\t.rodata, \"x\"" - #define READONLY_DATA_SECTION_ASM_OP_ELF "\t.section\t.rodata" - #define READONLY_DATA_SECTION_ASM_OP \ - ((TARGET_ELF) \ - ? READONLY_DATA_SECTION_ASM_OP_ELF \ - : READONLY_DATA_SECTION_ASM_OP_COFF) - - #undef INIT_SECTION_ASM_OP - #define INIT_SECTION_ASM_OP_ELF "\t.section\t.init" - /* Rename these for COFF because crt1.o will try to run them. */ - #define INIT_SECTION_ASM_OP_COFF "\t.section\t.ctor ,\"x\"" - #define INIT_SECTION_ASM_OP \ - ((TARGET_ELF) ? INIT_SECTION_ASM_OP_ELF : INIT_SECTION_ASM_OP_COFF) - - #undef CTORS_SECTION_ASM_OP - #define CTORS_SECTION_ASM_OP_ELF "\t.section\t.ctors,\"aw\"" - #define CTORS_SECTION_ASM_OP_COFF INIT_SECTION_ASM_OP_COFF - #define CTORS_SECTION_ASM_OP \ - ((TARGET_ELF) ? CTORS_SECTION_ASM_OP_ELF : CTORS_SECTION_ASM_OP_COFF) - - #undef DTORS_SECTION_ASM_OP - #define DTORS_SECTION_ASM_OP_ELF "\t.section\t.dtors, \"aw\"" - #define DTORS_SECTION_ASM_OP_COFF FINI_SECTION_ASM_OP_COFF - #define DTORS_SECTION_ASM_OP \ - ((TARGET_ELF) ? DTORS_SECTION_ASM_OP_ELF : DTORS_SECTION_ASM_OP_COFF) - - #undef FINI_SECTION_ASM_OP - #define FINI_SECTION_ASM_OP_ELF "\t.section\t.fini" - #define FINI_SECTION_ASM_OP_COFF "\t.section\t.dtor, \"x\"" - #define FINI_SECTION_ASM_OP \ - ((TARGET_ELF) ? FINI_SECTION_ASM_OP_ELF : FINI_SECTION_ASM_OP_COFF) - #undef BSS_SECTION_ASM_OP ! #define BSS_SECTION_ASM_OP "\t.data" ! ! #undef TEXT_SECTION_ASM_OP ! #define TEXT_SECTION_ASM_OP "\t.text" ! ! #undef DATA_SECTION_ASM_OP ! #define DATA_SECTION_ASM_OP "\t.data" ! ! #undef TYPE_OPERAND_FMT ! #define TYPE_OPERAND_FMT "@%s" ! ! #undef APPLY_RESULT_SIZE ! #define APPLY_RESULT_SIZE \ ! (TARGET_ELF) ? size : 116 ! ! #ifndef ASM_DECLARE_RESULT ! #define ASM_DECLARE_RESULT(FILE, RESULT) ! #endif ! ! #define SCO_DEFAULT_ASM_COFF(FILE,NAME) \ ! do { \ ! ASM_OUTPUT_LABEL (FILE, NAME); \ ! } while (0) ! ! #undef ASM_DECLARE_FUNCTION_NAME ! #define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \ ! do { \ ! if (TARGET_ELF) { \ ! ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "function"); \ ! ASM_DECLARE_RESULT (FILE, DECL_RESULT (DECL)); \ ! ASM_OUTPUT_LABEL (FILE, NAME); \ ! } else \ ! SCO_DEFAULT_ASM_COFF(FILE, NAME); \ ! } while (0) ! ! #undef ASM_DECLARE_FUNCTION_SIZE ! #define ASM_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL) \ ! do { \ ! if (TARGET_ELF && !flag_inhibit_size_directive) \ ! ASM_OUTPUT_MEASURED_SIZE (FILE, FNAME); \ ! } while (0) ! ! #undef ASM_DECLARE_OBJECT_NAME ! #define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \ ! do { \ ! if (TARGET_ELF) { \ ! HOST_WIDE_INT size; \ ! \ ! ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "object"); \ ! \ ! size_directive_output = 0; \ ! if (!flag_inhibit_size_directive \ ! && (DECL) && DECL_SIZE (DECL)) \ ! { \ ! size_directive_output = 1; \ ! size = int_size_in_bytes (TREE_TYPE (DECL)); \ ! ASM_OUTPUT_SIZE_DIRECTIVE (FILE, NAME, size); \ ! } \ ! \ ! ASM_OUTPUT_LABEL (FILE, NAME); \ ! } else \ ! SCO_DEFAULT_ASM_COFF(FILE, NAME); \ ! } while (0) ! ! #undef ASM_FILE_START_1 ! #define ASM_FILE_START_1(FILE) ! ! #undef ASM_FILE_START ! #define ASM_FILE_START(FILE) \ ! do { \ ! output_file_directive((FILE),main_input_filename); \ ! fprintf ((FILE), "\t.version\t\"01.01\"\n"); \ ! } while (0) ! ! #undef ASM_FINISH_DECLARE_OBJECT ! #define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END) \ ! do { \ ! if (TARGET_ELF) { \ ! const char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0); \ ! HOST_WIDE_INT size; \ ! if (!flag_inhibit_size_directive && DECL_SIZE (DECL) \ ! && ! AT_END && TOP_LEVEL \ ! && DECL_INITIAL (DECL) == error_mark_node \ ! && !size_directive_output) \ ! { \ ! size_directive_output = 1; \ ! size = int_size_in_bytes (TREE_TYPE (DECL)); \ ! ASM_OUTPUT_SIZE_DIRECTIVE (FILE, name, size); \ ! } \ ! } \ ! } while (0) ! ! #undef ASM_GENERATE_INTERNAL_LABEL ! #define ASM_GENERATE_INTERNAL_LABEL(LABEL, PREFIX, NUM) \ ! do { \ ! if (TARGET_ELF) \ ! sprintf (LABEL, "*.%s%ld", (PREFIX), (long)(NUM)); \ ! else \ ! sprintf (LABEL, ".%s%ld", (PREFIX), (long)(NUM)); \ ! } while (0) ! ! #undef ASM_OUTPUT_ALIGNED_COMMON ! #define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGN) \ ! do { \ ! fprintf ((FILE), "%s", COMMON_ASM_OP); \ ! assemble_name ((FILE), (NAME)); \ ! if (TARGET_ELF) \ ! fprintf ((FILE), ",%u,%u\n", (SIZE), (ALIGN) / BITS_PER_UNIT); \ ! else \ ! fprintf ((FILE), ",%u\n", (SIZE)); \ ! } while (0) ! #undef ASM_OUTPUT_ALIGNED_LOCAL ! #define ASM_OUTPUT_ALIGNED_LOCAL(FILE, NAME, SIZE, ALIGN) \ ! do { \ ! if (TARGET_ELF) { \ ! fprintf ((FILE), "%s", LOCAL_ASM_OP); \ ! assemble_name ((FILE), (NAME)); \ ! fprintf ((FILE), "\n"); \ ! ASM_OUTPUT_ALIGNED_COMMON (FILE, NAME, SIZE, ALIGN); \ ! } else { \ ! int align = exact_log2 (ALIGN); \ ! if (align > 2) align = 2; \ ! if (TARGET_SVR3_SHLIB) \ ! data_section (); \ ! else \ ! bss_section (); \ ! ASM_OUTPUT_ALIGN ((FILE), align == -1 ? 2 : align); \ ! fprintf ((FILE), "%s\t", "\t.lcomm"); \ ! assemble_name ((FILE), (NAME)); \ ! fprintf ((FILE), ",%u\n", (SIZE)); \ ! } \ ! } while (0) /* A C statement (sans semicolon) to output to the stdio stream FILE the assembler definition of uninitialized global DECL named --- 20,55 ---- the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + #undef TARGET_VERSION #define TARGET_VERSION fprintf (stderr, " (i386, SCO OpenServer 5 Syntax)"); ! /* The native link editor does not support linkonce stuff */ ! #define SUPPORTS_ONE_ONLY 0 #undef ASM_QUAD #undef GLOBAL_ASM_OP #define GLOBAL_ASM_OP "\t.globl\t" #undef BSS_SECTION_ASM_OP ! #define BSS_SECTION_ASM_OP "\t.section\t.bss, \"aw\", @nobits" ! ! /* ! * NOTE: We really do want CTORS_SECTION_ASM_OP and DTORS_SECTION_ASM_OP. ! * Here's the reason why. If we dont define them, and we dont define them ! * to always emit to the same section, the default is to emit to "named" ! * ctors and dtors sections. This would be great if we could use GNU ld, ! * but we can't. The native linker could possibly be trained to coalesce ! * named ctors sections, but that hasn't been done either. So if we don't ! * define these, many C++ ctors and dtors dont get run, because they never ! * wind up in the ctors/dtors arrays. ! */ ! #define CTORS_SECTION_ASM_OP "\t.section\t.ctors, \"aw\"" ! #define DTORS_SECTION_ASM_OP "\t.section\t.dtors, \"aw\"" ! #define TARGET_ASM_FILE_START_FILE_DIRECTIVE true ! #undef X86_FILE_START_VERSION_DIRECTIVE ! #define X86_FILE_START_VERSION_DIRECTIVE true /* A C statement (sans semicolon) to output to the stdio stream FILE the assembler definition of uninitialized global DECL named *************** do { \ *** 251,498 **** Try to use asm_output_aligned_bss to implement this macro. */ #define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ ! asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN) ! ! #undef ESCAPES ! #define ESCAPES \ ! "\1\1\1\1\1\1\1\1btn\1fr\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\ ! \0\0\"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ ! \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\\\0\0\0\ ! \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\ ! \1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\ ! \1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\ ! \1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\ ! \1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1" ! ! #undef STRING_LIMIT ! #define STRING_LIMIT ((unsigned) 256) ! ! #undef ASM_OUTPUT_LIMITED_STRING ! #define ASM_OUTPUT_LIMITED_STRING(FILE, STR) \ ! do \ ! { \ ! register const unsigned char *_limited_str = \ ! (const unsigned char *) (STR); \ ! register unsigned ch; \ ! fprintf ((FILE), "%s\"", STRING_ASM_OP); \ ! for (; (ch = *_limited_str); _limited_str++) \ ! { \ ! register int escape; \ ! switch (escape = ESCAPES[ch]) \ ! { \ ! case 0: \ ! putc (ch, (FILE)); \ ! break; \ ! case 1: \ ! fprintf ((FILE), "\\%03o", ch); \ ! break; \ ! default: \ ! putc ('\\', (FILE)); \ ! putc (escape, (FILE)); \ ! break; \ ! } \ ! } \ ! fprintf ((FILE), "\"\n"); \ ! } \ ! while (0) ! ! ! #undef ASM_OUTPUT_ASCII ! #define ASM_OUTPUT_ASCII(FILE, STR, LENGTH) \ ! do { \ ! register const unsigned char *_ascii_bytes = \ ! (const unsigned char *) (STR); \ ! register const unsigned char *limit = _ascii_bytes + (LENGTH); \ ! register unsigned bytes_in_chunk = 0; \ ! for (; _ascii_bytes < limit; _ascii_bytes++) \ ! { \ ! register unsigned const char *p; \ ! if (bytes_in_chunk >= 64) \ ! { \ ! fputc ('\n', (FILE)); \ ! bytes_in_chunk = 0; \ ! } \ ! for (p = _ascii_bytes; p < limit && *p != '\0'; p++) \ ! continue; \ ! if (p < limit && (p - _ascii_bytes) <= (long) STRING_LIMIT) \ ! { \ ! if (bytes_in_chunk > 0) \ ! { \ ! fputc ('\n', (FILE)); \ ! bytes_in_chunk = 0; \ ! } \ ! ASM_OUTPUT_LIMITED_STRING ((FILE), _ascii_bytes); \ ! _ascii_bytes = p; \ ! } \ ! else \ ! { \ ! if (bytes_in_chunk == 0) \ ! fputs ("\t.byte\t", (FILE)); \ ! else \ ! fputc (',', (FILE)); \ ! fprintf ((FILE), "0x%02x", *_ascii_bytes); \ ! bytes_in_chunk += 5; \ ! } \ ! } \ ! if (bytes_in_chunk > 0) \ ! fprintf ((FILE), "\n"); \ ! } while (0) ! ! #undef ASM_OUTPUT_CASE_LABEL ! #define ASM_OUTPUT_CASE_LABEL(FILE,PREFIX,NUM,JUMPTABLE) \ ! do { \ ! if (TARGET_ELF) \ ! ASM_OUTPUT_ALIGN ((FILE), 2); \ ! ASM_OUTPUT_INTERNAL_LABEL((FILE),(PREFIX),(NUM)); \ ! } while (0) ! ! #undef ASM_OUTPUT_IDENT ! #define ASM_OUTPUT_IDENT(FILE, NAME) \ ! fprintf (FILE, "%s\"%s\"\n", IDENT_ASM_OP, NAME); ! ! #undef ASM_OUTPUT_EXTERNAL_LIBCALL ! #define ASM_OUTPUT_EXTERNAL_LIBCALL(FILE, FUN) \ ! if (TARGET_ELF) (*targetm.asm_out.globalize_label) (FILE, XSTR (FUN, 0)) ! ! #undef ASM_OUTPUT_INTERNAL_LABEL ! #define ASM_OUTPUT_INTERNAL_LABEL(FILE,PREFIX,NUM) \ ! fprintf (FILE, ".%s%d:\n", PREFIX, NUM) ! ! /* The prefix to add to user-visible assembler symbols. */ ! ! #undef USER_LABEL_PREFIX ! #define USER_LABEL_PREFIX "" ! ! /* ! * We rename 'gcc_except_table' to the shorter name in preparation ! * for the day when we're ready to do DWARF2 eh unwinding under COFF. ! */ ! /* #define EXCEPTION_SECTION() named_section (NULL, ".gccexc", 1) */ ! ! /* Switch into a generic section. */ ! #define TARGET_ASM_NAMED_SECTION default_elf_asm_named_section ! ! #undef ASM_OUTPUT_SKIP ! #define ASM_OUTPUT_SKIP(FILE,SIZE) \ ! do { \ ! if (TARGET_ELF) \ ! fprintf (FILE, "%s%u\n", SKIP_ASM_OP, (SIZE)); \ ! else \ ! fprintf ((FILE), "%s.,.+%u\n", SET_ASM_OP, (SIZE)); \ ! } while (0) ! ! ! #undef CTOR_LIST_BEGIN ! #define CTOR_LIST_BEGIN \ ! do { \ ! asm (CTORS_SECTION_ASM_OP); \ ! if (TARGET_ELF) \ ! STATIC func_ptr __CTOR_LIST__[1] = { (func_ptr) (-1) }; \ ! else \ ! asm ("pushl $0"); \ ! } while (0) ! ! #undef CTOR_LIST_END ! #define CTOR_LIST_END \ ! do { \ ! if (TARGET_ELF) { \ ! asm (CTORS_SECTION_ASM_OP); \ ! STATIC func_ptr __CTOR_LIST__[1] = { (func_ptr) (0) }; \ ! } else { \ ! CTOR_LIST_BEGIN; \ ! } \ ! } while (0) ! ! #undef DBX_BLOCKS_FUNCTION_RELATIVE ! #define DBX_BLOCKS_FUNCTION_RELATIVE 1 ! ! #undef DBX_FUNCTION_FIRST ! #define DBX_FUNCTION_FIRST 1 #undef DBX_REGISTER_NUMBER ! #define DBX_REGISTER_NUMBER(n) \ ! ((TARGET_ELF) ? svr4_dbx_register_map[n] : dbx_register_map[n]) ! #define DWARF2_DEBUGGING_INFO 1 ! #define DWARF_DEBUGGING_INFO 1 ! #define SDB_DEBUGGING_INFO 1 ! #define DBX_DEBUGGING_INFO 1 #undef PREFERRED_DEBUGGING_TYPE ! #define PREFERRED_DEBUGGING_TYPE \ ! ((TARGET_ELF) ? DWARF2_DEBUG: SDB_DEBUG) ! ! #undef EXTRA_SECTIONS ! #define EXTRA_SECTIONS in_init, in_fini ! ! #undef EXTRA_SECTION_FUNCTIONS ! #define EXTRA_SECTION_FUNCTIONS \ ! INIT_SECTION_FUNCTION \ ! FINI_SECTION_FUNCTION ! ! #undef FINI_SECTION_FUNCTION ! #define FINI_SECTION_FUNCTION \ ! void \ ! fini_section () \ ! { \ ! if ((!TARGET_ELF) && in_section != in_fini) \ ! { \ ! fprintf (asm_out_file, "%s\n", FINI_SECTION_ASM_OP); \ ! in_section = in_fini; \ ! } \ ! } ! ! #undef INIT_SECTION_FUNCTION ! #define INIT_SECTION_FUNCTION \ ! void \ ! init_section () \ ! { \ ! if ((!TARGET_ELF) && in_section != in_init) \ ! { \ ! fprintf (asm_out_file, "%s\n", INIT_SECTION_ASM_OP); \ ! in_section = in_init; \ ! } \ ! } ! ! #undef SUBTARGET_FRAME_POINTER_REQUIRED ! #define SUBTARGET_FRAME_POINTER_REQUIRED \ ! ((TARGET_ELF) ? 0 : \ ! (current_function_calls_setjmp || current_function_calls_longjmp)) ! ! #undef LOCAL_LABEL_PREFIX ! #define LOCAL_LABEL_PREFIX \ ! ((TARGET_ELF) ? "" : ".") ! ! #undef MD_EXEC_PREFIX ! #undef MD_STARTFILE_PREFIX ! #define MD_EXEC_PREFIX "/usr/ccs/bin/" ! #define MD_STARTFILE_PREFIX "/usr/ccs/lib/" ! #undef NON_SAVING_SETJMP ! #define NON_SAVING_SETJMP \ ! ((TARGET_ELF) ? 0 : \ ! (current_function_calls_setjmp && current_function_calls_longjmp)) #undef NO_IMPLICIT_EXTERN_C ! #define NO_IMPLICIT_EXTERN_C 1 ! ! /* JKJ FIXME - examine the ramifications of RETURN_IN_MEMORY and ! RETURN_POPS_ARGS */ ! ! #undef RETURN_POPS_ARGS ! #define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) \ ! ((TARGET_ELF) ? \ ! (ix86_return_pops_args (FUNDECL, FUNTYPE, SIZE)) : \ ! (((FUNDECL) && (TREE_CODE (FUNDECL) == IDENTIFIER_NODE)) ? 0 \ ! : (TARGET_RTD \ ! && (TYPE_ARG_TYPES (FUNTYPE) == 0 \ ! || (TREE_VALUE (tree_last (TYPE_ARG_TYPES (FUNTYPE))) \ ! == void_type_node))) ? (SIZE) \ ! : 0)) ! ! /* ??? Ignore coff. */ ! #undef TARGET_ASM_SELECT_SECTION ! #define TARGET_ASM_SELECT_SECTION default_elf_select_section #undef SWITCH_TAKES_ARG #define SWITCH_TAKES_ARG(CHAR) \ --- 57,79 ---- Try to use asm_output_aligned_bss to implement this macro. */ #define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ ! asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN) #undef DBX_REGISTER_NUMBER ! #define DBX_REGISTER_NUMBER(n) svr4_dbx_register_map[n] ! #define DWARF2_DEBUGGING_INFO 1 ! #define DWARF_DEBUGGING_INFO 1 ! #define DBX_DEBUGGING_INFO 1 #undef PREFERRED_DEBUGGING_TYPE ! #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG ! #undef DWARF2_UNWIND_INFO ! #define DWARF2_UNWIND_INFO 1 #undef NO_IMPLICIT_EXTERN_C ! #define NO_IMPLICIT_EXTERN_C 1 #undef SWITCH_TAKES_ARG #define SWITCH_TAKES_ARG(CHAR) \ *************** init_section () \ *** 511,527 **** #undef TARGET_SUBTARGET_DEFAULT #define TARGET_SUBTARGET_DEFAULT (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS) - #define HANDLE_SYSV_PRAGMA 1 - - /* Though OpenServer supports .weak in COFF, we don't use it. - * G++ will frequently emit a symol as .weak and then (in the same .s - * file) declare it global. The COFF assembler finds this unamusing. - */ - #define SUPPORTS_WEAK (TARGET_ELF) - #define ASM_WEAKEN_LABEL(FILE,NAME) \ - do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \ - fputc ('\n', FILE); } while (0) - /* * Define sizes and types */ --- 92,97 ---- *************** init_section () \ *** 529,540 **** #undef PTRDIFF_TYPE #undef WCHAR_TYPE #undef WCHAR_TYPE_SIZE #undef LONG_DOUBLE_TYPE_SIZE - #define LONG_DOUBLE_TYPE_SIZE 96 #define SIZE_TYPE "unsigned int" #define PTRDIFF_TYPE "int" #define WCHAR_TYPE "long int" #define WCHAR_TYPE_SIZE BITS_PER_WORD /* * New for multilib support. Set the default switches for multilib, --- 99,112 ---- #undef PTRDIFF_TYPE #undef WCHAR_TYPE #undef WCHAR_TYPE_SIZE + #undef WINT_TYPE #undef LONG_DOUBLE_TYPE_SIZE #define SIZE_TYPE "unsigned int" #define PTRDIFF_TYPE "int" #define WCHAR_TYPE "long int" #define WCHAR_TYPE_SIZE BITS_PER_WORD + #define WINT_TYPE "long int" + #define LONG_DOUBLE_TYPE_SIZE 96 /* * New for multilib support. Set the default switches for multilib, *************** init_section () \ *** 548,554 **** With SCO Open Server 5.0, you now get the linker and assembler free, so that is what these specs are targeted for. These utilities are very argument sensitive: a space in the wrong place breaks everything. ! So RMS, please forgive this mess. It works. Parameters which can be passed to gcc, and their SCO equivalents: GCC Parameter SCO Equivalent --- 120,126 ---- With SCO Open Server 5.0, you now get the linker and assembler free, so that is what these specs are targeted for. These utilities are very argument sensitive: a space in the wrong place breaks everything. ! So please forgive this mess. It works. Parameters which can be passed to gcc, and their SCO equivalents: GCC Parameter SCO Equivalent *************** init_section () \ *** 564,640 **** does. SCO also allows you to compile, link and generate either ELF or COFF ! binaries. With gcc, unlike the SCO compiler, the default is ELF. ! Specify -mcoff to gcc to produce COFF binaries. -fpic will get the ! assembler and linker to produce PIC code. */ /* Set up assembler flags for PIC and ELF compilations */ #undef ASM_SPEC #if USE_GAS ! /* Leave ASM_SPEC undefined so we pick up the master copy from gcc.c ! * Undef MD_EXEC_PREFIX because we don't know where GAS is, but it's not ! * likely in /usr/ccs/bin/ ! */ ! #undef MD_EXEC_PREFIX #else - #define ASM_SPEC \ ! "-b %{!mcoff:elf}%{mcoff:coff \ ! %{static:%e-static not valid with -mcoff} \ ! %{shared:%e-shared not valid with -mcoff} \ ! %{symbolic:%e-symbolic not valid with -mcoff}} \ ! %{Ym,*} %{Yd,*} %{Wa,*:%*} \ ! %{!mcoff:-E%{Xa:a}%{!Xa:%{Xc:c}%{!Xc:%{Xk:k}%{!Xk:%{Xt:t}%{!Xt:a}}}},%{ansi:ansi}%{!ansi:%{posix:posix}%{!posix:%{Xpg4:xpg4}%{!Xpg4:%{Xpg4plus:XPG4PLUS}%{!Xpg4plus:%{Xods30:ods30}%{!Xods30:XPG4PLUS}}}}},ELF %{Qn:} %{!Qy:-Qn}}" #endif ! /* Use crt1.o as a startup file and crtn.o as a closing file. */ #undef STARTFILE_SPEC #define STARTFILE_SPEC \ ! "%{shared: %{!mcoff: crti.o%s}} \ ! %{!shared:\ %{!symbolic: \ ! %{pg:gcrt.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}}}} \ %{ansi:values-Xc.o%s} \ %{!ansi: \ ! %{Xa:values-Xa.o%s} \ ! %{!Xa:%{Xc:values-Xc.o%s} \ ! %{!Xc:%{Xk:values-Xk.o%s} \ ! %{!Xk:%{Xt:values-Xt.o%s} \ ! %{!Xt:values-Xa.o%s}}}}} \ ! %{mcoff:crtbeginS.o%s} %{!mcoff:crtbegin.o%s}" #undef ENDFILE_SPEC #define ENDFILE_SPEC \ ! "%{!mcoff:crtend.o%s} \ ! %{mcoff:crtendS.o%s} \ ! %{pg:gcrtn.o%s}%{!pg:crtn.o%s}" ! #define TARGET_OS_CPP_BUILTINS() \ ! do \ ! { \ ! builtin_define ("__unix"); \ ! builtin_define ("_SCO_DS"); \ ! builtin_define ("_M_I386"); \ ! builtin_define ("_M_XENIX"); \ ! builtin_define ("_M_UNIX"); \ ! builtin_assert ("system=svr3"); \ ! if (flag_iso) \ ! cpp_define (pfile, "_STRICT_ANSI"); \ ! if (flag_pic) \ ! { \ ! builtin_define ("__PIC__"); \ ! builtin_define ("__pic__"); \ ! } \ ! } \ while (0) #undef CPP_SPEC #define CPP_SPEC "\ ! %{fpic:%{mcoff:%e-fpic is not valid with -mcoff}} \ ! %{fPIC:%{mcoff:%e-fPIC is not valid with -mcoff}} \ %{!Xods30:-D_STRICT_NAMES} \ %{!ansi:%{!posix:%{!Xods30:-D_SCO_XPG_VERS=4}}} \ %{ansi:-isystem include/ansi%s -isystem /usr/include/ansi} \ --- 136,244 ---- does. SCO also allows you to compile, link and generate either ELF or COFF ! binaries. With gcc, we now only support ELF mode. ! ! GCC also requires that the user has installed OSS646, the Execution ! Environment Update, or is running release 5.0.7 or later. This has ! many fixes to the ELF link editor and assembler, and a considerably ! improved libc and RTLD. ! ! In terms of tool usage, we want to use the standard link editor always, ! and either the GNU assembler or the native assembler. With OSS646 the ! native assembler has grown up quite a bit. Some of the specs below ! assume that /usr/gnu is the prefix for the GNU tools, because thats ! where the SCO provided ones go. This is especially important for ! include and library search path ordering. We want to look in /usr/gnu ! first, becuase frequently people are linking against -lintl, and they ! MEAN to link with gettext. What they get is the SCO intl library. Its ! a REAL pity that GNU gettext chose that name; perhaps in a future ! version they can be persuaded to change it to -lgnuintl and have a ! link so that -lintl will work for other systems. The same goes for ! header files. We want /usr/gnu/include searched for before the system ! header files. Hence the -isystem /usr/gnu/include in the CPP_SPEC. ! We get /usr/gnu/lib first by virtue of the MD_STARTFILE_PREFIX below. */ + #define MD_STARTFILE_PREFIX "/usr/gnu/lib/" + #define MD_STARTFILE_PREFIX_1 "/usr/ccs/lib/" + + #if USE_GAS + # define MD_EXEC_PREFIX "/usr/gnu/bin/" + #else + # define MD_EXEC_PREFIX "/usr/ccs/bin/elf/" + #endif + + /* Always use the system linker, please. */ + #ifndef DEFAULT_LINKER + # define DEFAULT_LINKER "/usr/ccs/bin/elf/ld" + #endif + /* Set up assembler flags for PIC and ELF compilations */ #undef ASM_SPEC #if USE_GAS ! /* Leave ASM_SPEC undefined so we pick up the master copy from gcc.c */ #else #define ASM_SPEC \ ! "%{Ym,*} %{Yd,*} %{Wa,*:%*} \ ! -E%{Xa:a}%{!Xa:%{Xc:c}%{!Xc:%{Xk:k}%{!Xk:%{Xt:t}%{!Xt:a}}}},%{ansi:ansi}%{!ansi:%{posix:posix}%{!posix:%{Xpg4:xpg4}%{!Xpg4:%{Xpg4plus:XPG4PLUS}%{!Xpg4plus:%{Xods30:ods30}%{!Xods30:XPG4PLUS}}}}},ELF %{Qn:} %{!Qy:-Qn}" #endif ! /* ! * Use crti.o for shared objects, crt1.o for normal executables. Make sure ! * to recognize both -G and -shared as a valid way of introducing shared ! * library generation. This is important for backwards compatibility. ! */ #undef STARTFILE_SPEC #define STARTFILE_SPEC \ ! "%{pg:%e-pg not supported on this platform} \ ! %{p:%{pp:%e-p and -pp specified - pick one}} \ ! %{!shared:\ %{!symbolic: \ ! %{!G: \ ! %{pp:pcrt1elf.o%s}%{p:mcrt1.o%s}%{!p:%{!pp:crt1.o%s}}}}} \ ! crti.o%s \ %{ansi:values-Xc.o%s} \ %{!ansi: \ ! %{traditional:values-Xt.o%s} \ ! %{!traditional: \ ! %{Xa:values-Xa.o%s} \ ! %{!Xa:%{Xc:values-Xc.o%s} \ ! %{!Xc:%{Xk:values-Xk.o%s} \ ! %{!Xk:%{Xt:values-Xt.o%s} \ ! %{!Xt:values-Xa.o%s}}}}}} \ ! crtbegin.o%s" #undef ENDFILE_SPEC #define ENDFILE_SPEC \ ! "crtend.o%s crtn.o%s" ! #define TARGET_OS_CPP_BUILTINS() \ ! do \ ! { \ ! builtin_define ("__unix"); \ ! builtin_define ("_SCO_DS"); \ ! builtin_define ("_SCO_DS_LL"); \ ! builtin_define ("_SCO_ELF"); \ ! builtin_define ("_M_I386"); \ ! builtin_define ("_M_XENIX"); \ ! builtin_define ("_M_UNIX"); \ ! builtin_assert ("system=svr3"); \ ! if (flag_iso) \ ! cpp_define (pfile, "_STRICT_ANSI"); \ ! if (flag_pic) \ ! { \ ! builtin_define ("__PIC__"); \ ! builtin_define ("__pic__"); \ ! } \ ! } \ while (0) #undef CPP_SPEC #define CPP_SPEC "\ ! -isystem /usr/gnu/include \ ! %{pthread:-D_REENTRANT} \ %{!Xods30:-D_STRICT_NAMES} \ %{!ansi:%{!posix:%{!Xods30:-D_SCO_XPG_VERS=4}}} \ %{ansi:-isystem include/ansi%s -isystem /usr/include/ansi} \ *************** init_section () \ *** 652,659 **** -DM_BITFIELDS -DM_SYS5 -DM_SYSV -DM_INTERNAT -DM_SYSIII \ -DM_WORDSWAP}}}} \ %{scointl:-DM_INTERNAT -D_M_INTERNAT} \ - %{!mcoff:-D_SCO_ELF} \ - %{mcoff:-D_M_COFF -D_SCO_COFF} \ %{Xa:-D_SCO_C_DIALECT=1} \ %{!Xa:%{Xc:-D_SCO_C_DIALECT=3} \ %{!Xc:%{Xk:-D_SCO_C_DIALECT=4} \ --- 256,261 ---- *************** init_section () \ *** 662,770 **** #undef LINK_SPEC #define LINK_SPEC \ ! "-b %{!mcoff:elf}%{mcoff:coff \ ! %{static:%e-static not valid with -mcoff} \ ! %{shared:%e-shared not valid with -mcoff} \ ! %{symbolic:%e-symbolic not valid with -mcoff} \ ! %{fpic:%e-fpic not valid with -mcoff} \ ! %{fPIC:%e-fPIC not valid with -mcoff}} \ ! -R%{Xa:a}%{!Xa:%{Xc:c}%{!Xc:%{Xk:k}%{!Xk:%{Xt:t}%{!Xt:a}}}},%{ansi:ansi}%{!ansi:%{posix:posix}%{!posix:%{Xpg4:xpg4}%{!Xpg4:%{Xpg4plus:XPG4PLUS}%{!Xpg4plus:%{Xods30:ods30}%{!Xods30:XPG4PLUS}}}}},%{mcoff:COFF}%{!mcoff:ELF} \ ! %{Wl,*%*} %{YP,*} %{YL,*} %{YU,*} \ %{!YP,*:%{p:-YP,/usr/ccs/libp:/lib/libp:/usr/lib/libp:/usr/ccs/lib:/lib:/usr/lib} \ %{!p:-YP,/usr/ccs/lib:/lib:/usr/lib}} \ ! %{h*} %{static:-dn -Bstatic} %{shared:-G -dy %{!z*:-z text}} \ ! %{symbolic:-Bsymbolic -G -dy %{!z*:-z text}} %{z*} %{R*} %{Y*} \ ! %{G:-G} %{!mcoff:%{Qn:} %{!Qy:-Qn}}" ! ! /* The SCO COFF linker gets confused on the difference between "-ofoo" ! and "-o foo". So we just always force a single space. */ ! ! #define SWITCHES_NEED_SPACES "o" /* Library spec. If we are not building a shared library, provide the standard libraries, as per the SCO compiler. */ #undef LIB_SPEC #define LIB_SPEC \ ! "%{shared:pic/libgcc.a%s}%{!shared:%{!symbolic:-lcrypt -lgen -lc}}" #undef LIBGCC_SPEC #define LIBGCC_SPEC \ ! "%{!shared:-lgcc}" ! #define MASK_COFF 010000000000 /* Mask for elf generation */ ! #define TARGET_ELF (1) /* (!(target_flags & MASK_COFF)) */ #undef SUBTARGET_SWITCHES #define SUBTARGET_SWITCHES \ { "elf", -MASK_COFF, N_("Generate ELF output") }, - #define NO_DOLLAR_IN_LABEL - - /* Implicit library calls should use memcpy, not bcopy, etc. They are - faster on OpenServer libraries. */ - - #define TARGET_MEM_FUNCTIONS - - /* Biggest alignment supported by the object file format of this - machine. Use this macro to limit the alignment which can be - specified using the `__attribute__ ((aligned (N)))' construct. If - not defined, the default value is `BIGGEST_ALIGNMENT'. */ - - #define MAX_OFILE_ALIGNMENT (32768*8) - - /* Define the `__builtin_va_list' type for the ABI. On OpenServer, this - type is `char *'. */ - #undef BUILD_VA_LIST_TYPE - #define BUILD_VA_LIST_TYPE(VALIST) \ - (VALIST) = build_pointer_type (char_type_node) - - - /* - Here comes some major hackery to get the crt stuff to compile properly. - Since we can (and do) compile for both COFF and ELF environments, we - set things up accordingly, based on the pre-processor defines for ELF - and COFF. This is insane, but then I guess having one compiler with a - single back-end supporting two vastly different file format types is - a little insane too. But it is not impossible and we get a useful - compiler at the end of the day. Onward we go ... - */ - - #if defined(CRT_BEGIN) || defined(CRT_END) || defined(IN_LIBGCC2) - # undef OBJECT_FORMAT_ELF - # undef INIT_SECTION_ASM_OP - # undef FINI_SECTION_ASM_OP - # undef CTORS_SECTION_ASM_OP - # undef DTORS_SECTION_ASM_OP - # undef EH_FRAME_SECTION_NAME - # undef CTOR_LIST_BEGIN - # undef CTOR_LIST_END - # undef DO_GLOBAL_CTORS_BODY - - # if defined (_SCO_ELF) - # define OBJECT_FORMAT_ELF - # define INIT_SECTION_ASM_OP INIT_SECTION_ASM_OP_ELF - # define FINI_SECTION_ASM_OP FINI_SECTION_ASM_OP_ELF - # define DTORS_SECTION_ASM_OP DTORS_SECTION_ASM_OP_ELF - # define CTORS_SECTION_ASM_OP CTORS_SECTION_ASM_OP_ELF - # define EH_FRAME_SECTION_NAME EH_FRAME_SECTION_NAME_ELF - # else /* ! _SCO_ELF */ - # define INIT_SECTION_ASM_OP INIT_SECTION_ASM_OP_COFF - # define FINI_SECTION_ASM_OP FINI_SECTION_ASM_OP_COFF - # define DTORS_SECTION_ASM_OP DTORS_SECTION_ASM_OP_COFF - # define CTORS_SECTION_ASM_OP CTORS_SECTION_ASM_OP_COFF - # define EH_FRAME_SECTION_NAME EH_FRAME_SECTION_NAME_COFF - # define CTOR_LIST_BEGIN asm (INIT_SECTION_ASM_OP); asm ("pushl $0") - # define CTOR_LIST_END CTOR_LIST_BEGIN - # define DO_GLOBAL_CTORS_BODY \ - do { \ - func_ptr *p, *beg = alloca(0); \ - for (p = beg; *p;) \ - (*p++) (); \ - } while (0) - # endif /* ! _SCO_ELF */ - #endif /* CRT_BEGIN !! CRT_END */ - /* Handle special EH pointer encodings. Absolute, pc-relative, and indirect are handled automatically. */ #define ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX(FILE, ENCODING, SIZE, ADDR, DONE) \ --- 264,301 ---- #undef LINK_SPEC #define LINK_SPEC \ ! "%{!shared:%{!symbolic:%{!G:-E%{Xa:a}%{!Xa:%{Xc:c}%{!Xc:%{Xk:k}%{!Xk:%{Xt:t}%{!Xt:a}}}},%{ansi:ansi}%{!ansi:%{posix:posix}%{!posix:%{Xpg4:xpg4}%{!Xpg4:%{Xpg4plus:XPG4PLUS}%{!Xpg4plus:%{Xods30:ods30}%{!Xods30:XPG4PLUS}}}}},ELF}}} \ ! %{Wl,*:%*} %{YP,*} %{YL,*} %{YU,*} \ %{!YP,*:%{p:-YP,/usr/ccs/libp:/lib/libp:/usr/lib/libp:/usr/ccs/lib:/lib:/usr/lib} \ %{!p:-YP,/usr/ccs/lib:/lib:/usr/lib}} \ ! %{h*} %{static:-dn -Bstatic %{G:%e-G and -static are mutually exclusive}} \ ! %{shared:%{!G:-G}} %{G:%{!shared:-G}} %{shared:%{G:-G}} \ ! %{shared:-dy %{symbolic:-Bsymbolic -G} %{z*}} %{R*} %{Y*} \ ! %{Qn:} %{!Qy:-Qn} -z alt_resolve" /* Library spec. If we are not building a shared library, provide the standard libraries, as per the SCO compiler. */ #undef LIB_SPEC #define LIB_SPEC \ ! "%{shared:%{!G:pic/libgcc.a%s}} \ ! %{G:%{!shared:pic/libgcc.a%s}} \ ! %{shared:%{G:pic/libgcc.a%s}} \ ! %{p:%{!pp:-lelfprof -lelf}} %{pp:%{!p:-lelfprof -lelf}} \ ! %{!shared:%{!symbolic:%{!G:-lcrypt -lgen -lc %{pthread:-lpthread}}}}" #undef LIBGCC_SPEC #define LIBGCC_SPEC \ ! "%{!shared:%{!G:-lgcc}}" ! /* Here for legacy support only so we still accept -melf flag */ ! #define MASK_COFF 010000000000 /* Mask for COFF generation */ ! #define TARGET_ELF (1) #undef SUBTARGET_SWITCHES #define SUBTARGET_SWITCHES \ { "elf", -MASK_COFF, N_("Generate ELF output") }, /* Handle special EH pointer encodings. Absolute, pc-relative, and indirect are handled automatically. */ #define ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX(FILE, ENCODING, SIZE, ADDR, DONE) \ *************** do { \ *** 798,807 **** : "=d"(BASE)) #endif - /* Select a format to encode pointers in exception handling data. CODE - is 0 for data, 1 for code labels, 2 for function pointers. GLOBAL is - true if the symbol may be affected by dynamic relocations. */ - #undef ASM_PREFERRED_EH_DATA_FORMAT - #define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) \ - (flag_pic ? (GLOBAL ? DW_EH_PE_indirect : 0) | DW_EH_PE_datarel \ - : DW_EH_PE_absptr) --- 329,331 ---- diff -Nrc3pad gcc-3.3.1/gcc/config/i386/sol2.h gcc-3.3.2/gcc/config/i386/sol2.h *** gcc-3.3.1/gcc/config/i386/sol2.h 2002-06-20 11:03:34.000000000 +0000 --- gcc-3.3.2/gcc/config/i386/sol2.h 2003-09-09 19:52:00.000000000 +0000 *************** *** 1,5 **** /* Target definitions for GNU compiler for Intel 80386 running Solaris 2 ! Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. Contributed by Fred Fish (fnf@cygnus.com). --- 1,5 ---- /* Target definitions for GNU compiler for Intel 80386 running Solaris 2 ! Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. Contributed by Fred Fish (fnf@cygnus.com). *************** along with GNU CC; see the file COPYING. *** 20,27 **** the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - #define CMOV_SUN_AS_SYNTAX 1 - /* The Solaris 2.0 x86 linker botches alignment of code sections. It tries to align to a 16 byte boundary by padding with 0x00000090 ints, rather than 0x90 bytes (nop). This generates trash in the --- 20,25 ---- diff -Nrc3pad gcc-3.3.1/gcc/config/i386/t-sco5 gcc-3.3.2/gcc/config/i386/t-sco5 *** gcc-3.3.1/gcc/config/i386/t-sco5 2001-11-15 13:05:53.000000000 +0000 --- gcc-3.3.2/gcc/config/i386/t-sco5 2003-08-09 06:51:10.000000000 +0000 *************** *** 1,18 **** ! # We need to use -fPIC when we are using gcc to compile the routines in ! # crtstuff.c. This is only really needed when we are going to use gcc/g++ ! # to produce a shared library, but since we don't know ahead of time when ! # we will be doing that, we just always use -fPIC when compiling the ! # routines in crtstuff.c. Likewise for libgcc2.c. This is less painful ! # than multilibbing everything with PIC and PIC-not variants. ! ! # The pushl in CTOR initialization interferes with frame pointer elimination. ! CRTSTUFF_T_CFLAGS = -fPIC -fno-omit-frame-pointer - TARGET_LIBGCC2_CFLAGS = -fPIC ! crti.o: $(srcdir)/config/i386/sol2-ci.asm $(GCC_PASSES) ! sed -e '/^!/d' <$(srcdir)/config/i386/sol2-ci.asm >crti.s ! $(GCC_FOR_TARGET) -c -o crti.o crti.s # See all the declarations. FIXPROTO_DEFINES = -D_XOPEN_SOURCE -D_POSIX_C_SOURCE=2 --- 1,16 ---- ! # We multilib libgcc for -fPIC, to get real PIC code in it. ! # NOTE: We must use -fPIC on crt{begi,end}.o else we get an RTLD error ! # "cant set protections on segment of length blah at 0x8048000". CRTSTUFF_T_CFLAGS = -fPIC -fno-omit-frame-pointer ! MULTILIB_OPTIONS = fPIC ! MULTILIB_DIRNAMES = pic ! MUTLILIB_EXCEPTIONS = ! MULTILIB_MATCHES = fPIC=fpic ! MULTILIB_EXTRA_OPTS = ! ! LIBGCC=stmp-multilib ! INSTALL_LIBGCC=install-multilib # See all the declarations. FIXPROTO_DEFINES = -D_XOPEN_SOURCE -D_POSIX_C_SOURCE=2 diff -Nrc3pad gcc-3.3.1/gcc/config/i386/t-sco5gas gcc-3.3.2/gcc/config/i386/t-sco5gas *** gcc-3.3.1/gcc/config/i386/t-sco5gas 2003-01-25 18:09:15.000000000 +0000 --- gcc-3.3.2/gcc/config/i386/t-sco5gas 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,23 **** - # The pushl in CTOR initialization interferes with frame pointer elimination. - CRTSTUFF_T_CFLAGS = -fPIC -fno-omit-frame-pointer - CRTSTUFF_T_CFLAGS_S = -fno-omit-frame-pointer - - # - # I am still a little unsure of the multilib architecture. The following - # 4 lines are based on advice from meissner@cygnus.com. - # - MULTILIB_OPTIONS = fPIC - MULTILIB_DIRNAMES = pic - MULTILIB_EXCEPTIONS = *fPIC* - MULTILIB_MATCHES = fPIC=fpic - MULTILIB_EXTRA_OPTS = - - LIBGCC=stmp-multilib - INSTALL_LIBGCC=install-multilib - - crti.o: $(srcdir)/config/i386/sol2-ci.asm $(GCC_PASSES) - sed -e '/^!/d' <$(srcdir)/config/i386/sol2-ci.asm >crti.s - $(GCC_FOR_TARGET) -c -o crti.o crti.s - - # See all the declarations. - FIXPROTO_DEFINES = -D_XOPEN_SOURCE -D_POSIX_C_SOURCE=2 --- 0 ---- diff -Nrc3pad gcc-3.3.1/gcc/config/ia64/hpux.h gcc-3.3.2/gcc/config/ia64/hpux.h *** gcc-3.3.1/gcc/config/ia64/hpux.h 2003-02-27 16:24:18.000000000 +0000 --- gcc-3.3.2/gcc/config/ia64/hpux.h 2003-08-26 06:50:30.000000000 +0000 *************** do { \ *** 49,54 **** --- 49,61 ---- } \ } while (0) + #undef CPP_SPEC + #define CPP_SPEC \ + "%{mt|pthread:-D_REENTRANT -D_THREAD_SAFE -D_POSIX_C_SOURCE=199506L}" + /* aCC defines also -DRWSTD_MULTI_THREAD, -DRW_MULTI_THREAD. These + affect only aCC's C++ library (Rogue Wave-derived) which we do not + use, and they violate the user's name space. */ + #undef ASM_EXTRA_SPEC #define ASM_EXTRA_SPEC "%{milp32:-milp32} %{mlp64:-mlp64}" *************** do { \ *** 68,73 **** --- 75,81 ---- #undef LIB_SPEC #define LIB_SPEC \ "%{!shared: \ + %{mt|pthread:-lpthread} \ %{p:%{!mlp64:-L/usr/lib/hpux32/libp} \ %{mlp64:-L/usr/lib/hpux64/libp} -lprof} \ %{pg:%{!mlp64:-L/usr/lib/hpux32/libp} \ *************** do { \ *** 134,139 **** --- 142,151 ---- #undef TARGET_HPUX_LD #define TARGET_HPUX_LD 1 + /* The HPUX dynamic linker objects to weak symbols with no + definitions, so do not use them in gthr-posix.h. */ + #define GTHREAD_USE_WEAK 0 + /* Put out the needed function declarations at the end. */ #define ASM_FILE_END(STREAM) ia64_hpux_asm_file_end(STREAM) *************** do { \ *** 144,149 **** --- 156,165 ---- #undef DTORS_SECTION_ASM_OP #define DTORS_SECTION_ASM_OP "\t.section\t.fini_array,\t\"aw\",\"fini_array\"" + /* The init_array/fini_array technique does not permit the use of + initialization priorities. */ + #define SUPPORTS_INIT_PRIORITY 0 + #undef READONLY_DATA_SECTION_ASM_OP #define READONLY_DATA_SECTION_ASM_OP "\t.section\t.rodata,\t\"a\",\t\"progbits\"" diff -Nrc3pad gcc-3.3.1/gcc/config/ia64/ia64.c gcc-3.3.2/gcc/config/ia64/ia64.c *** gcc-3.3.1/gcc/config/ia64/ia64.c 2003-07-30 00:57:29.000000000 +0000 --- gcc-3.3.2/gcc/config/ia64/ia64.c 2003-09-10 04:06:03.000000000 +0000 *************** ia64_expand_move (op0, op1) *** 1154,1159 **** --- 1154,1160 ---- if ((tls_kind = tls_symbolic_operand (op1, Pmode))) { rtx tga_op1, tga_op2, tga_ret, tga_eqv, tmp, insns; + rtx orig_op0 = op0; switch (tls_kind) { *************** ia64_expand_move (op0, op1) *** 1177,1184 **** insns = get_insns (); end_sequence (); emit_libcall_block (insns, op0, tga_ret, op1); ! return NULL_RTX; case TLS_MODEL_LOCAL_DYNAMIC: /* ??? This isn't the completely proper way to do local-dynamic --- 1178,1187 ---- insns = get_insns (); end_sequence (); + if (GET_MODE (op0) != Pmode) + op0 = tga_ret; emit_libcall_block (insns, op0, tga_ret, op1); ! break; case TLS_MODEL_LOCAL_DYNAMIC: /* ??? This isn't the completely proper way to do local-dynamic *************** ia64_expand_move (op0, op1) *** 1206,1225 **** tmp = gen_reg_rtx (Pmode); emit_libcall_block (insns, tmp, tga_ret, tga_eqv); ! if (register_operand (op0, Pmode)) ! tga_ret = op0; ! else ! tga_ret = gen_reg_rtx (Pmode); if (TARGET_TLS64) { ! emit_insn (gen_load_dtprel (tga_ret, op1)); ! emit_insn (gen_adddi3 (tga_ret, tmp, tga_ret)); } else ! emit_insn (gen_add_dtprel (tga_ret, tmp, op1)); ! if (tga_ret == op0) ! return NULL_RTX; ! op1 = tga_ret; break; case TLS_MODEL_INITIAL_EXEC: --- 1209,1223 ---- tmp = gen_reg_rtx (Pmode); emit_libcall_block (insns, tmp, tga_ret, tga_eqv); ! if (!register_operand (op0, Pmode)) ! op0 = gen_reg_rtx (Pmode); if (TARGET_TLS64) { ! emit_insn (gen_load_dtprel (op0, op1)); ! emit_insn (gen_adddi3 (op0, tmp, op0)); } else ! emit_insn (gen_add_dtprel (op0, tmp, op1)); break; case TLS_MODEL_INITIAL_EXEC: *************** ia64_expand_move (op0, op1) *** 1229,1263 **** RTX_UNCHANGING_P (tmp) = 1; tmp = force_reg (Pmode, tmp); ! if (register_operand (op0, Pmode)) ! op1 = op0; ! else ! op1 = gen_reg_rtx (Pmode); ! emit_insn (gen_adddi3 (op1, tmp, gen_thread_pointer ())); ! if (op1 == op0) ! return NULL_RTX; break; case TLS_MODEL_LOCAL_EXEC: ! if (register_operand (op0, Pmode)) ! tmp = op0; ! else ! tmp = gen_reg_rtx (Pmode); if (TARGET_TLS64) { ! emit_insn (gen_load_tprel (tmp, op1)); ! emit_insn (gen_adddi3 (tmp, gen_thread_pointer (), tmp)); } else ! emit_insn (gen_add_tprel (tmp, gen_thread_pointer (), op1)); ! if (tmp == op0) ! return NULL_RTX; ! op1 = tmp; break; default: abort (); } } else if (!TARGET_NO_PIC && (symbolic_operand (op1, Pmode) || --- 1227,1258 ---- RTX_UNCHANGING_P (tmp) = 1; tmp = force_reg (Pmode, tmp); ! if (!register_operand (op0, Pmode)) ! op0 = gen_reg_rtx (Pmode); ! emit_insn (gen_adddi3 (op0, tmp, gen_thread_pointer ())); break; case TLS_MODEL_LOCAL_EXEC: ! if (!register_operand (op0, Pmode)) ! op0 = gen_reg_rtx (Pmode); if (TARGET_TLS64) { ! emit_insn (gen_load_tprel (op0, op1)); ! emit_insn (gen_adddi3 (op0, gen_thread_pointer (), op0)); } else ! emit_insn (gen_add_tprel (op0, gen_thread_pointer (), op1)); break; default: abort (); } + + if (orig_op0 == op0) + return NULL_RTX; + if (GET_MODE (orig_op0) == Pmode) + return op0; + return gen_lowpart (GET_MODE (orig_op0), op0); } else if (!TARGET_NO_PIC && (symbolic_operand (op1, Pmode) || *************** ia64_initial_elimination_offset (from, t *** 2015,2024 **** abort (); break; - case RETURN_ADDRESS_POINTER_REGNUM: - offset = 0; - break; - default: abort (); } --- 2010,2015 ---- *************** ia64_expand_prologue () *** 2369,2385 **** reg_names[current_frame_info.reg_fp] = tmp; } - /* Fix up the return address placeholder. */ - /* ??? We can fail if __builtin_return_address is used, and we didn't - allocate a register in which to save b0. I can't think of a way to - eliminate RETURN_ADDRESS_POINTER_REGNUM to a local register and - then be sure that I got the right one. Further, reload doesn't seem - to care if an eliminable register isn't used, and "eliminates" it - anyway. */ - if (regs_ever_live[RETURN_ADDRESS_POINTER_REGNUM] - && current_frame_info.reg_save_b0 != 0) - XINT (return_address_pointer_rtx, 0) = current_frame_info.reg_save_b0; - /* We don't need an alloc instruction if we've used no outputs or locals. */ if (current_frame_info.n_local_regs == 0 && current_frame_info.n_output_regs == 0 --- 2360,2365 ---- *************** ia64_direct_return () *** 2936,2941 **** --- 2916,2987 ---- return 0; } + /* Return the magic cookie that we use to hold the return address + during early compilation. */ + + rtx + ia64_return_addr_rtx (count, frame) + HOST_WIDE_INT count; + rtx frame ATTRIBUTE_UNUSED; + { + if (count != 0) + return NULL; + return gen_rtx_UNSPEC (Pmode, gen_rtvec (1, const0_rtx), UNSPEC_RET_ADDR); + } + + /* Split this value after reload, now that we know where the return + address is saved. */ + + void + ia64_split_return_addr_rtx (dest) + rtx dest; + { + rtx src; + + if (TEST_HARD_REG_BIT (current_frame_info.mask, BR_REG (0))) + { + if (current_frame_info.reg_save_b0 != 0) + src = gen_rtx_REG (DImode, current_frame_info.reg_save_b0); + else + { + HOST_WIDE_INT off; + unsigned int regno; + + /* Compute offset from CFA for BR0. */ + /* ??? Must be kept in sync with ia64_expand_prologue. */ + off = (current_frame_info.spill_cfa_off + + current_frame_info.spill_size); + for (regno = GR_REG (1); regno <= GR_REG (31); ++regno) + if (TEST_HARD_REG_BIT (current_frame_info.mask, regno)) + off -= 8; + + /* Convert CFA offset to a register based offset. */ + if (frame_pointer_needed) + src = hard_frame_pointer_rtx; + else + { + src = stack_pointer_rtx; + off += current_frame_info.total_size; + } + + /* Load address into scratch register. */ + if (CONST_OK_FOR_I (off)) + emit_insn (gen_adddi3 (dest, src, GEN_INT (off))); + else + { + emit_move_insn (dest, GEN_INT (off)); + emit_insn (gen_adddi3 (dest, src, dest)); + } + + src = gen_rtx_MEM (Pmode, dest); + } + } + else + src = gen_rtx_REG (DImode, BR_REG (0)); + + emit_move_insn (dest, src); + } + int ia64_hard_regno_rename_ok (from, to) int from; *************** ia64_output_function_epilogue (file, siz *** 3085,3093 **** { int i; - /* Reset from the function's potential modifications. */ - XINT (return_address_pointer_rtx, 0) = RETURN_ADDRESS_POINTER_REGNUM; - if (current_frame_info.reg_fp) { const char *tmp = reg_names[HARD_FRAME_POINTER_REGNUM]; --- 3131,3136 ---- *************** ia64_emit_nops () *** 7060,7066 **** { while (bundle_pos < 3) { ! emit_insn_before (gen_nop_type (b->t[bundle_pos]), insn); bundle_pos++; } continue; --- 7103,7110 ---- { while (bundle_pos < 3) { ! if (b->t[bundle_pos] != TYPE_L) ! emit_insn_before (gen_nop_type (b->t[bundle_pos]), insn); bundle_pos++; } continue; *************** ia64_output_mi_thunk (file, thunk, delta *** 8368,8373 **** --- 8412,8420 ---- emit_note (NULL, NOTE_INSN_PROLOGUE_END); this = gen_rtx_REG (Pmode, IN_REG (0)); + if (TARGET_ILP32) + emit_insn (gen_ptr_extend (this, + gen_rtx_REG (ptr_mode, IN_REG (0)))); /* Apply the constant offset, if required. */ if (delta) *************** ia64_output_mi_thunk (file, thunk, delta *** 8389,8395 **** rtx vcall_offset_rtx = GEN_INT (vcall_offset); rtx tmp = gen_rtx_REG (Pmode, 2); ! emit_move_insn (tmp, gen_rtx_MEM (Pmode, this)); if (!CONST_OK_FOR_J (vcall_offset)) { --- 8436,8449 ---- rtx vcall_offset_rtx = GEN_INT (vcall_offset); rtx tmp = gen_rtx_REG (Pmode, 2); ! if (TARGET_ILP32) ! { ! rtx t = gen_rtx_REG (ptr_mode, 2); ! emit_move_insn (t, gen_rtx_MEM (ptr_mode, this)); ! emit_insn (gen_ptr_extend (tmp, t)); ! } ! else ! emit_move_insn (tmp, gen_rtx_MEM (Pmode, this)); if (!CONST_OK_FOR_J (vcall_offset)) { *************** ia64_output_mi_thunk (file, thunk, delta *** 8399,8405 **** } emit_insn (gen_adddi3 (tmp, tmp, vcall_offset_rtx)); ! emit_move_insn (tmp, gen_rtx_MEM (Pmode, tmp)); emit_insn (gen_adddi3 (this, this, tmp)); } --- 8453,8463 ---- } emit_insn (gen_adddi3 (tmp, tmp, vcall_offset_rtx)); ! if (TARGET_ILP32) ! emit_move_insn (gen_rtx_REG (ptr_mode, 2), ! gen_rtx_MEM (ptr_mode, tmp)); ! else ! emit_move_insn (tmp, gen_rtx_MEM (Pmode, tmp)); emit_insn (gen_adddi3 (this, this, tmp)); } diff -Nrc3pad gcc-3.3.1/gcc/config/ia64/ia64.h gcc-3.3.2/gcc/config/ia64/ia64.h *** gcc-3.3.1/gcc/config/ia64/ia64.h 2003-04-25 13:45:41.000000000 +0000 --- gcc-3.3.2/gcc/config/ia64/ia64.h 2003-08-08 22:07:14.000000000 +0000 *************** while (0) *** 436,442 **** 64 predicate registers, 8 branch registers, one frame pointer, and several "application" registers. */ ! #define FIRST_PSEUDO_REGISTER 335 /* Ranges for the various kinds of registers. */ #define ADDL_REGNO_P(REGNO) ((unsigned HOST_WIDE_INT) (REGNO) <= 3) --- 436,442 ---- 64 predicate registers, 8 branch registers, one frame pointer, and several "application" registers. */ ! #define FIRST_PSEUDO_REGISTER 334 /* Ranges for the various kinds of registers. */ #define ADDL_REGNO_P(REGNO) ((unsigned HOST_WIDE_INT) (REGNO) <= 3) *************** while (0) *** 445,453 **** #define PR_REGNO_P(REGNO) ((REGNO) >= 256 && (REGNO) <= 319) #define BR_REGNO_P(REGNO) ((REGNO) >= 320 && (REGNO) <= 327) #define GENERAL_REGNO_P(REGNO) \ ! (GR_REGNO_P (REGNO) \ ! || (REGNO) == FRAME_POINTER_REGNUM \ ! || (REGNO) == RETURN_ADDRESS_POINTER_REGNUM) #define GR_REG(REGNO) ((REGNO) + 0) #define FR_REG(REGNO) ((REGNO) + 128) --- 445,451 ---- #define PR_REGNO_P(REGNO) ((REGNO) >= 256 && (REGNO) <= 319) #define BR_REGNO_P(REGNO) ((REGNO) >= 320 && (REGNO) <= 327) #define GENERAL_REGNO_P(REGNO) \ ! (GR_REGNO_P (REGNO) || (REGNO) == FRAME_POINTER_REGNUM) #define GR_REG(REGNO) ((REGNO) + 0) #define FR_REG(REGNO) ((REGNO) + 128) *************** while (0) *** 457,467 **** #define IN_REG(REGNO) ((REGNO) + 112) #define LOC_REG(REGNO) ((REGNO) + 32) ! #define AR_CCV_REGNUM 330 ! #define AR_UNAT_REGNUM 331 ! #define AR_PFS_REGNUM 332 ! #define AR_LC_REGNUM 333 ! #define AR_EC_REGNUM 334 #define IN_REGNO_P(REGNO) ((REGNO) >= IN_REG (0) && (REGNO) <= IN_REG (7)) #define LOC_REGNO_P(REGNO) ((REGNO) >= LOC_REG (0) && (REGNO) <= LOC_REG (79)) --- 455,465 ---- #define IN_REG(REGNO) ((REGNO) + 112) #define LOC_REG(REGNO) ((REGNO) + 32) ! #define AR_CCV_REGNUM 329 ! #define AR_UNAT_REGNUM 330 ! #define AR_PFS_REGNUM 331 ! #define AR_LC_REGNUM 332 ! #define AR_EC_REGNUM 333 #define IN_REGNO_P(REGNO) ((REGNO) >= IN_REG (0) && (REGNO) <= IN_REG (7)) #define LOC_REGNO_P(REGNO) ((REGNO) >= LOC_REG (0) && (REGNO) <= LOC_REG (79)) *************** while (0) *** 524,531 **** 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* Branch registers. */ \ 0, 0, 0, 0, 0, 0, 0, 0, \ ! /*FP RA CCV UNAT PFS LC EC */ \ ! 1, 1, 1, 1, 1, 0, 1 \ } /* Like `FIXED_REGISTERS' but has 1 for each register that is clobbered --- 522,529 ---- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* Branch registers. */ \ 0, 0, 0, 0, 0, 0, 0, 0, \ ! /*FP CCV UNAT PFS LC EC */ \ ! 1, 1, 1, 1, 0, 1 \ } /* Like `FIXED_REGISTERS' but has 1 for each register that is clobbered *************** while (0) *** 559,566 **** 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* Branch registers. */ \ 1, 0, 0, 0, 0, 0, 1, 1, \ ! /*FP RA CCV UNAT PFS LC EC */ \ ! 1, 1, 1, 1, 1, 0, 1 \ } /* Like `CALL_USED_REGISTERS' but used to overcome a historical --- 557,564 ---- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* Branch registers. */ \ 1, 0, 0, 0, 0, 0, 1, 1, \ ! /*FP CCV UNAT PFS LC EC */ \ ! 1, 1, 1, 1, 0, 1 \ } /* Like `CALL_USED_REGISTERS' but used to overcome a historical *************** while (0) *** 597,604 **** 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* Branch registers. */ \ 1, 0, 0, 0, 0, 0, 1, 1, \ ! /*FP RA CCV UNAT PFS LC EC */ \ ! 0, 0, 1, 0, 1, 0, 0 \ } --- 595,602 ---- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* Branch registers. */ \ 1, 0, 0, 0, 0, 0, 1, 1, \ ! /*FP CCV UNAT PFS LC EC */ \ ! 0, 1, 0, 1, 0, 0 \ } *************** while (0) *** 744,750 **** /* Special branch registers. */ \ R_BR (0), \ /* Other fixed registers. */ \ ! FRAME_POINTER_REGNUM, RETURN_ADDRESS_POINTER_REGNUM, \ AR_CCV_REGNUM, AR_UNAT_REGNUM, AR_PFS_REGNUM, AR_LC_REGNUM, \ AR_EC_REGNUM \ } --- 742,748 ---- /* Special branch registers. */ \ R_BR (0), \ /* Other fixed registers. */ \ ! FRAME_POINTER_REGNUM, \ AR_CCV_REGNUM, AR_UNAT_REGNUM, AR_PFS_REGNUM, AR_LC_REGNUM, \ AR_EC_REGNUM \ } *************** enum reg_class *** 873,883 **** /* AR_M_REGS. */ \ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ ! 0x00000000, 0x00000000, 0x0C00 }, \ /* AR_I_REGS. */ \ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ ! 0x00000000, 0x00000000, 0x7000 }, \ /* ADDL_REGS. */ \ { 0x0000000F, 0x00000000, 0x00000000, 0x00000000, \ 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ --- 871,881 ---- /* AR_M_REGS. */ \ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ ! 0x00000000, 0x00000000, 0x0600 }, \ /* AR_I_REGS. */ \ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ ! 0x00000000, 0x00000000, 0x3800 }, \ /* ADDL_REGS. */ \ { 0x0000000F, 0x00000000, 0x00000000, 0x00000000, \ 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ *************** enum reg_class *** 885,891 **** /* GR_REGS. */ \ { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \ 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ ! 0x00000000, 0x00000000, 0x0300 }, \ /* FR_REGS. */ \ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \ --- 883,889 ---- /* GR_REGS. */ \ { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \ 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ ! 0x00000000, 0x00000000, 0x0100 }, \ /* FR_REGS. */ \ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \ *************** enum reg_class *** 893,907 **** /* GR_AND_BR_REGS. */ \ { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \ 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ ! 0x00000000, 0x00000000, 0x03FF }, \ /* GR_AND_FR_REGS. */ \ { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \ ! 0x00000000, 0x00000000, 0x0300 }, \ /* ALL_REGS. */ \ { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \ ! 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFF }, \ } /* A C expression whose value is a register class containing hard register --- 891,905 ---- /* GR_AND_BR_REGS. */ \ { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \ 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ ! 0x00000000, 0x00000000, 0x01FF }, \ /* GR_AND_FR_REGS. */ \ { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \ ! 0x00000000, 0x00000000, 0x0100 }, \ /* ALL_REGS. */ \ { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \ ! 0xFFFFFFFF, 0xFFFFFFFF, 0x3FFF }, \ } /* A C expression whose value is a register class containing hard register *************** enum reg_class *** 1119,1125 **** DYNAMIC_CHAIN_ADDRESS and SETUP_FRAME_ADDRESS (for the reg stack flush). */ #define RETURN_ADDR_RTX(COUNT, FRAME) \ ! ((COUNT) == 0 ? return_address_pointer_rtx : const0_rtx) /* A C expression whose value is RTL representing the location of the incoming return address at the beginning of any function, before the prologue. This --- 1117,1123 ---- DYNAMIC_CHAIN_ADDRESS and SETUP_FRAME_ADDRESS (for the reg stack flush). */ #define RETURN_ADDR_RTX(COUNT, FRAME) \ ! ia64_return_addr_rtx (COUNT, FRAME) /* A C expression whose value is RTL representing the location of the incoming return address at the beginning of any function, before the prologue. This *************** enum reg_class *** 1180,1192 **** REGNO_POINTER_ALIGN (ARG_POINTER_REGNUM) = 64; \ } while (0) - /* The register number for the return address register. For IA-64, this - is not actually a pointer as the name suggests, but that's a name that - gen_rtx_REG already takes care to keep unique. We modify - return_address_pointer_rtx in ia64_expand_prologue to reference the - final output regnum. */ - #define RETURN_ADDRESS_POINTER_REGNUM 329 - /* Register numbers used for passing a function's static chain pointer. */ /* ??? The ABI sez the static chain should be passed as a normal parameter. */ #define STATIC_CHAIN_REGNUM 15 --- 1178,1183 ---- *************** enum reg_class *** 1210,1216 **** {ARG_POINTER_REGNUM, HARD_FRAME_POINTER_REGNUM}, \ {FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM}, \ {FRAME_POINTER_REGNUM, HARD_FRAME_POINTER_REGNUM}, \ - {RETURN_ADDRESS_POINTER_REGNUM, BR_REG (0)}, \ } /* A C expression that returns nonzero if the compiler is allowed to try to --- 1201,1206 ---- *************** do { \ *** 1934,1941 **** "p60", "p61", "p62", "p63", \ /* Branch registers. */ \ "b0", "b1", "b2", "b3", "b4", "b5", "b6", "b7", \ ! /* Frame pointer. Return address. */ \ ! "sfp", "retaddr", "ar.ccv", "ar.unat", "ar.pfs", "ar.lc", "ar.ec", \ } /* If defined, a C initializer for an array of structures containing a name and --- 1924,1931 ---- "p60", "p61", "p62", "p63", \ /* Branch registers. */ \ "b0", "b1", "b2", "b3", "b4", "b5", "b6", "b7", \ ! /* Frame pointer. Application registers. */ \ ! "sfp", "ar.ccv", "ar.unat", "ar.pfs", "ar.lc", "ar.ec", \ } /* If defined, a C initializer for an array of structures containing a name and diff -Nrc3pad gcc-3.3.1/gcc/config/ia64/ia64.md gcc-3.3.2/gcc/config/ia64/ia64.md *** gcc-3.3.1/gcc/config/ia64/ia64.md 2003-07-21 17:56:10.000000000 +0000 --- gcc-3.3.2/gcc/config/ia64/ia64.md 2003-08-08 22:07:14.000000000 +0000 *************** *** 73,78 **** --- 73,79 ---- (UNSPEC_BUNDLE_SELECTOR 23) (UNSPEC_ADDP4 24) (UNSPEC_PROLOGUE_USE 25) + (UNSPEC_RET_ADDR 26) ]) (define_constants *************** *** 416,421 **** --- 417,441 ---- DONE; }) + ;; This is used as a placeholder for the return address during early + ;; compilation. We won't know where we've placed this until during + ;; reload, at which point it can wind up in b0, a general register, + ;; or memory. The only safe destination under these conditions is a + ;; general register. + + (define_insn_and_split "*movdi_ret_addr" + [(set (match_operand:DI 0 "register_operand" "=r") + (unspec:DI [(const_int 0)] UNSPEC_RET_ADDR))] + "" + "#" + "reload_completed" + [(const_int 0)] + { + ia64_split_return_addr_rtx (operands[0]); + DONE; + } + [(set_attr "itanium_class" "ialu")]) + (define_insn "*movdi_internal" [(set (match_operand:DI 0 "destination_operand" "=r,r,r,r, m, r,*f,*f,*f, Q, r,*b, r,*e, r,*d, r,*c") diff -Nrc3pad gcc-3.3.1/gcc/config/ia64/ia64-protos.h gcc-3.3.2/gcc/config/ia64/ia64-protos.h *** gcc-3.3.1/gcc/config/ia64/ia64-protos.h 2003-04-25 13:45:41.000000000 +0000 --- gcc-3.3.2/gcc/config/ia64/ia64-protos.h 2003-08-08 22:07:14.000000000 +0000 *************** extern void ia64_override_options PARAMS *** 135,140 **** --- 135,143 ---- extern int ia64_dbx_register_number PARAMS((int)); extern bool ia64_function_ok_for_sibcall PARAMS ((tree)); + extern rtx ia64_return_addr_rtx PARAMS ((HOST_WIDE_INT, rtx)); + extern void ia64_split_return_addr_rtx PARAMS ((rtx)); + #ifdef SDATA_SECTION_ASM_OP extern void sdata_section PARAMS ((void)); #endif diff -Nrc3pad gcc-3.3.1/gcc/config/ia64/libgcc-ia64.ver gcc-3.3.2/gcc/config/ia64/libgcc-ia64.ver *** gcc-3.3.1/gcc/config/ia64/libgcc-ia64.ver 2001-03-19 16:02:02.000000000 +0000 --- gcc-3.3.2/gcc/config/ia64/libgcc-ia64.ver 2003-09-04 09:39:46.000000000 +0000 *************** GCC_3.0 { *** 7,9 **** --- 7,12 ---- __ia64_trampoline __ia64_backtrace } + GCC_3.3.2 { + _Unwind_GetBSP + } diff -Nrc3pad gcc-3.3.1/gcc/config/ia64/unwind-ia64.c gcc-3.3.2/gcc/config/ia64/unwind-ia64.c *** gcc-3.3.1/gcc/config/ia64/unwind-ia64.c 2003-06-18 22:52:28.000000000 +0000 --- gcc-3.3.2/gcc/config/ia64/unwind-ia64.c 2003-09-04 09:39:47.000000000 +0000 *************** _Unwind_GetCFA (struct _Unwind_Context * *** 1665,1670 **** --- 1665,1678 ---- return (_Unwind_Ptr) context->psp; } + /* Get the value of the Backing Store Pointer as saved in CONTEXT. */ + + _Unwind_Word + _Unwind_GetBSP (struct _Unwind_Context *context) + { + return (_Unwind_Ptr) context->bsp; + } + static _Unwind_Reason_Code uw_frame_state_for (struct _Unwind_Context *context, _Unwind_FrameState *fs) diff -Nrc3pad gcc-3.3.1/gcc/config/linux.h gcc-3.3.2/gcc/config/linux.h *** gcc-3.3.1/gcc/config/linux.h 2003-02-22 18:35:00.000000000 +0000 --- gcc-3.3.2/gcc/config/linux.h 2003-09-16 15:39:22.000000000 +0000 *************** Boston, MA 02111-1307, USA. */ *** 108,113 **** --- 108,116 ---- #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " #endif + #define LINK_GCC_C_SEQUENCE_SPEC \ + "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}" + /* Define this so we can compile MS code for use with WINE. */ #define HANDLE_PRAGMA_PACK_PUSH_POP diff -Nrc3pad gcc-3.3.1/gcc/config/m32r/m32r.c gcc-3.3.2/gcc/config/m32r/m32r.c *** gcc-3.3.1/gcc/config/m32r/m32r.c 2002-10-16 00:40:32.000000000 +0000 --- gcc-3.3.2/gcc/config/m32r/m32r.c 2003-09-02 11:02:15.000000000 +0000 *************** *** 1,21 **** /* Subroutines used for code generation on the Mitsubishi M32R cpu. ! Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. ! This file is part of GNU CC. ! GNU CC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. ! GNU CC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License ! along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ --- 1,21 ---- /* Subroutines used for code generation on the Mitsubishi M32R cpu. ! Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. ! This file is part of GCC. ! GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. ! GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License ! along with GCC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ *************** m32r_print_operand (file, x, code) *** 2248,2254 **** switch (code) { /* The 's' and 'p' codes are used by output_block_move() to ! indicate post-increment 's'tores and 'p're-increment loads. */ case 's': if (GET_CODE (x) == REG) fprintf (file, "@+%s", reg_names [REGNO (x)]); --- 2248,2254 ---- switch (code) { /* The 's' and 'p' codes are used by output_block_move() to ! indicate pre-increment 's'tores and 'p'ost-increment loads. */ case 's': if (GET_CODE (x) == REG) fprintf (file, "@+%s", reg_names [REGNO (x)]); *************** m32r_expand_block_move (operands) *** 2833,2839 **** } if (leftover) ! emit_insn (gen_movstrsi_internal (dst_reg, src_reg, GEN_INT (leftover))); } --- 2833,2853 ---- } if (leftover) ! { ! HOST_WIDE_INT bytes = leftover; ! ! leftover = bytes % 4; ! bytes -= leftover; ! ! if (bytes) ! { ! emit_insn (gen_movstrsi_internal (dst_reg, src_reg, GEN_INT (bytes))); ! emit_insn (gen_addsi3 (dst_reg, dst_reg, GEN_INT (4))); ! } ! ! if (leftover) ! emit_insn (gen_movstrsi_small_internal (dst_reg, src_reg, GEN_INT (leftover))); ! } } *************** m32r_output_block_move (insn, operands) *** 2963,2968 **** --- 2977,2983 ---- /* Return true if op is an integer constant, less than or equal to MAX_MOVE_BYTES. */ + int m32r_block_immediate_operand (op, mode) rtx op; *************** m32r_block_immediate_operand (op, mode) *** 2975,2977 **** --- 2990,3005 ---- return 1; } + + int + m32r_block_small_immediate_operand (op, mode) + rtx op; + enum machine_mode mode ATTRIBUTE_UNUSED; + { + if (GET_CODE (op) != CONST_INT + || INTVAL (op) > 4 + || INTVAL (op) <= 0) + return 0; + + return 1; + } diff -Nrc3pad gcc-3.3.1/gcc/config/m32r/m32r.h gcc-3.3.2/gcc/config/m32r/m32r.h *** gcc-3.3.1/gcc/config/m32r/m32r.h 2002-09-24 12:48:57.000000000 +0000 --- gcc-3.3.2/gcc/config/m32r/m32r.h 2003-09-02 11:02:16.000000000 +0000 *************** *** 1,21 **** /* Definitions of target machine for GNU compiler, Mitsubishi M32R cpu. ! Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. ! This file is part of GNU CC. ! GNU CC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. ! GNU CC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License ! along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ --- 1,21 ---- /* Definitions of target machine for GNU compiler, Mitsubishi M32R cpu. ! Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. ! This file is part of GCC. ! GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. ! GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License ! along with GCC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ *************** enum m32r_function_type *** 1970,1975 **** --- 1970,1976 ---- { "extend_operand", { REG, SUBREG, MEM }}, \ { "small_insn_p", { INSN, CALL_INSN, JUMP_INSN }}, \ { "m32r_block_immediate_operand",{ CONST_INT }}, \ + { "m32r_block_small_immediate_operand",{ CONST_INT }}, \ { "large_insn_p", { INSN, CALL_INSN, JUMP_INSN }}, \ { "seth_add3_operand", { SYMBOL_REF, LABEL_REF, CONST }}, diff -Nrc3pad gcc-3.3.1/gcc/config/m32r/m32r.md gcc-3.3.2/gcc/config/m32r/m32r.md *** gcc-3.3.1/gcc/config/m32r/m32r.md 2002-09-20 23:46:54.000000000 +0000 --- gcc-3.3.2/gcc/config/m32r/m32r.md 2003-09-02 11:02:16.000000000 +0000 *************** *** 1,20 **** ;; Machine description of the Mitsubishi M32R cpu for GNU C compiler ! ;; Copyright (C) 1996, 1997, 1998, 1999, 2001 Free Software Foundation, Inc. ! ;; This file is part of GNU CC. ! ;; GNU CC is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2, or (at your option) ;; any later version. ! ;; GNU CC is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ! ;; along with GNU CC; see the file COPYING. If not, write to ;; the Free Software Foundation, 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA. --- 1,20 ---- ;; Machine description of the Mitsubishi M32R cpu for GNU C compiler ! ;; Copyright (C) 1996, 1997, 1998, 1999, 2001, 2003 Free Software Foundation, Inc. ! ;; This file is part of GCC. ! ;; GCC is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2, or (at your option) ;; any later version. ! ;; GCC is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ! ;; along with GCC; see the file COPYING. If not, write to ;; the Free Software Foundation, 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA. *************** *** 1238,1243 **** --- 1238,1253 ---- [(set_attr "type" "int2,int4") (set_attr "length" "2,4")]) + (define_insn "movstrsi_small_internal" + [(set (mem:BLK (match_operand:SI 0 "register_operand" "r")) ;; destination + (mem:BLK (match_operand:SI 1 "register_operand" "r"))) ;; source + (use (match_operand:SI 2 "m32r_block_small_immediate_operand" "J"));; # bytes to move + (clobber (match_scratch:SI 3 "=&r")) ;; temp 1 + (clobber (match_scratch:SI 4 "=&r"))] ;; temp 2 + "" + "* m32r_output_block_move (insn, operands); return \"\"; " + [(set_attr "type" "store8") + (set_attr "length" "20")]) ;; Maximum ;; reg == small constant comparisons are best handled by putting the result ;; of the comparison in a tmp reg and then using beqz/bnez. diff -Nrc3pad gcc-3.3.1/gcc/config/m32r/m32r-protos.h gcc-3.3.2/gcc/config/m32r/m32r-protos.h *** gcc-3.3.1/gcc/config/m32r/m32r-protos.h 2002-06-10 22:20:47.000000000 +0000 --- gcc-3.3.2/gcc/config/m32r/m32r-protos.h 2003-09-02 11:02:15.000000000 +0000 *************** *** 1,20 **** /* Prototypes for m32r.c functions used in the md file & elsewhere. ! Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. ! This file is part of GNU CC. ! GNU CC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. ! GNU CC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License ! along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ --- 1,20 ---- /* Prototypes for m32r.c functions used in the md file & elsewhere. ! Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. ! This file is part of GCC. ! GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. ! GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License ! along with GCC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ *************** extern int large_insn_p PARAMS ((rt *** 83,88 **** --- 83,89 ---- extern int conditional_move_operand PARAMS ((rtx, Mmode)); extern int carry_compare_operand PARAMS ((rtx, Mmode)); extern int m32r_block_immediate_operand PARAMS ((rtx, Mmode)); + extern int m32r_block_small_immediate_operand PARAMS ((rtx, Mmode)); extern int extend_operand PARAMS ((rtx, Mmode)); extern int reg_or_eq_int16_operand PARAMS ((rtx, Mmode)); extern int int8_operand PARAMS ((rtx, Mmode)); diff -Nrc3pad gcc-3.3.1/gcc/config/m68hc11/t-m68hc11-gas gcc-3.3.2/gcc/config/m68hc11/t-m68hc11-gas *** gcc-3.3.1/gcc/config/m68hc11/t-m68hc11-gas 2003-03-24 22:27:36.000000000 +0000 --- gcc-3.3.2/gcc/config/m68hc11/t-m68hc11-gas 2003-10-04 19:45:57.000000000 +0000 *************** LIBGCC2_CFLAGS = -Os -mrelax $(LIBGCC2_I *** 39,45 **** MULTILIB_OPTIONS = m68hc11/m68hc12 mshort fshort-double MULTILIB_DIRNAMES = ! MULTILIB_MATCHES = m68hc11=m6811 m68hc12=m6812 MULTILIB_EXCEPTIONS = -mnoshort -mno68hc11 LIBGCC = stmp-multilib --- 39,45 ---- MULTILIB_OPTIONS = m68hc11/m68hc12 mshort fshort-double MULTILIB_DIRNAMES = ! MULTILIB_MATCHES = m68hc11=m6811 m68hc12=m6812 m68hc12=m68hcs12 MULTILIB_EXCEPTIONS = -mnoshort -mno68hc11 LIBGCC = stmp-multilib diff -Nrc3pad gcc-3.3.1/gcc/config/m68k/t-m68kbare gcc-3.3.2/gcc/config/m68k/t-m68kbare *** gcc-3.3.1/gcc/config/m68k/t-m68kbare 2002-02-13 22:48:57.000000000 +0000 --- gcc-3.3.2/gcc/config/m68k/t-m68kbare 2003-09-19 16:42:14.000000000 +0000 *************** xfgnulib.c: $(srcdir)/config/m68k/fpgnul *** 15,21 **** MULTILIB_OPTIONS = m68000/m68020/m5200/mcpu32/m68040/m68060 m68881/msoft-float MULTILIB_DIRNAMES = MULTILIB_MATCHES = m68000=mc68000 m68000=m68302 mcpu32=m68332 m68020=mc68020 ! MULTILIB_EXCEPTIONS = m68000/msoft-float m5200/m68881 m5200/msoft-float mcpu32/m68881 mcpu32/msoft-float m68040/m68681 m68060/m68681 LIBGCC = stmp-multilib INSTALL_LIBGCC = install-multilib --- 15,21 ---- MULTILIB_OPTIONS = m68000/m68020/m5200/mcpu32/m68040/m68060 m68881/msoft-float MULTILIB_DIRNAMES = MULTILIB_MATCHES = m68000=mc68000 m68000=m68302 mcpu32=m68332 m68020=mc68020 ! MULTILIB_EXCEPTIONS = m68000/msoft-float m5200/m68881 m5200/msoft-float mcpu32/m68881 mcpu32/msoft-float m68040/m68881 m68060/m68881 LIBGCC = stmp-multilib INSTALL_LIBGCC = install-multilib diff -Nrc3pad gcc-3.3.1/gcc/config/m68k/t-rtems gcc-3.3.2/gcc/config/m68k/t-rtems *** gcc-3.3.1/gcc/config/m68k/t-rtems 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/config/m68k/t-rtems 2003-09-19 16:42:14.000000000 +0000 *************** *** 0 **** --- 1,6 ---- + # Custom multilibs for RTEMS + + MULTILIB_OPTIONS = m68000/m68020/m5200/mcpu32/m68030/m68040/m68060 m68881/msoft-float + MULTILIB_DIRNAMES = + MULTILIB_MATCHES = m68000=mc68000 m68000=m68302 mcpu32=m68332 m68020=mc68020 m68030=mc68030 + MULTILIB_EXCEPTIONS = m68000/msoft-float m5200/m68881 m5200/msoft-float mcpu32/m68881 mcpu32/msoft-float m68040/m68881 m68060/m68881 diff -Nrc3pad gcc-3.3.1/gcc/config/mips/t-rtems gcc-3.3.2/gcc/config/mips/t-rtems *** gcc-3.3.1/gcc/config/mips/t-rtems 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/config/mips/t-rtems 2003-09-19 13:20:42.000000000 +0000 *************** *** 0 **** --- 1,5 ---- + # Custom multilibs for RTEMS + + MULTILIB_OPTIONS = mips1/mips3 msoft-float/msingle-float EL/EB + MULTILIB_DIRNAMES = mips1 mips3 soft-float single el eb + MULTILIB_MATCHES = msingle-float=m4650 diff -Nrc3pad gcc-3.3.1/gcc/config/pa/pa64-hpux.h gcc-3.3.2/gcc/config/pa/pa64-hpux.h *** gcc-3.3.1/gcc/config/pa/pa64-hpux.h 2003-04-11 18:57:56.000000000 +0000 --- gcc-3.3.2/gcc/config/pa/pa64-hpux.h 2003-08-26 06:50:30.000000000 +0000 *************** PA_INIT_FINI_HACK *** 408,410 **** --- 408,414 ---- and returns 0. /bin/true cannot be used because it is a script without an interpreter. */ #define INIT_ENVIRONMENT "LD_PXDB=/usr/ccs/bin/size" + + /* The HPUX dynamic linker objects to weak symbols with no + definitions, so do not use them in gthr-posix.h. */ + #define GTHREAD_USE_WEAK 0 diff -Nrc3pad gcc-3.3.1/gcc/config/pa/pa.c gcc-3.3.2/gcc/config/pa/pa.c *** gcc-3.3.1/gcc/config/pa/pa.c 2003-04-16 17:33:39.000000000 +0000 --- gcc-3.3.2/gcc/config/pa/pa.c 2003-09-26 20:22:16.000000000 +0000 *************** output_bvb (operands, nullify, length, n *** 5925,5931 **** else strcpy (buf, "{bvb,|bb,}"); if (useskip && GET_MODE (operands[0]) == DImode) ! strcpy (buf, "extrd,s,*}"); else if (GET_MODE (operands[0]) == DImode) strcpy (buf, "bb,*"); if ((which == 0 && negated) --- 5925,5931 ---- else strcpy (buf, "{bvb,|bb,}"); if (useskip && GET_MODE (operands[0]) == DImode) ! strcpy (buf, "extrd,s,*"); else if (GET_MODE (operands[0]) == DImode) strcpy (buf, "bb,*"); if ((which == 0 && negated) diff -Nrc3pad gcc-3.3.1/gcc/config/pa/pa-hpux10.h gcc-3.3.2/gcc/config/pa/pa-hpux10.h *** gcc-3.3.1/gcc/config/pa/pa-hpux10.h 2003-04-11 18:57:56.000000000 +0000 --- gcc-3.3.2/gcc/config/pa/pa-hpux10.h 2003-08-10 18:37:25.000000000 +0000 *************** along with GNU CC; see the file COPYING. *** 20,25 **** --- 20,31 ---- the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + /* GCC always defines __STDC__. HP C++ compilers don't define it. This + causes trouble when sys/stdsyms.h is included. As a work around, + we define __STDC_EXT__. A similar situation exists with respect to + the definition of __cplusplus. We define _INCLUDE_LONGLONG + to prevent nlist.h from defining __STDC_32_MODE__ (no longlong + support). */ #undef TARGET_OS_CPP_BUILTINS #define TARGET_OS_CPP_BUILTINS() \ do \ *************** Boston, MA 02111-1307, USA. */ *** 36,41 **** --- 42,48 ---- { \ builtin_define ("_HPUX_SOURCE"); \ builtin_define ("_INCLUDE_LONGLONG"); \ + builtin_define ("__STDC_EXT__"); \ } \ else if (!flag_iso) \ { \ diff -Nrc3pad gcc-3.3.1/gcc/config/pa/pa-hpux11.h gcc-3.3.2/gcc/config/pa/pa-hpux11.h *** gcc-3.3.1/gcc/config/pa/pa-hpux11.h 2003-04-11 18:57:56.000000000 +0000 --- gcc-3.3.2/gcc/config/pa/pa-hpux11.h 2003-08-26 06:50:30.000000000 +0000 *************** along with GNU CC; see the file COPYING. *** 18,23 **** --- 18,29 ---- the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + /* GCC always defines __STDC__. HP C++ compilers don't define it. This + causes trouble when sys/stdsyms.h is included. As a work around, + we define __STDC_EXT__. A similar situation exists with respect to + the definition of __cplusplus. We define _INCLUDE_LONGLONG + to prevent nlist.h from defining __STDC_32_MODE__ (no longlong + support). */ #undef TARGET_OS_CPP_BUILTINS #define TARGET_OS_CPP_BUILTINS() \ do \ *************** Boston, MA 02111-1307, USA. */ *** 34,39 **** --- 40,46 ---- { \ builtin_define ("_HPUX_SOURCE"); \ builtin_define ("_INCLUDE_LONGLONG"); \ + builtin_define ("__STDC_EXT__"); \ } \ else \ { \ *************** Boston, MA 02111-1307, USA. */ *** 67,72 **** --- 74,86 ---- } \ while (0) + #undef CPP_SPEC + #define CPP_SPEC \ + "%{mt|pthread:-D_REENTRANT -D_THREAD_SAFE -D_POSIX_C_SOURCE=199506L}" + /* aCC defines also -DRWSTD_MULTI_THREAD, -DRW_MULTI_THREAD. These + affect only aCC's C++ library (Rogue Wave-derived) which we do not + use, and they violate the user's name space. */ + /* We can debug dynamically linked executables on hpux11; we also want dereferencing of a NULL pointer to cause a SEGV. */ #undef LINK_SPEC *************** Boston, MA 02111-1307, USA. */ *** 81,97 **** %{static:-a archive} %{shared:-b}" #endif ! /* Like the default, except no -lg. */ #undef LIB_SPEC #define LIB_SPEC \ "%{!shared:\ ! %{!p:%{!pg:\ ! %{!threads:-lc %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}\ ! %{threads:-lcma -lc_r}}}\ ! %{p: -L/lib/libp/ -lc\ ! %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}\ ! %{pg: -L/lib/libp/ -lc\ ! %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}}" /* Under hpux11, the normal location of the `ld' and `as' programs is the /usr/ccs/bin directory. */ --- 95,107 ---- %{static:-a archive} %{shared:-b}" #endif ! /* hpux 11 has posix threads. */ #undef LIB_SPEC #define LIB_SPEC \ "%{!shared:\ ! %{mt|pthread:-lpthread} \ ! %{p|pg:-L/usr/lib/libp} -lc \ ! %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}" /* Under hpux11, the normal location of the `ld' and `as' programs is the /usr/ccs/bin directory. */ diff -Nrc3pad gcc-3.3.1/gcc/config/pa/pa-hpux.h gcc-3.3.2/gcc/config/pa/pa-hpux.h *** gcc-3.3.1/gcc/config/pa/pa-hpux.h 2003-03-19 05:07:26.000000000 +0000 --- gcc-3.3.2/gcc/config/pa/pa-hpux.h 2003-08-10 18:37:25.000000000 +0000 *************** Boston, MA 02111-1307, USA. */ *** 28,33 **** --- 28,39 ---- #define SIZE_TYPE "unsigned int" #define PTRDIFF_TYPE "int" + /* GCC always defines __STDC__. HP C++ compilers don't define it. This + causes trouble when sys/stdsyms.h is included. As a work around, + we define __STDC_EXT__. A similar situation exists with respect to + the definition of __cplusplus. We define _INCLUDE_LONGLONG + to prevent nlist.h from defining __STDC_32_MODE__ (no longlong + support). */ #undef TARGET_OS_CPP_BUILTINS #define TARGET_OS_CPP_BUILTINS() \ do \ *************** Boston, MA 02111-1307, USA. */ *** 46,51 **** --- 52,58 ---- { \ builtin_define ("_HPUX_SOURCE"); \ builtin_define ("_INCLUDE_LONGLONG"); \ + builtin_define ("__STDC_EXT__"); \ } \ else if (!flag_iso) \ { \ diff -Nrc3pad gcc-3.3.1/gcc/config/rs6000/linux64.h gcc-3.3.2/gcc/config/rs6000/linux64.h *** gcc-3.3.1/gcc/config/rs6000/linux64.h 2003-06-07 06:21:30.000000000 +0000 --- gcc-3.3.2/gcc/config/rs6000/linux64.h 2003-09-16 15:39:23.000000000 +0000 *************** Boston, MA 02111-1307, USA. */ *** 137,142 **** --- 137,145 ---- #undef LINK_SHLIB_SPEC #define LINK_SHLIB_SPEC "%{shared:-shared} %{!shared: %{static:-static}}" + #define LINK_GCC_C_SEQUENCE_SPEC \ + "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}" + #undef LIB_DEFAULT_SPEC #define LIB_DEFAULT_SPEC "%(lib_linux)" diff -Nrc3pad gcc-3.3.1/gcc/config/rs6000/linux.h gcc-3.3.2/gcc/config/rs6000/linux.h *** gcc-3.3.1/gcc/config/rs6000/linux.h 2003-06-17 15:59:10.000000000 +0000 --- gcc-3.3.2/gcc/config/rs6000/linux.h 2003-09-16 15:39:23.000000000 +0000 *************** Boston, MA 02111-1307, USA. */ *** 48,53 **** --- 48,56 ---- #undef LINK_SHLIB_SPEC #define LINK_SHLIB_SPEC "%{shared:-shared} %{!shared: %{static:-static}}" + #define LINK_GCC_C_SEQUENCE_SPEC \ + "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}" + #undef LIB_DEFAULT_SPEC #define LIB_DEFAULT_SPEC "%(lib_linux)" diff -Nrc3pad gcc-3.3.1/gcc/config/rs6000/rs6000.c gcc-3.3.2/gcc/config/rs6000/rs6000.c *** gcc-3.3.1/gcc/config/rs6000/rs6000.c 2003-08-01 21:02:32.000000000 +0000 --- gcc-3.3.2/gcc/config/rs6000/rs6000.c 2003-09-24 02:55:49.000000000 +0000 *************** function_arg_pass_by_reference (cum, mod *** 3310,3316 **** return 1; } ! return type && int_size_in_bytes (type) <= 0; } /* Perform any needed actions needed for a function that is receiving a --- 3310,3316 ---- return 1; } ! return type && int_size_in_bytes (type) < 0; } /* Perform any needed actions needed for a function that is receiving a *************** rs6000_va_arg (valist, type) *** 3551,3557 **** if (DEFAULT_ABI != ABI_V4) { /* Variable sized types are passed by reference. */ ! if (int_size_in_bytes (type) <= 0) { u = build_pointer_type (type); --- 3551,3557 ---- if (DEFAULT_ABI != ABI_V4) { /* Variable sized types are passed by reference. */ ! if (int_size_in_bytes (type) < 0) { u = build_pointer_type (type); diff -Nrc3pad gcc-3.3.1/gcc/config/rs6000/rs6000.md gcc-3.3.2/gcc/config/rs6000/rs6000.md *** gcc-3.3.1/gcc/config/rs6000/rs6000.md 2003-06-09 21:37:52.000000000 +0000 --- gcc-3.3.2/gcc/config/rs6000/rs6000.md 2003-08-11 19:43:58.000000000 +0000 *************** *** 14308,14314 **** return \"bdz $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "4,12,16")]) (define_insn "*ctrsi_internal2" [(set (pc) --- 14308,14314 ---- return \"bdz $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "*,12,16")]) (define_insn "*ctrsi_internal2" [(set (pc) *************** *** 14332,14338 **** return \"{bdn|bdnz} $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "4,12,16")]) (define_insn "*ctrdi_internal1" [(set (pc) --- 14332,14338 ---- return \"{bdn|bdnz} $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "*,12,16")]) (define_insn "*ctrdi_internal1" [(set (pc) *************** *** 14356,14362 **** return \"bdz $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "4,12,16")]) (define_insn "*ctrdi_internal2" [(set (pc) --- 14356,14362 ---- return \"bdz $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "*,12,16")]) (define_insn "*ctrdi_internal2" [(set (pc) *************** *** 14380,14386 **** return \"{bdn|bdnz} $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "4,12,16")]) ;; Similar, but we can use GE since we have a REG_NONNEG. --- 14380,14386 ---- return \"{bdn|bdnz} $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "*,12,16")]) ;; Similar, but we can use GE since we have a REG_NONNEG. *************** *** 14406,14412 **** return \"bdz $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "4,12,16")]) (define_insn "*ctrsi_internal4" [(set (pc) --- 14406,14412 ---- return \"bdz $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "*,12,16")]) (define_insn "*ctrsi_internal4" [(set (pc) *************** *** 14430,14436 **** return \"{bdn|bdnz} $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "4,12,16")]) (define_insn "*ctrdi_internal3" [(set (pc) --- 14430,14436 ---- return \"{bdn|bdnz} $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "*,12,16")]) (define_insn "*ctrdi_internal3" [(set (pc) *************** *** 14454,14460 **** return \"bdz $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "4,12,16")]) (define_insn "*ctrdi_internal4" [(set (pc) --- 14454,14460 ---- return \"bdz $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "*,12,16")]) (define_insn "*ctrdi_internal4" [(set (pc) *************** *** 14478,14484 **** return \"{bdn|bdnz} $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "4,12,16")]) ;; Similar but use EQ --- 14478,14484 ---- return \"{bdn|bdnz} $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "*,12,16")]) ;; Similar but use EQ *************** *** 14504,14510 **** return \"{bdn|bdnz} $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "4,12,16")]) (define_insn "*ctrsi_internal6" [(set (pc) --- 14504,14510 ---- return \"{bdn|bdnz} $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "*,12,16")]) (define_insn "*ctrsi_internal6" [(set (pc) *************** *** 14528,14534 **** return \"bdz $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "4,12,16")]) (define_insn "*ctrdi_internal5" [(set (pc) --- 14528,14534 ---- return \"bdz $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "*,12,16")]) (define_insn "*ctrdi_internal5" [(set (pc) *************** *** 14552,14558 **** return \"{bdn|bdnz} $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "4,12,16")]) (define_insn "*ctrdi_internal6" [(set (pc) --- 14552,14558 ---- return \"{bdn|bdnz} $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "*,12,16")]) (define_insn "*ctrdi_internal6" [(set (pc) *************** *** 14576,14582 **** return \"bdz $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "4,12,16")]) ;; Now the splitters if we could not allocate the CTR register --- 14576,14582 ---- return \"bdz $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "*,12,16")]) ;; Now the splitters if we could not allocate the CTR register diff -Nrc3pad gcc-3.3.1/gcc/config/sh/linux.h gcc-3.3.2/gcc/config/sh/linux.h *** gcc-3.3.1/gcc/config/sh/linux.h 2003-06-06 02:30:59.000000000 +0000 --- gcc-3.3.2/gcc/config/sh/linux.h 2003-09-16 15:39:23.000000000 +0000 *************** do { \ *** 48,55 **** "%{shared:-shared} \ %{!static: \ %{rdynamic:-export-dynamic} \ ! %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \ ! %{!rpath:-rpath /lib}} \ %{static:-static}" /* The GNU C++ standard library requires that these macros be defined. */ --- 48,54 ---- "%{shared:-shared} \ %{!static: \ %{rdynamic:-export-dynamic} \ ! %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \ %{static:-static}" /* The GNU C++ standard library requires that these macros be defined. */ *************** do { \ *** 58,65 **** #undef LIB_SPEC #define LIB_SPEC \ ! "%{shared: -lc} \ ! %{!shared: %{pthread:-lthread} \ %{profile:-lc_p} %{!profile: -lc}}" #undef STARTFILE_SPEC --- 57,66 ---- #undef LIB_SPEC #define LIB_SPEC \ ! "%{pthread:-lpthread} \ ! %{shared: -lc} \ ! %{!shared: \ ! %{mieee-fp:-lieee} \ %{profile:-lc_p} %{!profile: -lc}}" #undef STARTFILE_SPEC *************** do { \ *** 69,71 **** --- 70,75 ---- %{!p:%{profile:gcrt1.o%s} \ %{!profile:crt1.o%s}}}} \ crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}" + + #define LINK_GCC_C_SEQUENCE_SPEC \ + "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}" diff -Nrc3pad gcc-3.3.1/gcc/config/sparc/linux64.h gcc-3.3.2/gcc/config/sparc/linux64.h *** gcc-3.3.1/gcc/config/sparc/linux64.h 2002-12-10 10:55:32.000000000 +0000 --- gcc-3.3.2/gcc/config/sparc/linux64.h 2003-10-01 12:57:26.000000000 +0000 *************** do { \ *** 319,324 **** --- 319,328 ---- #undef CTORS_SECTION_ASM_OP #undef DTORS_SECTION_ASM_OP + #undef LINK_GCC_C_SEQUENCE_SPEC + #define LINK_GCC_C_SEQUENCE_SPEC \ + "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}" + /* Do code reading to identify a signal frame, and set the frame state data appropriately. See unwind-dw2.c for the structs. */ diff -Nrc3pad gcc-3.3.1/gcc/config/sparc/linux.h gcc-3.3.2/gcc/config/sparc/linux.h *** gcc-3.3.1/gcc/config/sparc/linux.h 2002-12-10 10:55:32.000000000 +0000 --- gcc-3.3.2/gcc/config/sparc/linux.h 2003-10-01 12:57:24.000000000 +0000 *************** do { \ *** 256,261 **** --- 256,265 ---- #undef CTORS_SECTION_ASM_OP #undef DTORS_SECTION_ASM_OP + #undef LINK_GCC_C_SEQUENCE_SPEC + #define LINK_GCC_C_SEQUENCE_SPEC \ + "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}" + /* Do code reading to identify a signal frame, and set the frame state data appropriately. See unwind-dw2.c for the structs. */ diff -Nrc3pad gcc-3.3.1/gcc/config/sparc/sol2-c1.asm gcc-3.3.2/gcc/config/sparc/sol2-c1.asm *** gcc-3.3.1/gcc/config/sparc/sol2-c1.asm 1998-12-16 21:13:21.000000000 +0000 --- gcc-3.3.2/gcc/config/sparc/sol2-c1.asm 2003-09-19 06:27:33.000000000 +0000 *************** _start: *** 92,97 **** --- 92,101 ---- ! access those data anyway. Instead, go straight to main: mov %l0, %o0 ! argc mov %l1, %o1 ! argv + #ifdef GCRT1 + setn(___Argv, %o4, %o3) + stn %o1, [%o3] ! *___Argv + #endif ! Skip argc words past argv, to env: sll %l0, CPTRSHIFT, %o2 add %o2, CPTRSIZE, %o2 diff -Nrc3pad gcc-3.3.1/gcc/config/sparc/sparc.c gcc-3.3.2/gcc/config/sparc/sparc.c *** gcc-3.3.1/gcc/config/sparc/sparc.c 2003-07-16 05:19:33.000000000 +0000 --- gcc-3.3.2/gcc/config/sparc/sparc.c 2003-09-10 13:03:56.000000000 +0000 *************** sparc_v8plus_shift (operands, insn, opco *** 8028,8033 **** --- 8028,8037 ---- if (which_alternative != 2) operands[3] = operands[0]; + /* We can only shift by constants <= 63. */ + if (GET_CODE (operands[2]) == CONST_INT) + operands[2] = GEN_INT (INTVAL (operands[2]) & 0x3f); + if (GET_CODE (operands[1]) == CONST_INT) { output_asm_insn ("mov\t%1, %3", operands); diff -Nrc3pad gcc-3.3.1/gcc/config/sparc/sparc.md gcc-3.3.2/gcc/config/sparc/sparc.md *** gcc-3.3.1/gcc/config/sparc/sparc.md 2003-06-04 07:05:02.000000000 +0000 --- gcc-3.3.2/gcc/config/sparc/sparc.md 2003-10-01 06:15:02.000000000 +0000 *************** *** 148,155 **** (eq_attr "branch_type" "fcc") (if_then_else (match_operand 0 "fcc0_reg_operand" "") (if_then_else (eq_attr "empty_delay_slot" "true") ! (const_int 2) ! (const_int 1)) (if_then_else (lt (pc) (match_dup 2)) (if_then_else (lt (minus (match_dup 2) (pc)) (const_int 260000)) (if_then_else (eq_attr "empty_delay_slot" "true") --- 148,159 ---- (eq_attr "branch_type" "fcc") (if_then_else (match_operand 0 "fcc0_reg_operand" "") (if_then_else (eq_attr "empty_delay_slot" "true") ! (if_then_else (eq (symbol_ref "TARGET_V9") (const_int 0)) ! (const_int 3) ! (const_int 2)) ! (if_then_else (eq (symbol_ref "TARGET_V9") (const_int 0)) ! (const_int 2) ! (const_int 1))) (if_then_else (lt (pc) (match_dup 2)) (if_then_else (lt (minus (match_dup 2) (pc)) (const_int 260000)) (if_then_else (eq_attr "empty_delay_slot" "true") *************** *** 6881,6886 **** --- 6885,6892 ---- { if (operands[2] == const1_rtx) return "add\t%1, %1, %0"; + if (GET_CODE (operands[2]) == CONST_INT) + operands[2] = GEN_INT (INTVAL (operands[2]) & 0x1f); return "sll\t%1, %2, %0"; } [(set (attr "type") *************** *** 6910,6915 **** --- 6916,6923 ---- { if (operands[2] == const1_rtx) return "add\t%1, %1, %0"; + if (GET_CODE (operands[2]) == CONST_INT) + operands[2] = GEN_INT (INTVAL (operands[2]) & 0x3f); return "sllx\t%1, %2, %0"; } [(set (attr "type") *************** *** 6969,6975 **** (ashiftrt:SI (match_operand:SI 1 "register_operand" "r") (match_operand:SI 2 "arith_operand" "rI")))] "" ! "sra\t%1, %2, %0" [(set_attr "type" "shift")]) (define_insn "*ashrsi3_extend" --- 6977,6987 ---- (ashiftrt:SI (match_operand:SI 1 "register_operand" "r") (match_operand:SI 2 "arith_operand" "rI")))] "" ! { ! if (GET_CODE (operands[2]) == CONST_INT) ! operands[2] = GEN_INT (INTVAL (operands[2]) & 0x1f); ! return "sra\t%1, %2, %0"; ! } [(set_attr "type" "shift")]) (define_insn "*ashrsi3_extend" *************** *** 7016,7027 **** } }) ! (define_insn "" [(set (match_operand:DI 0 "register_operand" "=r") (ashiftrt:DI (match_operand:DI 1 "register_operand" "r") (match_operand:SI 2 "arith_operand" "rI")))] "TARGET_ARCH64" ! "srax\t%1, %2, %0" [(set_attr "type" "shift")]) ;; XXX --- 7028,7044 ---- } }) ! (define_insn "*ashrdi3_sp64" [(set (match_operand:DI 0 "register_operand" "=r") (ashiftrt:DI (match_operand:DI 1 "register_operand" "r") (match_operand:SI 2 "arith_operand" "rI")))] "TARGET_ARCH64" ! ! { ! if (GET_CODE (operands[2]) == CONST_INT) ! operands[2] = GEN_INT (INTVAL (operands[2]) & 0x3f); ! return "srax\t%1, %2, %0"; ! } [(set_attr "type" "shift")]) ;; XXX *************** *** 7040,7046 **** (lshiftrt:SI (match_operand:SI 1 "register_operand" "r") (match_operand:SI 2 "arith_operand" "rI")))] "" ! "srl\t%1, %2, %0" [(set_attr "type" "shift")]) ;; This handles the case where --- 7057,7067 ---- (lshiftrt:SI (match_operand:SI 1 "register_operand" "r") (match_operand:SI 2 "arith_operand" "rI")))] "" ! { ! if (GET_CODE (operands[2]) == CONST_INT) ! operands[2] = GEN_INT (INTVAL (operands[2]) & 0x1f); ! return "srl\t%1, %2, %0"; ! } [(set_attr "type" "shift")]) ;; This handles the case where *************** *** 7097,7108 **** } }) ! (define_insn "" [(set (match_operand:DI 0 "register_operand" "=r") (lshiftrt:DI (match_operand:DI 1 "register_operand" "r") (match_operand:SI 2 "arith_operand" "rI")))] "TARGET_ARCH64" ! "srlx\t%1, %2, %0" [(set_attr "type" "shift")]) ;; XXX --- 7118,7133 ---- } }) ! (define_insn "*lshrdi3_sp64" [(set (match_operand:DI 0 "register_operand" "=r") (lshiftrt:DI (match_operand:DI 1 "register_operand" "r") (match_operand:SI 2 "arith_operand" "rI")))] "TARGET_ARCH64" ! { ! if (GET_CODE (operands[2]) == CONST_INT) ! operands[2] = GEN_INT (INTVAL (operands[2]) & 0x3f); ! return "srlx\t%1, %2, %0"; ! } [(set_attr "type" "shift")]) ;; XXX diff -Nrc3pad gcc-3.3.1/gcc/config/t-darwin gcc-3.3.2/gcc/config/t-darwin *** gcc-3.3.1/gcc/config/t-darwin 2003-06-04 16:56:11.000000000 +0000 --- gcc-3.3.2/gcc/config/t-darwin 2003-09-24 02:58:48.000000000 +0000 *************** gt-darwin.h : s-gtype ; @true *** 12,18 **** # Explain how to build crt2.o $(T)crt2$(objext): $(srcdir)/config/darwin-crt2.c $(GCC_PASSES) \ ! $(TCONFIG_H) tsystem.h $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) \ -c $(srcdir)/config/darwin-crt2.c -o $(T)crt2$(objext) --- 12,18 ---- # Explain how to build crt2.o $(T)crt2$(objext): $(srcdir)/config/darwin-crt2.c $(GCC_PASSES) \ ! $(TCONFIG_H) stmp-int-hdrs tsystem.h $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) \ -c $(srcdir)/config/darwin-crt2.c -o $(T)crt2$(objext) diff -Nrc3pad gcc-3.3.1/gcc/config/t-libunwind gcc-3.3.2/gcc/config/t-libunwind *** gcc-3.3.1/gcc/config/t-libunwind 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/config/t-libunwind 2003-08-10 23:11:27.000000000 +0000 *************** *** 0 **** --- 1 ---- + LIB2ADDEH = $(srcdir)/unwind-libunwind.c $(srcdir)/unwind-sjlj.c diff -Nrc3pad gcc-3.3.1/gcc/config.gcc gcc-3.3.2/gcc/config.gcc *** gcc-3.3.1/gcc/config.gcc 2003-06-27 11:44:22.000000000 +0000 --- gcc-3.3.2/gcc/config.gcc 2003-10-01 19:07:01.000000000 +0000 *************** hppa*64*-*-hpux11*) *** 961,973 **** then target_cpu_default="${target_cpu_default}|MASK_GNU_LD" fi ! # if [ x$enable_threads = x ]; then ! # enable_threads=$have_pthread_h ! # fi ! # if [ x$enable_threads = xyes ]; then ! # thread_file='dce' ! # tmake_file="${tmake_file} pa/t-dce-thr" ! # fi install_headers_dir=install-headers-cpio ;; hppa1.1-*-hpux11* | hppa2*-*-hpux11*) --- 961,971 ---- then target_cpu_default="${target_cpu_default}|MASK_GNU_LD" fi ! case x${enable_threads} in ! xyes | xposix ) ! thread_file=posix ! ;; ! esac install_headers_dir=install-headers-cpio ;; hppa1.1-*-hpux11* | hppa2*-*-hpux11*) *************** hppa1.1-*-hpux11* | hppa2*-*-hpux11*) *** 976,988 **** xm_defines=POSIX tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib" xmake_file="pa/x-ada" ! # if test x$enable_threads = x; then ! # enable_threads=$have_pthread_h ! # fi ! # if test x$enable_threads = xyes; then ! # thread_file='dce' ! # tmake_file="${tmake_file} pa/t-dce-thr" ! # fi install_headers_dir=install-headers-cpio use_collect2=yes ;; --- 974,984 ---- xm_defines=POSIX tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib" xmake_file="pa/x-ada" ! case x${enable_threads} in ! xyes | xposix ) ! thread_file=posix ! ;; ! esac install_headers_dir=install-headers-cpio use_collect2=yes ;; *************** hppa1.0-*-hpux11*) *** 991,1003 **** xm_defines=POSIX tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib" xmake_file="pa/x-ada" ! # if test x$enable_threads = x; then ! # enable_threads=$have_pthread_h ! # fi ! # if test x$enable_threads = xyes; then ! # thread_file='dce' ! # tmake_file="${tmake_file} pa/t-dce-thr" ! # fi install_headers_dir=install-headers-cpio use_collect2=yes ;; --- 987,997 ---- xm_defines=POSIX tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib" xmake_file="pa/x-ada" ! case x${enable_threads} in ! xyes | xposix ) ! thread_file=posix ! ;; ! esac install_headers_dir=install-headers-cpio use_collect2=yes ;; *************** i[34567]86-*-rtems*) *** 1244,1258 **** i[34567]86-*-sco3.2v5*) # 80386 running SCO Open Server 5 xm_defines=POSIX install_headers_dir=install-headers-cpio ! tm_file="${tm_file} i386/unix.h i386/att.h i386/sco5.h" if test x$gas = xyes then tm_file="usegas.h ${tm_file}" - tmake_file=i386/t-sco5gas - else - tmake_file=i386/t-sco5 fi ! extra_parts="crti.o crtbegin.o crtend.o crtbeginS.o crtendS.o" ;; i[34567]86-*-solaris2*) xm_defines="POSIX SMALL_ARG_MAX" --- 1238,1250 ---- i[34567]86-*-sco3.2v5*) # 80386 running SCO Open Server 5 xm_defines=POSIX install_headers_dir=install-headers-cpio ! tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/sco5.h" if test x$gas = xyes then tm_file="usegas.h ${tm_file}" fi ! tmake_file=i386/t-sco5 ! extra_parts="crtbegin.o crtend.o" ;; i[34567]86-*-solaris2*) xm_defines="POSIX SMALL_ARG_MAX" *************** ia64*-*-linux*) *** 1486,1499 **** tmake_file="t-slibgcc-elf-ver t-linux ia64/t-ia64 ia64/t-glibc" target_cpu_default="MASK_GNU_AS|MASK_GNU_LD" extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o" ;; ia64*-*-hpux*) tm_file="${tm_file} dbxelf.h elfos.h svr4.h ia64/sysv4.h ia64/hpux.h ia64/hpux_longdouble.h" tmake_file="ia64/t-ia64 ia64/t-hpux" target_cpu_default="MASK_GNU_AS" ! if test x$enable_threads = xyes; then ! thread_file='posix' ! fi use_collect2=no c_target_objs="ia64-c.o" cxx_target_objs="ia64-c.o" --- 1478,1496 ---- tmake_file="t-slibgcc-elf-ver t-linux ia64/t-ia64 ia64/t-glibc" target_cpu_default="MASK_GNU_AS|MASK_GNU_LD" extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o" + if test x"$use_libunwind_exceptions" = xyes; then + tmake_file="$tmake_file t-libunwind" + fi ;; ia64*-*-hpux*) tm_file="${tm_file} dbxelf.h elfos.h svr4.h ia64/sysv4.h ia64/hpux.h ia64/hpux_longdouble.h" tmake_file="ia64/t-ia64 ia64/t-hpux" target_cpu_default="MASK_GNU_AS" ! case x$enable_threads in ! xyes | xposix ) ! thread_file=posix ! ;; ! esac use_collect2=no c_target_objs="ia64-c.o" cxx_target_objs="ia64-c.o" *************** m68k-*-rtemscoff*) # would otherwise be *** 1751,1757 **** ;; m68k-*-rtems*) xm_defines=POSIX ! tmake_file="m68k/t-m68kbare t-rtems m68k/t-crtstuff" tm_file="m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h m68k/rtemself.h rtems.h" extra_parts="crtbegin.o crtend.o" if test x$enable_threads = xyes; then --- 1748,1754 ---- ;; m68k-*-rtems*) xm_defines=POSIX ! tmake_file="m68k/t-m68kbare m68k/t-crtstuff t-rtems m68k/t-rtems" tm_file="m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h m68k/rtemself.h rtems.h" extra_parts="crtbegin.o crtend.o" if test x$enable_threads = xyes; then *************** mips64orion-*-rtems*) *** 1968,1974 **** mips*-*-rtems*) xm_defines=POSIX tm_file="${tm_file} mips/elf.h mips/rtems.h rtems.h" ! tmake_file="mips/t-elf t-rtems" if test x$enable_threads = xyes; then thread_file='rtems' fi --- 1965,1971 ---- mips*-*-rtems*) xm_defines=POSIX tm_file="${tm_file} mips/elf.h mips/rtems.h rtems.h" ! tmake_file="mips/t-elf t-rtems mips/t-rtems" if test x$enable_threads = xyes; then thread_file='rtems' fi *************** sh-*-rtems*) *** 2308,2314 **** fi ;; sh-*-linux* | sh[2346lbe]*-*-linux*) ! tmake_file="sh/t-sh sh/t-elf sh/t-linux" case $machine in sh*be-*-* | sh*eb-*-*) ;; *) --- 2305,2311 ---- fi ;; sh-*-linux* | sh[2346lbe]*-*-linux*) ! tmake_file="sh/t-sh sh/t-elf" case $machine in sh*be-*-* | sh*eb-*-*) ;; *) *************** sh-*-linux* | sh[2346lbe]*-*-linux*) *** 2316,2321 **** --- 2313,2319 ---- tmake_file="${tmake_file} sh/t-le" ;; esac + tmake_file="${tmake_file} sh/t-linux" tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/linux.h" gas=yes gnu_ld=yes case $machine in *************** sparc-*-solaris2*) *** 2525,2531 **** tm_file="${tm_file} sparc/sol26-sld.h" fi ;; ! *-*-solaris2.[789]) tm_file="sparc/biarch64.h ${tm_file} sparc/sol2-bi.h" if test x$gnu_ld = xyes; then tm_file="${tm_file} sparc/sol2-gld-bi.h" --- 2523,2529 ---- tm_file="${tm_file} sparc/sol26-sld.h" fi ;; ! *-*-solaris2.[789] | *-*-solaris2.1[0-9]) tm_file="sparc/biarch64.h ${tm_file} sparc/sol2-bi.h" if test x$gnu_ld = xyes; then tm_file="${tm_file} sparc/sol2-gld-bi.h" diff -Nrc3pad gcc-3.3.1/gcc/config.in gcc-3.3.2/gcc/config.in *** gcc-3.3.1/gcc/config.in 2003-08-04 12:58:11.000000000 +0000 --- gcc-3.3.2/gcc/config.in 2003-10-16 20:10:47.000000000 +0000 *************** *** 1,4 **** ! /* config.in. Generated automatically from configure.in by autoheader 2.13. */ /* Define if using alloca.c. */ #undef C_ALLOCA --- 1,4 ---- ! /* config.in. Generated automatically from configure.in by autoheader. */ /* Define if using alloca.c. */ #undef C_ALLOCA *************** *** 501,506 **** --- 501,512 ---- /* Define if host mkdir takes a single argument. */ #undef MKDIR_TAKES_ONE_ARG + /* Define 0/1 to force the choice for exception handling model. */ + #undef CONFIG_SJLJ_EXCEPTIONS + + /* Define if gcc should use -lunwind. */ + #undef USE_LIBUNWIND_EXCEPTIONS + /* Define to the name of a file containing a list of extra machine modes for this architecture. */ #undef EXTRA_MODES_FILE *************** *** 582,587 **** --- 588,596 ---- /* Define if your assembler supports offsetable %lo(). */ #undef HAVE_AS_OFFSETABLE_LO10 + /* Define if your assembler supports the Sun syntax for cmov. */ + #undef HAVE_AS_IX86_CMOV_SUN_SYNTAX + /* Define true if the assembler supports '.long foo@GOTOFF'. */ #undef HAVE_AS_GOTOFF_IN_DATA *************** *** 608,619 **** /* Define if your MIPS libgloss linker scripts consistently include STARTUP directives. */ #undef HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES - /* Define 0/1 to force the choice for exception handling model. */ - #undef CONFIG_SJLJ_EXCEPTIONS - - /* Define if gcc should use -lunwind. */ - #undef USE_LIBUNWIND_EXCEPTIONS - /* Bison unconditionally undefines `const' if neither `__STDC__' nor __cplusplus are defined. That's a problem since we use `const' in --- 617,622 ---- diff -Nrc3pad gcc-3.3.1/gcc/configure gcc-3.3.2/gcc/configure *** gcc-3.3.1/gcc/configure 2003-08-04 12:58:11.000000000 +0000 --- gcc-3.3.2/gcc/configure 2003-10-01 21:56:37.000000000 +0000 *************** ac_help="$ac_help *** 66,71 **** --- 66,76 ---- ac_help="$ac_help --enable-initfini-array use .init_array/.fini_array sections" ac_help="$ac_help + --enable-sjlj-exceptions + arrange to use setjmp/longjmp exception handling" + ac_help="$ac_help + --enable-libunwind-exceptions force use libunwind for exceptions" + ac_help="$ac_help --enable-nls use Native Language Support (default)" ac_help="$ac_help --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib" *************** ac_help="$ac_help *** 91,101 **** enable make rules and dependencies not useful (and sometimes confusing) to the casual installer" ac_help="$ac_help - --enable-sjlj-exceptions - arrange to use setjmp/longjmp exception handling" - ac_help="$ac_help - --enable-libunwind-exceptions force use libunwind for exceptions" - ac_help="$ac_help --enable-version-specific-runtime-libs specify that runtime libraries should be installed in a compiler-specific directory" --- 96,101 ---- *************** else *** 3928,3934 **** # Systems known to be in this category are Windows (all variants), # VMS, and Darwin. case "$host_os" in ! vms* | cygwin* | pe | mingw* | darwin*) gcc_cv_func_mmap_dev_zero=no ;; *) gcc_cv_func_mmap_dev_zero=yes;; --- 3928,3934 ---- # Systems known to be in this category are Windows (all variants), # VMS, and Darwin. case "$host_os" in ! vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00) gcc_cv_func_mmap_dev_zero=no ;; *) gcc_cv_func_mmap_dev_zero=yes;; *************** objext='.o' *** 4856,4861 **** --- 4856,4926 ---- + # With Setjmp/Longjmp based exception handling. + # Check whether --enable-sjlj-exceptions or --disable-sjlj-exceptions was given. + if test "${enable_sjlj_exceptions+set}" = set; then + enableval="$enable_sjlj_exceptions" + sjlj=`if test $enableval = yes; then echo 1; else echo 0; fi` + cat >> confdefs.h <&6 + echo "configure:4873: checking for main in -lunwind" >&5 + ac_lib_var=`echo unwind'_'main | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + ac_save_LIBS="$LIBS" + LIBS="-lunwind $LIBS" + cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" + fi + rm -f conftest* + LIBS="$ac_save_LIBS" + + fi + if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + use_libunwind_default=yes + else + echo "$ac_t""no" 1>&6 + use_libunwind_default=no + fi + + # Use libunwind based exception handling. + # Check whether --enable-libunwind-exceptions or --disable-libunwind-exceptions was given. + if test "${enable_libunwind_exceptions+set}" = set; then + enableval="$enable_libunwind_exceptions" + use_libunwind_exceptions=$enableval + else + use_libunwind_exceptions=$use_libunwind_default + fi + + if test x"$use_libunwind_exceptions" = xyes; then + cat >> confdefs.h <<\EOF + #define USE_LIBUNWIND_EXCEPTIONS 1 + EOF + + fi + target_gtfiles= build_xm_file= build_xm_defines= *************** fi *** 5097,5110 **** echo $ac_n "checking for library containing strerror""... $ac_c" 1>&6 ! echo "configure:5101: checking for library containing strerror" >&5 if eval "test \"`echo '$''{'ac_cv_search_strerror'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_func_search_save_LIBS="$LIBS" ac_cv_search_strerror="no" cat > conftest.$ac_ext <&6 ! echo "configure:5166: checking for library containing strerror" >&5 if eval "test \"`echo '$''{'ac_cv_search_strerror'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_func_search_save_LIBS="$LIBS" ac_cv_search_strerror="no" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_strerror="none required" else --- 5180,5186 ---- strerror() ; return 0; } EOF ! if { (eval echo configure:5184: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_strerror="none required" else *************** rm -f conftest* *** 5126,5132 **** test "$ac_cv_search_strerror" = "no" && for i in cposix; do LIBS="-l$i $ac_func_search_save_LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_strerror="-l$i" break --- 5202,5208 ---- strerror() ; return 0; } EOF ! if { (eval echo configure:5206: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_strerror="-l$i" break *************** fi *** 5160,5171 **** echo $ac_n "checking for working const""... $ac_c" 1>&6 ! echo "configure:5164: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:5229: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else --- 5279,5285 ---- ; return 0; } EOF ! if { (eval echo configure:5283: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else *************** EOF *** 5235,5246 **** fi echo $ac_n "checking for off_t""... $ac_c" 1>&6 ! echo "configure:5239: checking for off_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS --- 5300,5311 ---- fi echo $ac_n "checking for off_t""... $ac_c" 1>&6 ! echo "configure:5304: checking for off_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS *************** EOF *** 5268,5279 **** fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 ! echo "configure:5272: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS --- 5333,5344 ---- fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 ! echo "configure:5337: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS *************** fi *** 5303,5321 **** # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 ! echo "configure:5307: checking for working alloca.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF ! if { (eval echo configure:5319: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_header_alloca_h=yes else --- 5368,5386 ---- # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 ! echo "configure:5372: checking for working alloca.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF ! if { (eval echo configure:5384: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_header_alloca_h=yes else *************** EOF *** 5336,5347 **** fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 ! echo "configure:5340: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:5405: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_func_alloca_works=yes else --- 5434,5440 ---- char *p = (char *) alloca(1); ; return 0; } EOF ! if { (eval echo configure:5438: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_func_alloca_works=yes else *************** EOF *** 5401,5412 **** echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 ! echo "configure:5405: checking whether alloca needs Cray hooks" >&5 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:5470: checking whether alloca needs Cray hooks" >&5 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 *** 5431,5442 **** if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:5435: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:5500: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 5524,5530 ---- ; return 0; } EOF ! if { (eval echo configure:5528: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 5486,5492 **** fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 ! echo "configure:5490: checking stack direction for C alloca" >&5 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 5551,5557 ---- fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 ! echo "configure:5555: checking stack direction for C alloca" >&5 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** else *** 5494,5500 **** ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_stack_direction=1 else --- 5578,5584 ---- exit (find_stack_direction() < 0); } EOF ! if { (eval echo configure:5582: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_stack_direction=1 else *************** fi *** 5536,5547 **** echo $ac_n "checking whether we are using the GNU C Library 2.1 or newer""... $ac_c" 1>&6 ! echo "configure:5540: checking whether we are using the GNU C Library 2.1 or newer" >&5 if eval "test \"`echo '$''{'ac_cv_gnu_library_2_1'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < --- 5601,5612 ---- echo $ac_n "checking whether we are using the GNU C Library 2.1 or newer""... $ac_c" 1>&6 ! echo "configure:5605: checking whether we are using the GNU C Library 2.1 or newer" >&5 if eval "test \"`echo '$''{'ac_cv_gnu_library_2_1'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < *************** stdlib.h string.h unistd.h sys/param.h *** 5577,5593 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:5581: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:5591: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* --- 5642,5658 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:5646: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:5656: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* *************** getgid getuid mempcpy munmap putenv sete *** 5618,5629 **** strdup strtoul tsearch __argz_count __argz_stringify __argz_next do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:5622: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:5687: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 5711,5717 ---- ; return 0; } EOF ! if { (eval echo configure:5715: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** fi *** 5687,5693 **** echo $ac_n "checking for iconv""... $ac_c" 1>&6 ! echo "configure:5691: checking for iconv" >&5 if eval "test \"`echo '$''{'am_cv_func_iconv'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 5752,5758 ---- echo $ac_n "checking for iconv""... $ac_c" 1>&6 ! echo "configure:5756: checking for iconv" >&5 if eval "test \"`echo '$''{'am_cv_func_iconv'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** else *** 5695,5701 **** am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat > conftest.$ac_ext < #include --- 5760,5766 ---- am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat > conftest.$ac_ext < #include *************** iconv_t cd = iconv_open("",""); *** 5705,5711 **** iconv_close(cd); ; return 0; } EOF ! if { (eval echo configure:5709: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_func_iconv=yes else --- 5770,5776 ---- iconv_close(cd); ; return 0; } EOF ! if { (eval echo configure:5774: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_func_iconv=yes else *************** rm -f conftest* *** 5717,5723 **** am_save_LIBS="$LIBS" LIBS="$LIBS $am_cv_libiconv_ldpath -liconv" cat > conftest.$ac_ext < #include --- 5782,5788 ---- am_save_LIBS="$LIBS" LIBS="$LIBS $am_cv_libiconv_ldpath -liconv" cat > conftest.$ac_ext < #include *************** iconv_t cd = iconv_open("",""); *** 5727,5733 **** iconv_close(cd); ; return 0; } EOF ! if { (eval echo configure:5731: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_lib_iconv=yes am_cv_func_iconv=yes --- 5792,5798 ---- iconv_close(cd); ; return 0; } EOF ! if { (eval echo configure:5796: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_lib_iconv=yes am_cv_func_iconv=yes *************** echo "$ac_t""$am_cv_func_iconv" 1>&6 *** 5748,5760 **** EOF echo $ac_n "checking for iconv declaration""... $ac_c" 1>&6 ! echo "configure:5752: checking for iconv declaration" >&5 if eval "test \"`echo '$''{'am_cv_proto_iconv'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < --- 5813,5825 ---- EOF echo $ac_n "checking for iconv declaration""... $ac_c" 1>&6 ! echo "configure:5817: checking for iconv declaration" >&5 if eval "test \"`echo '$''{'am_cv_proto_iconv'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < *************** int main() { *** 5773,5779 **** ; return 0; } EOF ! if { (eval echo configure:5777: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* am_cv_proto_iconv_arg1="" else --- 5838,5844 ---- ; return 0; } EOF ! if { (eval echo configure:5842: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* am_cv_proto_iconv_arg1="" else *************** EOF *** 5802,5820 **** echo $ac_n "checking for nl_langinfo and CODESET""... $ac_c" 1>&6 ! echo "configure:5806: checking for nl_langinfo and CODESET" >&5 if eval "test \"`echo '$''{'am_cv_langinfo_codeset'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char* cs = nl_langinfo(CODESET); ; return 0; } EOF ! if { (eval echo configure:5818: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_langinfo_codeset=yes else --- 5867,5885 ---- echo $ac_n "checking for nl_langinfo and CODESET""... $ac_c" 1>&6 ! echo "configure:5871: checking for nl_langinfo and CODESET" >&5 if eval "test \"`echo '$''{'am_cv_langinfo_codeset'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char* cs = nl_langinfo(CODESET); ; return 0; } EOF ! if { (eval echo configure:5883: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_langinfo_codeset=yes else *************** EOF *** 5837,5855 **** if test $ac_cv_header_locale_h = yes; then echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 ! echo "configure:5841: checking for LC_MESSAGES" >&5 if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { return LC_MESSAGES ; return 0; } EOF ! if { (eval echo configure:5853: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_val_LC_MESSAGES=yes else --- 5902,5920 ---- if test $ac_cv_header_locale_h = yes; then echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 ! echo "configure:5906: checking for LC_MESSAGES" >&5 if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { return LC_MESSAGES ; return 0; } EOF ! if { (eval echo configure:5918: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_val_LC_MESSAGES=yes else *************** EOF *** 5870,5876 **** fi fi echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 ! echo "configure:5874: checking whether NLS is requested" >&5 # Check whether --enable-nls or --disable-nls was given. if test "${enable_nls+set}" = set; then enableval="$enable_nls" --- 5935,5941 ---- fi fi echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 ! echo "configure:5939: checking whether NLS is requested" >&5 # Check whether --enable-nls or --disable-nls was given. if test "${enable_nls+set}" = set; then enableval="$enable_nls" *************** fi *** 5893,5899 **** EOF echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 ! echo "configure:5897: checking whether included gettext is requested" >&5 # Check whether --with-included-gettext or --without-included-gettext was given. if test "${with_included_gettext+set}" = set; then withval="$with_included_gettext" --- 5958,5964 ---- EOF echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 ! echo "configure:5962: checking whether included gettext is requested" >&5 # Check whether --with-included-gettext or --without-included-gettext was given. if test "${with_included_gettext+set}" = set; then withval="$with_included_gettext" *************** fi *** 5913,5929 **** ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 ! echo "configure:5917: checking for libintl.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:5927: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* --- 5978,5994 ---- ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 ! echo "configure:5982: checking for libintl.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:5992: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* *************** if eval "test \"`echo '$ac_cv_header_'$a *** 5944,5955 **** EOF echo $ac_n "checking for GNU gettext in libc""... $ac_c" 1>&6 ! echo "configure:5948: checking for GNU gettext in libc" >&5 if eval "test \"`echo '$''{'gt_cv_func_gnugettext1_libc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < extern int _nl_msg_cat_cntr; --- 6009,6020 ---- EOF echo $ac_n "checking for GNU gettext in libc""... $ac_c" 1>&6 ! echo "configure:6013: checking for GNU gettext in libc" >&5 if eval "test \"`echo '$''{'gt_cv_func_gnugettext1_libc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < extern int _nl_msg_cat_cntr; *************** bindtextdomain ("", ""); *** 5958,5964 **** return (int) gettext ("") + _nl_msg_cat_cntr ; return 0; } EOF ! if { (eval echo configure:5962: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gnugettext1_libc=yes else --- 6023,6029 ---- return (int) gettext ("") + _nl_msg_cat_cntr ; return 0; } EOF ! if { (eval echo configure:6027: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gnugettext1_libc=yes else *************** echo "$ac_t""$gt_cv_func_gnugettext1_lib *** 5974,5987 **** if test "$gt_cv_func_gnugettext1_libc" != "yes"; then echo $ac_n "checking for GNU gettext in libintl""... $ac_c" 1>&6 ! echo "configure:5978: checking for GNU gettext in libintl" >&5 if eval "test \"`echo '$''{'gt_cv_func_gnugettext1_libintl'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -lintl $LIBICONV" cat > conftest.$ac_ext < extern int _nl_msg_cat_cntr; --- 6039,6052 ---- if test "$gt_cv_func_gnugettext1_libc" != "yes"; then echo $ac_n "checking for GNU gettext in libintl""... $ac_c" 1>&6 ! echo "configure:6043: checking for GNU gettext in libintl" >&5 if eval "test \"`echo '$''{'gt_cv_func_gnugettext1_libintl'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -lintl $LIBICONV" cat > conftest.$ac_ext < extern int _nl_msg_cat_cntr; *************** bindtextdomain ("", ""); *** 5990,5996 **** return (int) gettext ("") + _nl_msg_cat_cntr ; return 0; } EOF ! if { (eval echo configure:5994: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gnugettext1_libintl=yes else --- 6055,6061 ---- return (int) gettext ("") + _nl_msg_cat_cntr ; return 0; } EOF ! if { (eval echo configure:6059: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gnugettext1_libintl=yes else *************** EOF *** 6023,6034 **** for ac_func in dcgettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:6027: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:6092: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 6116,6122 ---- ; return 0; } EOF ! if { (eval echo configure:6120: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 6080,6086 **** # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:6084: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 6145,6151 ---- # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:6149: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** fi *** 6114,6120 **** # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:6118: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 6179,6185 ---- # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:6183: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** fi *** 6151,6157 **** # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:6155: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 6216,6222 ---- # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:6220: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** fi *** 6201,6207 **** # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:6205: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 6266,6272 ---- # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:6270: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** fi *** 6235,6241 **** # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:6239: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 6300,6306 ---- # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:6304: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** fi *** 6271,6277 **** # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:6275: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 6336,6342 ---- # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:6340: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** do *** 6343,6349 **** # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:6347: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_INTLBISON'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 6408,6414 ---- # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:6412: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_INTLBISON'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** done *** 6376,6382 **** ac_verc_fail=yes else echo $ac_n "checking version of bison""... $ac_c" 1>&6 ! echo "configure:6380: checking version of bison" >&5 ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; --- 6441,6447 ---- ac_verc_fail=yes else echo $ac_n "checking version of bison""... $ac_c" 1>&6 ! echo "configure:6445: checking version of bison" >&5 ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; *************** EOF *** 6421,6427 **** if test "x$CATOBJEXT" != x; then echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 ! echo "configure:6425: checking for catalogs to be installed" >&5 # Look for .po and .gmo files in the source directory. CATALOGS= XLINGUAS= --- 6486,6492 ---- if test "x$CATOBJEXT" != x; then echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 ! echo "configure:6490: checking for catalogs to be installed" >&5 # Look for .po and .gmo files in the source directory. CATALOGS= XLINGUAS= *************** fi *** 6479,6485 **** case $host_os in win32 | pe | cygwin* | mingw32* | uwin*) echo $ac_n "checking whether windows registry support is requested""... $ac_c" 1>&6 ! echo "configure:6483: checking whether windows registry support is requested" >&5 if test "x$enable_win32_registry" != xno; then cat >> confdefs.h <<\EOF #define ENABLE_WIN32_REGISTRY 1 --- 6544,6550 ---- case $host_os in win32 | pe | cygwin* | mingw32* | uwin*) echo $ac_n "checking whether windows registry support is requested""... $ac_c" 1>&6 ! echo "configure:6548: checking whether windows registry support is requested" >&5 if test "x$enable_win32_registry" != xno; then cat >> confdefs.h <<\EOF #define ENABLE_WIN32_REGISTRY 1 *************** EOF *** 6488,6501 **** echo "$ac_t""yes" 1>&6 echo $ac_n "checking for library containing RegOpenKeyExA""... $ac_c" 1>&6 ! echo "configure:6492: checking for library containing RegOpenKeyExA" >&5 if eval "test \"`echo '$''{'ac_cv_search_RegOpenKeyExA'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_func_search_save_LIBS="$LIBS" ac_cv_search_RegOpenKeyExA="no" cat > conftest.$ac_ext <&6 echo $ac_n "checking for library containing RegOpenKeyExA""... $ac_c" 1>&6 ! echo "configure:6557: checking for library containing RegOpenKeyExA" >&5 if eval "test \"`echo '$''{'ac_cv_search_RegOpenKeyExA'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_func_search_save_LIBS="$LIBS" ac_cv_search_RegOpenKeyExA="no" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_RegOpenKeyExA="none required" else --- 6571,6577 ---- RegOpenKeyExA() ; return 0; } EOF ! if { (eval echo configure:6575: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_RegOpenKeyExA="none required" else *************** rm -f conftest* *** 6517,6523 **** test "$ac_cv_search_RegOpenKeyExA" = "no" && for i in advapi32; do LIBS="-l$i $ac_func_search_save_LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_RegOpenKeyExA="-l$i" break --- 6593,6599 ---- RegOpenKeyExA() ; return 0; } EOF ! if { (eval echo configure:6597: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_RegOpenKeyExA="-l$i" break *************** esac *** 6570,6576 **** if test "x$enable_win32_registry" != xno; then echo $ac_n "checking registry key on windows hosts""... $ac_c" 1>&6 ! echo "configure:6574: checking registry key on windows hosts" >&5 cat >> confdefs.h <&6 ! echo "configure:6639: checking registry key on windows hosts" >&5 cat >> confdefs.h <&6 ! echo "configure:6788: checking what assembler to use" >&5 gcc_cv_as= gcc_cv_gas_major_version= gcc_cv_gas_minor_version= --- 6849,6855 ---- # Figure out what assembler we will be using. echo $ac_n "checking what assembler to use""... $ac_c" 1>&6 ! echo "configure:6853: checking what assembler to use" >&5 gcc_cv_as= gcc_cv_gas_major_version= gcc_cv_gas_minor_version= *************** fi *** 6878,6884 **** # Figure out what linker we will be using. echo $ac_n "checking what linker to use""... $ac_c" 1>&6 ! echo "configure:6882: checking what linker to use" >&5 gcc_cv_ld= gcc_cv_gld_major_version= gcc_cv_gld_minor_version= --- 6943,6949 ---- # Figure out what linker we will be using. echo $ac_n "checking what linker to use""... $ac_c" 1>&6 ! echo "configure:6947: checking what linker to use" >&5 gcc_cv_ld= gcc_cv_gld_major_version= gcc_cv_gld_minor_version= *************** fi *** 6971,6977 **** # Figure out what nm we will be using. echo $ac_n "checking what nm to use""... $ac_c" 1>&6 ! echo "configure:6975: checking what nm to use" >&5 if test -x nm$host_exeext; then gcc_cv_nm=./nm$host_exeext elif test "x$program_prefix" != xNONE; then --- 7036,7042 ---- # Figure out what nm we will be using. echo $ac_n "checking what nm to use""... $ac_c" 1>&6 ! echo "configure:7040: checking what nm to use" >&5 if test -x nm$host_exeext; then gcc_cv_nm=./nm$host_exeext elif test "x$program_prefix" != xNONE; then *************** echo "$ac_t""$gcc_cv_nm" 1>&6 *** 6983,6989 **** # Figure out what objdump we will be using. echo $ac_n "checking what objdump to use""... $ac_c" 1>&6 ! echo "configure:6987: checking what objdump to use" >&5 if test -x objdump$host_exeext; then gcc_cv_objdump=./objdump$host_exeext elif test "x$program_prefix" != xNONE; then --- 7048,7054 ---- # Figure out what objdump we will be using. echo $ac_n "checking what objdump to use""... $ac_c" 1>&6 ! echo "configure:7052: checking what objdump to use" >&5 if test -x objdump$host_exeext; then gcc_cv_objdump=./objdump$host_exeext elif test "x$program_prefix" != xNONE; then *************** echo "$ac_t""$gcc_cv_objdump" 1>&6 *** 6995,7001 **** # Figure out what assembler alignment features are present. echo $ac_n "checking assembler alignment features""... $ac_c" 1>&6 ! echo "configure:6999: checking assembler alignment features" >&5 gcc_cv_as_alignment_features=none if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then # Gas version 2.6 and later support for .balign and .p2align. --- 7060,7066 ---- # Figure out what assembler alignment features are present. echo $ac_n "checking assembler alignment features""... $ac_c" 1>&6 ! echo "configure:7064: checking assembler alignment features" >&5 gcc_cv_as_alignment_features=none if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then # Gas version 2.6 and later support for .balign and .p2align. *************** fi *** 7043,7049 **** echo "$ac_t""$gcc_cv_as_alignment_features" 1>&6 echo $ac_n "checking assembler subsection support""... $ac_c" 1>&6 ! echo "configure:7047: checking assembler subsection support" >&5 gcc_cv_as_subsections=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 9 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then --- 7108,7114 ---- echo "$ac_t""$gcc_cv_as_alignment_features" 1>&6 echo $ac_n "checking assembler subsection support""... $ac_c" 1>&6 ! echo "configure:7112: checking assembler subsection support" >&5 gcc_cv_as_subsections=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 9 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then *************** fi *** 7083,7089 **** echo "$ac_t""$gcc_cv_as_subsections" 1>&6 echo $ac_n "checking assembler weak support""... $ac_c" 1>&6 ! echo "configure:7087: checking assembler weak support" >&5 gcc_cv_as_weak=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 2 -o "$gcc_cv_gas_major_version" -gt 2; then --- 7148,7154 ---- echo "$ac_t""$gcc_cv_as_subsections" 1>&6 echo $ac_n "checking assembler weak support""... $ac_c" 1>&6 ! echo "configure:7152: checking assembler weak support" >&5 gcc_cv_as_weak=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 2 -o "$gcc_cv_gas_major_version" -gt 2; then *************** fi *** 7106,7112 **** echo "$ac_t""$gcc_cv_as_weak" 1>&6 echo $ac_n "checking assembler hidden support""... $ac_c" 1>&6 ! echo "configure:7110: checking assembler hidden support" >&5 gcc_cv_as_hidden=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 \ --- 7171,7177 ---- echo "$ac_t""$gcc_cv_as_weak" 1>&6 echo $ac_n "checking assembler hidden support""... $ac_c" 1>&6 ! echo "configure:7175: checking assembler hidden support" >&5 gcc_cv_as_hidden=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 \ *************** elif test x$gcc_cv_as != x; then *** 7156,7161 **** --- 7221,7229 ---- fi fi fi + else + # non-GNU linkers don't seem to support .hidden yet + gcc_cv_as_hidden=no fi fi if test x"$gcc_cv_as_hidden" = xyes; then *************** EOF *** 7166,7188 **** fi echo "$ac_t""$gcc_cv_as_hidden" 1>&6 libgcc_visibility=$gcc_cv_as_hidden - case "$target" in - mips-sgi-irix6*) - if test x"$gnu_ld_flag" = x"no"; then - # Even if using gas with .hidden support, the resulting object files - # cannot be linked with the IRIX 6 O32 linker. With the N32 and - # N64 linkers, the problem is that the linker refuses to accept - # -call_shared (passed by default to the linker) and -r (used to - # link the object file generated without .hidden directives with - # one that hides symbols), so we also lose. - libgcc_visibility=no - fi - ;; - esac echo $ac_n "checking assembler leb128 support""... $ac_c" 1>&6 ! echo "configure:7186: checking assembler leb128 support" >&5 gcc_cv_as_leb128=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 11 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then --- 7234,7243 ---- fi echo "$ac_t""$gcc_cv_as_hidden" 1>&6 libgcc_visibility=$gcc_cv_as_hidden echo $ac_n "checking assembler leb128 support""... $ac_c" 1>&6 ! echo "configure:7241: checking assembler leb128 support" >&5 gcc_cv_as_leb128=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 11 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then *************** fi *** 7227,7233 **** echo "$ac_t""$gcc_cv_as_leb128" 1>&6 echo $ac_n "checking assembler eh_frame optimization""... $ac_c" 1>&6 ! echo "configure:7231: checking assembler eh_frame optimization" >&5 gcc_cv_as_eh_frame=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 12 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then --- 7282,7288 ---- echo "$ac_t""$gcc_cv_as_leb128" 1>&6 echo $ac_n "checking assembler eh_frame optimization""... $ac_c" 1>&6 ! echo "configure:7286: checking assembler eh_frame optimization" >&5 gcc_cv_as_eh_frame=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 12 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then *************** fi *** 7308,7314 **** echo "$ac_t""$gcc_cv_as_eh_frame" 1>&6 echo $ac_n "checking assembler section merging support""... $ac_c" 1>&6 ! echo "configure:7312: checking assembler section merging support" >&5 gcc_cv_as_shf_merge=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 12 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then --- 7363,7369 ---- echo "$ac_t""$gcc_cv_as_eh_frame" 1>&6 echo $ac_n "checking assembler section merging support""... $ac_c" 1>&6 ! echo "configure:7367: checking assembler section merging support" >&5 gcc_cv_as_shf_merge=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 12 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then *************** fi *** 7331,7337 **** echo "$ac_t""$gcc_cv_as_shf_merge" 1>&6 echo $ac_n "checking assembler thread-local storage support""... $ac_c" 1>&6 ! echo "configure:7335: checking assembler thread-local storage support" >&5 gcc_cv_as_tls=no conftest_s= tls_first_major= --- 7386,7392 ---- echo "$ac_t""$gcc_cv_as_shf_merge" 1>&6 echo $ac_n "checking assembler thread-local storage support""... $ac_c" 1>&6 ! echo "configure:7390: checking assembler thread-local storage support" >&5 gcc_cv_as_tls=no conftest_s= tls_first_major= *************** case "$target" in *** 7474,7480 **** # All TARGET_ABI_OSF targets. alpha*-*-osf* | alpha*-*-linux* | alpha*-*-*bsd*) echo $ac_n "checking assembler supports explicit relocations""... $ac_c" 1>&6 ! echo "configure:7478: checking assembler supports explicit relocations" >&5 if eval "test \"`echo '$''{'gcc_cv_as_explicit_relocs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 7529,7535 ---- # All TARGET_ABI_OSF targets. alpha*-*-osf* | alpha*-*-linux* | alpha*-*-*bsd*) echo $ac_n "checking assembler supports explicit relocations""... $ac_c" 1>&6 ! echo "configure:7533: checking assembler supports explicit relocations" >&5 if eval "test \"`echo '$''{'gcc_cv_as_explicit_relocs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** EOF *** 7524,7530 **** ;; sparc*-*-*) echo $ac_n "checking assembler .register pseudo-op support""... $ac_c" 1>&6 ! echo "configure:7528: checking assembler .register pseudo-op support" >&5 if eval "test \"`echo '$''{'gcc_cv_as_register_pseudo_op'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 7579,7585 ---- ;; sparc*-*-*) echo $ac_n "checking assembler .register pseudo-op support""... $ac_c" 1>&6 ! echo "configure:7583: checking assembler .register pseudo-op support" >&5 if eval "test \"`echo '$''{'gcc_cv_as_register_pseudo_op'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** EOF *** 7552,7558 **** fi echo $ac_n "checking assembler supports -relax""... $ac_c" 1>&6 ! echo "configure:7556: checking assembler supports -relax" >&5 if eval "test \"`echo '$''{'gcc_cv_as_relax_opt'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 7607,7613 ---- fi echo $ac_n "checking assembler supports -relax""... $ac_c" 1>&6 ! echo "configure:7611: checking assembler supports -relax" >&5 if eval "test \"`echo '$''{'gcc_cv_as_relax_opt'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** EOF *** 7580,7586 **** fi echo $ac_n "checking assembler and linker support unaligned pc related relocs""... $ac_c" 1>&6 ! echo "configure:7584: checking assembler and linker support unaligned pc related relocs" >&5 if eval "test \"`echo '$''{'gcc_cv_as_sparc_ua_pcrel'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 7635,7641 ---- fi echo $ac_n "checking assembler and linker support unaligned pc related relocs""... $ac_c" 1>&6 ! echo "configure:7639: checking assembler and linker support unaligned pc related relocs" >&5 if eval "test \"`echo '$''{'gcc_cv_as_sparc_ua_pcrel'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** EOF *** 7607,7613 **** fi echo $ac_n "checking assembler and linker support unaligned pc related relocs against hidden symbols""... $ac_c" 1>&6 ! echo "configure:7611: checking assembler and linker support unaligned pc related relocs against hidden symbols" >&5 if eval "test \"`echo '$''{'gcc_cv_as_sparc_ua_pcrel_hidden'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 7662,7668 ---- fi echo $ac_n "checking assembler and linker support unaligned pc related relocs against hidden symbols""... $ac_c" 1>&6 ! echo "configure:7666: checking assembler and linker support unaligned pc related relocs against hidden symbols" >&5 if eval "test \"`echo '$''{'gcc_cv_as_sparc_ua_pcrel_hidden'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** EOF *** 7647,7653 **** fi echo $ac_n "checking for assembler offsetable %lo() support""... $ac_c" 1>&6 ! echo "configure:7651: checking for assembler offsetable %lo() support" >&5 if eval "test \"`echo '$''{'gcc_cv_as_offsetable_lo10'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 7702,7708 ---- fi echo $ac_n "checking for assembler offsetable %lo() support""... $ac_c" 1>&6 ! echo "configure:7706: checking for assembler offsetable %lo() support" >&5 if eval "test \"`echo '$''{'gcc_cv_as_offsetable_lo10'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** EOF *** 7686,7692 **** i[34567]86-*-* | x86_64-*-*) echo $ac_n "checking assembler instructions""... $ac_c" 1>&6 ! echo "configure:7690: checking assembler instructions" >&5 gcc_cv_as_instructions= if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 9 -o "$gcc_cv_gas_major_version" -gt 2; then --- 7741,7747 ---- i[34567]86-*-* | x86_64-*-*) echo $ac_n "checking assembler instructions""... $ac_c" 1>&6 ! echo "configure:7745: checking assembler instructions" >&5 gcc_cv_as_instructions= if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 9 -o "$gcc_cv_gas_major_version" -gt 2; then *************** EOF *** 7712,7719 **** fi echo "$ac_t""$gcc_cv_as_instructions" 1>&6 echo $ac_n "checking assembler GOTOFF in data directives""... $ac_c" 1>&6 ! echo "configure:7717: checking assembler GOTOFF in data directives" >&5 gcc_cv_as_gotoff_in_data=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x then --- 7767,7792 ---- fi echo "$ac_t""$gcc_cv_as_instructions" 1>&6 + echo $ac_n "checking cmov syntax""... $ac_c" 1>&6 + echo "configure:7772: checking cmov syntax" >&5 + gcc_cv_as_ix86_cmov_sun_syntax=no + if test x$gcc_cv_as != x; then + echo 'cmovl.l %edx, %eax' > conftest.s + if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then + gcc_cv_as_ix86_cmov_sun_syntax=yes + fi + rm -f conftest.s conftest.o + fi + if test "x$gcc_cv_as_ix86_cmov_sun_syntax" = xyes; then + cat >> confdefs.h <<\EOF + #define HAVE_AS_IX86_CMOV_SUN_SYNTAX 1 + EOF + + fi + echo "$ac_t""$gcc_cv_as_ix86_cmov_sun_syntax" 1>&6 + echo $ac_n "checking assembler GOTOFF in data directives""... $ac_c" 1>&6 ! echo "configure:7790: checking assembler GOTOFF in data directives" >&5 gcc_cv_as_gotoff_in_data=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x then *************** EOF *** 7743,7749 **** ia64*-*-*) echo $ac_n "checking assembler supports ltoffx and ldxmov""... $ac_c" 1>&6 ! echo "configure:7747: checking assembler supports ltoffx and ldxmov" >&5 if eval "test \"`echo '$''{'gcc_cv_as_ltoffx_ldxmov_relocs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 7816,7822 ---- ia64*-*-*) echo $ac_n "checking assembler supports ltoffx and ldxmov""... $ac_c" 1>&6 ! echo "configure:7820: checking assembler supports ltoffx and ldxmov" >&5 if eval "test \"`echo '$''{'gcc_cv_as_ltoffx_ldxmov_relocs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** EOF *** 7785,7791 **** esac echo $ac_n "checking assembler dwarf2 debug_line support""... $ac_c" 1>&6 ! echo "configure:7789: checking assembler dwarf2 debug_line support" >&5 gcc_cv_as_dwarf2_debug_line=no # ??? Not all targets support dwarf2 debug_line, even within a version # of gas. Moreover, we need to emit a valid instruction to trigger any --- 7858,7864 ---- esac echo $ac_n "checking assembler dwarf2 debug_line support""... $ac_c" 1>&6 ! echo "configure:7862: checking assembler dwarf2 debug_line support" >&5 gcc_cv_as_dwarf2_debug_line=no # ??? Not all targets support dwarf2 debug_line, even within a version # of gas. Moreover, we need to emit a valid instruction to trigger any *************** fi *** 7842,7848 **** echo "$ac_t""$gcc_cv_as_dwarf2_debug_line" 1>&6 echo $ac_n "checking assembler --gdwarf2 support""... $ac_c" 1>&6 ! echo "configure:7846: checking assembler --gdwarf2 support" >&5 gcc_cv_as_gdwarf2_flag=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then --- 7915,7921 ---- echo "$ac_t""$gcc_cv_as_dwarf2_debug_line" 1>&6 echo $ac_n "checking assembler --gdwarf2 support""... $ac_c" 1>&6 ! echo "configure:7919: checking assembler --gdwarf2 support" >&5 gcc_cv_as_gdwarf2_flag=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then *************** fi *** 7871,7877 **** echo "$ac_t""$gcc_cv_as_gdwarf2_flag" 1>&6 echo $ac_n "checking assembler --gstabs support""... $ac_c" 1>&6 ! echo "configure:7875: checking assembler --gstabs support" >&5 gcc_cv_as_gstabs_flag=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then --- 7944,7950 ---- echo "$ac_t""$gcc_cv_as_gdwarf2_flag" 1>&6 echo $ac_n "checking assembler --gstabs support""... $ac_c" 1>&6 ! echo "configure:7948: checking assembler --gstabs support" >&5 gcc_cv_as_gstabs_flag=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then *************** fi *** 7906,7912 **** echo "$ac_t""$gcc_cv_as_gstabs_flag" 1>&6 echo $ac_n "checking linker read-only and read-write section mixing""... $ac_c" 1>&6 ! echo "configure:7910: checking linker read-only and read-write section mixing" >&5 gcc_cv_ld_ro_rw_mix=unknown if test x$gcc_cv_gld_major_version != x -a x$gcc_cv_gld_minor_version != x; then if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 10 -o "$gcc_cv_gld_major_version" -gt 2 && grep 'EMUL = elf' ../ld/Makefile > /dev/null; then --- 7979,7985 ---- echo "$ac_t""$gcc_cv_as_gstabs_flag" 1>&6 echo $ac_n "checking linker read-only and read-write section mixing""... $ac_c" 1>&6 ! echo "configure:7983: checking linker read-only and read-write section mixing" >&5 gcc_cv_ld_ro_rw_mix=unknown if test x$gcc_cv_gld_major_version != x -a x$gcc_cv_gld_minor_version != x; then if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 10 -o "$gcc_cv_gld_major_version" -gt 2 && grep 'EMUL = elf' ../ld/Makefile > /dev/null; then *************** fi *** 7944,7950 **** echo "$ac_t""$gcc_cv_ld_ro_rw_mix" 1>&6 echo $ac_n "checking linker PT_GNU_EH_FRAME support""... $ac_c" 1>&6 ! echo "configure:7948: checking linker PT_GNU_EH_FRAME support" >&5 gcc_cv_ld_eh_frame_hdr=no if test x$gcc_cv_gld_major_version != x -a x$gcc_cv_gld_minor_version != x; then if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 12 -o "$gcc_cv_gld_major_version" -gt 2 && grep 'EMUL = elf' ../ld/Makefile > /dev/null; then --- 8017,8023 ---- echo "$ac_t""$gcc_cv_ld_ro_rw_mix" 1>&6 echo $ac_n "checking linker PT_GNU_EH_FRAME support""... $ac_c" 1>&6 ! echo "configure:8021: checking linker PT_GNU_EH_FRAME support" >&5 gcc_cv_ld_eh_frame_hdr=no if test x$gcc_cv_gld_major_version != x -a x$gcc_cv_gld_minor_version != x; then if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 12 -o "$gcc_cv_gld_major_version" -gt 2 && grep 'EMUL = elf' ../ld/Makefile > /dev/null; then *************** echo "$ac_t""$gcc_cv_ld_eh_frame_hdr" 1> *** 7968,7974 **** case "$target" in mips*-*-*) echo $ac_n "checking whether libgloss uses STARTUP directives consistently""... $ac_c" 1>&6 ! echo "configure:7972: checking whether libgloss uses STARTUP directives consistently" >&5 gcc_cv_mips_libgloss_startup=no gcc_cv_libgloss_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/libgloss if test "x$exec_prefix" = xNONE; then --- 8041,8047 ---- case "$target" in mips*-*-*) echo $ac_n "checking whether libgloss uses STARTUP directives consistently""... $ac_c" 1>&6 ! echo "configure:8045: checking whether libgloss uses STARTUP directives consistently" >&5 gcc_cv_mips_libgloss_startup=no gcc_cv_libgloss_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/libgloss if test "x$exec_prefix" = xNONE; then *************** fi *** 8172,8178 **** echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 ! echo "configure:8176: checking whether to enable maintainer-specific portions of Makefiles" >&5 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval="$enable_maintainer_mode" --- 8245,8251 ---- echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 ! echo "configure:8249: checking whether to enable maintainer-specific portions of Makefiles" >&5 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval="$enable_maintainer_mode" *************** else *** 8190,8223 **** MAINT='#' fi - # With Setjmp/Longjmp based exception handling. - # Check whether --enable-sjlj-exceptions or --disable-sjlj-exceptions was given. - if test "${enable_sjlj_exceptions+set}" = set; then - enableval="$enable_sjlj_exceptions" - sjlj=`if test $enableval = yes; then echo 1; else echo 0; fi` - cat >> confdefs.h <> confdefs.h <<\EOF - #define USE_LIBUNWIND_EXCEPTIONS 1 - EOF - - fi - # Make empty files to contain the specs and options for each language. # Then add #include lines to for a compiler that has specs and/or options. --- 8263,8268 ---- diff -Nrc3pad gcc-3.3.1/gcc/configure.in gcc-3.3.2/gcc/configure.in *** gcc-3.3.1/gcc/configure.in 2003-06-25 23:14:55.000000000 +0000 --- gcc-3.3.2/gcc/configure.in 2003-09-17 23:37:52.000000000 +0000 *************** objext='.o' *** 797,802 **** --- 797,821 ---- AC_SUBST(manext) AC_SUBST(objext) + # With Setjmp/Longjmp based exception handling. + AC_ARG_ENABLE(sjlj-exceptions, + [ --enable-sjlj-exceptions + arrange to use setjmp/longjmp exception handling], + [sjlj=`if test $enableval = yes; then echo 1; else echo 0; fi` + AC_DEFINE_UNQUOTED(CONFIG_SJLJ_EXCEPTIONS, $sjlj, + [Define 0/1 to force the choice for exception handling model.])]) + + AC_CHECK_LIB(unwind, main, use_libunwind_default=yes, use_libunwind_default=no) + # Use libunwind based exception handling. + AC_ARG_ENABLE(libunwind-exceptions, + [ --enable-libunwind-exceptions force use libunwind for exceptions], + use_libunwind_exceptions=$enableval, + use_libunwind_exceptions=$use_libunwind_default) + if test x"$use_libunwind_exceptions" = xyes; then + AC_DEFINE(USE_LIBUNWIND_EXCEPTIONS, 1, + [Define if gcc should use -lunwind.]) + fi + target_gtfiles= build_xm_file= build_xm_defines= *************** changequote(,)dnl *** 1641,1646 **** --- 1660,1668 ---- fi fi changequote([,])dnl + else + # non-GNU linkers don't seem to support .hidden yet + gcc_cv_as_hidden=no fi fi if test x"$gcc_cv_as_hidden" = xyes; then *************** if test x"$gcc_cv_as_hidden" = xyes; the *** 1649,1667 **** fi AC_MSG_RESULT($gcc_cv_as_hidden) libgcc_visibility=$gcc_cv_as_hidden - case "$target" in - mips-sgi-irix6*) - if test x"$gnu_ld_flag" = x"no"; then - # Even if using gas with .hidden support, the resulting object files - # cannot be linked with the IRIX 6 O32 linker. With the N32 and - # N64 linkers, the problem is that the linker refuses to accept - # -call_shared (passed by default to the linker) and -r (used to - # link the object file generated without .hidden directives with - # one that hides symbols), so we also lose. - libgcc_visibility=no - fi - ;; - esac AC_SUBST(libgcc_visibility) AC_MSG_CHECKING(assembler leb128 support) --- 1671,1676 ---- *************** changequote([,])dnl *** 2131,2136 **** --- 2140,2160 ---- fi AC_MSG_RESULT($gcc_cv_as_instructions) + AC_MSG_CHECKING(cmov syntax) + gcc_cv_as_ix86_cmov_sun_syntax=no + if test x$gcc_cv_as != x; then + echo 'cmovl.l %edx, %eax' > conftest.s + if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then + gcc_cv_as_ix86_cmov_sun_syntax=yes + fi + rm -f conftest.s conftest.o + fi + if test "x$gcc_cv_as_ix86_cmov_sun_syntax" = xyes; then + AC_DEFINE(HAVE_AS_IX86_CMOV_SUN_SYNTAX, 1, + [Define if your assembler supports the Sun syntax for cmov.]) + fi + AC_MSG_RESULT($gcc_cv_as_ix86_cmov_sun_syntax) + AC_MSG_CHECKING(assembler GOTOFF in data directives) gcc_cv_as_gotoff_in_data=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x *************** else *** 2581,2604 **** fi AC_SUBST(MAINT)dnl - # With Setjmp/Longjmp based exception handling. - AC_ARG_ENABLE(sjlj-exceptions, - [ --enable-sjlj-exceptions - arrange to use setjmp/longjmp exception handling], - [sjlj=`if test $enableval = yes; then echo 1; else echo 0; fi` - AC_DEFINE_UNQUOTED(CONFIG_SJLJ_EXCEPTIONS, $sjlj, - [Define 0/1 to force the choice for exception handling model.])]) - - # Use libunwind based exception handling. - AC_ARG_ENABLE(libunwind-exceptions, - [ --enable-libunwind-exceptions force use libunwind for exceptions], - use_libunwind_exceptions=$enableval, - use_libunwind_exceptions=no) - if test x"$use_libunwind_exceptions" = xyes; then - AC_DEFINE(USE_LIBUNWIND_EXCEPTIONS, 1, - [Define if gcc should use -lunwind.]) - fi - # Make empty files to contain the specs and options for each language. # Then add #include lines to for a compiler that has specs and/or options. --- 2605,2610 ---- diff -Nrc3pad gcc-3.3.1/gcc/cp/call.c gcc-3.3.2/gcc/cp/call.c *** gcc-3.3.1/gcc/cp/call.c 2003-07-25 00:30:59.000000000 +0000 --- gcc-3.3.2/gcc/cp/call.c 2003-10-07 05:56:58.000000000 +0000 *************** standard_conversion (to, from, expr) *** 756,762 **** if ((TYPE_PTRFN_P (to) || TYPE_PTRMEMFUNC_P (to)) && expr && type_unknown_p (expr)) { ! expr = instantiate_type (to, expr, tf_none); if (expr == error_mark_node) return NULL_TREE; from = TREE_TYPE (expr); --- 756,762 ---- if ((TYPE_PTRFN_P (to) || TYPE_PTRMEMFUNC_P (to)) && expr && type_unknown_p (expr)) { ! expr = instantiate_type (to, expr, tf_conv); if (expr == error_mark_node) return NULL_TREE; from = TREE_TYPE (expr); *************** standard_conversion (to, from, expr) *** 857,872 **** } } else if (IS_AGGR_TYPE (TREE_TYPE (from)) ! && IS_AGGR_TYPE (TREE_TYPE (to))) { ! if (DERIVED_FROM_P (TREE_TYPE (to), TREE_TYPE (from))) ! { ! from = ! cp_build_qualified_type (TREE_TYPE (to), ! cp_type_quals (TREE_TYPE (from))); ! from = build_pointer_type (from); ! conv = build_conv (PTR_CONV, from, conv); ! } } if (same_type_p (from, to)) --- 857,881 ---- } } else if (IS_AGGR_TYPE (TREE_TYPE (from)) ! && IS_AGGR_TYPE (TREE_TYPE (to)) ! /* [conv.ptr] ! ! An rvalue of type "pointer to cv D," where D is a ! class type, can be converted to an rvalue of type ! "pointer to cv B," where B is a base class (clause ! _class.derived_) of D. If B is an inaccessible ! (clause _class.access_) or ambiguous ! (_class.member.lookup_) base class of D, a program ! that necessitates this conversion is ill-formed. */ ! /* Therefore, we use DERIVED_FROM_P, and not ! ACESSIBLY_UNIQUELY_DERIVED_FROM_P, in this test. */ ! && DERIVED_FROM_P (TREE_TYPE (to), TREE_TYPE (from))) { ! from = ! cp_build_qualified_type (TREE_TYPE (to), ! cp_type_quals (TREE_TYPE (from))); ! from = build_pointer_type (from); ! conv = build_conv (PTR_CONV, from, conv); } if (same_type_p (from, to)) *************** perform_implicit_conversion (type, expr) *** 5993,5999 **** /* Convert EXPR to TYPE (as a direct-initialization) if that is permitted. If the conversion is valid, the converted expression is ! returned. Otherwise, NULL_TREE is returned. */ tree perform_direct_initialization_if_possible (tree type, tree expr) --- 6002,6009 ---- /* Convert EXPR to TYPE (as a direct-initialization) if that is permitted. If the conversion is valid, the converted expression is ! returned. Otherwise, NULL_TREE is returned, except in the case ! that TYPE is a class type; in that case, an error is issued. */ tree perform_direct_initialization_if_possible (tree type, tree expr) *************** perform_direct_initialization_if_possibl *** 6002,6007 **** --- 6012,6033 ---- if (type == error_mark_node || error_operand_p (expr)) return error_mark_node; + /* [dcl.init] + + If the destination type is a (possibly cv-qualified) class type: + + -- If the initialization is direct-initialization ..., + constructors are considered. ... If no constructor applies, or + the overload resolution is ambiguous, the initialization is + ill-formed. */ + if (CLASS_TYPE_P (type)) + { + expr = build_special_member_call (NULL_TREE, complete_ctor_identifier, + build_tree_list (NULL_TREE, expr), + TYPE_BINFO (type), + LOOKUP_NORMAL); + return build_cplus_new (type, expr); + } conv = implicit_conversion (type, TREE_TYPE (expr), expr, LOOKUP_NORMAL); if (!conv || ICS_BAD_FLAG (conv)) *************** make_temporary_var_for_ref_to_temp (tree *** 6048,6065 **** return var; } ! /* Convert EXPR to the indicated reference TYPE, in a way suitable for ! initializing a variable of that TYPE. If DECL is non-NULL, it is ! the VAR_DECL being initialized with the EXPR. (In that case, the ! type of DECL will be TYPE.) ! Return the converted expression. */ tree ! initialize_reference (type, expr, decl) tree type; tree expr; tree decl; { tree conv; --- 6074,6096 ---- return var; } ! /* Convert EXPR to the indicated reference TYPE, in a way suitable ! for initializing a variable of that TYPE. If DECL is non-NULL, ! it is the VAR_DECL being initialized with the EXPR. (In that ! case, the type of DECL will be TYPE.) If DECL is non-NULL, then ! CLEANUP must also be non-NULL, and with *CLEANUP initialized to ! NULL. Upon return, if *CLEANUP is no longer NULL, it will be a ! CLEANUP_STMT that should be inserted after the returned ! expression is used to initialize DECL. ! Return the converted expression. */ tree ! initialize_reference (type, expr, decl, cleanup) tree type; tree expr; tree decl; + tree *cleanup; { tree conv; *************** initialize_reference (type, expr, decl) *** 6069,6075 **** conv = reference_binding (type, TREE_TYPE (expr), expr, LOOKUP_NORMAL); if (!conv || ICS_BAD_FLAG (conv)) { ! error ("could not convert `%E' to `%T'", expr, type); return error_mark_node; } --- 6100,6114 ---- conv = reference_binding (type, TREE_TYPE (expr), expr, LOOKUP_NORMAL); if (!conv || ICS_BAD_FLAG (conv)) { ! if (!(TYPE_QUALS (TREE_TYPE (type)) & TYPE_QUAL_CONST) ! && !real_lvalue_p (expr)) ! error ("invalid initialization of non-const reference of " ! "type '%T' from a temporary of type '%T'", ! type, TREE_TYPE (expr)); ! else ! error ("invalid initialization of reference of type " ! "'%T' from expression of type '%T'", type, ! TREE_TYPE (expr)); return error_mark_node; } *************** initialize_reference (type, expr, decl) *** 6135,6148 **** type = TREE_TYPE (expr); var = make_temporary_var_for_ref_to_temp (decl, type); layout_decl (var, 0); if (at_function_scope_p ()) { - tree cleanup; - add_decl_stmt (var); ! cleanup = cxx_maybe_build_cleanup (var); ! if (cleanup) ! finish_decl_cleanup (var, cleanup); } else { --- 6174,6206 ---- type = TREE_TYPE (expr); var = make_temporary_var_for_ref_to_temp (decl, type); layout_decl (var, 0); + /* Create the INIT_EXPR that will initialize the temporary + variable. */ + init = build (INIT_EXPR, type, var, expr); if (at_function_scope_p ()) { add_decl_stmt (var); ! *cleanup = cxx_maybe_build_cleanup (var); ! if (*cleanup) ! /* We must be careful to destroy the temporary only ! after its initialization has taken place. If the ! initialization throws an exception, then the ! destructor should not be run. We cannot simply ! transform INIT into something like: ! ! (INIT, ({ CLEANUP_STMT; })) ! ! because emit_local_var always treats the ! initializer as a full-expression. Thus, the ! destructor would run too early; it would run at the ! end of initializing the reference variable, rather ! than at the end of the block enclosing the ! reference variable. ! ! The solution is to pass back a CLEANUP_STMT which ! the caller is responsible for attaching to the ! statement tree. */ ! *cleanup = build_stmt (CLEANUP_STMT, var, *cleanup); } else { *************** initialize_reference (type, expr, decl) *** 6151,6157 **** static_aggregates = tree_cons (NULL_TREE, var, static_aggregates); } - init = build (INIT_EXPR, type, var, expr); /* Use its address to initialize the reference variable. */ expr = build_address (var); expr = build (COMPOUND_EXPR, TREE_TYPE (expr), init, expr); --- 6209,6214 ---- diff -Nrc3pad gcc-3.3.1/gcc/cp/ChangeLog gcc-3.3.2/gcc/cp/ChangeLog *** gcc-3.3.1/gcc/cp/ChangeLog 2003-08-04 12:48:43.000000000 +0000 --- gcc-3.3.2/gcc/cp/ChangeLog 2003-10-16 19:43:43.000000000 +0000 *************** *** 1,6 **** ! 2003-08-04 Release Manager ! * GCC 3.3.1 Released. 2003-08-04 Release Manager --- 1,175 ---- ! 2003-10-16 Release Manager ! * GCC 3.3.2 Released. ! ! 2003-10-15 Kriang Lerdsuwanakij ! ! PR c++/12369 ! * decl.c (grokdeclarator): Handle TEMPLATE_ID_EXPR if friend ! is a member of other class. ! * friend.c (do_friend): Don't build TEMPLATE_DECL if friend ! is a specialization of function template. ! ! 2003-10-15 Kriang Lerdsuwanakij ! ! PR c++/7939 ! * typeck.c (comptypes): Don't ICE when its first argument is ! error_mark_node. ! (compparms): Reverse the arguments of same_type_p. ! ! 2003-10-14 Jason Merrill ! ! PR c++/11878 ! * tree.c (build_target_expr_with_type): Call force_rvalue for ! classes with non-trivial copy ctors. ! ! PR c++/11063 ! * typeck.c (build_modify_expr): Call convert rather than abort. ! ! 2003-10-06 Mark Mitchell ! ! PR c++/10147 ! * call.c (initialize_reference): Tweak error message. ! ! PR c++/12337 ! * init.c (build_new_1): Make sure that the expression returned is ! not an lvalue. ! ! PR c++/12344, c++/12236, c++/8656 ! * decl.c (start_function): Do not ignore attributes embedded in a ! function declarator. ! ! 2003-10-04 Roger Sayle ! ! PR c++/11409 ! * class.c (resolve_address_of_overloaded_function): When building ! list of matching non-template function decls, ignore anticipated ! declarations of undeclared or shadowed GCC builtins. ! ! 2003-10-02 Mark Mitchell ! ! PR c++/12486 ! * typeck.c (finish_class_member_access_expr): Issue diagnostic ! on erroneous use of qualified name. ! ! 2003-07-09 Mark Mitchell ! ! * cp-tree.h (break_out_calls): Remove declaration. ! * tree.c (break_out_calls): Remove. ! * typeck.c (build_modify_expr): Avoid invalid sharing of trees. ! ! 2003-09-18 Mark Mitchell ! ! * class.c (resolve_address_of_overloaded_function): Replace ! complain parameter with flags parameter. ! (instantiate_type): Adjust accordingly. ! ! 2003-09-17 Mark Mitchell ! ! PR c++/11991 ! * typeck2.c (incomplete_type_diagnostic): Robustify. ! ! PR c++/12266 ! * cp-tree.h (tsubst_flags_t): Add tf_conv. ! * class.c (standard_conversion): Pass tf_conv to ! instantiate_type. ! (resolve_address_of_overloaded_function): Do not call mark_used ! when just checking conversions. ! ! 2003-09-14 Mark Mitchell ! ! PR c++/3907 ! * cp-tree.h (innermost_scope_is_class_p): New function. ! * class.c (maybe_note_name_used_in_class): Refine test for whether ! or not we are in a class scope. ! * decl.c (innermost_scope_is_class_p): Define. ! ! 2003-09-14 Mark Mitchell ! ! * class.c (layout_class_type): Make DECL_MODE match TYPE_MODE for ! an bit-field whose width exceeds that of its type. ! ! 2003-09-09 Steven Bosscher ! ! PR c++/11595 ! * decl.c (define_label): Remove unreachable timevar pop. ! Always return the decl, even if the definition is invalid. ! ! 2003-09-08 Mark Mitchell ! ! PR c++/11786 ! * decl2.c (add_function): Do not complain about seeing the same ! non-function twice. ! ! 2003-09-08 Mark Mitchell ! ! PR c++/5296 ! * pt.c (try_one_overload): Add addr_p parameter. ! (resolve_overloaded_unification): Pass it. ! ! 2003-09-07 Jason Merrill ! ! PR c++/12181 ! * typeck.c (build_modify_expr): Don't always stabilize the lhs and ! rhs. Do stabilize the lhs of a MODIFY_EXPR used on the lhs. ! ! 2003-09-06 Mark Mitchell ! ! PR c++/11867 ! * call.c (standard_conversion): Improve comments. ! (perform_direct_initialization): Make sure we return an expression ! of the correct type. ! * typeck.c (build_static_cast): Check for ambiguity and ! accessibility when performing conversions. ! ! 2003-09-05 Mark Mitchell ! ! PR c++/12163 ! * call.c (perform_direct_initialization): Correct logic for ! direct-initialization of a class type. ! ! PR c++/12146 ! * pt.c (lookup_template_function): Robustify. ! ! 2003-09-04 Mark Mitchell ! ! Revert this patch: ! * class.c (include_empty_classes): Correct logic for ABI version 1. ! ! 2003-09-03 Mark Mitchell ! ! PR c++/12053 ! * class.c (include_empty_classes): Correct logic for ABI version 1. ! ! 2003-09-01 Mark Mitchell ! ! PR c++/12114 ! * cp-tree.h (initialize_reference): Change prototype. ! * call.c (initialize_reference): Add cleanup parameter. ! * decl.c (grok_reference_init): Likewise. ! (check_initializer): Likewise. ! (cp_finish_decl): Insert a CLEANUP_STMT if necessary. ! (duplicate_decls): When replacing an anticipated builtin, do not ! honor TREE_NOTHROW. ! * typeck.c (convert_for_initialization): Correct call to ! initialize_reference. ! ! 2003-08-29 Mark Mitchell ! ! PR c++/11928 ! * search.c (add_conversions): Avoid adding two conversion ! operators for the same type. ! ! 2003-08-20 Kaveh R. Ghazi ! ! * cp-tree.h (build_function_call_real): Remove unused parameter. ! * typeck.c (build_function_call_real): Likewise. Caller changed. ! * decl.c (binding_table_reverse_maybe_remap): Initialize variable. ! ! 2003-08-19 Gabriel Dos Reis ! ! PR c++/5293 ! * call.c (initialize_reference): Improve diagnostic. 2003-08-04 Release Manager diff -Nrc3pad gcc-3.3.1/gcc/cp/class.c gcc-3.3.2/gcc/cp/class.c *** gcc-3.3.1/gcc/cp/class.c 2003-07-25 00:30:59.000000000 +0000 --- gcc-3.3.2/gcc/cp/class.c 2003-10-05 03:46:56.000000000 +0000 *************** static int field_decl_cmp PARAMS ((const *** 127,134 **** static int method_name_cmp PARAMS ((const tree *, const tree *)); static void add_implicitly_declared_members PARAMS ((tree, int, int, int)); static tree fixed_type_or_null PARAMS ((tree, int *, int *)); ! static tree resolve_address_of_overloaded_function PARAMS ((tree, tree, int, ! int, int, tree)); static tree build_vtable_entry_ref PARAMS ((tree, tree, tree)); static tree build_vtbl_ref_1 PARAMS ((tree, tree)); static tree build_vtbl_initializer PARAMS ((tree, tree, tree, tree, int *)); --- 127,135 ---- static int method_name_cmp PARAMS ((const tree *, const tree *)); static void add_implicitly_declared_members PARAMS ((tree, int, int, int)); static tree fixed_type_or_null PARAMS ((tree, int *, int *)); ! static tree resolve_address_of_overloaded_function PARAMS ((tree, tree, ! tsubst_flags_t, ! int, int, tree)); static tree build_vtable_entry_ref PARAMS ((tree, tree, tree)); static tree build_vtbl_ref_1 PARAMS ((tree, tree)); static tree build_vtbl_initializer PARAMS ((tree, tree, tree, tree, int *)); *************** layout_class_type (tree t, tree *virtual *** 5042,5047 **** --- 5043,5057 ---- field to the size of its declared type; the rest of the field is effectively invisible. */ DECL_SIZE (field) = TYPE_SIZE (type); + /* We must also reset the DECL_MODE of the field. */ + if (abi_version_at_least (2)) + DECL_MODE (field) = TYPE_MODE (type); + else if (warn_abi + && DECL_MODE (field) != TYPE_MODE (type)) + /* Versions of G++ before G++ 3.4 did not reset the + DECL_MODE. */ + warning ("the offset of `%D' may not be ABI-compliant and may " + "change in a future version of GCC", field); } else { *************** pop_lang_context () *** 5994,6006 **** static tree resolve_address_of_overloaded_function (target_type, overload, ! complain, ptrmem, template_only, explicit_targs) tree target_type; tree overload; ! int complain; int ptrmem; int template_only; tree explicit_targs; --- 6004,6016 ---- static tree resolve_address_of_overloaded_function (target_type, overload, ! flags, ptrmem, template_only, explicit_targs) tree target_type; tree overload; ! tsubst_flags_t flags; int ptrmem; int template_only; tree explicit_targs; *************** resolve_address_of_overloaded_function ( *** 6064,6070 **** } else { ! if (complain) error ("\ cannot resolve overloaded function `%D' based on conversion to type `%T'", DECL_NAME (OVL_FUNCTION (overload)), target_type); --- 6074,6080 ---- } else { ! if (flags & tf_error) error ("\ cannot resolve overloaded function `%D' based on conversion to type `%T'", DECL_NAME (OVL_FUNCTION (overload)), target_type); *************** cannot resolve overloaded function `%D' *** 6093,6099 **** /* We're looking for a non-static member, and this isn't one, or vice versa. */ continue; ! /* See if there's a match. */ fntype = TREE_TYPE (fn); if (is_ptrmem) --- 6103,6113 ---- /* We're looking for a non-static member, and this isn't one, or vice versa. */ continue; ! ! /* Ignore anticipated decls of undeclared builtins. */ ! if (DECL_ANTICIPATED (fn)) ! continue; ! /* See if there's a match. */ fntype = TREE_TYPE (fn); if (is_ptrmem) *************** cannot resolve overloaded function `%D' *** 6184,6190 **** if (matches == NULL_TREE) { /* There were *no* matches. */ ! if (complain) { error ("no matches converting function `%D' to type `%#T'", DECL_NAME (OVL_FUNCTION (overload)), --- 6198,6204 ---- if (matches == NULL_TREE) { /* There were *no* matches. */ ! if (flags & tf_error) { error ("no matches converting function `%D' to type `%#T'", DECL_NAME (OVL_FUNCTION (overload)), *************** cannot resolve overloaded function `%D' *** 6205,6211 **** { /* There were too many matches. */ ! if (complain) { tree match; --- 6219,6225 ---- { /* There were too many matches. */ ! if (flags & tf_error) { tree match; *************** cannot resolve overloaded function `%D' *** 6232,6238 **** { static int explained; ! if (!complain) return error_mark_node; pedwarn ("assuming pointer to member `%D'", fn); --- 6246,6252 ---- { static int explained; ! if (!(flags & tf_error)) return error_mark_node; pedwarn ("assuming pointer to member `%D'", fn); *************** cannot resolve overloaded function `%D' *** 6242,6248 **** explained = 1; } } ! mark_used (fn); if (TYPE_PTRFN_P (target_type) || TYPE_PTRMEMFUNC_P (target_type)) return build_unary_op (ADDR_EXPR, fn, 0); --- 6256,6268 ---- explained = 1; } } ! ! /* If we're doing overload resolution purely for the purpose of ! determining conversion sequences, we should not consider the ! function used. If this conversion sequence is selected, the ! function will be marked as used at this point. */ ! if (!(flags & tf_conv)) ! mark_used (fn); if (TYPE_PTRFN_P (target_type) || TYPE_PTRMEMFUNC_P (target_type)) return build_unary_op (ADDR_EXPR, fn, 0); *************** instantiate_type (lhstype, rhs, flags) *** 6272,6277 **** --- 6292,6298 ---- tree lhstype, rhs; tsubst_flags_t flags; { + tsubst_flags_t flags_in = flags; int complain = (flags & tf_error); int strict = (flags & tf_no_attributes) ? COMPARE_NO_ATTRIBUTES : COMPARE_STRICT; *************** instantiate_type (lhstype, rhs, flags) *** 6362,6368 **** return resolve_address_of_overloaded_function (lhstype, fns, ! complain, allow_ptrmem, /*template_only=*/1, args); --- 6383,6389 ---- return resolve_address_of_overloaded_function (lhstype, fns, ! flags_in, allow_ptrmem, /*template_only=*/1, args); *************** instantiate_type (lhstype, rhs, flags) *** 6372,6378 **** return resolve_address_of_overloaded_function (lhstype, rhs, ! complain, allow_ptrmem, /*template_only=*/0, /*explicit_targs=*/NULL_TREE); --- 6393,6399 ---- return resolve_address_of_overloaded_function (lhstype, rhs, ! flags_in, allow_ptrmem, /*template_only=*/0, /*explicit_targs=*/NULL_TREE); *************** maybe_note_name_used_in_class (name, dec *** 6678,6684 **** splay_tree names_used; /* If we're not defining a class, there's nothing to do. */ ! if (!current_class_type || !TYPE_BEING_DEFINED (current_class_type)) return; /* If there's already a binding for this NAME, then we don't have --- 6699,6705 ---- splay_tree names_used; /* If we're not defining a class, there's nothing to do. */ ! if (!innermost_scope_is_class_p ()) return; /* If there's already a binding for this NAME, then we don't have diff -Nrc3pad gcc-3.3.1/gcc/cp/cp-tree.h gcc-3.3.2/gcc/cp/cp-tree.h *** gcc-3.3.1/gcc/cp/cp-tree.h 2003-07-25 00:30:59.000000000 +0000 --- gcc-3.3.2/gcc/cp/cp-tree.h 2003-10-02 12:00:48.000000000 +0000 *************** typedef enum tsubst_flags_t { *** 3149,3156 **** (make_typename_type use) */ tf_ptrmem_ok = 1 << 5, /* pointers to member ok (internal instantiate_type use) */ ! tf_parsing = 1 << 6 /* called from parser (make_typename_type use) */ } tsubst_flags_t; /* The kind of checking we can do looking in a class hierarchy. */ --- 3149,3160 ---- (make_typename_type use) */ tf_ptrmem_ok = 1 << 5, /* pointers to member ok (internal instantiate_type use) */ ! tf_parsing = 1 << 6, /* called from parser (make_typename_type use) */ + tf_conv = 1 << 8, /* We are determining what kind of + conversion might be permissible, not + actually performing the + conversion. */ } tsubst_flags_t; /* The kind of checking we can do looking in a class hierarchy. */ *************** extern tree type_passed_as *** 3623,3629 **** extern tree convert_for_arg_passing PARAMS ((tree, tree)); extern tree cp_convert_parm_for_inlining PARAMS ((tree, tree, tree)); extern int is_properly_derived_from PARAMS ((tree, tree)); ! extern tree initialize_reference PARAMS ((tree, tree, tree)); extern tree make_temporary_var_for_ref_to_temp (tree, tree); extern tree strip_top_quals PARAMS ((tree)); extern tree perform_implicit_conversion PARAMS ((tree, tree)); --- 3627,3633 ---- extern tree convert_for_arg_passing PARAMS ((tree, tree)); extern tree cp_convert_parm_for_inlining PARAMS ((tree, tree, tree)); extern int is_properly_derived_from PARAMS ((tree, tree)); ! extern tree initialize_reference PARAMS ((tree, tree, tree, tree *)); extern tree make_temporary_var_for_ref_to_temp (tree, tree); extern tree strip_top_quals PARAMS ((tree)); extern tree perform_implicit_conversion PARAMS ((tree, tree)); *************** extern void adjust_clone_args PARAMS ( *** 3696,3701 **** --- 3700,3706 ---- /* decl.c */ extern int global_bindings_p PARAMS ((void)); extern int kept_level_p PARAMS ((void)); + extern bool innermost_scope_is_class_p (void); extern tree getdecls PARAMS ((void)); extern void pushlevel PARAMS ((int)); extern tree poplevel PARAMS ((int,int, int)); *************** extern tree build_min PARAMS ((enum t *** 4312,4318 **** extern tree build_min_nt PARAMS ((enum tree_code, ...)); extern tree build_cplus_new PARAMS ((tree, tree)); extern tree get_target_expr PARAMS ((tree)); - extern tree break_out_calls PARAMS ((tree)); extern tree build_cplus_method_type PARAMS ((tree, tree, tree)); extern tree build_cplus_staticfn_type PARAMS ((tree, tree, tree)); extern tree build_cplus_array_type PARAMS ((tree, tree)); --- 4317,4322 ---- *************** extern tree build_x_indirect_ref PARAMS *** 4405,4411 **** extern tree build_indirect_ref PARAMS ((tree, const char *)); extern tree build_array_ref PARAMS ((tree, tree)); extern tree get_member_function_from_ptrfunc PARAMS ((tree *, tree)); ! extern tree build_function_call_real PARAMS ((tree, tree, int, int)); extern tree build_function_call_maybe PARAMS ((tree, tree)); extern tree convert_arguments PARAMS ((tree, tree, tree, int)); extern tree build_x_binary_op PARAMS ((enum tree_code, tree, tree)); --- 4409,4415 ---- extern tree build_indirect_ref PARAMS ((tree, const char *)); extern tree build_array_ref PARAMS ((tree, tree)); extern tree get_member_function_from_ptrfunc PARAMS ((tree *, tree)); ! extern tree build_function_call_real PARAMS ((tree, tree, int)); extern tree build_function_call_maybe PARAMS ((tree, tree)); extern tree convert_arguments PARAMS ((tree, tree, tree, int)); extern tree build_x_binary_op PARAMS ((enum tree_code, tree, tree)); diff -Nrc3pad gcc-3.3.1/gcc/cp/decl2.c gcc-3.3.2/gcc/cp/decl2.c *** gcc-3.3.1/gcc/cp/decl2.c 2003-07-10 12:43:11.000000000 +0000 --- gcc-3.3.2/gcc/cp/decl2.c 2003-09-08 19:05:42.000000000 +0000 *************** add_function (k, fn) *** 4137,4142 **** --- 4137,4144 ---- /* We must find only functions, or exactly one non-function. */ if (!k->functions) k->functions = fn; + else if (fn == k->functions) + ; else if (is_overloaded_fn (k->functions) && is_overloaded_fn (fn)) k->functions = build_overload (fn, k->functions); else diff -Nrc3pad gcc-3.3.1/gcc/cp/decl.c gcc-3.3.2/gcc/cp/decl.c *** gcc-3.3.1/gcc/cp/decl.c 2003-07-25 00:31:00.000000000 +0000 --- gcc-3.3.2/gcc/cp/decl.c 2003-10-16 09:33:52.000000000 +0000 *************** static tree lookup_tag_reverse PARAMS (( *** 72,78 **** static tree lookup_name_real PARAMS ((tree, int, int, int)); static void push_local_name PARAMS ((tree)); static void warn_extern_redeclared_static PARAMS ((tree, tree)); ! static tree grok_reference_init PARAMS ((tree, tree, tree)); static tree grokfndecl PARAMS ((tree, tree, tree, tree, int, enum overload_flags, tree, tree, int, int, int, int, int, int, tree)); --- 72,78 ---- static tree lookup_name_real PARAMS ((tree, int, int, int)); static void push_local_name PARAMS ((tree)); static void warn_extern_redeclared_static PARAMS ((tree, tree)); ! static tree grok_reference_init PARAMS ((tree, tree, tree, tree *)); static tree grokfndecl PARAMS ((tree, tree, tree, tree, int, enum overload_flags, tree, tree, int, int, int, int, int, int, tree)); *************** static void pop_labels PARAMS ((tree)); *** 123,129 **** static void maybe_deduce_size_from_array_init PARAMS ((tree, tree)); static void layout_var_decl PARAMS ((tree)); static void maybe_commonize_var PARAMS ((tree)); ! static tree check_initializer (tree, tree, int); static void make_rtl_for_nonlocal_decl PARAMS ((tree, tree, const char *)); static void save_function_data PARAMS ((tree)); static void check_function_type PARAMS ((tree, tree)); --- 123,129 ---- static void maybe_deduce_size_from_array_init PARAMS ((tree, tree)); static void layout_var_decl PARAMS ((tree)); static void maybe_commonize_var PARAMS ((tree)); ! static tree check_initializer (tree, tree, int, tree *); static void make_rtl_for_nonlocal_decl PARAMS ((tree, tree, const char *)); static void save_function_data PARAMS ((tree)); static void check_function_type PARAMS ((tree, tree)); *************** binding_table_reverse_maybe_remap (bindi *** 461,467 **** { const size_t chain_count = table->chain_count; binding_entry entry = NULL; ! binding_entry *p; size_t i; for (i = 0; i < chain_count && entry == NULL; ++i) --- 461,467 ---- { const size_t chain_count = table->chain_count; binding_entry entry = NULL; ! binding_entry *p = NULL; size_t i; for (i = 0; i < chain_count && entry == NULL; ++i) *************** kept_level_p () *** 922,927 **** --- 922,935 ---- && !current_binding_level->tag_transparent)); } + /* Returns the kind of the innermost scope. */ + + bool + innermost_scope_is_class_p () + { + return current_binding_level->parm_flag == 2; + } + static void declare_namespace_level () { *************** duplicate_decls (newdecl, olddecl) *** 3380,3388 **** if (DECL_ANTICIPATED (olddecl)) ; /* Do nothing yet. */ else if ((DECL_EXTERN_C_P (newdecl) ! && DECL_EXTERN_C_P (olddecl)) ! || compparms (TYPE_ARG_TYPES (TREE_TYPE (newdecl)), ! TYPE_ARG_TYPES (TREE_TYPE (olddecl)))) { /* A near match; override the builtin. */ --- 3388,3396 ---- if (DECL_ANTICIPATED (olddecl)) ; /* Do nothing yet. */ else if ((DECL_EXTERN_C_P (newdecl) ! && DECL_EXTERN_C_P (olddecl)) ! || compparms (TYPE_ARG_TYPES (TREE_TYPE (newdecl)), ! TYPE_ARG_TYPES (TREE_TYPE (olddecl)))) { /* A near match; override the builtin. */ *************** duplicate_decls (newdecl, olddecl) *** 3409,3414 **** --- 3417,3426 ---- else if (DECL_ANTICIPATED (olddecl)) TREE_TYPE (olddecl) = TREE_TYPE (newdecl); + /* Whether or not the builtin can throw exceptions has no + bearing on this declarator. */ + TREE_NOTHROW (olddecl) = 0; + if (DECL_THIS_STATIC (newdecl) && !DECL_THIS_STATIC (olddecl)) { /* If a builtin function is redeclared as `static', merge *************** check_goto (decl) *** 5398,5405 **** } /* Define a label, specifying the location in the source file. ! Return the LABEL_DECL node for the label, if the definition is valid. ! Otherwise return 0. */ tree define_label (filename, line, name) --- 5410,5416 ---- } /* Define a label, specifying the location in the source file. ! Return the LABEL_DECL node for the label. */ tree define_label (filename, line, name) *************** define_label (filename, line, name) *** 5426,5435 **** pedwarn ("label named wchar_t"); if (DECL_INITIAL (decl) != NULL_TREE) ! { ! error ("duplicate label `%D'", decl); ! POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, NULL_TREE); ! } else { /* Mark label as having been defined. */ --- 5437,5443 ---- pedwarn ("label named wchar_t"); if (DECL_INITIAL (decl) != NULL_TREE) ! error ("duplicate label `%D'", decl); else { /* Mark label as having been defined. */ *************** define_label (filename, line, name) *** 5443,5451 **** ent->binding_level = current_binding_level; } check_previous_gotos (decl); - POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, decl); } timevar_pop (TV_NAME_LOOKUP); } struct cp_switch --- 5451,5460 ---- ent->binding_level = current_binding_level; } check_previous_gotos (decl); } + timevar_pop (TV_NAME_LOOKUP); + return decl; } struct cp_switch *************** start_decl_1 (decl) *** 7899,7913 **** DECL_INITIAL (decl) = NULL_TREE; } ! /* Handle initialization of references. ! These three arguments are from `cp_finish_decl', and have the ! same meaning here that they do there. ! Quotes on semantics can be found in ARM 8.4.3. */ static tree ! grok_reference_init (decl, type, init) ! tree decl, type, init; { tree tmp; --- 7908,7925 ---- DECL_INITIAL (decl) = NULL_TREE; } ! /* Handle initialization of references. DECL, TYPE, and INIT have the ! same meaning as in cp_finish_decl. *CLEANUP must be NULL on entry, ! but will be set to a new CLEANUP_STMT if a temporary is created ! that must be destroeyd subsequently. ! Returns an initializer expression to use to initialize DECL, or ! NULL if the initialization can be performed statically. + Quotes on semantics can be found in ARM 8.4.3. */ + static tree ! grok_reference_init (tree decl, tree type, tree init, tree *cleanup) { tree tmp; *************** grok_reference_init (decl, type, init) *** 7949,7955 **** DECL_INITIAL for local references (instead assigning to them explicitly); we need to allow the temporary to be initialized first. */ ! tmp = initialize_reference (type, init, decl); if (tmp == error_mark_node) return NULL_TREE; --- 7961,7967 ---- DECL_INITIAL for local references (instead assigning to them explicitly); we need to allow the temporary to be initialized first. */ ! tmp = initialize_reference (type, init, decl, cleanup); if (tmp == error_mark_node) return NULL_TREE; *************** reshape_init (tree type, tree *initp) *** 8380,8392 **** } /* Verify INIT (the initializer for DECL), and record the ! initialization in DECL_INITIAL, if appropriate. If the return value is non-NULL, it is an expression that must be evaluated dynamically to initialize DECL. */ static tree ! check_initializer (tree decl, tree init, int flags) { tree type = TREE_TYPE (decl); --- 8392,8405 ---- } /* Verify INIT (the initializer for DECL), and record the ! initialization in DECL_INITIAL, if appropriate. CLEANUP is as for ! grok_reference_init. If the return value is non-NULL, it is an expression that must be evaluated dynamically to initialize DECL. */ static tree ! check_initializer (tree decl, tree init, int flags, tree *cleanup) { tree type = TREE_TYPE (decl); *************** check_initializer (tree decl, tree init, *** 8436,8442 **** init = NULL_TREE; } else if (!DECL_EXTERNAL (decl) && TREE_CODE (type) == REFERENCE_TYPE) ! init = grok_reference_init (decl, type, init); else if (init) { if (TREE_CODE (init) == CONSTRUCTOR && TREE_HAS_CONSTRUCTOR (init)) --- 8449,8455 ---- init = NULL_TREE; } else if (!DECL_EXTERNAL (decl) && TREE_CODE (type) == REFERENCE_TYPE) ! init = grok_reference_init (decl, type, init, cleanup); else if (init) { if (TREE_CODE (init) == CONSTRUCTOR && TREE_HAS_CONSTRUCTOR (init)) *************** cp_finish_decl (decl, init, asmspec_tree *** 8745,8752 **** tree asmspec_tree; int flags; { ! register tree type; tree ttype = NULL_TREE; const char *asmspec = NULL; int was_readonly = 0; --- 8758,8766 ---- tree asmspec_tree; int flags; { ! tree type; tree ttype = NULL_TREE; + tree cleanup; const char *asmspec = NULL; int was_readonly = 0; *************** cp_finish_decl (decl, init, asmspec_tree *** 8757,8762 **** --- 8771,8779 ---- return; } + /* Assume no cleanup is required. */ + cleanup = NULL_TREE; + /* If a name was specified, get the string. */ if (global_scope_p (current_binding_level)) asmspec_tree = maybe_apply_renaming_pragma (decl, asmspec_tree); *************** cp_finish_decl (decl, init, asmspec_tree *** 8857,8863 **** make_decl_rtl (decl, asmspec); } else if (TREE_CODE (decl) == RESULT_DECL) ! init = check_initializer (decl, init, flags); else if (TREE_CODE (decl) == VAR_DECL) { /* Only PODs can have thread-local storage. Other types may require --- 8874,8880 ---- make_decl_rtl (decl, asmspec); } else if (TREE_CODE (decl) == RESULT_DECL) ! init = check_initializer (decl, init, flags, &cleanup); else if (TREE_CODE (decl) == VAR_DECL) { /* Only PODs can have thread-local storage. Other types may require *************** cp_finish_decl (decl, init, asmspec_tree *** 8874,8880 **** is *not* defined. */ && (!DECL_EXTERNAL (decl) || init)) { ! init = check_initializer (decl, init, flags); /* Thread-local storage cannot be dynamically initialized. */ if (DECL_THREAD_LOCAL (decl) && init) { --- 8891,8897 ---- is *not* defined. */ && (!DECL_EXTERNAL (decl) || init)) { ! init = check_initializer (decl, init, flags, &cleanup); /* Thread-local storage cannot be dynamically initialized. */ if (DECL_THREAD_LOCAL (decl) && init) { *************** cp_finish_decl (decl, init, asmspec_tree *** 8993,8998 **** --- 9010,9020 ---- } } + /* If a CLEANUP_STMT was created to destroy a temporary bound to a + reference, insert it in the statement-tree now. */ + if (cleanup) + add_stmt (cleanup); + finish_end: if (was_readonly) *************** grokdeclarator (declarator, declspecs, d *** 12315,12321 **** members of other classes. */ /* All method decls are public, so tell grokfndecl to set TREE_PUBLIC, also. */ ! decl = grokfndecl (ctype, type, declarator, declarator, virtualp, flags, quals, raises, friendp ? -1 : 0, friendp, 1, 0, funcdef_flag, template_count, in_namespace); --- 12337,12346 ---- members of other classes. */ /* All method decls are public, so tell grokfndecl to set TREE_PUBLIC, also. */ ! decl = grokfndecl (ctype, type, ! TREE_CODE (declarator) != TEMPLATE_ID_EXPR ! ? declarator : dname, ! declarator, virtualp, flags, quals, raises, friendp ? -1 : 0, friendp, 1, 0, funcdef_flag, template_count, in_namespace); *************** start_function (declspecs, declarator, a *** 14264,14270 **** } else { ! decl1 = grokdeclarator (declarator, declspecs, FUNCDEF, 1, NULL); /* If the declarator is not suitable for a function definition, cause a syntax error. */ if (decl1 == NULL_TREE || TREE_CODE (decl1) != FUNCTION_DECL) --- 14289,14295 ---- } else { ! decl1 = grokdeclarator (declarator, declspecs, FUNCDEF, 1, &attrs); /* If the declarator is not suitable for a function definition, cause a syntax error. */ if (decl1 == NULL_TREE || TREE_CODE (decl1) != FUNCTION_DECL) diff -Nrc3pad gcc-3.3.1/gcc/cp/friend.c gcc-3.3.2/gcc/cp/friend.c *** gcc-3.3.1/gcc/cp/friend.c 2003-01-31 12:26:10.000000000 +0000 --- gcc-3.3.2/gcc/cp/friend.c 2003-10-16 09:33:53.000000000 +0000 *************** do_friend (ctype, declarator, decl, parm *** 352,357 **** --- 352,359 ---- if (is_friend_template) decl = DECL_TI_TEMPLATE (push_template_decl (decl)); + else if (DECL_TEMPLATE_INFO (decl)) + ; else if (template_class_depth (current_class_type)) decl = push_template_decl_real (decl, /*is_friend=*/1); diff -Nrc3pad gcc-3.3.1/gcc/cp/init.c gcc-3.3.2/gcc/cp/init.c *** gcc-3.3.1/gcc/cp/init.c 2003-07-25 00:31:00.000000000 +0000 --- gcc-3.3.2/gcc/cp/init.c 2003-10-07 05:56:59.000000000 +0000 *************** build_new_1 (exp) *** 2517,2522 **** --- 2517,2526 ---- element. */ rval = convert (build_pointer_type (type), rval); + /* A new-expression is never an lvalue. */ + if (real_lvalue_p (rval)) + rval = build1 (NON_LVALUE_EXPR, TREE_TYPE (rval), rval); + return rval; } diff -Nrc3pad gcc-3.3.1/gcc/cp/parse.h gcc-3.3.2/gcc/cp/parse.h *** gcc-3.3.1/gcc/cp/parse.h 2003-08-04 13:32:36.000000000 +0000 --- gcc-3.3.2/gcc/cp/parse.h 2003-10-16 20:47:06.000000000 +0000 *************** *** 1,5 **** ! #ifndef BISON_P21918_H ! # define BISON_P21918_H #ifndef YYSTYPE typedef union { GTY(()) --- 1,5 ---- ! #ifndef BISON_P9195_H ! # define BISON_P9195_H #ifndef YYSTYPE typedef union { GTY(()) *************** typedef union { GTY(()) *** 104,108 **** extern YYSTYPE yylval; ! #endif /* not BISON_P21918_H */ #define YYEMPTY -2 --- 104,108 ---- extern YYSTYPE yylval; ! #endif /* not BISON_P9195_H */ #define YYEMPTY -2 diff -Nrc3pad gcc-3.3.1/gcc/cp/pt.c gcc-3.3.2/gcc/cp/pt.c *** gcc-3.3.1/gcc/cp/pt.c 2003-07-20 04:49:00.000000000 +0000 --- gcc-3.3.2/gcc/cp/pt.c 2003-09-08 16:58:59.000000000 +0000 *************** static void pop_access_scope PARAMS ((tr *** 95,101 **** static int resolve_overloaded_unification PARAMS ((tree, tree, tree, tree, unification_kind_t, int)); static int try_one_overload PARAMS ((tree, tree, tree, tree, tree, ! unification_kind_t, int)); static int unify PARAMS ((tree, tree, tree, tree, int)); static void add_pending_template PARAMS ((tree)); static void reopen_tinst_level PARAMS ((tree)); --- 95,101 ---- static int resolve_overloaded_unification PARAMS ((tree, tree, tree, tree, unification_kind_t, int)); static int try_one_overload PARAMS ((tree, tree, tree, tree, tree, ! unification_kind_t, int, bool)); static int unify PARAMS ((tree, tree, tree, tree, int)); static void add_pending_template PARAMS ((tree)); static void reopen_tinst_level PARAMS ((tree)); *************** lookup_template_function (fns, arglist) *** 3991,3997 **** if (fns == error_mark_node || arglist == error_mark_node) return error_mark_node; ! if (fns == NULL_TREE) { error ("non-template used as template"); return error_mark_node; --- 3991,3998 ---- if (fns == error_mark_node || arglist == error_mark_node) return error_mark_node; ! if (fns == NULL_TREE ! || TREE_CODE (fns) == FUNCTION_DECL) { error ("non-template used as template"); return error_mark_node; *************** resolve_overloaded_unification (tparms, *** 8437,8445 **** { tree tempargs = copy_node (targs); int good = 0; if (TREE_CODE (arg) == ADDR_EXPR) ! arg = TREE_OPERAND (arg, 0); if (TREE_CODE (arg) == COMPONENT_REF) /* Handle `&x' where `x' is some static or non-static member --- 8438,8452 ---- { tree tempargs = copy_node (targs); int good = 0; + bool addr_p; if (TREE_CODE (arg) == ADDR_EXPR) ! { ! arg = TREE_OPERAND (arg, 0); ! addr_p = true; ! } ! else ! addr_p = false; if (TREE_CODE (arg) == COMPONENT_REF) /* Handle `&x' where `x' is some static or non-static member *************** resolve_overloaded_unification (tparms, *** 8475,8484 **** if (subargs) { elem = tsubst (TREE_TYPE (fn), subargs, tf_none, NULL_TREE); ! if (TREE_CODE (elem) == METHOD_TYPE) ! elem = build_ptrmemfunc_type (build_pointer_type (elem)); ! good += try_one_overload (tparms, targs, tempargs, parm, elem, ! strict, sub_strict); } } } --- 8482,8489 ---- if (subargs) { elem = tsubst (TREE_TYPE (fn), subargs, tf_none, NULL_TREE); ! good += try_one_overload (tparms, targs, tempargs, parm, ! elem, strict, sub_strict, addr_p); } } } *************** resolve_overloaded_unification (tparms, *** 8486,8499 **** || TREE_CODE (arg) == FUNCTION_DECL) { for (; arg; arg = OVL_NEXT (arg)) ! { ! tree type = TREE_TYPE (OVL_CURRENT (arg)); ! if (TREE_CODE (type) == METHOD_TYPE) ! type = build_ptrmemfunc_type (build_pointer_type (type)); ! good += try_one_overload (tparms, targs, tempargs, parm, ! type, ! strict, sub_strict); ! } } else abort (); --- 8491,8499 ---- || TREE_CODE (arg) == FUNCTION_DECL) { for (; arg; arg = OVL_NEXT (arg)) ! good += try_one_overload (tparms, targs, tempargs, parm, ! TREE_TYPE (OVL_CURRENT (arg)), ! strict, sub_strict, addr_p); } else abort (); *************** resolve_overloaded_unification (tparms, *** 8522,8535 **** /* Subroutine of resolve_overloaded_unification; does deduction for a single overload. Fills TARGS with any deduced arguments, or error_mark_node if different overloads deduce different arguments for a given parm. Returns 1 on success. */ static int ! try_one_overload (tparms, orig_targs, targs, parm, arg, strict, ! sub_strict) ! tree tparms, orig_targs, targs, parm, arg; ! unification_kind_t strict; ! int sub_strict; { int nargs; tree tempargs; --- 8522,8541 ---- /* Subroutine of resolve_overloaded_unification; does deduction for a single overload. Fills TARGS with any deduced arguments, or error_mark_node if different overloads deduce different arguments for a given parm. + ADDR_P is true if the expression for which deduction is being + performed was of the form "& fn" rather than simply "fn". + Returns 1 on success. */ static int ! try_one_overload (tree tparms, ! tree orig_targs, ! tree targs, ! tree parm, ! tree arg, ! unification_kind_t strict, ! int sub_strict, ! bool addr_p) { int nargs; tree tempargs; *************** try_one_overload (tparms, orig_targs, ta *** 8545,8550 **** --- 8551,8561 ---- if (uses_template_parms (arg)) return 1; + if (TREE_CODE (arg) == METHOD_TYPE) + arg = build_ptrmemfunc_type (build_pointer_type (arg)); + else if (addr_p) + arg = build_pointer_type (arg); + sub_strict |= maybe_adjust_types_for_deduction (strict, &parm, &arg); /* We don't copy orig_targs for this because if we have already deduced diff -Nrc3pad gcc-3.3.1/gcc/cp/search.c gcc-3.3.2/gcc/cp/search.c *** gcc-3.3.1/gcc/cp/search.c 2003-08-04 11:25:38.000000000 +0000 --- gcc-3.3.2/gcc/cp/search.c 2003-08-29 23:56:17.000000000 +0000 *************** add_conversions (binfo, data) *** 2855,2862 **** /* Make sure we don't already have this conversion. */ if (! IDENTIFIER_MARKED (name)) { ! *conversions = tree_cons (binfo, tmp, *conversions); ! IDENTIFIER_MARKED (name) = 1; } } return NULL_TREE; --- 2855,2881 ---- /* Make sure we don't already have this conversion. */ if (! IDENTIFIER_MARKED (name)) { ! tree t; ! ! /* Make sure that we do not already have a conversion ! operator for this type. Merely checking the NAME is not ! enough because two conversion operators to the same type ! may not have the same NAME. */ ! for (t = *conversions; t; t = TREE_CHAIN (t)) ! { ! tree fn; ! for (fn = TREE_VALUE (t); fn; fn = OVL_NEXT (fn)) ! if (same_type_p (TREE_TYPE (name), ! DECL_CONV_FN_TYPE (OVL_CURRENT (fn)))) ! break; ! if (fn) ! break; ! } ! if (!t) ! { ! *conversions = tree_cons (binfo, tmp, *conversions); ! IDENTIFIER_MARKED (name) = 1; ! } } } return NULL_TREE; diff -Nrc3pad gcc-3.3.1/gcc/cp/tree.c gcc-3.3.2/gcc/cp/tree.c *** gcc-3.3.1/gcc/cp/tree.c 2003-04-15 00:35:53.000000000 +0000 --- gcc-3.3.2/gcc/cp/tree.c 2003-10-14 20:45:39.000000000 +0000 *************** build_target_expr_with_type (init, type) *** 357,362 **** --- 357,368 ---- if (TREE_CODE (init) == TARGET_EXPR) return init; + else if (CLASS_TYPE_P (type) && !TYPE_HAS_TRIVIAL_INIT_REF (type) + && TREE_CODE (init) != COND_EXPR) + /* We need to build up a copy constructor call. COND_EXPR is a special + case because we already have copies on the arms and we don't want + another one here. */ + return force_rvalue (init); slot = build (VAR_DECL, type); DECL_ARTIFICIAL (slot) = 1; *************** get_target_expr (init) *** 375,471 **** { return build_target_expr_with_type (init, TREE_TYPE (init)); } - - /* Recursively perform a preorder search EXP for CALL_EXPRs, making - copies where they are found. Returns a deep copy all nodes transitively - containing CALL_EXPRs. */ - - tree - break_out_calls (exp) - tree exp; - { - register tree t1, t2 = NULL_TREE; - register enum tree_code code; - register int changed = 0; - register int i; - - if (exp == NULL_TREE) - return exp; - - code = TREE_CODE (exp); - - if (code == CALL_EXPR) - return copy_node (exp); - - /* Don't try and defeat a save_expr, as it should only be done once. */ - if (code == SAVE_EXPR) - return exp; - - switch (TREE_CODE_CLASS (code)) - { - default: - abort (); - - case 'c': /* a constant */ - case 't': /* a type node */ - case 'x': /* something random, like an identifier or an ERROR_MARK. */ - return exp; - - case 'd': /* A decl node */ - #if 0 /* This is bogus. jason 9/21/94 */ - - t1 = break_out_calls (DECL_INITIAL (exp)); - if (t1 != DECL_INITIAL (exp)) - { - exp = copy_node (exp); - DECL_INITIAL (exp) = t1; - } - #endif - return exp; - - case 'b': /* A block node */ - { - /* Don't know how to handle these correctly yet. Must do a - break_out_calls on all DECL_INITIAL values for local variables, - and also break_out_calls on all sub-blocks and sub-statements. */ - abort (); - } - return exp; - - case 'e': /* an expression */ - case 'r': /* a reference */ - case 's': /* an expression with side effects */ - for (i = TREE_CODE_LENGTH (code) - 1; i >= 0; i--) - { - t1 = break_out_calls (TREE_OPERAND (exp, i)); - if (t1 != TREE_OPERAND (exp, i)) - { - exp = copy_node (exp); - TREE_OPERAND (exp, i) = t1; - } - } - return exp; - - case '<': /* a comparison expression */ - case '2': /* a binary arithmetic expression */ - t2 = break_out_calls (TREE_OPERAND (exp, 1)); - if (t2 != TREE_OPERAND (exp, 1)) - changed = 1; - case '1': /* a unary arithmetic expression */ - t1 = break_out_calls (TREE_OPERAND (exp, 0)); - if (t1 != TREE_OPERAND (exp, 0)) - changed = 1; - if (changed) - { - if (TREE_CODE_LENGTH (code) == 1) - return build1 (code, TREE_TYPE (exp), t1); - else - return build (code, TREE_TYPE (exp), t1, t2); - } - return exp; - } - - } /* Construct, lay out and return the type of methods belonging to class BASETYPE and whose arguments are described by ARGTYPES and whose values --- 381,386 ---- diff -Nrc3pad gcc-3.3.1/gcc/cp/typeck2.c gcc-3.3.2/gcc/cp/typeck2.c *** gcc-3.3.1/gcc/cp/typeck2.c 2003-03-03 21:58:25.000000000 +0000 --- gcc-3.3.2/gcc/cp/typeck2.c 2003-09-17 23:48:25.000000000 +0000 *************** retry: *** 279,285 **** break; default: ! abort (); } } --- 279,286 ---- break; default: ! (*p_msg) ("invalid use of incomplete type"); ! break; } } diff -Nrc3pad gcc-3.3.1/gcc/cp/typeck.c gcc-3.3.2/gcc/cp/typeck.c *** gcc-3.3.1/gcc/cp/typeck.c 2003-07-06 03:41:26.000000000 +0000 --- gcc-3.3.2/gcc/cp/typeck.c 2003-10-16 02:30:56.000000000 +0000 *************** comptypes (t1, t2, strict) *** 909,918 **** if (t1 == t2) return 1; ! /* This should never happen. */ ! my_friendly_assert (t1 != error_mark_node, 307); ! ! if (t2 == error_mark_node) return 0; /* If either type is the internal version of sizetype, return the --- 909,916 ---- if (t1 == t2) return 1; ! /* Suppress errors caused by previously reported errors */ ! if (t1 == error_mark_node || t2 == error_mark_node) return 0; /* If either type is the internal version of sizetype, return the *************** compparms (parms1, parms2) *** 1405,1411 **** they fail to match. */ if (t1 == 0 || t2 == 0) return 0; ! if (!same_type_p (TREE_VALUE (t2), TREE_VALUE (t1))) return 0; t1 = TREE_CHAIN (t1); --- 1403,1409 ---- they fail to match. */ if (t1 == 0 || t2 == 0) return 0; ! if (!same_type_p (TREE_VALUE (t1), TREE_VALUE (t2))) return 0; t1 = TREE_CHAIN (t1); *************** finish_class_member_access_expr (tree ob *** 2174,2181 **** /* Find the base of OBJECT_TYPE corresponding to SCOPE. */ access_path = lookup_base (object_type, scope, ba_check, NULL); ! if (!access_path || access_path == error_mark_node) return error_mark_node; /* Look up the member. */ member = lookup_member (access_path, name, /*protect=*/1, --- 2172,2184 ---- /* Find the base of OBJECT_TYPE corresponding to SCOPE. */ access_path = lookup_base (object_type, scope, ba_check, NULL); ! if (access_path == error_mark_node) return error_mark_node; + if (!access_path) + { + error ("`%T' is not a base of `%T'", scope, object_type); + return error_mark_node; + } /* Look up the member. */ member = lookup_member (access_path, name, /*protect=*/1, *************** get_member_function_from_ptrfunc (instan *** 2641,2649 **** } tree ! build_function_call_real (function, params, require_complete, flags) tree function, params; ! int require_complete, flags; { register tree fntype, fndecl; register tree coerced_params; --- 2644,2652 ---- } tree ! build_function_call_real (function, params, flags) tree function, params; ! int flags; { register tree fntype, fndecl; register tree coerced_params; *************** tree *** 2757,2763 **** build_function_call (function, params) tree function, params; { ! return build_function_call_real (function, params, 1, LOOKUP_NORMAL); } /* Convert the actual parameter expressions in the list VALUES --- 2760,2766 ---- build_function_call (function, params) tree function, params; { ! return build_function_call_real (function, params, LOOKUP_NORMAL); } /* Convert the actual parameter expressions in the list VALUES *************** build_static_cast (type, expr) *** 4739,4750 **** (TREE_TYPE (type)))) && at_least_as_qualified_p (TREE_TYPE (type), intype)) { ! /* At this point we have checked all of the conditions except ! that B is not a virtual base class of D. That will be ! checked by build_base_path. */ ! tree base = lookup_base (TREE_TYPE (type), intype, ba_any, NULL); ! /* Convert from B* to D*. */ expr = build_base_path (MINUS_EXPR, build_address (expr), base, /*nonnull=*/false); /* Convert the pointer to a reference -- but then remember that --- 4742,4754 ---- (TREE_TYPE (type)))) && at_least_as_qualified_p (TREE_TYPE (type), intype)) { ! /* There is a standard conversion from "D*" to "B*" even if "B" ! is ambiguous or inaccessible. Therefore, we ask lookup_base ! to check these conditions. */ ! tree base = lookup_base (TREE_TYPE (type), intype, ba_check, NULL); ! /* Convert from "B*" to "D*". This function will check that "B" ! is not a virtual base of "D". */ expr = build_base_path (MINUS_EXPR, build_address (expr), base, /*nonnull=*/false); /* Convert the pointer to a reference -- but then remember that *************** build_static_cast (type, expr) *** 4803,4809 **** check_for_casting_away_constness (intype, type); base = lookup_base (TREE_TYPE (type), TREE_TYPE (intype), ! ba_check | ba_quiet, NULL); return build_base_path (MINUS_EXPR, expr, base, /*nonnull=*/false); } if ((TYPE_PTRMEM_P (type) && TYPE_PTRMEM_P (intype)) --- 4807,4813 ---- check_for_casting_away_constness (intype, type); base = lookup_base (TREE_TYPE (type), TREE_TYPE (intype), ! ba_check, NULL); return build_base_path (MINUS_EXPR, expr, base, /*nonnull=*/false); } if ((TYPE_PTRMEM_P (type) && TYPE_PTRMEM_P (intype)) *************** build_modify_expr (lhs, modifycode, rhs) *** 5237,5242 **** --- 5241,5250 ---- TREE_OPERAND (lhs, 0), newrhs); case MODIFY_EXPR: + if (TREE_SIDE_EFFECTS (TREE_OPERAND (lhs, 0))) + lhs = build (TREE_CODE (lhs), TREE_TYPE (lhs), + stabilize_reference (TREE_OPERAND (lhs, 0)), + TREE_OPERAND (lhs, 1)); newrhs = build_modify_expr (TREE_OPERAND (lhs, 0), modifycode, rhs); if (newrhs == error_mark_node) return error_mark_node; *************** build_modify_expr (lhs, modifycode, rhs) *** 5288,5295 **** { if (TREE_CODE (rhs) == CONSTRUCTOR) { ! my_friendly_assert (same_type_p (TREE_TYPE (rhs), lhstype), ! 20011220); result = build (INIT_EXPR, lhstype, lhs, rhs); TREE_SIDE_EFFECTS (result) = 1; return result; --- 5296,5304 ---- { if (TREE_CODE (rhs) == CONSTRUCTOR) { ! if (! same_type_p (TREE_TYPE (rhs), lhstype)) ! /* Call convert to generate an error; see PR 11063. */ ! rhs = convert (lhstype, rhs); result = build (INIT_EXPR, lhstype, lhs, rhs); TREE_SIDE_EFFECTS (result) = 1; return result; *************** build_modify_expr (lhs, modifycode, rhs) *** 5442,5455 **** } } - if (TREE_CODE (lhstype) != REFERENCE_TYPE) - { - if (TREE_SIDE_EFFECTS (lhs)) - lhs = stabilize_reference (lhs); - if (TREE_SIDE_EFFECTS (newrhs)) - newrhs = stabilize_reference (newrhs); - } - /* Convert new value to destination type. */ if (TREE_CODE (lhstype) == ARRAY_TYPE) --- 5451,5456 ---- *************** build_modify_expr (lhs, modifycode, rhs) *** 5505,5548 **** if (newrhs == error_mark_node) return error_mark_node; ! if (TREE_CODE (newrhs) == COND_EXPR) ! { ! tree lhs1; ! tree cond = TREE_OPERAND (newrhs, 0); ! ! if (TREE_SIDE_EFFECTS (lhs)) ! cond = build_compound_expr (tree_cons ! (NULL_TREE, lhs, ! build_tree_list (NULL_TREE, cond))); ! ! /* Cannot have two identical lhs on this one tree (result) as preexpand ! calls will rip them out and fill in RTL for them, but when the ! rtl is generated, the calls will only be in the first side of the ! condition, not on both, or before the conditional jump! (mrs) */ ! lhs1 = break_out_calls (lhs); ! ! if (lhs == lhs1) ! /* If there's no change, the COND_EXPR behaves like any other rhs. */ ! result = build (modifycode == NOP_EXPR ? MODIFY_EXPR : INIT_EXPR, ! lhstype, lhs, newrhs); ! else ! { ! tree result_type = TREE_TYPE (newrhs); ! /* We have to convert each arm to the proper type because the ! types may have been munged by constant folding. */ ! result ! = build (COND_EXPR, result_type, cond, ! build_modify_expr (lhs, modifycode, ! cp_convert (result_type, ! TREE_OPERAND (newrhs, 1))), ! build_modify_expr (lhs1, modifycode, ! cp_convert (result_type, ! TREE_OPERAND (newrhs, 2)))); ! } ! } ! else ! result = build (modifycode == NOP_EXPR ? MODIFY_EXPR : INIT_EXPR, ! lhstype, lhs, newrhs); TREE_SIDE_EFFECTS (result) = 1; --- 5506,5513 ---- if (newrhs == error_mark_node) return error_mark_node; ! result = build (modifycode == NOP_EXPR ? MODIFY_EXPR : INIT_EXPR, ! lhstype, lhs, newrhs); TREE_SIDE_EFFECTS (result) = 1; *************** convert_for_initialization (exp, type, r *** 6100,6106 **** if (fndecl) savew = warningcount, savee = errorcount; ! rhs = initialize_reference (type, rhs, /*decl=*/NULL_TREE); if (fndecl) { if (warningcount > savew) --- 6065,6072 ---- if (fndecl) savew = warningcount, savee = errorcount; ! rhs = initialize_reference (type, rhs, /*decl=*/NULL_TREE, ! /*cleanup=*/NULL); if (fndecl) { if (warningcount > savew) diff -Nrc3pad gcc-3.3.1/gcc/cpplib.c gcc-3.3.2/gcc/cpplib.c *** gcc-3.3.1/gcc/cpplib.c 2003-02-21 18:14:10.000000000 +0000 --- gcc-3.3.2/gcc/cpplib.c 2003-09-24 23:52:31.000000000 +0000 *************** *** 1,6 **** /* CPP Library. (Directive handling.) Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, ! 1999, 2000, 2001, 2002 Free Software Foundation, Inc. Contributed by Per Bothner, 1994-95. Based on CCCP program by Paul Rubin, June 1986 Adapted to ANSI C, Richard Stallman, Jan 1987 --- 1,6 ---- /* CPP Library. (Directive handling.) Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, ! 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. Contributed by Per Bothner, 1994-95. Based on CCCP program by Paul Rubin, June 1986 Adapted to ANSI C, Richard Stallman, Jan 1987 *************** do_pragma (pfile) *** 1094,1100 **** cpp_reader *pfile; { const struct pragma_entry *p = NULL; ! const cpp_token *token; unsigned int count = 1; pfile->state.prevent_expansion++; --- 1094,1100 ---- cpp_reader *pfile; { const struct pragma_entry *p = NULL; ! const cpp_token *token, *pragma_token = pfile->cur_token; unsigned int count = 1; pfile->state.prevent_expansion++; *************** do_pragma (pfile) *** 1114,1129 **** } } - /* FIXME. This is an awful kludge to get the front ends to update - their notion of line number for diagnostic purposes. The line - number should be passed to the handler and they should do it - themselves. Stand-alone CPP must ignore us, otherwise it will - prefix the directive with spaces, hence the 1. Ugh. */ - if (pfile->cb.line_change) - (*pfile->cb.line_change)(pfile, token, 1); - if (p) ! (*p->u.handler) (pfile); else if (pfile->cb.def_pragma) { _cpp_backup_tokens (pfile, count); --- 1114,1131 ---- } } if (p) ! { ! /* Since the handler below doesn't get the line number, that it ! might need for diagnostics, make sure it has the right ! numbers in place. */ ! if (pfile->cb.line_change) ! (*pfile->cb.line_change) (pfile, pragma_token, false); ! (*p->u.handler) (pfile); ! if (pfile->cb.line_change) ! (*pfile->cb.line_change) (pfile, pfile->cur_token, false); ! ! } else if (pfile->cb.def_pragma) { _cpp_backup_tokens (pfile, count); diff -Nrc3pad gcc-3.3.1/gcc/cppmain.c gcc-3.3.2/gcc/cppmain.c *** gcc-3.3.1/gcc/cppmain.c 2002-11-08 20:15:05.000000000 +0000 --- gcc-3.3.2/gcc/cppmain.c 2003-09-14 13:26:36.000000000 +0000 *************** *** 1,5 **** /* Preprocess only, using cpplib. ! Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. Written by Per Bothner, 1994-95. --- 1,5 ---- /* Preprocess only, using cpplib. ! Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. Written by Per Bothner, 1994-95. diff -Nrc3pad gcc-3.3.1/gcc/cse.c gcc-3.3.2/gcc/cse.c *** gcc-3.3.1/gcc/cse.c 2003-04-29 19:16:40.000000000 +0000 --- gcc-3.3.2/gcc/cse.c 2003-10-06 09:24:11.000000000 +0000 *************** cse_set_around_loop (x, insn, loop_start *** 6844,6850 **** abort (); } else ! emit_insn_after (move, p); } break; } --- 6844,6858 ---- abort (); } else ! { ! if (control_flow_insn_p (p)) ! /* p can cause a control flow transfer so it ! is the last insn of a basic block. We can't ! therefore use emit_insn_after. */ ! emit_insn_before (move, next_nonnote_insn (p)); ! else ! emit_insn_after (move, p); ! } } break; } diff -Nrc3pad gcc-3.3.1/gcc/c-typeck.c gcc-3.3.2/gcc/c-typeck.c *** gcc-3.3.1/gcc/c-typeck.c 2003-07-24 19:11:26.000000000 +0000 --- gcc-3.3.2/gcc/c-typeck.c 2003-10-13 21:18:33.000000000 +0000 *************** convert_for_assignment (type, rhs, errty *** 4247,4252 **** --- 4247,4257 ---- errtype, funname, parmnum); return convert (type, rhs); } + else if (codel == POINTER_TYPE && coder == ARRAY_TYPE) + { + error ("invalid use of non-lvalue array"); + return error_mark_node; + } else if (codel == POINTER_TYPE && coder == INTEGER_TYPE) { /* An explicit constant 0 can convert to a pointer, *************** digest_init (type, init, require_constan *** 4765,4772 **** if (code == VECTOR_TYPE && comptypes (TREE_TYPE (inside_init), type) && TREE_CONSTANT (inside_init)) ! return build_vector (type, TREE_OPERAND (inside_init, 1)); ! /* Any type can be initialized from an expression of the same type, optionally with braces. */ --- 4770,4783 ---- if (code == VECTOR_TYPE && comptypes (TREE_TYPE (inside_init), type) && TREE_CONSTANT (inside_init)) ! { ! if (TREE_CODE (inside_init) == VECTOR_CST ! && comptypes (TYPE_MAIN_VARIANT (TREE_TYPE (inside_init)), ! TYPE_MAIN_VARIANT (type))) ! return inside_init; ! else ! return build_vector (type, CONSTRUCTOR_ELTS (inside_init)); ! } /* Any type can be initialized from an expression of the same type, optionally with braces. */ *************** digest_init (type, init, require_constan *** 4785,4792 **** TREE_TYPE (type))))) { if (code == POINTER_TYPE) ! inside_init = default_function_array_conversion (inside_init); if (require_constant && !flag_isoc99 && TREE_CODE (inside_init) == COMPOUND_LITERAL_EXPR) { --- 4796,4811 ---- TREE_TYPE (type))))) { if (code == POINTER_TYPE) ! { ! inside_init = default_function_array_conversion (inside_init); + if (TREE_CODE (TREE_TYPE (inside_init)) == ARRAY_TYPE) + { + error_init ("invalid use of non-lvalue array"); + return error_mark_node; + } + } + if (require_constant && !flag_isoc99 && TREE_CODE (inside_init) == COMPOUND_LITERAL_EXPR) { *************** set_init_index (first, last) *** 5742,5747 **** --- 5761,5768 ---- error_init ("nonconstant array index in initializer"); else if (TREE_CODE (constructor_type) != ARRAY_TYPE) error_init ("array index in non-array initializer"); + else if (tree_int_cst_sgn (first) == -1) + error_init ("array index in initializer exceeds array bounds"); else if (constructor_max_index && tree_int_cst_lt (constructor_max_index, first)) error_init ("array index in initializer exceeds array bounds"); diff -Nrc3pad gcc-3.3.1/gcc/doc/cpp.1 gcc-3.3.2/gcc/doc/cpp.1 *** gcc-3.3.1/gcc/doc/cpp.1 2003-08-04 13:10:35.000000000 +0000 --- gcc-3.3.2/gcc/doc/cpp.1 2003-10-16 20:24:05.000000000 +0000 *************** *** 129,135 **** .\" ======================================================================== .\" .IX Title "CPP 1" ! .TH CPP 1 "2003-08-04" "gcc-3.3.1" "GNU" .SH "NAME" cpp \- The C Preprocessor .SH "SYNOPSIS" --- 129,135 ---- .\" ======================================================================== .\" .IX Title "CPP 1" ! .TH CPP 1 "2003-10-16" "gcc-3.3.2" "GNU" .SH "NAME" cpp \- The C Preprocessor .SH "SYNOPSIS" diff -Nrc3pad gcc-3.3.1/gcc/doc/extend.texi gcc-3.3.2/gcc/doc/extend.texi *** gcc-3.3.1/gcc/doc/extend.texi 2003-07-22 23:03:09.000000000 +0000 --- gcc-3.3.2/gcc/doc/extend.texi 2003-10-04 11:08:27.000000000 +0000 *************** found convenient to use @code{__attribut *** 2636,2642 **** attachment of attributes to their corresponding declarations, whereas @code{#pragma GCC} is of use for constructs that do not naturally form part of the grammar. @xref{Other Directives,,Miscellaneous ! Preprocessing Directives, cpp, The C Preprocessor}. @node Attribute Syntax @section Attribute Syntax --- 2636,2642 ---- attachment of attributes to their corresponding declarations, whereas @code{#pragma GCC} is of use for constructs that do not naturally form part of the grammar. @xref{Other Directives,,Miscellaneous ! Preprocessing Directives, cpp, The GNU C Preprocessor}. @node Attribute Syntax @section Attribute Syntax *************** can also use most of the C language exte *** 6895,6902 **** want to write code that checks whether these features are available, you can test for the GNU compiler the same way as for C programs: check for a predefined macro @code{__GNUC__}. You can also use @code{__GNUG__} to ! test specifically for GNU C++ (@pxref{Standard Predefined,,Standard ! Predefined Macros,cpp.info,The C Preprocessor}). @menu * Min and Max:: C++ Minimum and maximum operators. --- 6895,6902 ---- want to write code that checks whether these features are available, you can test for the GNU compiler the same way as for C programs: check for a predefined macro @code{__GNUC__}. You can also use @code{__GNUG__} to ! test specifically for GNU C++ (@pxref{Common Predefined Macros,, ! Predefined Macros,cpp,The GNU C Preprocessor}). @menu * Min and Max:: C++ Minimum and maximum operators. diff -Nrc3pad gcc-3.3.1/gcc/doc/fsf-funding.7 gcc-3.3.2/gcc/doc/fsf-funding.7 *** gcc-3.3.1/gcc/doc/fsf-funding.7 2003-08-04 13:10:50.000000000 +0000 --- gcc-3.3.2/gcc/doc/fsf-funding.7 2003-10-16 20:24:20.000000000 +0000 *************** *** 129,135 **** .\" ======================================================================== .\" .IX Title "FSF-FUNDING 7" ! .TH FSF-FUNDING 7 "2003-08-04" "gcc-3.3.1" "GNU" .SH "NAME" fsf\-funding \- Funding Free Software .SH "DESCRIPTION" --- 129,135 ---- .\" ======================================================================== .\" .IX Title "FSF-FUNDING 7" ! .TH FSF-FUNDING 7 "2003-10-16" "gcc-3.3.2" "GNU" .SH "NAME" fsf\-funding \- Funding Free Software .SH "DESCRIPTION" diff -Nrc3pad gcc-3.3.1/gcc/doc/gcc.1 gcc-3.3.2/gcc/doc/gcc.1 *** gcc-3.3.1/gcc/doc/gcc.1 2003-08-04 13:10:48.000000000 +0000 --- gcc-3.3.2/gcc/doc/gcc.1 2003-10-16 20:24:18.000000000 +0000 *************** *** 129,135 **** .\" ======================================================================== .\" .IX Title "GCC 1" ! .TH GCC 1 "2003-08-04" "gcc-3.3.1" "GNU" .SH "NAME" gcc \- GNU project C and C++ compiler .SH "SYNOPSIS" --- 129,135 ---- .\" ======================================================================== .\" .IX Title "GCC 1" ! .TH GCC 1 "2003-10-16" "gcc-3.3.2" "GNU" .SH "NAME" gcc \- GNU project C and C++ compiler .SH "SYNOPSIS" diff -Nrc3pad gcc-3.3.1/gcc/doc/gcc.info gcc-3.3.2/gcc/doc/gcc.info *** gcc-3.3.1/gcc/doc/gcc.info 2003-08-04 13:10:20.000000000 +0000 --- gcc-3.3.2/gcc/doc/gcc.info 2003-10-16 20:23:50.000000000 +0000 *************** Introduction *** 60,66 **** This manual documents how to use the GNU compilers, as well as their features and incompatibilities, and how to report bugs. It corresponds ! to GCC version 3.3.1. The internals of the GNU compilers, including how to port them to new targets and some information about how to write front ends for new languages, are documented in a separate manual. *Note Introduction: (gccint)Top. --- 60,66 ---- This manual documents how to use the GNU compilers, as well as their features and incompatibilities, and how to report bugs. It corresponds ! to GCC version 3.3.2. The internals of the GNU compilers, including how to port them to new targets and some information about how to write front ends for new languages, are documented in a separate manual. *Note Introduction: (gccint)Top. *************** you can also use most of the C language *** 18055,18062 **** programs). If you want to write code that checks whether these features are available, you can test for the GNU compiler the same way as for C programs: check for a predefined macro `__GNUC__'. You can ! also use `__GNUG__' to test specifically for GNU C++ (*note Standard ! Predefined Macros: (cpp.info)Standard Predefined.). * Menu: --- 18055,18062 ---- programs). If you want to write code that checks whether these features are available, you can test for the GNU compiler the same way as for C programs: check for a predefined macro `__GNUC__'. You can ! also use `__GNUG__' to test specifically for GNU C++ (*note Predefined ! Macros: (cpp)Common Predefined Macros.). * Menu: *************** Node: Thread-Local729522 *** 24851,24908 **** Node: C99 Thread-Local Edits731613 Node: C++98 Thread-Local Edits733614 Node: C++ Extensions737048 ! Node: Min and Max738609 ! Node: Volatiles739993 ! Node: Restricted Pointers743363 ! Node: Vague Linkage744945 ! Node: C++ Interface748603 ! Ref: C++ Interface-Footnote-1753691 ! Node: Template Instantiation753830 ! Node: Bound member functions760967 ! Node: C++ Attributes762518 ! Node: Java Exceptions764122 ! Node: Deprecated Features765519 ! Node: Backwards Compatibility767485 ! Node: Objective-C768833 ! Node: Executing code before main769412 ! Node: What you can and what you cannot do in +load772050 ! Node: Type encoding774216 ! Node: Garbage Collection777468 ! Node: Constant string objects780132 ! Node: compatibility_alias782645 ! Node: Compatibility783524 ! Node: Gcov790111 ! Node: Gcov Intro790580 ! Node: Invoking Gcov793302 ! Node: Gcov and Optimization801750 ! Node: Gcov Data Files803187 ! Node: Trouble807894 ! Node: Actual Bugs809488 ! Node: Cross-Compiler Problems810396 ! Node: Interoperation811906 ! Node: External Bugs822048 ! Node: Incompatibilities823484 ! Node: Fixed Headers831931 ! Node: Standard Libraries834240 ! Node: Disappointments835610 ! Node: C++ Misunderstandings840104 ! Node: Static Definitions840830 ! Node: Temporaries841877 ! Node: Copy Assignment843854 ! Node: Protoize Caveats845676 ! Node: Non-bugs849631 ! Node: Warnings and Errors859499 ! Node: Bugs861259 ! Node: Bug Criteria861822 ! Node: Bug Reporting864013 ! Node: Service864394 ! Node: Contributing865212 ! Node: Funding865955 ! Node: GNU Project868459 ! Node: Copying869110 ! Node: GNU Free Documentation License888318 ! Node: Contributors910727 ! Node: Option Index937121 ! Node: Keyword Index1013126  End Tag Table --- 24851,24908 ---- Node: C99 Thread-Local Edits731613 Node: C++98 Thread-Local Edits733614 Node: C++ Extensions737048 ! Node: Min and Max738600 ! Node: Volatiles739984 ! Node: Restricted Pointers743354 ! Node: Vague Linkage744936 ! Node: C++ Interface748594 ! Ref: C++ Interface-Footnote-1753682 ! Node: Template Instantiation753821 ! Node: Bound member functions760958 ! Node: C++ Attributes762509 ! Node: Java Exceptions764113 ! Node: Deprecated Features765510 ! Node: Backwards Compatibility767476 ! Node: Objective-C768824 ! Node: Executing code before main769403 ! Node: What you can and what you cannot do in +load772041 ! Node: Type encoding774207 ! Node: Garbage Collection777459 ! Node: Constant string objects780123 ! Node: compatibility_alias782636 ! Node: Compatibility783515 ! Node: Gcov790102 ! Node: Gcov Intro790571 ! Node: Invoking Gcov793293 ! Node: Gcov and Optimization801741 ! Node: Gcov Data Files803178 ! Node: Trouble807885 ! Node: Actual Bugs809479 ! Node: Cross-Compiler Problems810387 ! Node: Interoperation811897 ! Node: External Bugs822039 ! Node: Incompatibilities823475 ! Node: Fixed Headers831922 ! Node: Standard Libraries834231 ! Node: Disappointments835601 ! Node: C++ Misunderstandings840095 ! Node: Static Definitions840821 ! Node: Temporaries841868 ! Node: Copy Assignment843845 ! Node: Protoize Caveats845667 ! Node: Non-bugs849622 ! Node: Warnings and Errors859490 ! Node: Bugs861250 ! Node: Bug Criteria861813 ! Node: Bug Reporting864004 ! Node: Service864385 ! Node: Contributing865203 ! Node: Funding865946 ! Node: GNU Project868450 ! Node: Copying869101 ! Node: GNU Free Documentation License888309 ! Node: Contributors910718 ! Node: Option Index937112 ! Node: Keyword Index1013117  End Tag Table diff -Nrc3pad gcc-3.3.1/gcc/doc/gccinstall.info gcc-3.3.2/gcc/doc/gccinstall.info *** gcc-3.3.1/gcc/doc/gccinstall.info 2003-08-04 13:10:21.000000000 +0000 --- gcc-3.3.2/gcc/doc/gccinstall.info 2003-10-16 20:23:51.000000000 +0000 *************** i?86-*-sco *** 1782,1792 **** Compilation with RCC is recommended. Also, it may be a good idea to link with GNU malloc instead of the malloc that comes with the system. - i?86-*-sco3.2v4 - =============== - - Use this configuration for SCO release 3.2 version 4. - i?86-*-sco3.2v5* ================ --- 1782,1787 ---- *************** maintain. GCC now emits only DWARF 2 fo *** 1802,1858 **** may use either the UDK debugger or GDB to debug programs built by this version of GCC. ! Use of the `-march=pentiumpro' flag can result in unrecognized ! opcodes when using the native assembler on OS versions before 5.0.6. ! (Support for P6 opcodes was added to the native ELF assembler in that ! version.) While it's rather rare to see these emitted by GCC yet, ! errors of the basic form: ! ! /usr/tmp/ccaNlqBc.s:22:unknown instruction: fcomip ! /usr/tmp/ccaNlqBc.s:50:unknown instruction: fucomip ! ! are symptoms of this problem. You may work around this by not ! building affected files with that flag, by using the GNU assembler, or ! by using the assembler provided with the current version of the OS. ! Users of GNU assembler should see the note below for hazards on doing ! so. ! ! The native SCO assembler that is provided with the OS at no charge ! is normally required. If, however, you must be able to use the GNU ! assembler (perhaps you're compiling code with asms that require GAS ! syntax) you may configure this package using the flags `--with-gnu-as'. ! You must use a recent version of GNU binutils; versions past 2.9.1 ! seem to work well. ! ! In general, the `--with-gnu-as' option isn't as well tested as the ! native assembler. ! ! Look in `gcc/config/i386/sco5.h' (search for "messy") for additional ! OpenServer-specific flags. ! ! Systems based on OpenServer before 5.0.4 (`uname -X' will tell you ! what you're running) require TLS597 from ftp://stage.caldera.com/TLS/ ! for C++ constructors and destructors to work right. ! ! The system linker in (at least) 5.0.4 and 5.0.5 will sometimes do ! the wrong thing for a construct that GCC will emit for PIC code. This ! can be seen as execution testsuite failures when using `-fPIC' on ! `921215-1.c', `931002-1.c', `nestfunc-1.c', and `gcov-1.c'. For 5.0.5, ! an updated linker that will cure this problem is available. You must ! install both ftp://ftp.sco.com/pub/openserver5/rs505a and OSS499A. ! The dynamic linker in OpenServer 5.0.5 (earlier versions may show ! the same problem) aborts on certain G77-compiled programs. It's ! particularly likely to be triggered by building Fortran code with the ! `-fPIC' flag. Although it's conceivable that the error could be ! triggered by other code, only G77-compiled code has been observed to ! cause this abort. If you are getting core dumps immediately upon ! execution of your G77 program--and especially if it's compiled with ! `-fPIC'--try applying `sco_osr5_g77.patch' to your `libf2c' and ! rebuilding GCC. Affected faults, when analyzed in a debugger, will ! show a stack backtrace with a fault occurring in `rtld()' and the ! program running as `/usr/lib/ld.so.1'. This problem has been reported ! to SCO engineering and will hopefully be addressed in later releases. i?86-*-udk ========== --- 1797,1829 ---- may use either the UDK debugger or GDB to debug programs built by this version of GCC. ! GCC is now only supported on releases 5.0.4 and later, and requires ! that you install Support Level Supplement OSS646B or later, and the ! latest version of the Supplement Graphics, Web and X11 Libraries ! (GWXLIBS) package. If you are using release 5.0.7 of OpenServer, you ! must have at least the first maintenance pack installed (this includes ! the relevant portions of OSS646 and GWXLIBS). OSS646, also known as ! the "Execution Environment Update", provides updated link editors and ! assemblers, as well as updated standard C and math libraries. The C ! startup modules are also updated to support the System V gABI draft, ! and GCC relies on that behavior. GWXLIBS provides a collection of ! commonly used open source libraries, some of which GCC depends on (such ! as GNU gettext and zlib). SCO OpenServer Release 5.0.7 has all of this ! built in by default, but GWXLIBS is significantly updated in ! Maintenance Pack 1. Please visit ftp://ftp.sco.com/pub/openserver5 and ! ftp://ftp.sco.com/pub/openserver5/opensrc for the latest versions of ! these (and other potentially useful) supplements. ! Although there is support for using the native assembler, it is ! recommended that you configure GCC to use the GNU assembler. You do ! this by using the flags `--with-gnu-as'. You should use a modern ! version of GNU binutils. Version 2.14 was used for all testing. In ! general, only the `--with-gnu-as' option is tested. A modern bintuils ! (as well as a plethora of other development related GNU utilities) can ! be found in the GNU Development Tools package. See the SCO web and ftp ! sites for details. That package also contains the currently ! "officially supported" version of GCC, version 2.95.3. It is useful ! for bootstrapping this version. i?86-*-udk ========== *************** Ref: *-*-linux-gnu73900 *** 3824,3889 **** Ref: ix86-*-linux*aout74892 Ref: ix86-*-linux*75105 Ref: ix86-*-sco75422 ! Ref: ix86-*-sco3.2v475589 ! Ref: ix86-*-sco3.2v5*75680 ! Ref: ix86-*-udk78866 ! Ref: ia64-*-linux80233 ! Ref: ia64-*-hpux*81224 ! Ref: *-lynx-lynxos81656 ! Ref: *-ibm-aix*82136 ! Ref: ip2k-*-elf87164 ! Ref: m32r-*-elf87398 ! Ref: m68000-hp-bsd87503 ! Ref: m6811-elf87762 ! Ref: m6812-elf87915 ! Ref: m68k-att-sysv88068 ! Ref: m68k-crds-unos88431 ! Ref: m68k-hp-hpux89895 ! Ref: m68k-ncr-*91911 ! Ref: m68k-sun92309 ! Ref: m68k-sun-sunos4.1.192573 ! Ref: mips-*-*92740 ! Ref: mips-sgi-irix593604 ! Ref: mips-sgi-irix695588 ! Ref: powerpc*-*-*99377 ! Ref: powerpc-*-darwin*99525 ! Ref: powerpc-*-elf100473 ! Ref: powerpc-*-linux-gnu*100595 ! Ref: powerpc-*-netbsd*100706 ! Ref: powerpc-*-eabiaix100905 ! Ref: powerpc-*-eabisim101032 ! Ref: powerpc-*-eabi101161 ! Ref: powerpcle-*-elf101240 ! Ref: powerpcle-*-eabisim101373 ! Ref: powerpcle-*-eabi101509 ! Ref: s390-*-linux*101595 ! Ref: s390x-*-linux*101666 ! Ref: *-*-solaris2*101752 ! Ref: sparc-sun-solaris2*104210 ! Ref: sparc-sun-solaris2.7105546 ! Ref: sparc-sun-sunos4*107619 ! Ref: sparc-unknown-linux-gnulibc1108286 ! Ref: sparc-*-linux*108487 ! Ref: sparc64-*-solaris2*108715 ! Ref: sparcv9-*-solaris2*109094 ! Ref: #*-*-sysv*109182 ! Ref: vax-dec-ultrix110146 ! Ref: xtensa-*-elf110301 ! Ref: xtensa-*-linux*110983 ! Ref: windows111324 ! Ref: os2111651 ! Ref: older111977 ! Ref: elf_targets114105 ! Node: Old114366 ! Node: Configurations117741 ! Node: Cross-Compiler121941 ! Node: Steps of Cross123698 ! Node: Configure Cross124823 ! Node: Tools and Libraries125467 ! Node: Cross Headers127913 ! Node: Build Cross129928 ! Node: VMS Install130895 ! Node: GNU Free Documentation License140435 ! Node: Concept Index162848  End Tag Table --- 3795,3859 ---- Ref: ix86-*-linux*aout74892 Ref: ix86-*-linux*75105 Ref: ix86-*-sco75422 ! Ref: ix86-*-sco3.2v5*75589 ! Ref: ix86-*-udk77837 ! Ref: ia64-*-linux79204 ! Ref: ia64-*-hpux*80195 ! Ref: *-lynx-lynxos80627 ! Ref: *-ibm-aix*81107 ! Ref: ip2k-*-elf86135 ! Ref: m32r-*-elf86369 ! Ref: m68000-hp-bsd86474 ! Ref: m6811-elf86733 ! Ref: m6812-elf86886 ! Ref: m68k-att-sysv87039 ! Ref: m68k-crds-unos87402 ! Ref: m68k-hp-hpux88866 ! Ref: m68k-ncr-*90882 ! Ref: m68k-sun91280 ! Ref: m68k-sun-sunos4.1.191544 ! Ref: mips-*-*91711 ! Ref: mips-sgi-irix592575 ! Ref: mips-sgi-irix694559 ! Ref: powerpc*-*-*98348 ! Ref: powerpc-*-darwin*98496 ! Ref: powerpc-*-elf99444 ! Ref: powerpc-*-linux-gnu*99566 ! Ref: powerpc-*-netbsd*99677 ! Ref: powerpc-*-eabiaix99876 ! Ref: powerpc-*-eabisim100003 ! Ref: powerpc-*-eabi100132 ! Ref: powerpcle-*-elf100211 ! Ref: powerpcle-*-eabisim100344 ! Ref: powerpcle-*-eabi100480 ! Ref: s390-*-linux*100566 ! Ref: s390x-*-linux*100637 ! Ref: *-*-solaris2*100723 ! Ref: sparc-sun-solaris2*103181 ! Ref: sparc-sun-solaris2.7104517 ! Ref: sparc-sun-sunos4*106590 ! Ref: sparc-unknown-linux-gnulibc1107257 ! Ref: sparc-*-linux*107458 ! Ref: sparc64-*-solaris2*107686 ! Ref: sparcv9-*-solaris2*108065 ! Ref: #*-*-sysv*108153 ! Ref: vax-dec-ultrix109117 ! Ref: xtensa-*-elf109272 ! Ref: xtensa-*-linux*109954 ! Ref: windows110295 ! Ref: os2110622 ! Ref: older110948 ! Ref: elf_targets113076 ! Node: Old113337 ! Node: Configurations116712 ! Node: Cross-Compiler120912 ! Node: Steps of Cross122669 ! Node: Configure Cross123794 ! Node: Tools and Libraries124438 ! Node: Cross Headers126884 ! Node: Build Cross128899 ! Node: VMS Install129866 ! Node: GNU Free Documentation License139406 ! Node: Concept Index161819  End Tag Table diff -Nrc3pad gcc-3.3.1/gcc/doc/gccint.info gcc-3.3.2/gcc/doc/gccint.info *** gcc-3.3.1/gcc/doc/gccint.info 2003-08-04 13:10:21.000000000 +0000 --- gcc-3.3.2/gcc/doc/gccint.info 2003-10-16 20:23:51.000000000 +0000 *************** Introduction *** 59,65 **** This manual documents the internals of the GNU compilers, including how to port them to new targets and some information about how to write ! front ends for new languages. It corresponds to GCC version 3.3.1. The use of the GNU compilers is documented in a separate manual. *Note Introduction: (gcc)Top. --- 59,65 ---- This manual documents the internals of the GNU compilers, including how to port them to new targets and some information about how to write ! front ends for new languages. It corresponds to GCC version 3.3.2. The use of the GNU compilers is documented in a separate manual. *Note Introduction: (gcc)Top. *************** Output and Generation of Labels *** 18358,18363 **** --- 18358,18378 ---- You may wish to use `ASM_OUTPUT_TYPE_DIRECTIVE' and/or `ASM_OUTPUT_SIZE_DIRECTIVE' in the definition of this macro. + `ASM_DECLARE_CONSTANT_NAME (STREAM, NAME, EXP, SIZE)' + A C statement (sans semicolon) to output to the stdio stream + STREAM any text necessary for declaring the name NAME of a + constant which is being defined. This macro is responsible for + outputting the label definition (perhaps using + `ASM_OUTPUT_LABEL'). The argument EXP is the value of the + constant, and SIZE is the size of the constant in bytes. NAME + will be an internal label. + + If this macro is not defined, then the NAME is defined in the + usual manner as a label (by means of `ASM_OUTPUT_LABEL'). + + You may wish to use `ASM_OUTPUT_TYPE_DIRECTIVE' in the definition + of this macro. + `ASM_DECLARE_REGISTER_GLOBAL (STREAM, DECL, REGNO, NAME)' A C statement (sans semicolon) to output to the stdio stream STREAM any text necessary for claiming a register REGNO for a *************** Index *** 23185,23190 **** --- 23200,23206 ---- * ASM_COMMENT_START: File Framework. * ASM_CV_QUAL: Function Bodies. * ASM_DECLARE_CLASS_REFERENCE: Label Output. + * ASM_DECLARE_CONSTANT_NAME: Label Output. * ASM_DECLARE_FUNCTION_NAME: Label Output. * ASM_DECLARE_FUNCTION_SIZE: Label Output. * ASM_DECLARE_OBJECT_NAME: Label Output. *************** Node: File Framework780256 *** 25443,25482 **** Node: Data Output785116 Node: Uninitialized Data792711 Node: Label Output798111 ! Node: Initialization816207 ! Node: Macros for Initialization822188 ! Node: Instruction Output828357 ! Node: Dispatch Tables837403 ! Node: Exception Region Output839958 ! Node: Alignment Output843620 ! Node: Debugging Info847641 ! Node: All Debuggers848302 ! Node: DBX Options851185 ! Node: DBX Hooks856560 ! Node: File Names and DBX860383 ! Node: SDB and DWARF862359 ! Node: VMS Debug866405 ! Node: Floating Point866953 ! Node: Mode Switching871756 ! Node: Target Attributes875006 ! Node: MIPS Coprocessors878856 ! Node: Misc880419 ! Node: Host Config911520 ! Node: Fragments917556 ! Node: Target Fragment918699 ! Node: Host Fragment924150 ! Node: Collect2925586 ! Node: Header Dirs928140 ! Node: Type Information929567 ! Node: GTY Options930588 ! Node: GGC Roots937178 ! Node: Files937879 ! Node: Funding940725 ! Node: GNU Project943236 ! Node: Copying943890 ! Node: GNU Free Documentation License963101 ! Node: Contributors985513 ! Node: Option Index1011910 ! Node: Index1013710  End Tag Table --- 25459,25498 ---- Node: Data Output785116 Node: Uninitialized Data792711 Node: Label Output798111 ! Node: Initialization816900 ! Node: Macros for Initialization822881 ! Node: Instruction Output829050 ! Node: Dispatch Tables838096 ! Node: Exception Region Output840651 ! Node: Alignment Output844313 ! Node: Debugging Info848334 ! Node: All Debuggers848995 ! Node: DBX Options851878 ! Node: DBX Hooks857253 ! Node: File Names and DBX861076 ! Node: SDB and DWARF863052 ! Node: VMS Debug867098 ! Node: Floating Point867646 ! Node: Mode Switching872449 ! Node: Target Attributes875699 ! Node: MIPS Coprocessors879549 ! Node: Misc881112 ! Node: Host Config912213 ! Node: Fragments918249 ! Node: Target Fragment919392 ! Node: Host Fragment924843 ! Node: Collect2926279 ! Node: Header Dirs928833 ! Node: Type Information930260 ! Node: GTY Options931281 ! Node: GGC Roots937871 ! Node: Files938572 ! Node: Funding941418 ! Node: GNU Project943929 ! Node: Copying944583 ! Node: GNU Free Documentation License963794 ! Node: Contributors986206 ! Node: Option Index1012603 ! Node: Index1014403  End Tag Table diff -Nrc3pad gcc-3.3.1/gcc/doc/gcov.1 gcc-3.3.2/gcc/doc/gcov.1 *** gcc-3.3.1/gcc/doc/gcov.1 2003-08-04 13:10:34.000000000 +0000 --- gcc-3.3.2/gcc/doc/gcov.1 2003-10-16 20:24:04.000000000 +0000 *************** *** 129,135 **** .\" ======================================================================== .\" .IX Title "GCOV 1" ! .TH GCOV 1 "2003-08-04" "gcc-3.3.1" "GNU" .SH "NAME" gcov \- coverage testing tool .SH "SYNOPSIS" --- 129,135 ---- .\" ======================================================================== .\" .IX Title "GCOV 1" ! .TH GCOV 1 "2003-10-16" "gcc-3.3.2" "GNU" .SH "NAME" gcov \- coverage testing tool .SH "SYNOPSIS" diff -Nrc3pad gcc-3.3.1/gcc/doc/gfdl.7 gcc-3.3.2/gcc/doc/gfdl.7 *** gcc-3.3.1/gcc/doc/gfdl.7 2003-08-04 13:10:49.000000000 +0000 --- gcc-3.3.2/gcc/doc/gfdl.7 2003-10-16 20:24:18.000000000 +0000 *************** *** 129,135 **** .\" ======================================================================== .\" .IX Title "GFDL 7" ! .TH GFDL 7 "2003-08-04" "gcc-3.3.1" "GNU" .SH "NAME" gfdl \- GNU Free Documentation License .SH "DESCRIPTION" --- 129,135 ---- .\" ======================================================================== .\" .IX Title "GFDL 7" ! .TH GFDL 7 "2003-10-16" "gcc-3.3.2" "GNU" .SH "NAME" gfdl \- GNU Free Documentation License .SH "DESCRIPTION" diff -Nrc3pad gcc-3.3.1/gcc/doc/gpl.7 gcc-3.3.2/gcc/doc/gpl.7 *** gcc-3.3.1/gcc/doc/gpl.7 2003-08-04 13:10:49.000000000 +0000 --- gcc-3.3.2/gcc/doc/gpl.7 2003-10-16 20:24:19.000000000 +0000 *************** *** 129,135 **** .\" ======================================================================== .\" .IX Title "GPL 7" ! .TH GPL 7 "2003-08-04" "gcc-3.3.1" "GNU" .SH "NAME" gpl \- GNU General Public License .SH "DESCRIPTION" --- 129,135 ---- .\" ======================================================================== .\" .IX Title "GPL 7" ! .TH GPL 7 "2003-10-16" "gcc-3.3.2" "GNU" .SH "NAME" gpl \- GNU General Public License .SH "DESCRIPTION" diff -Nrc3pad gcc-3.3.1/gcc/doc/include/gcc-common.texi gcc-3.3.2/gcc/doc/include/gcc-common.texi *** gcc-3.3.1/gcc/doc/include/gcc-common.texi 2003-05-14 23:28:56.000000000 +0000 --- gcc-3.3.2/gcc/doc/include/gcc-common.texi 2003-08-07 20:12:35.000000000 +0000 *************** *** 4,10 **** @c Common values used in the GCC manuals: ! @set version-GCC 3.3.1 @c DEVELOPMENT is set to indicate an in-development version, @c as compared to a release version. When making a release --- 4,10 ---- @c Common values used in the GCC manuals: ! @set version-GCC 3.3.2 @c DEVELOPMENT is set to indicate an in-development version, @c as compared to a release version. When making a release diff -Nrc3pad gcc-3.3.1/gcc/doc/install.texi gcc-3.3.2/gcc/doc/install.texi *** gcc-3.3.1/gcc/doc/install.texi 2003-07-26 16:06:12.000000000 +0000 --- gcc-3.3.2/gcc/doc/install.texi 2003-08-09 06:51:10.000000000 +0000 *************** link with GNU malloc instead of the mall *** 2331,2342 **** @html
        @end html - @heading @anchor{ix86-*-sco3.2v4}i?86-*-sco3.2v4 - Use this configuration for SCO release 3.2 version 4. - - @html -
        - @end html @heading @anchor{ix86-*-sco3.2v5*}i?86-*-sco3.2v5* Use this for the SCO OpenServer Release 5 family of operating systems. --- 2331,2336 ---- *************** maintain. GCC now emits only DWARF 2 fo *** 2349,2412 **** may use either the UDK debugger or GDB to debug programs built by this version of GCC@. ! Use of the @option{-march=pentiumpro} flag can result in ! unrecognized opcodes when using the native assembler on OS versions before ! 5.0.6. (Support for P6 opcodes was added to the native ELF assembler in ! that version.) While it's rather rare to see these emitted by GCC yet, ! errors of the basic form: ! ! @example ! /usr/tmp/ccaNlqBc.s:22:unknown instruction: fcomip ! /usr/tmp/ccaNlqBc.s:50:unknown instruction: fucomip ! @end example ! ! are symptoms of this problem. You may work around this by not ! building affected files with that flag, by using the GNU assembler, or ! by using the assembler provided with the current version of the OS@. ! Users of GNU assembler should see the note below for hazards on doing ! so. ! ! The native SCO assembler that is provided with the OS at no ! charge is normally required. If, however, you must be able to use ! the GNU assembler (perhaps you're compiling code with asms that ! require GAS syntax) you may configure this package using the flags ! @uref{./configure.html#with-gnu-as,,@option{--with-gnu-as}}. You must ! use a recent version of GNU binutils; versions past 2.9.1 seem to work ! well. ! ! In general, the @option{--with-gnu-as} option isn't as well tested ! as the native assembler. ! ! Look in @file{gcc/config/i386/sco5.h} (search for ``messy'') for ! additional OpenServer-specific flags. ! ! Systems based on OpenServer before 5.0.4 (@samp{uname -X} ! will tell you what you're running) require TLS597 from ! @uref{ftp://stage.caldera.com/TLS/,,ftp://stage.caldera.com/TLS/} ! for C++ constructors and destructors to work right. ! ! The system linker in (at least) 5.0.4 and 5.0.5 will sometimes ! do the wrong thing for a construct that GCC will emit for PIC ! code. This can be seen as execution testsuite failures when using ! @option{-fPIC} on @file{921215-1.c}, @file{931002-1.c}, @file{nestfunc-1.c}, and @file{gcov-1.c}. ! For 5.0.5, an updated linker that will cure this problem is ! available. You must install both ! @uref{ftp://ftp.sco.com/pub/openserver5/rs505a,,ftp://ftp.sco.com/pub/openserver5/rs505a} ! and @uref{ftp://ftp.sco.com/pub/openserver5,,OSS499A}. ! The dynamic linker in OpenServer 5.0.5 (earlier versions may show ! the same problem) aborts on certain G77-compiled programs. It's particularly ! likely to be triggered by building Fortran code with the @option{-fPIC} flag. ! Although it's conceivable that the error could be triggered by other ! code, only G77-compiled code has been observed to cause this abort. ! If you are getting core dumps immediately upon execution of your ! G77 program---and especially if it's compiled with @option{-fPIC}---try applying ! @uref{sco_osr5_g77.patch,,@file{sco_osr5_g77.patch}} to your @samp{libf2c} and ! rebuilding GCC@. ! Affected faults, when analyzed in a debugger, will show a stack ! backtrace with a fault occurring in @code{rtld()} and the program ! running as @file{/usr/lib/ld.so.1}. This problem has been reported to SCO ! engineering and will hopefully be addressed in later releases. @html --- 2343,2376 ---- may use either the UDK debugger or GDB to debug programs built by this version of GCC@. ! GCC is now only supported on releases 5.0.4 and later, and requires that ! you install Support Level Supplement OSS646B or later, and the latest ! version of the Supplement Graphics, Web and X11 Libraries (GWXLIBS) ! package. If you are using release 5.0.7 of OpenServer, you must have at ! least the first maintenance pack installed (this includes the relevant ! portions of OSS646 and GWXLIBS). OSS646, also known as the "Execution ! Environment Update", provides updated link editors and assemblers, as well ! as updated standard C and math libraries. The C startup modules are also ! updated to support the System V gABI draft, and GCC relies on that ! behavior. GWXLIBS provides a collection of commonly used open source ! libraries, some of which GCC depends on (such as GNU gettext and zlib). ! SCO OpenServer Release 5.0.7 has all of this built in by default, but ! GWXLIBS is significantly updated in Maintenance Pack 1. Please visit ! @uref{ftp://ftp.sco.com/pub/openserver5,,ftp://ftp.sco.com/pub/openserver5} ! and ! @uref{ftp://ftp.sco.com/pub/openserver5/opensrc,,ftp://ftp.sco.com/pub/openserver5/opensrc} ! for the latest versions of these (and other potentially useful) supplements. ! Although there is support for using the native assembler, it is recommended ! that you configure GCC to use the GNU assembler. You do this by using the ! flags @uref{./configure.html#with-gnu-as,,@option{--with-gnu-as}}. You ! should use a modern version of GNU binutils. Version 2.14 was used for all ! testing. In general, only the @option{--with-gnu-as} option is tested. A ! modern bintuils (as well as a plethora of other development related GNU ! utilities) can be found in the GNU Development Tools package. See the ! SCO web and ftp sites for details. That package also contains the ! currently "officially supported" version of GCC, version 2.95.3. It is ! useful for bootstrapping this version. @html diff -Nrc3pad gcc-3.3.1/gcc/doc/tm.texi gcc-3.3.2/gcc/doc/tm.texi *** gcc-3.3.1/gcc/doc/tm.texi 2003-06-09 21:37:53.000000000 +0000 --- gcc-3.3.2/gcc/doc/tm.texi 2003-08-08 21:17:57.000000000 +0000 *************** usual manner as a label (by means of @co *** 6589,6594 **** --- 6589,6610 ---- You may wish to use @code{ASM_OUTPUT_TYPE_DIRECTIVE} and/or @code{ASM_OUTPUT_SIZE_DIRECTIVE} in the definition of this macro. + @findex ASM_DECLARE_CONSTANT_NAME + @item ASM_DECLARE_CONSTANT_NAME (@var{stream}, @var{name}, @var{exp}, @var{size}) + A C statement (sans semicolon) to output to the stdio stream + @var{stream} any text necessary for declaring the name @var{name} of a + constant which is being defined. This macro is responsible for + outputting the label definition (perhaps using + @code{ASM_OUTPUT_LABEL}). The argument @var{exp} is the + value of the constant, and @var{size} is the size of the constant + in bytes. @var{name} will be an internal label. + + If this macro is not defined, then the @var{name} is defined in the + usual manner as a label (by means of @code{ASM_OUTPUT_LABEL}). + + You may wish to use @code{ASM_OUTPUT_TYPE_DIRECTIVE} in the definition + of this macro. + @findex ASM_DECLARE_REGISTER_GLOBAL @item ASM_DECLARE_REGISTER_GLOBAL (@var{stream}, @var{decl}, @var{regno}, @var{name}) A C statement (sans semicolon) to output to the stdio stream diff -Nrc3pad gcc-3.3.1/gcc/dwarf2out.c gcc-3.3.2/gcc/dwarf2out.c *** gcc-3.3.1/gcc/dwarf2out.c 2003-07-20 07:22:55.000000000 +0000 --- gcc-3.3.2/gcc/dwarf2out.c 2003-10-01 16:58:30.000000000 +0000 *************** expand_builtin_init_dwarf_reg_sizes (add *** 432,437 **** --- 432,446 ---- emit_move_insn (adjust_address (mem, mode, offset), GEN_INT (size)); } + + #ifdef DWARF_ALT_FRAME_RETURN_COLUMN + { + enum machine_mode save_mode = Pmode; + HOST_WIDE_INT offset = DWARF_ALT_FRAME_RETURN_COLUMN * GET_MODE_SIZE (mode); + HOST_WIDE_INT size = GET_MODE_SIZE (save_mode); + emit_move_insn (adjust_address (mem, mode, offset), GEN_INT (size)); + } + #endif } /* Convert a DWARF call frame info. operation to its string name */ *************** gen_inlined_subroutine_die (stmt, contex *** 11051,11066 **** dw_die_ref context_die; int depth; { if (! BLOCK_ABSTRACT (stmt)) { dw_die_ref subr_die = new_die (DW_TAG_inlined_subroutine, context_die, stmt); - tree decl = block_ultimate_origin (stmt); char label[MAX_ARTIFICIAL_LABEL_BYTES]; - /* Emit info for the abstract instance first, if we haven't yet. */ - dwarf2out_abstract_function (decl); - add_abstract_origin_attribute (subr_die, decl); ASM_GENERATE_INTERNAL_LABEL (label, BLOCK_BEGIN_LABEL, BLOCK_NUMBER (stmt)); --- 11060,11079 ---- dw_die_ref context_die; int depth; { + tree decl = block_ultimate_origin (stmt); + + /* Emit info for the abstract instance first, if we haven't yet. We + must emit this even if the block is abstract, otherwise when we + emit the block below (or elsewhere), we may end up trying to emit + a die whose origin die hasn't been emitted, and crashing. */ + dwarf2out_abstract_function (decl); + if (! BLOCK_ABSTRACT (stmt)) { dw_die_ref subr_die = new_die (DW_TAG_inlined_subroutine, context_die, stmt); char label[MAX_ARTIFICIAL_LABEL_BYTES]; add_abstract_origin_attribute (subr_die, decl); ASM_GENERATE_INTERNAL_LABEL (label, BLOCK_BEGIN_LABEL, BLOCK_NUMBER (stmt)); diff -Nrc3pad gcc-3.3.1/gcc/expr.c gcc-3.3.2/gcc/expr.c *** gcc-3.3.1/gcc/expr.c 2003-07-24 19:11:20.000000000 +0000 --- gcc-3.3.2/gcc/expr.c 2003-09-06 08:06:00.000000000 +0000 *************** convert_modes (mode, oldmode, x, unsigne *** 1425,1430 **** --- 1425,1439 ---- return gen_lowpart (mode, x); } + /* Converting from integer constant into mode is always equivalent to an + subreg operation. */ + if (VECTOR_MODE_P (mode) && GET_MODE (x) == VOIDmode) + { + if (GET_MODE_BITSIZE (mode) != GET_MODE_BITSIZE (oldmode)) + abort (); + return simplify_gen_subreg (mode, x, oldmode, 0); + } + temp = gen_reg_rtx (mode); convert_move (temp, x, unsignedp); return temp; diff -Nrc3pad gcc-3.3.1/gcc/f/BUGS gcc-3.3.2/gcc/f/BUGS *** gcc-3.3.1/gcc/f/BUGS 2003-08-04 14:59:04.000000000 +0000 --- gcc-3.3.2/gcc/f/BUGS 2003-10-16 22:51:49.000000000 +0000 *************** _Note:_ This file is automatically gener *** 2,8 **** `bugs0.texi' and `bugs.texi'. `BUGS' is _not_ a source file, although it is normally included within source distributions. ! This file lists known bugs in the GCC-3.3.1 version of the GNU Fortran compiler. Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 Free Software Foundation, Inc. You may copy, distribute, and modify it freely as long as you preserve --- 2,8 ---- `bugs0.texi' and `bugs.texi'. `BUGS' is _not_ a source file, although it is normally included within source distributions. ! This file lists known bugs in the GCC-3.3.2 version of the GNU Fortran compiler. Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 Free Software Foundation, Inc. You may copy, distribute, and modify it freely as long as you preserve *************** Known Bugs In GNU Fortran *** 12,18 **** ************************* This section identifies bugs that `g77' _users_ might run into in ! the GCC-3.3.1 version of `g77'. This includes bugs that are actually in the `gcc' back end (GBE) or in `libf2c', because those sets of code are at least somewhat under the control of (and necessarily intertwined with) `g77', so it isn't worth separating them out. --- 12,18 ---- ************************* This section identifies bugs that `g77' _users_ might run into in ! the GCC-3.3.2 version of `g77'. This includes bugs that are actually in the `gcc' back end (GBE) or in `libf2c', because those sets of code are at least somewhat under the control of (and necessarily intertwined with) `g77', so it isn't worth separating them out. diff -Nrc3pad gcc-3.3.1/gcc/f/ChangeLog gcc-3.3.2/gcc/f/ChangeLog *** gcc-3.3.1/gcc/f/ChangeLog 2003-08-04 12:48:48.000000000 +0000 --- gcc-3.3.2/gcc/f/ChangeLog 2003-10-16 19:43:49.000000000 +0000 *************** *** 1,3 **** --- 1,7 ---- + 2003-10-16 Release Manager + + * GCC 3.3.2 Released. + 2003-08-04 Release Manager * GCC 3.3.1 Released. diff -Nrc3pad gcc-3.3.1/gcc/f/g77.1 gcc-3.3.2/gcc/f/g77.1 *** gcc-3.3.1/gcc/f/g77.1 2003-08-04 13:10:51.000000000 +0000 --- gcc-3.3.2/gcc/f/g77.1 2003-10-16 20:24:22.000000000 +0000 *************** *** 129,135 **** .\" ======================================================================== .\" .IX Title "G77 1" ! .TH G77 1 "2003-08-04" "gcc-3.3.1" "GNU" .SH "NAME" g77 \- GNU project Fortran 77 compiler .SH "SYNOPSIS" --- 129,135 ---- .\" ======================================================================== .\" .IX Title "G77 1" ! .TH G77 1 "2003-10-16" "gcc-3.3.2" "GNU" .SH "NAME" g77 \- GNU project Fortran 77 compiler .SH "SYNOPSIS" diff -Nrc3pad gcc-3.3.1/gcc/f/g77.info gcc-3.3.2/gcc/f/g77.info *** gcc-3.3.1/gcc/f/g77.info 2003-08-04 13:10:33.000000000 +0000 --- gcc-3.3.2/gcc/f/g77.info 2003-10-16 20:24:03.000000000 +0000 *************** START-INFO-DIR-ENTRY *** 25,31 **** * g77: (g77). The GNU Fortran compiler. END-INFO-DIR-ENTRY This file documents the use and the internals of the GNU Fortran ! (`g77') compiler. It corresponds to the GCC-3.3.1 version of `g77'. Published by the Free Software Foundation 59 Temple Place - Suite 330 Boston, MA 02111-1307 USA --- 25,31 ---- * g77: (g77). The GNU Fortran compiler. END-INFO-DIR-ENTRY This file documents the use and the internals of the GNU Fortran ! (`g77') compiler. It corresponds to the GCC-3.3.2 version of `g77'. Published by the Free Software Foundation 59 Temple Place - Suite 330 Boston, MA 02111-1307 USA *************** Introduction *** 62,68 **** This manual documents how to run, install and port `g77', as well as its new features and incompatibilities, and how to report bugs. It ! corresponds to the GCC-3.3.1 version of `g77'. * Menu: --- 62,68 ---- This manual documents how to run, install and port `g77', as well as its new features and incompatibilities, and how to report bugs. It ! corresponds to the GCC-3.3.2 version of `g77'. * Menu: *************** clarify how they differ from other versi *** 2939,2945 **** getting a complete picture of what a particular `egcs' version contains somewhat more difficult. ! For information on bugs in the GCC-3.3.1 version of `g77', see *Note Known Bugs In GNU Fortran: Known Bugs. An online, "live" version of this document (derived directly from --- 2939,2945 ---- getting a complete picture of what a particular `egcs' version contains somewhat more difficult. ! For information on bugs in the GCC-3.3.2 version of `g77', see *Note Known Bugs In GNU Fortran: Known Bugs. An online, "live" version of this document (derived directly from *************** clarify how they differ from other versi *** 4256,4262 **** getting a complete picture of what a particular `egcs' version contains somewhat more difficult. ! For information on bugs in the GCC-3.3.1 version of `g77', see *Note Known Bugs In GNU Fortran: Known Bugs. The following information was last updated on 2003-05-18: --- 4256,4262 ---- getting a complete picture of what a particular `egcs' version contains somewhat more difficult. ! For information on bugs in the GCC-3.3.2 version of `g77', see *Note Known Bugs In GNU Fortran: Known Bugs. The following information was last updated on 2003-05-18: *************** Known Bugs In GNU Fortran *** 19854,19860 **** ========================= This section identifies bugs that `g77' _users_ might run into in ! the GCC-3.3.1 version of `g77'. This includes bugs that are actually in the `gcc' back end (GBE) or in `libf2c', because those sets of code are at least somewhat under the control of (and necessarily intertwined with) `g77', so it isn't worth separating them out. --- 19854,19860 ---- ========================= This section identifies bugs that `g77' _users_ might run into in ! the GCC-3.3.2 version of `g77'. This includes bugs that are actually in the `gcc' back end (GBE) or in `libf2c', because those sets of code are at least somewhat under the control of (and necessarily intertwined with) `g77', so it isn't worth separating them out. diff -Nrc3pad gcc-3.3.1/gcc/f/NEWS gcc-3.3.2/gcc/f/NEWS *** gcc-3.3.1/gcc/f/NEWS 2003-08-04 14:59:04.000000000 +0000 --- gcc-3.3.2/gcc/f/NEWS 2003-10-16 22:51:49.000000000 +0000 *************** _Note:_ This file is automatically gener *** 2,8 **** `news0.texi' and `news.texi'. `NEWS' is _not_ a source file, although it is normally included within source distributions. ! This file lists news about the GCC-3.3.1 version (and some other versions) of the GNU Fortran compiler. Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003 Free Software Foundation, Inc. You may copy, distribute, and modify it freely as long as you --- 2,8 ---- `news0.texi' and `news.texi'. `NEWS' is _not_ a source file, although it is normally included within source distributions. ! This file lists news about the GCC-3.3.2 version (and some other versions) of the GNU Fortran compiler. Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003 Free Software Foundation, Inc. You may copy, distribute, and modify it freely as long as you diff -Nrc3pad gcc-3.3.1/gcc/fixinc/check.tpl gcc-3.3.2/gcc/fixinc/check.tpl *** gcc-3.3.1/gcc/fixinc/check.tpl 2002-05-16 17:42:32.000000000 +0000 --- gcc-3.3.2/gcc/fixinc/check.tpl 2003-08-09 06:51:10.000000000 +0000 *************** do *** 135,141 **** : else ! diff -u $f ${TESTBASE}/$f >&2 || : exitok=false fi done --- 135,141 ---- : else ! ${DIFF:-diff} -u $f ${TESTBASE}/$f >&2 || : exitok=false fi done diff -Nrc3pad gcc-3.3.1/gcc/fixinc/fixincl.x gcc-3.3.2/gcc/fixinc/fixincl.x *** gcc-3.3.1/gcc/fixinc/fixincl.x 2003-07-02 06:47:05.000000000 +0000 --- gcc-3.3.2/gcc/fixinc/fixincl.x 2003-10-16 20:10:47.000000000 +0000 *************** *** 5,11 **** * files which are fixed to work correctly with ANSI C and placed in a * directory that GNU C will search. * ! * This file contains 157 fixup descriptions. * * See README for more information. * --- 5,11 ---- * files which are fixed to work correctly with ANSI C and placed in a * directory that GNU C will search. * ! * This file contains 162 fixup descriptions. * * See README for more information. * *************** tSCC zAab_Svr4_Replace_ByteorderList[] = *** 342,355 **** /* * Machine/OS name selection pattern */ ! tSCC* apzAab_Svr4_Replace_ByteorderMachs[] = { ! "*-*-sysv4*", ! "i[34567]86-*-sysv5*", ! "i[34567]86-*-udk*", ! "i[34567]86-*-solaris2.[0-4]", ! "powerpcle-*-solaris2.[0-4]", ! "sparc-*-solaris2.[0-4]", ! (const char*)NULL }; #define AAB_SVR4_REPLACE_BYTEORDER_TEST_CT 0 #define aAab_Svr4_Replace_ByteorderTests (tTestDesc*)NULL --- 342,348 ---- /* * Machine/OS name selection pattern */ ! #define apzAab_Svr4_Replace_ByteorderMachs (const char**)NULL #define AAB_SVR4_REPLACE_BYTEORDER_TEST_CT 0 #define aAab_Svr4_Replace_ByteorderTests (tTestDesc*)NULL *************** static __inline__ unsigned long\n\ *** 393,401 **** htonl (unsigned long __arg)\n\ {\n\ register unsigned long __result;\n\n\ ! __asm__ (\"xchg%B0 %b0,%h0\n\ ! \tror%L0 $16,%0\n\ ! \txchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\ return __result;\n\ }\n\n\ /* Convert a host short to a network short. */\n\n\ --- 386,392 ---- htonl (unsigned long __arg)\n\ {\n\ register unsigned long __result;\n\n\ ! __asm__ (\"xchg%B0 %b0,%h0 ; ror%L0 $16,%0 ; xchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\ return __result;\n\ }\n\n\ /* Convert a host short to a network short. */\n\n\ *************** static const char* apzAlpha_ParensPatch[ *** 918,923 **** --- 909,954 ---- /* * * * * * * * * * * * * * * * * * * * * * * * * * * + * Description of Alpha_Pthread_Gcc fix + */ + tSCC zAlpha_Pthread_GccName[] = + "alpha_pthread_gcc"; + + /* + * File name selection pattern + */ + tSCC zAlpha_Pthread_GccList[] = + "|pthread.h|"; + /* + * Machine/OS name selection pattern + */ + tSCC* apzAlpha_Pthread_GccMachs[] = { + "alpha*-dec-osf*", + (const char*)NULL }; + + /* + * content selection pattern - do fix if pattern found + */ + tSCC zAlpha_Pthread_GccSelect0[] = + "#else\n\ + # error : unrecognized compiler."; + + #define ALPHA_PTHREAD_GCC_TEST_CT 1 + static tTestDesc aAlpha_Pthread_GccTests[] = { + { TT_EGREP, zAlpha_Pthread_GccSelect0, (regex_t*)NULL }, }; + + /* + * Fix Command Arguments for Alpha_Pthread_Gcc + */ + static const char* apzAlpha_Pthread_GccPatch[] = { + "format", + "#elif defined (__GNUC__)\n\ + # define _PTHREAD_ENV_GCC\n\ + %0", + (char*)NULL }; + + /* * * * * * * * * * * * * * * * * * * * * * * * * * + * * Description of Alpha_Sbrk fix */ tSCC zAlpha_SbrkName[] = *************** tSCC zIrix_Stdio_Va_ListList[] = *** 2731,2737 **** * content selection pattern - do fix if pattern found */ tSCC zIrix_Stdio_Va_ListSelect0[] = ! "(printf\\(.*), /\\* va_list \\*/ char \\*"; #define IRIX_STDIO_VA_LIST_TEST_CT 1 static tTestDesc aIrix_Stdio_Va_ListTests[] = { --- 2762,2768 ---- * content selection pattern - do fix if pattern found */ tSCC zIrix_Stdio_Va_ListSelect0[] = ! "/\\* va_list \\*/ char \\*"; #define IRIX_STDIO_VA_LIST_TEST_CT 1 static tTestDesc aIrix_Stdio_Va_ListTests[] = { *************** static tTestDesc aIrix_Stdio_Va_ListTest *** 2742,2748 **** */ static const char* apzIrix_Stdio_Va_ListPatch[] = { "format", ! "%1, __gnuc_va_list", (char*)NULL }; /* * * * * * * * * * * * * * * * * * * * * * * * * * --- 2773,2779 ---- */ static const char* apzIrix_Stdio_Va_ListPatch[] = { "format", ! "__gnuc_va_list", (char*)NULL }; /* * * * * * * * * * * * * * * * * * * * * * * * * * *************** static const char* apzRs6000_ParamPatch[ *** 4012,4017 **** --- 4043,4171 ---- /* * * * * * * * * * * * * * * * * * * * * * * * * * * + * Description of Sco_Math fix + */ + tSCC zSco_MathName[] = + "sco_math"; + + /* + * File name selection pattern + */ + tSCC zSco_MathList[] = + "|math.h|posix/math.h|ansi/math.h|xpg4/math.h|xpg4v2/math.h|xpg4plus/math.h|ods_30_compat/math.h|oldstyle/math.h|"; + /* + * Machine/OS name selection pattern + */ + #define apzSco_MathMachs (const char**)NULL + + /* + * content selection pattern - do fix if pattern found + */ + tSCC zSco_MathSelect0[] = + "__builtin_generic"; + + #define SCO_MATH_TEST_CT 1 + static tTestDesc aSco_MathTests[] = { + { TT_EGREP, zSco_MathSelect0, (regex_t*)NULL }, }; + + /* + * Fix Command Arguments for Sco_Math + */ + static const char* apzSco_MathPatch[] = { "sed", + "-e", "/#define.*__fp_class(a) \\\\/i\\\n\ + #ifndef __GNUC__\n", + "-e", "/.*__builtin_generic/a\\\n\ + #else\\\n\ + #define __fp_class(a) \\\\\\\n\ + __builtin_choose_expr(__builtin_types_compatible_p(typeof(a),long double),\\\\\\\n\ + __fpclassifyl(a), \\\\\\\n\ + __builtin_choose_expr(__builtin_types_compatible_p(typeof(a), float), \\\\\\\n\ + __fpclassifyf(a),__fpclassify(a)))\\\n\ + #endif", + "-e", "/extern \"C\\+\\+\"/N;/inline double abs/i\\\n\ + #ifndef __GNUC__\n", + "-e", "/inline long double trunc/N;/inline long double trunc.*}.*extern \"C\\+\\+\"/a\\\n\ + #endif /* ! __GNUC__ */", + (char*)NULL }; + + /* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Sco_Regset fix + */ + tSCC zSco_RegsetName[] = + "sco_regset"; + + /* + * File name selection pattern + */ + tSCC zSco_RegsetList[] = + "|sys/regset.h|"; + /* + * Machine/OS name selection pattern + */ + tSCC* apzSco_RegsetMachs[] = { + "*-*-sco3.2v5*", + (const char*)NULL }; + + /* + * content selection pattern - do fix if pattern found + */ + tSCC zSco_RegsetSelect0[] = + "(struct[ \t]+_*)fpstate"; + + #define SCO_REGSET_TEST_CT 1 + static tTestDesc aSco_RegsetTests[] = { + { TT_EGREP, zSco_RegsetSelect0, (regex_t*)NULL }, }; + + /* + * Fix Command Arguments for Sco_Regset + */ + static const char* apzSco_RegsetPatch[] = { + "format", + "%1rsfpstate", + (char*)NULL }; + + /* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Sco_String fix + */ + tSCC zSco_StringName[] = + "sco_string"; + + /* + * File name selection pattern + */ + tSCC zSco_StringList[] = + "|ansi/string.h|posix/string.h|xpg4/string.h|xpg4v2/string.h|xpg4plus/string.h|ods_30_compat/string.h|oldstyle/string.h|string.h|"; + /* + * Machine/OS name selection pattern + */ + tSCC* apzSco_StringMachs[] = { + "*-*-sco3.2v5*", + (const char*)NULL }; + + /* + * content selection pattern - do fix if pattern found + */ + tSCC zSco_StringSelect0[] = + "inline char"; + + #define SCO_STRING_TEST_CT 1 + static tTestDesc aSco_StringTests[] = { + { TT_EGREP, zSco_StringSelect0, (regex_t*)NULL }, }; + + /* + * Fix Command Arguments for Sco_String + */ + static const char* apzSco_StringPatch[] = { "sed", + "-e", "/extern \"C\\+\\+\"/N;/inline void.*memchr/i\\\n\ + #ifndef __GNUC__\n", + "-e", "/return.*strstr/N;/return.*strstr.*}/a\\\n\ + #endif /* ! __GNUC__ */", + (char*)NULL }; + + /* * * * * * * * * * * * * * * * * * * * * * * * * * + * * Description of Sco_Static_Func fix */ tSCC zSco_Static_FuncName[] = *************** tSCC zSolaris_WidecList[] = *** 4215,4221 **** * Machine/OS name selection pattern */ tSCC* apzSolaris_WidecMachs[] = { ! "*-*-solaris2.[0-5]*", (const char*)NULL }; /* --- 4369,4376 ---- * Machine/OS name selection pattern */ tSCC* apzSolaris_WidecMachs[] = { ! "*-*-solaris2.[0-5]", ! "*-*-solaris2.[0-5].*", (const char*)NULL }; /* *************** static tTestDesc aStdio_Va_ListTests[] = *** 4348,4354 **** static const char* apzStdio_Va_ListPatch[] = { "sed", "-e", "s@ va_list @ __gnuc_va_list @\n\ s@ va_list)@ __gnuc_va_list)@\n\ - s@va_list _ap;@__gnuc_va_list _ap;@\n\ s@(va_list)&@(__gnuc_va_list)\\&@\n\ s@ _VA_LIST_));@ __gnuc_va_list));@\n\ s@ __VA_LIST__));@ __gnuc_va_list));@\n\ --- 4503,4508 ---- *************** static const char* apzSvr4__PPatch[] = { *** 4906,4911 **** --- 5060,5099 ---- /* * * * * * * * * * * * * * * * * * * * * * * * * * * + * Description of Svr4_Disable_Opt fix + */ + tSCC zSvr4_Disable_OptName[] = + "svr4_disable_opt"; + + /* + * File name selection pattern + */ + tSCC zSvr4_Disable_OptList[] = + "|string.h|"; + /* + * Machine/OS name selection pattern + */ + #define apzSvr4_Disable_OptMachs (const char**)NULL + + /* + * content selection pattern - do fix if pattern found + */ + tSCC zSvr4_Disable_OptSelect0[] = + "#define.*__std_hdr_"; + + #define SVR4_DISABLE_OPT_TEST_CT 1 + static tTestDesc aSvr4_Disable_OptTests[] = { + { TT_EGREP, zSvr4_Disable_OptSelect0, (regex_t*)NULL }, }; + + /* + * Fix Command Arguments for Svr4_Disable_Opt + */ + static const char* apzSvr4_Disable_OptPatch[] = { "sed", + "-e", "/#define.*__std_hdr_/d", + (char*)NULL }; + + /* * * * * * * * * * * * * * * * * * * * * * * * * * + * * Description of Svr4_Getcwd fix */ tSCC zSvr4_GetcwdName[] = *************** static const char* apzX11_SprintfPatch[] *** 6186,6194 **** * * List of all fixes */ ! #define REGEX_COUNT 171 ! #define MACH_LIST_SIZE_LIMIT 279 ! #define FIX_COUNT 157 /* * Enumerate the fixes --- 6374,6382 ---- * * List of all fixes */ ! #define REGEX_COUNT 176 ! #define MACH_LIST_SIZE_LIMIT 261 ! #define FIX_COUNT 162 /* * Enumerate the fixes *************** typedef enum { *** 6214,6219 **** --- 6402,6408 ---- ALPHA_ASSERT_FIXIDX, ALPHA_GETOPT_FIXIDX, ALPHA_PARENS_FIXIDX, + ALPHA_PTHREAD_GCC_FIXIDX, ALPHA_SBRK_FIXIDX, ARM_NORCROFT_HINT_FIXIDX, ARM_WCHAR_FIXIDX, *************** typedef enum { *** 6294,6299 **** --- 6483,6491 ---- RS6000_DOUBLE_FIXIDX, RS6000_FCHMOD_FIXIDX, RS6000_PARAM_FIXIDX, + SCO_MATH_FIXIDX, + SCO_REGSET_FIXIDX, + SCO_STRING_FIXIDX, SCO_STATIC_FUNC_FIXIDX, SCO_UTIME_FIXIDX, SOLARIS_MUTEX_INIT_1_FIXIDX, *************** typedef enum { *** 6317,6322 **** --- 6509,6515 ---- SUNOS_MATHERR_DECL_FIXIDX, SUNOS_STRLEN_FIXIDX, SVR4__P_FIXIDX, + SVR4_DISABLE_OPT_FIXIDX, SVR4_GETCWD_FIXIDX, SVR4_PROFIL_FIXIDX, SYSV68_STRING_FIXIDX, *************** tFixDesc fixDescList[ FIX_COUNT ] = { *** 6454,6459 **** --- 6647,6657 ---- ALPHA_PARENS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aAlpha_ParensTests, apzAlpha_ParensPatch, 0 }, + { zAlpha_Pthread_GccName, zAlpha_Pthread_GccList, + apzAlpha_Pthread_GccMachs, + ALPHA_PTHREAD_GCC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aAlpha_Pthread_GccTests, apzAlpha_Pthread_GccPatch, 0 }, + { zAlpha_SbrkName, zAlpha_SbrkList, apzAlpha_SbrkMachs, ALPHA_SBRK_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, *************** tFixDesc fixDescList[ FIX_COUNT ] = { *** 6854,6859 **** --- 7052,7072 ---- RS6000_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aRs6000_ParamTests, apzRs6000_ParamPatch, 0 }, + { zSco_MathName, zSco_MathList, + apzSco_MathMachs, + SCO_MATH_TEST_CT, FD_MACH_ONLY, + aSco_MathTests, apzSco_MathPatch, 0 }, + + { zSco_RegsetName, zSco_RegsetList, + apzSco_RegsetMachs, + SCO_REGSET_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aSco_RegsetTests, apzSco_RegsetPatch, 0 }, + + { zSco_StringName, zSco_StringList, + apzSco_StringMachs, + SCO_STRING_TEST_CT, FD_MACH_ONLY, + aSco_StringTests, apzSco_StringPatch, 0 }, + { zSco_Static_FuncName, zSco_Static_FuncList, apzSco_Static_FuncMachs, SCO_STATIC_FUNC_TEST_CT, FD_MACH_ONLY, *************** tFixDesc fixDescList[ FIX_COUNT ] = { *** 6969,6974 **** --- 7182,7192 ---- SVR4__P_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aSvr4__PTests, apzSvr4__PPatch, 0 }, + { zSvr4_Disable_OptName, zSvr4_Disable_OptList, + apzSvr4_Disable_OptMachs, + SVR4_DISABLE_OPT_TEST_CT, FD_MACH_ONLY, + aSvr4_Disable_OptTests, apzSvr4_Disable_OptPatch, 0 }, + { zSvr4_GetcwdName, zSvr4_GetcwdList, apzSvr4_GetcwdMachs, SVR4_GETCWD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, diff -Nrc3pad gcc-3.3.1/gcc/fixinc/inclhack.def gcc-3.3.2/gcc/fixinc/inclhack.def *** gcc-3.3.1/gcc/fixinc/inclhack.def 2003-07-02 06:47:05.000000000 +0000 --- gcc-3.3.2/gcc/fixinc/inclhack.def 2003-10-14 11:42:40.000000000 +0000 *************** fix = { *** 297,315 **** /* * Completely replace ; with a file that implements gcc's ! * optimized byteswapping. Restricted to "SVR4" machines until either ! * it is shown to be safe to replace this file always, or we get bolder ;-) */ fix = { hackname = AAB_svr4_replace_byteorder; - #ifndef SVR5 - mach = "*-*-sysv4*"; - mach = "i[34567]86-*-sysv5*"; - mach = "i[34567]86-*-udk*"; - mach = "i[34567]86-*-solaris2.[0-4]"; - mach = "powerpcle-*-solaris2.[0-4]"; - mach = "sparc-*-solaris2.[0-4]"; - #endif /* SVR5 */ files = sys/byteorder.h; replace = '#ifndef _SYS_BYTEORDER_H \#define _SYS_BYTEORDER_H --- 297,306 ---- /* * Completely replace ; with a file that implements gcc's ! * optimized byteswapping. */ fix = { hackname = AAB_svr4_replace_byteorder; files = sys/byteorder.h; replace = '#ifndef _SYS_BYTEORDER_H \#define _SYS_BYTEORDER_H *************** htonl (unsigned long __arg) *** 360,368 **** { register unsigned long __result; ! __asm__ ("xchg%B0 %b0,%h0 ! ror%L0 $16,%0 ! xchg%B0 %b0,%h0" : "=q" (__result) : "0" (__arg)); return __result; } --- 351,358 ---- { register unsigned long __result; ! __asm__ ("xchg%B0 %b0,%h0 ; ror%L0 $16,%0 ; xchg%B0 %b0,%h0" \ ! : "=q" (__result) : "0" (__arg)); return __result; } *************** fix = { *** 656,661 **** --- 646,672 ---- /* + * Recognize GCC in Tru64 UNIX V5.1B . + */ + fix = { + hackname = alpha_pthread_gcc; + files = pthread.h; + select = "#else\n# error : unrecognized compiler."; + + mach = "alpha*-dec-osf*"; + c_fix = format; + c_fix_arg = "#elif defined (__GNUC__)\n" + "# define _PTHREAD_ENV_GCC\n" + "%0"; + + test_text = "# define _PTHREAD_ENV_INTELC\n" + "#else\n" + "# error : unrecognized compiler.\n" + "#endif"; + }; + + + /* * Fix return value of sbrk in unistd.h on Alpha OSF/1 V2.0 */ fix = { *************** fix = { *** 1575,1583 **** files = stdio.h; files = internal/stdio_core.h; ! select = '(printf\(.*), /\* va_list \*/ char \*'; c_fix = format; ! c_fix_arg = "%1, __gnuc_va_list"; test_text = "extern int printf( const char *, /* va_list */ char * );"; }; --- 1586,1594 ---- files = stdio.h; files = internal/stdio_core.h; ! select = '/\* va_list \*/ char \*'; c_fix = format; ! c_fix_arg = "__gnuc_va_list"; test_text = "extern int printf( const char *, /* va_list */ char * );"; }; *************** fix = { *** 2213,2218 **** --- 2224,2323 ---- /* + * On OpenServer and on UnixWare 7, uses the native compiler + * __builtin_generic. We fix that usage to use the GCC equivalent. + * It also has a plethora of inline functions that conflict with libstdc++. + */ + fix = { + hackname = sco_math; + files = math.h; + files = posix/math.h; + files = ansi/math.h; + files = xpg4/math.h; + files = xpg4v2/math.h; + files = xpg4plus/math.h; + files = ods_30_compat/math.h; + files = oldstyle/math.h; + select = "__builtin_generic"; + sed = "/#define.*__fp_class(a) \\\\/i\\\n" + "#ifndef __GNUC__\n"; + sed = + "/.*__builtin_generic/a\\\n" + "#else\\\n" + "#define __fp_class(a) \\\\\\\n" + " __builtin_choose_expr(__builtin_types_compatible_p(typeof(a),long double),\\\\\\\n" + " __fpclassifyl(a), \\\\\\\n" + " __builtin_choose_expr(__builtin_types_compatible_p(typeof(a), float), \\\\\\\n" + " __fpclassifyf(a),__fpclassify(a)))\\\n" + "#endif"; + + sed = "/extern \"C\\+\\+\"/N;" + "/inline double abs/i\\\n" + "#ifndef __GNUC__\n"; + sed = "/inline long double trunc/N;" + "/inline long double trunc.*}.*extern \"C\\+\\+\"/a\\\n" + "#endif /* ! __GNUC__ */"; + + test_text = + "#define __fp_class(a) \\\\\n" + " __builtin_generic(a,\"ld:__fplcassifyl;f:__fpclassifyf;:__fpclassify\")\n"; + + }; + + + /* + * On SCO OpenServer prior to 5.0.7MP1, and + * have a clash on struct _fpstate and struct fpstate. + */ + fix = { + hackname = sco_regset; + files = sys/regset.h; + mach = "*-*-sco3.2v5*"; + select = "(struct[ \t]+_*)fpstate"; + c_fix = format; + c_fix_arg = "%1rsfpstate"; + + test_text = + "union u_fps { struct\tfpstate { int whatever; } };\n" + "union _u_fps { struct _fpstate { int whatever; } };\n"; + }; + + + /* + * The string.h header file on SCO Open Server has some inline C++ functions + * that confuse and upset libstdc++ horribly. Protect them from being defined + * when using GCC. + */ + fix = { + hackname = sco_string; + files = ansi/string.h; + files = posix/string.h; + files = xpg4/string.h; + files = xpg4v2/string.h; + files = xpg4plus/string.h; + files = ods_30_compat/string.h; + files = oldstyle/string.h; + files = string.h; + mach = "*-*-sco3.2v5*"; + select = "inline char"; + sed = "/extern \"C\\+\\+\"/N;" + "/inline void.*memchr/i\\\n" + "#ifndef __GNUC__\n"; + sed = "/return.*strstr/N;" + "/return.*strstr.*}/a\\\n" + "#endif /* ! __GNUC__ */"; + + test_text = + "extern \"C++\" {\n" + "inline void *memchr(void *__1, int __2, size_t __3)\n" + " { return (void *)memchr((const void *)__1, __2, __3); }\n" + "inline char *strstr(char *__1, const char *__2)\n" + " { return (char *)strstr((const char *)__1, __2); }\n" + "}\n"; + }; + + + /* * The static functions lstat() and fchmod() in * cause G++ grief since they're not wrapped in "if __cplusplus". * *************** fix = { *** 2340,2346 **** fix = { hackname = solaris_widec; files = widec.h; ! mach = '*-*-solaris2.[0-5]*'; bypass = "include.*wchar\\.h"; select = "#include "; c_fix = format; --- 2445,2452 ---- fix = { hackname = solaris_widec; files = widec.h; ! mach = '*-*-solaris2.[0-5]'; ! mach = '*-*-solaris2.[0-5].*'; bypass = "include.*wchar\\.h"; select = "#include "; c_fix = format; *************** fix = { *** 2425,2431 **** */ sed = "s@ va_list @ __gnuc_va_list @\n" "s@ va_list)@ __gnuc_va_list)@\n" - "s@va_list _ap;@__gnuc_va_list _ap;@\n" "s@(va_list)&@(__gnuc_va_list)\\&@\n" "s@ _VA_LIST_));@ __gnuc_va_list));@\n" "s@ __VA_LIST__));@ __gnuc_va_list));@\n" --- 2531,2536 ---- *************** fix = { *** 2725,2738 **** * that is visible to any ANSI compiler using this include. Simply * delete the lines that #define some string functions to internal forms. */ - #ifdef SVR4 fix = { hackname = svr4_disable_opt; files = string.h; select = '#define.*__std_hdr_'; sed = '/#define.*__std_hdr_/d'; }; - #endif /* --- 2830,2842 ---- * that is visible to any ANSI compiler using this include. Simply * delete the lines that #define some string functions to internal forms. */ fix = { hackname = svr4_disable_opt; files = string.h; select = '#define.*__std_hdr_'; sed = '/#define.*__std_hdr_/d'; + test_text = "#define strlen __std_hdr_strlen\n"; }; /* diff -Nrc3pad gcc-3.3.1/gcc/fixinc/tests/base/ansi/string.h gcc-3.3.2/gcc/fixinc/tests/base/ansi/string.h *** gcc-3.3.1/gcc/fixinc/tests/base/ansi/string.h 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/fixinc/tests/base/ansi/string.h 2003-08-12 02:45:16.000000000 +0000 *************** *** 0 **** --- 1,22 ---- + /* DO NOT EDIT THIS FILE. + + It has been auto-edited by fixincludes from: + + "fixinc/tests/inc/ansi/string.h" + + This had to be done to correct non-standard usages in the + original, manufacturer supplied header file. */ + + + + #if defined( SCO_STRING_CHECK ) + #ifndef __GNUC__ + extern "C++" { + inline void *memchr(void *__1, int __2, size_t __3) + { return (void *)memchr((const void *)__1, __2, __3); } + inline char *strstr(char *__1, const char *__2) + { return (char *)strstr((const char *)__1, __2); } + } + #endif /* ! __GNUC__ */ + + #endif /* SCO_STRING_CHECK */ diff -Nrc3pad gcc-3.3.1/gcc/fixinc/tests/base/math.h gcc-3.3.2/gcc/fixinc/tests/base/math.h *** gcc-3.3.1/gcc/fixinc/tests/base/math.h 2003-03-01 20:41:38.000000000 +0000 --- gcc-3.3.2/gcc/fixinc/tests/base/math.h 2003-08-12 02:45:16.000000000 +0000 *************** extern int class(); *** 104,109 **** --- 104,124 ---- #endif /* RS6000_DOUBLE_CHECK */ + #if defined( SCO_MATH_CHECK ) + #ifndef __GNUC__ + #define __fp_class(a) \ + __builtin_generic(a,"ld:__fplcassifyl;f:__fpclassifyf;:__fpclassify") + #else + #define __fp_class(a) \ + __builtin_choose_expr(__builtin_types_compatible_p(typeof(a),long double),\ + __fpclassifyl(a), \ + __builtin_choose_expr(__builtin_types_compatible_p(typeof(a), float), \ + __fpclassifyf(a),__fpclassify(a))) + #endif + + #endif /* SCO_MATH_CHECK */ + + #if defined( STRICT_ANSI_NOT_CTD_CHECK ) #if 1 && \ && defined(mumbling) |& ( !defined(__STRICT_ANSI__)) \ diff -Nrc3pad gcc-3.3.1/gcc/fixinc/tests/base/pthread.h gcc-3.3.2/gcc/fixinc/tests/base/pthread.h *** gcc-3.3.1/gcc/fixinc/tests/base/pthread.h 2003-05-07 02:10:48.000000000 +0000 --- gcc-3.3.2/gcc/fixinc/tests/base/pthread.h 2003-10-14 11:42:40.000000000 +0000 *************** *** 15,20 **** --- 15,30 ---- #endif /* AIX_PTHREAD_CHECK */ + #if defined( ALPHA_PTHREAD_GCC_CHECK ) + # define _PTHREAD_ENV_INTELC + #elif defined (__GNUC__) + # define _PTHREAD_ENV_GCC + #else + # error : unrecognized compiler. + #endif + #endif /* ALPHA_PTHREAD_GCC_CHECK */ + + #if defined( PTHREAD_PAGE_SIZE_CHECK ) extern int __page_size; #endif /* PTHREAD_PAGE_SIZE_CHECK */ diff -Nrc3pad gcc-3.3.1/gcc/fixinc/tests/base/string.h gcc-3.3.2/gcc/fixinc/tests/base/string.h *** gcc-3.3.1/gcc/fixinc/tests/base/string.h 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/fixinc/tests/base/string.h 2003-08-09 06:51:11.000000000 +0000 *************** *** 0 **** --- 1,13 ---- + /* DO NOT EDIT THIS FILE. + + It has been auto-edited by fixincludes from: + + "fixinc/tests/inc/string.h" + + This had to be done to correct non-standard usages in the + original, manufacturer supplied header file. */ + + #ifndef _STRING_INCLUDED + #define _STRING_INCLUDED + #include + #endif /* _STRING_INCLUDED */ diff -Nrc3pad gcc-3.3.1/gcc/fixinc/tests/base/sys/byteorder.h gcc-3.3.2/gcc/fixinc/tests/base/sys/byteorder.h *** gcc-3.3.1/gcc/fixinc/tests/base/sys/byteorder.h 2000-07-19 14:18:31.000000000 +0000 --- gcc-3.3.2/gcc/fixinc/tests/base/sys/byteorder.h 2003-08-09 06:51:11.000000000 +0000 *************** htonl (unsigned long __arg) *** 56,64 **** { register unsigned long __result; ! __asm__ ("xchg%B0 %b0,%h0 ! ror%L0 $16,%0 ! xchg%B0 %b0,%h0" : "=q" (__result) : "0" (__arg)); return __result; } --- 56,62 ---- { register unsigned long __result; ! __asm__ ("xchg%B0 %b0,%h0 ; ror%L0 $16,%0 ; xchg%B0 %b0,%h0" : "=q" (__result) : "0" (__arg)); return __result; } diff -Nrc3pad gcc-3.3.1/gcc/fixinc/tests/base/sys/regset.h gcc-3.3.2/gcc/fixinc/tests/base/sys/regset.h *** gcc-3.3.1/gcc/fixinc/tests/base/sys/regset.h 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/fixinc/tests/base/sys/regset.h 2003-08-12 02:45:17.000000000 +0000 *************** *** 0 **** --- 1,16 ---- + /* DO NOT EDIT THIS FILE. + + It has been auto-edited by fixincludes from: + + "fixinc/tests/inc/sys/regset.h" + + This had to be done to correct non-standard usages in the + original, manufacturer supplied header file. */ + + + + #if defined( SCO_REGSET_CHECK ) + union u_fps { struct rsfpstate { int whatever; } }; + union _u_fps { struct _rsfpstate { int whatever; } }; + + #endif /* SCO_REGSET_CHECK */ diff -Nrc3pad gcc-3.3.1/gcc/function.c gcc-3.3.2/gcc/function.c *** gcc-3.3.1/gcc/function.c 2003-04-10 22:26:04.000000000 +0000 --- gcc-3.3.2/gcc/function.c 2003-10-11 21:01:36.000000000 +0000 *************** put_var_into_stack (decl, rescan) *** 1373,1380 **** if (function->decl == context) break; ! /* If this is a variable-size object with a pseudo to address it, ! put that pseudo into the stack, if the var is nonlocal. */ if (TREE_CODE (decl) != SAVE_EXPR && DECL_NONLOCAL (decl) && GET_CODE (reg) == MEM && GET_CODE (XEXP (reg, 0)) == REG --- 1373,1381 ---- if (function->decl == context) break; ! /* If this is a variable-sized object or a structure passed by invisible ! reference, with a pseudo to address it, put that pseudo into the stack ! if the var is non-local. */ if (TREE_CODE (decl) != SAVE_EXPR && DECL_NONLOCAL (decl) && GET_CODE (reg) == MEM && GET_CODE (XEXP (reg, 0)) == REG *************** put_var_into_stack (decl, rescan) *** 1384,1391 **** --- 1385,1396 ---- decl_mode = promoted_mode = GET_MODE (reg); } + /* If this variable lives in the current function and we don't need to put it + in the stack for the sake of setjmp or the non-locality, try to keep it in + a register until we know we actually need the address. */ can_use_addressof = (function == 0 + && ! (TREE_CODE (decl) != SAVE_EXPR && DECL_NONLOCAL (decl)) && optimize > 0 /* FIXME make it work for promoted modes too */ && decl_mode == promoted_mode *************** put_var_into_stack (decl, rescan) *** 1404,1412 **** if (GET_CODE (reg) == REG) { - /* If this variable lives in the current function and we don't need - to put things in the stack for the sake of setjmp, try to keep it - in a register until we know we actually need the address. */ if (can_use_addressof) gen_mem_addressof (reg, decl, rescan); else --- 1409,1414 ---- diff -Nrc3pad gcc-3.3.1/gcc/gcc.c gcc-3.3.2/gcc/gcc.c *** gcc-3.3.1/gcc/gcc.c 2003-05-07 06:02:07.000000000 +0000 --- gcc-3.3.2/gcc/gcc.c 2003-08-10 23:11:26.000000000 +0000 *************** init_spec () *** 1556,1561 **** --- 1556,1564 ---- #else "-lgcc_s%M" #endif + #ifdef USE_LIBUNWIND_EXCEPTIONS + " -lunwind" + #endif , "-lgcc", "-lgcc_eh"); diff -Nrc3pad gcc-3.3.1/gcc/gengtype-lex.c gcc-3.3.2/gcc/gengtype-lex.c *** gcc-3.3.1/gcc/gengtype-lex.c 2003-08-04 12:59:59.000000000 +0000 --- gcc-3.3.2/gcc/gengtype-lex.c 2003-10-16 20:12:49.000000000 +0000 *************** *** 1,4 **** ! #line 2 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/gengtype-lex.c" /* A lexical scanner generated by flex */ /* Scanner skeleton version: --- 1,4 ---- ! #line 2 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/gengtype-lex.c" /* A lexical scanner generated by flex */ /* Scanner skeleton version: *************** update_lineno (l, len) *** 1438,1444 **** #define YY_NO_UNPUT 1 #define YY_NEVER_INTERACTIVE 1 ! #line 1442 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/gengtype-lex.c" /* Macros after this point can all be overridden by user definitions in * section 1. --- 1438,1444 ---- #define YY_NO_UNPUT 1 #define YY_NEVER_INTERACTIVE 1 ! #line 1442 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/gengtype-lex.c" /* Macros after this point can all be overridden by user definitions in * section 1. *************** YY_DECL *** 1595,1601 **** #line 60 "gengtype-lex.l" ! #line 1599 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/gengtype-lex.c" if ( yy_init ) { --- 1595,1601 ---- #line 60 "gengtype-lex.l" ! #line 1599 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/gengtype-lex.c" if ( yy_init ) { *************** YY_RULE_SETUP *** 2129,2135 **** #line 304 "gengtype-lex.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK ! #line 2133 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/gengtype-lex.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(in_struct): case YY_STATE_EOF(in_struct_comment): --- 2129,2135 ---- #line 304 "gengtype-lex.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK ! #line 2133 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/gengtype-lex.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(in_struct): case YY_STATE_EOF(in_struct_comment): diff -Nrc3pad gcc-3.3.1/gcc/intl/ChangeLog gcc-3.3.2/gcc/intl/ChangeLog *** gcc-3.3.1/gcc/intl/ChangeLog 2003-08-04 12:48:52.000000000 +0000 --- gcc-3.3.2/gcc/intl/ChangeLog 2003-10-16 19:43:53.000000000 +0000 *************** *** 1,3 **** --- 1,7 ---- + 2003-10-16 Release Manager + + * GCC 3.3.2 Released. + 2003-08-04 Release Manager * GCC 3.3.1 Released. diff -Nrc3pad gcc-3.3.1/gcc/java/ChangeLog gcc-3.3.2/gcc/java/ChangeLog *** gcc-3.3.1/gcc/java/ChangeLog 2003-08-04 12:49:03.000000000 +0000 --- gcc-3.3.2/gcc/java/ChangeLog 2003-10-16 19:44:05.000000000 +0000 *************** *** 1,3 **** --- 1,7 ---- + 2003-10-16 Release Manager + + * GCC 3.3.2 Released. + 2003-08-04 Release Manager * GCC 3.3.1 Released. diff -Nrc3pad gcc-3.3.1/gcc/java/gcj.1 gcc-3.3.2/gcc/java/gcj.1 *** gcc-3.3.1/gcc/java/gcj.1 2003-08-04 13:10:52.000000000 +0000 --- gcc-3.3.2/gcc/java/gcj.1 2003-10-16 20:24:23.000000000 +0000 *************** *** 129,135 **** .\" ======================================================================== .\" .IX Title "GCJ 1" ! .TH GCJ 1 "2003-08-04" "gcc-3.3.1" "GNU" .SH "NAME" gcj \- Ahead\-of\-time compiler for the Java language .SH "SYNOPSIS" --- 129,135 ---- .\" ======================================================================== .\" .IX Title "GCJ 1" ! .TH GCJ 1 "2003-10-16" "gcc-3.3.2" "GNU" .SH "NAME" gcj \- Ahead\-of\-time compiler for the Java language .SH "SYNOPSIS" diff -Nrc3pad gcc-3.3.1/gcc/java/gcjh.1 gcc-3.3.2/gcc/java/gcjh.1 *** gcc-3.3.1/gcc/java/gcjh.1 2003-08-04 13:10:53.000000000 +0000 --- gcc-3.3.2/gcc/java/gcjh.1 2003-10-16 20:24:23.000000000 +0000 *************** *** 129,135 **** .\" ======================================================================== .\" .IX Title "GCJH 1" ! .TH GCJH 1 "2003-08-04" "gcc-3.3.1" "GNU" .SH "NAME" gcjh \- generate header files from Java class files .SH "SYNOPSIS" --- 129,135 ---- .\" ======================================================================== .\" .IX Title "GCJH 1" ! .TH GCJH 1 "2003-10-16" "gcc-3.3.2" "GNU" .SH "NAME" gcjh \- generate header files from Java class files .SH "SYNOPSIS" diff -Nrc3pad gcc-3.3.1/gcc/java/gij.1 gcc-3.3.2/gcc/java/gij.1 *** gcc-3.3.1/gcc/java/gij.1 2003-08-04 13:10:55.000000000 +0000 --- gcc-3.3.2/gcc/java/gij.1 2003-10-16 20:24:25.000000000 +0000 *************** *** 129,135 **** .\" ======================================================================== .\" .IX Title "GIJ 1" ! .TH GIJ 1 "2003-08-04" "gcc-3.3.1" "GNU" .SH "NAME" gij \- GNU interpreter for Java bytecode .SH "SYNOPSIS" --- 129,135 ---- .\" ======================================================================== .\" .IX Title "GIJ 1" ! .TH GIJ 1 "2003-10-16" "gcc-3.3.2" "GNU" .SH "NAME" gij \- GNU interpreter for Java bytecode .SH "SYNOPSIS" diff -Nrc3pad gcc-3.3.1/gcc/java/jcf-dump.1 gcc-3.3.2/gcc/java/jcf-dump.1 *** gcc-3.3.1/gcc/java/jcf-dump.1 2003-08-04 13:10:54.000000000 +0000 --- gcc-3.3.2/gcc/java/jcf-dump.1 2003-10-16 20:24:25.000000000 +0000 *************** *** 129,135 **** .\" ======================================================================== .\" .IX Title "JCF-DUMP 1" ! .TH JCF-DUMP 1 "2003-08-04" "gcc-3.3.1" "GNU" .SH "NAME" jcf\-dump \- print information about Java class files .SH "SYNOPSIS" --- 129,135 ---- .\" ======================================================================== .\" .IX Title "JCF-DUMP 1" ! .TH JCF-DUMP 1 "2003-10-16" "gcc-3.3.2" "GNU" .SH "NAME" jcf\-dump \- print information about Java class files .SH "SYNOPSIS" diff -Nrc3pad gcc-3.3.1/gcc/java/jv-convert.1 gcc-3.3.2/gcc/java/jv-convert.1 *** gcc-3.3.1/gcc/java/jv-convert.1 2003-08-04 13:10:55.000000000 +0000 --- gcc-3.3.2/gcc/java/jv-convert.1 2003-10-16 20:24:26.000000000 +0000 *************** *** 129,135 **** .\" ======================================================================== .\" .IX Title "JV-CONVERT 1" ! .TH JV-CONVERT 1 "2003-08-04" "gcc-3.3.1" "GNU" .SH "NAME" jv\-convert \- Convert file from one encoding to another .SH "SYNOPSIS" --- 129,135 ---- .\" ======================================================================== .\" .IX Title "JV-CONVERT 1" ! .TH JV-CONVERT 1 "2003-10-16" "gcc-3.3.2" "GNU" .SH "NAME" jv\-convert \- Convert file from one encoding to another .SH "SYNOPSIS" diff -Nrc3pad gcc-3.3.1/gcc/java/jv-scan.1 gcc-3.3.2/gcc/java/jv-scan.1 *** gcc-3.3.1/gcc/java/jv-scan.1 2003-08-04 13:10:53.000000000 +0000 --- gcc-3.3.2/gcc/java/jv-scan.1 2003-10-16 20:24:24.000000000 +0000 *************** *** 129,135 **** .\" ======================================================================== .\" .IX Title "JV-SCAN 1" ! .TH JV-SCAN 1 "2003-08-04" "gcc-3.3.1" "GNU" .SH "NAME" jv\-scan \- print information about Java source file .SH "SYNOPSIS" --- 129,135 ---- .\" ======================================================================== .\" .IX Title "JV-SCAN 1" ! .TH JV-SCAN 1 "2003-10-16" "gcc-3.3.2" "GNU" .SH "NAME" jv\-scan \- print information about Java source file .SH "SYNOPSIS" diff -Nrc3pad gcc-3.3.1/gcc/java/parse.c gcc-3.3.2/gcc/java/parse.c *** gcc-3.3.1/gcc/java/parse.c 2003-08-04 13:36:49.000000000 +0000 --- gcc-3.3.2/gcc/java/parse.c 2003-10-16 20:51:31.000000000 +0000 *************** *** 1,4 **** ! /* A Bison parser, made from /home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y by GNU bison 1.35. */ #define YYBISON 1 /* Identify Bison output. */ --- 1,4 ---- ! /* A Bison parser, made from /home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y by GNU bison 1.35. */ #define YYBISON 1 /* Identify Bison output. */ *************** *** 120,126 **** # define BOOL_LIT_TK 364 # define NULL_TK 365 ! #line 48 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" #include "config.h" #include "system.h" --- 120,126 ---- # define BOOL_LIT_TK 364 # define NULL_TK 365 ! #line 48 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" #include "config.h" #include "system.h" *************** static GTY(()) tree src_parse_roots[1]; *** 516,522 **** } while (0) ! #line 444 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" #ifndef YYSTYPE typedef union { tree node; --- 516,522 ---- } while (0) ! #line 444 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" #ifndef YYSTYPE typedef union { tree node; *************** typedef union { *** 530,536 **** # define YYSTYPE yystype # define YYSTYPE_IS_TRIVIAL 1 #endif ! #line 454 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" #include "lex.c" #ifndef YYDEBUG --- 530,536 ---- # define YYSTYPE yystype # define YYSTYPE_IS_TRIVIAL 1 #endif ! #line 454 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" #include "lex.c" #ifndef YYDEBUG *************** yyreduce: *** 3164,3170 **** switch (yyn) { case 1: ! #line 606 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { /* Register static variables with the garbage collector. */ --- 3164,3170 ---- switch (yyn) { case 1: ! #line 606 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { /* Register static variables with the garbage collector. */ *************** case 1: *** 3177,3187 **** ; break;} case 2: ! #line 617 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {; break;} case 19: ! #line 661 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { int osb = pop_current_osb (ctxp); tree t = build_java_array_type ((yyvsp[-1].node), -1); --- 3177,3187 ---- ; break;} case 2: ! #line 617 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {; break;} case 19: ! #line 661 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { int osb = pop_current_osb (ctxp); tree t = build_java_array_type ((yyvsp[-1].node), -1); *************** case 19: *** 3191,3197 **** ; break;} case 20: ! #line 669 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { int osb = pop_current_osb (ctxp); tree t = yyvsp[-1].node; --- 3191,3197 ---- ; break;} case 20: ! #line 669 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { int osb = pop_current_osb (ctxp); tree t = yyvsp[-1].node; *************** case 20: *** 3201,3242 **** ; break;} case 24: ! #line 690 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = make_qualified_name (yyvsp[-2].node, yyvsp[0].node, yyvsp[-1].operator.location); ; break;} case 26: ! #line 699 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyval.node = NULL;; break;} case 34: ! #line 711 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = NULL; ; break;} case 35: ! #line 715 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = NULL; ; break;} case 38: ! #line 727 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { ctxp->package = EXPR_WFL_NODE (yyvsp[-1].node); register_package (ctxp->package); ; break;} case 39: ! #line 732 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing name"); RECOVER;; break;} case 40: ! #line 734 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;; break;} case 43: ! #line 744 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { tree name = EXPR_WFL_NODE (yyvsp[-1].node), last_name; int i = IDENTIFIER_LENGTH (name)-1; --- 3201,3242 ---- ; break;} case 24: ! #line 690 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = make_qualified_name (yyvsp[-2].node, yyvsp[0].node, yyvsp[-1].operator.location); ; break;} case 26: ! #line 699 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyval.node = NULL;; break;} case 34: ! #line 711 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = NULL; ; break;} case 35: ! #line 715 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = NULL; ; break;} case 38: ! #line 727 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { ctxp->package = EXPR_WFL_NODE (yyvsp[-1].node); register_package (ctxp->package); ; break;} case 39: ! #line 732 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing name"); RECOVER;; break;} case 40: ! #line 734 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;; break;} case 43: ! #line 744 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { tree name = EXPR_WFL_NODE (yyvsp[-1].node), last_name; int i = IDENTIFIER_LENGTH (name)-1; *************** case 43: *** 3264,3278 **** ; break;} case 44: ! #line 770 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing name"); RECOVER;; break;} case 45: ! #line 772 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;; break;} case 46: ! #line 777 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { tree name = EXPR_WFL_NODE (yyvsp[-3].node); tree it; --- 3264,3278 ---- ; break;} case 44: ! #line 770 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing name"); RECOVER;; break;} case 45: ! #line 772 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;; break;} case 46: ! #line 777 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { tree name = EXPR_WFL_NODE (yyvsp[-3].node); tree it; *************** case 46: *** 3292,3327 **** ; break;} case 47: ! #line 795 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("'*' expected"); RECOVER;; break;} case 48: ! #line 797 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;; break;} case 49: ! #line 802 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { end_class_declaration (0); ; break;} case 50: ! #line 804 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { end_class_declaration (0); ; break;} case 52: ! #line 807 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { YYERROR_NOW; yyerror ("Class or interface declaration expected"); ; break;} case 53: ! #line 818 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.value = (1 << yyvsp[0].value); ; break;} case 54: ! #line 822 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { int acc = (1 << yyvsp[0].value); if (yyval.value & acc) --- 3292,3327 ---- ; break;} case 47: ! #line 795 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("'*' expected"); RECOVER;; break;} case 48: ! #line 797 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;; break;} case 49: ! #line 802 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { end_class_declaration (0); ; break;} case 50: ! #line 804 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { end_class_declaration (0); ; break;} case 52: ! #line 807 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { YYERROR_NOW; yyerror ("Class or interface declaration expected"); ; break;} case 53: ! #line 818 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.value = (1 << yyvsp[0].value); ; break;} case 54: ! #line 822 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { int acc = (1 << yyvsp[0].value); if (yyval.value & acc) *************** case 54: *** 3335,3425 **** ; break;} case 55: ! #line 838 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { create_class (yyvsp[-4].value, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ; break;} case 56: ! #line 840 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {;; break;} case 57: ! #line 842 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { create_class (0, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ; break;} case 58: ! #line 844 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {;; break;} case 59: ! #line 846 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyerror ("Missing class name"); RECOVER; ; break;} case 60: ! #line 848 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyerror ("Missing class name"); RECOVER; ; break;} case 61: ! #line 850 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { if (!ctxp->class_err) yyerror ("'{' expected"); DRECOVER(class1); ; break;} case 62: ! #line 855 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { if (!ctxp->class_err) yyerror ("'{' expected"); RECOVER; ; break;} case 63: ! #line 859 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = NULL; ; break;} case 64: ! #line 861 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = yyvsp[0].node; ; break;} case 65: ! #line 863 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("'{' expected"); ctxp->class_err=1;; break;} case 66: ! #line 865 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing super class name"); ctxp->class_err=1;; break;} case 67: ! #line 869 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = NULL_TREE; ; break;} case 68: ! #line 871 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = yyvsp[0].node; ; break;} case 69: ! #line 873 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { ctxp->class_err=1; yyerror ("Missing interface name"); ; break;} case 70: ! #line 881 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { ctxp->interface_number = 1; yyval.node = build_tree_list (yyvsp[0].node, NULL_TREE); ; break;} case 71: ! #line 886 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { ctxp->interface_number++; yyval.node = chainon (yyvsp[-2].node, build_tree_list (yyvsp[0].node, NULL_TREE)); ; break;} case 72: ! #line 891 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing interface name"); RECOVER;; break;} case 73: ! #line 896 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { /* Store the location of the `}' when doing xrefs */ if (flag_emit_xref) --- 3335,3425 ---- ; break;} case 55: ! #line 838 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { create_class (yyvsp[-4].value, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ; break;} case 56: ! #line 840 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {;; break;} case 57: ! #line 842 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { create_class (0, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ; break;} case 58: ! #line 844 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {;; break;} case 59: ! #line 846 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyerror ("Missing class name"); RECOVER; ; break;} case 60: ! #line 848 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyerror ("Missing class name"); RECOVER; ; break;} case 61: ! #line 850 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { if (!ctxp->class_err) yyerror ("'{' expected"); DRECOVER(class1); ; break;} case 62: ! #line 855 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { if (!ctxp->class_err) yyerror ("'{' expected"); RECOVER; ; break;} case 63: ! #line 859 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = NULL; ; break;} case 64: ! #line 861 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = yyvsp[0].node; ; break;} case 65: ! #line 863 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("'{' expected"); ctxp->class_err=1;; break;} case 66: ! #line 865 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing super class name"); ctxp->class_err=1;; break;} case 67: ! #line 869 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = NULL_TREE; ; break;} case 68: ! #line 871 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = yyvsp[0].node; ; break;} case 69: ! #line 873 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { ctxp->class_err=1; yyerror ("Missing interface name"); ; break;} case 70: ! #line 881 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { ctxp->interface_number = 1; yyval.node = build_tree_list (yyvsp[0].node, NULL_TREE); ; break;} case 71: ! #line 886 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { ctxp->interface_number++; yyval.node = chainon (yyvsp[-2].node, build_tree_list (yyvsp[0].node, NULL_TREE)); ; break;} case 72: ! #line 891 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing interface name"); RECOVER;; break;} case 73: ! #line 896 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { /* Store the location of the `}' when doing xrefs */ if (flag_emit_xref) *************** case 73: *** 3429,3435 **** ; break;} case 74: ! #line 904 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { /* Store the location of the `}' when doing xrefs */ if (flag_emit_xref) --- 3429,3435 ---- ; break;} case 74: ! #line 904 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { /* Store the location of the `}' when doing xrefs */ if (flag_emit_xref) *************** case 74: *** 3439,3445 **** ; break;} case 80: ! #line 923 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { if (yyvsp[0].node != empty_stmt_node) { --- 3439,3445 ---- ; break;} case 80: ! #line 923 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { if (yyvsp[0].node != empty_stmt_node) { *************** case 80: *** 3449,3467 **** ; break;} case 83: ! #line 936 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { end_class_declaration (1); ; break;} case 84: ! #line 938 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { end_class_declaration (1); ; break;} case 86: ! #line 945 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { register_fields (0, yyvsp[-2].node, yyvsp[-1].node); ; break;} case 87: ! #line 947 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { check_modifiers ("Illegal modifier `%s' for field declaration", --- 3449,3467 ---- ; break;} case 83: ! #line 936 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { end_class_declaration (1); ; break;} case 84: ! #line 938 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { end_class_declaration (1); ; break;} case 86: ! #line 945 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { register_fields (0, yyvsp[-2].node, yyvsp[-1].node); ; break;} case 87: ! #line 947 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { check_modifiers ("Illegal modifier `%s' for field declaration", *************** case 87: *** 3471,3489 **** ; break;} case 89: ! #line 960 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = chainon (yyvsp[-2].node, yyvsp[0].node); ; break;} case 90: ! #line 962 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 91: ! #line 967 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_tree_list (yyvsp[0].node, NULL_TREE); ; break;} case 92: ! #line 969 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { if (java_error_count) yyvsp[0].node = NULL_TREE; --- 3471,3489 ---- ; break;} case 89: ! #line 960 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = chainon (yyvsp[-2].node, yyvsp[0].node); ; break;} case 90: ! #line 962 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 91: ! #line 967 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_tree_list (yyvsp[0].node, NULL_TREE); ; break;} case 92: ! #line 969 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { if (java_error_count) yyvsp[0].node = NULL_TREE; *************** case 92: *** 3492,3498 **** ; break;} case 93: ! #line 976 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyerror ("Missing variable initializer"); yyval.node = build_tree_list (yyvsp[-2].node, NULL_TREE); --- 3492,3498 ---- ; break;} case 93: ! #line 976 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyerror ("Missing variable initializer"); yyval.node = build_tree_list (yyvsp[-2].node, NULL_TREE); *************** case 93: *** 3500,3506 **** ; break;} case 94: ! #line 982 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyerror ("';' expected"); yyval.node = build_tree_list (yyvsp[-3].node, NULL_TREE); --- 3500,3506 ---- ; break;} case 94: ! #line 982 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyerror ("';' expected"); yyval.node = build_tree_list (yyvsp[-3].node, NULL_TREE); *************** case 94: *** 3508,3533 **** ; break;} case 96: ! #line 992 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_unresolved_array_type (yyvsp[-2].node); ; break;} case 97: ! #line 994 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Invalid declaration"); DRECOVER(vdi);; break;} case 98: ! #line 996 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyerror ("']' expected"); DRECOVER(vdi); ; break;} case 99: ! #line 1001 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Unbalanced ']'"); DRECOVER(vdi);; break;} case 102: ! #line 1012 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { current_function_decl = yyvsp[0].node; if (current_function_decl --- 3508,3533 ---- ; break;} case 96: ! #line 992 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_unresolved_array_type (yyvsp[-2].node); ; break;} case 97: ! #line 994 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Invalid declaration"); DRECOVER(vdi);; break;} case 98: ! #line 996 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyerror ("']' expected"); DRECOVER(vdi); ; break;} case 99: ! #line 1001 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Unbalanced ']'"); DRECOVER(vdi);; break;} case 102: ! #line 1012 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { current_function_decl = yyvsp[0].node; if (current_function_decl *************** case 102: *** 3538,3614 **** ; break;} case 103: ! #line 1021 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { finish_method_declaration (yyvsp[0].node); ; break;} case 104: ! #line 1023 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {YYNOT_TWICE yyerror ("'{' expected"); RECOVER;; break;} case 105: ! #line 1028 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = method_header (0, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ; break;} case 106: ! #line 1030 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = method_header (0, void_type_node, yyvsp[-1].node, yyvsp[0].node); ; break;} case 107: ! #line 1032 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = method_header (yyvsp[-3].value, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ; break;} case 108: ! #line 1034 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = method_header (yyvsp[-3].value, void_type_node, yyvsp[-1].node, yyvsp[0].node); ; break;} case 109: ! #line 1036 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyerror ("Invalid method declaration, method name required"); RECOVER; ; break;} case 110: ! #line 1041 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyerror ("Identifier expected"); RECOVER; ; break;} case 111: ! #line 1046 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyerror ("Identifier expected"); RECOVER; ; break;} case 112: ! #line 1051 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyerror ("Identifier expected"); RECOVER; ; break;} case 113: ! #line 1056 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyerror ("Invalid method declaration, return type required"); RECOVER; ; break;} case 114: ! #line 1064 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { ctxp->formal_parameter_number = 0; yyval.node = method_declarator (yyvsp[-2].node, NULL_TREE); ; break;} case 115: ! #line 1069 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = method_declarator (yyvsp[-3].node, yyvsp[-1].node); ; break;} case 116: ! #line 1071 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { EXPR_WFL_LINECOL (wfl_operator) = yyvsp[-1].operator.location; TREE_PURPOSE (yyvsp[-2].node) = --- 3538,3614 ---- ; break;} case 103: ! #line 1021 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { finish_method_declaration (yyvsp[0].node); ; break;} case 104: ! #line 1023 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {YYNOT_TWICE yyerror ("'{' expected"); RECOVER;; break;} case 105: ! #line 1028 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = method_header (0, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ; break;} case 106: ! #line 1030 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = method_header (0, void_type_node, yyvsp[-1].node, yyvsp[0].node); ; break;} case 107: ! #line 1032 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = method_header (yyvsp[-3].value, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ; break;} case 108: ! #line 1034 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = method_header (yyvsp[-3].value, void_type_node, yyvsp[-1].node, yyvsp[0].node); ; break;} case 109: ! #line 1036 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyerror ("Invalid method declaration, method name required"); RECOVER; ; break;} case 110: ! #line 1041 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyerror ("Identifier expected"); RECOVER; ; break;} case 111: ! #line 1046 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyerror ("Identifier expected"); RECOVER; ; break;} case 112: ! #line 1051 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyerror ("Identifier expected"); RECOVER; ; break;} case 113: ! #line 1056 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyerror ("Invalid method declaration, return type required"); RECOVER; ; break;} case 114: ! #line 1064 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { ctxp->formal_parameter_number = 0; yyval.node = method_declarator (yyvsp[-2].node, NULL_TREE); ; break;} case 115: ! #line 1069 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = method_declarator (yyvsp[-3].node, yyvsp[-1].node); ; break;} case 116: ! #line 1071 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { EXPR_WFL_LINECOL (wfl_operator) = yyvsp[-1].operator.location; TREE_PURPOSE (yyvsp[-2].node) = *************** case 116: *** 3619,3677 **** ; break;} case 117: ! #line 1080 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("')' expected"); DRECOVER(method_declarator);; break;} case 118: ! #line 1082 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("']' expected"); RECOVER;; break;} case 119: ! #line 1087 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { ctxp->formal_parameter_number = 1; ; break;} case 120: ! #line 1091 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { ctxp->formal_parameter_number += 1; yyval.node = chainon (yyvsp[-2].node, yyvsp[0].node); ; break;} case 121: ! #line 1096 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyerror ("Missing formal parameter term"); RECOVER; ; break;} case 122: ! #line 1101 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_tree_list (yyvsp[0].node, yyvsp[-1].node); ; break;} case 123: ! #line 1105 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_tree_list (yyvsp[0].node, yyvsp[-1].node); ARG_FINAL_P (yyval.node) = 1; ; break;} case 124: ! #line 1110 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyerror ("Missing identifier"); RECOVER; yyval.node = NULL_TREE; ; break;} case 125: ! #line 1115 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyerror ("Missing identifier"); RECOVER; yyval.node = NULL_TREE; ; break;} case 126: ! #line 1123 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { check_modifiers ("Illegal modifier `%s'. Only `final' was expected here", yyvsp[0].value, ACC_FINAL); --- 3619,3677 ---- ; break;} case 117: ! #line 1080 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("')' expected"); DRECOVER(method_declarator);; break;} case 118: ! #line 1082 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("']' expected"); RECOVER;; break;} case 119: ! #line 1087 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { ctxp->formal_parameter_number = 1; ; break;} case 120: ! #line 1091 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { ctxp->formal_parameter_number += 1; yyval.node = chainon (yyvsp[-2].node, yyvsp[0].node); ; break;} case 121: ! #line 1096 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyerror ("Missing formal parameter term"); RECOVER; ; break;} case 122: ! #line 1101 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_tree_list (yyvsp[0].node, yyvsp[-1].node); ; break;} case 123: ! #line 1105 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_tree_list (yyvsp[0].node, yyvsp[-1].node); ARG_FINAL_P (yyval.node) = 1; ; break;} case 124: ! #line 1110 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyerror ("Missing identifier"); RECOVER; yyval.node = NULL_TREE; ; break;} case 125: ! #line 1115 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyerror ("Missing identifier"); RECOVER; yyval.node = NULL_TREE; ; break;} case 126: ! #line 1123 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { check_modifiers ("Illegal modifier `%s'. Only `final' was expected here", yyvsp[0].value, ACC_FINAL); *************** case 126: *** 3680,3714 **** ; break;} case 127: ! #line 1132 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = NULL_TREE; ; break;} case 128: ! #line 1134 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = yyvsp[0].node; ; break;} case 129: ! #line 1136 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing class type term"); RECOVER;; break;} case 130: ! #line 1141 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_tree_list (yyvsp[0].node, yyvsp[0].node); ; break;} case 131: ! #line 1143 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = tree_cons (yyvsp[0].node, yyvsp[0].node, yyvsp[-2].node); ; break;} case 132: ! #line 1145 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing class type term"); RECOVER;; break;} case 134: ! #line 1150 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = NULL_TREE; ; break;} case 135: ! #line 1156 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { TREE_CHAIN (yyvsp[0].node) = CPC_STATIC_INITIALIZER_STMT (ctxp); SET_CPC_STATIC_INITIALIZER_STMT (ctxp, yyvsp[0].node); --- 3680,3714 ---- ; break;} case 127: ! #line 1132 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = NULL_TREE; ; break;} case 128: ! #line 1134 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = yyvsp[0].node; ; break;} case 129: ! #line 1136 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing class type term"); RECOVER;; break;} case 130: ! #line 1141 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_tree_list (yyvsp[0].node, yyvsp[0].node); ; break;} case 131: ! #line 1143 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = tree_cons (yyvsp[0].node, yyvsp[0].node, yyvsp[-2].node); ; break;} case 132: ! #line 1145 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing class type term"); RECOVER;; break;} case 134: ! #line 1150 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = NULL_TREE; ; break;} case 135: ! #line 1156 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { TREE_CHAIN (yyvsp[0].node) = CPC_STATIC_INITIALIZER_STMT (ctxp); SET_CPC_STATIC_INITIALIZER_STMT (ctxp, yyvsp[0].node); *************** case 135: *** 3716,3722 **** ; break;} case 136: ! #line 1165 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { check_modifiers ("Illegal modifier `%s' for static initializer", yyvsp[0].value, ACC_STATIC); /* Can't have a static initializer in an innerclass */ --- 3716,3722 ---- ; break;} case 136: ! #line 1165 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { check_modifiers ("Illegal modifier `%s' for static initializer", yyvsp[0].value, ACC_STATIC); /* Can't have a static initializer in an innerclass */ *************** case 136: *** 3730,3785 **** ; break;} case 137: ! #line 1181 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { current_function_decl = yyvsp[0].node; source_start_java_method (current_function_decl); ; break;} case 138: ! #line 1186 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { finish_method_declaration (yyvsp[0].node); ; break;} case 139: ! #line 1191 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = method_header (0, NULL_TREE, yyvsp[-1].node, yyvsp[0].node); ; break;} case 140: ! #line 1193 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = method_header (yyvsp[-2].value, NULL_TREE, yyvsp[-1].node, yyvsp[0].node); ; break;} case 141: ! #line 1198 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { ctxp->formal_parameter_number = 0; yyval.node = method_declarator (yyvsp[-2].node, NULL_TREE); ; break;} case 142: ! #line 1203 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = method_declarator (yyvsp[-3].node, yyvsp[-1].node); ; break;} case 143: ! #line 1211 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { BLOCK_EXPR_BODY (yyvsp[0].node) = empty_stmt_node; yyval.node = yyvsp[0].node; ; break;} case 144: ! #line 1216 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = yyvsp[0].node; ; break;} case 145: ! #line 1218 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = yyvsp[0].node; ; break;} case 146: ! #line 1220 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = yyvsp[0].node; ; break;} case 148: ! #line 1230 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_method_invocation (yyvsp[-3].node, NULL_TREE); yyval.node = build_debugable_stmt (EXPR_WFL_LINECOL (yyvsp[-3].node), yyval.node); --- 3730,3785 ---- ; break;} case 137: ! #line 1181 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { current_function_decl = yyvsp[0].node; source_start_java_method (current_function_decl); ; break;} case 138: ! #line 1186 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { finish_method_declaration (yyvsp[0].node); ; break;} case 139: ! #line 1191 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = method_header (0, NULL_TREE, yyvsp[-1].node, yyvsp[0].node); ; break;} case 140: ! #line 1193 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = method_header (yyvsp[-2].value, NULL_TREE, yyvsp[-1].node, yyvsp[0].node); ; break;} case 141: ! #line 1198 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { ctxp->formal_parameter_number = 0; yyval.node = method_declarator (yyvsp[-2].node, NULL_TREE); ; break;} case 142: ! #line 1203 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = method_declarator (yyvsp[-3].node, yyvsp[-1].node); ; break;} case 143: ! #line 1211 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { BLOCK_EXPR_BODY (yyvsp[0].node) = empty_stmt_node; yyval.node = yyvsp[0].node; ; break;} case 144: ! #line 1216 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = yyvsp[0].node; ; break;} case 145: ! #line 1218 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = yyvsp[0].node; ; break;} case 146: ! #line 1220 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = yyvsp[0].node; ; break;} case 148: ! #line 1230 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_method_invocation (yyvsp[-3].node, NULL_TREE); yyval.node = build_debugable_stmt (EXPR_WFL_LINECOL (yyvsp[-3].node), yyval.node); *************** case 148: *** 3787,3793 **** ; break;} case 149: ! #line 1236 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_method_invocation (yyvsp[-4].node, yyvsp[-2].node); yyval.node = build_debugable_stmt (EXPR_WFL_LINECOL (yyvsp[-4].node), yyval.node); --- 3787,3793 ---- ; break;} case 149: ! #line 1236 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_method_invocation (yyvsp[-4].node, yyvsp[-2].node); yyval.node = build_debugable_stmt (EXPR_WFL_LINECOL (yyvsp[-4].node), yyval.node); *************** case 149: *** 3795,3809 **** ; break;} case 150: ! #line 1244 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyval.node = parse_jdk1_1_error ("explicit constructor invocation"); ; break;} case 151: ! #line 1246 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyval.node = parse_jdk1_1_error ("explicit constructor invocation"); ; break;} case 152: ! #line 1251 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { tree wfl = build_wfl_node (this_identifier_node); EXPR_WFL_LINECOL (wfl) = yyvsp[0].operator.location; --- 3795,3809 ---- ; break;} case 150: ! #line 1244 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyval.node = parse_jdk1_1_error ("explicit constructor invocation"); ; break;} case 151: ! #line 1246 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyval.node = parse_jdk1_1_error ("explicit constructor invocation"); ; break;} case 152: ! #line 1251 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { tree wfl = build_wfl_node (this_identifier_node); EXPR_WFL_LINECOL (wfl) = yyvsp[0].operator.location; *************** case 152: *** 3811,3817 **** ; break;} case 153: ! #line 1257 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { tree wfl = build_wfl_node (super_identifier_node); EXPR_WFL_LINECOL (wfl) = yyvsp[0].operator.location; --- 3811,3817 ---- ; break;} case 153: ! #line 1257 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { tree wfl = build_wfl_node (super_identifier_node); EXPR_WFL_LINECOL (wfl) = yyvsp[0].operator.location; *************** case 153: *** 3819,3947 **** ; break;} case 154: ! #line 1268 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { create_interface (0, yyvsp[0].node, NULL_TREE); ; break;} case 155: ! #line 1270 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { ; ; break;} case 156: ! #line 1272 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { create_interface (yyvsp[-2].value, yyvsp[0].node, NULL_TREE); ; break;} case 157: ! #line 1274 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { ; ; break;} case 158: ! #line 1276 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { create_interface (0, yyvsp[-1].node, yyvsp[0].node); ; break;} case 159: ! #line 1278 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { ; ; break;} case 160: ! #line 1280 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { create_interface (yyvsp[-3].value, yyvsp[-1].node, yyvsp[0].node); ; break;} case 161: ! #line 1282 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { ; ; break;} case 162: ! #line 1284 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyerror ("'{' expected"); RECOVER; ; break;} case 163: ! #line 1286 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyerror ("'{' expected"); RECOVER; ; break;} case 164: ! #line 1291 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { ctxp->interface_number = 1; yyval.node = build_tree_list (yyvsp[0].node, NULL_TREE); ; break;} case 165: ! #line 1296 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { ctxp->interface_number++; yyval.node = chainon (yyvsp[-2].node, build_tree_list (yyvsp[0].node, NULL_TREE)); ; break;} case 166: ! #line 1301 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Invalid interface type"); RECOVER;; break;} case 167: ! #line 1303 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 168: ! #line 1308 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = NULL_TREE; ; break;} case 169: ! #line 1310 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = NULL_TREE; ; break;} case 174: ! #line 1322 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { end_class_declaration (1); ; break;} case 175: ! #line 1324 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { end_class_declaration (1); ; break;} case 177: ! #line 1333 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { check_abstract_method_header (yyvsp[-1].node); current_function_decl = NULL_TREE; /* FIXME ? */ ; break;} case 178: ! #line 1338 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;; break;} case 179: ! #line 1344 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_new_array_init (yyvsp[-1].operator.location, NULL_TREE); ; break;} case 180: ! #line 1346 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_new_array_init (yyvsp[-2].operator.location, NULL_TREE); ; break;} case 181: ! #line 1348 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_new_array_init (yyvsp[-2].operator.location, yyvsp[-1].node); ; break;} case 182: ! #line 1350 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_new_array_init (yyvsp[-3].operator.location, yyvsp[-2].node); ; break;} case 183: ! #line 1355 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = tree_cons (maybe_build_array_element_wfl (yyvsp[0].node), yyvsp[0].node, NULL_TREE); ; break;} case 184: ! #line 1360 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = tree_cons (maybe_build_array_element_wfl (yyvsp[0].node), yyvsp[0].node, yyvsp[-2].node); ; break;} case 185: ! #line 1364 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 186: ! #line 1370 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { /* Store the location of the `}' when doing xrefs */ if (current_function_decl && flag_emit_xref) --- 3819,3947 ---- ; break;} case 154: ! #line 1268 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { create_interface (0, yyvsp[0].node, NULL_TREE); ; break;} case 155: ! #line 1270 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { ; ; break;} case 156: ! #line 1272 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { create_interface (yyvsp[-2].value, yyvsp[0].node, NULL_TREE); ; break;} case 157: ! #line 1274 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { ; ; break;} case 158: ! #line 1276 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { create_interface (0, yyvsp[-1].node, yyvsp[0].node); ; break;} case 159: ! #line 1278 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { ; ; break;} case 160: ! #line 1280 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { create_interface (yyvsp[-3].value, yyvsp[-1].node, yyvsp[0].node); ; break;} case 161: ! #line 1282 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { ; ; break;} case 162: ! #line 1284 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyerror ("'{' expected"); RECOVER; ; break;} case 163: ! #line 1286 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyerror ("'{' expected"); RECOVER; ; break;} case 164: ! #line 1291 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { ctxp->interface_number = 1; yyval.node = build_tree_list (yyvsp[0].node, NULL_TREE); ; break;} case 165: ! #line 1296 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { ctxp->interface_number++; yyval.node = chainon (yyvsp[-2].node, build_tree_list (yyvsp[0].node, NULL_TREE)); ; break;} case 166: ! #line 1301 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Invalid interface type"); RECOVER;; break;} case 167: ! #line 1303 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 168: ! #line 1308 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = NULL_TREE; ; break;} case 169: ! #line 1310 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = NULL_TREE; ; break;} case 174: ! #line 1322 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { end_class_declaration (1); ; break;} case 175: ! #line 1324 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { end_class_declaration (1); ; break;} case 177: ! #line 1333 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { check_abstract_method_header (yyvsp[-1].node); current_function_decl = NULL_TREE; /* FIXME ? */ ; break;} case 178: ! #line 1338 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;; break;} case 179: ! #line 1344 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_new_array_init (yyvsp[-1].operator.location, NULL_TREE); ; break;} case 180: ! #line 1346 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_new_array_init (yyvsp[-2].operator.location, NULL_TREE); ; break;} case 181: ! #line 1348 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_new_array_init (yyvsp[-2].operator.location, yyvsp[-1].node); ; break;} case 182: ! #line 1350 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_new_array_init (yyvsp[-3].operator.location, yyvsp[-2].node); ; break;} case 183: ! #line 1355 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = tree_cons (maybe_build_array_element_wfl (yyvsp[0].node), yyvsp[0].node, NULL_TREE); ; break;} case 184: ! #line 1360 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = tree_cons (maybe_build_array_element_wfl (yyvsp[0].node), yyvsp[0].node, yyvsp[-2].node); ; break;} case 185: ! #line 1364 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 186: ! #line 1370 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { /* Store the location of the `}' when doing xrefs */ if (current_function_decl && flag_emit_xref) *************** case 186: *** 3951,3965 **** ; break;} case 187: ! #line 1378 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = yyvsp[0].node; ; break;} case 188: ! #line 1383 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { enter_block (); ; break;} case 189: ! #line 1388 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { maybe_absorb_scoping_blocks (); /* Store the location of the `}' when doing xrefs */ --- 3951,3965 ---- ; break;} case 187: ! #line 1378 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = yyvsp[0].node; ; break;} case 188: ! #line 1383 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { enter_block (); ; break;} case 189: ! #line 1388 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { maybe_absorb_scoping_blocks (); /* Store the location of the `}' when doing xrefs */ *************** case 189: *** 3972,4005 **** ; break;} case 193: ! #line 1408 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { java_method_add_stmt (current_function_decl, yyvsp[0].node); ; break;} case 194: ! #line 1410 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { LOCAL_CLASS_P (TREE_TYPE (GET_CPC ())) = 1; end_class_declaration (1); ; break;} case 196: ! #line 1422 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { declare_local_variables (0, yyvsp[-1].node, yyvsp[0].node); ; break;} case 197: ! #line 1424 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { declare_local_variables (yyvsp[-2].value, yyvsp[-1].node, yyvsp[0].node); ; break;} case 203: ! #line 1434 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = exit_block (); ; break;} case 208: ! #line 1443 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = exit_block (); ; break;} case 221: ! #line 1463 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { if (flag_extraneous_semicolon && ! current_static_block --- 3972,4005 ---- ; break;} case 193: ! #line 1408 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { java_method_add_stmt (current_function_decl, yyvsp[0].node); ; break;} case 194: ! #line 1410 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { LOCAL_CLASS_P (TREE_TYPE (GET_CPC ())) = 1; end_class_declaration (1); ; break;} case 196: ! #line 1422 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { declare_local_variables (0, yyvsp[-1].node, yyvsp[0].node); ; break;} case 197: ! #line 1424 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { declare_local_variables (yyvsp[-2].value, yyvsp[-1].node, yyvsp[0].node); ; break;} case 203: ! #line 1434 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = exit_block (); ; break;} case 208: ! #line 1443 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = exit_block (); ; break;} case 221: ! #line 1463 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { if (flag_extraneous_semicolon && ! current_static_block *************** case 221: *** 4016,4022 **** ; break;} case 222: ! #line 1481 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_labeled_block (EXPR_WFL_LINECOL (yyvsp[-1].node), EXPR_WFL_NODE (yyvsp[-1].node)); --- 4016,4022 ---- ; break;} case 222: ! #line 1481 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_labeled_block (EXPR_WFL_LINECOL (yyvsp[-1].node), EXPR_WFL_NODE (yyvsp[-1].node)); *************** case 222: *** 4026,4044 **** ; break;} case 223: ! #line 1492 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = finish_labeled_statement (yyvsp[-1].node, yyvsp[0].node); ; break;} case 224: ! #line 1494 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("':' expected"); RECOVER;; break;} case 225: ! #line 1499 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = finish_labeled_statement (yyvsp[-1].node, yyvsp[0].node); ; break;} case 226: ! #line 1506 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { /* We have a statement. Generate a WFL around it so we can debug it */ --- 4026,4044 ---- ; break;} case 223: ! #line 1492 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = finish_labeled_statement (yyvsp[-1].node, yyvsp[0].node); ; break;} case 224: ! #line 1494 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("':' expected"); RECOVER;; break;} case 225: ! #line 1499 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = finish_labeled_statement (yyvsp[-1].node, yyvsp[0].node); ; break;} case 226: ! #line 1506 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { /* We have a statement. Generate a WFL around it so we can debug it */ *************** case 226: *** 4049,4151 **** ; break;} case 227: ! #line 1515 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Invalid expression statement"); DRECOVER (expr_stmt); ; break;} case 228: ! #line 1520 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Invalid expression statement"); DRECOVER (expr_stmt); ; break;} case 229: ! #line 1525 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Invalid expression statement"); DRECOVER (expr_stmt); ; break;} case 230: ! #line 1530 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;; break;} case 231: ! #line 1532 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { parse_ctor_invocation_error (); RECOVER; ; break;} case 232: ! #line 1537 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;; break;} case 233: ! #line 1539 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { parse_ctor_invocation_error (); RECOVER; ; break;} case 234: ! #line 1544 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER;; break;} case 235: ! #line 1546 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;; break;} case 236: ! #line 1548 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;; break;} case 237: ! #line 1550 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;; break;} case 238: ! #line 1552 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;; break;} case 246: ! #line 1567 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_if_else_statement (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[0].node, NULL_TREE); ; break;} case 247: ! #line 1572 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER;; break;} case 248: ! #line 1574 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 249: ! #line 1576 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;; break;} case 250: ! #line 1581 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_if_else_statement (yyvsp[-5].operator.location, yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node); ; break;} case 251: ! #line 1586 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_if_else_statement (yyvsp[-5].operator.location, yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node); ; break;} case 252: ! #line 1591 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { enter_block (); ; break;} case 253: ! #line 1595 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { /* Make into "proper list" of COMPOUND_EXPRs. I.e. make the last statement also have its own --- 4049,4151 ---- ; break;} case 227: ! #line 1515 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Invalid expression statement"); DRECOVER (expr_stmt); ; break;} case 228: ! #line 1520 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Invalid expression statement"); DRECOVER (expr_stmt); ; break;} case 229: ! #line 1525 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Invalid expression statement"); DRECOVER (expr_stmt); ; break;} case 230: ! #line 1530 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;; break;} case 231: ! #line 1532 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { parse_ctor_invocation_error (); RECOVER; ; break;} case 232: ! #line 1537 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;; break;} case 233: ! #line 1539 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { parse_ctor_invocation_error (); RECOVER; ; break;} case 234: ! #line 1544 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER;; break;} case 235: ! #line 1546 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;; break;} case 236: ! #line 1548 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;; break;} case 237: ! #line 1550 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;; break;} case 238: ! #line 1552 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;; break;} case 246: ! #line 1567 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_if_else_statement (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[0].node, NULL_TREE); ; break;} case 247: ! #line 1572 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER;; break;} case 248: ! #line 1574 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 249: ! #line 1576 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;; break;} case 250: ! #line 1581 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_if_else_statement (yyvsp[-5].operator.location, yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node); ; break;} case 251: ! #line 1586 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_if_else_statement (yyvsp[-5].operator.location, yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node); ; break;} case 252: ! #line 1591 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { enter_block (); ; break;} case 253: ! #line 1595 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { /* Make into "proper list" of COMPOUND_EXPRs. I.e. make the last statement also have its own *************** case 253: *** 4156,4197 **** ; break;} case 254: ! #line 1607 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build (SWITCH_EXPR, NULL_TREE, yyvsp[-1].node, NULL_TREE); EXPR_WFL_LINECOL (yyval.node) = yyvsp[-2].operator.location; ; break;} case 255: ! #line 1612 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER;; break;} case 256: ! #line 1614 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term or ')'"); DRECOVER(switch_statement);; break;} case 257: ! #line 1616 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("'{' expected"); RECOVER;; break;} case 258: ! #line 1624 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = NULL_TREE; ; break;} case 259: ! #line 1626 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = NULL_TREE; ; break;} case 260: ! #line 1628 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = NULL_TREE; ; break;} case 261: ! #line 1630 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = NULL_TREE; ; break;} case 267: ! #line 1649 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { tree lab = build1 (CASE_EXPR, NULL_TREE, yyvsp[-1].node); EXPR_WFL_LINECOL (lab) = yyvsp[-2].operator.location; --- 4156,4197 ---- ; break;} case 254: ! #line 1607 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build (SWITCH_EXPR, NULL_TREE, yyvsp[-1].node, NULL_TREE); EXPR_WFL_LINECOL (yyval.node) = yyvsp[-2].operator.location; ; break;} case 255: ! #line 1612 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER;; break;} case 256: ! #line 1614 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term or ')'"); DRECOVER(switch_statement);; break;} case 257: ! #line 1616 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("'{' expected"); RECOVER;; break;} case 258: ! #line 1624 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = NULL_TREE; ; break;} case 259: ! #line 1626 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = NULL_TREE; ; break;} case 260: ! #line 1628 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = NULL_TREE; ; break;} case 261: ! #line 1630 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = NULL_TREE; ; break;} case 267: ! #line 1649 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { tree lab = build1 (CASE_EXPR, NULL_TREE, yyvsp[-1].node); EXPR_WFL_LINECOL (lab) = yyvsp[-2].operator.location; *************** case 267: *** 4199,4205 **** ; break;} case 268: ! #line 1655 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { tree lab = build (DEFAULT_EXPR, NULL_TREE, NULL_TREE); EXPR_WFL_LINECOL (lab) = yyvsp[-1].operator.location; --- 4199,4205 ---- ; break;} case 268: ! #line 1655 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { tree lab = build (DEFAULT_EXPR, NULL_TREE, NULL_TREE); EXPR_WFL_LINECOL (lab) = yyvsp[-1].operator.location; *************** case 268: *** 4207,4263 **** ; break;} case 269: ! #line 1661 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing or invalid constant expression"); RECOVER;; break;} case 270: ! #line 1663 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("':' expected"); RECOVER;; break;} case 271: ! #line 1665 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("':' expected"); RECOVER;; break;} case 272: ! #line 1670 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { tree body = build_loop_body (yyvsp[-2].operator.location, yyvsp[-1].node, 0); yyval.node = build_new_loop (body); ; break;} case 273: ! #line 1678 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = finish_loop_body (0, NULL_TREE, yyvsp[0].node, 0); ; break;} case 274: ! #line 1680 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {YYERROR_NOW; yyerror ("'(' expected"); RECOVER;; break;} case 275: ! #line 1682 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term and ')' expected"); RECOVER;; break;} case 276: ! #line 1684 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;; break;} case 277: ! #line 1689 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = finish_loop_body (0, NULL_TREE, yyvsp[0].node, 0); ; break;} case 278: ! #line 1694 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { tree body = build_loop_body (0, NULL_TREE, 1); yyval.node = build_new_loop (body); ; break;} case 279: ! #line 1703 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = finish_loop_body (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[-5].node, 1); ; break;} case 280: ! #line 1708 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-4].node)) == 'c') yyvsp[-4].node = build_wfl_node (yyvsp[-4].node); --- 4207,4263 ---- ; break;} case 269: ! #line 1661 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing or invalid constant expression"); RECOVER;; break;} case 270: ! #line 1663 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("':' expected"); RECOVER;; break;} case 271: ! #line 1665 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("':' expected"); RECOVER;; break;} case 272: ! #line 1670 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { tree body = build_loop_body (yyvsp[-2].operator.location, yyvsp[-1].node, 0); yyval.node = build_new_loop (body); ; break;} case 273: ! #line 1678 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = finish_loop_body (0, NULL_TREE, yyvsp[0].node, 0); ; break;} case 274: ! #line 1680 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {YYERROR_NOW; yyerror ("'(' expected"); RECOVER;; break;} case 275: ! #line 1682 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term and ')' expected"); RECOVER;; break;} case 276: ! #line 1684 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;; break;} case 277: ! #line 1689 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = finish_loop_body (0, NULL_TREE, yyvsp[0].node, 0); ; break;} case 278: ! #line 1694 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { tree body = build_loop_body (0, NULL_TREE, 1); yyval.node = build_new_loop (body); ; break;} case 279: ! #line 1703 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = finish_loop_body (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[-5].node, 1); ; break;} case 280: ! #line 1708 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-4].node)) == 'c') yyvsp[-4].node = build_wfl_node (yyvsp[-4].node); *************** case 280: *** 4265,4271 **** ; break;} case 281: ! #line 1714 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = finish_for_loop (0, NULL_TREE, yyvsp[-2].node, yyvsp[0].node); /* We have not condition, so we get rid of the EXIT_EXPR */ --- 4265,4271 ---- ; break;} case 281: ! #line 1714 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = finish_for_loop (0, NULL_TREE, yyvsp[-2].node, yyvsp[0].node); /* We have not condition, so we get rid of the EXIT_EXPR */ *************** case 281: *** 4274,4296 **** ; break;} case 282: ! #line 1721 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Invalid control expression"); RECOVER;; break;} case 283: ! #line 1723 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Invalid update expression"); RECOVER;; break;} case 284: ! #line 1725 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Invalid update expression"); RECOVER;; break;} case 285: ! #line 1730 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = finish_for_loop (EXPR_WFL_LINECOL (yyvsp[-4].node), yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node);; break;} case 286: ! #line 1732 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = finish_for_loop (0, NULL_TREE, yyvsp[-2].node, yyvsp[0].node); /* We have not condition, so we get rid of the EXIT_EXPR */ --- 4274,4296 ---- ; break;} case 282: ! #line 1721 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Invalid control expression"); RECOVER;; break;} case 283: ! #line 1723 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Invalid update expression"); RECOVER;; break;} case 284: ! #line 1725 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Invalid update expression"); RECOVER;; break;} case 285: ! #line 1730 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = finish_for_loop (EXPR_WFL_LINECOL (yyvsp[-4].node), yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node);; break;} case 286: ! #line 1732 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = finish_for_loop (0, NULL_TREE, yyvsp[-2].node, yyvsp[0].node); /* We have not condition, so we get rid of the EXIT_EXPR */ *************** case 286: *** 4299,4305 **** ; break;} case 287: ! #line 1742 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { /* This scope defined for local variable that may be defined within the scope of the for loop */ --- 4299,4305 ---- ; break;} case 287: ! #line 1742 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { /* This scope defined for local variable that may be defined within the scope of the for loop */ *************** case 287: *** 4307,4321 **** ; break;} case 288: ! #line 1748 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("'(' expected"); DRECOVER(for_1);; break;} case 289: ! #line 1750 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Invalid init statement"); RECOVER;; break;} case 290: ! #line 1755 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { /* We now declare the loop body. The loop is declared as a for loop. */ --- 4307,4321 ---- ; break;} case 288: ! #line 1748 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("'(' expected"); DRECOVER(for_1);; break;} case 289: ! #line 1750 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Invalid init statement"); RECOVER;; break;} case 290: ! #line 1755 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { /* We now declare the loop body. The loop is declared as a for loop. */ *************** case 290: *** 4328,4338 **** ; break;} case 291: ! #line 1767 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = empty_stmt_node; ; break;} case 292: ! #line 1769 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { /* Init statement recorded within the previously defined block scope */ --- 4328,4338 ---- ; break;} case 291: ! #line 1767 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = empty_stmt_node; ; break;} case 292: ! #line 1769 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { /* Init statement recorded within the previously defined block scope */ *************** case 292: *** 4340,4346 **** ; break;} case 293: ! #line 1775 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { /* Local variable are recorded within the previously defined block scope */ --- 4340,4346 ---- ; break;} case 293: ! #line 1775 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { /* Local variable are recorded within the previously defined block scope */ *************** case 293: *** 4348,4461 **** ; break;} case 294: ! #line 1781 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("';' expected"); DRECOVER(for_init_1);; break;} case 295: ! #line 1785 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyval.node = empty_stmt_node;; break;} case 296: ! #line 1787 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_debugable_stmt (BUILD_LOCATION (), yyvsp[0].node); ; break;} case 297: ! #line 1792 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = add_stmt_to_compound (NULL_TREE, NULL_TREE, yyvsp[0].node); ; break;} case 298: ! #line 1794 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = add_stmt_to_compound (yyvsp[-2].node, NULL_TREE, yyvsp[0].node); ; break;} case 299: ! #line 1796 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 300: ! #line 1801 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_bc_statement (yyvsp[-1].operator.location, 1, NULL_TREE); ; break;} case 301: ! #line 1803 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_bc_statement (yyvsp[-2].operator.location, 1, yyvsp[-1].node); ; break;} case 302: ! #line 1805 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 303: ! #line 1807 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;; break;} case 304: ! #line 1812 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_bc_statement (yyvsp[-1].operator.location, 0, NULL_TREE); ; break;} case 305: ! #line 1814 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_bc_statement (yyvsp[-2].operator.location, 0, yyvsp[-1].node); ; break;} case 306: ! #line 1816 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 307: ! #line 1818 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;; break;} case 308: ! #line 1823 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_return (yyvsp[-1].operator.location, NULL_TREE); ; break;} case 309: ! #line 1825 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_return (yyvsp[-2].operator.location, yyvsp[-1].node); ; break;} case 310: ! #line 1827 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 311: ! #line 1829 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;; break;} case 312: ! #line 1834 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build1 (THROW_EXPR, NULL_TREE, yyvsp[-1].node); EXPR_WFL_LINECOL (yyval.node) = yyvsp[-2].operator.location; ; break;} case 313: ! #line 1839 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 314: ! #line 1841 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;; break;} case 315: ! #line 1846 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_assertion (yyvsp[-4].operator.location, yyvsp[-3].node, yyvsp[-1].node); ; break;} case 316: ! #line 1850 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_assertion (yyvsp[-2].operator.location, yyvsp[-1].node, NULL_TREE); ; break;} case 317: ! #line 1854 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 318: ! #line 1856 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;; break;} case 319: ! #line 1861 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build (SYNCHRONIZED_EXPR, NULL_TREE, yyvsp[-2].node, yyvsp[0].node); EXPR_WFL_LINECOL (yyval.node) = --- 4348,4461 ---- ; break;} case 294: ! #line 1781 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("';' expected"); DRECOVER(for_init_1);; break;} case 295: ! #line 1785 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyval.node = empty_stmt_node;; break;} case 296: ! #line 1787 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_debugable_stmt (BUILD_LOCATION (), yyvsp[0].node); ; break;} case 297: ! #line 1792 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = add_stmt_to_compound (NULL_TREE, NULL_TREE, yyvsp[0].node); ; break;} case 298: ! #line 1794 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = add_stmt_to_compound (yyvsp[-2].node, NULL_TREE, yyvsp[0].node); ; break;} case 299: ! #line 1796 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 300: ! #line 1801 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_bc_statement (yyvsp[-1].operator.location, 1, NULL_TREE); ; break;} case 301: ! #line 1803 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_bc_statement (yyvsp[-2].operator.location, 1, yyvsp[-1].node); ; break;} case 302: ! #line 1805 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 303: ! #line 1807 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;; break;} case 304: ! #line 1812 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_bc_statement (yyvsp[-1].operator.location, 0, NULL_TREE); ; break;} case 305: ! #line 1814 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_bc_statement (yyvsp[-2].operator.location, 0, yyvsp[-1].node); ; break;} case 306: ! #line 1816 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 307: ! #line 1818 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;; break;} case 308: ! #line 1823 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_return (yyvsp[-1].operator.location, NULL_TREE); ; break;} case 309: ! #line 1825 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_return (yyvsp[-2].operator.location, yyvsp[-1].node); ; break;} case 310: ! #line 1827 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 311: ! #line 1829 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;; break;} case 312: ! #line 1834 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build1 (THROW_EXPR, NULL_TREE, yyvsp[-1].node); EXPR_WFL_LINECOL (yyval.node) = yyvsp[-2].operator.location; ; break;} case 313: ! #line 1839 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 314: ! #line 1841 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;; break;} case 315: ! #line 1846 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_assertion (yyvsp[-4].operator.location, yyvsp[-3].node, yyvsp[-1].node); ; break;} case 316: ! #line 1850 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_assertion (yyvsp[-2].operator.location, yyvsp[-1].node, NULL_TREE); ; break;} case 317: ! #line 1854 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 318: ! #line 1856 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;; break;} case 319: ! #line 1861 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build (SYNCHRONIZED_EXPR, NULL_TREE, yyvsp[-2].node, yyvsp[0].node); EXPR_WFL_LINECOL (yyval.node) = *************** case 319: *** 4463,4485 **** ; break;} case 320: ! #line 1867 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("'{' expected"); RECOVER;; break;} case 321: ! #line 1869 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER;; break;} case 322: ! #line 1871 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 323: ! #line 1873 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 324: ! #line 1878 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { check_modifiers ( "Illegal modifier `%s'. Only `synchronized' was expected here", --- 4463,4485 ---- ; break;} case 320: ! #line 1867 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("'{' expected"); RECOVER;; break;} case 321: ! #line 1869 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER;; break;} case 322: ! #line 1871 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 323: ! #line 1873 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 324: ! #line 1878 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { check_modifiers ( "Illegal modifier `%s'. Only `synchronized' was expected here", *************** case 324: *** 4490,4522 **** ; break;} case 325: ! #line 1890 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_try_statement (yyvsp[-2].operator.location, yyvsp[-1].node, yyvsp[0].node); ; break;} case 326: ! #line 1892 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_try_finally_statement (yyvsp[-2].operator.location, yyvsp[-1].node, yyvsp[0].node); ; break;} case 327: ! #line 1894 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_try_finally_statement (yyvsp[-3].operator.location, build_try_statement (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[-1].node), yyvsp[0].node); ; break;} case 328: ! #line 1899 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("'{' expected"); DRECOVER (try_statement);; break;} case 330: ! #line 1905 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { TREE_CHAIN (yyvsp[0].node) = yyvsp[-1].node; yyval.node = yyvsp[0].node; ; break;} case 331: ! #line 1913 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { java_method_add_stmt (current_function_decl, yyvsp[0].node); exit_block (); --- 4490,4522 ---- ; break;} case 325: ! #line 1890 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_try_statement (yyvsp[-2].operator.location, yyvsp[-1].node, yyvsp[0].node); ; break;} case 326: ! #line 1892 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_try_finally_statement (yyvsp[-2].operator.location, yyvsp[-1].node, yyvsp[0].node); ; break;} case 327: ! #line 1894 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_try_finally_statement (yyvsp[-3].operator.location, build_try_statement (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[-1].node), yyvsp[0].node); ; break;} case 328: ! #line 1899 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("'{' expected"); DRECOVER (try_statement);; break;} case 330: ! #line 1905 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { TREE_CHAIN (yyvsp[0].node) = yyvsp[-1].node; yyval.node = yyvsp[0].node; ; break;} case 331: ! #line 1913 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { java_method_add_stmt (current_function_decl, yyvsp[0].node); exit_block (); *************** case 331: *** 4524,4530 **** ; break;} case 332: ! #line 1922 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { /* We add a block to define a scope for formal_parameter (CCBP). The formal parameter is --- 4524,4530 ---- ; break;} case 332: ! #line 1922 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { /* We add a block to define a scope for formal_parameter (CCBP). The formal parameter is *************** case 332: *** 4542,4629 **** ; break;} case 333: ! #line 1938 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER; yyval.node = NULL_TREE;; break;} case 334: ! #line 1940 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyerror ("Missing term or ')' expected"); RECOVER; yyval.node = NULL_TREE; ; break;} case 335: ! #line 1945 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER; yyval.node = NULL_TREE;; break;} case 336: ! #line 1950 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = yyvsp[0].node; ; break;} case 337: ! #line 1952 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("'{' expected"); RECOVER; ; break;} case 341: ! #line 1964 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_this (yyvsp[0].operator.location); ; break;} case 342: ! #line 1966 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyval.node = yyvsp[-1].node;; break;} case 348: ! #line 1976 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { tree wfl = build_wfl_node (this_identifier_node); yyval.node = make_qualified_primary (yyvsp[-2].node, wfl, EXPR_WFL_LINECOL (yyvsp[-2].node)); ; break;} case 349: ! #line 1981 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;; break;} case 350: ! #line 1983 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("'class' or 'this' expected" ); RECOVER;; break;} case 351: ! #line 1985 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("'class' expected" ); RECOVER;; break;} case 352: ! #line 1987 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("'class' expected" ); RECOVER;; break;} case 353: ! #line 1992 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_incomplete_class_ref (yyvsp[-1].operator.location, yyvsp[-2].node); ; break;} case 354: ! #line 1994 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_incomplete_class_ref (yyvsp[-1].operator.location, yyvsp[-2].node); ; break;} case 355: ! #line 1996 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_incomplete_class_ref (yyvsp[-1].operator.location, yyvsp[-2].node); ; break;} case 356: ! #line 1998 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_incomplete_class_ref (yyvsp[-1].operator.location, void_type_node); ; break;} case 357: ! #line 2006 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_new_invocation (yyvsp[-3].node, yyvsp[-1].node); ; break;} case 358: ! #line 2008 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_new_invocation (yyvsp[-2].node, NULL_TREE); ; break;} case 360: ! #line 2014 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { tree ctor = build_new_invocation (yyvsp[-2].node, NULL_TREE); yyval.node = make_qualified_primary (yyvsp[-3].node, ctor, --- 4542,4629 ---- ; break;} case 333: ! #line 1938 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER; yyval.node = NULL_TREE;; break;} case 334: ! #line 1940 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyerror ("Missing term or ')' expected"); RECOVER; yyval.node = NULL_TREE; ; break;} case 335: ! #line 1945 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER; yyval.node = NULL_TREE;; break;} case 336: ! #line 1950 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = yyvsp[0].node; ; break;} case 337: ! #line 1952 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("'{' expected"); RECOVER; ; break;} case 341: ! #line 1964 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_this (yyvsp[0].operator.location); ; break;} case 342: ! #line 1966 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyval.node = yyvsp[-1].node;; break;} case 348: ! #line 1976 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { tree wfl = build_wfl_node (this_identifier_node); yyval.node = make_qualified_primary (yyvsp[-2].node, wfl, EXPR_WFL_LINECOL (yyvsp[-2].node)); ; break;} case 349: ! #line 1981 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;; break;} case 350: ! #line 1983 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("'class' or 'this' expected" ); RECOVER;; break;} case 351: ! #line 1985 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("'class' expected" ); RECOVER;; break;} case 352: ! #line 1987 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("'class' expected" ); RECOVER;; break;} case 353: ! #line 1992 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_incomplete_class_ref (yyvsp[-1].operator.location, yyvsp[-2].node); ; break;} case 354: ! #line 1994 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_incomplete_class_ref (yyvsp[-1].operator.location, yyvsp[-2].node); ; break;} case 355: ! #line 1996 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_incomplete_class_ref (yyvsp[-1].operator.location, yyvsp[-2].node); ; break;} case 356: ! #line 1998 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_incomplete_class_ref (yyvsp[-1].operator.location, void_type_node); ; break;} case 357: ! #line 2006 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_new_invocation (yyvsp[-3].node, yyvsp[-1].node); ; break;} case 358: ! #line 2008 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_new_invocation (yyvsp[-2].node, NULL_TREE); ; break;} case 360: ! #line 2014 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { tree ctor = build_new_invocation (yyvsp[-2].node, NULL_TREE); yyval.node = make_qualified_primary (yyvsp[-3].node, ctor, *************** case 360: *** 4631,4637 **** ; break;} case 362: ! #line 2021 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { tree ctor = build_new_invocation (yyvsp[-3].node, yyvsp[-1].node); yyval.node = make_qualified_primary (yyvsp[-4].node, ctor, --- 4631,4637 ---- ; break;} case 362: ! #line 2021 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { tree ctor = build_new_invocation (yyvsp[-3].node, yyvsp[-1].node); yyval.node = make_qualified_primary (yyvsp[-4].node, ctor, *************** case 362: *** 4639,4673 **** ; break;} case 364: ! #line 2028 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("'(' expected"); DRECOVER(new_1);; break;} case 365: ! #line 2030 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER;; break;} case 366: ! #line 2032 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("')' or term expected"); RECOVER;; break;} case 367: ! #line 2034 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;; break;} case 368: ! #line 2036 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {YYERROR_NOW; yyerror ("Identifier expected"); RECOVER;; break;} case 369: ! #line 2038 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER;; break;} case 370: ! #line 2048 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { create_anonymous_class (yyvsp[-4].operator.location, yyvsp[-3].node); ; break;} case 371: ! #line 2050 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { tree id = build_wfl_node (DECL_NAME (GET_CPC ())); EXPR_WFL_LINECOL (id) = EXPR_WFL_LINECOL (yyvsp[-5].node); --- 4639,4673 ---- ; break;} case 364: ! #line 2028 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("'(' expected"); DRECOVER(new_1);; break;} case 365: ! #line 2030 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER;; break;} case 366: ! #line 2032 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("')' or term expected"); RECOVER;; break;} case 367: ! #line 2034 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;; break;} case 368: ! #line 2036 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {YYERROR_NOW; yyerror ("Identifier expected"); RECOVER;; break;} case 369: ! #line 2038 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER;; break;} case 370: ! #line 2048 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { create_anonymous_class (yyvsp[-4].operator.location, yyvsp[-3].node); ; break;} case 371: ! #line 2050 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { tree id = build_wfl_node (DECL_NAME (GET_CPC ())); EXPR_WFL_LINECOL (id) = EXPR_WFL_LINECOL (yyvsp[-5].node); *************** case 371: *** 4700,4710 **** ; break;} case 372: ! #line 2081 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { create_anonymous_class (yyvsp[-3].operator.location, yyvsp[-2].node); ; break;} case 373: ! #line 2083 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { tree id = build_wfl_node (DECL_NAME (GET_CPC ())); EXPR_WFL_LINECOL (id) = EXPR_WFL_LINECOL (yyvsp[-4].node); --- 4700,4710 ---- ; break;} case 372: ! #line 2081 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { create_anonymous_class (yyvsp[-3].operator.location, yyvsp[-2].node); ; break;} case 373: ! #line 2083 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { tree id = build_wfl_node (DECL_NAME (GET_CPC ())); EXPR_WFL_LINECOL (id) = EXPR_WFL_LINECOL (yyvsp[-4].node); *************** case 373: *** 4719,4767 **** ; break;} case 374: ! #line 2099 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = yyvsp[-2].node; ; break;} case 375: ! #line 2101 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = yyvsp[-2].node; ; break;} case 376: ! #line 2106 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = tree_cons (NULL_TREE, yyvsp[0].node, NULL_TREE); ctxp->formal_parameter_number = 1; ; break;} case 377: ! #line 2111 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { ctxp->formal_parameter_number += 1; yyval.node = tree_cons (NULL_TREE, yyvsp[0].node, yyvsp[-2].node); ; break;} case 378: ! #line 2116 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 379: ! #line 2121 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_newarray_node (yyvsp[-1].node, yyvsp[0].node, 0); ; break;} case 380: ! #line 2123 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_newarray_node (yyvsp[-1].node, yyvsp[0].node, 0); ; break;} case 381: ! #line 2125 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_newarray_node (yyvsp[-2].node, yyvsp[-1].node, pop_current_osb (ctxp));; break;} case 382: ! #line 2127 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_newarray_node (yyvsp[-2].node, yyvsp[-1].node, pop_current_osb (ctxp));; break;} case 383: ! #line 2131 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { char *sig; int osb = pop_current_osb (ctxp); --- 4719,4767 ---- ; break;} case 374: ! #line 2099 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = yyvsp[-2].node; ; break;} case 375: ! #line 2101 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = yyvsp[-2].node; ; break;} case 376: ! #line 2106 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = tree_cons (NULL_TREE, yyvsp[0].node, NULL_TREE); ctxp->formal_parameter_number = 1; ; break;} case 377: ! #line 2111 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { ctxp->formal_parameter_number += 1; yyval.node = tree_cons (NULL_TREE, yyvsp[0].node, yyvsp[-2].node); ; break;} case 378: ! #line 2116 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 379: ! #line 2121 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_newarray_node (yyvsp[-1].node, yyvsp[0].node, 0); ; break;} case 380: ! #line 2123 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_newarray_node (yyvsp[-1].node, yyvsp[0].node, 0); ; break;} case 381: ! #line 2125 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_newarray_node (yyvsp[-2].node, yyvsp[-1].node, pop_current_osb (ctxp));; break;} case 382: ! #line 2127 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_newarray_node (yyvsp[-2].node, yyvsp[-1].node, pop_current_osb (ctxp));; break;} case 383: ! #line 2131 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { char *sig; int osb = pop_current_osb (ctxp); *************** case 383: *** 4774,4780 **** ; break;} case 384: ! #line 2142 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { int osb = pop_current_osb (ctxp); tree type = yyvsp[-2].node; --- 4774,4780 ---- ; break;} case 384: ! #line 2142 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { int osb = pop_current_osb (ctxp); tree type = yyvsp[-2].node; *************** case 384: *** 4785,4807 **** ; break;} case 385: ! #line 2151 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("'[' expected"); DRECOVER ("]");; break;} case 386: ! #line 2153 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("']' expected"); RECOVER;; break;} case 387: ! #line 2158 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_tree_list (NULL_TREE, yyvsp[0].node); ; break;} case 388: ! #line 2160 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = tree_cons (NULL_TREE, yyvsp[0].node, yyval.node); ; break;} case 389: ! #line 2165 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { if (JNUMERIC_TYPE_P (TREE_TYPE (yyvsp[-1].node))) { --- 4785,4807 ---- ; break;} case 385: ! #line 2151 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("'[' expected"); DRECOVER ("]");; break;} case 386: ! #line 2153 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("']' expected"); RECOVER;; break;} case 387: ! #line 2158 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_tree_list (NULL_TREE, yyvsp[0].node); ; break;} case 388: ! #line 2160 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = tree_cons (NULL_TREE, yyvsp[0].node, yyval.node); ; break;} case 389: ! #line 2165 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { if (JNUMERIC_TYPE_P (TREE_TYPE (yyvsp[-1].node))) { *************** case 389: *** 4813,4823 **** ; break;} case 390: ! #line 2175 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("']' expected"); RECOVER;; break;} case 391: ! #line 2177 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyerror ("Missing term"); yyerror ("']' expected"); --- 4813,4823 ---- ; break;} case 390: ! #line 2175 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("']' expected"); RECOVER;; break;} case 391: ! #line 2177 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyerror ("Missing term"); yyerror ("']' expected"); *************** case 391: *** 4825,4831 **** ; break;} case 392: ! #line 2186 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { int allocate = 0; /* If not initialized, allocate memory for the osb --- 4825,4831 ---- ; break;} case 392: ! #line 2186 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { int allocate = 0; /* If not initialized, allocate memory for the osb *************** case 392: *** 4853,4871 **** ; break;} case 393: ! #line 2212 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { CURRENT_OSB (ctxp)++; ; break;} case 394: ! #line 2214 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyerror ("']' expected"); RECOVER;; break;} case 395: ! #line 2219 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = make_qualified_primary (yyvsp[-2].node, yyvsp[0].node, yyvsp[-1].operator.location); ; break;} case 396: ! #line 2223 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { tree super_wfl = build_wfl_node (super_identifier_node); EXPR_WFL_LINECOL (super_wfl) = yyvsp[-2].operator.location; --- 4853,4871 ---- ; break;} case 393: ! #line 2212 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { CURRENT_OSB (ctxp)++; ; break;} case 394: ! #line 2214 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyerror ("']' expected"); RECOVER;; break;} case 395: ! #line 2219 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = make_qualified_primary (yyvsp[-2].node, yyvsp[0].node, yyvsp[-1].operator.location); ; break;} case 396: ! #line 2223 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { tree super_wfl = build_wfl_node (super_identifier_node); EXPR_WFL_LINECOL (super_wfl) = yyvsp[-2].operator.location; *************** case 396: *** 4873,4891 **** ; break;} case 397: ! #line 2229 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Field expected"); DRECOVER (super_field_acces);; break;} case 398: ! #line 2234 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_method_invocation (yyvsp[-2].node, NULL_TREE); ; break;} case 399: ! #line 2236 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_method_invocation (yyvsp[-3].node, yyvsp[-1].node); ; break;} case 400: ! #line 2238 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { if (TREE_CODE (yyvsp[-4].node) == THIS_EXPR) yyval.node = build_this_super_qualified_invocation --- 4873,4891 ---- ; break;} case 397: ! #line 2229 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Field expected"); DRECOVER (super_field_acces);; break;} case 398: ! #line 2234 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_method_invocation (yyvsp[-2].node, NULL_TREE); ; break;} case 399: ! #line 2236 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_method_invocation (yyvsp[-3].node, yyvsp[-1].node); ; break;} case 400: ! #line 2238 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { if (TREE_CODE (yyvsp[-4].node) == THIS_EXPR) yyval.node = build_this_super_qualified_invocation *************** case 400: *** 4898,4904 **** ; break;} case 401: ! #line 2249 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { if (TREE_CODE (yyvsp[-5].node) == THIS_EXPR) yyval.node = build_this_super_qualified_invocation --- 4898,4904 ---- ; break;} case 401: ! #line 2249 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { if (TREE_CODE (yyvsp[-5].node) == THIS_EXPR) yyval.node = build_this_super_qualified_invocation *************** case 401: *** 4911,5038 **** ; break;} case 402: ! #line 2260 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_this_super_qualified_invocation (0, yyvsp[-2].node, NULL_TREE, yyvsp[-4].operator.location, yyvsp[-3].operator.location); ; break;} case 403: ! #line 2265 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_this_super_qualified_invocation (0, yyvsp[-3].node, yyvsp[-1].node, yyvsp[-5].operator.location, yyvsp[-4].operator.location); ; break;} case 404: ! #line 2274 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyerror ("'(' expected"); DRECOVER (method_invocation); ; break;} case 405: ! #line 2276 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyerror ("'(' expected"); DRECOVER (method_invocation); ; break;} case 406: ! #line 2281 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_array_ref (yyvsp[-2].operator.location, yyvsp[-3].node, yyvsp[-1].node); ; break;} case 407: ! #line 2283 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_array_ref (yyvsp[-2].operator.location, yyvsp[-3].node, yyvsp[-1].node); ; break;} case 408: ! #line 2285 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyerror ("Missing term and ']' expected"); DRECOVER(array_access); ; break;} case 409: ! #line 2290 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyerror ("']' expected"); DRECOVER(array_access); ; break;} case 410: ! #line 2295 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyerror ("Missing term and ']' expected"); DRECOVER(array_access); ; break;} case 411: ! #line 2300 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyerror ("']' expected"); DRECOVER(array_access); ; break;} case 416: ! #line 2315 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_incdec (yyvsp[0].operator.token, yyvsp[0].operator.location, yyvsp[-1].node, 1); ; break;} case 417: ! #line 2320 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_incdec (yyvsp[0].operator.token, yyvsp[0].operator.location, yyvsp[-1].node, 1); ; break;} case 420: ! #line 2327 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ; break;} case 422: ! #line 2330 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER; break;} case 423: ! #line 2335 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { error_if_numeric_overflow (yyvsp[0].node); yyval.node = yyvsp[0].node; ; break;} case 424: ! #line 2340 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ; break;} case 425: ! #line 2342 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER; break;} case 426: ! #line 2347 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyval.node = build_incdec (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node, 0); ; break;} case 427: ! #line 2349 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER; break;} case 428: ! #line 2354 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyval.node = build_incdec (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node, 0); ; break;} case 429: ! #line 2356 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER; break;} case 431: ! #line 2362 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ; break;} case 432: ! #line 2364 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ; break;} case 434: ! #line 2367 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER; break;} case 435: ! #line 2369 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER; break;} case 436: ! #line 2374 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { tree type = yyvsp[-3].node; int osb = pop_current_osb (ctxp); --- 4911,5038 ---- ; break;} case 402: ! #line 2260 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_this_super_qualified_invocation (0, yyvsp[-2].node, NULL_TREE, yyvsp[-4].operator.location, yyvsp[-3].operator.location); ; break;} case 403: ! #line 2265 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_this_super_qualified_invocation (0, yyvsp[-3].node, yyvsp[-1].node, yyvsp[-5].operator.location, yyvsp[-4].operator.location); ; break;} case 404: ! #line 2274 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyerror ("'(' expected"); DRECOVER (method_invocation); ; break;} case 405: ! #line 2276 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyerror ("'(' expected"); DRECOVER (method_invocation); ; break;} case 406: ! #line 2281 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_array_ref (yyvsp[-2].operator.location, yyvsp[-3].node, yyvsp[-1].node); ; break;} case 407: ! #line 2283 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_array_ref (yyvsp[-2].operator.location, yyvsp[-3].node, yyvsp[-1].node); ; break;} case 408: ! #line 2285 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyerror ("Missing term and ']' expected"); DRECOVER(array_access); ; break;} case 409: ! #line 2290 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyerror ("']' expected"); DRECOVER(array_access); ; break;} case 410: ! #line 2295 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyerror ("Missing term and ']' expected"); DRECOVER(array_access); ; break;} case 411: ! #line 2300 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyerror ("']' expected"); DRECOVER(array_access); ; break;} case 416: ! #line 2315 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_incdec (yyvsp[0].operator.token, yyvsp[0].operator.location, yyvsp[-1].node, 1); ; break;} case 417: ! #line 2320 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_incdec (yyvsp[0].operator.token, yyvsp[0].operator.location, yyvsp[-1].node, 1); ; break;} case 420: ! #line 2327 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ; break;} case 422: ! #line 2330 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER; break;} case 423: ! #line 2335 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { error_if_numeric_overflow (yyvsp[0].node); yyval.node = yyvsp[0].node; ; break;} case 424: ! #line 2340 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ; break;} case 425: ! #line 2342 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER; break;} case 426: ! #line 2347 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyval.node = build_incdec (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node, 0); ; break;} case 427: ! #line 2349 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER; break;} case 428: ! #line 2354 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyval.node = build_incdec (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node, 0); ; break;} case 429: ! #line 2356 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER; break;} case 431: ! #line 2362 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ; break;} case 432: ! #line 2364 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ; break;} case 434: ! #line 2367 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER; break;} case 435: ! #line 2369 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER; break;} case 436: ! #line 2374 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { tree type = yyvsp[-3].node; int osb = pop_current_osb (ctxp); *************** case 436: *** 5042,5056 **** ; break;} case 437: ! #line 2382 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_cast (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 438: ! #line 2384 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_cast (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 439: ! #line 2386 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { const char *ptr; int osb = pop_current_osb (ctxp); --- 5042,5056 ---- ; break;} case 437: ! #line 2382 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_cast (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 438: ! #line 2384 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_cast (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 439: ! #line 2386 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { const char *ptr; int osb = pop_current_osb (ctxp); *************** case 439: *** 5066,5319 **** ; break;} case 440: ! #line 2400 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("']' expected, invalid type expression");; break;} case 441: ! #line 2402 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Invalid type expression"); RECOVER; RECOVER; ; break;} case 442: ! #line 2407 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 443: ! #line 2409 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 444: ! #line 2411 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 446: ! #line 2417 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 447: ! #line 2422 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 448: ! #line 2427 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 449: ! #line 2432 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 450: ! #line 2434 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 451: ! #line 2436 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 453: ! #line 2442 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 454: ! #line 2447 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 455: ! #line 2452 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 456: ! #line 2454 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 458: ! #line 2460 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 459: ! #line 2465 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 460: ! #line 2470 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 461: ! #line 2475 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 462: ! #line 2477 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 463: ! #line 2479 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 465: ! #line 2485 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 466: ! #line 2490 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 467: ! #line 2495 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 468: ! #line 2500 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 469: ! #line 2505 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_binop (INSTANCEOF_EXPR, yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 470: ! #line 2507 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 471: ! #line 2509 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 472: ! #line 2511 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 473: ! #line 2513 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 474: ! #line 2515 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Invalid reference type"); RECOVER;; break;} case 476: ! #line 2521 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 477: ! #line 2526 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 478: ! #line 2531 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 479: ! #line 2533 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 481: ! #line 2539 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 482: ! #line 2544 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 484: ! #line 2550 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 485: ! #line 2555 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 487: ! #line 2561 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 488: ! #line 2566 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 490: ! #line 2572 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 491: ! #line 2577 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 493: ! #line 2583 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 494: ! #line 2588 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 496: ! #line 2594 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build (CONDITIONAL_EXPR, NULL_TREE, yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node); EXPR_WFL_LINECOL (yyval.node) = yyvsp[-3].operator.location; ; break;} case 497: ! #line 2599 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { YYERROR_NOW; yyerror ("Missing term"); --- 5066,5319 ---- ; break;} case 440: ! #line 2400 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("']' expected, invalid type expression");; break;} case 441: ! #line 2402 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Invalid type expression"); RECOVER; RECOVER; ; break;} case 442: ! #line 2407 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 443: ! #line 2409 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 444: ! #line 2411 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 446: ! #line 2417 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 447: ! #line 2422 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 448: ! #line 2427 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 449: ! #line 2432 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 450: ! #line 2434 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 451: ! #line 2436 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 453: ! #line 2442 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 454: ! #line 2447 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 455: ! #line 2452 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 456: ! #line 2454 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 458: ! #line 2460 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 459: ! #line 2465 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 460: ! #line 2470 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 461: ! #line 2475 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 462: ! #line 2477 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 463: ! #line 2479 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 465: ! #line 2485 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 466: ! #line 2490 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 467: ! #line 2495 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 468: ! #line 2500 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 469: ! #line 2505 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_binop (INSTANCEOF_EXPR, yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 470: ! #line 2507 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 471: ! #line 2509 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 472: ! #line 2511 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 473: ! #line 2513 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 474: ! #line 2515 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Invalid reference type"); RECOVER;; break;} case 476: ! #line 2521 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 477: ! #line 2526 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 478: ! #line 2531 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 479: ! #line 2533 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 481: ! #line 2539 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 482: ! #line 2544 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 484: ! #line 2550 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 485: ! #line 2555 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 487: ! #line 2561 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 488: ! #line 2566 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 490: ! #line 2572 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 491: ! #line 2577 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 493: ! #line 2583 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 494: ! #line 2588 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;; break;} case 496: ! #line 2594 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build (CONDITIONAL_EXPR, NULL_TREE, yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node); EXPR_WFL_LINECOL (yyval.node) = yyvsp[-3].operator.location; ; break;} case 497: ! #line 2599 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { YYERROR_NOW; yyerror ("Missing term"); *************** case 497: *** 5321,5339 **** ; break;} case 498: ! #line 2605 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); DRECOVER (2);; break;} case 499: ! #line 2607 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" {yyerror ("Missing term"); DRECOVER (3);; break;} case 502: ! #line 2617 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { yyval.node = build_assignment (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 503: ! #line 2619 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Missing term"); DRECOVER (assign); --- 5321,5339 ---- ; break;} case 498: ! #line 2605 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); DRECOVER (2);; break;} case 499: ! #line 2607 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" {yyerror ("Missing term"); DRECOVER (3);; break;} case 502: ! #line 2617 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { yyval.node = build_assignment (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ; break;} case 503: ! #line 2619 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Missing term"); DRECOVER (assign); *************** yyreturn: *** 5572,5578 **** #endif return yyresult; } ! #line 2644 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse.y" /* Helper function to retrieve an OSB count. Should be used when the --- 5572,5578 ---- #endif return yyresult; } ! #line 2644 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse.y" /* Helper function to retrieve an OSB count. Should be used when the diff -Nrc3pad gcc-3.3.1/gcc/java/parse-scan.c gcc-3.3.2/gcc/java/parse-scan.c *** gcc-3.3.1/gcc/java/parse-scan.c 2003-08-04 13:38:37.000000000 +0000 --- gcc-3.3.2/gcc/java/parse-scan.c 2003-10-16 20:53:26.000000000 +0000 *************** *** 1,4 **** ! /* A Bison parser, made from /home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y by GNU bison 1.35. */ #define YYBISON 1 /* Identify Bison output. */ --- 1,4 ---- ! /* A Bison parser, made from /home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y by GNU bison 1.35. */ #define YYBISON 1 /* Identify Bison output. */ *************** *** 113,119 **** # define BOOL_LIT_TK 364 # define NULL_TK 365 ! #line 37 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" #define JC1_LITE --- 113,119 ---- # define BOOL_LIT_TK 364 # define NULL_TK 365 ! #line 37 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" #define JC1_LITE *************** void report PARAMS ((void)); *** 207,213 **** #include "lex.h" #include "parse.h" ! #line 131 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" #ifndef YYSTYPE typedef union { char *node; --- 207,213 ---- #include "lex.h" #include "parse.h" ! #line 131 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" #ifndef YYSTYPE typedef union { char *node; *************** typedef union { *** 217,223 **** # define YYSTYPE yystype # define YYSTYPE_IS_TRIVIAL 1 #endif ! #line 137 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" extern int flag_assert; --- 217,223 ---- # define YYSTYPE yystype # define YYSTYPE_IS_TRIVIAL 1 #endif ! #line 137 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" extern int flag_assert; *************** yyreduce: *** 2200,2251 **** switch (yyn) { case 10: ! #line 232 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { /* use preset global here. FIXME */ yyval.node = xstrdup ("int"); ; break;} case 11: ! #line 237 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { /* use preset global here. FIXME */ yyval.node = xstrdup ("double"); ; break;} case 12: ! #line 242 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { /* use preset global here. FIXME */ yyval.node = xstrdup ("boolean"); ; break;} case 18: ! #line 267 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { while (bracket_count-- > 0) yyval.node = concat ("[", yyvsp[-1].node, NULL); ; break;} case 19: ! #line 272 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { while (bracket_count-- > 0) yyval.node = concat ("[", yyvsp[-1].node, NULL); ; break;} case 23: ! #line 290 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { yyval.node = concat (yyvsp[-2].node, ".", yyvsp[0].node, NULL); ; break;} case 37: ! #line 322 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { package_name = yyvsp[-1].node; ; break;} case 45: ! #line 349 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { if (yyvsp[0].value == PUBLIC_TK) modifier_value++; --- 2200,2251 ---- switch (yyn) { case 10: ! #line 232 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { /* use preset global here. FIXME */ yyval.node = xstrdup ("int"); ; break;} case 11: ! #line 237 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { /* use preset global here. FIXME */ yyval.node = xstrdup ("double"); ; break;} case 12: ! #line 242 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { /* use preset global here. FIXME */ yyval.node = xstrdup ("boolean"); ; break;} case 18: ! #line 267 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { while (bracket_count-- > 0) yyval.node = concat ("[", yyvsp[-1].node, NULL); ; break;} case 19: ! #line 272 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { while (bracket_count-- > 0) yyval.node = concat ("[", yyvsp[-1].node, NULL); ; break;} case 23: ! #line 290 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { yyval.node = concat (yyvsp[-2].node, ".", yyvsp[0].node, NULL); ; break;} case 37: ! #line 322 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { package_name = yyvsp[-1].node; ; break;} case 45: ! #line 349 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { if (yyvsp[0].value == PUBLIC_TK) modifier_value++; *************** case 45: *** 2255,2261 **** ; break;} case 46: ! #line 357 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { if (yyvsp[0].value == PUBLIC_TK) modifier_value++; --- 2255,2261 ---- ; break;} case 46: ! #line 357 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { if (yyvsp[0].value == PUBLIC_TK) modifier_value++; *************** case 46: *** 2265,2337 **** ; break;} case 47: ! #line 369 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { report_class_declaration(yyvsp[-2].node); modifier_value = 0; ; break;} case 49: ! #line 375 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { report_class_declaration(yyvsp[-2].node); ; break;} case 55: ! #line 389 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 56: ! #line 391 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 57: ! #line 396 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { pop_class_context (); ; break;} case 58: ! #line 398 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { pop_class_context (); ; break;} case 70: ! #line 424 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 71: ! #line 426 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { modifier_value = 0; ; break;} case 76: ! #line 442 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { bracket_count = 0; USE_ABSORBER; ; break;} case 77: ! #line 444 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { ++bracket_count; ; break;} case 80: ! #line 455 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { ++method_depth; ; break;} case 81: ! #line 457 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { --method_depth; ; break;} case 82: ! #line 462 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 84: ! #line 465 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { modifier_value = 0; ; break;} case 85: ! #line 467 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { report_main_declaration (yyvsp[-1].declarator); modifier_value = 0; ; break;} case 86: ! #line 475 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { struct method_declarator *d; NEW_METHOD_DECLARATOR (d, yyvsp[-2].node, NULL); --- 2265,2337 ---- ; break;} case 47: ! #line 369 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { report_class_declaration(yyvsp[-2].node); modifier_value = 0; ; break;} case 49: ! #line 375 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { report_class_declaration(yyvsp[-2].node); ; break;} case 55: ! #line 389 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 56: ! #line 391 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 57: ! #line 396 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { pop_class_context (); ; break;} case 58: ! #line 398 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { pop_class_context (); ; break;} case 70: ! #line 424 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 71: ! #line 426 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { modifier_value = 0; ; break;} case 76: ! #line 442 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { bracket_count = 0; USE_ABSORBER; ; break;} case 77: ! #line 444 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { ++bracket_count; ; break;} case 80: ! #line 455 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { ++method_depth; ; break;} case 81: ! #line 457 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { --method_depth; ; break;} case 82: ! #line 462 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 84: ! #line 465 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { modifier_value = 0; ; break;} case 85: ! #line 467 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { report_main_declaration (yyvsp[-1].declarator); modifier_value = 0; ; break;} case 86: ! #line 475 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { struct method_declarator *d; NEW_METHOD_DECLARATOR (d, yyvsp[-2].node, NULL); *************** case 86: *** 2339,2345 **** ; break;} case 87: ! #line 481 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { struct method_declarator *d; NEW_METHOD_DECLARATOR (d, yyvsp[-3].node, yyvsp[-1].node); --- 2339,2345 ---- ; break;} case 87: ! #line 481 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { struct method_declarator *d; NEW_METHOD_DECLARATOR (d, yyvsp[-3].node, yyvsp[-1].node); *************** case 87: *** 2347,2359 **** ; break;} case 90: ! #line 492 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { yyval.node = concat (yyvsp[-2].node, ",", yyvsp[0].node, NULL); ; break;} case 91: ! #line 499 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { USE_ABSORBER; if (bracket_count) --- 2347,2359 ---- ; break;} case 90: ! #line 492 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { yyval.node = concat (yyvsp[-2].node, ",", yyvsp[0].node, NULL); ; break;} case 91: ! #line 499 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { USE_ABSORBER; if (bracket_count) *************** case 91: *** 2370,2376 **** ; break;} case 92: ! #line 514 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { if (bracket_count) { --- 2370,2376 ---- ; break;} case 92: ! #line 514 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { if (bracket_count) { *************** case 92: *** 2386,2604 **** ; break;} case 95: ! #line 535 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 96: ! #line 537 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 100: ! #line 552 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 102: ! #line 563 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { modifier_value = 0; ; break;} case 104: ! #line 568 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { modifier_value = 0; ; break;} case 105: ! #line 575 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 106: ! #line 577 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 113: ! #line 594 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 114: ! #line 596 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 117: ! #line 608 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { report_class_declaration (yyvsp[0].node); modifier_value = 0; ; break;} case 119: ! #line 611 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { report_class_declaration (yyvsp[0].node); modifier_value = 0; ; break;} case 121: ! #line 614 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { report_class_declaration (yyvsp[-1].node); modifier_value = 0; ; break;} case 123: ! #line 617 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { report_class_declaration (yyvsp[-1].node); modifier_value = 0; ; break;} case 127: ! #line 628 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { pop_class_context (); ; break;} case 128: ! #line 630 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { pop_class_context (); ; break;} case 151: ! #line 689 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 152: ! #line 691 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { modifier_value = 0; ; break;} case 177: ! #line 732 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 188: ! #line 760 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { ++complexity; ; break;} case 189: ! #line 765 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { ++complexity; ; break;} case 190: ! #line 770 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { ++complexity; ; break;} case 198: ! #line 790 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { ++complexity; ; break;} case 203: ! #line 805 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { ++complexity; ; break;} case 207: ! #line 822 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { ++complexity; ; break;} case 213: ! #line 840 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { ++complexity; ; break;} case 224: ! #line 865 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { ++complexity; ; break;} case 227: ! #line 874 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { ++complexity; ; break;} case 230: ! #line 881 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" {yyerror ("Missing term"); RECOVER;; break;} case 231: ! #line 883 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" {yyerror ("';' expected"); RECOVER;; break;} case 234: ! #line 892 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 240: ! #line 907 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { ++complexity; ; break;} case 241: ! #line 911 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { ++complexity; ; break;} case 252: ! #line 933 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 253: ! #line 938 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 254: ! #line 940 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 255: ! #line 942 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 256: ! #line 944 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 264: ! #line 959 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { report_class_declaration (anonymous_context); ; break;} case 266: ! #line 962 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { report_class_declaration (anonymous_context); ; break;} case 268: ! #line 968 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 282: ! #line 1000 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { bracket_count = 1; ; break;} case 283: ! #line 1002 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { bracket_count++; ; break;} case 286: ! #line 1015 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { USE_ABSORBER; ++complexity; ; break;} case 287: ! #line 1017 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { USE_ABSORBER; ++complexity; ; break;} case 288: ! #line 1018 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { ++complexity; ; break;} case 289: ! #line 1019 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { ++complexity; ; break;} case 290: ! #line 1020 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { ++complexity; ; break;} case 291: ! #line 1021 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { ++complexity; ; break;} case 292: ! #line 1026 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 295: ! #line 1033 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 342: ! #line 1129 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { ++complexity; ; break;} case 344: ! #line 1135 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { ++complexity; ; break;} case 346: ! #line 1141 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { ++complexity; ; break;} case 350: ! #line 1155 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} } --- 2386,2604 ---- ; break;} case 95: ! #line 535 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 96: ! #line 537 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 100: ! #line 552 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 102: ! #line 563 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { modifier_value = 0; ; break;} case 104: ! #line 568 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { modifier_value = 0; ; break;} case 105: ! #line 575 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 106: ! #line 577 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 113: ! #line 594 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 114: ! #line 596 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 117: ! #line 608 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { report_class_declaration (yyvsp[0].node); modifier_value = 0; ; break;} case 119: ! #line 611 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { report_class_declaration (yyvsp[0].node); modifier_value = 0; ; break;} case 121: ! #line 614 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { report_class_declaration (yyvsp[-1].node); modifier_value = 0; ; break;} case 123: ! #line 617 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { report_class_declaration (yyvsp[-1].node); modifier_value = 0; ; break;} case 127: ! #line 628 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { pop_class_context (); ; break;} case 128: ! #line 630 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { pop_class_context (); ; break;} case 151: ! #line 689 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 152: ! #line 691 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { modifier_value = 0; ; break;} case 177: ! #line 732 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 188: ! #line 760 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { ++complexity; ; break;} case 189: ! #line 765 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { ++complexity; ; break;} case 190: ! #line 770 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { ++complexity; ; break;} case 198: ! #line 790 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { ++complexity; ; break;} case 203: ! #line 805 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { ++complexity; ; break;} case 207: ! #line 822 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { ++complexity; ; break;} case 213: ! #line 840 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { ++complexity; ; break;} case 224: ! #line 865 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { ++complexity; ; break;} case 227: ! #line 874 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { ++complexity; ; break;} case 230: ! #line 881 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" {yyerror ("Missing term"); RECOVER;; break;} case 231: ! #line 883 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" {yyerror ("';' expected"); RECOVER;; break;} case 234: ! #line 892 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 240: ! #line 907 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { ++complexity; ; break;} case 241: ! #line 911 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { ++complexity; ; break;} case 252: ! #line 933 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 253: ! #line 938 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 254: ! #line 940 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 255: ! #line 942 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 256: ! #line 944 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 264: ! #line 959 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { report_class_declaration (anonymous_context); ; break;} case 266: ! #line 962 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { report_class_declaration (anonymous_context); ; break;} case 268: ! #line 968 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 282: ! #line 1000 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { bracket_count = 1; ; break;} case 283: ! #line 1002 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { bracket_count++; ; break;} case 286: ! #line 1015 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { USE_ABSORBER; ++complexity; ; break;} case 287: ! #line 1017 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { USE_ABSORBER; ++complexity; ; break;} case 288: ! #line 1018 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { ++complexity; ; break;} case 289: ! #line 1019 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { ++complexity; ; break;} case 290: ! #line 1020 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { ++complexity; ; break;} case 291: ! #line 1021 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { ++complexity; ; break;} case 292: ! #line 1026 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 295: ! #line 1033 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} case 342: ! #line 1129 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { ++complexity; ; break;} case 344: ! #line 1135 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { ++complexity; ; break;} case 346: ! #line 1141 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { ++complexity; ; break;} case 350: ! #line 1155 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" { USE_ABSORBER; ; break;} } *************** yyreturn: *** 2834,2840 **** #endif return yyresult; } ! #line 1173 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/java/parse-scan.y" /* Create a new parser context */ --- 2834,2840 ---- #endif return yyresult; } ! #line 1173 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/java/parse-scan.y" /* Create a new parser context */ diff -Nrc3pad gcc-3.3.1/gcc/java/rmic.1 gcc-3.3.2/gcc/java/rmic.1 *** gcc-3.3.1/gcc/java/rmic.1 2003-08-04 13:10:56.000000000 +0000 --- gcc-3.3.2/gcc/java/rmic.1 2003-10-16 20:24:27.000000000 +0000 *************** *** 129,135 **** .\" ======================================================================== .\" .IX Title "RMIC 1" ! .TH RMIC 1 "2003-08-04" "gcc-3.3.1" "GNU" .SH "NAME" rmic \- Generate stubs for Remote Method Invocation .SH "SYNOPSIS" --- 129,135 ---- .\" ======================================================================== .\" .IX Title "RMIC 1" ! .TH RMIC 1 "2003-10-16" "gcc-3.3.2" "GNU" .SH "NAME" rmic \- Generate stubs for Remote Method Invocation .SH "SYNOPSIS" diff -Nrc3pad gcc-3.3.1/gcc/java/rmiregistry.1 gcc-3.3.2/gcc/java/rmiregistry.1 *** gcc-3.3.1/gcc/java/rmiregistry.1 2003-08-04 13:10:56.000000000 +0000 --- gcc-3.3.2/gcc/java/rmiregistry.1 2003-10-16 20:24:27.000000000 +0000 *************** *** 129,135 **** .\" ======================================================================== .\" .IX Title "RMIREGISTRY 1" ! .TH RMIREGISTRY 1 "2003-08-04" "gcc-3.3.1" "GNU" .SH "NAME" rmiregistry \- Remote object registry .SH "SYNOPSIS" --- 129,135 ---- .\" ======================================================================== .\" .IX Title "RMIREGISTRY 1" ! .TH RMIREGISTRY 1 "2003-10-16" "gcc-3.3.2" "GNU" .SH "NAME" rmiregistry \- Remote object registry .SH "SYNOPSIS" diff -Nrc3pad gcc-3.3.1/gcc/libgcc-std.ver gcc-3.3.2/gcc/libgcc-std.ver *** gcc-3.3.1/gcc/libgcc-std.ver 2003-07-13 21:25:09.000000000 +0000 --- gcc-3.3.2/gcc/libgcc-std.ver 2003-09-04 09:39:44.000000000 +0000 *************** GCC_3.3.1 { *** 190,192 **** --- 190,196 ---- __gcc_personality_sj0 __gcc_personality_v0 } + + %inherit GCC_3.3.2 GCC_3.3.1 + GCC_3.3.2 { + } diff -Nrc3pad gcc-3.3.1/gcc/loop.c gcc-3.3.2/gcc/loop.c *** gcc-3.3.1/gcc/loop.c 2003-07-11 06:47:05.000000000 +0000 --- gcc-3.3.2/gcc/loop.c 2003-10-14 08:10:28.000000000 +0000 *************** basic_induction_var (loop, x, mode, dest *** 6275,6281 **** { enum rtx_code code; rtx *argp, arg; ! rtx insn, set = 0; code = GET_CODE (x); *location = NULL; --- 6275,6281 ---- { enum rtx_code code; rtx *argp, arg; ! rtx insn, set = 0, last, inc; code = GET_CODE (x); *location = NULL; *************** basic_induction_var (loop, x, mode, dest *** 6303,6309 **** if (loop_invariant_p (loop, arg) != 1) return 0; ! *inc_val = convert_modes (GET_MODE (dest_reg), GET_MODE (x), arg, 0); *mult_val = const1_rtx; *location = argp; return 1; --- 6303,6328 ---- if (loop_invariant_p (loop, arg) != 1) return 0; ! /* convert_modes can emit new instructions, e.g. when arg is a loop ! invariant MEM and dest_reg has a different mode. ! These instructions would be emitted after the end of the function ! and then *inc_val would be an unitialized pseudo. ! Detect this and bail in this case. ! Other alternatives to solve this can be introducing a convert_modes ! variant which is allowed to fail but not allowed to emit new ! instructions, emit these instructions before loop start and let ! it be garbage collected if *inc_val is never used or saving the ! *inc_val initialization sequence generated here and when *inc_val ! is going to be actually used, emit it at some suitable place. */ ! last = get_last_insn (); ! inc = convert_modes (GET_MODE (dest_reg), GET_MODE (x), arg, 0); ! if (get_last_insn () != last) ! { ! delete_insns_since (last); ! return 0; ! } ! ! *inc_val = inc; *mult_val = const1_rtx; *location = argp; return 1; *************** basic_induction_var (loop, x, mode, dest *** 6384,6390 **** && GET_MODE_CLASS (mode) != MODE_CC) { /* Possible bug here? Perhaps we don't know the mode of X. */ ! *inc_val = convert_modes (GET_MODE (dest_reg), mode, x, 0); *mult_val = const0_rtx; return 1; } --- 6403,6417 ---- && GET_MODE_CLASS (mode) != MODE_CC) { /* Possible bug here? Perhaps we don't know the mode of X. */ ! last = get_last_insn (); ! inc = convert_modes (GET_MODE (dest_reg), mode, x, 0); ! if (get_last_insn () != last) ! { ! delete_insns_since (last); ! return 0; ! } ! ! *inc_val = inc; *mult_val = const0_rtx; return 1; } diff -Nrc3pad gcc-3.3.1/gcc/loop.h gcc-3.3.2/gcc/loop.h *** gcc-3.3.1/gcc/loop.h 2002-12-13 00:17:20.000000000 +0000 --- gcc-3.3.2/gcc/loop.h 2003-09-27 17:23:17.000000000 +0000 *************** struct induction *** 143,151 **** based on the same biv. For bivs, links together all biv entries that refer to the same biv register. */ ! struct induction *same; /* If this giv has been combined with another ! giv, this points to the base giv. The base ! giv will have COMBINED_WITH nonzero. */ HOST_WIDE_INT const_adjust; /* Used by loop unrolling, when an address giv is split, and a constant is eliminated from the address, the -constant is stored here --- 143,154 ---- based on the same biv. For bivs, links together all biv entries that refer to the same biv register. */ ! struct induction *same; /* For givs, if the giv has been combined with ! another giv, this points to the base giv. ! The base giv will have COMBINED_WITH nonzero. ! For bivs, if the biv has the same LOCATION ! than another biv, this points to the base ! biv. */ HOST_WIDE_INT const_adjust; /* Used by loop unrolling, when an address giv is split, and a constant is eliminated from the address, the -constant is stored here diff -Nrc3pad gcc-3.3.1/gcc/Makefile.in gcc-3.3.2/gcc/Makefile.in *** gcc-3.3.1/gcc/Makefile.in 2003-08-03 15:48:36.000000000 +0000 --- gcc-3.3.2/gcc/Makefile.in 2003-08-10 23:11:19.000000000 +0000 *************** CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(IN *** 401,407 **** -finhibit-size-directive -fno-inline-functions -fno-exceptions \ -fno-zero-initialized-in-bss ! # Additional sources to handle exceptions; overridden on ia64. LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde.c \ $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h --- 401,407 ---- -finhibit-size-directive -fno-inline-functions -fno-exceptions \ -fno-zero-initialized-in-bss ! # Additional sources to handle exceptions; overridden by targets as needed. LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde.c \ $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h diff -Nrc3pad gcc-3.3.1/gcc/mklibgcc.in gcc-3.3.2/gcc/mklibgcc.in *** gcc-3.3.1/gcc/mklibgcc.in 2003-01-26 11:35:07.000000000 +0000 --- gcc-3.3.2/gcc/mklibgcc.in 2003-09-09 00:37:34.000000000 +0000 *************** for ml in $MULTILIBS; do *** 308,315 **** done fi echo "" ! echo "${dir}/libgcc.a: $libgcc_a_objs" echo " -rm -rf ${dir}/libgcc.a" echo ' $(AR_CREATE_FOR_TARGET)' ${dir}/libgcc.a $libgcc_a_objs echo ' if $(RANLIB_TEST_FOR_TARGET) ; then' \\ --- 308,321 ---- done fi + # Each of these .a files depends on stmp-dirs. It would seem that + # this dependency is redundant, since each of the object files + # itself depends on stmp-dirs. However, it is possible that there + # are in fact no object files. In that case, the stmp-dirs + # dependency is required; the directory containing the archive must + # exist before the archive itself can be created. echo "" ! echo "${dir}/libgcc.a: stmp-dirs $libgcc_a_objs" echo " -rm -rf ${dir}/libgcc.a" echo ' $(AR_CREATE_FOR_TARGET)' ${dir}/libgcc.a $libgcc_a_objs echo ' if $(RANLIB_TEST_FOR_TARGET) ; then' \\ *************** for ml in $MULTILIBS; do *** 319,325 **** if [ "$SHLIB_LINK" ]; then echo "" ! echo "${dir}/libgcc_eh.a: $libgcc_eh_objs" echo " -rm -rf ${dir}/libgcc_eh.a" echo ' $(AR_CREATE_FOR_TARGET)' ${dir}/libgcc_eh.a $libgcc_eh_objs echo ' if $(RANLIB_TEST_FOR_TARGET) ; then' \\ --- 325,331 ---- if [ "$SHLIB_LINK" ]; then echo "" ! echo "${dir}/libgcc_eh.a: stmp-dirs $libgcc_eh_objs" echo " -rm -rf ${dir}/libgcc_eh.a" echo ' $(AR_CREATE_FOR_TARGET)' ${dir}/libgcc_eh.a $libgcc_eh_objs echo ' if $(RANLIB_TEST_FOR_TARGET) ; then' \\ diff -Nrc3pad gcc-3.3.1/gcc/mkmap-symver.awk gcc-3.3.2/gcc/mkmap-symver.awk *** gcc-3.3.1/gcc/mkmap-symver.awk 2002-11-27 20:00:14.000000000 +0000 --- gcc-3.3.2/gcc/mkmap-symver.awk 2003-09-04 09:39:44.000000000 +0000 *************** function output(lib) { *** 95,116 **** if (inherit[lib]) output(inherit[lib]); ! printf("%s {\n", lib); ! sawglobal = 0; for (sym in ver) if ((ver[sym] == lib) && (sym in def)) { ! if (!sawglobal) { printf(" global:\n"); ! sawglobal = 1; } printf("\t%s;\n", sym); if (dotsyms) printf("\t.%s;\n", sym); } ! if (inherit[lib]) printf("} %s;\n", inherit[lib]); else printf ("\n local:\n\t*;\n};\n"); --- 95,122 ---- if (inherit[lib]) output(inherit[lib]); ! empty=1 for (sym in ver) if ((ver[sym] == lib) && (sym in def)) { ! if (empty) { + printf("%s {\n", lib); printf(" global:\n"); ! empty = 0; } printf("\t%s;\n", sym); if (dotsyms) printf("\t.%s;\n", sym); } ! if (empty) ! { ! for (l in libs) ! if (inherit[l] == lib) ! inherit[l] = inherit[lib]; ! } ! else if (inherit[lib]) printf("} %s;\n", inherit[lib]); else printf ("\n local:\n\t*;\n};\n"); diff -Nrc3pad gcc-3.3.1/gcc/NEWS gcc-3.3.2/gcc/NEWS *** gcc-3.3.1/gcc/NEWS 2003-08-04 12:58:32.000000000 +0000 --- gcc-3.3.2/gcc/NEWS 2003-10-16 20:11:11.000000000 +0000 *************** that led to GCC 3. For information on GC *** 5,10 **** --- 5,1598 ---- see ONEWS. ====================================================================== + http://gcc.gnu.org/gcc-3.3/index.html + + GCC 3.3 Release Series + + October 16, 2003 + + The [1]GNU project and the GCC developers are pleased to announce the + release of GCC 3.3.2. + + GCC 3.3.2 includes numerous [2]new features, improvements, bug fixes, + and other changes, thanks to an [3]amazing group of volunteers. + + [4]GCJ 3.3 status is tracked for a variety of targets and test + packages. + + Release History + + GCC 3.3.2 + October 16, 2003 ([5]changes) + + GCC 3.3.1 + August 8, 2003 ([6]changes) + + GCC 3.3 + May 14, 2003 ([7]changes) + + References and Acknowledgements + + GCC used to stand for the GNU C Compiler, but since the compiler + supports several other languages aside from C, it now stands for the + GNU Compiler Collection. + + A list of [8]successful builds is updated as new information becomes + available. + + The GCC developers would like to thank the numerous people that have + contributed new features, improvements, bug fixes, and other changes + as well as test results to GCC. This [9]amazing group of volunteers is + what makes GCC successful. + + For additional information about GCC please refer to the [10]GCC + project web site or contact the [11]GCC development mailing list. + + To obtain GCC please use [12]our mirror sites, one of the [13]GNU + mirror sites, or [14]our CVS server. + _________________________________________________________________ + + Please send FSF & GNU inquiries & questions to [15]gnu@gnu.org. There + are also [16]other ways to contact the FSF. + + These pages are maintained by [17]the GCC team. + + + For questions related to the use of GCC, please consult these web + pages and the [18]GCC manuals. If that fails, the + [19]gcc-help@gcc.gnu.org mailing list might help. + Please send comments on these web pages and the development of GCC + to our public developer mailing list at [20]gcc@gnu.org or + [21]gcc@gcc.gnu.org. + + Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite + 330, Boston, MA 02111, USA. + + Verbatim copying and distribution of this entire article is permitted + in any medium, provided this notice is preserved. + + Last modified 2003-10-16 [22]Valid XHTML 1.0 + + References + + 1. http://www.gnu.org/ + 2. http://gcc.gnu.org/gcc-3.3/changes.html + 3. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html + 4. http://gcc.gnu.org/gcc-3.3/gcj-status.html + 5. http://gcc.gnu.org/gcc-3.3/changes.html + 6. http://gcc.gnu.org/gcc-3.3/changes.html + 7. http://gcc.gnu.org/gcc-3.3/changes.html + 8. http://gcc.gnu.org/gcc-3.3/buildstat.html + 9. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html + 10. http://gcc.gnu.org/index.html + 11. mailto:gcc@gcc.gnu.org + 12. http://gcc.gnu.org/mirrors.html + 13. http://www.gnu.org/order/ftp.html + 14. http://gcc.gnu.org/cvs.html + 15. mailto:gnu@gnu.org + 16. http://www.gnu.org/home.html#ContactInfo + 17. http://gcc.gnu.org/about.html + 18. http://gcc.gnu.org/onlinedocs/ + 19. mailto:gcc-help@gcc.gnu.org + 20. mailto:gcc@gnu.org + 21. mailto:gcc@gcc.gnu.org + 22. http://validator.w3.org/check/referer + ====================================================================== + http://gcc.gnu.org/gcc-3.3/changes.html + + GCC 3.3 Release Series + Changes, New Features, and Fixes + + Caveats + + * The preprocessor no longer accepts multi-line string literals. + They were deprecated in 3.0, 3.1, and 3.2. + * The preprocessor no longer supports the -A- switch when appearing + alone. -A- followed by an assertion is still supported. + * Support for all the systems [1]obsoleted in GCC 3.1 has been + removed from GCC 3.3. See below for a [2]list of systems which are + obsoleted in this release. + * Checking for null format arguments has been decoupled from the + rest of the format checking mechanism. Programs which use the + format attribute may regain this functionality by using the new + [3]nonnull function attribute. Note that all functions for which + GCC has a built-in format attribute, an appropriate built-in + nonnull attribute is also applied. + * The DWARF (version 1) debugging format has been deprecated and + will be removed in a future version of GCC. Version 2 of the DWARF + debugging format will continue to be supported for the foreseeable + future. + * The C and Objective-C compilers no longer accept the "Naming + Types" extension (typedef foo = bar); it was already unavailable + in C++. Code which uses it will need to be changed to use the + "typeof" extension instead: typedef typeof(bar) foo. (We have + removed this extension without a period of deprecation because it + has caused the compiler to crash since version 3.0 and no one + noticed until very recently. Thus we conclude it is not in + widespread use.) + * The -traditional C compiler option has been removed. It was + deprecated in 3.1 and 3.2. (Traditional preprocessing remains + available.) The header, used for writing variadic + functions in traditional C, still exists but will produce an error + message if used. + * GCC 3.3.1 automatically places zero-initialized variables in the + .bss section on some operating systems. Versions of GNU Emacs up + to (and including) 21.3 will not work correctly when using this + optimization; you can use -fno-zero-initialized-in-bss to disable + it. + + General Optimizer Improvements + + * A new scheme for accurately describing processor pipelines, the + [4]DFA scheduler, has been added. + * Pavel Nejedly, Charles University Prague, has contributed new file + format used by the edge coverage profiler (-fprofile-arcs). + The new format is robust and diagnoses common mistakes where + profiles from different versions (or compilations) of the program + are combined resulting in nonsensical profiles and slow code to + produced with profile feedback. Additionally this format allows + extra data to be gathered. Currently, overall statistics are + produced helping optimizers to identify hot spots of a program + globally replacing the old intra-procedural scheme and resulting + in better code. Note that the gcov tool from older GCC versions + will not be able to parse the profiles generated by GCC 3.3 and + vice versa. + * Jan Hubicka, SuSE Labs, has contributed a new superblock formation + pass enabled using -ftracer. This pass simplifies the control flow + of functions allowing other optimizations to do better job. + He also contributed the function reordering pass + (-freorder-functions) to optimize function placement using profile + feedback. + + New Languages and Language specific improvements + + C/ObjC/C++ + + * The preprocessor now accepts directives within macro arguments. It + processes them just as if they had not been within macro + arguments. + * The separate ISO and traditional preprocessors have been + completely removed. The front-end handles either type of + preprocessed output if necessary. + * In C99 mode preprocessor arithmetic is done in the precision of + the target's intmax_t, as required by that standard. + * The preprocessor can now copy comments inside macros to the output + file when the macro is expanded. This feature, enabled using the + -CC option, is intended for use by applications which place + metadata or directives inside comments, such as lint. + * The method of constructing the list of directories to be searched + for header files has been revised. If a directory named by a -I + option is a standard system include directory, the option is + ignored to ensure that the default search order for system + directories and the special treatment of system header files are + not defeated. + * A few more [5]ISO C99 features now work correctly. + * A new function attribute, nonnull, has been added which allows + pointer arguments to functions to be specified as requiring a + non-null value. The compiler currently uses this information to + issue a warning when it detects a null value passed in such an + argument slot. + * A new type attribute, may_alias, has been added. Accesses to + objects with types with this attribute are not subjected to + type-based alias analysis, but are instead assumed to be able to + alias any other type of objects, just like the char type. + + C++ + + * Type based alias analysis has been implemented for C++ aggregate + types. + + Objective-C + + * Generate an error if Objective-C objects are passed by value in + function and method calls. + * When -Wselector is used, check the whole list of selectors at the + end of compilation, and emit a warning if a @selector() is not + known. + * Define __NEXT_RUNTIME__ when compiling for the NeXT runtime. + * No longer need to include objc/objc-class.h to compile self calls + in class methods (NeXT runtime only). + * New -Wundeclared-selector option. + * Removed selector bloating which was causing object files to be 10% + bigger on average (GNU runtime only). + * Using at run time @protocol() objects has been fixed in certain + situations (GNU runtime only). + * Type checking has been fixed and improved in many situations + involving protocols. + + Java + + * The java.sql and javax.sql packages now implement the JDBC 3.0 + (JDK 1.4) API. + * The JDK 1.4 assert facility has been implemented. + * The bytecode interpreter is now direct threaded and thus faster. + + Fortran + + * Fortran improvements are listed in [6]the Fortran documentation. + + Ada + + * Ada tasking now works with glibc 2.3.x threading libraries. + + New Targets and Target Specific Improvements + + * The following changes have been made to the HP-PA port: + + The port now defaults to scheduling for the PA8000 series of + processors. + + Scheduling support for the PA7300 processor has been added. + + The 32-bit port now supports weak symbols under HP-UX 11. + + The handling of initializers and finalizers has been improved + under HP-UX 11. The 64-bit port no longer uses collect2. + + Dwarf2 EH support has been added to the 32-bit linux port. + + ABI fixes to correct the passing of small structures by + value. + * The SPARC, HP-PA, SH4, and x86/pentium ports have been converted + to use the DFA processor pipeline description. + * The following NetBSD configurations for the SuperH processor + family have been added: + + SH3, big-endian, sh-*-netbsdelf* + + SH3, little-endian, shle-*-netbsdelf* + + SH5, SHmedia, big-endian, 32-bit default, sh5-*-netbsd* + + SH5, SHmedia, little-endian, 32-bit default, sh5le-*-netbsd* + + SH5, SHmedia, big-endian, 64-bit default, sh64-*-netbsd* + + SH5, SHmedia, little-endian, 64-bit default, sh64le-*-netbsd* + * The following changes have been made to the IA-32/x86-64 port: + + SSE2 and 3dNOW! intrinsics are now supported. + + Support for thread local storage has been added to the IA-32 + and x86-64 ports. + + The x86-64 port has been significantly improved. + * The following changes have been made to the MIPS port: + + All configurations now accept the -mabi switch. Note that you + will need appropriate multilibs for this option to work + properly. + + ELF configurations will always pass an ABI flag to the + assembler, except when the MIPS EABI is selected. + + -mabi=64 no longer selects MIPS IV code. + + The -mcpu option, which was deprecated in 3.1 and 3.2, has + been removed from this release. + + -march now changes the core ISA level. In previous releases, + it would change the use of processor-specific extensions, but + would leave the core ISA unchanged. For example, mips64-elf + -march=r8000 will now generate MIPS IV code. + + Under most configurations, -mipsN now acts as a synonym for + -march. + + There are some new preprocessor macros to describe the -march + and -mtune settings. See the documentation of those options + for details. + + Support for the NEC VR-Series processors has been added. This + includes the 54xx, 5500, and 41xx series. + + Support for the Sandcraft sr71k processor has been added. + * The following changes have been made to the S/390 port: + + Support to build the Java runtime libraries has been added. + Java is now enabled by default on s390-*-linux* and + s390x-*-linux* targets. + + Multilib support for the s390x-*-linux* target has been + added; this allows to build 31-bit binaries using the -m31 + option. + + Support for thread local storage has been added. + + Inline assembler code may now use the 'Q' constraint to + specify memory operands without index register. + + Various platform-specific performance improvements have been + implemented; in particular, the compiler now uses the BRANCH + ON COUNT family of instructions and makes more frequent use + of the TEST UNDER MASK family of instructions. + * The following changes have been made to the PowerPC port: + + Support for IBM Power4 processor added. + + Support for Motorola e500 SPE added. + + Support for AIX 5.2 added. + + Function and Data sections now supported on AIX. + + Sibcall optimizations added. + * The support for H8 Tiny is added to the H8/300 port with -mn. + + Obsolete Systems + + Support for a number of older systems has been declared obsolete in + GCC 3.3. Unless there is activity to revive them, the next release of + GCC will have their sources permanently removed. + + All configurations of the following processor architectures have been + declared obsolete: + * Matsushita MN10200, mn10200-*-* + * Motorola 88000, m88k-*-* + * IBM ROMP, romp-*-* + + Also, some individual systems have been obsoleted: + * Alpha + + Interix, alpha*-*-interix* + + Linux libc1, alpha*-*-linux*libc1* + + Linux ECOFF, alpha*-*-linux*ecoff* + * ARM + + Generic a.out, arm*-*-aout* + + Conix, arm*-*-conix* + + "Old ABI," arm*-*-oabi + + StrongARM/COFF, strongarm-*-coff* + * HPPA (PA-RISC) + + Generic OSF, hppa1.0-*-osf* + + Generic BSD, hppa1.0-*-bsd* + + HP/UX versions 7, 8, and 9, hppa1.[01]-*-hpux[789]* + + HiUX, hppa*-*-hiux* + + Mach Lites, hppa*-*-lites* + * Intel 386 family + + Windows NT 3.x, i?86-*-win32 + * MC68000 family + + HP systems, m68000-hp-bsd* and m68k-hp-bsd* + + Sun systems, m68000-sun-sunos*, m68k-sun-sunos*, and + m68k-sun-mach* + + AT&T systems, m68000-att-sysv* + + Atari systems, m68k-atari-sysv* + + Motorola systems, m68k-motorola-sysv* + + NCR systems, m68k-ncr-sysv* + + Plexus systems, m68k-plexus-sysv* + + Commodore systems, m68k-cbm-sysv* + + Citicorp TTI, m68k-tti-* + + Unos, m68k-crds-unos* + + Concurrent RTU, m68k-ccur-rtu* + + Linux a.out, m68k-*-linux*aout* + + Linux libc1, m68k-*-linux*libc1* + + pSOS, m68k-*-psos* + * MIPS + + Generic ECOFF, mips*-*-ecoff* + + SINIX, mips-sni-sysv4 + + Orion RTEMS, mips64orion-*-rtems* + * National Semiconductor 32000 + + OpenBSD, ns32k-*-openbsd* + * POWER (aka RS/6000) and PowerPC + + AIX versions 1, 2, and 3, rs6000-ibm-aix[123]* + + Bull BOSX, rs6000-bull-bosx + + Generic Mach, rs6000-*-mach* + + Generic SysV, powerpc*-*-sysv* + + Linux libc1, powerpc*-*-linux*libc1* + * Sun SPARC + + Generic a.out, sparc-*-aout*, sparclet-*-aout*, + sparclite-*-aout*, and sparc86x-*-aout* + + NetBSD a.out, sparc-*-netbsd*aout* + + Generic BSD, sparc-*-bsd* + + ChorusOS, sparc-*-chorusos* + + Linux a.out, sparc-*-linux*aout* + + Linux libc1, sparc-*-linux*libc1* + + LynxOS, sparc-*-lynxos* + + Solaris on HAL hardware, sparc-hal-solaris2* + + SunOS versions 3 and 4, sparc-*-sunos[34]* + * NEC V850 + + RTEMS, v850-*-rtems* + * VAX + + VMS, vax-*-vms* + + Documentation improvements + + Other significant improvements + + * Almost all front-end dependencies in the compiler have been + separated out into a set of language hooks. This should make + adding a new front end clearer and easier. + * One effect of removing the separate preprocessor is a small + increase in the robustness of the compiler in general, and the + maintainability of target descriptions. Previously target-specific + built-in macros and others, such as __FAST_MATH__, had to be + handled with so-called specs that were hard to maintain. Often + they would fail to behave properly when conflicting options were + supplied on the command line, and define macros in the user's + namespace even when strict ISO compliance was requested. + Integrating the preprocessor has cleanly solved these issues. + * The Makefile suite now supports redirection of make install by + means of the variable DESTDIR. + _________________________________________________________________ + + GCC 3.3 + + Detailed release notes for the GCC 3.3 release follow. + + Bug Fixes + + bootstrap failures + + * [7]10140 cross compiler build failures: missing __mempcpy (DUP: + [8]10198,[9]10338) + + Internal compiler errors (multi-platform) + + * [10]3581 large string causes segmentation fault in cc1 + * [11]4382 __builtin_{set,long}jmp with -O3 can crash the compiler + * [12]5533 (c++) ICE when processing std::accumulate(begin, end, + init, invalid_op) + * [13]6387 -fpic -gdwarf-2 -g1 combination gives ICE in dwarf2out + * [14]6412 (c++) ICE in retrieve_specialization + * [15]6620 (c++) partial template specialization causes an ICE + (segmentation fault) + * [16]6663 (c++) ICE with attribute aligned + * [17]7068 ICE with incomplete types + * [18]7083 (c++) ICE using -gstabs with dodgy class derivation + * [19]7647 (c++) ICE when data member has the name of the enclosing + class + * [20]7675 ICE in fixup_var_refs_1 + * [21]7718 'complex' template instantiation causes ICE + * [22]8116 (c++) ICE in member template function + * [23]8358 (ada) Ada compiler accesses freed memory, crashes + * [24]8511 (c++) ICE: (hopefully) reproducible cc1plus segmentation + fault + * [25]8564 (c++) ICE in find_function_data, in function.c + * [26]8660 (c++) template overloading ICE in tsubst_expr, in cp/pt.c + * [27]8766 (c++) ICE after failed initialization of static template + variable + * [28]8803 ICE in instantiate_virtual_regs_1, in function.c + * [29]8846 (c++) ICE after diagnostic if fr_FR@euro locale is set + * [30]8906 (c++) ICE (Segmentation fault) when parsing nested-class + definition + * [31]9216 (c++) ICE on missing template parameter + * [32]9261 (c++) ICE in arg_assoc, in cp/decl2.c + * [33]9263 (fortran) ICE caused by invalid PARAMETER in implied DO + loop + * [34]9429 (c++) ICE in template instantiation with a pointered new + operator + * [35]9516 Internal error when using a big array + * [36]9600 (c++) ICE with typedefs in template class + * [37]9629 (c++) virtual inheritance segfault + * [38]9672 (c++) ICE: Error reporting routines re-entered + * [39]9749 (c++) ICE in write_expression on invalid function + prototype + * [40]9794 (fortran) ICE: floating point exception during constant + folding + * [41]9829 (c++) Missing colon in nested namespace usage causes ICE + * [42]9916 (c++) ICE with noreturn function in ?: statement + * [43]9936 ICE with local function and variable-length 2d array + * [44]10262 (c++) cc1plus crashes with large generated code + * [45]10278 (c++) ICE in parser for invalid code + * [46]10446 (c++) ICE on definition of nonexistent member function + of nested class in a class template + * [47]10451 (c++) ICE in grokdeclarator on spurious mutable + declaration + * [48]10506 (c++) ICE in build_new at cp/init.c with + -fkeep-inline-functions and multiple inheritance + * [49]10549 (c++) ICE in store_bit_field on bitfields that exceed + the precision of the declared type + + Optimization bugs + + * [50]2001 Inordinately long compile times in reload CSE regs + * [51]2391 Exponential compilation time explosion in combine + * [52]2960 Duplicate loop conditions even with -Os + * [53]4046 redundant conditional branch + * [54]6405 Loop-unrolling related performance regressions + * [55]6798 very long compile time with large case-statement + * [56]6871 const objects shouldn't be moved to .bss + * [57]6909 problem w/ -Os on modified loop-2c.c test case + * [58]7189 gcc -O2 -Wall does not print ``control reaches end of + non-void function'' warning + * [59]7642 optimization problem with signbit() + * [60]8634 incorrect code for inlining of memcpy under -O2 + * [61]8750 Cygwin prolog generation erroneously emitting __alloca as + regular function call + + c front end + + * [62]2161 long if-else cascade overflows parser stack + * [63]4319 short accepted on typedef'd char + * [64]8602 incorrect line numbers in warning messages when using + inline functions + * [65]9177 -fdump-translation-unit: C front end deletes + function_decl AST nodes and breaks debugging dumps + * [66]9853 miscompilation of non-constant structure initializer + + c++ compiler and library + + * [67]45 legal template specialization code is rejected (DUP: + [68]3784) + * [69]764 lookup failure: friend operator and dereferencing a + pointer and templates (DUP: [70]5116) + * [71]2862 gcc accepts invalid explicit instantiation syntax (DUP: + 2863) + * [72]3663 G++ doesn't check access control during template + instantiation + * [73]3797 gcc fails to emit explicit specialization of a template + member + * [74]3948 Two destructors are called when no copy destructor is + defined (ABI change) + * [75]4137 Conversion operator within template is not accepted + * [76]4361 bogus ambiguity taking the address of a member template + * [77]4802 g++ accepts illegal template code (access to private + member; DUP: [78]5837) + * [79]4803 inline function is used but never defined, and g++ does + not object + * [80]5094 Partial specialization cannot be friend? + * [81]5730 complex::norm() -- huge slowdown from + egcs-2.91.66 + * [82]6713 Regression wrt 3.0.4: g++ -O2 leads to seg fault at run + time + * [83]7015 certain __asm__ constructs rejected + * [84]7086 compile time regression (quadratic behavior in + fixup_var_refs) + * [85]7099 G++ doesn't set the noreturn attribute on std::exit and + std::abort + * [86]7247 copy constructor missing when inlining enabled (invalid + optimization?) + * [87]7441 string array initialization compilation time regression + from seconds to minutes + * [88]7768 __PRETTY_FUNCTION__ for template destructor is wrong + * [89]7804 bad printing of floating point constant in warning + message + * [90]8099 Friend classes and template specializations + * [91]8117 member function pointers and multiple inheritance + * [92]8205 using declaration and multiple inheritance + * [93]8645 unnecessary non-zero checks in stl_tree.h + * [94]8724 explicit destructor call for incomplete class allowed + * [95]8805 compile time regression with many member variables + * [96]8691 -O3 and -fno-implicit-templates are incompatible + * [97]8700 unhelpful error message for binding temp to reference + * [98]8724 explicit destructor call for incomplete class allowed + * [99]8949 numeric_limits<>::denorm_min() and is_iec559 problems + * [100]9016 Failure to consistently constant fold "constant" C++ + objects + * [101]9053 g++ confused about ambiguity of overloaded function + templates + * [102]9152 undefined virtual thunks + * [103]9182 basic_filebuf<> does not report errors in codecvt<>::out + * [104]9297 data corruption due to codegen bug (when copying.) + * [105]9318 i/ostream::operator>>/<<(streambuf*) broken + * [106]9320 Incorrect usage of traits_type::int_type in + stdio_filebuf + * [107]9400 bogus -Wshadow warning: shadowed declaration of this in + local classes + * [108]9424 i/ostream::operator>>/<<(streambuf*) drops characters + * [109]9425 filebuf::pbackfail broken (DUP: [110]9439) + * [111]9474 GCC freezes in compiling a weird code mixing + and + * [112]9548 Incorrect results from setf(ios::fixed) and + precision(-1) [DR231] + * [113]9555 ostream inserters fail to set badbit on exception + * [114]9561 ostream inserters rethrow exception of wrong type + * [115]9563 ostream::sentry returns true after a failed preparation + * [116]9582 one-definition rule violation in std::allocator + * [117]9622 __PRETTY_FUNCTION__ incorrect in template destructors + * [118]9683 bug in initialization chains for static const variables + from template classes + * [119]9791 -Woverloaded-virtual reports hiding of destructor + * [120]9817 collate::compare doesn't handle nul characters + * [121]9825 filebuf::sputbackc breaks sbumpc + * [122]9826 operator>>(basic_istream, basic_string) fails to compile + with custom traits + * [123]9924 Multiple using statements for builtin functions not + allowed + * [124]9946 destructor is not called for temporary object + * [125]9964 filebuf::close() sometimes fails to close file + * [126]9988 filebuf::overflow writes EOF to file + * [127]10033 optimization breaks polymorphic references w/ typeid + operator + * [128]10097 filebuf::underflow drops characters + * [129]10132 filebuf destructor can throw exceptions + * [130]10180 gcc fails to warn about non-inlined function + * [131]10199 method parametrized by template does not work + everywhere + * [132]10300 use of array-new (nothrow) in segfaults on NULL return + * [133]10427 Stack corruption with variable-length automatic arrays + and virtual destructors + * [134]10503 Compilation never stops in fixed_type_or_null + + Objective-C + + * [135]5956 selectors aren't matched properly when added to the + selector table + + Fortran compiler and library + + * [136]1832 list directed i/o overflow hangs, -fbounds-check doesn't + detect + * [137]3924 g77 generates code that is rejected by GAS if COFF debug + info requested + * [138]5634 doc: explain that configure --prefix=~/... does not work + * [139]6367 multiple repeat counts confuse namelist read into array + * [140]6491 Logical operations error on logicals when using + -fugly-logint + * [141]6742 Generation of C++ Prototype for FORTRAN and extern "C" + * [142]7113 Failure of g77.f-torture/execute/f90-intrinsic-bit.f -Os + on irix6.5 + * [143]7236 OPEN(...,RECL=nnn,...) without ACCESS='DIRECT' should + assume a direct access file + * [144]7278 g77 "bug"; the executable misbehaves (with -O2 + -fno-automatic) + * [145]7384 DATE_AND_TIME milliseconds field inactive on Windows + * [146]7388 Incorrect output with 0-based array of characters + * [147]8587 Double complex zero ** double precision number -> NaN + instead of zero + * [148]9038 -ffixed-line-length-none -x f77-cpp-input gives: + Warning: unknown register name line-length-none + * [149]10197 Direct access files not unformatted by default + + Java compiler and library + + * [150]6005 gcj fails to build rhug on alpha + * [151]6389 System.getProperty("") should always throw an + IllegalArgumentException + * [152]6576 java.util.ResourceBundle.getResource ignores locale + * [153]6652 new java.io.File("").getCanonicalFile() throws exception + * [154]7060 getMethod() doesn't search super interface + * [155]7073 bytecode interpreter gives wrong answer for interface + getSuperclass() + * [156]7180 possible bug in + javax.naming.spi.NamingManager.getPlusPath() + * [157]7416 java.security startup refs "GNU libgcj.security" + * [158]7570 Runtime.exec with null envp: child doesn't inherit + parent env (DUP: [159]7578) + * [160]7611 Internal error while compiling libjava with -O + * [161]7709 NullPointerException in _Jv_ResolvePoolEntry + * [162]7766 ZipInputStream.available returns 0 immediately after + construction + * [163]7785 Calendar.getTimeInMillis/setTimeInMillis should be + public + * [164]7786 TimeZone.getDSTSavings() from JDK1.4 not implemented + * [165]8142 '$' in class names vs. dlopen 'dynamic string tokens' + * [166]8234 ZipInputStream chokes when InputStream.read() returns + small chunks + * [167]8415 reflection bug: exception info for Method + * [168]8481 java.Random.nextInt(int) may return negative + * [169]8593 Error reading GZIPped files with BufferedReader + * [170]8759 java.beans.Introspector has no flushCaches() or + flushFromCaches() methods + * [171]8997 spin() calls Thread.sleep + * [172]9253 on win32, java.io.File.listFiles("C:\\") returns pwd + instead of the root content of C: + * [173]9254 java::lang::Object::wait(), threads-win32.cc returns + wrong return codes + * [174]9271 Severe bias in java.security.SecureRandom + + Ada compiler and library + + * [175]6767 make gnatlib-shared fails on -laddr2line + * [176]9911 gnatmake fails to link when GCC configured with + --with-sjlj-exceptions=yes + * [177]10020 Can't bootstrap gcc on AIX with Ada enabled + * [178]10546 Ada tasking not working on Red Hat 9 + + preprocessor + + * [179]7029 preprocessor should ignore #warning with -M + + ARM-specific + + * [180]2903 [arm] Optimization bug with long long arithmetic + * [181]7873 arm-linux-gcc fails when assigning address to a bit + field + + FreeBSD-specific + + * [182]7680 float functions undefined in math.h/cmath with #define + _XOPEN_SOURCE + + HP-UX or HP-PA-specific + + * [183]8705 [HP-PA] ICE in emit_move_insn_1, in expr.c + * [184]9986 [HP-UX] Incorrect transformation of fputs_unlocked to + fputc_unlocked + * [185]10056 [HP-PA] ICE at -O2 when building c++ code from doxygen + + m68hc11-specific + + * [186]6744 Bad assembler code generated: reference to pseudo + register z + * [187]7361 Internal compiler error in reload_cse_simplify_operands, + in reload1.c + + MIPS-specific + + * [188]9496 [mips-linux] bug in optimizer? + + PowerPC-specific + + * [189]7067 -Os with -mcpu=powerpc optimizes for speed (?) instead + of space + * [190]8480 reload ICEs for LAPACK code on powerpc64-linux + * [191]8784 [AIX] Internal compiler error in simplify_gen_subreg + * [192]10315 [powerpc] ICE: in extract_insn, in recog.c + + SPARC-specific + + * [193]10267 (documentation) Wrong build instructions for + *-*-solaris2* + + x86-specific (Intel/AMD) + + * [194]7916 ICE in instantiate_virtual_register_1 + * [195]7926 (c++) i486 instructions in header files make c++ + programs crash on i386 + * [196]8555 ICE in gen_split_1231 + * [197]8994 ICE with -O -march=pentium4 + * [198]9426 ICE with -fssa -funroll-loops -fprofile-arcs + * [199]9806 ICE in inline assembly with -fPIC flag + * [200]10077 gcc -msse2 generates movd to move dwords between xmm + regs + * [201]10233 64-bit comparison only comparing bottom 32-bits + * [202]10286 type-punning doesn't work with __m64 and -O + * [203]10308 [x86] ICE with -O -fgcse or -O2 + _________________________________________________________________ + + GCC 3.3.1 + + Bug Fixes + + This section lists the problem reports (PRs) from GCC's bug tracking + system that are known to be fixed in the 3.3.1 release. This list + might not be complete (that is, it is possible that some PRs that have + been fixed are not listed here). + + Bootstrap failures + + * [204]11272 [Solaris] make bootstrap fails while building libstdc++ + + Internal compiler errors (multi-platform) + + * [205]5754 ICE on invalid nested template class + * [206]6597 ICE in set_mem_alias_set compiling Qt with -O2 on ia64 + and --enable-checking + * [207]6949 (c++) ICE in tsubst_decl, in cp/pt.c + * [208]7053 (c++) ICE when declaring a function already defined as a + friend method of a template class + * [209]8164 (c++) ICE when using different const expressions as + template parameter + * [210]8384 (c++) ICE in is_base_type, in dwarf2out.c + * [211]9559 (c++) ICE with invalid initialization of a static const + * [212]9649 (c++) ICE in finish_member_declaration, in + cp/semantics.c when redeclaring a static member variable + * [213]9864 (fortran) ICE in add_abstract_origin_attribute, in + dwarfout.c with -g -O -finline-functions + * [214]10432 (c++) ICE in poplevel, in cp/decl.c + * [215]10475 ICE in subreg_highpart_offset for code with long long + * [216]10635 (c++) ICE when dereferencing an incomplete type casted + from a void pointer + * [217]10661 (c++) ICE in instantiate_decl, in cp/pt.c while + instantiating static member variables + * [218]10700 ICE in copy_to_mode_reg on 64-bit targets + * [219]10712 (c++) ICE in constructor_name_full, in cp/decl2.c + * [220]10796 (c++) ICE when defining an enum with two values: -1 and + MAX_INT_64BIT + * [221]10890 ICE in merge_assigned_reloads building Linux 2.4.2x + sched.c + * [222]10939 (c++) ICE with template code + * [223]10956 (c++) ICE when specializing a template member function + of a template class, in tsubst, in cp/pt.c + * [224]11041 (c++) ICE: const myclass &x = *x; (when operator*() + defined) + * [225]11059 (c++) ICE with empty union + * [226]11083 (c++) ICE in commit_one_edge_insertion, in cfgrtl.c + with -O2 -fnon-call-exceptions + * [227]11105 (c++) ICE in mangle_conv_op_name_for_type + * [228]11149 (c++) ICE on error when instantiation with call + function of a base type + * [229]11228 (c++) ICE on new-expression using array operator new + and default-initialization + * [230]11282 (c++) Infinite memory usage after syntax error + * [231]11301 (fortran) ICE with -fno-globals + * [232]11308 (c++) ICE when using an enum type name as if it were a + class or namespace + * [233]11473 (c++) ICE with -gstabs when empty struct inherits from + an empty struct + * [234]11503 (c++) ICE when instantiating template with ADDR_EXPR + * [235]11513 (c++) ICE in push_template_decl_real, in cp/pt.c: + template member functions + + Optimization bugs + + * [236]11198 -O2 -frename-registers generates wrong code (aliasing + problem) + * [237]11304 Wrong code production with -fomit-frame-pointer + * [238]11381 volatile memory access optimized away + * [239]11536 [strength-reduce] -O2 optimization produces wrong code + * [240]11557 constant folding bug generates wrong code + + C front end + + * [241]5897 No warning for statement after return + * [242]11279 DWARF-2 output mishandles large enums + + Preprocessor bugs + + * [243]11022 no warning for non-compatible macro redefinition + + C++ compiler and library + + * [244]2330 static_cast<>() to a private base is allowed + * [245]5388 Incorrect message "operands to ?: have different types" + * [246]5390 Libiberty fails to demangle multi-digit template + parameters + * [247]7877 Incorrect parameter passing to specializations of member + function templates + * [248]9393 Anonymous namespaces and compiling the same file twice + * [249]10032 -pedantic converts some errors to warnings + * [250]10468 const typeof(x) is non-const, but only in templates + * [251]10527 confused error message with "new int()" parameter + initializer + * [252]10679 parameter MIN_INLINE_INSNS is not honored + * [253]10682 gcc chokes on a typedef for an enum inside a class + template + * [254]10689 pow(std::complex(0),1/3) returns (nan, nan) instead of + 0. + * [255]10845 template member function (with nested template as + parameter) cannot be called anymore if another unrelated template + member function is defined + * [256]10849 Cannot define an out-of-class specialization of a + private nested template class + * [257]10888 Suppress -Winline warnings for system headers + * [258]10929 -Winline warns about functions for which no definition + is visible + * [259]10931 valid conversion static_cast(lvalue-of-type-int) is rejected + * [260]10940 Bad code with explicit specialization + * [261]10968 If member function implicitly instantiated, explicit + instantiation of class fails to instantiate it + * [262]10990 Cannot convert with dynamic_cast<> to a private base + class from within a member function + * [263]11039 Bad interaction between implicit typename deprecation + and friendship + * [264]11062 (libstdc++) avoid __attribute__ ((unused)); say + "__unused__" instead + * [265]11095 C++ iostream manipulator causes segfault when called + with negative argument + * [266]11098 g++ doesn't emit complete debugging information for + local variables in destructors + * [267]11137 Linux shared library constructors not called unless + there's one global object + * [268]11154 spurious ambiguity report for template class + specialization + * [269]11329 Compiler cannot find user defined implicit typecast + * [270]11332 Spurious error with casts in ?: expression + * [271]11431 static_cast behavior with subclasses when default + constructor available + * [272]11528 money_get facet does not accept "$.00" as valid + * [273]11546 Type lookup problems in out-of-line definition of a + class doubly nested from a template class + * [274]11567 C++ code containing templated member function with same + name as pure virtual member function results in linking failure + * [275]11645 Failure to deal with using and private inheritance + + Java compiler and library + + * [276]5179 Qualified static field access doesn't initialize its + class + * [277]8204 gcj -O2 to native reorders certain instructions + improperly + * [278]10838 java.io.ObjectInputStream syntax error + * [279]10886 The RMI registry that comes with GCJ does not work + correctly + * [280]11349 JNDI URL context factories not located correctly + + x86-specific (Intel/AMD) + + * [281]4823 ICE on inline assembly code + * [282]8878 miscompilation with -O and SSE + * [283]9815 (c++ library) atomicity.h - fails to compile with -O3 + -masm=intel + * [284]10402 (inline assembly) [x86] ICE in merge_assigned_reloads, + in reload1.c + * [285]10504 ICE with SSE2 code and -O3 -mcpu=pentium4 -msse2 + * [286]10673 ICE for x86-64 on freebsd libc vfprintf.c source + * [287]11044 [x86] out of range loop instructions for FP code on K6 + * [288]11089 ICE: instantiate_virtual_regs_lossage while using SSE + built-ins + * [289]11420 [x86_64] gcc generates invalid asm code when "-O -fPIC" + is used + + SPARC- or Solaris- specific + + * [290]9362 solaris 'as' dies when fed .s and "-gstabs" + * [291]10142 [SPARC64] gcc produces wrong code when passing + structures by value + * [292]10663 New configure check aborts with Sun tools. + * [293]10835 combinatorial explosion in scheduler on HyperSPARC + * [294]10876 ICE in calculate_giv_inc when building KDE + * [295]10955 wrong code at -O3 for structure argument in context of + structure return + * [296]11018 -mcpu=ultrasparc busts tar-1.13.25 + * [297]11556 [sparc64] ICE in gen_reg_rtx() while compiling 2.6.x + Linux kernel + + ia64 specific + + * [298]10907 gcc violates the ia64 ABI (GP must be preserved) + * [299]11320 scheduler bug (in machine depended reorganization pass) + * [300]11599 bug with conditional and __builtin_prefetch + + PowerPC specific + + * [301]9745 [powerpc] gcc mis-compiles libmcrypt (alias problem + during loop) + * [302]10871 error in rs6000_stack_info save_size computation + * [303]11440 gcc mis-compiles c++ code (libkhtml) with -O2, + -fno-gcse cures it + + m68k-specific + + * [304]7594 [m68k] ICE on legal code associated with simplify-rtx + * [305]10557 [m68k] ICE in subreg_offset_representable_p + * [306]11054 [m68k] ICE in reg_overlap_mentioned_p + + ARM-specific + + * [307]10834 [arm] GCC 3.3 still generates incorrect instructions + for functions with __attribute__ ((interrupt ("IRQ"))) + * [308]10842 [arm] Clobbered link register is copied to pc under + certain circumstances + * [309]11052 [arm] noce_process_if_block() can lose REG_INC notes + * [310]11183 [arm] ICE in change_address_1 (3.3) / subreg_hard_regno + (3.4) + + MIPS-specific + + * [311]11084 ICE in propagate_one_insn, in flow.c + + SH-specific + + * [312]10331 can't compile c++ part of gcc cross compiler for sh-elf + * [313]10413 [SH] ICE in reload_cse_simplify_operands, in reload1.c + * [314]11096 i686-linux to sh-linux cross compiler fails to compile + C++ files + + GNU/Linux (or Hurd?) specific + + * [315]2873 Bogus fixinclude of stdio.h from glibc 2.2.3 + + UnixWare specific + + * [316]3163 configure bug: gcc/aclocal.m4 mmap test fails on + UnixWare 7.1.1 + + Cygwin (or mingw) specific + + * [317]5287 ICE with dllimport attribute + * [318]10148 [MingW/CygWin] Compiler dumps core + + DJGPP specific + + * [319]8787 GCC fails to emit .intel_syntax when invoked with + -masm=intel on DJGPP + + Documentation + + * [320]1607 (c++) Format attributes on methods undocumented + * [321]4252 Invalid option `-fdump-translation-unit' + * [322]4490 Clarify restrictions on -m96bit-long-double, + -m128bit-long-double + * [323]10355 document an issue with regparm attribute on some + systems (e.g. Solaris) + * [324]10726 (fortran) Documentation for function "IDate Intrinsic + (Unix)" is wrong + * [325]10805 document bug in old version of Sun assembler + * [326]10815 warn against GNU binutils on AIX + * [327]10877 document need for newer binutils on i?86-*-linux-gnu + * [328]11280 Manual incorrect with respect to -freorder-blocks + * [329]11466 Document -mlittle-endian and its restrictions for the + sparc64 port + + Testsuite bugs (compiler itself is not affected) + + * [330]10737 newer bison causes g++.dg/parse/crash2.C to incorrectly + report failure + * [331]10810 gcc-3.3 fails make check: buffer overrun in + test_demangle.c + _________________________________________________________________ + + GCC 3.3.2 + + Oct. 14, 2003: This section is preliminary, as 3.3.2 has not yet been + officially released. + + Bug Fixes + + This section lists the problem reports (PRs) from [332]GCC's bug + tracking system that are known to be fixed in the 3.3.2 release. This + list might not be complete (that is, it is possible that some PRs that + have been fixed are not listed here). + + Bootstrap failures and problems + + * [333]8336 [SCO5] bootstrap config still tries to use COFF options + * [334]9330 [alpha-osf] Bootstrap failure on Compaq Tru64 with + --enable-threads=posix + * [335]9631 [hppa64-linux] gcc-3.3 fails to bootstrap + * [336]9877 fixincludes makes a bad sys/byteorder.h on svr5 + (UnixWare 7.1.1) + * [337]11687 xstormy16-elf build fails in libf2c + * [338]12263 [SGI IRIX] bootstrap fails during compile of + libf2c/libI77/backspace.c + * [339]12490 buffer overflow in scan-decls.c (during Solaris 9 + fix-header processing) + + Internal compiler errors (multi-platform) + + * [340]7277 Casting integers to vector types causes ICE + * [341]11063 (c++) ICE on parsing initialization list of const array + member + * [342]11207 ICE with negative index in array element designator + * [343]11522 (fortran) g77 dwarf-2 ICE in + add_abstract_origin_attribute + * [344]11595 (c++) ICE on duplicate label definition + * [345]11646 (c++) ICE in commit_one_edge_insertion with + -fnon-call-exceptions -fgcse -O + * [346]11665 ICE in struct initializer when taking address + * [347]11852 (c++) ICE with bad struct initializer. + * [348]11878 (c++) ICE in cp_expr_size + * [349]11883 ICE with any -O on mercury-generated C code + * [350]11991 (c++) ICE in cxx_incomplete_type_diagnostic, in + cp/typeck2.c when applying typeid operator to template template + parameter + * [351]12146 ICE in lookup_template_function, in cp/pt.c + * [352]12215 ICE in make_label_edge with -fnon-call-exceptions + -fno-gcse -O2 + * [353]12446 ICE in emit_move_insn on complicated array reference + * [354]12510 ICE in final_scan_insn + * [355]12544 ICE with large parameters used in nested functions + + C and optimization bugs + + * [356]9862 spurious warnings with -W -finline-functions + * [357]10962 lookup_field is a linear search on a linked list (can + be slow if large struct) + * [358]11370 -Wunreachable-code gives false complaints + * [359]11637 invalid assembly with -fnon-call-exceptions + * [360]11885 Problem with bitfields in packed structs + * [361]12082 Inappropriate unreachable code warnings + * [362]12180 Inline optimization fails for variadic function + * [363]12340 loop unroller + gcse produces wrong code + + C++ compiler and library + + * [364]3907 nested template parameter collides with member name + * [365]5293 confusing message when binding a temporary to a + reference + * [366]5296 [DR115] Pointers to functions and to template functions + behave differently in deduction + * [367]7939 ICE on function template specialization + * [368]8656 Unable to assign function with __attribute__ and pointer + return type to an appropriate variable + * [369]10147 Confusing error message for invalid template function + argument + * [370]11400 std::search_n() makes assumptions about Size parameter + * [371]11409 issues with using declarations, overloading, and + built-in functions + * [372]11740 ctype::do_is(mask, wchar_t) doesn't handle + multiple bits in mask + * [373]11786 operator() call on variable in other namespace not + recognized + * [374]11867 static_cast ignores ambiguity + * [375]11928 bug with conversion operators that are typedefs + * [376]12163 static_cast + explicit constructor regression + * [377]12181 Wrong code with comma operator and c++ + * [378]12236 regparm and fastcall messes up parameters + * [379]12266 incorrect instantiation of unneeded template during + overload resolution + * [380]12296 istream::peek() doesn't set eofbit + * [381]12369 ICE ith templates and friends + * [382]12337 apparently infinite loop in g++ + * [383]12344 stdcall attribute ignored if function returns a pointer + * [384]12451 missing(late) class forward declaration in cxxabi.h + * [385]12486 g++ accepts invalid use of a qualified name + + x86 specific (Intel/AMD) + + * [386]8869 [x86 MMX] ICE with const variable optimization and MMX + builtins + * [387]9786 ICE in fixup_abnormal_edges with -fnon-call-exceptions + -O2 + * [388]11689 g++3.3 emits un-assembleable code for k6 architecture + * [389]12116 [k6] Invalid assembly output values with X-MAME code + * [390]12070 ICE converting between double and long double with + -msoft-float + + ia64-specific + + * [391]11184 [ia64 hpux] ICE on __builtin_apply building libobjc + * [392]11535 __builtin_return_address may not work on ia64 + * [393]11693 [ia64] ICE in gen_nop_type + * [394]12224 [ia64] Thread-local storage doesn't work + + PowerPC-specific + + * [395]11087 [powerpc64-linux] GCC miscompiles raid1.c from linux + kernel + * [396]11319 loop miscompiled on ppc32 + * [397]11949 ICE Compiler segfault with ffmpeg -maltivec code + + SPARC-specific + + * [398]11662 wrong code for expr. with cast to long long and + exclusive or + * [399]11965 invalid assembler code for a shift << 32 operation + * [400]12301 (c++) stack corruption when a returned expression + throws an exception + + Alpha-specific + + * [401]11717 [alpha-linux] unrecognizable insn compiling for.c of + kernel 2.4.22-pre8 + + Darwin (and MacOS X) specific + + * [402]10900 trampolines crash + + HPUX-specific + + * [403]11313 problem with #pragma weak and static inline functions + * [404]11712 __STDC_EXT__ not defined for C++ by default anymore? + + Solaris specific + + * [405]12166 Profiled programs crash if PROFDIR is set + + Solaris-x86 specific + + * [406]12101 i386 Solaris no longer works with GNU as? + + Miscellaneous embedded target-specific bugs + + * [407]10988 [m32r-elf] wrong blockmove code with -O3 + * [408]11805 [h8300-unknown-coff] [H8300] ICE for simple code with + -O2 + * [409]11902 [sh4] spec file improperly inserts rpath even when none + needed + * [410]11903 [sh4] -pthread fails to link due to error in spec file + on sh4 + _________________________________________________________________ + + Please send FSF & GNU inquiries & questions to [411]gnu@gnu.org. There + are also [412]other ways to contact the FSF. + + These pages are maintained by [413]the GCC team. + + + For questions related to the use of GCC, please consult these web + pages and the [414]GCC manuals. If that fails, the + [415]gcc-help@gcc.gnu.org mailing list might help. + Please send comments on these web pages and the development of GCC + to our public developer mailing list at [416]gcc@gnu.org or + [417]gcc@gcc.gnu.org. + + Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite + 330, Boston, MA 02111, USA. + + Verbatim copying and distribution of this entire article is permitted + in any medium, provided this notice is preserved. + + Last modified 2003-10-16 [418]Valid XHTML 1.0 + + References + + 1. http://gcc.gnu.org/gcc-3.1/changes.html#obsolete_systems + 2. http://gcc.gnu.org/gcc-3.3/changes.html#obsolete_systems + 3. http://gcc.gnu.org/gcc-3.3/changes.html#nonnull_attribute + 4. http://gcc.gnu.org/news/dfa.html + 5. http://gcc.gnu.org/gcc-3.3/c99status.html + 6. http://gcc.gnu.org/onlinedocs/g77/News.html + 7. http://gcc.gnu.org/PR10140 + 8. http://gcc.gnu.org/PR10198 + 9. http://gcc.gnu.org/PR10338 + 10. http://gcc.gnu.org/PR3581 + 11. http://gcc.gnu.org/PR4382 + 12. http://gcc.gnu.org/PR5533 + 13. http://gcc.gnu.org/PR6387 + 14. http://gcc.gnu.org/PR6412 + 15. http://gcc.gnu.org/PR6620 + 16. http://gcc.gnu.org/PR6663 + 17. http://gcc.gnu.org/PR7068 + 18. http://gcc.gnu.org/PR7083 + 19. http://gcc.gnu.org/PR7647 + 20. http://gcc.gnu.org/PR7675 + 21. http://gcc.gnu.org/PR7718 + 22. http://gcc.gnu.org/PR8116 + 23. http://gcc.gnu.org/PR8358 + 24. http://gcc.gnu.org/PR8511 + 25. http://gcc.gnu.org/PR8564 + 26. http://gcc.gnu.org/PR8660 + 27. http://gcc.gnu.org/PR8766 + 28. http://gcc.gnu.org/PR8803 + 29. http://gcc.gnu.org/PR8846 + 30. http://gcc.gnu.org/PR8906 + 31. http://gcc.gnu.org/PR9216 + 32. http://gcc.gnu.org/PR9261 + 33. http://gcc.gnu.org/PR9263 + 34. http://gcc.gnu.org/PR9429 + 35. http://gcc.gnu.org/PR9516 + 36. http://gcc.gnu.org/PR9600 + 37. http://gcc.gnu.org/PR9629 + 38. http://gcc.gnu.org/PR9672 + 39. http://gcc.gnu.org/PR9749 + 40. http://gcc.gnu.org/PR9794 + 41. http://gcc.gnu.org/PR9829 + 42. http://gcc.gnu.org/PR9916 + 43. http://gcc.gnu.org/PR9936 + 44. http://gcc.gnu.org/PR10262 + 45. http://gcc.gnu.org/PR10278 + 46. http://gcc.gnu.org/PR10446 + 47. http://gcc.gnu.org/PR10451 + 48. http://gcc.gnu.org/PR10506 + 49. http://gcc.gnu.org/PR10549 + 50. http://gcc.gnu.org/PR2001 + 51. http://gcc.gnu.org/PR2391 + 52. http://gcc.gnu.org/PR2960 + 53. http://gcc.gnu.org/PR4046 + 54. http://gcc.gnu.org/PR6405 + 55. http://gcc.gnu.org/PR6798 + 56. http://gcc.gnu.org/PR6871 + 57. http://gcc.gnu.org/PR6909 + 58. http://gcc.gnu.org/PR7189 + 59. http://gcc.gnu.org/PR7642 + 60. http://gcc.gnu.org/PR8634 + 61. http://gcc.gnu.org/PR8750 + 62. http://gcc.gnu.org/PR2161 + 63. http://gcc.gnu.org/PR4319 + 64. http://gcc.gnu.org/PR8602 + 65. http://gcc.gnu.org/PR9177 + 66. http://gcc.gnu.org/PR9853 + 67. http://gcc.gnu.org/PR45 + 68. http://gcc.gnu.org/PR3784 + 69. http://gcc.gnu.org/PR764 + 70. http://gcc.gnu.org/PR5116 + 71. http://gcc.gnu.org/PR2862 + 72. http://gcc.gnu.org/PR3663 + 73. http://gcc.gnu.org/PR3797 + 74. http://gcc.gnu.org/PR3948 + 75. http://gcc.gnu.org/PR4137 + 76. http://gcc.gnu.org/PR4361 + 77. http://gcc.gnu.org/PR4802 + 78. http://gcc.gnu.org/PR5837 + 79. http://gcc.gnu.org/PR4803 + 80. http://gcc.gnu.org/PR5094 + 81. http://gcc.gnu.org/PR5730 + 82. http://gcc.gnu.org/PR6713 + 83. http://gcc.gnu.org/PR7015 + 84. http://gcc.gnu.org/PR7086 + 85. http://gcc.gnu.org/PR7099 + 86. http://gcc.gnu.org/PR7247 + 87. http://gcc.gnu.org/PR7441 + 88. http://gcc.gnu.org/PR7768 + 89. http://gcc.gnu.org/PR7804 + 90. http://gcc.gnu.org/PR8099 + 91. http://gcc.gnu.org/PR8117 + 92. http://gcc.gnu.org/PR8205 + 93. http://gcc.gnu.org/PR8645 + 94. http://gcc.gnu.org/PR8724 + 95. http://gcc.gnu.org/PR8805 + 96. http://gcc.gnu.org/PR8691 + 97. http://gcc.gnu.org/PR8700 + 98. http://gcc.gnu.org/PR8724 + 99. http://gcc.gnu.org/PR8949 + 100. http://gcc.gnu.org/PR9016 + 101. http://gcc.gnu.org/PR9053 + 102. http://gcc.gnu.org/PR9152 + 103. http://gcc.gnu.org/PR9182 + 104. http://gcc.gnu.org/PR9297 + 105. http://gcc.gnu.org/PR9318 + 106. http://gcc.gnu.org/PR9320 + 107. http://gcc.gnu.org/PR9400 + 108. http://gcc.gnu.org/PR9424 + 109. http://gcc.gnu.org/PR9425 + 110. http://gcc.gnu.org/PR9439 + 111. http://gcc.gnu.org/PR9474 + 112. http://gcc.gnu.org/PR9548 + 113. http://gcc.gnu.org/PR9555 + 114. http://gcc.gnu.org/PR9561 + 115. http://gcc.gnu.org/PR9563 + 116. http://gcc.gnu.org/PR9582 + 117. http://gcc.gnu.org/PR9622 + 118. http://gcc.gnu.org/PR9683 + 119. http://gcc.gnu.org/PR9791 + 120. http://gcc.gnu.org/PR9817 + 121. http://gcc.gnu.org/PR9825 + 122. http://gcc.gnu.org/PR9826 + 123. http://gcc.gnu.org/PR9924 + 124. http://gcc.gnu.org/PR9946 + 125. http://gcc.gnu.org/PR9964 + 126. http://gcc.gnu.org/PR9988 + 127. http://gcc.gnu.org/PR10033 + 128. http://gcc.gnu.org/PR10097 + 129. http://gcc.gnu.org/PR10132 + 130. http://gcc.gnu.org/PR10180 + 131. http://gcc.gnu.org/PR10199 + 132. http://gcc.gnu.org/PR10300 + 133. http://gcc.gnu.org/PR10427 + 134. http://gcc.gnu.org/PR10503 + 135. http://gcc.gnu.org/PR5956 + 136. http://gcc.gnu.org/PR1832 + 137. http://gcc.gnu.org/PR3924 + 138. http://gcc.gnu.org/PR5634 + 139. http://gcc.gnu.org/PR6367 + 140. http://gcc.gnu.org/PR6491 + 141. http://gcc.gnu.org/PR6742 + 142. http://gcc.gnu.org/PR7113 + 143. http://gcc.gnu.org/PR7236 + 144. http://gcc.gnu.org/PR7278 + 145. http://gcc.gnu.org/PR7384 + 146. http://gcc.gnu.org/PR7388 + 147. http://gcc.gnu.org/PR8587 + 148. http://gcc.gnu.org/PR9038 + 149. http://gcc.gnu.org/PR10197 + 150. http://gcc.gnu.org/PR6005 + 151. http://gcc.gnu.org/PR6389 + 152. http://gcc.gnu.org/PR6576 + 153. http://gcc.gnu.org/PR6652 + 154. http://gcc.gnu.org/PR7060 + 155. http://gcc.gnu.org/PR7073 + 156. http://gcc.gnu.org/PR7180 + 157. http://gcc.gnu.org/PR7416 + 158. http://gcc.gnu.org/PR7570 + 159. http://gcc.gnu.org/PR7578 + 160. http://gcc.gnu.org/PR7611 + 161. http://gcc.gnu.org/PR7709 + 162. http://gcc.gnu.org/PR7766 + 163. http://gcc.gnu.org/PR7785 + 164. http://gcc.gnu.org/PR7786 + 165. http://gcc.gnu.org/PR8142 + 166. http://gcc.gnu.org/PR8234 + 167. http://gcc.gnu.org/PR8415 + 168. http://gcc.gnu.org/PR8481 + 169. http://gcc.gnu.org/PR8593 + 170. http://gcc.gnu.org/PR8759 + 171. http://gcc.gnu.org/PR8997 + 172. http://gcc.gnu.org/PR9253 + 173. http://gcc.gnu.org/PR9254 + 174. http://gcc.gnu.org/PR9271 + 175. http://gcc.gnu.org/PR6767 + 176. http://gcc.gnu.org/PR9911 + 177. http://gcc.gnu.org/PR10020 + 178. http://gcc.gnu.org/PR10546 + 179. http://gcc.gnu.org/PR7029 + 180. http://gcc.gnu.org/PR2903 + 181. http://gcc.gnu.org/PR7873 + 182. http://gcc.gnu.org/PR7680 + 183. http://gcc.gnu.org/PR8705 + 184. http://gcc.gnu.org/PR9986 + 185. http://gcc.gnu.org/PR10056 + 186. http://gcc.gnu.org/PR6744 + 187. http://gcc.gnu.org/PR7361 + 188. http://gcc.gnu.org/PR9496 + 189. http://gcc.gnu.org/PR7067 + 190. http://gcc.gnu.org/PR8480 + 191. http://gcc.gnu.org/PR8784 + 192. http://gcc.gnu.org/PR10315 + 193. http://gcc.gnu.org/PR10267 + 194. http://gcc.gnu.org/PR7916 + 195. http://gcc.gnu.org/PR7926 + 196. http://gcc.gnu.org/PR8555 + 197. http://gcc.gnu.org/PR8994 + 198. http://gcc.gnu.org/PR9426 + 199. http://gcc.gnu.org/PR9806 + 200. http://gcc.gnu.org/PR10077 + 201. http://gcc.gnu.org/PR10233 + 202. http://gcc.gnu.org/PR10286 + 203. http://gcc.gnu.org/PR10308 + 204. http://gcc.gnu.org/PR11272 + 205. http://gcc.gnu.org/PR5754 + 206. http://gcc.gnu.org/PR6597 + 207. http://gcc.gnu.org/PR6949 + 208. http://gcc.gnu.org/PR7053 + 209. http://gcc.gnu.org/PR8164 + 210. http://gcc.gnu.org/PR8384 + 211. http://gcc.gnu.org/PR9559 + 212. http://gcc.gnu.org/PR9649 + 213. http://gcc.gnu.org/PR9864 + 214. http://gcc.gnu.org/PR10432 + 215. http://gcc.gnu.org/PR10475 + 216. http://gcc.gnu.org/PR10635 + 217. http://gcc.gnu.org/PR10661 + 218. http://gcc.gnu.org/PR10700 + 219. http://gcc.gnu.org/PR10712 + 220. http://gcc.gnu.org/PR10796 + 221. http://gcc.gnu.org/PR10890 + 222. http://gcc.gnu.org/PR10939 + 223. http://gcc.gnu.org/PR10956 + 224. http://gcc.gnu.org/PR11041 + 225. http://gcc.gnu.org/PR11059 + 226. http://gcc.gnu.org/PR11083 + 227. http://gcc.gnu.org/PR11105 + 228. http://gcc.gnu.org/PR11149 + 229. http://gcc.gnu.org/PR11228 + 230. http://gcc.gnu.org/PR11282 + 231. http://gcc.gnu.org/PR11301 + 232. http://gcc.gnu.org/PR11308 + 233. http://gcc.gnu.org/PR11473 + 234. http://gcc.gnu.org/PR11503 + 235. http://gcc.gnu.org/PR11513 + 236. http://gcc.gnu.org/PR11198 + 237. http://gcc.gnu.org/PR11304 + 238. http://gcc.gnu.org/PR11381 + 239. http://gcc.gnu.org/PR11536 + 240. http://gcc.gnu.org/PR11557 + 241. http://gcc.gnu.org/PR5897 + 242. http://gcc.gnu.org/PR11279 + 243. http://gcc.gnu.org/PR11022 + 244. http://gcc.gnu.org/PR2330 + 245. http://gcc.gnu.org/PR5388 + 246. http://gcc.gnu.org/PR5390 + 247. http://gcc.gnu.org/PR7877 + 248. http://gcc.gnu.org/PR9393 + 249. http://gcc.gnu.org/PR10032 + 250. http://gcc.gnu.org/PR10468 + 251. http://gcc.gnu.org/PR10527 + 252. http://gcc.gnu.org/PR10679 + 253. http://gcc.gnu.org/PR10682 + 254. http://gcc.gnu.org/PR10689 + 255. http://gcc.gnu.org/PR10845 + 256. http://gcc.gnu.org/PR10849 + 257. http://gcc.gnu.org/PR10888 + 258. http://gcc.gnu.org/PR10929 + 259. http://gcc.gnu.org/PR10931 + 260. http://gcc.gnu.org/PR10940 + 261. http://gcc.gnu.org/PR10968 + 262. http://gcc.gnu.org/PR10990 + 263. http://gcc.gnu.org/PR11039 + 264. http://gcc.gnu.org/PR11062 + 265. http://gcc.gnu.org/PR11095 + 266. http://gcc.gnu.org/PR11098 + 267. http://gcc.gnu.org/PR11137 + 268. http://gcc.gnu.org/PR11154 + 269. http://gcc.gnu.org/PR11329 + 270. http://gcc.gnu.org/PR11332 + 271. http://gcc.gnu.org/PR11431 + 272. http://gcc.gnu.org/PR11528 + 273. http://gcc.gnu.org/PR11546 + 274. http://gcc.gnu.org/PR11567 + 275. http://gcc.gnu.org/PR11645 + 276. http://gcc.gnu.org/PR5179 + 277. http://gcc.gnu.org/PR8204 + 278. http://gcc.gnu.org/PR10838 + 279. http://gcc.gnu.org/PR10886 + 280. http://gcc.gnu.org/PR11349 + 281. http://gcc.gnu.org/PR4823 + 282. http://gcc.gnu.org/PR8878 + 283. http://gcc.gnu.org/PR9815 + 284. http://gcc.gnu.org/PR10402 + 285. http://gcc.gnu.org/PR10504 + 286. http://gcc.gnu.org/PR10673 + 287. http://gcc.gnu.org/PR11044 + 288. http://gcc.gnu.org/PR11089 + 289. http://gcc.gnu.org/PR11420 + 290. http://gcc.gnu.org/PR9362 + 291. http://gcc.gnu.org/PR10142 + 292. http://gcc.gnu.org/PR10663 + 293. http://gcc.gnu.org/PR10835 + 294. http://gcc.gnu.org/PR10876 + 295. http://gcc.gnu.org/PR10955 + 296. http://gcc.gnu.org/PR11018 + 297. http://gcc.gnu.org/PR11556 + 298. http://gcc.gnu.org/PR10907 + 299. http://gcc.gnu.org/PR11320 + 300. http://gcc.gnu.org/PR11599 + 301. http://gcc.gnu.org/PR9745 + 302. http://gcc.gnu.org/PR10871 + 303. http://gcc.gnu.org/PR11440 + 304. http://gcc.gnu.org/PR7594 + 305. http://gcc.gnu.org/PR10557 + 306. http://gcc.gnu.org/PR11054 + 307. http://gcc.gnu.org/PR10834 + 308. http://gcc.gnu.org/PR10842 + 309. http://gcc.gnu.org/PR11052 + 310. http://gcc.gnu.org/PR11183 + 311. http://gcc.gnu.org/PR11084 + 312. http://gcc.gnu.org/PR10331 + 313. http://gcc.gnu.org/PR10413 + 314. http://gcc.gnu.org/PR11096 + 315. http://gcc.gnu.org/PR2873 + 316. http://gcc.gnu.org/PR3163 + 317. http://gcc.gnu.org/PR5287 + 318. http://gcc.gnu.org/PR10148 + 319. http://gcc.gnu.org/PR8787 + 320. http://gcc.gnu.org/PR1607 + 321. http://gcc.gnu.org/PR4252 + 322. http://gcc.gnu.org/PR4490 + 323. http://gcc.gnu.org/PR10355 + 324. http://gcc.gnu.org/PR10726 + 325. http://gcc.gnu.org/PR10805 + 326. http://gcc.gnu.org/PR10815 + 327. http://gcc.gnu.org/PR10877 + 328. http://gcc.gnu.org/PR11280 + 329. http://gcc.gnu.org/PR11466 + 330. http://gcc.gnu.org/PR10737 + 331. http://gcc.gnu.org/PR10810 + 332. http://gcc.gnu.org/bugzilla/ + 333. http://gcc.gnu.org/PR8336 + 334. http://gcc.gnu.org/PR9330 + 335. http://gcc.gnu.org/PR9631 + 336. http://gcc.gnu.org/PR9877 + 337. http://gcc.gnu.org/PR11687 + 338. http://gcc.gnu.org/PR12263 + 339. http://gcc.gnu.org/PR12490 + 340. http://gcc.gnu.org/PR7277 + 341. http://gcc.gnu.org/PR11063 + 342. http://gcc.gnu.org/PR11207 + 343. http://gcc.gnu.org/PR11522 + 344. http://gcc.gnu.org/PR11595 + 345. http://gcc.gnu.org/PR11646 + 346. http://gcc.gnu.org/PR11665 + 347. http://gcc.gnu.org/PR11852 + 348. http://gcc.gnu.org/PR11878 + 349. http://gcc.gnu.org/PR11883 + 350. http://gcc.gnu.org/PR11991 + 351. http://gcc.gnu.org/PR12146 + 352. http://gcc.gnu.org/PR12215 + 353. http://gcc.gnu.org/PR12446 + 354. http://gcc.gnu.org/PR12510 + 355. http://gcc.gnu.org/PR12544 + 356. http://gcc.gnu.org/PR9862 + 357. http://gcc.gnu.org/PR10962 + 358. http://gcc.gnu.org/PR11370 + 359. http://gcc.gnu.org/PR11637 + 360. http://gcc.gnu.org/PR11885 + 361. http://gcc.gnu.org/PR12082 + 362. http://gcc.gnu.org/PR12180 + 363. http://gcc.gnu.org/PR12340 + 364. http://gcc.gnu.org/PR3907 + 365. http://gcc.gnu.org/PR5293 + 366. http://gcc.gnu.org/PR5296 + 367. http://gcc.gno.org/PR7939 + 368. http://gcc.gnu.org/PR8656 + 369. http://gcc.gnu.org/PR10147 + 370. http://gcc.gnu.org/PR11400 + 371. http://gcc.gnu.org/PR11409 + 372. http://gcc.gnu.org/PR11740 + 373. http://gcc.gnu.org/PR11786 + 374. http://gcc.gnu.org/PR11867 + 375. http://gcc.gnu.org/PR11928 + 376. http://gcc.gnu.org/PR12163 + 377. http://gcc.gnu.org/PR12181 + 378. http://gcc.gnu.org/PR12236 + 379. http://gcc.gnu.org/PR12266 + 380. http://gcc.gnu.org/PR12296 + 381. http://gcc.gnu.org/PR12369 + 382. http://gcc.gnu.org/PR12337 + 383. http://gcc.gnu.org/PR12344 + 384. http://gcc.gnu.org/PR12451 + 385. http://gcc.gnu.org/PR12486 + 386. http://gcc.gnu.org/PR8869 + 387. http://gcc.gnu.org/PR9786 + 388. http://gcc.gnu.org/PR11689 + 389. http://gcc.gnu.org/PR12116 + 390. http://gcc.gnu.org/PR12070 + 391. http://gcc.gnu.org/PR11184 + 392. http://gcc.gnu.org/PR11535 + 393. http://gcc.gnu.org/PR11693 + 394. http://gcc.gnu.org/PR12224 + 395. http://gcc.gnu.org/PR11087 + 396. http://gcc.gnu.org/PR11319 + 397. http://gcc.gnu.org/PR11949 + 398. http://gcc.gnu.org/PR11662 + 399. http://gcc.gnu.org/PR11965 + 400. http://gcc.gnu.org/PR12301 + 401. http://gcc.gnu.org/PR11717 + 402. http://gcc.gnu.org/PR10900 + 403. http://gcc.gnu.org/PR11313 + 404. http://gcc.gnu.org/PR11712 + 405. http://gcc.gnu.org/PR12166 + 406. http://gcc.gnu.org/PR12101 + 407. http://gcc.gnu.org/PR10988 + 408. http://gcc.gnu.org/PR11805 + 409. http://gcc.gnu.org/PR11902 + 410. http://gcc.gnu.org/PR11903 + 411. mailto:gnu@gnu.org + 412. http://www.gnu.org/home.html#ContactInfo + 413. http://gcc.gnu.org/about.html + 414. http://gcc.gnu.org/onlinedocs/ + 415. mailto:gcc-help@gcc.gnu.org + 416. mailto:gcc@gnu.org + 417. mailto:gcc@gcc.gnu.org + 418. http://validator.w3.org/check/referer + ====================================================================== http://gcc.gnu.org/gcc-3.2/index.html GCC 3.2 Release Series *************** References and Acknowledgements *** 64,75 **** Please send FSF & GNU inquiries & questions to [14]gnu@gnu.org. There are also [15]other ways to contact the FSF. ! These pages are maintained by [16]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [17]gcc@gnu.org or [18]gcc@gcc.gnu.org, send other ! questions to [19]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 1652,1666 ---- Please send FSF & GNU inquiries & questions to [14]gnu@gnu.org. There are also [15]other ways to contact the FSF. ! These pages are maintained by [16]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [17]GCC manuals. If that fails, the ! [18]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [19]gcc@gnu.org or ! [20]gcc@gcc.gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** References and Acknowledgements *** 77,83 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-04-25 [20]Valid XHTML 1.0 References --- 1668,1674 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [21]Valid XHTML 1.0 References *************** References *** 97,106 **** 14. mailto:gnu@gnu.org 15. http://www.gnu.org/home.html#ContactInfo 16. http://gcc.gnu.org/about.html ! 17. mailto:gcc@gnu.org ! 18. mailto:gcc@gcc.gnu.org ! 19. mailto:gnu@gnu.org ! 20. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.2/changes.html --- 1688,1698 ---- 14. mailto:gnu@gnu.org 15. http://www.gnu.org/home.html#ContactInfo 16. http://gcc.gnu.org/about.html ! 17. http://gcc.gnu.org/onlinedocs/ ! 18. mailto:gcc-help@gcc.gnu.org ! 19. mailto:gcc@gnu.org ! 20. mailto:gcc@gcc.gnu.org ! 21. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.2/changes.html *************** GCC 3.2 *** 700,711 **** Please send FSF & GNU inquiries & questions to [246]gnu@gnu.org. There are also [247]other ways to contact the FSF. ! These pages are maintained by [248]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [249]gcc@gnu.org or [250]gcc@gcc.gnu.org, send other ! questions to [251]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 2292,2306 ---- Please send FSF & GNU inquiries & questions to [246]gnu@gnu.org. There are also [247]other ways to contact the FSF. ! These pages are maintained by [248]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [249]GCC manuals. If that fails, the ! [250]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [251]gcc@gnu.org or ! [252]gcc@gcc.gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** GCC 3.2 *** 713,719 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-07-26 [252]Valid XHTML 1.0 References --- 2308,2314 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [253]Valid XHTML 1.0 References *************** References *** 965,974 **** 246. mailto:gnu@gnu.org 247. http://www.gnu.org/home.html#ContactInfo 248. http://gcc.gnu.org/about.html ! 249. mailto:gcc@gnu.org ! 250. mailto:gcc@gcc.gnu.org ! 251. mailto:gnu@gnu.org ! 252. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.1/index.html --- 2560,2570 ---- 246. mailto:gnu@gnu.org 247. http://www.gnu.org/home.html#ContactInfo 248. http://gcc.gnu.org/about.html ! 249. http://gcc.gnu.org/onlinedocs/ ! 250. mailto:gcc-help@gcc.gnu.org ! 251. mailto:gcc@gnu.org ! 252. mailto:gcc@gcc.gnu.org ! 253. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.1/index.html *************** http://gcc.gnu.org/gcc-3.1/index.html *** 1009,1020 **** Please send FSF & GNU inquiries & questions to [11]gnu@gnu.org. There are also [12]other ways to contact the FSF. ! These pages are maintained by [13]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [14]gcc@gnu.org or [15]gcc@gcc.gnu.org, send other ! questions to [16]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 2605,2619 ---- Please send FSF & GNU inquiries & questions to [11]gnu@gnu.org. There are also [12]other ways to contact the FSF. ! These pages are maintained by [13]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [14]GCC manuals. If that fails, the ! [15]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [16]gcc@gnu.org or ! [17]gcc@gcc.gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** http://gcc.gnu.org/gcc-3.1/index.html *** 1022,1028 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [17]Valid XHTML 1.0 References --- 2621,2627 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [18]Valid XHTML 1.0 References *************** References *** 1039,1048 **** 11. mailto:gnu@gnu.org 12. http://www.gnu.org/home.html#ContactInfo 13. http://gcc.gnu.org/about.html ! 14. mailto:gcc@gnu.org ! 15. mailto:gcc@gcc.gnu.org ! 16. mailto:gnu@gnu.org ! 17. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.1/changes.html --- 2638,2648 ---- 11. mailto:gnu@gnu.org 12. http://www.gnu.org/home.html#ContactInfo 13. http://gcc.gnu.org/about.html ! 14. http://gcc.gnu.org/onlinedocs/ ! 15. mailto:gcc-help@gcc.gnu.org ! 16. mailto:gcc@gnu.org ! 17. mailto:gcc@gcc.gnu.org ! 18. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.1/changes.html *************** Documentation improvements *** 1373,1384 **** Please send FSF & GNU inquiries & questions to [13]gnu@gnu.org. There are also [14]other ways to contact the FSF. ! These pages are maintained by [15]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [16]gcc@gnu.org or [17]gcc@gcc.gnu.org, send other ! questions to [18]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 2973,2987 ---- Please send FSF & GNU inquiries & questions to [13]gnu@gnu.org. There are also [14]other ways to contact the FSF. ! These pages are maintained by [15]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [16]GCC manuals. If that fails, the ! [17]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [18]gcc@gnu.org or ! [19]gcc@gcc.gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** Documentation improvements *** 1386,1392 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-06-23 [19]Valid XHTML 1.0 References --- 2989,2995 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [20]Valid XHTML 1.0 References *************** References *** 1405,1414 **** 13. mailto:gnu@gnu.org 14. http://www.gnu.org/home.html#ContactInfo 15. http://gcc.gnu.org/about.html ! 16. mailto:gcc@gnu.org ! 17. mailto:gcc@gcc.gnu.org ! 18. mailto:gnu@gnu.org ! 19. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.0/gcc-3.0.html --- 3008,3018 ---- 13. mailto:gnu@gnu.org 14. http://www.gnu.org/home.html#ContactInfo 15. http://gcc.gnu.org/about.html ! 16. http://gcc.gnu.org/onlinedocs/ ! 17. mailto:gcc-help@gcc.gnu.org ! 18. mailto:gcc@gnu.org ! 19. mailto:gcc@gcc.gnu.org ! 20. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.0/gcc-3.0.html *************** Previous 3.0.x Releases *** 1456,1467 **** Please send FSF & GNU inquiries & questions to [11]gnu@gnu.org. There are also [12]other ways to contact the FSF. ! These pages are maintained by [13]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [14]gcc@gnu.org or [15]gcc@gcc.gnu.org, send other ! questions to [16]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 3060,3074 ---- Please send FSF & GNU inquiries & questions to [11]gnu@gnu.org. There are also [12]other ways to contact the FSF. ! These pages are maintained by [13]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [14]GCC manuals. If that fails, the ! [15]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [16]gcc@gnu.org or ! [17]gcc@gcc.gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** Previous 3.0.x Releases *** 1469,1475 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [17]Valid XHTML 1.0 References --- 3076,3082 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [18]Valid XHTML 1.0 References *************** References *** 1486,1495 **** 11. mailto:gnu@gnu.org 12. http://www.gnu.org/home.html#ContactInfo 13. http://gcc.gnu.org/about.html ! 14. mailto:gcc@gnu.org ! 15. mailto:gcc@gcc.gnu.org ! 16. mailto:gnu@gnu.org ! 17. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.0/features.html --- 3093,3103 ---- 11. mailto:gnu@gnu.org 12. http://www.gnu.org/home.html#ContactInfo 13. http://gcc.gnu.org/about.html ! 14. http://gcc.gnu.org/onlinedocs/ ! 15. mailto:gcc-help@gcc.gnu.org ! 16. mailto:gcc@gnu.org ! 17. mailto:gcc@gcc.gnu.org ! 18. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.0/features.html *************** Other significant improvements *** 1656,1667 **** Please send FSF & GNU inquiries & questions to [14]gnu@gnu.org. There are also [15]other ways to contact the FSF. ! These pages are maintained by [16]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [17]gcc@gnu.org or [18]gcc@gcc.gnu.org, send other ! questions to [19]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 3264,3278 ---- Please send FSF & GNU inquiries & questions to [14]gnu@gnu.org. There are also [15]other ways to contact the FSF. ! These pages are maintained by [16]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [17]GCC manuals. If that fails, the ! [18]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [19]gcc@gnu.org or ! [20]gcc@gcc.gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** Other significant improvements *** 1669,1675 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-05-22 [20]Valid XHTML 1.0 References --- 3280,3286 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [21]Valid XHTML 1.0 References *************** References *** 1689,1698 **** 14. mailto:gnu@gnu.org 15. http://www.gnu.org/home.html#ContactInfo 16. http://gcc.gnu.org/about.html ! 17. mailto:gcc@gnu.org ! 18. mailto:gcc@gcc.gnu.org ! 19. mailto:gnu@gnu.org ! 20. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.0/caveats.html --- 3300,3310 ---- 14. mailto:gnu@gnu.org 15. http://www.gnu.org/home.html#ContactInfo 16. http://gcc.gnu.org/about.html ! 17. http://gcc.gnu.org/onlinedocs/ ! 18. mailto:gcc-help@gcc.gnu.org ! 19. mailto:gcc@gnu.org ! 20. mailto:gcc@gcc.gnu.org ! 21. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.0/caveats.html *************** http://gcc.gnu.org/gcc-3.0/caveats.html *** 1735,1746 **** Please send FSF & GNU inquiries & questions to [4]gnu@gnu.org. There are also [5]other ways to contact the FSF. ! These pages are maintained by [6]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [7]gcc@gnu.org or [8]gcc@gcc.gnu.org, send other ! questions to [9]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 3347,3361 ---- Please send FSF & GNU inquiries & questions to [4]gnu@gnu.org. There are also [5]other ways to contact the FSF. ! These pages are maintained by [6]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [7]GCC manuals. If that fails, the ! [8]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [9]gcc@gnu.org or ! [10]gcc@gcc.gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** http://gcc.gnu.org/gcc-3.0/caveats.html *** 1748,1754 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [10]Valid XHTML 1.0 References --- 3363,3369 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [11]Valid XHTML 1.0 References *************** References *** 1758,1767 **** 4. mailto:gnu@gnu.org 5. http://www.gnu.org/home.html#ContactInfo 6. http://gcc.gnu.org/about.html ! 7. mailto:gcc@gnu.org ! 8. mailto:gcc@gcc.gnu.org ! 9. mailto:gnu@gnu.org ! 10. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-2.95/index.html --- 3373,3383 ---- 4. mailto:gnu@gnu.org 5. http://www.gnu.org/home.html#ContactInfo 6. http://gcc.gnu.org/about.html ! 7. http://gcc.gnu.org/onlinedocs/ ! 8. mailto:gcc-help@gcc.gnu.org ! 9. mailto:gcc@gnu.org ! 10. mailto:gcc@gcc.gnu.org ! 11. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-2.95/index.html *************** http://gcc.gnu.org/gcc-2.95/index.html *** 1814,1825 **** Please send FSF & GNU inquiries & questions to [13]gnu@gnu.org. There are also [14]other ways to contact the FSF. ! These pages are maintained by [15]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [16]gcc@gnu.org or [17]gcc@gcc.gnu.org, send other ! questions to [18]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 3430,3444 ---- Please send FSF & GNU inquiries & questions to [13]gnu@gnu.org. There are also [14]other ways to contact the FSF. ! These pages are maintained by [15]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [16]GCC manuals. If that fails, the ! [17]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [18]gcc@gnu.org or ! [19]gcc@gcc.gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** http://gcc.gnu.org/gcc-2.95/index.html *** 1827,1833 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [19]Valid XHTML 1.0 References --- 3446,3452 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [20]Valid XHTML 1.0 References *************** References *** 1846,1855 **** 13. mailto:gnu@gnu.org 14. http://www.gnu.org/home.html#ContactInfo 15. http://gcc.gnu.org/about.html ! 16. mailto:gcc@gnu.org ! 17. mailto:gcc@gcc.gnu.org ! 18. mailto:gnu@gnu.org ! 19. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-2.95/features.html --- 3465,3475 ---- 13. mailto:gnu@gnu.org 14. http://www.gnu.org/home.html#ContactInfo 15. http://gcc.gnu.org/about.html ! 16. http://gcc.gnu.org/onlinedocs/ ! 17. mailto:gcc-help@gcc.gnu.org ! 18. mailto:gcc@gnu.org ! 19. mailto:gcc@gcc.gnu.org ! 20. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-2.95/features.html *************** Additional Changes in GCC 2.95.3 *** 2089,2100 **** Please send FSF & GNU inquiries & questions to [17]gnu@gnu.org. There are also [18]other ways to contact the FSF. ! These pages are maintained by [19]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [20]gcc@gnu.org or [21]gcc@gcc.gnu.org, send other ! questions to [22]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 3709,3723 ---- Please send FSF & GNU inquiries & questions to [17]gnu@gnu.org. There are also [18]other ways to contact the FSF. ! These pages are maintained by [19]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [20]GCC manuals. If that fails, the ! [21]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [22]gcc@gnu.org or ! [23]gcc@gcc.gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** Additional Changes in GCC 2.95.3 *** 2102,2108 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [23]Valid XHTML 1.0 References --- 3725,3731 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [24]Valid XHTML 1.0 References *************** References *** 2125,2134 **** 17. mailto:gnu@gnu.org 18. http://www.gnu.org/home.html#ContactInfo 19. http://gcc.gnu.org/about.html ! 20. mailto:gcc@gnu.org ! 21. mailto:gcc@gcc.gnu.org ! 22. mailto:gnu@gnu.org ! 23. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-2.95/caveats.html --- 3748,3758 ---- 17. mailto:gnu@gnu.org 18. http://www.gnu.org/home.html#ContactInfo 19. http://gcc.gnu.org/about.html ! 20. http://gcc.gnu.org/onlinedocs/ ! 21. mailto:gcc-help@gcc.gnu.org ! 22. mailto:gcc@gnu.org ! 23. mailto:gcc@gcc.gnu.org ! 24. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-2.95/caveats.html *************** http://gcc.gnu.org/gcc-2.95/caveats.html *** 2178,2189 **** Please send FSF & GNU inquiries & questions to [2]gnu@gnu.org. There are also [3]other ways to contact the FSF. ! These pages are maintained by [4]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [5]gcc@gnu.org or [6]gcc@gcc.gnu.org, send other ! questions to [7]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 3802,3816 ---- Please send FSF & GNU inquiries & questions to [2]gnu@gnu.org. There are also [3]other ways to contact the FSF. ! These pages are maintained by [4]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [5]GCC manuals. If that fails, the ! [6]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [7]gcc@gnu.org or ! [8]gcc@gcc.gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** http://gcc.gnu.org/gcc-2.95/caveats.html *** 2191,2197 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [8]Valid XHTML 1.0 References --- 3818,3824 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [9]Valid XHTML 1.0 References *************** References *** 2199,2208 **** 2. mailto:gnu@gnu.org 3. http://www.gnu.org/home.html#ContactInfo 4. http://gcc.gnu.org/about.html ! 5. mailto:gcc@gnu.org ! 6. mailto:gcc@gcc.gnu.org ! 7. mailto:gnu@gnu.org ! 8. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.1/index.html --- 3826,3836 ---- 2. mailto:gnu@gnu.org 3. http://www.gnu.org/home.html#ContactInfo 4. http://gcc.gnu.org/about.html ! 5. http://gcc.gnu.org/onlinedocs/ ! 6. mailto:gcc-help@gcc.gnu.org ! 7. mailto:gcc@gnu.org ! 8. mailto:gcc@gcc.gnu.org ! 9. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.1/index.html *************** http://gcc.gnu.org/egcs-1.1/index.html *** 2405,2416 **** Please send FSF & GNU inquiries & questions to [11]gnu@gnu.org. There are also [12]other ways to contact the FSF. ! These pages are maintained by [13]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [14]gcc@gnu.org or [15]gcc@gcc.gnu.org, send other ! questions to [16]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 4033,4047 ---- Please send FSF & GNU inquiries & questions to [11]gnu@gnu.org. There are also [12]other ways to contact the FSF. ! These pages are maintained by [13]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [14]GCC manuals. If that fails, the ! [15]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [16]gcc@gnu.org or ! [17]gcc@gcc.gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** http://gcc.gnu.org/egcs-1.1/index.html *** 2418,2424 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [17]Valid XHTML 1.0 References --- 4049,4055 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [18]Valid XHTML 1.0 References *************** References *** 2435,2444 **** 11. mailto:gnu@gnu.org 12. http://www.gnu.org/home.html#ContactInfo 13. http://gcc.gnu.org/about.html ! 14. mailto:gcc@gnu.org ! 15. mailto:gcc@gcc.gnu.org ! 16. mailto:gnu@gnu.org ! 17. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.1/features.html --- 4066,4076 ---- 11. mailto:gnu@gnu.org 12. http://www.gnu.org/home.html#ContactInfo 13. http://gcc.gnu.org/about.html ! 14. http://gcc.gnu.org/onlinedocs/ ! 15. mailto:gcc-help@gcc.gnu.org ! 16. mailto:gcc@gnu.org ! 17. mailto:gcc@gcc.gnu.org ! 18. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.1/features.html *************** http://gcc.gnu.org/egcs-1.1/features.htm *** 2515,2526 **** Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There are also [7]other ways to contact the FSF. ! These pages are maintained by [8]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [9]gcc@gnu.org or [10]gcc@gcc.gnu.org, send other ! questions to [11]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 4147,4161 ---- Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There are also [7]other ways to contact the FSF. ! These pages are maintained by [8]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [9]GCC manuals. If that fails, the ! [10]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [11]gcc@gnu.org or ! [12]gcc@gcc.gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** http://gcc.gnu.org/egcs-1.1/features.htm *** 2528,2534 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-03-29 [12]Valid XHTML 1.0 References --- 4163,4169 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [13]Valid XHTML 1.0 References *************** References *** 2540,2549 **** 6. mailto:gnu@gnu.org 7. http://www.gnu.org/home.html#ContactInfo 8. http://gcc.gnu.org/about.html ! 9. mailto:gcc@gnu.org ! 10. mailto:gcc@gcc.gnu.org ! 11. mailto:gnu@gnu.org ! 12. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.1/caveats.html --- 4175,4185 ---- 6. mailto:gnu@gnu.org 7. http://www.gnu.org/home.html#ContactInfo 8. http://gcc.gnu.org/about.html ! 9. http://gcc.gnu.org/onlinedocs/ ! 10. mailto:gcc-help@gcc.gnu.org ! 11. mailto:gcc@gnu.org ! 12. mailto:gcc@gcc.gnu.org ! 13. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.1/caveats.html *************** http://gcc.gnu.org/egcs-1.1/caveats.html *** 2576,2587 **** Please send FSF & GNU inquiries & questions to [1]gnu@gnu.org. There are also [2]other ways to contact the FSF. ! These pages are maintained by [3]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [4]gcc@gnu.org or [5]gcc@gcc.gnu.org, send other ! questions to [6]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 4212,4226 ---- Please send FSF & GNU inquiries & questions to [1]gnu@gnu.org. There are also [2]other ways to contact the FSF. ! These pages are maintained by [3]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [4]GCC manuals. If that fails, the ! [5]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [6]gcc@gnu.org or ! [7]gcc@gcc.gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** http://gcc.gnu.org/egcs-1.1/caveats.html *** 2589,2605 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [7]Valid XHTML 1.0 References 1. mailto:gnu@gnu.org 2. http://www.gnu.org/home.html#ContactInfo 3. http://gcc.gnu.org/about.html ! 4. mailto:gcc@gnu.org ! 5. mailto:gcc@gcc.gnu.org ! 6. mailto:gnu@gnu.org ! 7. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.0/egcs-1.0.3.html --- 4228,4245 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [8]Valid XHTML 1.0 References 1. mailto:gnu@gnu.org 2. http://www.gnu.org/home.html#ContactInfo 3. http://gcc.gnu.org/about.html ! 4. http://gcc.gnu.org/onlinedocs/ ! 5. mailto:gcc-help@gcc.gnu.org ! 6. mailto:gcc@gnu.org ! 7. mailto:gcc@gcc.gnu.org ! 8. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.0/egcs-1.0.3.html *************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.3.h *** 2680,2691 **** Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There are also [7]other ways to contact the FSF. ! These pages are maintained by [8]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [9]gcc@gnu.org or [10]gcc@gcc.gnu.org, send other ! questions to [11]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 4320,4334 ---- Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There are also [7]other ways to contact the FSF. ! These pages are maintained by [8]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [9]GCC manuals. If that fails, the ! [10]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [11]gcc@gnu.org or ! [12]gcc@gcc.gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.3.h *** 2693,2699 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [12]Valid XHTML 1.0 References --- 4336,4342 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [13]Valid XHTML 1.0 References *************** References *** 2705,2714 **** 6. mailto:gnu@gnu.org 7. http://www.gnu.org/home.html#ContactInfo 8. http://gcc.gnu.org/about.html ! 9. mailto:gcc@gnu.org ! 10. mailto:gcc@gcc.gnu.org ! 11. mailto:gnu@gnu.org ! 12. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.0/egcs-1.0.2.html --- 4348,4358 ---- 6. mailto:gnu@gnu.org 7. http://www.gnu.org/home.html#ContactInfo 8. http://gcc.gnu.org/about.html ! 9. http://gcc.gnu.org/onlinedocs/ ! 10. mailto:gcc-help@gcc.gnu.org ! 11. mailto:gcc@gnu.org ! 12. mailto:gcc@gcc.gnu.org ! 13. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.0/egcs-1.0.2.html *************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.2.h *** 2820,2831 **** Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There are also [7]other ways to contact the FSF. ! These pages are maintained by [8]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [9]gcc@gnu.org or [10]gcc@gcc.gnu.org, send other ! questions to [11]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 4464,4478 ---- Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There are also [7]other ways to contact the FSF. ! These pages are maintained by [8]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [9]GCC manuals. If that fails, the ! [10]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [11]gcc@gnu.org or ! [12]gcc@gcc.gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.2.h *** 2833,2839 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [12]Valid XHTML 1.0 References --- 4480,4486 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [13]Valid XHTML 1.0 References *************** References *** 2845,2854 **** 6. mailto:gnu@gnu.org 7. http://www.gnu.org/home.html#ContactInfo 8. http://gcc.gnu.org/about.html ! 9. mailto:gcc@gnu.org ! 10. mailto:gcc@gcc.gnu.org ! 11. mailto:gnu@gnu.org ! 12. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.0/egcs-1.0.1.html --- 4492,4502 ---- 6. mailto:gnu@gnu.org 7. http://www.gnu.org/home.html#ContactInfo 8. http://gcc.gnu.org/about.html ! 9. http://gcc.gnu.org/onlinedocs/ ! 10. mailto:gcc-help@gcc.gnu.org ! 11. mailto:gcc@gnu.org ! 12. mailto:gcc@gcc.gnu.org ! 13. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.0/egcs-1.0.1.html *************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.1.h *** 2960,2971 **** Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There are also [7]other ways to contact the FSF. ! These pages are maintained by [8]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [9]gcc@gnu.org or [10]gcc@gcc.gnu.org, send other ! questions to [11]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 4608,4622 ---- Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There are also [7]other ways to contact the FSF. ! These pages are maintained by [8]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [9]GCC manuals. If that fails, the ! [10]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [11]gcc@gnu.org or ! [12]gcc@gcc.gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.1.h *** 2973,2979 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [12]Valid XHTML 1.0 References --- 4624,4630 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [13]Valid XHTML 1.0 References *************** References *** 2985,2994 **** 6. mailto:gnu@gnu.org 7. http://www.gnu.org/home.html#ContactInfo 8. http://gcc.gnu.org/about.html ! 9. mailto:gcc@gnu.org ! 10. mailto:gcc@gcc.gnu.org ! 11. mailto:gnu@gnu.org ! 12. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.0/egcs-1.0.html --- 4636,4646 ---- 6. mailto:gnu@gnu.org 7. http://www.gnu.org/home.html#ContactInfo 8. http://gcc.gnu.org/about.html ! 9. http://gcc.gnu.org/onlinedocs/ ! 10. mailto:gcc-help@gcc.gnu.org ! 11. mailto:gcc@gnu.org ! 12. mailto:gcc@gcc.gnu.org ! 13. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.0/egcs-1.0.html *************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.htm *** 3057,3068 **** Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There are also [7]other ways to contact the FSF. ! These pages are maintained by [8]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [9]gcc@gnu.org or [10]gcc@gcc.gnu.org, send other ! questions to [11]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 4709,4723 ---- Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There are also [7]other ways to contact the FSF. ! These pages are maintained by [8]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [9]GCC manuals. If that fails, the ! [10]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [11]gcc@gnu.org or ! [12]gcc@gcc.gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.htm *** 3070,3076 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [12]Valid XHTML 1.0 References --- 4725,4731 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [13]Valid XHTML 1.0 References *************** References *** 3082,3091 **** 6. mailto:gnu@gnu.org 7. http://www.gnu.org/home.html#ContactInfo 8. http://gcc.gnu.org/about.html ! 9. mailto:gcc@gnu.org ! 10. mailto:gcc@gcc.gnu.org ! 11. mailto:gnu@gnu.org ! 12. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.0/features.html --- 4737,4747 ---- 6. mailto:gnu@gnu.org 7. http://www.gnu.org/home.html#ContactInfo 8. http://gcc.gnu.org/about.html ! 9. http://gcc.gnu.org/onlinedocs/ ! 10. mailto:gcc-help@gcc.gnu.org ! 11. mailto:gcc@gnu.org ! 12. mailto:gcc@gcc.gnu.org ! 13. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.0/features.html *************** http://gcc.gnu.org/egcs-1.0/features.htm *** 3131,3142 **** Please send FSF & GNU inquiries & questions to [3]gnu@gnu.org. There are also [4]other ways to contact the FSF. ! These pages are maintained by [5]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [6]gcc@gnu.org or [7]gcc@gcc.gnu.org, send other ! questions to [8]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 4787,4801 ---- Please send FSF & GNU inquiries & questions to [3]gnu@gnu.org. There are also [4]other ways to contact the FSF. ! These pages are maintained by [5]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [6]GCC manuals. If that fails, the ! [7]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [8]gcc@gnu.org or ! [9]gcc@gcc.gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** http://gcc.gnu.org/egcs-1.0/features.htm *** 3144,3150 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [9]Valid XHTML 1.0 References --- 4803,4809 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [10]Valid XHTML 1.0 References *************** References *** 3153,3162 **** 3. mailto:gnu@gnu.org 4. http://www.gnu.org/home.html#ContactInfo 5. http://gcc.gnu.org/about.html ! 6. mailto:gcc@gnu.org ! 7. mailto:gcc@gcc.gnu.org ! 8. mailto:gnu@gnu.org ! 9. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.0/caveats.html --- 4812,4822 ---- 3. mailto:gnu@gnu.org 4. http://www.gnu.org/home.html#ContactInfo 5. http://gcc.gnu.org/about.html ! 6. http://gcc.gnu.org/onlinedocs/ ! 7. mailto:gcc-help@gcc.gnu.org ! 8. mailto:gcc@gnu.org ! 9. mailto:gcc@gcc.gnu.org ! 10. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.0/caveats.html *************** http://gcc.gnu.org/egcs-1.0/caveats.html *** 3191,3202 **** Please send FSF & GNU inquiries & questions to [1]gnu@gnu.org. There are also [2]other ways to contact the FSF. ! These pages are maintained by [3]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [4]gcc@gnu.org or [5]gcc@gcc.gnu.org, send other ! questions to [6]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 4851,4865 ---- Please send FSF & GNU inquiries & questions to [1]gnu@gnu.org. There are also [2]other ways to contact the FSF. ! These pages are maintained by [3]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [4]GCC manuals. If that fails, the ! [5]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [6]gcc@gnu.org or ! [7]gcc@gcc.gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** http://gcc.gnu.org/egcs-1.0/caveats.html *** 3204,3218 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [7]Valid XHTML 1.0 References 1. mailto:gnu@gnu.org 2. http://www.gnu.org/home.html#ContactInfo 3. http://gcc.gnu.org/about.html ! 4. mailto:gcc@gnu.org ! 5. mailto:gcc@gcc.gnu.org ! 6. mailto:gnu@gnu.org ! 7. http://validator.w3.org/check/referer ====================================================================== --- 4867,4882 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [8]Valid XHTML 1.0 References 1. mailto:gnu@gnu.org 2. http://www.gnu.org/home.html#ContactInfo 3. http://gcc.gnu.org/about.html ! 4. http://gcc.gnu.org/onlinedocs/ ! 5. mailto:gcc-help@gcc.gnu.org ! 6. mailto:gcc@gnu.org ! 7. mailto:gcc@gcc.gnu.org ! 8. http://validator.w3.org/check/referer ====================================================================== diff -Nrc3pad gcc-3.3.1/gcc/po/ChangeLog gcc-3.3.2/gcc/po/ChangeLog *** gcc-3.3.1/gcc/po/ChangeLog 2003-08-04 12:49:07.000000000 +0000 --- gcc-3.3.2/gcc/po/ChangeLog 2003-10-16 19:44:09.000000000 +0000 *************** *** 1,3 **** --- 1,7 ---- + 2003-10-16 Release Manager + + * GCC 3.3.2 Released. + 2003-08-04 Release Manager * GCC 3.3.1 Released. diff -Nrc3pad gcc-3.3.1/gcc/reg-stack.c gcc-3.3.2/gcc/reg-stack.c *** gcc-3.3.1/gcc/reg-stack.c 2003-06-12 17:51:44.000000000 +0000 --- gcc-3.3.2/gcc/reg-stack.c 2003-09-22 07:11:22.000000000 +0000 *************** convert_regs_1 (file, block) *** 2616,2626 **** { struct stack_def regstack; block_info bi = BLOCK_INFO (block); ! int inserted, reg; rtx insn, next; edge e, beste = NULL; inserted = 0; any_malformed_asm = false; /* Find the edge we will copy stack from. It should be the most frequent --- 2616,2627 ---- { struct stack_def regstack; block_info bi = BLOCK_INFO (block); ! int deleted, inserted, reg; rtx insn, next; edge e, beste = NULL; inserted = 0; + deleted = 0; any_malformed_asm = false; /* Find the edge we will copy stack from. It should be the most frequent *************** convert_regs_1 (file, block) *** 2693,2698 **** --- 2694,2700 ---- print_stack (file, ®stack); } subst_stack_regs (insn, ®stack); + deleted |= (GET_CODE (insn) == NOTE || INSN_DELETED_P (insn)); } } while (next); *************** convert_regs_1 (file, block) *** 2732,2739 **** --- 2734,2756 ---- nan); insn = emit_insn_after (set, insn); subst_stack_regs (insn, ®stack); + deleted |= (GET_CODE (insn) == NOTE || INSN_DELETED_P (insn)); } } + + /* Amongst the insns possibly deleted during the substitution process above, + might have been the only trapping insn in the block. We purge the now + possibly dead EH edges here to avoid an ICE from fixup_abnormal_edges, + called at the end of convert_regs. The order in which we process the + blocks ensures that we never delete an already processed edge. + + ??? We are normally supposed not to delete trapping insns, so we pretend + that the insns deleted above don't actually trap. It would have been + better to detect this earlier and avoid creating the EH edge in the first + place, still, but we don't have enough information at that time. */ + + if (deleted) + purge_dead_edges (block); /* Something failed if the stack lives don't match. If we had malformed asms, we zapped the instruction itself, but that didn't produce the *************** convert_regs_2 (file, block) *** 2780,2785 **** --- 2797,2806 ---- basic_block *stack, *sp; int inserted; + /* We process the blocks in a top-down manner, in a way such that one block + is only processed after all its predecessors. The number of predecessors + of every block has already been computed. */ + stack = (basic_block *) xmalloc (sizeof (*stack) * n_basic_blocks); sp = stack; *************** convert_regs_2 (file, block) *** 2791,2799 **** edge e; block = *--sp; - inserted |= convert_regs_1 (file, block); - BLOCK_INFO (block)->done = 1; for (e = block->succ; e ; e = e->succ_next) if (! (e->flags & EDGE_DFS_BACK)) { --- 2812,2824 ---- edge e; block = *--sp; + /* Processing "block" is achieved by convert_regs_1, which may purge + some dead EH outgoing edge after the possible deletion of the + trapping insn inside the block. Since the number of predecessors of + "block"'s successors has been computed based on the initial edge set, + we check for the possiblity to process some of these successors + before such an edge deletion may happen. */ for (e = block->succ; e ; e = e->succ_next) if (! (e->flags & EDGE_DFS_BACK)) { *************** convert_regs_2 (file, block) *** 2801,2806 **** --- 2826,2834 ---- if (!BLOCK_INFO (e->dest)->predecessors) *sp++ = e->dest; } + + inserted |= convert_regs_1 (file, block); + BLOCK_INFO (block)->done = 1; } while (sp != stack); diff -Nrc3pad gcc-3.3.1/gcc/reorg.c gcc-3.3.2/gcc/reorg.c *** gcc-3.3.1/gcc/reorg.c 2002-09-26 22:25:13.000000000 +0000 --- gcc-3.3.2/gcc/reorg.c 2003-09-21 08:22:32.000000000 +0000 *************** stop_search_p (insn, labels_p) *** 236,241 **** --- 236,247 ---- if (insn == 0) return 1; + /* If the insn can throw an exception that is caught within the function, + it may effectively perform a jump from the viewpoint of the function. + Therefore act like for a jump. */ + if (can_throw_internal (insn)) + return 1; + switch (GET_CODE (insn)) { case NOTE: diff -Nrc3pad gcc-3.3.1/gcc/scan-decls.c gcc-3.3.2/gcc/scan-decls.c *** gcc-3.3.1/gcc/scan-decls.c 2002-05-09 12:02:27.000000000 +0000 --- gcc-3.3.2/gcc/scan-decls.c 2003-10-08 12:33:43.000000000 +0000 *************** int brace_nesting = 0; *** 32,38 **** indicate the (brace nesting levels of) left braces that were prefixed by extern "C". */ int extern_C_braces_length = 0; ! char extern_C_braces[20]; #define in_extern_C_brace (extern_C_braces_length>0) /* True if the function declaration currently being scanned is --- 32,40 ---- indicate the (brace nesting levels of) left braces that were prefixed by extern "C". */ int extern_C_braces_length = 0; ! /* 20 is not enough anymore on Solaris 9. */ ! #define MAX_EXTERN_C_BRACES 200 ! char extern_C_braces[MAX_EXTERN_C_BRACES]; #define in_extern_C_brace (extern_C_braces_length>0) /* True if the function declaration currently being scanned is *************** scan_decls (pfile, argc, argv) *** 222,227 **** --- 224,235 ---- brace_nesting++; extern_C_braces[extern_C_braces_length++] = brace_nesting; + if (extern_C_braces_length >= MAX_EXTERN_C_BRACES) + { + fprintf (stderr, + "Internal error: out-of-bounds index\n"); + exit (FATAL_EXIT_CODE); + } goto new_statement; } } diff -Nrc3pad gcc-3.3.1/gcc/stmt.c gcc-3.3.2/gcc/stmt.c *** gcc-3.3.1/gcc/stmt.c 2003-06-12 01:05:45.000000000 +0000 --- gcc-3.3.2/gcc/stmt.c 2003-08-21 01:50:03.000000000 +0000 *************** expand_asm_operands (string, outputs, in *** 1735,1742 **** } else { ! warning ("use of memory input without lvalue in " ! "asm operand %d is deprecated", i + noutputs); if (CONSTANT_P (op)) { --- 1735,1742 ---- } else { ! warning ("use of memory input without lvalue in asm operand %d is deprecated", ! i + noutputs); if (CONSTANT_P (op)) { diff -Nrc3pad gcc-3.3.1/gcc/stor-layout.c gcc-3.3.2/gcc/stor-layout.c *** gcc-3.3.1/gcc/stor-layout.c 2003-05-05 14:36:06.000000000 +0000 --- gcc-3.3.2/gcc/stor-layout.c 2003-10-14 18:43:04.000000000 +0000 *************** update_alignment_for_field (rli, field, *** 711,716 **** --- 711,719 ---- desired_align = DECL_ALIGN (field); user_align = DECL_USER_ALIGN (field); } + else if (!DECL_BIT_FIELD_TYPE (field)) + /* Even packed non-bit-fields get byte alignment. */ + desired_align = MAX (desired_align, BITS_PER_UNIT); /* Some targets (i.e. i386, VMS) limit struct field alignment to a lower boundary than alignment of variables unless diff -Nrc3pad gcc-3.3.1/gcc/testsuite/ChangeLog gcc-3.3.2/gcc/testsuite/ChangeLog *** gcc-3.3.1/gcc/testsuite/ChangeLog 2003-08-04 12:49:15.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/ChangeLog 2003-10-16 19:44:17.000000000 +0000 *************** *** 1,6 **** ! 2003-08-04 Release Manager ! * GCC 3.3.1 Released. 2003-08-04 Release Manager --- 1,282 ---- ! 2003-10-16 Release Manager ! * GCC 3.3.2 Released. ! ! 2003-10-15 Kriang Lerdsuwanakij ! ! PR c++/12369 ! * g++.dg/template/friend25.C: New test. ! ! 2003-10-15 Kriang Lerdsuwanakij ! ! PR c++/7939 ! * g++.dg/template/crash11.C: New test. ! ! 2003-10-14 Steven Bosscher ! ! * g++.dg/tls/init-2.C: Fix. Expect two warnings. ! ! 2003-10-11 Eric Botcazou ! ! * gcc.c-torture/compile/20031011-1.c: New test. ! ! 2003-10-09 Volker Reichelt ! ! * gcc.dg/20031009-1.c: New test. ! ! 2003-10-09 Mark Mitchell ! ! * g++.dg/ext/attrib8.C: Only run it on x86 targets. ! ! 2003-10-07 Mark Mitchell ! ! * g++.dg/template/ptrmem4.C: Revise in view of fixes for PR ! c++/10147. ! ! 2003-10-06 Bob Wilson ! ! * g++.dg/template/spec10.C: Set exit value to zero on success. Fix ! indentation. ! ! 2003-10-06 Mark Mitchell ! ! PR c++/12337 ! * g++.dg/init/new9.C: New test. ! ! PR c++/12334, c++/12236, c++/8656 ! * g++.dg/ext/attrib8.C: New test. ! ! 2003-10-06 Wolfgang Bangerth ! ! * g++.dg/opt/cfg2.C: New test. ! ! 2003-10-06 Eric Botcazou ! ! * g++.dg/opt/float1.C: New test. ! ! 2003-10-04 Roger Sayle ! ! PR c++/11409 ! * g++.dg/overload/builtin3.C: New test case. ! ! 2003-10-04 Eric Botcazou ! ! * gcc.dg/c90-array-lval-6.c: New test. ! * gcc.dg/c99-array-lval-6.c: New test. ! ! 2003-10-02 Mark Mitchell ! ! PR optimization/12180 ! * gcc.dg/20031002-1.c: New test. ! ! 2003-10-02 Mark Mitchell ! ! PR c++/12486 ! * g++.dg/inherit/error1.C: New test. ! ! 2003-10-02 Alexandre Oliva ! ! * g++.dg/parse/parameter-declaration-1.C: Fix line number of ! expected error message. ! ! 2003-10-02 Josef Zlomek ! ! * gcc.c-torture/compile/20031002-1.c: New test. ! ! 2003-10-02 Jakub Jelinek ! ! * g++.dg/opt/cond1.C: New test. ! ! 2003-09-29 Eric Botcazou ! ! * g++.dg/opt/unroll1.C: Change unsigned to __SIZE_TYPE__. ! ! 2003-09-27 Eric Botcazou ! ! * g++.dg/opt/unroll1.C: New test. ! ! 2003-09-24 Alexandre Oliva ! ! * gcc.dg/cpp/Wunknown-pragmas-1.c: New test. ! ! 2003-09-23 Geoffrey Keating ! ! * gcc.dg/darwin-abi-1.c: New file. ! ! 2003-09-22 Eric Botcazou ! ! * g++.dg/opt/reg-stack2.C: New test. ! ! 2003-09-21 Christian Ehrhardt ! ! * g++.dg/eh/delayslot1.C: New test. ! ! 2003-09-19 Andrew Pinski ! ! * g++.dg/init/array11.C: Change unsigned to __SIZE_TYPE__ ! so that it will not complain on LP64 targets. ! ! 2003-09-18 Mark Mitchell ! ! PR target/11184 ! * gcc.dg/builtin-apply1.c: New test. ! ! 2003-09-17 Mark Mitchell ! ! PR c++/11991 ! * g++.dg/rtti/typeid3.C: New test. ! ! 2003-09-17 Mark Mitchell ! ! PR c++/12266 ! * g++.dg/overload/template1.C: New test. ! ! 2003-09-17 Eric Botcazou ! ! * g++.dg/opt/cfg3.C: New test. ! ! 2003-09-14 Mark Mitchell ! ! PR c++/3907 ! * g++.dg/parse/template12.C: New test. ! ! 2003-09-14 Mark Mitchell ! ! * g++.dg/abi/bitfield11.C: New test. ! * g++.dg/abi/bitfield12.C: Likewise. ! ! 2003-09-14 Alexandre Oliva ! ! * gcc.dg/cpp/separate-1.c: Adjust line of error. Test for correct ! non-expansion of functional macro name without arguments at EOL. ! * gcc.dg/cpp/spacing1.c: Revert 2003-08-04's change. Likewise. ! ! 2003-09-10 Eric Botcazou ! ! * gcc.dg/ultrasp10.c: New test. ! ! 2003-09-08 Mark Mitchell ! ! PR c++/11786 ! * g++.dg/lookup/koenig2.C: New test. ! ! 2003-09-08 Mark Mitchell ! ! PR c++/5296 ! * g++.dg/rtti/typeid2.C: New test. ! ! 2003-09-07 Eric Botcazou ! ! * g++.dg/opt/longbranch2.C: New test. ! ! 2003-09-07 Andrew Pinski ! ! PR middle-end/11665 ! * gcc.c-torture/compile/20030907-1.c: New test. ! * g++.dg/init/array11.C: New test. ! ! 2003-09-07 Mark Mitchell ! ! PR c++/11852 ! * g++.dg/init/struct1.C: New test. ! ! 2003-09-07 Mark Mitchell ! ! PR c++/12181 ! * g++.dg/expr/comma1.C: New test. ! ! 2003-09-07 Eric Botcazou ! ! * gcc.c-torture/execute/20030907-1.c: New test. ! ! 2003-09-06 Mark Mitchell ! ! PR c++/11867 ! * g++.dg/expr/static_cast5.C: New test. ! ! 2003-09-05 Mark Mitchell ! ! PR c++/12163 ! * g++.dg/expr/static_cast4.C: New test. ! ! PR c++/12146 ! * g++.dg/template/crash9.C: New test. ! ! 2003-09-04 Mark Mitchell ! ! Revert this patch: ! * g++.dg/abi/layout4.C: New test. ! ! 2003-09-03 Mark Mitchell ! ! PR c++/12053 ! * g++.dg/abi/layout4.C: New test. ! ! 2003-09-01 Mark Mitchell ! ! PR c++/12114 ! * g++.dg/init/ref9.C: New test. ! ! 2003-08-29 Mark Mitchell ! ! PR c++/11928 ! * g++.dg/inherit/conv1.C: New test. ! ! 2003-08-26 Matt Kraai ! ! * gcc.dg/noncompile/20030818-1.c: Expect second line of error. ! ! 2003-08-25 Ulrich Weigand ! ! * gcc.dg/20030702-1.c: New test. ! ! 2003-08-23 Jakub Jelinek ! ! * gcc.dg/20030815-1.c: New test. ! ! 2003-08-22 Alexandre Oliva ! ! * gcc.dg/cpp/separate-1.c: New test. ! * gcc.dg/cpp/spacing1.c: Update. ! ! 2003-08-22 Mark Mitchell ! ! * gcc.misc-tests/linkage.exp: Treat all HP-UX platforms ! identically. ! ! 2003-08-22 Roger Sayle ! Jim Wilson ! ! * gcc.dg/uninit-C.c: Only test TImode on 64-bit platforms. ! ! 2003-08-22 Mark Mitchell ! ! * g++.old-deja/g++.ext/attrib5.C: XFAIL on hppa2*-hp-hpux11*. ! ! * gcc.dg/20020313-1.c: Add "-w" to dg-options. ! ! * gcc.misc-tests/linkage.exp: Add logic for ia64-hp-hpux*. ! ! * g++.dg/other/packed1.C: Add XFAIL marker for ia64-hp-hpux*. ! ! 2003-08-21 Kazu Hirata ! ! PR target/11805 ! * gcc.c-torture/compile/20030821-1.c: New. ! ! 2003-08-18 Matt Kraai ! ! * gcc.dg/noncompile/20030818-1.c: New. ! ! 2003-08-08 Roger Sayle ! ! PR c/11370 ! * gcc.dg/Wunreachable-6.c: New testcase. ! * gcc.dg/Wunreachable-7.c: New testcase. ! ! 2003-07-26 Geoffrey Keating ! ! * gcc.c-torture/compile/zero-strct-2.c: New test. 2003-08-04 Release Manager *************** rlsruhe.de> *** 14813,14815 **** --- 15089,15092 ---- correspond to c-torture 1.11. * New file. + diff -Nrc3pad gcc-3.3.1/gcc/testsuite/gcc.c-torture/compile/20030821-1.c gcc-3.3.2/gcc/testsuite/gcc.c-torture/compile/20030821-1.c *** gcc-3.3.1/gcc/testsuite/gcc.c-torture/compile/20030821-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/gcc.c-torture/compile/20030821-1.c 2003-08-21 13:08:53.000000000 +0000 *************** *** 0 **** --- 1,24 ---- + /* PR target/11805. */ + + /* Consider the following sequence. + + (set (cc0) + (and:HI (reg:HI 0) + (const_int 1))) + + (set (pc) + (if_then_else (le (cc0) + (const_int 0)) + (label_ref 17) + (pc))) + + On h8300, the first insn does not set the overflow flag, but the + second requires the overflow flag. As a result, when the final + wants to output the jump insn, it cannot find a test insn that + gives appropriate condition flags. */ + + unsigned char + foo (unsigned char a) + { + return (a & 1) > 0; + } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/gcc.c-torture/compile/20030907-1.c gcc-3.3.2/gcc/testsuite/gcc.c-torture/compile/20030907-1.c *** gcc-3.3.1/gcc/testsuite/gcc.c-torture/compile/20030907-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/gcc.c-torture/compile/20030907-1.c 2003-09-08 03:11:27.000000000 +0000 *************** *** 0 **** --- 1,25 ---- + /* PR 11665 + Orgin: jwhite@cse.unl.edu + The problem was in initializer_constant_valid_p, + "for a CONSTRUCTOR, only the last element + of the CONSTRUCTOR was being checked" + (from the email of the patch which fixed this). + This used to ICE because GCC thought gdt_table was a + constant value when it is not. */ + + int x; + struct gdt + { + unsigned a,b,c,d,e,f; + }; + void f() + { + struct gdt gdt_table[2]= + { + { + 0, + ( (((unsigned)(&x))<<(24))&(-1<<(8)) ), + }, + }; + } + diff -Nrc3pad gcc-3.3.1/gcc/testsuite/gcc.c-torture/compile/20031002-1.c gcc-3.3.2/gcc/testsuite/gcc.c-torture/compile/20031002-1.c *** gcc-3.3.1/gcc/testsuite/gcc.c-torture/compile/20031002-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/gcc.c-torture/compile/20031002-1.c 2003-10-02 15:26:50.000000000 +0000 *************** *** 0 **** --- 1,9 ---- + /* PR/12292 + http://gcc.gnu.org/ml/gcc-patches/2003-10/msg00143.html */ + + char flags; + + int bug12292(int t) + { + flags &= ~(1 << (t + 4)); + } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/gcc.c-torture/compile/20031011-1.c gcc-3.3.2/gcc/testsuite/gcc.c-torture/compile/20031011-1.c *** gcc-3.3.1/gcc/testsuite/gcc.c-torture/compile/20031011-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/gcc.c-torture/compile/20031011-1.c 2003-10-11 21:01:44.000000000 +0000 *************** *** 0 **** --- 1,21 ---- + /* PR optimization/12544 */ + /* Origin: Tony Hosking */ + + /* Verify that non-local structures passed by invisible + reference are correctly put in the stack. */ + + typedef struct { + int a; + int f; + } A; + + A *b; + + void x (A a) { + void y () { + a.a = 0; + } + + b = &a; + y(); + } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/gcc.c-torture/compile/zero-strct-2.c gcc-3.3.2/gcc/testsuite/gcc.c-torture/compile/zero-strct-2.c *** gcc-3.3.1/gcc/testsuite/gcc.c-torture/compile/zero-strct-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/gcc.c-torture/compile/zero-strct-2.c 2003-08-08 21:17:59.000000000 +0000 *************** *** 0 **** --- 1,2 ---- + struct { } foo = { }; + void * bar(void) { return &foo; } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/gcc.c-torture/execute/20030907-1.c gcc-3.3.2/gcc/testsuite/gcc.c-torture/execute/20030907-1.c *** gcc-3.3.1/gcc/testsuite/gcc.c-torture/execute/20030907-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/gcc.c-torture/execute/20030907-1.c 2003-09-07 09:59:14.000000000 +0000 *************** *** 0 **** --- 1,22 ---- + /* PR optimization/11662 */ + /* Origin: heinrich.brand@fujitsu-siemens.com */ + + /* This used to fail on SPARC at -O1 because the combiner didn't + correctly propagate an error indicator. */ + + unsigned long long r; + + void test(unsigned long a, unsigned long b, unsigned long long c) + { + r = (a^b)&c; + } + + int main() + { + test(1,2,3); + + if (r != 3) + abort(); + + return 0; + } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/gcc.dg/20020313-1.c gcc-3.3.2/gcc/testsuite/gcc.dg/20020313-1.c *** gcc-3.3.1/gcc/testsuite/gcc.dg/20020313-1.c 2002-03-15 06:50:26.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/gcc.dg/20020313-1.c 2003-08-22 21:53:34.000000000 +0000 *************** *** 4,10 **** to, and aborted. */ /* { dg-do compile { target ia64-*-* } } */ ! /* { dg-options "-O2 -mconstant-gp" } */ typedef unsigned long __u64; typedef unsigned int __u32; --- 4,12 ---- to, and aborted. */ /* { dg-do compile { target ia64-*-* } } */ ! /* In ILP32 mode, we get warnings about large integer constants. ! Those cause spurious FAILs. */ ! /* { dg-options "-w -O2 -mconstant-gp" } */ typedef unsigned long __u64; typedef unsigned int __u32; diff -Nrc3pad gcc-3.3.1/gcc/testsuite/gcc.dg/20030702-1.c gcc-3.3.2/gcc/testsuite/gcc.dg/20030702-1.c *** gcc-3.3.1/gcc/testsuite/gcc.dg/20030702-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/gcc.dg/20030702-1.c 2003-08-25 20:17:25.000000000 +0000 *************** *** 0 **** --- 1,10 ---- + /* This tests whether REG_ALWAYS_RETURN notes are handled + correctly in combine. */ + /* { dg-do compile } */ + /* { dg-options "-O2 -fpic -fprofile-arcs" } */ + + void test (void) + { + fork (); + } + diff -Nrc3pad gcc-3.3.1/gcc/testsuite/gcc.dg/20030815-1.c gcc-3.3.2/gcc/testsuite/gcc.dg/20030815-1.c *** gcc-3.3.1/gcc/testsuite/gcc.dg/20030815-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/gcc.dg/20030815-1.c 2003-08-23 22:22:26.000000000 +0000 *************** *** 0 **** --- 1,26 ---- + /* Test completion of incomplete types. + There used to be a bug where some types from incomplete + list were accidentally lost. */ + /* { dg-do compile } */ + /* { dg-options "" } */ + + typedef struct a A[1]; + typedef struct b B[1]; + typedef struct c C[1]; + typedef struct d D[1]; + typedef struct a E; + typedef struct b F; + typedef struct c G; + typedef struct d H; + struct a { int a; }; + struct c { int c; }; + struct d { int d; }; + struct b { int b; }; + int sa = sizeof (A); + int sb = sizeof (B); + int sc = sizeof (C); + int sd = sizeof (D); + int se = sizeof (E); + int sf = sizeof (F); + int sg = sizeof (G); + int sh = sizeof (H); diff -Nrc3pad gcc-3.3.1/gcc/testsuite/gcc.dg/20031002-1.c gcc-3.3.2/gcc/testsuite/gcc.dg/20031002-1.c *** gcc-3.3.1/gcc/testsuite/gcc.dg/20031002-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/gcc.dg/20031002-1.c 2003-10-03 00:36:57.000000000 +0000 *************** *** 0 **** --- 1,14 ---- + /* { dg-do compile } */ + /* { dg-options "-O3" } */ + + void generic_sendmsg (char *fmt, ...) + { + __builtin_next_arg(fmt); + } + + void generic_sendstat() + { + double t; + + generic_sendmsg("F %3.2f", t); + } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/gcc.dg/20031009-1.c gcc-3.3.2/gcc/testsuite/gcc.dg/20031009-1.c *** gcc-3.3.1/gcc/testsuite/gcc.dg/20031009-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/gcc.dg/20031009-1.c 2003-10-09 20:53:40.000000000 +0000 *************** *** 0 **** --- 1,19 ---- + /* PR optimization/12510 */ + /* Origin: Lars Skovlund */ + /* Reduced testcase by Volker Reichelt */ + + /* Verify that one splitting pass is not missing on x86 at -O1 */ + + /* { dg-do compile } */ + /* { dg-options "-O -mcpu=i686" { target i?86-*-* } } */ + + extern foo(double); + + void bar(double x, double y) + { + foo (x); + if (y) x = y ? 0 : 1/y; + else if (y) x = y < 1 ? 1 : y; + else x = 1/y < 1 ? 1 : x; + foo (x); + } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/gcc.dg/builtin-apply1.c gcc-3.3.2/gcc/testsuite/gcc.dg/builtin-apply1.c *** gcc-3.3.1/gcc/testsuite/gcc.dg/builtin-apply1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/gcc.dg/builtin-apply1.c 2003-09-18 21:18:12.000000000 +0000 *************** *** 0 **** --- 1,9 ---- + /* PR 11184 */ + /* Origin: Dara Hazeghi */ + + void * + objc_msg_sendv (char * arg_frame, void (*foo)()) + { + return __builtin_apply ( foo, arg_frame, 4); + } + diff -Nrc3pad gcc-3.3.1/gcc/testsuite/gcc.dg/c90-array-lval-6.c gcc-3.3.2/gcc/testsuite/gcc.dg/c90-array-lval-6.c *** gcc-3.3.1/gcc/testsuite/gcc.dg/c90-array-lval-6.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/gcc.dg/c90-array-lval-6.c 2003-10-04 18:07:25.000000000 +0000 *************** *** 0 **** --- 1,16 ---- + /* PR c/12446 */ + /* Origin: Keith Thompson */ + + /* { dg-do compile } */ + /* { dg-options "-std=iso9899:1990 -pedantic-errors" } */ + + + struct s { char c[1]; }; + + extern struct s foo(void); + + void bar(void) + { + char *ptr = foo().c; /* { dg-bogus "warning" "warning in place of error" } */ + } + /* { dg-error "non-lvalue" "array not decaying to lvalue" { target *-*-* } 14 } */ diff -Nrc3pad gcc-3.3.1/gcc/testsuite/gcc.dg/c99-array-lval-6.c gcc-3.3.2/gcc/testsuite/gcc.dg/c99-array-lval-6.c *** gcc-3.3.1/gcc/testsuite/gcc.dg/c99-array-lval-6.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/gcc.dg/c99-array-lval-6.c 2003-10-04 18:07:25.000000000 +0000 *************** *** 0 **** --- 1,15 ---- + /* PR c/12446 */ + /* Origin: Keith Thompson */ + + /* { dg-do compile } */ + /* { dg-options "-std=iso9899:1999 -pedantic-errors" } */ + + + struct s { char c[1]; }; + + extern struct s foo(void); + + void bar(void) + { + char *ptr = foo().c; /* { dg-bogus "non-lvalue" "array not decaying to lvalue" } */ + } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/gcc.dg/cpp/separate-1.c gcc-3.3.2/gcc/testsuite/gcc.dg/cpp/separate-1.c *** gcc-3.3.1/gcc/testsuite/gcc.dg/cpp/separate-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/gcc.dg/cpp/separate-1.c 2003-09-14 13:26:30.000000000 +0000 *************** *** 0 **** --- 1,15 ---- + /* Copyright 2003 Free Software Foundation. */ + + /* { dg-do compile } */ + /* { dg-options "-save-temps" } */ + + /* Make sure we report errors in the right line, even if separate + preprocessing is used. */ + + #define FOO() + + int FOO( /* { dg-error "(parse|syntax) error" "error on this line" } */ + ), bar; + + int baz FOO /* { dg-error "(parse|syntax) error" "error on this line" } */ + ; /* { dg-warning "no type or storage class" "warning on this line" } */ diff -Nrc3pad gcc-3.3.1/gcc/testsuite/gcc.dg/cpp/spacing1.c gcc-3.3.2/gcc/testsuite/gcc.dg/cpp/spacing1.c *** gcc-3.3.1/gcc/testsuite/gcc.dg/cpp/spacing1.c 2001-10-08 06:15:14.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/gcc.dg/cpp/spacing1.c 2003-09-14 13:26:30.000000000 +0000 *************** *** 1,4 **** ! /* Copyright (C) 2000, 2001 Free Software Foundation, Inc. */ /* { dg-do preprocess } */ --- 1,4 ---- ! /* Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc. */ /* { dg-do preprocess } */ *************** *** 10,15 **** --- 10,24 ---- Neil Booth, 1 Dec 2000, 23 Sep 2001. */ + /* The actual location of the expansion of a multi-line macro + invocation is not defined: we might consider them to be in the same + line as the initial token of the invocation, or as the final token + of the invocation, or even anything in between. We choose to make + it the initial token, such that everything that is in a logical + line ends up in a single line after preprocessing. + + Alexandre Oliva, Sept 13, 2003. */ + #define str(x) #x #define f(x) x #define glue(x, y) x ## y *************** *** 28,33 **** --- 37,44 ---- B Q B Q A Q A: f bar + A + bad g "1 2" bam baz */ *************** glue (EMPTY 4, 4) EMPTY; *** 36,41 **** --- 47,54 ---- A(Q) C(Q) D()Q D(): f bar + A + bad f (g) str ( 1 *************** f (g) str *** 49,55 **** { dg-final { if \{ [grep spacing1.i "B Q B Q A Q A:"] != "" \} \{ } } { dg-final { if \{ [grep spacing1.i "f.*bar"] == "" \} \{ } } { dg-final { if \{ [grep spacing1.i "^bar"] != "" \} \{ } } { dg-final { if \{ [grep spacing1.i "g \"1 2\" bam baz"] != "" \} \{ } } ! { dg-final { return \} \} \} \} \} } } { dg-final { fail "spacing1.c: spacing and new-line preservation" } } */ --- 62,70 ---- { dg-final { if \{ [grep spacing1.i "B Q B Q A Q A:"] != "" \} \{ } } { dg-final { if \{ [grep spacing1.i "f.*bar"] == "" \} \{ } } { dg-final { if \{ [grep spacing1.i "^bar"] != "" \} \{ } } + { dg-final { if \{ [grep spacing1.i "^A$"] != "" \} \{ } } + { dg-final { if \{ [grep spacing1.i "^bad$"] != "" \} \{ } } { dg-final { if \{ [grep spacing1.i "g \"1 2\" bam baz"] != "" \} \{ } } ! { dg-final { return \} \} \} \} \} \} \} } } { dg-final { fail "spacing1.c: spacing and new-line preservation" } } */ diff -Nrc3pad gcc-3.3.1/gcc/testsuite/gcc.dg/cpp/Wunknown-pragmas-1.c gcc-3.3.2/gcc/testsuite/gcc.dg/cpp/Wunknown-pragmas-1.c *** gcc-3.3.1/gcc/testsuite/gcc.dg/cpp/Wunknown-pragmas-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/gcc.dg/cpp/Wunknown-pragmas-1.c 2003-09-24 23:52:13.000000000 +0000 *************** *** 0 **** --- 1,29 ---- + /* Copyright 2003 Free Software Foundation, Inc. */ + + /* { dg-do compile } */ + /* { dg-options "-Wunknown-pragmas" } */ + + /* Make sure we get warnings in the expected lines. */ + + #pragma unknown1 /* { dg-warning "unknown1" "unknown1" } */ + + #define COMMA , + #define FOO(x) x + #define BAR(x) _Pragma("unknown_before") x + #define BAZ(x) x _Pragma("unknown_after") + + int _Pragma("unknown2") bar1; /* { dg-warning "unknown2" "unknown2" } */ + + FOO(int _Pragma("unknown3") bar2); /* { dg-warning "unknown3" "unknown3" } */ + + int BAR(bar3); /* { dg-warning "unknown_before" "unknown_before 1" } */ + + BAR(int bar4); /* { dg-warning "unknown_before" "unknown_before 2" } */ + + int BAZ(bar5); /* { dg-warning "unknown_after" "unknown_after 1" } */ + + int BAZ(bar6;) /* { dg-warning "unknown_after" "unknown_after 2" } */ + + FOO(int bar7; _Pragma("unknown4")) /* { dg-warning "unknown4" "unknown4" } */ + + #pragma unknown5 /* { dg-warning "unknown5" "unknown5" } */ diff -Nrc3pad gcc-3.3.1/gcc/testsuite/gcc.dg/darwin-abi-1.c gcc-3.3.2/gcc/testsuite/gcc.dg/darwin-abi-1.c *** gcc-3.3.1/gcc/testsuite/gcc.dg/darwin-abi-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/gcc.dg/darwin-abi-1.c 2003-09-24 02:55:50.000000000 +0000 *************** *** 0 **** --- 1,12 ---- + /* { dg-do compile { target powerpc*-*-darwin* } } */ + /* { dg-options "-O" } */ + /* { dg-final { scan-assembler "li r3,12345\n\tbl " } } */ + + /* Check that zero-size structures don't affect parameter passing. */ + + struct empty { }; + extern void foo (struct empty e, int a); + void bar (void) { + struct empty e; + foo (e, 12345); + } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/gcc.dg/nest.c gcc-3.3.2/gcc/testsuite/gcc.dg/nest.c *** gcc-3.3.1/gcc/testsuite/gcc.dg/nest.c 2002-10-28 18:10:56.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/gcc.dg/nest.c 2003-08-09 06:51:11.000000000 +0000 *************** *** 5,10 **** --- 5,11 ---- /* Support for -pg on irix relies on gcrt1.o which doesn't exist yet. See: http://gcc.gnu.org/ml/gcc/2002-10/msg00169.html */ /* { dg-error "gcrt1.o" "Profiler support missing" { target mips*-*-irix* } 0 } */ + /* { dg-error "-pg not supported" "Profiler support missing" { target *-*-sco3.2v5* } 0 } */ long foo (long x) { diff -Nrc3pad gcc-3.3.1/gcc/testsuite/gcc.dg/noncompile/20030818-1.c gcc-3.3.2/gcc/testsuite/gcc.dg/noncompile/20030818-1.c *** gcc-3.3.1/gcc/testsuite/gcc.dg/noncompile/20030818-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/gcc.dg/noncompile/20030818-1.c 2003-08-27 00:52:37.000000000 +0000 *************** *** 0 **** --- 1,3 ---- + /* PR 11207. */ + + char font8x8[256][8] = { [-1] = { 0 } }; /* { dg-error "array index|near init" } */ diff -Nrc3pad gcc-3.3.1/gcc/testsuite/gcc.dg/sibcall-1.c gcc-3.3.2/gcc/testsuite/gcc.dg/sibcall-1.c *** gcc-3.3.1/gcc/testsuite/gcc.dg/sibcall-1.c 2002-09-29 18:16:15.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/gcc.dg/sibcall-1.c 2003-09-01 20:52:49.000000000 +0000 *************** track (int n) *** 42,46 **** if (n == 0) trackpoint = stackpos; else if (n != 7 || trackpoint != stackpos) ! abort (); } --- 42,49 ---- if (n == 0) trackpoint = stackpos; else if (n != 7 || trackpoint != stackpos) ! { ! printf ("%d %p %p\n", n, trackpoint, stackpos); ! abort (); ! } } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/gcc.dg/ultrasp10.c gcc-3.3.2/gcc/testsuite/gcc.dg/ultrasp10.c *** gcc-3.3.1/gcc/testsuite/gcc.dg/ultrasp10.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/gcc.dg/ultrasp10.c 2003-09-10 13:04:00.000000000 +0000 *************** *** 0 **** --- 1,25 ---- + /* PR target/11965 */ + /* Originator: */ + /* { dg-do run { target sparc*-*-* } } */ + /* { dg-options "-O -mcpu=ultrasparc" } */ + + /* This used to fail on 32-bit Ultrasparc because GCC emitted + an invalid shift instruction. */ + + + static inline unsigned int shift(int n, unsigned int value) + { + return value << n; + } + + unsigned int val = 1; + + int main(void) + { + int i; + + for (i = 0; i < 4; i++) + val = shift(32, val); + + return 0; + } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/gcc.dg/uninit-C.c gcc-3.3.2/gcc/testsuite/gcc.dg/uninit-C.c *** gcc-3.3.1/gcc/testsuite/gcc.dg/uninit-C.c 2003-01-28 02:00:55.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/gcc.dg/uninit-C.c 2003-08-23 01:58:04.000000000 +0000 *************** *** 2,8 **** --- 2,13 ---- /* { dg-do compile } */ /* { dg-options "-O -Wuninitialized" } */ + /* Not all platforms support TImode integers. */ + #if defined(__LP64__) || defined(__sparc__) typedef int TItype __attribute__ ((mode (TI))); + #else + typedef long TItype; + #endif TItype __subvdi3 (TItype a, TItype b) diff -Nrc3pad gcc-3.3.1/gcc/testsuite/gcc.dg/Wunreachable-6.c gcc-3.3.2/gcc/testsuite/gcc.dg/Wunreachable-6.c *** gcc-3.3.1/gcc/testsuite/gcc.dg/Wunreachable-6.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/gcc.dg/Wunreachable-6.c 2003-08-09 03:50:05.000000000 +0000 *************** *** 0 **** --- 1,18 ---- + /* PR c/11370 */ + /* { dg-do compile } */ + /* { dg-options "-Wunreachable-code" } */ + + int main(int argc, char *argv[]) + { + if (argc != 1) + exit(1); + + { + int ix; /* { dg-bogus "will never be executed" } */ + ix = printf("hello\n"); + printf("%d\n", ix); + } + + return 0; + } + diff -Nrc3pad gcc-3.3.1/gcc/testsuite/gcc.dg/Wunreachable-7.c gcc-3.3.2/gcc/testsuite/gcc.dg/Wunreachable-7.c *** gcc-3.3.1/gcc/testsuite/gcc.dg/Wunreachable-7.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/gcc.dg/Wunreachable-7.c 2003-08-09 03:50:05.000000000 +0000 *************** *** 0 **** --- 1,18 ---- + /* PR c/11370 */ + /* { dg-do compile } */ + /* { dg-options "-O2 -Wunreachable-code" } */ + + int main(int argc, char *argv[]) + { + if (argc != 1) + exit(1); + + { + int ix; /* { dg-bogus "will never be executed" } */ + ix = printf("hello\n"); + printf("%d\n", ix); + } + + return 0; + } + diff -Nrc3pad gcc-3.3.1/gcc/testsuite/gcc.misc-tests/linkage.exp gcc-3.3.2/gcc/testsuite/gcc.misc-tests/linkage.exp *** gcc-3.3.1/gcc/testsuite/gcc.misc-tests/linkage.exp 2002-10-21 15:42:23.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/gcc.misc-tests/linkage.exp 2003-08-23 02:02:43.000000000 +0000 *************** if [isnative] then { *** 53,58 **** --- 53,63 ---- if [ string match "*32-bit*" $file_string ] { set native_cflags "-m31" } + } elseif [istarget "*-hp-hpux*"] { + set file_string [exec file "linkage-x.o"] + if [ string match "*ELF-64*" $file_string ] { + set native_cflags "+DD64" + } } catch { exec rm -f linkage-y.o } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/abi/bitfield11.C gcc-3.3.2/gcc/testsuite/g++.dg/abi/bitfield11.C *** gcc-3.3.1/gcc/testsuite/g++.dg/abi/bitfield11.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/abi/bitfield11.C 2003-09-17 23:48:27.000000000 +0000 *************** *** 0 **** --- 1,14 ---- + // { dg-do run } + // { dg-options "-w -fabi-version=0" } + + struct S { + char c : 1024; + }; + + S s; + + int main () { + s.c = 1; + if (*(char *)&s != 1) + return 1; + } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/abi/bitfield12.C gcc-3.3.2/gcc/testsuite/g++.dg/abi/bitfield12.C *** gcc-3.3.1/gcc/testsuite/g++.dg/abi/bitfield12.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/abi/bitfield12.C 2003-09-17 23:48:27.000000000 +0000 *************** *** 0 **** --- 1,5 ---- + // { dg-options "-Wabi -fabi-version=1" } + + struct S { // { dg-warning "ABI" } + char c : 1024; // { dg-warning "width" } + }; diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/eh/delayslot1.C gcc-3.3.2/gcc/testsuite/g++.dg/eh/delayslot1.C *** gcc-3.3.1/gcc/testsuite/g++.dg/eh/delayslot1.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/eh/delayslot1.C 2003-09-21 08:22:34.000000000 +0000 *************** *** 0 **** --- 1,47 ---- + // PR target/12301 + // Origin: Colin Hirsch + // Testcase by Christian Ehrhardt + + // This used to fail on SPARC because the reorg pass moved an insn + // across a function call that can throw internally, in order to put + // it in a delay slot. + + // { dg-do run } + // { dg-options "-O" } + + struct S{ + char *c; + char data[100]; + S () : c (data) {}; + S (const S& s) { + c = data; + data[0] = s.c[0]; + } + }; + + S real_cast () + { + throw 3; + } + + S cast_helper(S& debug) + { + try { + return real_cast(); + } + catch (int e) { + throw debug; + } + } + + int main() + { + S tmp; + + try { + cast_helper (tmp); + } + catch (S& e) {} + + return 0; + } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/expr/comma1.C gcc-3.3.2/gcc/testsuite/g++.dg/expr/comma1.C *** gcc-3.3.1/gcc/testsuite/g++.dg/expr/comma1.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/expr/comma1.C 2003-09-07 20:53:15.000000000 +0000 *************** *** 0 **** --- 1,21 ---- + // { dg-do run } + + extern "C" void abort (); + + struct gtst + { + unsigned char data[2]; + }; + + static struct gtst s; + + int main(int argc, char *argv[]) + { + unsigned char * pc; + struct gtst * ps; + ps = &s; + pc = (ps->data[0]='A', ps->data); + if (&s.data[0] != pc) + abort(); + return 0; + } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/expr/static_cast4.C gcc-3.3.2/gcc/testsuite/g++.dg/expr/static_cast4.C *** gcc-3.3.1/gcc/testsuite/g++.dg/expr/static_cast4.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/expr/static_cast4.C 2003-09-07 20:51:14.000000000 +0000 *************** *** 0 **** --- 1,11 ---- + class C { + public: + explicit C(int) {} + }; + + int main() + { + int i = 0; + static_cast(i); + return 0; + } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/expr/static_cast5.C gcc-3.3.2/gcc/testsuite/g++.dg/expr/static_cast5.C *** gcc-3.3.1/gcc/testsuite/g++.dg/expr/static_cast5.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/expr/static_cast5.C 2003-09-07 04:14:57.000000000 +0000 *************** *** 0 **** --- 1,17 ---- + void ambig() + { + struct A {}; + struct B : A {}; + struct C : A {}; + struct D : B, C {}; + + D d; + A* ap = static_cast (&d); + D* db = static_cast (ap); // { dg-error "" } + + D& dr1 = static_cast (*ap); // { dg-error "" } + + A& ar = static_cast (d); + D& dr = static_cast (ar); // { dg-error "" } + } + diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/ext/attrib8.C gcc-3.3.2/gcc/testsuite/g++.dg/ext/attrib8.C *** gcc-3.3.1/gcc/testsuite/g++.dg/ext/attrib8.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/ext/attrib8.C 2003-10-09 18:06:18.000000000 +0000 *************** *** 0 **** --- 1,10 ---- + // PR 8656 + // { dg-do compile { target i?86-*-* } } + + extern int * (__attribute__((stdcall)) *fooPtr)( void); + int * __attribute__((stdcall)) myFn01( void) { return 0; } + + void snafu( void) + { + fooPtr = myFn01; + } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/inherit/conv1.C gcc-3.3.2/gcc/testsuite/g++.dg/inherit/conv1.C *** gcc-3.3.1/gcc/testsuite/g++.dg/inherit/conv1.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/inherit/conv1.C 2003-08-29 23:56:19.000000000 +0000 *************** *** 0 **** --- 1,23 ---- + typedef struct _A A; + typedef struct _A B; + + void some_function(B *b); + + class AClass { + + public: + operator A*() { return 0;} + + }; + + class BClass :public AClass { + + public: + operator B*() { return 0;} + + }; + + int main(int argc, char **argv) { + BClass b; + some_function(b); + } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/inherit/error1.C gcc-3.3.2/gcc/testsuite/g++.dg/inherit/error1.C *** gcc-3.3.1/gcc/testsuite/g++.dg/inherit/error1.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/inherit/error1.C 2003-10-02 23:11:27.000000000 +0000 *************** *** 0 **** --- 1,10 ---- + // PR 12486 + + struct A { int ma; }; + struct B { }; + + void foo() + { + B *b; + b->A::ma=0; // { dg-error "" } + } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/init/array11.C gcc-3.3.2/gcc/testsuite/g++.dg/init/array11.C *** gcc-3.3.1/gcc/testsuite/g++.dg/init/array11.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/init/array11.C 2003-09-19 14:49:28.000000000 +0000 *************** *** 0 **** --- 1,28 ---- + /* PR 11665 + Orgin: jwhite@cse.unl.edu + The problem was in initializer_constant_valid_p, + "for a CONSTRUCTOR, only the last element + of the CONSTRUCTOR was being checked" + (from the email of the patch which fixed this). + This used to ICE because GCC thought gdt_table was a + constant value when it is not. */ + + int x; + + typedef __SIZE_TYPE__ size_t; + + struct gdt + { + size_t a,b,c,d,e,f; + }; + void f() + { + struct gdt gdt_table[2]= + { + { + 0, + ( (((size_t)(&x))<<(24))&(-1<<(8)) ), + }, + }; + } + diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/init/new9.C gcc-3.3.2/gcc/testsuite/g++.dg/init/new9.C *** gcc-3.3.1/gcc/testsuite/g++.dg/init/new9.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/init/new9.C 2003-10-07 05:57:06.000000000 +0000 *************** *** 0 **** --- 1,22 ---- + // PR 12337 + + class A {}; + + template + class X : public A { + public: + X(T&); + }; + + class B { + public: + bool foo(A*); + template + bool foo(T& t) { return foo(new X(t)); } + }; + + int main() + { + B x, y; + x.foo(y); + } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/init/ref8.C gcc-3.3.2/gcc/testsuite/g++.dg/init/ref8.C *** gcc-3.3.1/gcc/testsuite/g++.dg/init/ref8.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/init/ref8.C 2003-08-19 23:14:01.000000000 +0000 *************** *** 0 **** --- 1,10 ---- + struct A { + A operator=(const A&); + }; + + A operator*(A, A); + + A& operator+=(A& a, const A& b) + { + return a = a * b; // { dg-error "non-const reference" } + } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/init/ref9.C gcc-3.3.2/gcc/testsuite/g++.dg/init/ref9.C *** gcc-3.3.1/gcc/testsuite/g++.dg/init/ref9.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/init/ref9.C 2003-09-01 20:52:49.000000000 +0000 *************** *** 0 **** --- 1,36 ---- + // { dg-do run } + + struct ex; + struct basic { + int refcount; + ex eval() const; + basic() : refcount(0) {} + }; + + struct ex { + basic *bp; + ex() : bp(0) { } + ex(const basic &); + virtual ~ex(); + void construct_from_basic(const basic &); + }; + + ex basic::eval() const { + throw 1; + } + + inline ex::ex(const basic &b) { construct_from_basic (b); } + inline ex::~ex() { if (--bp->refcount == 0) delete bp; } + void ex::construct_from_basic(const basic &b) { + const ex & tmpex = b.eval(); + bp = tmpex.bp; + bp->refcount++; + } + + ex pow() { return basic(); } + + int main() + { + try { pow (); } catch (int) {} + return 0; + } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/init/struct1.C gcc-3.3.2/gcc/testsuite/g++.dg/init/struct1.C *** gcc-3.3.1/gcc/testsuite/g++.dg/init/struct1.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/init/struct1.C 2003-09-07 23:51:05.000000000 +0000 *************** *** 0 **** --- 1,6 ---- + struct bug { + const char *name; + unsigned long type; + }; + + struct bug s = { 0, (unsigned long) &s | 1 }; diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/lookup/koenig2.C gcc-3.3.2/gcc/testsuite/g++.dg/lookup/koenig2.C *** gcc-3.3.1/gcc/testsuite/g++.dg/lookup/koenig2.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/lookup/koenig2.C 2003-09-08 19:05:44.000000000 +0000 *************** *** 0 **** --- 1,15 ---- + struct S + { + template void operator() (T) {} + }; + + namespace N + { + S s; + struct A {} a; + } + + using N::s; + + void f () { s(N::a); } + diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/opt/cfg2.C gcc-3.3.2/gcc/testsuite/g++.dg/opt/cfg2.C *** gcc-3.3.1/gcc/testsuite/g++.dg/opt/cfg2.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/opt/cfg2.C 2003-10-06 09:24:17.000000000 +0000 *************** *** 0 **** --- 1,38 ---- + // PR optimization/12215 + // Origin: + // Reduced testcase by Wolfgang Bangerth + + // This used to fail because the CSE pass destroyed the CFG in presence + // of trapping loads, which led to the deletion of basic blocks. + + // { dg-do compile } + // { dg-options "-O2 -fno-gcse -fnon-call-exceptions" } + + + struct B { + ~B() throw() {} + }; + + struct X { + X(const char*, const B&); + ~X() {} + }; + + bool m(); + void f(int &i, float &arg0); + + void g (const char **argv) { + float val; + int i = 1; + + try { + while ( i < 1 ) + { + X arg(argv[i], B()); + if (m()) + throw(0); + + f(i, val); + } + } catch (...) {} + } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/opt/cfg3.C gcc-3.3.2/gcc/testsuite/g++.dg/opt/cfg3.C *** gcc-3.3.1/gcc/testsuite/g++.dg/opt/cfg3.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/opt/cfg3.C 2003-09-17 07:17:18.000000000 +0000 *************** *** 0 **** --- 1,61 ---- + // PR optimization/11646 + // Origin: + + // This used to fail because the compiler inadvertently cleared + // the EDGE_ABNORMAL flag on a EDGE_EH edge and didn't delete + // unreachable blocks after CSE. + + // { dg-do compile } + // { dg-options "-O -fgcse -fnon-call-exceptions" } + + struct C + { + int i; + }; + + struct allocator + { + ~allocator() throw() {} + }; + + struct _Vector_alloc_base + { + _Vector_alloc_base(const allocator& __a) {} + allocator _M_data_allocator; + struct C *_M_start, *_M_end_of_storage; + void _M_deallocate(struct C* __p, unsigned int __n) {} + }; + + struct _Vector_base : _Vector_alloc_base + { + _Vector_base(const allocator& __a) : _Vector_alloc_base(__a) { } + ~_Vector_base() { _M_deallocate(0, _M_end_of_storage - _M_start); } + }; + + struct vector : _Vector_base + { + vector(const allocator& __a = allocator()) : _Vector_base(__a) {} + struct C& operator[](unsigned int __n) { return *_M_start; } + }; + + struct A + { + float l() const; + A operator-(const A &) const; + const A& operator=(float) const; + }; + + struct B + { + float d(); + }; + + float f(const A& a, B& b) + { + vector vc; + int index = vc[0].i; + A aa; + float d = (aa - a).l(); + if (d > b.d()) aa = 0; + return b.d(); + } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/opt/cond1.C gcc-3.3.2/gcc/testsuite/g++.dg/opt/cond1.C *** gcc-3.3.1/gcc/testsuite/g++.dg/opt/cond1.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/opt/cond1.C 2003-10-02 12:00:51.000000000 +0000 *************** *** 0 **** --- 1,24 ---- + // { dg-do run } + // { dg-options "-O2" } + + struct D { int x; }; + struct W + { + W () {} + D & operator * () { return d; } + D d; + }; + + int + foo (int y) + { + W m; + (*m).x = (y > 1 ? y : 0); + return (*m).x; + } + + int + main () + { + return (foo (6) != 6); + } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/opt/float1.C gcc-3.3.2/gcc/testsuite/g++.dg/opt/float1.C *** gcc-3.3.1/gcc/testsuite/g++.dg/opt/float1.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/opt/float1.C 2003-10-06 08:59:02.000000000 +0000 *************** *** 0 **** --- 1,21 ---- + // PR optimization/11637 + // Origin: + + // This used to fail to assemble on x86 because a decimal + // floating point litteral was emitted, which originated + // from a bogus REG_EQUAL note not removed by the combiner. + + // { dg-do assemble } + // { dg-options "-O2 -fnon-call-exceptions" } + + void f(long int seed); + + void g(float &o) + { + float a = 0.05f; + float b = 1.0 - a; + float c = 1.0 + a; + + f(0); + o = a; + } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/opt/longbranch2.C gcc-3.3.2/gcc/testsuite/g++.dg/opt/longbranch2.C *** gcc-3.3.1/gcc/testsuite/g++.dg/opt/longbranch2.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/opt/longbranch2.C 2003-09-08 06:46:44.000000000 +0000 *************** *** 0 **** --- 1,62 ---- + // PR target/11689 + // Originator: thor@math.tu-berlin.de + + // { dg-do compile } + // { dg-options "-O3 -funroll-loops -mcpu=k6 -fomit-frame-pointer" { target i?86-*-* } } + + // This used to fail to assemble because of an out-of-range 'loop' instructions. + + + class JKeeper { + public: + unsigned long a0; + }; + + class EBCOTLut : public JKeeper { + unsigned char a1[1<<8]; + unsigned char a2[1<<8]; + unsigned char a3[1<<8]; + long a4[1<<9]; + public: + EBCOTLut(void); + }; + + EBCOTLut::EBCOTLut(void) + { + unsigned char inter[36]; // intermediate lookup table; + unsigned long i; + for(i=0;i<36;i++) { + inter[i] = 0; + } + for(i=1;i<16;i++) { + a1[i | (1<<7)] = 8<<1; + a1[i | (1<<6)] = 8<<1; + } + for(i=0;i < ((1<<9)-1);i++) { + int ds = (i>>0) & 0x01; // significance of DOWN + int us = (i>>1) & 0x01; // significance of UP + int rs = (i>>2) & 0x01; // significance of RIGHT + int ls = (i>>3) & 0x01; // significance of LEFT + int dn = (i>>5) & 0x01; // sign of DOWN + int un = (i>>6) & 0x01; // sign of UP + int rn = (i>>7) & 0x01; // sign of RIGHT + int ln = (i>>8) & 0x01; // sign of LEFT + int h,v; // h and v as in the VM description + + h = ls*(1-ln*2) + rs*(1-2*rn); + v = us*(1-un*2) + ds*(1-2*dn); + h = (h >= -1)?(h):(-1); + v = (v >= -1)?(v):(-1); + h = (h <= 1)?(h):(1); + v = (v <= 1)?(v):(1); + a2[i] = inter[((h+1)<<3) | (v+1)]; + a3[i] = inter[((h+1)<<3) | (v+1)] & (unsigned char)(~1); + } + for(i=0;i< 1<<9; i++) { + a4[i] = 2*(i-(1<<(9-1)))*(i-(1<<(9-1))) - + ((i< (1<<(9-1)))? + (2*(i-(1<<(9-2)))*(i-(1<<(9-2)))): + (2*(i-(3<<(9-2)))*(i-(3<<(9-2))))); + + } + } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/opt/reg-stack2.C gcc-3.3.2/gcc/testsuite/g++.dg/opt/reg-stack2.C *** gcc-3.3.1/gcc/testsuite/g++.dg/opt/reg-stack2.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/opt/reg-stack2.C 2003-09-22 07:11:27.000000000 +0000 *************** *** 0 **** --- 1,34 ---- + // PR target/9786 + // Origin: + + // This used to fail on x86 because the reg-stack pass deleted + // an insn that could seemingly trap (but actually doesn't) + // without updating the CFG. + + // { dg-do compile } + // { dg-options "-O2 -fnon-call-exceptions" } + + struct D1 { + float l; + D1 GS() const {D1 d;float f=.299*l;d.l=f;return d;} + static D1 G() {return D1();} + }; + + struct D2 { + D1 g; + D2(const D1& gi) : g(gi) {} + D2 GS() const {return D2(g.GS());} + }; + + class A { + public: + virtual ~A() {} + }; + + class B : public A { + public: + B(const D2& mi); + D2 fm; + }; + + B::B(const D2 &mi) : fm(mi.GS()) {} diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/opt/unroll1.C gcc-3.3.2/gcc/testsuite/g++.dg/opt/unroll1.C *** gcc-3.3.1/gcc/testsuite/g++.dg/opt/unroll1.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/opt/unroll1.C 2003-09-29 06:18:06.000000000 +0000 *************** *** 0 **** --- 1,420 ---- + // PR optimization/12340 + // Origin: Richard Guenther + // Testcase by Eric Botcazou + + // This used to segfault on x86 because the loop optimizer wrongly + // interpreted a double assignment to a biv as a double increment, + // which subsequently fooled the unroller. + + // { dg-do run } + // { dg-options "-O2 -fno-exceptions -funroll-loops" } + + typedef __SIZE_TYPE__ size_t; + + inline void* operator new(size_t, void* __p) throw() { return __p; } + inline void operator delete (void*, void*) throw() { }; + + class Loc; + class Interval; + + template + class DomainBase + { + public: + typedef typename DT::Domain_t Domain_t; + typedef typename DT::Storage_t Storage_t; + + Domain_t &unwrap() { return *static_cast(this); } + + const Domain_t &unwrap() const { + return *static_cast(const_cast *>(this)); + } + + protected: + Storage_t domain_m; + }; + + template + class Domain : public DomainBase
        + { + typedef DomainBase
        Base_t; + + public: + typedef typename DT::Size_t Size_t; + typedef typename DT::Element_t Element_t; + typedef typename Base_t::Domain_t Domain_t; + typedef typename Base_t::Storage_t Storage_t; + + Domain_t &operator[](int) { return this->unwrap(); } + + const Domain_t &operator[](int) const { return this->unwrap(); } + + template + void setDomain(const T &newdom) { + DT::setDomain(this->domain_m, newdom); + } + + Element_t first() const { return DT::first(this->domain_m); } + + Size_t length() const { return DT::length(this->domain_m); } + + Size_t size() const { return length(); } + }; + + template + struct DomainTraits; + + template<> + struct DomainTraits + { + typedef int Size_t; + typedef int Element_t; + typedef Interval Domain_t; + typedef Interval OneDomain_t; + typedef Loc AskDomain_t; + typedef int Storage_t[2]; + enum { dimensions = 1 }; + enum { wildcard = false }; + + static int first(const Storage_t &d) { return d[0]; } + + static int length(const Storage_t &d) { return d[1]; } + + static OneDomain_t &getDomain(Domain_t &d, int) { return d; } + + static const OneDomain_t &getDomain(const Domain_t &d, int) { return d; } + + template + static void setDomain(Storage_t &dom, const T &newdom) { + dom[0] = newdom.first(); + dom[1] = newdom.length(); + } + + template + static void setDomain(Storage_t &dom, const T1 &begval, const T2 &endval) { + dom[0] = begval; + dom[1] = (endval - begval + 1); + } + + }; + + class Interval : public Domain > + { + public: + Interval(const Interval &a) : Domain >() { + for (int i=0; i < DomainTraits::dimensions; ++i) + DomainTraits::getDomain(*this, i).setDomain( + DomainTraits::getDomain(a, i)); + } + + Interval(int a) : Domain >() + { + DomainTraits::setDomain(domain_m, 0, a - 1); + } + }; + + template<> + struct DomainTraits + { + typedef int Size_t; + typedef int Element_t; + typedef Loc Domain_t; + typedef Loc AskDomain_t; + typedef Loc MultResult_t; + typedef int Storage_t; + + static int first(int d) { return d; } + + template + static void setDomain(int &dom, const T &newdom) { + dom = DomainTraits::getFirst(newdom); + } + }; + + template<> + struct DomainTraits + { + enum { dimensions = 1 }; + enum { wildcard = false }; + + static int getPointDomain(int d, int) { return d; } + + static int getFirst(const int &d) { return d; } + }; + + class Loc : public Domain > + { + public: + explicit Loc(const int &a) : Domain >() { + for (int i=0; i < 1; ++i) + (*this)[i].setDomain(DomainTraits::getPointDomain(a, 0)); + } + }; + + struct ElementProperties + { + enum { hasTrivialDefaultConstructor = false }; + enum { hasTrivialDestructor = false }; + + static void construct(double* addr) + { + new (addr) double(); + } + + static void construct(double* addr, const double& model) + { + new (addr) double(model); + } + + static void destruct(double *addr) {} + }; + + class RefCounted + { + public: + RefCounted() : count_m(0) {} + + void addReference() { ++count_m; } + bool removeRefAndCheckGarbage() + { + return (--count_m == 0); + } + + private: + int count_m; + }; + + class RefBlockController : public RefCounted + { + public: + explicit RefBlockController(unsigned int size) + : pBegin_m(0), pEnd_m(0), pEndOfStorage_m(0), dealloc_m(false) + { + reallocateStorage(size, false); + + if (!ElementProperties::hasTrivialDefaultConstructor) + { + for (double * pt = begin(); pt != end(); ++pt) + ElementProperties::construct(pt); + } + } + + ~RefBlockController() + { + deleteStorage(); + } + + double *begin() const + { + return pBegin_m; + } + + double *end() const + { + return pEnd_m; + } + + bool isMine() const + { + return dealloc_m; + } + + private: + void deleteStorage() + { + if (isMine() && pBegin_m != 0) + { + if (!ElementProperties::hasTrivialDestructor) + for (double *pt = begin(); pt != end(); ++pt) + ElementProperties::destruct(pt); + + char *tmp = reinterpret_cast(pBegin_m); + delete [] tmp; + } + } + + void reallocateStorage(unsigned int newsize, bool copyold = false) + { + double *pBeginNew = 0; + double *pEndNew = 0; + double *pEndOfStorageNew = 0; + + if (newsize > 0) + { + int nsize = newsize * sizeof(double); + char *tmp = new char[nsize]; + pBeginNew = reinterpret_cast(tmp); + pEndNew = pBeginNew + newsize; + pEndOfStorageNew = pBeginNew + (nsize / sizeof(double)); + + if (copyold) + { + double * pOld = begin(); + double * pNew = pBeginNew; + while (pOld != end() && pNew != pEndNew) + ElementProperties::construct(pNew++,*pOld++); + } + } + + deleteStorage(); + + pBegin_m = pBeginNew; + pEnd_m = pEndNew; + pEndOfStorage_m = pEndOfStorageNew; + dealloc_m = true; + } + + double *pBegin_m; + double *pEnd_m; + double *pEndOfStorage_m; + bool dealloc_m; + }; + + class DataBlockController : public RefBlockController + { + public: + explicit + DataBlockController(unsigned int size) + : RefBlockController(size), dataObjectPtr_m(new char), owned_m(true) {} + + ~DataBlockController() + { + if (owned_m) delete dataObjectPtr_m; + } + + private: + mutable char *dataObjectPtr_m; + bool owned_m; + }; + + class RefCountedPtr + { + public: + RefCountedPtr(DataBlockController * const pT) : ptr_m(pT) + { if (isValid()) ptr_m->addReference(); } + + ~RefCountedPtr() { invalidate(); } + + DataBlockController* operator->() const { return ptr_m; } + void invalidate(); + bool isValid() const { return ptr_m != 0; } + + private: + friend class RefCountedBlockPtr; + DataBlockController * ptr_m; + }; + + inline void RefCountedPtr::invalidate() + { + if ( isValid() && ptr_m->removeRefAndCheckGarbage() ) + delete ptr_m; + ptr_m = 0; + } + + class RefCountedBlockPtr + { + public: + explicit RefCountedBlockPtr(unsigned int size) + : offset_m(0), + blockControllerPtr_m(new DataBlockController(size)) {} + + int offset() const + { + return offset_m; + } + + double *beginPointer() const + { + return blockControllerPtr_m->begin(); + } + + double *currentPointer() const + { + return beginPointer() + offset(); + } + + protected: + int offset_m; + RefCountedPtr blockControllerPtr_m; + }; + + class DataBlockPtr : public RefCountedBlockPtr + { + public: + explicit DataBlockPtr(unsigned int size) : RefCountedBlockPtr(size) {} + }; + + class Node + { + public: + Node(const Interval &owned, const Interval &allocated) + : domain_m(owned), allocated_m(allocated) {} + + const Interval &allocated() const { return allocated_m; } + + private: + Interval domain_m; + Interval allocated_m; + }; + + class DomainLayout + { + public: + explicit DomainLayout(const Interval &dom) : node_m(0, dom) {} + + const Interval &domain() const + { + return node_m.allocated(); + } + + private: + Node node_m; + }; + + class BrickBase + { + public: + explicit BrickBase(const Interval &domain); + + int offset(const Loc &dom) const { return off_m + dom[0].first(); } + + protected: + DomainLayout layout_m; + int firsts_m; + int off_m; + }; + + BrickBase::BrickBase(const Interval &dom) + : layout_m(dom) + { + firsts_m = layout_m.domain()[0].first(); + off_m = -firsts_m; + } + + class Engine : public BrickBase + { + public: + explicit Engine(const Interval &dom) + : BrickBase(dom), dataBlock_m(dom.size()), data_m(dataBlock_m.currentPointer()) {} + + double& operator()(const Loc &loc) const + { + return data_m[this->offset(loc)]; + } + + private: + DataBlockPtr dataBlock_m; + double *data_m; + }; + + + int main() + { + Interval I(10); + Engine A(I); + + for (int i = 0; i < 10; i++) + A(Loc(i)) = 2.0 + i - i*i; + + return 0; + } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/other/packed1.C gcc-3.3.2/gcc/testsuite/g++.dg/other/packed1.C *** gcc-3.3.1/gcc/testsuite/g++.dg/other/packed1.C 2003-05-08 17:15:26.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/other/packed1.C 2003-08-22 19:48:40.000000000 +0000 *************** *** 1,4 **** ! // { dg-do run { xfail arm-*-* hppa*-*-* mips-*-* powerpc-*-* sh-*-* sparc*-*-* } } // NMS:2003-04-21 this fails on strict aligned architectures again, // the patch was reverted because it broke something more important. --- 1,4 ---- ! // { dg-do run { xfail arm-*-* hppa*-*-* mips-*-* powerpc-*-* sh-*-* sparc*-*-* ia64-hp-hpux* } } // NMS:2003-04-21 this fails on strict aligned architectures again, // the patch was reverted because it broke something more important. diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/overload/builtin3.C gcc-3.3.2/gcc/testsuite/g++.dg/overload/builtin3.C *** gcc-3.3.1/gcc/testsuite/g++.dg/overload/builtin3.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/overload/builtin3.C 2003-10-05 03:46:58.000000000 +0000 *************** *** 0 **** --- 1,10 ---- + // PR c++/11409 + // { dg-do compile } + + namespace std { + double fabs (double); + } + using std::fabs; + + double (*p) (double) = &fabs; // { dg-bogus "is ambiguous" "" } + diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/overload/template1.C gcc-3.3.2/gcc/testsuite/g++.dg/overload/template1.C *** gcc-3.3.1/gcc/testsuite/g++.dg/overload/template1.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/overload/template1.C 2003-09-17 23:48:27.000000000 +0000 *************** *** 0 **** --- 1,12 ---- + template T Foo (int) {T d;} + + void Baz (void (*)(int), int); + + int Foo (); + int Baz (int (*)(), float); + + void Bar () + { + Baz (Foo, 1.0f); + + } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/parse/parameter-declaration-1.C gcc-3.3.2/gcc/testsuite/g++.dg/parse/parameter-declaration-1.C *** gcc-3.3.1/gcc/testsuite/g++.dg/parse/parameter-declaration-1.C 2002-12-10 11:06:33.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/parse/parameter-declaration-1.C 2003-10-02 18:44:30.000000000 +0000 *************** *** 3,6 **** // { dg-do compile } struct { ! a(void = 0; a(0), a(0) // { dg-error "" "" { target *-*-* } 7 } --- 3,6 ---- // { dg-do compile } struct { ! a(void = 0; a(0), a(0) // { dg-error "" "" { target *-*-* } } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/parse/template12.C gcc-3.3.2/gcc/testsuite/g++.dg/parse/template12.C *** gcc-3.3.1/gcc/testsuite/g++.dg/parse/template12.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/parse/template12.C 2003-09-15 01:43:46.000000000 +0000 *************** *** 0 **** --- 1,10 ---- + template + struct A { + }; + + struct B { + template + struct C : public A {}; + + typedef double I; + }; diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/rtti/typeid2.C gcc-3.3.2/gcc/testsuite/g++.dg/rtti/typeid2.C *** gcc-3.3.1/gcc/testsuite/g++.dg/rtti/typeid2.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/rtti/typeid2.C 2003-09-08 16:59:00.000000000 +0000 *************** *** 0 **** --- 1,15 ---- + // { dg-do run } + + #include + + template const char *print_type (const T &) { + return typeid(T).name(); + } + + /* no template */ void pp1 (int) {} + template void pp2 (X) {} + + int main () { + if (print_type (&pp1) != print_type (&pp2)) + return 1; + } diff -Nrc3pad gcc-3.3.1/gcc/testsuite/g++.dg/rtti/typeid3.C gcc-3.3.2/gcc/testsuite/g++.dg/rtti/typeid3.C *** gcc-3.3.1/gcc/testsuite/g++.dg/rtti/typeid3.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/testsuite/g++.dg/rtti/typeid3.C 2003-09-17 23:48:27.000000000 +0000 *************** *** 0 **** --- 1,11 ---- + #include + + template