merge GCC 4.1.2-20070110.
This commit is contained in:
parent
8fb29141e0
commit
d84579c1c7
216
gnu/dist/gcc4/configure
vendored
216
gnu/dist/gcc4/configure
vendored
@ -1293,7 +1293,7 @@ case "${target}" in
|
||||
noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
|
||||
;;
|
||||
bfin-*-*)
|
||||
noconfigdirs="$noconfigdirs target-libgloss gdb"
|
||||
noconfigdirs="$noconfigdirs gdb"
|
||||
if test x${is_cross_compiler} != xno ; then
|
||||
target_configdirs="${target_configdirs} target-bsp target-cygmon"
|
||||
fi
|
||||
@ -2158,7 +2158,6 @@ acx_cv_cc_gcc_supports_ada=no
|
||||
# given a .adb file, but produce no object file. So we must check
|
||||
# if an object file was really produced to guard against this.
|
||||
errors=`(${CC} -c conftest.adb) 2>&1 || echo failure`
|
||||
echo $errors
|
||||
if test x"$errors" = x && test -f conftest.$ac_objext; then
|
||||
acx_cv_cc_gcc_supports_ada=yes
|
||||
fi
|
||||
@ -2219,7 +2218,13 @@ fi
|
||||
|
||||
if test "x$with_mpfr_dir" != x; then
|
||||
gmpinc="-I$with_mpfr_dir"
|
||||
gmplibs="$with_mpfr_dir/libmpfr.a"
|
||||
if test -f "$with_mpfr_dir/.libs/libmpfr.a"; then
|
||||
gmplibs="$with_mpfr_dir/.libs/libmpfr.a"
|
||||
elif test -f "$with_mpfr_dir/_libs/libmpfr.a"; then
|
||||
gmplibs="$with_mpfr_dir/_libs/libmpfr.a"
|
||||
else
|
||||
gmplibs="$with_mpfr_dir/libmpfr.a"
|
||||
fi
|
||||
else
|
||||
gmplibs="-lmpfr"
|
||||
fi
|
||||
@ -2272,9 +2277,9 @@ saved_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $gmpinc"
|
||||
# Check GMP actually works
|
||||
echo $ac_n "checking for correct version of gmp.h""... $ac_c" 1>&6
|
||||
echo "configure:2275: checking for correct version of gmp.h" >&5
|
||||
echo "configure:2281: checking for correct version of gmp.h" >&5
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 2277 "configure"
|
||||
#line 2283 "configure"
|
||||
#include "confdefs.h"
|
||||
#include "gmp.h"
|
||||
int main() {
|
||||
@ -2285,7 +2290,7 @@ choke me
|
||||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:2288: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:2294: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
echo "$ac_t""yes" 1>&6
|
||||
else
|
||||
@ -2298,12 +2303,12 @@ rm -f conftest*
|
||||
|
||||
if test x"$have_gmp" = xyes; then
|
||||
echo $ac_n "checking for MPFR""... $ac_c" 1>&6
|
||||
echo "configure:2301: checking for MPFR" >&5
|
||||
echo "configure:2307: checking for MPFR" >&5
|
||||
|
||||
saved_LIBS="$LIBS"
|
||||
LIBS="$LIBS $gmplibs"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 2306 "configure"
|
||||
#line 2312 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <gmp.h>
|
||||
#include <mpfr.h>
|
||||
@ -2311,7 +2316,7 @@ int main() {
|
||||
mpfr_t n; mpfr_init(n);
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:2314: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:2320: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
echo "$ac_t""yes" 1>&6
|
||||
else
|
||||
@ -3310,7 +3315,7 @@ do
|
||||
# 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:3313: checking for $ac_word" >&5
|
||||
echo "configure:3319: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3350,7 +3355,7 @@ do
|
||||
# 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:3353: checking for $ac_word" >&5
|
||||
echo "configure:3359: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_BISON'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3389,7 +3394,7 @@ do
|
||||
# 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:3392: checking for $ac_word" >&5
|
||||
echo "configure:3398: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_M4'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3428,7 +3433,7 @@ do
|
||||
# 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:3431: checking for $ac_word" >&5
|
||||
echo "configure:3437: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3468,7 +3473,7 @@ do
|
||||
# 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:3471: checking for $ac_word" >&5
|
||||
echo "configure:3477: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_FLEX'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3507,7 +3512,7 @@ do
|
||||
# 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:3510: checking for $ac_word" >&5
|
||||
echo "configure:3516: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_MAKEINFO'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3560,7 +3565,7 @@ do
|
||||
# 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:3563: checking for $ac_word" >&5
|
||||
echo "configure:3569: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_EXPECT'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3601,7 +3606,7 @@ do
|
||||
# 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:3604: checking for $ac_word" >&5
|
||||
echo "configure:3610: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_RUNTEST'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3649,7 +3654,7 @@ test -n "$target_alias" && ncn_target_tool_prefix=$target_alias-
|
||||
# Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:3652: checking for $ac_word" >&5
|
||||
echo "configure:3658: 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
|
||||
@ -3680,7 +3685,7 @@ fi
|
||||
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:3683: checking for $ac_word" >&5
|
||||
echo "configure:3689: 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
|
||||
@ -3724,7 +3729,7 @@ fi
|
||||
# Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:3727: checking for $ac_word" >&5
|
||||
echo "configure:3733: 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
|
||||
@ -3755,7 +3760,7 @@ fi
|
||||
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:3758: checking for $ac_word" >&5
|
||||
echo "configure:3764: 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
|
||||
@ -3799,7 +3804,7 @@ fi
|
||||
# Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:3802: checking for $ac_word" >&5
|
||||
echo "configure:3808: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3830,7 +3835,7 @@ fi
|
||||
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:3833: checking for $ac_word" >&5
|
||||
echo "configure:3839: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3874,7 +3879,7 @@ fi
|
||||
# Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:3877: checking for $ac_word" >&5
|
||||
echo "configure:3883: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3905,7 +3910,7 @@ fi
|
||||
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:3908: checking for $ac_word" >&5
|
||||
echo "configure:3914: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3949,7 +3954,7 @@ fi
|
||||
# Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:3952: checking for $ac_word" >&5
|
||||
echo "configure:3958: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_LIPO'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3980,7 +3985,7 @@ fi
|
||||
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:3983: checking for $ac_word" >&5
|
||||
echo "configure:3989: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_LIPO'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -4024,7 +4029,7 @@ fi
|
||||
# Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:4027: checking for $ac_word" >&5
|
||||
echo "configure:4033: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_NM'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -4055,7 +4060,7 @@ fi
|
||||
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:4058: checking for $ac_word" >&5
|
||||
echo "configure:4064: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_NM'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -4099,7 +4104,7 @@ fi
|
||||
# Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:4102: checking for $ac_word" >&5
|
||||
echo "configure:4108: 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
|
||||
@ -4130,7 +4135,7 @@ fi
|
||||
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:4133: checking for $ac_word" >&5
|
||||
echo "configure:4139: 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
|
||||
@ -4169,7 +4174,7 @@ fi
|
||||
# Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:4172: checking for $ac_word" >&5
|
||||
echo "configure:4178: 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
|
||||
@ -4200,7 +4205,7 @@ fi
|
||||
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:4203: checking for $ac_word" >&5
|
||||
echo "configure:4209: 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
|
||||
@ -4239,7 +4244,7 @@ fi
|
||||
# Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:4242: checking for $ac_word" >&5
|
||||
echo "configure:4248: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -4270,7 +4275,7 @@ fi
|
||||
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:4273: checking for $ac_word" >&5
|
||||
echo "configure:4279: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -4314,7 +4319,7 @@ fi
|
||||
# Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:4317: checking for $ac_word" >&5
|
||||
echo "configure:4323: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_OBJCOPY'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -4345,7 +4350,7 @@ fi
|
||||
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:4348: checking for $ac_word" >&5
|
||||
echo "configure:4354: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_OBJCOPY'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -4389,7 +4394,7 @@ fi
|
||||
# Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:4392: checking for $ac_word" >&5
|
||||
echo "configure:4398: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -4420,7 +4425,7 @@ fi
|
||||
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:4423: checking for $ac_word" >&5
|
||||
echo "configure:4429: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -4471,7 +4476,7 @@ fi
|
||||
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:4474: checking for $ac_word" >&5
|
||||
echo "configure:4480: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_AR_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -4502,7 +4507,7 @@ fi
|
||||
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:4505: checking for $ac_word" >&5
|
||||
echo "configure:4511: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_AR_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -4546,7 +4551,7 @@ fi
|
||||
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:4549: checking for $ac_word" >&5
|
||||
echo "configure:4555: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_AS_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -4577,7 +4582,7 @@ fi
|
||||
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:4580: checking for $ac_word" >&5
|
||||
echo "configure:4586: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_AS_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -4621,7 +4626,7 @@ fi
|
||||
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:4624: checking for $ac_word" >&5
|
||||
echo "configure:4630: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_CC_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -4652,7 +4657,7 @@ fi
|
||||
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:4655: checking for $ac_word" >&5
|
||||
echo "configure:4661: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_CC_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -4696,7 +4701,7 @@ fi
|
||||
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:4699: checking for $ac_word" >&5
|
||||
echo "configure:4705: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_CXX_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -4727,7 +4732,7 @@ fi
|
||||
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:4730: checking for $ac_word" >&5
|
||||
echo "configure:4736: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_CXX_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -4771,7 +4776,7 @@ fi
|
||||
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:4774: checking for $ac_word" >&5
|
||||
echo "configure:4780: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -4802,7 +4807,7 @@ fi
|
||||
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:4805: checking for $ac_word" >&5
|
||||
echo "configure:4811: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -4846,7 +4851,7 @@ fi
|
||||
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:4849: checking for $ac_word" >&5
|
||||
echo "configure:4855: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_GCC_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -4877,7 +4882,7 @@ fi
|
||||
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:4880: checking for $ac_word" >&5
|
||||
echo "configure:4886: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_GCC_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -4916,7 +4921,7 @@ fi
|
||||
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:4919: checking for $ac_word" >&5
|
||||
echo "configure:4925: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_GCJ_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -4947,7 +4952,7 @@ fi
|
||||
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:4950: checking for $ac_word" >&5
|
||||
echo "configure:4956: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_GCJ_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -4991,7 +4996,7 @@ fi
|
||||
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:4994: checking for $ac_word" >&5
|
||||
echo "configure:5000: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_GFORTRAN_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -5022,7 +5027,7 @@ fi
|
||||
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:5025: checking for $ac_word" >&5
|
||||
echo "configure:5031: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_GFORTRAN_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -5066,7 +5071,7 @@ fi
|
||||
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:5069: checking for $ac_word" >&5
|
||||
echo "configure:5075: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_LD_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -5097,7 +5102,7 @@ fi
|
||||
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:5100: checking for $ac_word" >&5
|
||||
echo "configure:5106: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_LD_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -5141,7 +5146,7 @@ fi
|
||||
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:5144: checking for $ac_word" >&5
|
||||
echo "configure:5150: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_LIPO_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -5172,7 +5177,7 @@ fi
|
||||
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:5175: checking for $ac_word" >&5
|
||||
echo "configure:5181: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_LIPO_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -5216,7 +5221,7 @@ fi
|
||||
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:5219: checking for $ac_word" >&5
|
||||
echo "configure:5225: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_NM_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -5247,7 +5252,7 @@ fi
|
||||
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:5250: checking for $ac_word" >&5
|
||||
echo "configure:5256: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_NM_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -5291,7 +5296,7 @@ fi
|
||||
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:5294: checking for $ac_word" >&5
|
||||
echo "configure:5300: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -5322,7 +5327,7 @@ fi
|
||||
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:5325: checking for $ac_word" >&5
|
||||
echo "configure:5331: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -5366,7 +5371,7 @@ fi
|
||||
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:5369: checking for $ac_word" >&5
|
||||
echo "configure:5375: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -5397,7 +5402,7 @@ fi
|
||||
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:5400: checking for $ac_word" >&5
|
||||
echo "configure:5406: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -5436,7 +5441,7 @@ fi
|
||||
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:5439: checking for $ac_word" >&5
|
||||
echo "configure:5445: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_STRIP_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -5467,7 +5472,7 @@ fi
|
||||
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:5470: checking for $ac_word" >&5
|
||||
echo "configure:5476: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_STRIP_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -5511,7 +5516,7 @@ fi
|
||||
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:5514: checking for $ac_word" >&5
|
||||
echo "configure:5520: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_WINDRES_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -5542,7 +5547,7 @@ fi
|
||||
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
||||
set dummy ${ncn_progname}; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:5545: checking for $ac_word" >&5
|
||||
echo "configure:5551: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_WINDRES_FOR_TARGET'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -5585,7 +5590,7 @@ fi
|
||||
RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET"
|
||||
|
||||
echo $ac_n "checking where to find the target ar""... $ac_c" 1>&6
|
||||
echo "configure:5588: checking where to find the target ar" >&5
|
||||
echo "configure:5594: checking where to find the target ar" >&5
|
||||
if test "x${build}" != "x${host}" ; then
|
||||
# Canadian cross, just use what we found
|
||||
echo "$ac_t""pre-installed" 1>&6
|
||||
@ -5610,7 +5615,7 @@ else
|
||||
fi
|
||||
fi
|
||||
echo $ac_n "checking where to find the target as""... $ac_c" 1>&6
|
||||
echo "configure:5613: checking where to find the target as" >&5
|
||||
echo "configure:5619: checking where to find the target as" >&5
|
||||
if test "x${build}" != "x${host}" ; then
|
||||
# Canadian cross, just use what we found
|
||||
echo "$ac_t""pre-installed" 1>&6
|
||||
@ -5635,7 +5640,7 @@ else
|
||||
fi
|
||||
fi
|
||||
echo $ac_n "checking where to find the target cc""... $ac_c" 1>&6
|
||||
echo "configure:5638: checking where to find the target cc" >&5
|
||||
echo "configure:5644: checking where to find the target cc" >&5
|
||||
if test "x${build}" != "x${host}" ; then
|
||||
# Canadian cross, just use what we found
|
||||
echo "$ac_t""pre-installed" 1>&6
|
||||
@ -5660,7 +5665,7 @@ else
|
||||
fi
|
||||
fi
|
||||
echo $ac_n "checking where to find the target c++""... $ac_c" 1>&6
|
||||
echo "configure:5663: checking where to find the target c++" >&5
|
||||
echo "configure:5669: checking where to find the target c++" >&5
|
||||
if test "x${build}" != "x${host}" ; then
|
||||
# Canadian cross, just use what we found
|
||||
echo "$ac_t""pre-installed" 1>&6
|
||||
@ -5688,7 +5693,7 @@ else
|
||||
fi
|
||||
fi
|
||||
echo $ac_n "checking where to find the target c++ for libstdc++""... $ac_c" 1>&6
|
||||
echo "configure:5691: checking where to find the target c++ for libstdc++" >&5
|
||||
echo "configure:5697: checking where to find the target c++ for libstdc++" >&5
|
||||
if test "x${build}" != "x${host}" ; then
|
||||
# Canadian cross, just use what we found
|
||||
echo "$ac_t""pre-installed" 1>&6
|
||||
@ -5716,7 +5721,7 @@ else
|
||||
fi
|
||||
fi
|
||||
echo $ac_n "checking where to find the target dlltool""... $ac_c" 1>&6
|
||||
echo "configure:5719: checking where to find the target dlltool" >&5
|
||||
echo "configure:5725: checking where to find the target dlltool" >&5
|
||||
if test "x${build}" != "x${host}" ; then
|
||||
# Canadian cross, just use what we found
|
||||
echo "$ac_t""pre-installed" 1>&6
|
||||
@ -5741,7 +5746,7 @@ else
|
||||
fi
|
||||
fi
|
||||
echo $ac_n "checking where to find the target gcc""... $ac_c" 1>&6
|
||||
echo "configure:5744: checking where to find the target gcc" >&5
|
||||
echo "configure:5750: checking where to find the target gcc" >&5
|
||||
if test "x${build}" != "x${host}" ; then
|
||||
# Canadian cross, just use what we found
|
||||
echo "$ac_t""pre-installed" 1>&6
|
||||
@ -5766,7 +5771,7 @@ else
|
||||
fi
|
||||
fi
|
||||
echo $ac_n "checking where to find the target gcj""... $ac_c" 1>&6
|
||||
echo "configure:5769: checking where to find the target gcj" >&5
|
||||
echo "configure:5775: checking where to find the target gcj" >&5
|
||||
if test "x${build}" != "x${host}" ; then
|
||||
# Canadian cross, just use what we found
|
||||
echo "$ac_t""pre-installed" 1>&6
|
||||
@ -5794,7 +5799,7 @@ else
|
||||
fi
|
||||
fi
|
||||
echo $ac_n "checking where to find the target gfortran""... $ac_c" 1>&6
|
||||
echo "configure:5797: checking where to find the target gfortran" >&5
|
||||
echo "configure:5803: checking where to find the target gfortran" >&5
|
||||
if test "x${build}" != "x${host}" ; then
|
||||
# Canadian cross, just use what we found
|
||||
echo "$ac_t""pre-installed" 1>&6
|
||||
@ -5822,7 +5827,7 @@ else
|
||||
fi
|
||||
fi
|
||||
echo $ac_n "checking where to find the target ld""... $ac_c" 1>&6
|
||||
echo "configure:5825: checking where to find the target ld" >&5
|
||||
echo "configure:5831: checking where to find the target ld" >&5
|
||||
if test "x${build}" != "x${host}" ; then
|
||||
# Canadian cross, just use what we found
|
||||
echo "$ac_t""pre-installed" 1>&6
|
||||
@ -5847,7 +5852,7 @@ else
|
||||
fi
|
||||
fi
|
||||
echo $ac_n "checking where to find the target lipo""... $ac_c" 1>&6
|
||||
echo "configure:5850: checking where to find the target lipo" >&5
|
||||
echo "configure:5856: checking where to find the target lipo" >&5
|
||||
if test "x${build}" != "x${host}" ; then
|
||||
# Canadian cross, just use what we found
|
||||
echo "$ac_t""pre-installed" 1>&6
|
||||
@ -5862,7 +5867,7 @@ else
|
||||
fi
|
||||
fi
|
||||
echo $ac_n "checking where to find the target nm""... $ac_c" 1>&6
|
||||
echo "configure:5865: checking where to find the target nm" >&5
|
||||
echo "configure:5871: checking where to find the target nm" >&5
|
||||
if test "x${build}" != "x${host}" ; then
|
||||
# Canadian cross, just use what we found
|
||||
echo "$ac_t""pre-installed" 1>&6
|
||||
@ -5887,7 +5892,7 @@ else
|
||||
fi
|
||||
fi
|
||||
echo $ac_n "checking where to find the target objdump""... $ac_c" 1>&6
|
||||
echo "configure:5890: checking where to find the target objdump" >&5
|
||||
echo "configure:5896: checking where to find the target objdump" >&5
|
||||
if test "x${build}" != "x${host}" ; then
|
||||
# Canadian cross, just use what we found
|
||||
echo "$ac_t""pre-installed" 1>&6
|
||||
@ -5912,7 +5917,7 @@ else
|
||||
fi
|
||||
fi
|
||||
echo $ac_n "checking where to find the target ranlib""... $ac_c" 1>&6
|
||||
echo "configure:5915: checking where to find the target ranlib" >&5
|
||||
echo "configure:5921: checking where to find the target ranlib" >&5
|
||||
if test "x${build}" != "x${host}" ; then
|
||||
# Canadian cross, just use what we found
|
||||
echo "$ac_t""pre-installed" 1>&6
|
||||
@ -5937,7 +5942,7 @@ else
|
||||
fi
|
||||
fi
|
||||
echo $ac_n "checking where to find the target strip""... $ac_c" 1>&6
|
||||
echo "configure:5940: checking where to find the target strip" >&5
|
||||
echo "configure:5946: checking where to find the target strip" >&5
|
||||
if test "x${build}" != "x${host}" ; then
|
||||
# Canadian cross, just use what we found
|
||||
echo "$ac_t""pre-installed" 1>&6
|
||||
@ -5962,7 +5967,7 @@ else
|
||||
fi
|
||||
fi
|
||||
echo $ac_n "checking where to find the target windres""... $ac_c" 1>&6
|
||||
echo "configure:5965: checking where to find the target windres" >&5
|
||||
echo "configure:5971: checking where to find the target windres" >&5
|
||||
if test "x${build}" != "x${host}" ; then
|
||||
# Canadian cross, just use what we found
|
||||
echo "$ac_t""pre-installed" 1>&6
|
||||
@ -6015,7 +6020,7 @@ fi
|
||||
|
||||
|
||||
echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
|
||||
echo "configure:6018: checking whether to enable maintainer-specific portions of Makefiles" >&5
|
||||
echo "configure:6024: 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"
|
||||
@ -6062,7 +6067,7 @@ esac
|
||||
# gcc for stageN-gcc and stagePREV-gcc for stage(N-1). In case this is not
|
||||
# possible, however, we can resort to mv.
|
||||
echo $ac_n "checking if symbolic links between directories work""... $ac_c" 1>&6
|
||||
echo "configure:6065: checking if symbolic links between directories work" >&5
|
||||
echo "configure:6071: checking if symbolic links between directories work" >&5
|
||||
if eval "test \"`echo '$''{'gcc_cv_prog_ln_s_dir'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -6176,34 +6181,15 @@ trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
|
||||
# Transform confdefs.h into DEFS.
|
||||
# Protect against shell expansion while executing Makefile rules.
|
||||
# Protect against Makefile macro expansion.
|
||||
#
|
||||
# If the first sed substitution is executed (which looks for macros that
|
||||
# take arguments), then we branch to the quote section. Otherwise,
|
||||
# look for a macro that doesn't take arguments.
|
||||
cat >confdef2opt.sed <<\_ACEOF
|
||||
t clear
|
||||
: clear
|
||||
s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g
|
||||
t quote
|
||||
s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g
|
||||
t quote
|
||||
d
|
||||
: quote
|
||||
s,[ `~#$^&*(){}\\|;'"<>?],\\&,g
|
||||
s,\[,\\&,g
|
||||
s,\],\\&,g
|
||||
s,\$,$$,g
|
||||
p
|
||||
_ACEOF
|
||||
# We use echo to avoid assuming a particular line-breaking character.
|
||||
# The extra dot is to prevent the shell from consuming trailing
|
||||
# line-breaks from the sub-command output. A line-break within
|
||||
# single-quotes doesn't work because, if this script is created in a
|
||||
# platform that uses two characters for line-breaks (e.g., DOS), tr
|
||||
# would break.
|
||||
ac_LF_and_DOT=`echo; echo .`
|
||||
DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
|
||||
rm -f confdef2opt.sed
|
||||
cat > conftest.defs <<\EOF
|
||||
s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
|
||||
s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
|
||||
s%\[%\\&%g
|
||||
s%\]%\\&%g
|
||||
s%\$%$$%g
|
||||
EOF
|
||||
DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
|
||||
rm -f conftest.defs
|
||||
|
||||
|
||||
# Without the "./", some shells look in PATH for config.status.
|
||||
|
10
gnu/dist/gcc4/configure.in
vendored
10
gnu/dist/gcc4/configure.in
vendored
@ -501,7 +501,7 @@ case "${target}" in
|
||||
noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
|
||||
;;
|
||||
bfin-*-*)
|
||||
noconfigdirs="$noconfigdirs target-libgloss gdb"
|
||||
noconfigdirs="$noconfigdirs gdb"
|
||||
if test x${is_cross_compiler} != xno ; then
|
||||
target_configdirs="${target_configdirs} target-bsp target-cygmon"
|
||||
fi
|
||||
@ -1065,7 +1065,13 @@ AC_ARG_WITH(mpfr-dir, [ --with-mpfr-dir=PATH Specify source directory for MP
|
||||
|
||||
if test "x$with_mpfr_dir" != x; then
|
||||
gmpinc="-I$with_mpfr_dir"
|
||||
gmplibs="$with_mpfr_dir/libmpfr.a"
|
||||
if test -f "$with_mpfr_dir/.libs/libmpfr.a"; then
|
||||
gmplibs="$with_mpfr_dir/.libs/libmpfr.a"
|
||||
elif test -f "$with_mpfr_dir/_libs/libmpfr.a"; then
|
||||
gmplibs="$with_mpfr_dir/_libs/libmpfr.a"
|
||||
else
|
||||
gmplibs="$with_mpfr_dir/libmpfr.a"
|
||||
fi
|
||||
else
|
||||
gmplibs="-lmpfr"
|
||||
fi
|
||||
|
541
gnu/dist/gcc4/gcc/ChangeLog
vendored
541
gnu/dist/gcc4/gcc/ChangeLog
vendored
@ -1,13 +1,516 @@
|
||||
2007-01-09 Nicolas Pitre <nico@cam.org>
|
||||
|
||||
PR target/30173
|
||||
* arm/ieee754-df.S (Lad_s): Also test the low word of X for zero.
|
||||
|
||||
2007-01-08 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* config/frv/predicates.md (reg_or_0_operand): Accept
|
||||
CONST_DOUBLEs.
|
||||
|
||||
2007-01-06 Richard Sandiford <richard@codesourcery.com>
|
||||
|
||||
Backport from mainline:
|
||||
2006-05-23 Richard Sandiford <richard@codesourcery.com>
|
||||
|
||||
PR rtl-optimization/27736
|
||||
* combine.c (replaced_rhs_value): New variable.
|
||||
(combine_instructions): Set it.
|
||||
(distribute_notes): When distributing a note in replaced_rhs_insn,
|
||||
check whether the value was used in replaced_rhs_value.
|
||||
|
||||
2006-05-22 Richard Sandiford <richard@codesourcery.com>
|
||||
|
||||
PR rtl-optimization/25514
|
||||
* combine.c (replaced_rhs_insn): New variable.
|
||||
(combine_instructions): Set replaced_rhs_insn when trying to replace
|
||||
a SET_SRC with a REG_EQUAL note.
|
||||
(distribute_notes): Use replaced_rhs_insn when determining the live
|
||||
range of a REG_DEAD register.
|
||||
|
||||
2007-01-05 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/30212
|
||||
* tree-vrp.c (adjust_range_with_scev): Do not adjust invalid
|
||||
ranges by using TYPE_MIN_VALUE or TYPE_MAX_VALUE.
|
||||
|
||||
2007-01-05 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR middle-end/27826
|
||||
* tree.c (get_narrower): Do not construct COMPONENT_REFs
|
||||
with mismatched types. Instead explicitly build a
|
||||
conversion NOP_EXPR.
|
||||
|
||||
2007-01-05 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
Backport from mainline:
|
||||
2006-06-24 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
PR c/25795
|
||||
PR c++/27369
|
||||
* craph.c (cgraph_varpool_nodes): Export.
|
||||
(decide_is_variable_needed): Do not worry about "used" attribute.
|
||||
* cgraph.h (cgraph_varpool_nodes): Declare.
|
||||
* cgraphunit.c (decide_is_function_needed): Do not worry about "used"
|
||||
attribute.
|
||||
(process_function_and_variable_attributes): New function.
|
||||
(cgraph_finalize_compilation_unit): Call it.
|
||||
* c-decl.c (finish_decl): Do not worry about used attribute.
|
||||
* c-common.c (handle_externally_visible_attribute): Only validate.
|
||||
|
||||
2007-01-05 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* doc/install.texi (Final install): Document the fact that
|
||||
the GNAT runtime should not be stripped.
|
||||
|
||||
2007-01-05 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c/30360
|
||||
* libgcc2.c (__divdc3): Compare c and d against 0.0 instead of
|
||||
denom against 0.0.
|
||||
|
||||
Backport from mainline:
|
||||
2006-09-17 Steven Bosscher <steven@gcc.gnu.org>
|
||||
|
||||
PR c/25993
|
||||
* c-opts.c (c_common_handle_option): Ignore the -std options
|
||||
if the input language is assembly.
|
||||
|
||||
2007-01-05 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR middle-end/28116
|
||||
* tree-inline.c (copy_body_r): Mark argument of ADDR_EXPR
|
||||
addressable.
|
||||
|
||||
2007-01-05 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
Backport from mainline:
|
||||
2006-10-15 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
PR middle-end/29241
|
||||
* cgraphunit.c (cgraph_preserve_function_body_p): Preserve functions
|
||||
declared always_inline even when not inlining.
|
||||
|
||||
2007-01-03 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR middle-end/30286
|
||||
* fold-const.c (negate_expr): Don't call fold_build1
|
||||
for INTEGER_CST or REAL_CST.
|
||||
|
||||
2006-12-27 Ian Lance Taylor <iant@google.com>
|
||||
|
||||
PR debug/26964
|
||||
* dwarf2out.c (gen_type_die): Don't write out a DIE for
|
||||
ENUMERAL_TYPE if it was already written out.
|
||||
|
||||
2006-12-23 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* dwarf2out.c (dbx_reg_number): Do leaf register remapping
|
||||
only if the function is leaf.
|
||||
(multiple_reg_loc_descriptor): Likewise.
|
||||
|
||||
Backport from mainline:
|
||||
2006-05-13 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* dwarf2out.c (dbx_reg_number): Check return value from
|
||||
LEAF_REG_REMAP and only use it if it is valid.
|
||||
(multiple_reg_loc_descriptor): Likewise.
|
||||
|
||||
2006-12-21 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR target/30230
|
||||
* config/ia64/ia64.c (ia64_add_bundle_selector_before): New function.
|
||||
(bundling): Use it.
|
||||
|
||||
2006-12-17 Matthias Klose <doko@debian.org>
|
||||
|
||||
PR libstdc++/11953
|
||||
* gcc/config/mips/linux.h (SUBTARGET_CPP_SPEC): Extend.
|
||||
|
||||
2006-12-16 Joseph Myers <joseph@codesourcery.com>
|
||||
David Edelsohn <edelsohn@gnu.org>
|
||||
|
||||
PR target/24036
|
||||
* doc/tm.texi (HARD_REGNO_NREGS_HAS_PADDING,
|
||||
HARD_REGNO_NREGS_WITH_PADDING): Document new target macros.
|
||||
* defaults.h (HARD_REGNO_NREGS_HAS_PADDING,
|
||||
HARD_REGNO_NREGS_WITH_PADDING): Define.
|
||||
* config/i386/i386.h (HARD_REGNO_NREGS_HAS_PADDING,
|
||||
HARD_REGNO_NREGS_WITH_PADDING): Define.
|
||||
* rtlanal.c (subreg_regno_offset, subreg_offset_representable_p):
|
||||
Use new macros to detect modes with holes; do not look at integer
|
||||
units.
|
||||
(subreg_offset_representable_p): Check for and disallow cases
|
||||
where the modes use different numbers of bits from registers.
|
||||
* config/rs6000/rs6000.c (rs6000_emit_move): Handle TFmode
|
||||
constant for soft-float.
|
||||
(rs6000_hard_regno_nregs): Use UNITS_PER_FP_WORD for e500 GPRs
|
||||
containing doubles.
|
||||
(rs6000_split_multireg_move): Use DFmode reg_mode for TFmode moves
|
||||
in E500 double case.
|
||||
* config/rs6000/rs6000.md (movtf): Allow soft-float.
|
||||
(movtf_softfloat): New.
|
||||
|
||||
2006-12-15 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR target/30185
|
||||
* config/rs6000/rs6000.md (div<mode>3): Use correct mode in
|
||||
force_reg call.
|
||||
|
||||
2006-12-12 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR libstdc++/11953
|
||||
* gthr-posix.h (_REENTRANT): Only define if __osf__ is defined.
|
||||
|
||||
* config/ia64/linux.h (CPP_SPEC): Define.
|
||||
* config/s390/linux.h (CPP_SPEC): Define.
|
||||
|
||||
2006-12-12 Jim Wilson <wilson@specifix.com>
|
||||
Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR rtl-optimization/27761
|
||||
* combine.c (try_combine): Don't create a useless garbage SET
|
||||
if PATTERN (i2) is a PARALLEL. If added_sets_1, save
|
||||
PATTERN (i1) resp. SET from i1src to i1dest in i1pat
|
||||
and use it to prevent accidental modification of i1src.
|
||||
|
||||
2006-12-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||||
|
||||
PR target/30039
|
||||
* pa.md (high:DI and lo_sum:DI): Handle 64-bit CONST_INTs in 32-bit
|
||||
patterns. Correct length of high:DI instruction sequence.
|
||||
|
||||
2006-11-29 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* config/rs6000/predicates.md (gpc_reg_operand): Check
|
||||
invalid_e500_subreg.
|
||||
* config/rs6000/rs6000.c (invalid_e500_subreg): Don't allow any
|
||||
SImode subregs of SPE vectors.
|
||||
* config/rs6000/rs6000.md (insv): Fail for invalid E500 subregs.
|
||||
* jump.c (true_regnum): Require subregs to satisfy
|
||||
subreg_offset_representable_p.
|
||||
|
||||
2006-11-29 Jie Zhang <jie.zhang@analog.com>
|
||||
|
||||
* doc/tm.texi (NO_PROFILE_COUNTERS): Document more accurately.
|
||||
|
||||
2006-11-29 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): If
|
||||
STRICT_ALIGNMENT and the type is more aligned than the saved
|
||||
registers, copy via a temporary.
|
||||
|
||||
2006-11-28 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* function.c (instantiate_virtual_regs_in_insn): Call force_reg
|
||||
inside start_sequence / end_sequence pair.
|
||||
|
||||
2006-11-27 Michael Matz <matz@suse.de>
|
||||
Andreas Krebbel <krebbel1@de.ibm.com>
|
||||
|
||||
PR target/29319
|
||||
* config/s390/predicates.md (larl_operand): Check addend of larl
|
||||
operand to be in range of -/+2GB.
|
||||
* config/s390/s390.c (legitimize_pic_address): Likewise.
|
||||
Changed type of variable even to HOST_WIDE_INT.
|
||||
|
||||
2006-11-25 Andrew Pinski <andrew_pinski@playstation.sony.com>
|
||||
|
||||
PR tree-opt/29964
|
||||
* ipa-pure-const.c (check_tree): If the original tree
|
||||
is volatile return early and say the function is not pure
|
||||
nor const. Remove the volatile check for writes.
|
||||
(analyze_function): Print out the result of the local
|
||||
analysis pass.
|
||||
|
||||
2006-11-24 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c/29736
|
||||
* c-common.c (handle_vector_size_attribute): Disallow VECTOR_TYPE
|
||||
or UNION_TYPE inner types.
|
||||
|
||||
2006-11-24 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* config/rs6000/eabispe.h (TARGET_DEFAULT): Include
|
||||
MASK_STRICT_ALIGN.
|
||||
* config/rs6000/linuxspe.h (TARGET_DEFAULT): Likewise.
|
||||
* config/rs6000/rs6000.c (rs6000_override_options): Use
|
||||
MASK_STRICT_ALIGN for 8540 and 8548. Add MASK_STRICT_ALIGN to
|
||||
POWERPC_MASKS.
|
||||
|
||||
2006-11-24 Andreas Krebbel <krebbel1@de.ibm.com>
|
||||
|
||||
* config/s390.c (s390_emit_compare_and_swap): New function.
|
||||
(s390_expand_cs_hqi, s390_expand_atomic): Call
|
||||
s390_emit_compare_and_swap.
|
||||
|
||||
2006-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||||
|
||||
* pa.c (return_addr_rtx): Change 0xe0400002 to -532676606.
|
||||
|
||||
2006-11-22 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* config/rs6000/spe.md (SPE64): New mode macro.
|
||||
(mov_sidf_e500_subreg0): Change to mov_si<mode>_e500_subreg0. Add
|
||||
memory load.
|
||||
(mov_si<mode>_e500_subreg0_2): New.
|
||||
(mov_sidf_e500_subreg4): Change to mov_si<mode>_e500_subreg4. Add
|
||||
memory load.
|
||||
(mov_si<mode>_e500_subreg4_2): New.
|
||||
* config/rs6000/predicates.md (input_operand): Do not allow
|
||||
invalid E500 subregs.
|
||||
(rs6000_nonimmediate_operand): Check for invalid E500 subregs also
|
||||
if TARGET_SPE.
|
||||
* config/rs6000/rs6000.c (invalid_e500_subreg): Check for subregs
|
||||
involving DFmode if TARGET_E500_DOUBLE. Check for subregs
|
||||
involving vector modes if TARGET_SPE.
|
||||
|
||||
2006-11-20 Anatoly Sokolov <aesok@post.ru>
|
||||
|
||||
PR target/18553
|
||||
PR target/29449
|
||||
* config/avr/avr.h (OBJECT_FORMAT_ELF): Define.
|
||||
|
||||
* config/avr/avr.h (DWARF2_DEBUGGING_INFO): Define.
|
||||
|
||||
2006-11-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||||
|
||||
PR target/29114
|
||||
* pa.c (emit_move_sequence): Don't split constants with PLUS for modes
|
||||
larger than BITS_PER_WORD.
|
||||
|
||||
2006-11-19 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
Backport from mainline:
|
||||
2006-11-15 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
PR middle-end/29753
|
||||
* gimplify.c (fold_indirect_ref_rhs): Use
|
||||
STRIP_USELESS_TYPE_CONVERSION rather than STRIP_NOPS.
|
||||
|
||||
2006-11-19 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
Backport from mainline:
|
||||
2006-09-22 Zdenek Dvorak <dvorakz@suse.cz>
|
||||
|
||||
PR tree-optimization/28888
|
||||
* tree-if-conv.c (combine_blocks): Rewritten.
|
||||
* tree-cfg.c (tree_verify_flow_info): Check that edges with
|
||||
EDGE_TRUE/FALSE_VALUE follow COND_EXPR.
|
||||
|
||||
2006-11-18 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* config/rs6000/spe.md (movv4hi_internal): Add alternative for
|
||||
easy vector constant loads.
|
||||
|
||||
2006-11-18 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* config/rs6000/rs6000.h (TARGET_NO_LWSYNC): Define.
|
||||
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
|
||||
__NO_LWSYNC__ if TARGET_NO_LWSYNC.
|
||||
* config/rs6000/sync.md (lwsync): Emit plain sync if
|
||||
TARGET_NO_LWSYNC.
|
||||
|
||||
2006-11-17 Andrew Pinski <andrew_pinski@playstation.sony.com>
|
||||
|
||||
PR tree-opt/29788
|
||||
* fold-const.c (fold_indirect_ref_1): Fold *&CONST_DECL down
|
||||
to what is the const decl is a place holder for.
|
||||
|
||||
2006-11-17 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR middle-end/29584
|
||||
* tree-ssa-dom.c (simplify_switch_and_lookup_avail_expr): Don't
|
||||
optimize if DEF doesn't have integral type.
|
||||
|
||||
2006-11-17 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* config/i386/i386.c (ix86_function_sseregparm): Fix comment:
|
||||
number of arguments passed to local functions in SSE registers is 3.
|
||||
|
||||
* doc/invoke.texi (Function Attributes) [sseregparm]: Correct
|
||||
number of arguments passed in SSE registers to 3.
|
||||
|
||||
2006-11-16 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
PR middle-end/26306
|
||||
* gimplify.c (gimplify_expr): Only force a load for references to
|
||||
non-BLKmode volatile values.
|
||||
* doc/implement-c.texi (Qualifiers implementation): Document the
|
||||
interpretation of what a volatile access is.
|
||||
* doc/extend.texi (C++ Extensions): Rework same documentation.
|
||||
|
||||
2006-11-16 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* config/rs6000/spe.md (frob_di_df_2): Handle non-offsettable
|
||||
memory operand.
|
||||
|
||||
2006-11-15 Steve Ellcey <sje@cup.hp.com>
|
||||
|
||||
* config/ia64/ia64.c (ia64_hpux_init_libfuncs): Use HP-UX millicode
|
||||
routines for integer division.
|
||||
|
||||
2006-11-15 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR tree-optimization/29581
|
||||
* lambda-code.c (replace_uses_equiv_to_x_with_y): Add YINIT,
|
||||
REPLACEMENTS, FIRSTBSI arguments. If initial condition or
|
||||
type is different between Y and USE, create a temporary
|
||||
variable, initialize it at the beginning of the body bb
|
||||
and use it as replacement instead of Y.
|
||||
|
||||
2006-11-15 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
Backport from mainline:
|
||||
2006-11-12 Michael Matz <matz@suse.de>
|
||||
Roger Sayle <roger@eyesopen.com>
|
||||
|
||||
PR rtl-optimization/29797
|
||||
* ifcvt.c (noce_try_bitop): Correct calculation of bitnum on
|
||||
BITS_BIG_ENDIAN targets.
|
||||
|
||||
2006-11-13 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* configure.ac (ld_vers): Parse GNU ld version 2.17.50.0.3-6 20060715
|
||||
style versions.
|
||||
* configure: Rebuilt.
|
||||
|
||||
2006-11-13 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
Backport from mainline:
|
||||
2006-10-23 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR middle-end/21032
|
||||
* convert.c (convert_to_real): Fold (float)-x to -(float)x
|
||||
only if not flag_rounding_math.
|
||||
|
||||
2006-11-11 Andrew Pinski <andrew_pinski@playstation.sony.com>
|
||||
|
||||
PR tree-opt/28545
|
||||
* tree-vrp.c (replace_uses_by_vrp): New function.
|
||||
(remove_range_assertions): Use it.
|
||||
|
||||
2006-11-12 Jie Zhang <jie.zhang@analog.com>
|
||||
|
||||
* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Use builtin_define_std
|
||||
instead of builtin_define for bfin and BFIN.
|
||||
|
||||
2006-11-11 Jie Zhang <jie.zhang@analog.com>
|
||||
|
||||
* config/bfin/bfin.h (FUNCTION_PROFILER): Don't use LABELNO.
|
||||
(NO_PROFILE_COUNTERS): Define as 1.
|
||||
|
||||
2006-11-09 Janis Johnson <janis187@us.ibm.com>
|
||||
|
||||
Backports from mainline.
|
||||
* doc/sourcebuild.texi (Test Directives): Document dg-shouldfail,
|
||||
output-exists and output-exists-not.
|
||||
|
||||
2006-11-07 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/29610
|
||||
* tree-cfgcleanup.c (cleanup_control_flow): Honor return value
|
||||
of tree_purge_dead_eh_edges as it may free dominators.
|
||||
|
||||
* g++.dg/other/pr29610.C: New testcase.
|
||||
|
||||
2006-11-07 Jie Zhang <jie.zhang@analog.com>
|
||||
|
||||
* gcc.c (process_command): Treat -b as normal switch if its argument
|
||||
has no dash.
|
||||
|
||||
2006-11-05 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR middle-end/29695
|
||||
* fold-const.c (fold_ternary): Fix A < 0 ? <sign bit of A> : 0
|
||||
simplification.
|
||||
|
||||
2006-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
|
||||
|
||||
* doc/install.texi (sparc-sun-solaris2*): Update GMP/MPFR build
|
||||
instructions.
|
||||
(sparc64-sun-solaris2*): Likewise.
|
||||
|
||||
2006-11-02 Zdenek Dvorak <dvorakz@suse.cz>
|
||||
|
||||
PR tree-optimization/27891
|
||||
* tree-ssa-loop-ivopts.c (rewrite_use_outer): Do not insert code
|
||||
on abnormal edge.
|
||||
|
||||
2006-11-01 David Edelsohn <edelsohn@gnu.org>
|
||||
Ian Lance Taylor <ian@airs.com>
|
||||
|
||||
PR middle-end/29250
|
||||
* expr.c (expand_expr_real_1) <NON_LVALUE_EXPR, NOP_EXPR,
|
||||
CONVERT_EXPR>: Change EXPAND_SUM modifier to EXPAND_NORMAL when
|
||||
recursing.
|
||||
|
||||
2006-11-01 Chris Johns <chris@contemporary.net.au>
|
||||
|
||||
PR bootstrap/28400
|
||||
* Makefile.in (install-driver): Use exeext when installing
|
||||
$target-gcc-$version.
|
||||
|
||||
2006-11-01 Eric Botcazou <ebotcazou@libertysurf.fr>
|
||||
|
||||
PR rtl-optimization/28970
|
||||
* loop.c (loop_giv_reduce_benefit): Take the max of the addition
|
||||
cost on all the increments of the BIV.
|
||||
|
||||
2006-11-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* builtins.def (gamma, lgamma): Use ATTR_MATHFN_FPROUNDING_STORE.
|
||||
|
||||
2006-10-31 Eric Botcazou <ebotcazou@libertysurf.fr>
|
||||
|
||||
PR rtl-optimization/29631
|
||||
* loop.c (basic_induction_var): Add new parameter inner_mode.
|
||||
<PLUS>: If set, convert the increment to it before sign-extending.
|
||||
<CONST_INT>: Likewise.
|
||||
<SUBREG>: Set it.
|
||||
<ASHIFTRT>: Likewise. Return 0 if flag_wrapv.
|
||||
(check_insn_for_bivs): Pass VOIDmode as inner_mode to above.
|
||||
|
||||
2006-10-30 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR tree-optimization/29637
|
||||
* tree.c (make_vector_type): Don't recurse if TYPE_MAIN_VARIANT
|
||||
of the innertype is the innertype itself.
|
||||
|
||||
2006-10-28 Uros Bizjak <uros@kss-loka.si>
|
||||
|
||||
PR target/29377
|
||||
* config/h8300/h8300.c (h8300_emit_stack_adjustment): Change "size"
|
||||
argument to HOST_WIDE_INT. Update function prototype.
|
||||
(round_frame_size): Change return type to HOST_WIDE_INT. Change
|
||||
"size" argument to HOST_WIDE_INT. Update function prototype.
|
||||
|
||||
2006-10-26 Andreas Krebbel <krebbel1@de.ibm.com>
|
||||
|
||||
* config/s390/s390.c (s390_init_frame_layout): Check positive
|
||||
frame_size.
|
||||
|
||||
2006-10-25 Steve Ellcey <sje@cup.hp.com>
|
||||
|
||||
* config/ia64/hpux.h: Define _INCLUDE__STDC_A1_SOURCE in C++.
|
||||
Add unix98.o to link line.
|
||||
|
||||
2006-10-25 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
PR c/29092
|
||||
* c-typeck.c (digest_init): Always allow initializing vectors
|
||||
that have static storage duration with compound literals.
|
||||
* tree.c (build_type_attribute_qual_variant): New, based on
|
||||
build_type_attribute_variant.
|
||||
(build_type_attribute_variant): Rewrite using the former.
|
||||
(make_vector_type): Use build_type_attribute_qual_variant to build
|
||||
type variants. Use type_hash_canon on the others.
|
||||
|
||||
2006-10-23 Ulrich Weigand <uweigand@de.ibm.com>
|
||||
|
||||
* config/s390/predicates.md ("bras_sym_operand"): Do not accept
|
||||
nonlocal function symbols if flag_pic.
|
||||
|
||||
2006-10-19 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* fold-const.c (add_double): Rename to add_double_with_sign.
|
||||
@ -24,12 +527,12 @@
|
||||
|
||||
2006-10-19 Ira Rosen <irar@il.ibm.com>
|
||||
|
||||
Backport from mainline:
|
||||
2006-08-07 Victor Kaplansky <victork@il.ibm.com>
|
||||
Backport from mainline:
|
||||
2006-08-07 Victor Kaplansky <victork@il.ibm.com>
|
||||
|
||||
PR tree-optimization/26969
|
||||
* tree-vect-analyze.c (vect_analyze_loop_form): Add check of latch
|
||||
with an empty list of PHIs.
|
||||
PR tree-optimization/26969
|
||||
* tree-vect-analyze.c (vect_analyze_loop_form): Add check of latch
|
||||
with an empty list of PHIs.
|
||||
|
||||
2006-10-18 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
@ -147,7 +650,7 @@
|
||||
2006-09-15 Jim Wilson <wilson@specifix.com>
|
||||
2006-09-19 Steve Ellcey <sje@cup.hp.com>
|
||||
* config/ia64/ia64.c (ia64_legitimate_constant_p): Allow function
|
||||
pointers as legitimate constants. Handle symbol offsets same as
|
||||
pointers as legitimate constants. Handle symbol offsets same as
|
||||
they are handled in ia64_expand_move and move_operand.
|
||||
|
||||
2006-10-06 Jakub Jelinek <jakub@redhat.com>
|
||||
@ -680,7 +1183,7 @@
|
||||
Backport from mainline
|
||||
2006-07-14 Eliot Dresselhaus <eliot@sonic.net>
|
||||
|
||||
PR target/27287
|
||||
PR target/27287
|
||||
* config/rs6000/spe.md (frob_di_df_2): Add m->r alternative.
|
||||
|
||||
2006-07-06 David Edelsohn <edelsohn@gnu.org>
|
||||
@ -788,9 +1291,9 @@
|
||||
|
||||
2006-07-20 Richard Henderson <rth@redhat.com>
|
||||
|
||||
PR 27889
|
||||
* tree-nested.c (create_tmp_var_for): Set DECL_COMPLEX_GIMPLE_REG_P
|
||||
if needed.
|
||||
PR 27889
|
||||
* tree-nested.c (create_tmp_var_for): Set DECL_COMPLEX_GIMPLE_REG_P
|
||||
if needed.
|
||||
|
||||
2006-07-20 Paul Brook <paul@codesourcery.com>
|
||||
|
||||
@ -918,11 +1421,11 @@
|
||||
|
||||
2006-06-21 Richard Henderson <rth@redhat.com>
|
||||
|
||||
PR target/26347
|
||||
PR target/27082
|
||||
* config/alpha/predicates.md (small_symbolic_operand): Deny weak
|
||||
symbols.
|
||||
(global_symbolic_operand): Allow weak symbols, even if local_p.
|
||||
PR target/26347
|
||||
PR target/27082
|
||||
* config/alpha/predicates.md (small_symbolic_operand): Deny weak
|
||||
symbols.
|
||||
(global_symbolic_operand): Allow weak symbols, even if local_p.
|
||||
|
||||
2006-06-21 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
@ -990,10 +1493,10 @@
|
||||
|
||||
2006-06-13 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
PR middle-end/27733
|
||||
* expmed.c (struct alg_hash_entry): Fix type of field T
|
||||
to match synth_mult argument.
|
||||
(NUM_ALG_HASH_ENTRIES): Make it bigger for 64-bit HOST_WIDE_INT.
|
||||
PR middle-end/27733
|
||||
* expmed.c (struct alg_hash_entry): Fix type of field T
|
||||
to match synth_mult argument.
|
||||
(NUM_ALG_HASH_ENTRIES): Make it bigger for 64-bit HOST_WIDE_INT.
|
||||
|
||||
2006-06-12 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
|
||||
|
||||
|
4
gnu/dist/gcc4/gcc/Makefile.in
vendored
4
gnu/dist/gcc4/gcc/Makefile.in
vendored
@ -3633,9 +3633,9 @@ install-common: native $(EXTRA_PARTS) lang.install-common installdirs
|
||||
install-driver: installdirs xgcc$(exeext)
|
||||
-rm -f $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext)
|
||||
-$(INSTALL_PROGRAM) xgcc$(exeext) $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext)
|
||||
-rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-$(version)
|
||||
-rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-$(version)$(exeext)
|
||||
-( cd $(DESTDIR)$(bindir) && \
|
||||
$(LN) $(GCC_INSTALL_NAME)$(exeext) $(target_noncanonical)-gcc-$(version) )
|
||||
$(LN) $(GCC_INSTALL_NAME)$(exeext) $(target_noncanonical)-gcc-$(version)$(exeext) )
|
||||
-if [ -f gcc-cross$(exeext) ] ; then \
|
||||
if [ -d $(DESTDIR)$(gcc_tooldir)/bin/. ] ; then \
|
||||
rm -f $(DESTDIR)$(gcc_tooldir)/bin/gcc$(exeext); \
|
||||
|
19
gnu/dist/gcc4/gcc/c-opts.c
vendored
19
gnu/dist/gcc4/gcc/c-opts.c
vendored
@ -266,6 +266,10 @@ c_common_handle_option (size_t scode, const char *arg, int value)
|
||||
enum opt_code code = (enum opt_code) scode;
|
||||
int result = 1;
|
||||
|
||||
/* Prevent resetting the language standard to a C dialect when the driver
|
||||
has already determined that we're looking at assembler input. */
|
||||
bool preprocessing_asm_p = (cpp_get_options (parse_in)->lang == CLK_ASM);
|
||||
|
||||
switch (code)
|
||||
{
|
||||
default:
|
||||
@ -901,29 +905,34 @@ c_common_handle_option (size_t scode, const char *arg, int value)
|
||||
|
||||
case OPT_std_c__98:
|
||||
case OPT_std_gnu__98:
|
||||
set_std_cxx98 (code == OPT_std_c__98 /* ISO */);
|
||||
if (!preprocessing_asm_p)
|
||||
set_std_cxx98 (code == OPT_std_c__98 /* ISO */);
|
||||
break;
|
||||
|
||||
case OPT_std_c89:
|
||||
case OPT_std_iso9899_1990:
|
||||
case OPT_std_iso9899_199409:
|
||||
set_std_c89 (code == OPT_std_iso9899_199409 /* c94 */, true /* ISO */);
|
||||
if (!preprocessing_asm_p)
|
||||
set_std_c89 (code == OPT_std_iso9899_199409 /* c94 */, true /* ISO */);
|
||||
break;
|
||||
|
||||
case OPT_std_gnu89:
|
||||
set_std_c89 (false /* c94 */, false /* ISO */);
|
||||
if (!preprocessing_asm_p)
|
||||
set_std_c89 (false /* c94 */, false /* ISO */);
|
||||
break;
|
||||
|
||||
case OPT_std_c99:
|
||||
case OPT_std_c9x:
|
||||
case OPT_std_iso9899_1999:
|
||||
case OPT_std_iso9899_199x:
|
||||
set_std_c99 (true /* ISO */);
|
||||
if (!preprocessing_asm_p)
|
||||
set_std_c99 (true /* ISO */);
|
||||
break;
|
||||
|
||||
case OPT_std_gnu99:
|
||||
case OPT_std_gnu9x:
|
||||
set_std_c99 (false /* ISO */);
|
||||
if (!preprocessing_asm_p)
|
||||
set_std_c99 (false /* ISO */);
|
||||
break;
|
||||
|
||||
case OPT_trigraphs:
|
||||
|
75
gnu/dist/gcc4/gcc/config/rs6000/rs6000.c
vendored
75
gnu/dist/gcc4/gcc/config/rs6000/rs6000.c
vendored
@ -1135,9 +1135,11 @@ rs6000_override_options (const char *default_cpu)
|
||||
{"801", PROCESSOR_MPCCORE, POWERPC_BASE_MASK | MASK_SOFT_FLOAT},
|
||||
{"821", PROCESSOR_MPCCORE, POWERPC_BASE_MASK | MASK_SOFT_FLOAT},
|
||||
{"823", PROCESSOR_MPCCORE, POWERPC_BASE_MASK | MASK_SOFT_FLOAT},
|
||||
{"8540", PROCESSOR_PPC8540, POWERPC_BASE_MASK | MASK_PPC_GFXOPT},
|
||||
{"8540", PROCESSOR_PPC8540,
|
||||
POWERPC_BASE_MASK | MASK_PPC_GFXOPT | MASK_STRICT_ALIGN},
|
||||
/* 8548 has a dummy entry for now. */
|
||||
{"8548", PROCESSOR_PPC8540, POWERPC_BASE_MASK | MASK_PPC_GFXOPT},
|
||||
{"8548", PROCESSOR_PPC8540,
|
||||
POWERPC_BASE_MASK | MASK_PPC_GFXOPT | MASK_STRICT_ALIGN},
|
||||
{"860", PROCESSOR_MPCCORE, POWERPC_BASE_MASK | MASK_SOFT_FLOAT},
|
||||
{"970", PROCESSOR_POWER4,
|
||||
POWERPC_7400_MASK | MASK_PPC_GPOPT | MASK_MFCRF | MASK_POWERPC64},
|
||||
@ -1186,7 +1188,7 @@ rs6000_override_options (const char *default_cpu)
|
||||
|
||||
enum {
|
||||
POWER_MASKS = MASK_POWER | MASK_POWER2 | MASK_MULTIPLE | MASK_STRING,
|
||||
POWERPC_MASKS = (POWERPC_BASE_MASK | MASK_PPC_GPOPT
|
||||
POWERPC_MASKS = (POWERPC_BASE_MASK | MASK_PPC_GPOPT | MASK_STRICT_ALIGN
|
||||
| MASK_PPC_GFXOPT | MASK_POWERPC64 | MASK_ALTIVEC
|
||||
| MASK_MFCRF | MASK_POPCNTB | MASK_FPRND)
|
||||
};
|
||||
@ -2532,18 +2534,28 @@ build_mask64_2_operands (rtx in, rtx *out)
|
||||
bool
|
||||
invalid_e500_subreg (rtx op, enum machine_mode mode)
|
||||
{
|
||||
/* Reject (subreg:SI (reg:DF)). */
|
||||
if (GET_CODE (op) == SUBREG
|
||||
if (TARGET_E500_DOUBLE)
|
||||
{
|
||||
/* Reject (subreg:SI (reg:DF)). */
|
||||
if (GET_CODE (op) == SUBREG
|
||||
&& mode == SImode
|
||||
&& REG_P (SUBREG_REG (op))
|
||||
&& GET_MODE (SUBREG_REG (op)) == DFmode)
|
||||
return true;
|
||||
|
||||
/* Reject (subreg:DF (reg:DI)). */
|
||||
if (GET_CODE (op) == SUBREG
|
||||
&& mode == DFmode
|
||||
&& REG_P (SUBREG_REG (op))
|
||||
&& GET_MODE (SUBREG_REG (op)) == DImode)
|
||||
return true;
|
||||
}
|
||||
|
||||
if (TARGET_SPE
|
||||
&& GET_CODE (op) == SUBREG
|
||||
&& mode == SImode
|
||||
&& REG_P (SUBREG_REG (op))
|
||||
&& GET_MODE (SUBREG_REG (op)) == DFmode)
|
||||
return true;
|
||||
|
||||
/* Reject (subreg:DF (reg:DI)). */
|
||||
if (GET_CODE (op) == SUBREG
|
||||
&& mode == DFmode
|
||||
&& REG_P (SUBREG_REG (op))
|
||||
&& GET_MODE (SUBREG_REG (op)) == DImode)
|
||||
&& SPE_VECTOR_MODE (GET_MODE (SUBREG_REG (op))))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
@ -3561,9 +3573,6 @@ rs6000_hard_regno_nregs (int regno, enum machine_mode mode)
|
||||
if (FP_REGNO_P (regno))
|
||||
return (GET_MODE_SIZE (mode) + UNITS_PER_FP_WORD - 1) / UNITS_PER_FP_WORD;
|
||||
|
||||
if (TARGET_E500_DOUBLE && mode == DFmode)
|
||||
return 1;
|
||||
|
||||
if (SPE_SIMD_REGNO_P (regno) && TARGET_SPE && SPE_VECTOR_MODE (mode))
|
||||
return (GET_MODE_SIZE (mode) + UNITS_PER_SPE_WORD - 1) / UNITS_PER_SPE_WORD;
|
||||
|
||||
@ -3571,6 +3580,14 @@ rs6000_hard_regno_nregs (int regno, enum machine_mode mode)
|
||||
return
|
||||
(GET_MODE_SIZE (mode) + UNITS_PER_ALTIVEC_WORD - 1) / UNITS_PER_ALTIVEC_WORD;
|
||||
|
||||
/* The value returned for SCmode in the E500 double case is 2 for
|
||||
ABI compatibility; storing an SCmode value in a single register
|
||||
would require function_arg and rs6000_spe_function_arg to handle
|
||||
SCmode so as to pass the value correctly in a pair of
|
||||
registers. */
|
||||
if (TARGET_E500_DOUBLE && FLOAT_MODE_P (mode) && mode != SCmode)
|
||||
return (GET_MODE_SIZE (mode) + UNITS_PER_FP_WORD - 1) / UNITS_PER_FP_WORD;
|
||||
|
||||
return (GET_MODE_SIZE (mode) + UNITS_PER_WORD - 1) / UNITS_PER_WORD;
|
||||
}
|
||||
|
||||
@ -3939,8 +3956,7 @@ rs6000_emit_move (rtx dest, rtx source, enum machine_mode mode)
|
||||
|
||||
/* 128-bit constant floating-point values on Darwin should really be
|
||||
loaded as two parts. */
|
||||
if (!TARGET_IEEEQUAD
|
||||
&& TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128
|
||||
if (!TARGET_IEEEQUAD && TARGET_LONG_DOUBLE_128
|
||||
&& mode == TFmode && GET_CODE (operands[1]) == CONST_DOUBLE)
|
||||
{
|
||||
/* DImode is used, not DFmode, because simplify_gen_subreg doesn't
|
||||
@ -5955,6 +5971,27 @@ rs6000_gimplify_va_arg (tree valist, tree type, tree *pre_p, tree *post_p)
|
||||
append_to_statement_list (t, pre_p);
|
||||
}
|
||||
|
||||
if (STRICT_ALIGNMENT
|
||||
&& (TYPE_ALIGN (type)
|
||||
> (unsigned) BITS_PER_UNIT * (align < 4 ? 4 : align)))
|
||||
{
|
||||
/* The value (of type complex double, for example) may not be
|
||||
aligned in memory in the saved registers, so copy via a
|
||||
temporary. (This is the same code as used for SPARC.) */
|
||||
tree tmp = create_tmp_var (type, "va_arg_tmp");
|
||||
tree dest_addr = build_fold_addr_expr (tmp);
|
||||
|
||||
tree copy = build_function_call_expr
|
||||
(implicit_built_in_decls[BUILT_IN_MEMCPY],
|
||||
tree_cons (NULL_TREE, dest_addr,
|
||||
tree_cons (NULL_TREE, addr,
|
||||
tree_cons (NULL_TREE, size_int (rsize * 4),
|
||||
NULL_TREE))));
|
||||
|
||||
gimplify_and_add (copy, pre_p);
|
||||
addr = dest_addr;
|
||||
}
|
||||
|
||||
addr = fold_convert (ptrtype, addr);
|
||||
return build_va_arg_indirect_ref (addr);
|
||||
}
|
||||
@ -12365,6 +12402,8 @@ rs6000_split_multireg_move (rtx dst, rtx src)
|
||||
reg_mode = DFmode;
|
||||
else if (ALTIVEC_REGNO_P (reg))
|
||||
reg_mode = V16QImode;
|
||||
else if (TARGET_E500_DOUBLE && mode == TFmode)
|
||||
reg_mode = DFmode;
|
||||
else
|
||||
reg_mode = word_mode;
|
||||
reg_mode_size = GET_MODE_SIZE (reg_mode);
|
||||
|
2
gnu/dist/gcc4/gcc/configure
vendored
2
gnu/dist/gcc4/gcc/configure
vendored
@ -14144,7 +14144,7 @@ else
|
||||
-e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\)[ ].*$,\1,p' \
|
||||
-e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)[ ].*$,\1,p' \
|
||||
-e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)[ ].*$,\1,p' \
|
||||
-e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)[ ].*$,\1,p'`
|
||||
-e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)[ -].*$,\1,p'`
|
||||
ld_date=`echo $ld_ver | sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)[-]*\([01][0-9]\)[-]*\([0-3][0-9]\).*$,\1\2\3,p'`
|
||||
ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'`
|
||||
ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'`
|
||||
|
2
gnu/dist/gcc4/gcc/configure.ac
vendored
2
gnu/dist/gcc4/gcc/configure.ac
vendored
@ -2000,7 +2000,7 @@ changequote(,)dnl
|
||||
-e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\)[ ].*$,\1,p' \
|
||||
-e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)[ ].*$,\1,p' \
|
||||
-e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)[ ].*$,\1,p' \
|
||||
-e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)[ ].*$,\1,p'`
|
||||
-e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)[ -].*$,\1,p'`
|
||||
ld_date=`echo $ld_ver | sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)[-]*\([01][0-9]\)[-]*\([0-3][0-9]\).*$,\1\2\3,p'`
|
||||
ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'`
|
||||
ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'`
|
||||
|
163
gnu/dist/gcc4/gcc/cp/ChangeLog
vendored
163
gnu/dist/gcc4/gcc/cp/ChangeLog
vendored
@ -1,11 +1,156 @@
|
||||
2006-11-21 Richard Guenther <rguenther@suse.de>
|
||||
2007-01-05 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
Revert this change:
|
||||
2006-10-13 Mark Mitchell <mark@codesourcery.com>
|
||||
PR c++/28506
|
||||
* parser.c (function_declarator_p): New function.
|
||||
(cp_parser_init_declarator): Use it.
|
||||
(cp_parser_member_declaration): Likewise.
|
||||
PR c++/30382
|
||||
Backported from mainline
|
||||
2006-06-29 Jason Merrill <jason@redhat.com>
|
||||
* parser.c (cp_parser_enum_specifier): Return early if
|
||||
type is error_mark_node.
|
||||
|
||||
2007-01-03 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
Backported from mainline
|
||||
2006-07-12 Jason Merrill <jason@redhat.com>
|
||||
PR c++/28217
|
||||
* semantics.c (note_decl_for_pch): Don't premangle templates.
|
||||
|
||||
2007-01-03 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/29054
|
||||
* decl.c (revert_static_member_fn): Don't remove first
|
||||
argument without checking it is "this".
|
||||
|
||||
PR c++/29535
|
||||
Backported from mainline
|
||||
2006-10-17 Mark Mitchell <mark@codesourcery.com>
|
||||
PR c++/28261
|
||||
* parser.c (cp_lexer_next_token_is_decl_specifier_keyword): New
|
||||
function.
|
||||
(cp_parser_constructor_declarator_p): Use it.
|
||||
(cp_parser_check_type_definition): Return a value indicating
|
||||
whether or not the definition is valid.
|
||||
(cp_parser_enum_specifier): Skip invalid enum definitions.
|
||||
|
||||
2006-12-10 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/29732
|
||||
* cp-tree.h (DECL_USE_TEMPLATE): Mention partial specializations.
|
||||
(explicit_class_specialization_p): Declare.
|
||||
* pt.c (explicit_class_specialization_p): New function.
|
||||
* parser.c (cp_parser_init_declarator): Check correct number of
|
||||
template parameters for in-class function definitions.
|
||||
(cp_parser_check_declarator_template_parameters): Stop looking for
|
||||
template classes when we find an explicit specialization.
|
||||
|
||||
2006-12-06 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/29730
|
||||
* parser.c (cp_parser_init_declarator): Reject initialization of
|
||||
functions.
|
||||
|
||||
2006-12-05 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/29729
|
||||
* decl2.c (check_member_template): Move check for member
|
||||
templates in local classes to ...
|
||||
* parser.c (cp_parser_template_declaration_after_export):
|
||||
... here.
|
||||
|
||||
2006-12-05 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/29728
|
||||
* decl.c (check_array_designated_initializer): New function.
|
||||
(maybe_deduce_size_from_array_init): Use it.
|
||||
(reshape_init_array): Likewise.
|
||||
|
||||
2006-12-05 Richard Henderson <rth@redhat.com>
|
||||
Andrew Pinski <pinskia@gmail.com>
|
||||
|
||||
PR C++/14329
|
||||
* error.c (cp_printer) <'D'>: Handle DECL_DEBUG_EXPR.
|
||||
|
||||
2006-12-04 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/29632
|
||||
* call.c (add_builtin_candidate): Do not permit NULL pointer
|
||||
constants to be compared with template parameters.
|
||||
|
||||
PR c++/29733
|
||||
* pt.c (tsubst_decl): Disallow variables of function type.
|
||||
|
||||
2006-12-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
|
||||
|
||||
Backport:
|
||||
2006-08-27 Simon Martin <simartin@users.sourceforge.net>
|
||||
|
||||
PR c++/28284
|
||||
* pt.c (fold_non_dependent_expr): Make sure expr is not dereferenced if it
|
||||
is NULL.
|
||||
|
||||
2006-12-01 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
|
||||
|
||||
PR c++/30022
|
||||
* typeck.c (type_after_usual_arithmetic_conversions):
|
||||
Fix assertion for vector types.
|
||||
(build_binary_op): Use temporary for inner type of vector types.
|
||||
|
||||
2006-11-29 Lee Millward <lee.millward@codesourcery.com>
|
||||
|
||||
PR c++/29022
|
||||
* parser.c (cp_parser_class_head): Move processing
|
||||
of any base classes to...
|
||||
(cp_parser_class_specifier) ...here. Take an extra
|
||||
tree* parameter for any base classes. Only process
|
||||
them if the opening brace was found.
|
||||
|
||||
2006-11-28 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/29735
|
||||
* decl.c (grokfndecl): Check main's type after applying
|
||||
attributes, not before.
|
||||
|
||||
2006-11-26 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/29886
|
||||
* parser.c (cp_parser): Add in_function_body.
|
||||
(cp_parser_new): Initialize it.
|
||||
(cp_parser_primary_expression): Use parser->in_function_body
|
||||
instead of at_function_scope_p.
|
||||
(cp_parser_asm_definition): Likewise.
|
||||
(cp_parser_direct_declarator): Likewise.
|
||||
(cp_parser_class_specifier): Clear parser->in_function_body.
|
||||
(cp_parser_constructor_declarator_p): Use parser->in_function_body
|
||||
instead of at_function_scope_p.
|
||||
(cp_parser_function_body_after_declarator): Set
|
||||
parser->in_function_body.
|
||||
|
||||
2006-11-21 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/29570
|
||||
* decl.c (cp_finish_decl): Check for value dependent brace enclosed
|
||||
scalar initializer.
|
||||
|
||||
PR c++/29734
|
||||
* cp-tree.h (WANT_VECTOR): Define.
|
||||
(WANT_ARITH): Add WANT_VECTOR.
|
||||
* cvt.c (build_expr_type_conversion): Handle vector types.
|
||||
* typeck.c (build_unary_op): Add WANT_VECTOR to
|
||||
build_expr_type_conversion flags.
|
||||
|
||||
2006-11-13 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/29106
|
||||
* init.c (constant_value_1): Treat a DECL_INITIAL of
|
||||
error_mark_node as meaning that the variable is uninitialized,
|
||||
rather than erroneously initialized.
|
||||
|
||||
PR c++/29518
|
||||
* pt.c (coerce_template_parms): Do not skip_evaluation while
|
||||
substituting template arguments.
|
||||
|
||||
2006-10-22 Nathan Sidwell <nathan@codesourcery.com>
|
||||
|
||||
PR c++/20647
|
||||
* rtti.c (tinfo_base_init): The type info string is always global.
|
||||
|
||||
2006-10-18 Mark Shinwell <shinwell@codesourcery.com>
|
||||
|
||||
@ -564,10 +709,6 @@
|
||||
|
||||
2006-06-16 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/28016
|
||||
* decl.c (cp_finsh_decl): Do not emit uninstantiated static data
|
||||
members.
|
||||
|
||||
PR c++/27884
|
||||
* decl.c (have_extern_spec): Remove.
|
||||
(start_decl): Do not check have_extern_spec.
|
||||
|
130
gnu/dist/gcc4/gcc/cp/decl.c
vendored
130
gnu/dist/gcc4/gcc/cp/decl.c
vendored
@ -3990,6 +3990,28 @@ grok_reference_init (tree decl, tree type, tree init, tree *cleanup)
|
||||
return NULL_TREE;
|
||||
}
|
||||
|
||||
/* Designated initializers in arrays are not supported in GNU C++.
|
||||
The parser cannot detect this error since it does not know whether
|
||||
a given brace-enclosed initializer is for a class type or for an
|
||||
array. This function checks that CE does not use a designated
|
||||
initializer. If it does, an error is issued. Returns true if CE
|
||||
is valid, i.e., does not have a designated initializer. */
|
||||
|
||||
static bool
|
||||
check_array_designated_initializer (const constructor_elt *ce)
|
||||
{
|
||||
/* Designated initializers for array elements arenot supported. */
|
||||
if (ce->index)
|
||||
{
|
||||
if (TREE_CODE (ce->index) == IDENTIFIER_NODE)
|
||||
error ("name %qD used in a GNU-style designated "
|
||||
"initializer for an array", ce->index);
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/* When parsing `int a[] = {1, 2};' we don't know the size of the
|
||||
array until we finish parsing the initializer. If that's the
|
||||
situation we're in, update DECL accordingly. */
|
||||
@ -4007,32 +4029,52 @@ maybe_deduce_size_from_array_init (tree decl, tree init)
|
||||
But let's leave it here to ease the eventual merge. */
|
||||
int do_default = !DECL_EXTERNAL (decl);
|
||||
tree initializer = init ? init : DECL_INITIAL (decl);
|
||||
int failure = cp_complete_array_type (&TREE_TYPE (decl), initializer,
|
||||
do_default);
|
||||
int failure = 0;
|
||||
|
||||
if (failure == 1)
|
||||
/* Check that there are no designated initializers in INIT, as
|
||||
those are not supported in GNU C++, and as the middle-end
|
||||
will crash if presented with a non-numeric designated
|
||||
initializer. */
|
||||
if (initializer && TREE_CODE (initializer) == CONSTRUCTOR)
|
||||
{
|
||||
error ("initializer fails to determine size of %qD", decl);
|
||||
TREE_TYPE (decl) = error_mark_node;
|
||||
VEC(constructor_elt,gc) *v = CONSTRUCTOR_ELTS (initializer);
|
||||
constructor_elt *ce;
|
||||
HOST_WIDE_INT i;
|
||||
for (i = 0;
|
||||
VEC_iterate (constructor_elt, v, i, ce);
|
||||
++i)
|
||||
if (!check_array_designated_initializer (ce))
|
||||
failure = 1;
|
||||
}
|
||||
else if (failure == 2)
|
||||
|
||||
if (!failure)
|
||||
{
|
||||
if (do_default)
|
||||
failure = cp_complete_array_type (&TREE_TYPE (decl), initializer,
|
||||
do_default);
|
||||
if (failure == 1)
|
||||
{
|
||||
error ("array size missing in %qD", decl);
|
||||
error ("initializer fails to determine size of %qD", decl);
|
||||
TREE_TYPE (decl) = error_mark_node;
|
||||
}
|
||||
else if (failure == 2)
|
||||
{
|
||||
if (do_default)
|
||||
{
|
||||
error ("array size missing in %qD", decl);
|
||||
TREE_TYPE (decl) = error_mark_node;
|
||||
}
|
||||
/* If a `static' var's size isn't known, make it extern as
|
||||
well as static, so it does not get allocated. If it's not
|
||||
`static', then don't mark it extern; finish_incomplete_decl
|
||||
will give it a default size and it will get allocated. */
|
||||
else if (!pedantic && TREE_STATIC (decl) && !TREE_PUBLIC (decl))
|
||||
DECL_EXTERNAL (decl) = 1;
|
||||
}
|
||||
else if (failure == 3)
|
||||
{
|
||||
error ("zero-size array %qD", decl);
|
||||
TREE_TYPE (decl) = error_mark_node;
|
||||
}
|
||||
/* If a `static' var's size isn't known, make it extern as
|
||||
well as static, so it does not get allocated. If it's not
|
||||
`static', then don't mark it extern; finish_incomplete_decl
|
||||
will give it a default size and it will get allocated. */
|
||||
else if (!pedantic && TREE_STATIC (decl) && !TREE_PUBLIC (decl))
|
||||
DECL_EXTERNAL (decl) = 1;
|
||||
}
|
||||
else if (failure == 3)
|
||||
{
|
||||
error ("zero-size array %qD", decl);
|
||||
TREE_TYPE (decl) = error_mark_node;
|
||||
}
|
||||
|
||||
cp_apply_type_quals_to_decl (cp_type_quals (TREE_TYPE (decl)), decl);
|
||||
@ -4244,18 +4286,7 @@ reshape_init_array_1 (tree elt_type, tree max_index, reshape_iter *d)
|
||||
{
|
||||
tree elt_init;
|
||||
|
||||
if (d->cur->index)
|
||||
{
|
||||
/* Handle array designated initializers (GNU extension). */
|
||||
if (TREE_CODE (d->cur->index) == IDENTIFIER_NODE)
|
||||
{
|
||||
error ("name %qD used in a GNU-style designated "
|
||||
"initializer for an array", d->cur->index);
|
||||
}
|
||||
else
|
||||
gcc_unreachable ();
|
||||
}
|
||||
|
||||
check_array_designated_initializer (d->cur);
|
||||
elt_init = reshape_init_r (elt_type, d, /*first_initializer_p=*/false);
|
||||
if (elt_init == error_mark_node)
|
||||
return error_mark_node;
|
||||
@ -4977,7 +5008,14 @@ cp_finish_decl (tree decl, tree init, bool init_const_expr_p,
|
||||
|| !DECL_CLASS_SCOPE_P (decl)
|
||||
|| !DECL_INTEGRAL_CONSTANT_VAR_P (decl)
|
||||
|| type_dependent_p
|
||||
|| value_dependent_expression_p (init))
|
||||
|| value_dependent_expression_p (init)
|
||||
/* Check also if initializer is a value dependent
|
||||
{ integral_constant_expression }. */
|
||||
|| (TREE_CODE (init) == CONSTRUCTOR
|
||||
&& VEC_length (constructor_elt, CONSTRUCTOR_ELTS (init)) == 1
|
||||
&& value_dependent_expression_p
|
||||
(VEC_index (constructor_elt,
|
||||
CONSTRUCTOR_ELTS (init), 0)->value)))
|
||||
{
|
||||
if (init && DECL_INITIAL (decl))
|
||||
DECL_INITIAL (decl) = init;
|
||||
@ -5905,16 +5943,6 @@ grokfndecl (tree ctype,
|
||||
error ("cannot declare %<::main%> to be inline");
|
||||
if (!publicp)
|
||||
error ("cannot declare %<::main%> to be static");
|
||||
if (!same_type_p (TREE_TYPE (TREE_TYPE (decl)),
|
||||
integer_type_node))
|
||||
{
|
||||
tree oldtypeargs = TYPE_ARG_TYPES (TREE_TYPE (decl));
|
||||
tree newtype;
|
||||
error ("%<::main%> must return %<int%>");
|
||||
newtype = build_function_type (integer_type_node,
|
||||
oldtypeargs);
|
||||
TREE_TYPE (decl) = newtype;
|
||||
}
|
||||
inlinep = 0;
|
||||
publicp = 1;
|
||||
}
|
||||
@ -6018,6 +6046,18 @@ grokfndecl (tree ctype,
|
||||
*attrlist = NULL_TREE;
|
||||
}
|
||||
|
||||
/* Check main's type after attributes have been applied. */
|
||||
if (ctype == NULL_TREE && DECL_MAIN_P (decl)
|
||||
&& !same_type_p (TREE_TYPE (TREE_TYPE (decl)),
|
||||
integer_type_node))
|
||||
{
|
||||
tree oldtypeargs = TYPE_ARG_TYPES (TREE_TYPE (decl));
|
||||
tree newtype;
|
||||
error ("%<::main%> must return %<int%>");
|
||||
newtype = build_function_type (integer_type_node, oldtypeargs);
|
||||
TREE_TYPE (decl) = newtype;
|
||||
}
|
||||
|
||||
if (ctype != NULL_TREE
|
||||
&& (! TYPE_FOR_JAVA (ctype) || check_java_method (decl))
|
||||
&& check)
|
||||
@ -11371,7 +11411,11 @@ revert_static_member_fn (tree decl)
|
||||
tmp = build_exception_variant (tmp,
|
||||
TYPE_RAISES_EXCEPTIONS (function));
|
||||
TREE_TYPE (decl) = tmp;
|
||||
if (DECL_ARGUMENTS (decl))
|
||||
if (DECL_ARGUMENTS (decl)
|
||||
/* revert_static_member_fn might be called before grokclassfn
|
||||
had time to add the "this" argument. */
|
||||
&& DECL_ARTIFICIAL (DECL_ARGUMENTS (decl))
|
||||
&& DECL_NAME (DECL_ARGUMENTS (decl)) == this_identifier)
|
||||
DECL_ARGUMENTS (decl) = TREE_CHAIN (DECL_ARGUMENTS (decl));
|
||||
DECL_STATIC_FUNCTION_P (decl) = 1;
|
||||
}
|
||||
|
211
gnu/dist/gcc4/gcc/cp/parser.c
vendored
211
gnu/dist/gcc4/gcc/cp/parser.c
vendored
@ -501,6 +501,49 @@ cp_lexer_next_token_is_keyword (cp_lexer* lexer, enum rid keyword)
|
||||
return token->keyword == keyword;
|
||||
}
|
||||
|
||||
static bool
|
||||
cp_lexer_next_token_is_decl_specifier_keyword (cp_lexer *lexer)
|
||||
{
|
||||
cp_token *token;
|
||||
|
||||
token = cp_lexer_peek_token (lexer);
|
||||
switch (token->keyword)
|
||||
{
|
||||
/* Storage classes. */
|
||||
case RID_AUTO:
|
||||
case RID_REGISTER:
|
||||
case RID_STATIC:
|
||||
case RID_EXTERN:
|
||||
case RID_MUTABLE:
|
||||
case RID_THREAD:
|
||||
/* Elaborated type specifiers. */
|
||||
case RID_ENUM:
|
||||
case RID_CLASS:
|
||||
case RID_STRUCT:
|
||||
case RID_UNION:
|
||||
case RID_TYPENAME:
|
||||
/* Simple type specifiers. */
|
||||
case RID_CHAR:
|
||||
case RID_WCHAR:
|
||||
case RID_BOOL:
|
||||
case RID_SHORT:
|
||||
case RID_INT:
|
||||
case RID_LONG:
|
||||
case RID_SIGNED:
|
||||
case RID_UNSIGNED:
|
||||
case RID_FLOAT:
|
||||
case RID_DOUBLE:
|
||||
case RID_VOID:
|
||||
/* GNU extensions. */
|
||||
case RID_ATTRIBUTE:
|
||||
case RID_TYPEOF:
|
||||
return true;
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/* Return a pointer to the Nth token in the token stream. If N is 1,
|
||||
then this is precisely equivalent to cp_lexer_peek_token (except
|
||||
that it is not inline). One would like to disallow that case, but
|
||||
@ -982,6 +1025,24 @@ make_parameter_declarator (cp_decl_specifier_seq *decl_specifiers,
|
||||
return parameter;
|
||||
}
|
||||
|
||||
/* Returns true iff DECLARATOR is a declaration for a function. */
|
||||
|
||||
static bool
|
||||
function_declarator_p (const cp_declarator *declarator)
|
||||
{
|
||||
while (declarator)
|
||||
{
|
||||
if (declarator->kind == cdk_function
|
||||
&& declarator->declarator->kind == cdk_id)
|
||||
return true;
|
||||
if (declarator->kind == cdk_id
|
||||
|| declarator->kind == cdk_error)
|
||||
return false;
|
||||
declarator = declarator->declarator;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* The parser. */
|
||||
|
||||
/* Overview
|
||||
@ -1337,6 +1398,10 @@ typedef struct cp_parser GTY(())
|
||||
character set. */
|
||||
bool translate_strings_p;
|
||||
|
||||
/* TRUE if we are presently parsing the body of a function, but not
|
||||
a local class. */
|
||||
bool in_function_body;
|
||||
|
||||
/* If non-NULL, then we are parsing a construct where new type
|
||||
definitions are not permitted. The string stored here will be
|
||||
issued as an error message if a type is defined. */
|
||||
@ -1583,7 +1648,7 @@ static tree cp_parser_class_name
|
||||
static tree cp_parser_class_specifier
|
||||
(cp_parser *);
|
||||
static tree cp_parser_class_head
|
||||
(cp_parser *, bool *, tree *);
|
||||
(cp_parser *, bool *, tree *, tree *);
|
||||
static enum tag_types cp_parser_class_key
|
||||
(cp_parser *);
|
||||
static void cp_parser_member_specification_opt
|
||||
@ -1806,7 +1871,7 @@ static void cp_parser_name_lookup_error
|
||||
(cp_parser *, tree, tree, const char *);
|
||||
static bool cp_parser_simulate_error
|
||||
(cp_parser *);
|
||||
static void cp_parser_check_type_definition
|
||||
static bool cp_parser_check_type_definition
|
||||
(cp_parser *);
|
||||
static void cp_parser_check_for_definition_in_return_type
|
||||
(cp_declarator *, tree);
|
||||
@ -2005,14 +2070,18 @@ cp_parser_check_decl_spec (cp_decl_specifier_seq *decl_specs)
|
||||
definitions are forbidden at this point, an error message is
|
||||
issued. */
|
||||
|
||||
static void
|
||||
static bool
|
||||
cp_parser_check_type_definition (cp_parser* parser)
|
||||
{
|
||||
/* If types are forbidden here, issue a message. */
|
||||
if (parser->type_definition_forbidden_message)
|
||||
/* Use `%s' to print the string in case there are any escape
|
||||
characters in the message. */
|
||||
error ("%s", parser->type_definition_forbidden_message);
|
||||
{
|
||||
/* Use `%s' to print the string in case there are any escape
|
||||
characters in the message. */
|
||||
error ("%s", parser->type_definition_forbidden_message);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/* This function is called when the DECLARATOR is processed. The TYPE
|
||||
@ -2544,6 +2613,9 @@ cp_parser_new (void)
|
||||
/* String literals should be translated to the execution character set. */
|
||||
parser->translate_strings_p = true;
|
||||
|
||||
/* We are not parsing a function body. */
|
||||
parser->in_function_body = false;
|
||||
|
||||
/* The unparsed function queue is empty. */
|
||||
parser->unparsed_functions_queues = build_tree_list (NULL_TREE, NULL_TREE);
|
||||
|
||||
@ -2899,7 +2971,7 @@ cp_parser_primary_expression (cp_parser *parser,
|
||||
int i = ({ int j = 3; j + 1; });
|
||||
|
||||
at class or namespace scope. */
|
||||
if (!at_function_scope_p ())
|
||||
if (!parser->in_function_body)
|
||||
error ("statement-expressions are allowed only inside functions");
|
||||
/* Start the statement-expression. */
|
||||
expr = begin_stmt_expr ();
|
||||
@ -3603,6 +3675,17 @@ cp_parser_nested_name_specifier_opt (cp_parser *parser,
|
||||
{
|
||||
/* Grab the nested-name-specifier and continue the loop. */
|
||||
cp_parser_pre_parsed_nested_name_specifier (parser);
|
||||
/* If we originally encountered this nested-name-specifier
|
||||
with IS_DECLARATION set to false, we will not have
|
||||
resolved TYPENAME_TYPEs, so we must do so here. */
|
||||
if (is_declaration
|
||||
&& TREE_CODE (parser->scope) == TYPENAME_TYPE)
|
||||
{
|
||||
new_scope = resolve_typename_type (parser->scope,
|
||||
/*only_current_p=*/false);
|
||||
if (new_scope != error_mark_node)
|
||||
parser->scope = new_scope;
|
||||
}
|
||||
success = true;
|
||||
continue;
|
||||
}
|
||||
@ -10220,16 +10303,23 @@ cp_parser_enum_specifier (cp_parser* parser)
|
||||
identifier = make_anon_name ();
|
||||
|
||||
/* Issue an error message if type-definitions are forbidden here. */
|
||||
cp_parser_check_type_definition (parser);
|
||||
|
||||
/* Create the new type. We do this before consuming the opening brace
|
||||
so the enum will be recorded as being on the line of its tag (or the
|
||||
'enum' keyword, if there is no tag). */
|
||||
type = start_enum (identifier);
|
||||
|
||||
if (!cp_parser_check_type_definition (parser))
|
||||
type = error_mark_node;
|
||||
else
|
||||
/* Create the new type. We do this before consuming the opening
|
||||
brace so the enum will be recorded as being on the line of its
|
||||
tag (or the 'enum' keyword, if there is no tag). */
|
||||
type = start_enum (identifier);
|
||||
|
||||
/* Consume the opening brace. */
|
||||
cp_lexer_consume_token (parser->lexer);
|
||||
|
||||
if (type == error_mark_node)
|
||||
{
|
||||
cp_parser_skip_to_end_of_block_or_statement (parser);
|
||||
return error_mark_node;
|
||||
}
|
||||
|
||||
/* If the next token is not '}', then there are some enumerators. */
|
||||
if (cp_lexer_next_token_is_not (parser->lexer, CPP_CLOSE_BRACE))
|
||||
cp_parser_enumerator_list (parser, type);
|
||||
@ -10704,7 +10794,7 @@ cp_parser_asm_definition (cp_parser* parser)
|
||||
too. Doing that means that we have to treat the `::' operator as
|
||||
two `:' tokens. */
|
||||
if (cp_parser_allow_gnu_extensions_p (parser)
|
||||
&& at_function_scope_p ()
|
||||
&& parser->in_function_body
|
||||
&& (cp_lexer_next_token_is (parser->lexer, CPP_COLON)
|
||||
|| cp_lexer_next_token_is (parser->lexer, CPP_SCOPE)))
|
||||
{
|
||||
@ -10770,7 +10860,7 @@ cp_parser_asm_definition (cp_parser* parser)
|
||||
cp_parser_require (parser, CPP_SEMICOLON, "`;'");
|
||||
|
||||
/* Create the ASM_EXPR. */
|
||||
if (at_function_scope_p ())
|
||||
if (parser->in_function_body)
|
||||
{
|
||||
asm_stmt = finish_asm_stmt (volatile_p, string, outputs,
|
||||
inputs, clobbers);
|
||||
@ -10884,6 +10974,10 @@ cp_parser_init_declarator (cp_parser* parser,
|
||||
if (declarator == cp_error_declarator)
|
||||
return error_mark_node;
|
||||
|
||||
/* Check that the number of template-parameter-lists is OK. */
|
||||
if (!cp_parser_check_declarator_template_parameters (parser, declarator))
|
||||
return error_mark_node;
|
||||
|
||||
if (declares_class_or_enum & 2)
|
||||
cp_parser_check_for_definition_in_return_type (declarator,
|
||||
decl_specifiers->type);
|
||||
@ -11003,10 +11097,6 @@ cp_parser_init_declarator (cp_parser* parser,
|
||||
/* Check to see whether or not this declaration is a friend. */
|
||||
friend_p = cp_parser_friend_p (decl_specifiers);
|
||||
|
||||
/* Check that the number of template-parameter-lists is OK. */
|
||||
if (!cp_parser_check_declarator_template_parameters (parser, declarator))
|
||||
return error_mark_node;
|
||||
|
||||
/* Enter the newly declared entry in the symbol table. If we're
|
||||
processing a declaration in a class-specifier, we wait until
|
||||
after processing the initializer. */
|
||||
@ -11056,10 +11146,23 @@ cp_parser_init_declarator (cp_parser* parser,
|
||||
is_non_constant_init = true;
|
||||
if (is_initialized)
|
||||
{
|
||||
if (declarator->kind == cdk_function
|
||||
&& declarator->declarator->kind == cdk_id
|
||||
&& initialization_kind == CPP_EQ)
|
||||
initializer = cp_parser_pure_specifier (parser);
|
||||
if (function_declarator_p (declarator))
|
||||
{
|
||||
if (initialization_kind == CPP_EQ)
|
||||
initializer = cp_parser_pure_specifier (parser);
|
||||
else
|
||||
{
|
||||
/* If the declaration was erroneous, we don't really
|
||||
know what the user intended, so just silently
|
||||
consume the initializer. */
|
||||
if (decl != error_mark_node)
|
||||
error ("initializer provided for function");
|
||||
cp_parser_skip_to_closing_parenthesis (parser,
|
||||
/*recovering=*/true,
|
||||
/*or_comma=*/false,
|
||||
/*consume_paren=*/true);
|
||||
}
|
||||
}
|
||||
else
|
||||
initializer = cp_parser_initializer (parser,
|
||||
&is_parenthesized_init,
|
||||
@ -11451,7 +11554,7 @@ cp_parser_direct_declarator (cp_parser* parser,
|
||||
/* Normally, the array bound must be an integral constant
|
||||
expression. However, as an extension, we allow VLAs
|
||||
in function scopes. */
|
||||
else if (!at_function_scope_p ())
|
||||
else if (!parser->in_function_body)
|
||||
{
|
||||
error ("array bound is not an integer constant");
|
||||
bounds = error_mark_node;
|
||||
@ -12821,15 +12924,18 @@ cp_parser_class_specifier (cp_parser* parser)
|
||||
int has_trailing_semicolon;
|
||||
bool nested_name_specifier_p;
|
||||
unsigned saved_num_template_parameter_lists;
|
||||
bool saved_in_function_body;
|
||||
tree old_scope = NULL_TREE;
|
||||
tree scope = NULL_TREE;
|
||||
tree bases = NULL_TREE;
|
||||
|
||||
push_deferring_access_checks (dk_no_deferred);
|
||||
|
||||
/* Parse the class-head. */
|
||||
type = cp_parser_class_head (parser,
|
||||
&nested_name_specifier_p,
|
||||
&attributes);
|
||||
&attributes,
|
||||
&bases);
|
||||
/* If the class-head was a semantic disaster, skip the entire body
|
||||
of the class. */
|
||||
if (!type)
|
||||
@ -12846,6 +12952,9 @@ cp_parser_class_specifier (cp_parser* parser)
|
||||
return error_mark_node;
|
||||
}
|
||||
|
||||
/* Process the base classes. */
|
||||
xref_basetypes (type, bases);
|
||||
|
||||
/* Issue an error message if type-definitions are forbidden here. */
|
||||
cp_parser_check_type_definition (parser);
|
||||
/* Remember that we are defining one more class. */
|
||||
@ -12855,6 +12964,9 @@ cp_parser_class_specifier (cp_parser* parser)
|
||||
saved_num_template_parameter_lists
|
||||
= parser->num_template_parameter_lists;
|
||||
parser->num_template_parameter_lists = 0;
|
||||
/* We are not in a function body. */
|
||||
saved_in_function_body = parser->in_function_body;
|
||||
parser->in_function_body = false;
|
||||
|
||||
/* Start the class. */
|
||||
if (nested_name_specifier_p)
|
||||
@ -12966,7 +13078,8 @@ cp_parser_class_specifier (cp_parser* parser)
|
||||
/* Put back any saved access checks. */
|
||||
pop_deferring_access_checks ();
|
||||
|
||||
/* Restore the count of active template-parameter-lists. */
|
||||
/* Restore saved state. */
|
||||
parser->in_function_body = saved_in_function_body;
|
||||
parser->num_template_parameter_lists
|
||||
= saved_num_template_parameter_lists;
|
||||
|
||||
@ -13000,7 +13113,8 @@ cp_parser_class_specifier (cp_parser* parser)
|
||||
static tree
|
||||
cp_parser_class_head (cp_parser* parser,
|
||||
bool* nested_name_specifier_p,
|
||||
tree *attributes_p)
|
||||
tree *attributes_p,
|
||||
tree *bases)
|
||||
{
|
||||
tree nested_name_specifier;
|
||||
enum tag_types class_key;
|
||||
@ -13013,7 +13127,6 @@ cp_parser_class_head (cp_parser* parser,
|
||||
bool invalid_explicit_specialization_p = false;
|
||||
tree pushed_scope = NULL_TREE;
|
||||
unsigned num_templates;
|
||||
tree bases;
|
||||
|
||||
/* Assume no nested-name-specifier will be present. */
|
||||
*nested_name_specifier_p = false;
|
||||
@ -13309,14 +13422,11 @@ cp_parser_class_head (cp_parser* parser,
|
||||
struct A::C : B {};
|
||||
|
||||
is valid. */
|
||||
bases = NULL_TREE;
|
||||
*bases = NULL_TREE;
|
||||
|
||||
/* Get the list of base-classes, if there is one. */
|
||||
if (cp_lexer_next_token_is (parser->lexer, CPP_COLON))
|
||||
bases = cp_parser_base_clause (parser);
|
||||
|
||||
/* Process the base classes. */
|
||||
xref_basetypes (type, bases);
|
||||
*bases = cp_parser_base_clause (parser);
|
||||
|
||||
done:
|
||||
/* Leave the scope given by the nested-name-specifier. We will
|
||||
@ -13716,8 +13826,7 @@ cp_parser_member_declaration (cp_parser* parser)
|
||||
for a pure-specifier; otherwise, we look for a
|
||||
constant-initializer. When we call `grokfield', it will
|
||||
perform more stringent semantics checks. */
|
||||
if (declarator->kind == cdk_function
|
||||
&& declarator->declarator->kind == cdk_id)
|
||||
if (function_declarator_p (declarator))
|
||||
initializer = cp_parser_pure_specifier (parser);
|
||||
else
|
||||
/* Parse the initializer. */
|
||||
@ -15002,10 +15111,14 @@ cp_parser_check_declarator_template_parameters (cp_parser* parser,
|
||||
|
||||
is correct; there shouldn't be a `template <>' for
|
||||
the definition of `S<int>::f'. */
|
||||
if (CLASSTYPE_TEMPLATE_INFO (scope)
|
||||
&& (CLASSTYPE_TEMPLATE_INSTANTIATION (scope)
|
||||
|| uses_template_parms (CLASSTYPE_TI_ARGS (scope)))
|
||||
&& PRIMARY_TEMPLATE_P (CLASSTYPE_TI_TEMPLATE (scope)))
|
||||
if (!CLASSTYPE_TEMPLATE_INFO (scope))
|
||||
/* If SCOPE does not have template information of any
|
||||
kind, then it is not a template, nor is it nested
|
||||
within a template. */
|
||||
break;
|
||||
if (explicit_class_specialization_p (scope))
|
||||
break;
|
||||
if (PRIMARY_TEMPLATE_P (CLASSTYPE_TI_TEMPLATE (scope)))
|
||||
++num_templates;
|
||||
|
||||
scope = TYPE_CONTEXT (scope);
|
||||
@ -15122,7 +15235,7 @@ cp_parser_constructor_declarator_p (cp_parser *parser, bool friend_p)
|
||||
/* The common case is that this is not a constructor declarator, so
|
||||
try to avoid doing lots of work if at all possible. It's not
|
||||
valid declare a constructor at function scope. */
|
||||
if (at_function_scope_p ())
|
||||
if (parser->in_function_body)
|
||||
return false;
|
||||
/* And only certain tokens can begin a constructor declarator. */
|
||||
next_token = cp_lexer_peek_token (parser->lexer);
|
||||
@ -15199,8 +15312,7 @@ cp_parser_constructor_declarator_p (cp_parser *parser, bool friend_p)
|
||||
/* A parameter declaration begins with a decl-specifier,
|
||||
which is either the "attribute" keyword, a storage class
|
||||
specifier, or (usually) a type-specifier. */
|
||||
&& !cp_lexer_next_token_is_keyword (parser->lexer, RID_ATTRIBUTE)
|
||||
&& !cp_parser_storage_class_specifier_opt (parser))
|
||||
&& !cp_lexer_next_token_is_decl_specifier_keyword (parser->lexer))
|
||||
{
|
||||
tree type;
|
||||
tree pushed_scope = NULL_TREE;
|
||||
@ -15314,8 +15426,11 @@ cp_parser_function_definition_after_declarator (cp_parser* parser,
|
||||
tree fn;
|
||||
bool ctor_initializer_p = false;
|
||||
bool saved_in_unbraced_linkage_specification_p;
|
||||
bool saved_in_function_body;
|
||||
unsigned saved_num_template_parameter_lists;
|
||||
|
||||
saved_in_function_body = parser->in_function_body;
|
||||
parser->in_function_body = true;
|
||||
/* If the next token is `return', then the code may be trying to
|
||||
make use of the "named return value" extension that G++ used to
|
||||
support. */
|
||||
@ -15363,6 +15478,7 @@ cp_parser_function_definition_after_declarator (cp_parser* parser,
|
||||
= saved_in_unbraced_linkage_specification_p;
|
||||
parser->num_template_parameter_lists
|
||||
= saved_num_template_parameter_lists;
|
||||
parser->in_function_body = saved_in_function_body;
|
||||
|
||||
return fn;
|
||||
}
|
||||
@ -15387,6 +15503,15 @@ cp_parser_template_declaration_after_export (cp_parser* parser, bool member_p)
|
||||
/* And the `<'. */
|
||||
if (!cp_parser_require (parser, CPP_LESS, "`<'"))
|
||||
return;
|
||||
if (at_class_scope_p () && current_function_decl)
|
||||
{
|
||||
/* 14.5.2.2 [temp.mem]
|
||||
|
||||
A local class shall not have member templates. */
|
||||
error ("invalid declaration of member template in local class");
|
||||
cp_parser_skip_to_end_of_block_or_statement (parser);
|
||||
return;
|
||||
}
|
||||
/* [temp]
|
||||
|
||||
A template ... shall not have C linkage. */
|
||||
|
5
gnu/dist/gcc4/gcc/gcc.c
vendored
5
gnu/dist/gcc4/gcc/gcc.c
vendored
@ -3634,7 +3634,10 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n"
|
||||
switch (c)
|
||||
{
|
||||
case 'b':
|
||||
if (NULL == strchr(argv[i] + 2, '-')) break;
|
||||
if (NULL == strchr(argv[i] + 2, '-'))
|
||||
goto normal_switch;
|
||||
|
||||
/* Fall through. */
|
||||
case 'V':
|
||||
fatal ("'-%c' must come at the start of the command line", c);
|
||||
break;
|
||||
|
586
gnu/dist/gcc4/gcc/testsuite/ChangeLog
vendored
586
gnu/dist/gcc4/gcc/testsuite/ChangeLog
vendored
@ -1,3 +1,583 @@
|
||||
2007-01-06 Eric Botcazou <ebotcazou@libertysurf.fr>
|
||||
|
||||
* lib/target-supports.exp (check_effective_target_sync_int_long):
|
||||
Always return 0 for SPARC targets.
|
||||
(check_effective_target_sync_char_short): Likewise.
|
||||
|
||||
2007-01-06 Richard Sandiford <richard@codesourcery.com>
|
||||
|
||||
2006-05-22 Richard Sandiford <richard@codesourcery.com>
|
||||
|
||||
PR rtl-optimization/25514
|
||||
* gcc.c-torture/compile/pr25514.c: New test.
|
||||
|
||||
2007-01-05 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/30212
|
||||
* gcc.dg/torture/pr30212.c: New testcase.
|
||||
|
||||
2007-01-05 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR middle-end/27826
|
||||
* g++.dg/opt/pr27826.C: New testcase.
|
||||
|
||||
2007-01-05 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
Backport from mainline:
|
||||
2006-06-24 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
PR c/25795
|
||||
PR c++/27369
|
||||
* gcc.dg/pr25795.c: New testcase.
|
||||
* gcc.dg/pr25795-1.c: Likewise.
|
||||
|
||||
2007-01-05 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c/30360
|
||||
* gcc.dg/pr30360.c: New test.
|
||||
|
||||
Backported from mainline
|
||||
2006-10-13 Eric Christopher <echristo@apple.com>
|
||||
* gcc.dg/pr25993.c: Skip for darwin.
|
||||
|
||||
2006-09-16 Steven Bosscher <steven@gcc.gnu.org>
|
||||
PR c/25993
|
||||
* gcc.dg/pr25993.c: New test.
|
||||
|
||||
2007-01-05 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR middle-end/28116
|
||||
* g++.dg/opt/pr28116.C: New testcase.
|
||||
|
||||
2007-01-05 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
Backport from mainline:
|
||||
2006-10-15 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
PR middle-end/29241
|
||||
* gcc.c-torture/compile/pr29241.c: New testcase.
|
||||
|
||||
2007-01-03 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/28217
|
||||
* g++.dg/pch/template-1.C: New test.
|
||||
* g++.dg/pch/template-1.Hs: New file.
|
||||
|
||||
PR middle-end/30286
|
||||
* gcc.dg/pr30286.c: New test.
|
||||
|
||||
PR c++/29535
|
||||
* g++.dg/template/crash66.C: New test.
|
||||
|
||||
PR c++/29054
|
||||
* g++.dg/template/friend49.C: New test.
|
||||
|
||||
Backported from mainline
|
||||
2006-10-17 Mark Mitchell <mark@codesourcery.com>
|
||||
PR c++/28261
|
||||
* g++.dg/parse/enum3.C: New test.
|
||||
|
||||
2006-12-29 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR preprocessor/29612
|
||||
* gcc.dg/cpp/pr29612-1.c: New test.
|
||||
* gcc.dg/cpp/pr29612-2.c: New test.
|
||||
|
||||
2006-12-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||||
|
||||
PR libfortran/30145
|
||||
* gfortran.dg/write_zero_array.f90: New test.
|
||||
|
||||
2006-12-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||||
|
||||
PR fortran/30200
|
||||
* gfortran.dg/write_fmt_trim.f90: New test.
|
||||
|
||||
2006-12-21 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR target/30230
|
||||
* g++.dg/eh/ia64-2.C: New test.
|
||||
|
||||
2006-12-15 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR target/30185
|
||||
* gcc.c-torture/execute/pr30185.c: New test.
|
||||
|
||||
2006-12-13 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||
|
||||
Revert Paul Thomas' commit from 2006-12-09
|
||||
* gfortran.dg/parameter_array_section_1.f90: Deleted.
|
||||
* gfortran.dg/char_result_12.f90: Ditto.
|
||||
* gfortran.dg/array_section_1.f90: Ditto.
|
||||
* gfortran.dg/used_types_13.f90: Ditto.
|
||||
* gfortran.dg/host_dummy_index_1.f90: Revert to previous version.
|
||||
|
||||
2006-12-13 Lee Millward <lee.millward@codesourcery.com>
|
||||
|
||||
PR c++27316
|
||||
* g++.dg/inherit/error3.C: New test.
|
||||
|
||||
PR c++/28740
|
||||
* g++.dg/inherit/error4.C: New test.
|
||||
|
||||
2006-12-12 Richard Sandiford <richard@codesourcery.com>
|
||||
|
||||
* lib/gcc-dg.exp (${tool}_load): Fix invocation of
|
||||
saved_${tool}_load.
|
||||
|
||||
2006-12-09 Paul Thomas <pault@gcc.gnu.org>
|
||||
|
||||
PR fortran/29821
|
||||
* gfortran.dg/parameter_array_section_1.f90: New test.
|
||||
|
||||
PR fortran/29912
|
||||
* gfortran.dg/char_result_12.f90: New test.
|
||||
|
||||
PR fortran/29916
|
||||
* gfortran.dg/host_dummy_index_1.f90: Added additional test.
|
||||
|
||||
PR fortran/30003
|
||||
* gfortran.dg/allocatable_function_1.f90: Increase the number
|
||||
of expected calls of free to 10; the lhs section reference is
|
||||
now evaluated so there is another call to bar. Change the
|
||||
comment appropriately.
|
||||
* gfortran.dg/array_section_1.f90: New test.
|
||||
|
||||
PR fortran/29820
|
||||
* gfortran.dg/used_types_13.f90: New test.
|
||||
|
||||
2006-12-06 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/29730
|
||||
* g++.dg/template/crash64.C: New test.
|
||||
* g++.dg/parse/crash27.C: Adjust error markers.
|
||||
|
||||
2006-12-05 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/29729
|
||||
* g++.dg/template/crash63.C: New test.
|
||||
|
||||
2006-12-05 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/29728
|
||||
* g++.dg/template/crash62.C: New test.
|
||||
* g++.dg/ext/complit3.C: Tweak error markers.
|
||||
|
||||
2006-12-05 Richard Henderson <rth@redhat.com>
|
||||
Andrew Pinski <pinskia@gmail.com>
|
||||
|
||||
PR C++/14329
|
||||
* g++.dg/warn/unit-1.C: New test.
|
||||
|
||||
2006-12-04 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/29632
|
||||
* g++.dg/template/error23.C: New test.
|
||||
|
||||
PR c++/29733
|
||||
* g++.dg/template/crash61.C: New test.
|
||||
|
||||
2006-12-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
|
||||
|
||||
Backport:
|
||||
2006-08-27 Simon Martin <simartin@users.sourceforge.net>
|
||||
|
||||
PR c++/28284
|
||||
* g++.dg/template/pr28284.C: New test.
|
||||
|
||||
2006-12-01 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
|
||||
|
||||
PR c++/30022
|
||||
* g++.dg/ext/vector5.C: New test.
|
||||
|
||||
2006-11-29 Lee Millward <lee.millward@codesourcery.com>
|
||||
|
||||
PR c++/29022
|
||||
* g++.dg/inherit/virtual1.C: New test.
|
||||
* g++.dg/inherit/virtual2.C: Likewise.
|
||||
* g++.old-deja/g++.bugs/900121_05.C: Adjust error markers.
|
||||
* g++.dg/inherit/error2.C: Likewise.
|
||||
* g++.dg/template/instantiate1.C: Likewise.
|
||||
|
||||
2006-11-28 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* gcc.dg/20061124-1.c: Add exit() function prototype.
|
||||
|
||||
2006-11-28 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/29735
|
||||
* g++.dg/warn/main-3.C: New test.
|
||||
|
||||
2006-11-27 Michael Matz <matz@suse.de>
|
||||
Andreas Krebbel <krebbel1@de.ibm.com>
|
||||
|
||||
PR target/29319
|
||||
* gcc.dg/20061127-1.c: New testcase.
|
||||
|
||||
2006-11-26 Andrew Pinski <pinskia@gmail.com>
|
||||
|
||||
PR fortran/29982
|
||||
* gfortran.fortran-torture/compile/parameter_3.f90: New
|
||||
testcase.
|
||||
|
||||
2006-11-26 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/29886
|
||||
* g++.dg/expr/cast8.C: New test.
|
||||
|
||||
2006-11-25 Andrew Pinski <andrew_pinski@playstation.sony.com>
|
||||
|
||||
PR tree-opt/29964
|
||||
* gcc.dg/pure-1.c: New test.
|
||||
|
||||
2006-11-24 Andrew Pinski <andrew_pinski@playstation.sony.com>
|
||||
|
||||
* gcc.dg/20061124-1.c: Add "exit(0);" to the end of main.
|
||||
|
||||
2006-11-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||||
|
||||
PR libgfortran/29936
|
||||
* gfortran.dg/write_check3.f90: New test.
|
||||
|
||||
2006-11-24 Francois-Xavier Coudert <coudert@clipper.ens.fr>
|
||||
|
||||
PR fortran/29391
|
||||
PR fortran/29489
|
||||
* gfortran.dg/bound_2.f90: New test.
|
||||
* gfortran.dg/bound_3.f90: New test.
|
||||
|
||||
2006-11-24 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c/29736
|
||||
* gcc.dg/pr29736.c: New test.
|
||||
|
||||
2006-11-24 Andreas Krebbel <krebbel1@de.ibm.com>
|
||||
|
||||
* gcc.dg/20061124-1.c: New testcase.
|
||||
|
||||
2006-11-21 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/29570
|
||||
* g++.dg/template/static29.C: New test.
|
||||
|
||||
PR c++/29734
|
||||
* g++.dg/conversion/simd4.C: New test.
|
||||
|
||||
2006-11-19 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
Backport from mainline:
|
||||
2006-09-22 Zdenek Dvorak <dvorakz@suse.cz>
|
||||
|
||||
PR tree-optimization/28888
|
||||
* gcc.dg/pr28888.c: New test.
|
||||
|
||||
2006-11-17 Andrew Pinski <andrew_pinski@playstation.sony.com>
|
||||
|
||||
PR tree-opt/29788
|
||||
* gfortran.fortran-torture/compile/inline_1.f90:
|
||||
New testcase.
|
||||
|
||||
2006-11-17 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR middle-end/29584
|
||||
* gcc.dg/torture/pr29584.c: New test.
|
||||
|
||||
2006-11-15 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR tree-optimization/29581
|
||||
* gcc.dg/pr29581-1.c: New test.
|
||||
* gcc.dg/pr29581-2.c: New test.
|
||||
* gcc.dg/pr29581-3.c: New test.
|
||||
* gcc.dg/pr29581-4.c: New test.
|
||||
* gfortran.dg/pr29581.f90: New test.
|
||||
|
||||
2006-11-15 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
Backport from mainline:
|
||||
2006-11-12 Roger Sayle <roger@eyesopen.com>
|
||||
|
||||
PR rtl-optimization/29797
|
||||
* gcc.c-torture/execute/pr29797-1.c: New test case.
|
||||
|
||||
2006-11-13 Francois-Xavier Coudert <coudert@clipper.ens.fr>
|
||||
|
||||
PR libfortran/27895
|
||||
* gcc/testsuite/gfortran.dg/zero_sized_1.f90: Uncomment checks
|
||||
for RESHAPE.
|
||||
* gfortran.dg/zero_sized_1.f90: New test.
|
||||
|
||||
2006-11-13 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/29106
|
||||
* g++.dg/init/self1.C: New test.
|
||||
* g++.dg/other/fold1.C: Adjust error markers.
|
||||
* g++.dg/init/member1.C: Likewise.
|
||||
|
||||
2006-11-13 Janis Johnson <janis187@us.ibm.com>
|
||||
|
||||
Backport from mainline:
|
||||
2006-08-14 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR testsuite/28703
|
||||
* gcc.c-torture/execute/pr28651.c: Do not use argc
|
||||
to avoid optimization, instead forbid inlining.
|
||||
|
||||
2006-11-13 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/29518
|
||||
* g++.dg/template/static28.C: New test.
|
||||
|
||||
2006-11-13 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
Backport from mainline:
|
||||
2006-10-23 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR middle-end/21032
|
||||
* gcc.dg/pr21032.c: New testcase.
|
||||
|
||||
2006-11-10 Paul Thomas <pault@gcc.gnu.org>
|
||||
|
||||
Backport from mainline.
|
||||
|
||||
PR fortran/29371
|
||||
* gfortran.dg/nullify_3.f90: New test.
|
||||
|
||||
PR fortran/29392
|
||||
* gfortran.dg/data_char_3.f90: New test.
|
||||
|
||||
PR fortran/29216
|
||||
* gfortran.dg/result_default_init_1.f90: New test.
|
||||
|
||||
PR fortran/29314
|
||||
* gfortran.dg/automatic_default_init_1.f90: New test.
|
||||
|
||||
PR fortran/29387
|
||||
* trans-intrinsic.c (gfc_conv_intrinsic_len): Rearrange to have
|
||||
a specific case for EXPR_VARIABLE and, in default, build an ss
|
||||
to call gfc_conv_expr_descriptor for array expressions..
|
||||
|
||||
PR fortran/29490
|
||||
* trans-expr.c (gfc_set_interface_mapping_bounds): In the case
|
||||
that GFC_TYPE_ARRAY_LBOUND is not available, use descriptor
|
||||
values for it and GFC_TYPE_ARRAY_UBOUND.
|
||||
|
||||
PR fortran/29641
|
||||
* trans-types.c (gfc_get_derived_type): If the derived type
|
||||
namespace has neither a parent nor a proc_name, set NULL for
|
||||
the search namespace.
|
||||
|
||||
PR fortran/29565
|
||||
* gfortran.dg/gfortran.dg/aliasing_dummy_3.f90: New test.
|
||||
|
||||
2006-11-09 Janis Johnson <janis187@us.ibm.com>
|
||||
|
||||
Backport from mainline.
|
||||
|
||||
2006-11-06 Janis Johnson <janis187@us.ibm.com>
|
||||
Bernhard Fischer <aldot@gcc.gnu.org>
|
||||
* lib/gcc-dg.exp (output-exists): New proc.
|
||||
(output-exists-not): New proc.
|
||||
* gcc.test-framework/test-framework.awk: Support new directives.
|
||||
* gcc.test-framework/dg-outexistsnot-exp-F.c: New test.
|
||||
* gcc.test-framework/dg-outexistsnot-exp-P.c: New test.
|
||||
* gcc.test-framework/dg-outexists-exp-F.c: New test.
|
||||
* gcc.test-framework/dg-outexists-exp-XP.c: New test.
|
||||
* gcc.test-framework/dg-outexistsnot-exp-XF.c: New test.
|
||||
* gcc.test-framework/dg-outexists-exp-P.c: New test.
|
||||
|
||||
2006-10-31 Joseph Myers <joseph@codesourcery.com>
|
||||
Richard Sandiford <richard@codesourcery.com>
|
||||
* lib/target-supports.exp (get_compiler_messages): Append options
|
||||
as a single list element.
|
||||
|
||||
2006-10-30 Joseph Myers <joseph@codesourcery.com>
|
||||
* lib/target-supports.exp (check_function_available): Declare
|
||||
function before calling.
|
||||
|
||||
2006-09-12 Kazu Hirata <kazu@codesourcery.com>
|
||||
* lib/c-torture.exp (c-torture-compile, c-torture-execute):
|
||||
Treat $srcdir as a literal.
|
||||
* lib/fortran-torture.exp (fortran-torture-compile,
|
||||
fortran-torture-execute): Likewise.
|
||||
* lib/objc-torture.exp (objc-torture-compile,
|
||||
objc-torture-execute): Likewise.
|
||||
* lib/profopt.exp (profopt-execute): Likewise.
|
||||
|
||||
2006-07-13 Janis Johnson <janis187@us.ibm.com>
|
||||
* lib/gcc-dg.exp (tool_load): Wrapper to support shouldfail tests.
|
||||
(dg-test): Support shouldfail tests.
|
||||
* lib/target-supports-dg.exp (dg-shouldfail): New.
|
||||
* gcc.test-framework/test-framework.awk: Handle shouldfail tests.
|
||||
|
||||
2006-06-12 Matthew Sachs <msachs@apple.com>
|
||||
* lib/target-supports-dg.exp (check-flags): Include TOOL_OPTIONS in
|
||||
the list of compiler flags; this causes those flags to be checked
|
||||
for things like dg-skip-if.
|
||||
|
||||
2006-06-06 Janis Johnson <janis187@us.ibm.com>
|
||||
* lib/gcc-dg.exp (gcc-dg-test-1): Detect and report ICE.
|
||||
* lib/gcc-defs.exp (tool_check_compile): Ditto.
|
||||
* lib/fortran-torture.exp (fortran-torture-compile,
|
||||
fortran-torture-execute): Ditto.
|
||||
|
||||
2006-05-11 Jason Merrill <jason@redhat.com>
|
||||
* lib/scanasm.exp (scan-not-hidden): Fix typo.
|
||||
|
||||
2006-02-08 Paolo Bonzini <bonzini@gnu.org>
|
||||
* lib/gcc-dg.exp (cleanup-rtl-dump, cleanup-tree-dump,
|
||||
cleanup-ipa-dump): Update dump file glob patterns.
|
||||
* lib/scanipa.exp (scan-ipa-dump, scan-ipa-dump-times,
|
||||
scan-ipa-dump-not, scan-ipa-dump-dem): Likewise.
|
||||
* lib/scanrtl.exp: New.
|
||||
* lib/gcc-dg.exp: Load it.
|
||||
|
||||
2006-01-11 Ben Elliston <bje@au1.ibm.com>
|
||||
* lib/compat.exp (compat_skip_list): Make global, rename.
|
||||
* lib/c-compat.exp: New file.
|
||||
* gcc.dg/compat/struct-layout-1.exp: Use c-compat.exp.
|
||||
* gcc.dg/compat/compat.exp: (compat-use-alt-compiler,
|
||||
compat-use-tst-compiler): Move to new file.
|
||||
Make some variables global, prepend "compat_" to their names.
|
||||
* gcc.dg/compat/struct-layout-1.exp: Ditto.
|
||||
|
||||
2005-12-12 Alan Modra <amodra@bigpond.net.au>
|
||||
* gcc.misc-tests/linkage.exp: Set native_cflags for powerpc*-*-linux*.
|
||||
|
||||
2006-11-08 Erik Edelmann <eedelman@gcc.gnu.org>
|
||||
|
||||
PR fortran/29630
|
||||
PR fortran/29679
|
||||
* gfortran.dg/initialization_2.f90: Test PRs 29630 and 29679 too.
|
||||
|
||||
2006-11-06 Paul Thomas <pault@gcc.gnu.org>
|
||||
|
||||
PR fortran/29373
|
||||
* gfortran.dg/implicit_9.f90: New test.
|
||||
|
||||
PR fortran/29407
|
||||
* gfortran.dg/namelist_25.f90: New test.
|
||||
|
||||
PR fortran/27701
|
||||
* gfortran.dg/same_name_2.f90: New test.
|
||||
|
||||
PR fortran/29232
|
||||
* gfortran.dg/host_assoc_types_1.f90: New test.
|
||||
|
||||
PR fortran/29364
|
||||
* gfortran.dg/missing_derived_type_1.f90: New test.
|
||||
* gfortran.dg/implicit_actual.f90: Comment out USE GLOBAL.
|
||||
|
||||
PR fortran/29115
|
||||
* gfortran.dg/derived_constructor_comps_2.f90: New test.
|
||||
|
||||
PR fortran/29211
|
||||
* gfortran.dg/forall_char_dependencies_1.f90: New test.
|
||||
|
||||
PR fortran/29098
|
||||
* gfortran.dg/default_initialization_2.f90: New test.
|
||||
|
||||
2006-11-05 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR middle-end/29695
|
||||
* gcc.c-torture/execute/pr29695-1.c: New test.
|
||||
* gcc.c-torture/execute/pr29695-2.c: New test.
|
||||
|
||||
2006-11-04 Thomas Koenig <Thomas.Koenig@online.de>
|
||||
|
||||
PR libfortran/29627
|
||||
Backport from trunk
|
||||
* gfortran.dg/unf_short_record_1.f90: New test.
|
||||
|
||||
2006-11-03 Francois-Xavier Coudert <coudert@clipper.ens.fr>
|
||||
|
||||
PR fortran/29067
|
||||
* gfortran.dg/pr29067.f: New test.
|
||||
|
||||
2006-11-02 Zdenek Dvorak <dvorakz@suse.cz>
|
||||
|
||||
* gcc++.dg/tree-ssa/pr27891.c: New test.
|
||||
|
||||
2006-11-02 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* lib/target-supports.exp, gcc.dg/arm-vfp1.c: Revert previous
|
||||
patch.
|
||||
|
||||
2006-11-01 Eric Botcazou <ebotcazou@libertysurf.fr>
|
||||
|
||||
* gcc.c-torture/execute/20061101-1.c: New test.
|
||||
|
||||
2006-11-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* gcc.dg/torture/builtin-attr-1.c: Don't test gamma/lgamma.
|
||||
* gcc.dg/torture/builtin-convert-1.c: Don't test lgamma.
|
||||
|
||||
2006-10-31 Eric Botcazou <ebotcazou@libertysurf.fr>
|
||||
|
||||
* gcc.c-torture/execute/20061031-1.c: New test.
|
||||
|
||||
2006-10-31 Joseph Myers <joseph@codesourcery.com>
|
||||
Richard Sandiford <richard@codesourcery.com>
|
||||
|
||||
* lib/target-supports.exp (get_compiler_messages): Append options
|
||||
as a single list element.
|
||||
(check_effective_target_arm_vfp_ok): New.
|
||||
* gcc.dg/arm-vfp1.c: Use arm_vfp_ok.
|
||||
|
||||
2006-10-30 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR tree-optimization/29637
|
||||
* gcc.dg/pr29637.c: New test.
|
||||
|
||||
2006-10-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||||
|
||||
PR libgfortran/29563
|
||||
* gfortran.dg/arrayio_9.f90: New test.
|
||||
* gfortran.dg/arrayio_19.f90: New test.
|
||||
|
||||
2006-10-26 Andreas Krebbel <krebbel1@de.ibm.com>
|
||||
|
||||
* gcc.dg/20061026.c: New testcase.
|
||||
|
||||
2006-10-25 Steve Ellcey <sje@cup.hp.com>
|
||||
|
||||
* gcc.dg/pthread-init-2.c: Define _POSIX_C_SOURCE on ia64 HP-UX.
|
||||
|
||||
2006-10-25 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* gcc.dg/simd-5.c, gcc.dg/simd-6: New testcases.
|
||||
|
||||
2006-10-24 Erik Edelmann <eedelman@gcc.gnu.org>
|
||||
|
||||
PR fortran/29393
|
||||
* gfortran.dg/initialize_2.f90: New.
|
||||
|
||||
2006-10-24 Paul Thomas <pault@gcc.gnu.org>
|
||||
|
||||
PR fortran/29284
|
||||
* gfortran.dg/optional_assumed_charlen_1.f90: New test.
|
||||
|
||||
PR fortran/29321
|
||||
PR fortran/29322
|
||||
* gfortran.dg/missing_optional_dummy_2.f90: New test.
|
||||
|
||||
PR fortran/25091
|
||||
PR fortran/25092
|
||||
* gfortran.dg/entry_array_specs_1.f90: New test.
|
||||
|
||||
2006-10-23 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/29020
|
||||
* g++.dg/template/friend48.C: New test.
|
||||
|
||||
2006-10-23 Ulrich Weigand <uweigand@de.ibm.com>
|
||||
|
||||
* g++.dg/other/s390-1.C: New testcase.
|
||||
|
||||
2006-10-22 Nathan Sidwell <nathan@codesourcery.com>
|
||||
|
||||
PR c++/20647
|
||||
* g++.dg/abi/rtti3.C: New.
|
||||
|
||||
2006-10-19 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* gcc.dg/div-compare-1.c: New test.
|
||||
@ -2450,7 +3030,7 @@
|
||||
PR c++/26070
|
||||
* g++.dg/other/virtual1.C: New test.
|
||||
|
||||
2006-02-06 Janis Johnson <janis187@us.ibm.com
|
||||
2006-02-06 Janis Johnson <janis187@us.ibm.com>
|
||||
|
||||
Backport from mainline
|
||||
2005-12-28 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
|
||||
@ -9942,7 +10522,7 @@
|
||||
PR tree-optimization/21021
|
||||
* gcc.c-torture/compile/pr21021.c: New.
|
||||
|
||||
2005-04-14 Janis Johnson <janis187@us.ibm.com
|
||||
2005-04-14 Janis Johnson <janis187@us.ibm.com>
|
||||
|
||||
PR testsuite/21010
|
||||
* gcc.dg/vect/vect-ifcvt-1.c: Remove dg-do, add cleanup.
|
||||
@ -13358,7 +13938,7 @@
|
||||
PR c++/18793
|
||||
* g++.dg/init/aggr3.C: New test.
|
||||
|
||||
2004-12-14 Janis Johnson <janis187@us.ibm.com
|
||||
2004-12-14 Janis Johnson <janis187@us.ibm.com>
|
||||
|
||||
* gcc.dg/altivec-types-1.c: New test.
|
||||
* gcc.dg/altivec-types-2.c: New test.
|
||||
|
13
gnu/dist/gcc4/gcc/tree-cfg.c
vendored
13
gnu/dist/gcc4/gcc/tree-cfg.c
vendored
@ -3691,6 +3691,19 @@ tree_verify_flow_info (void)
|
||||
}
|
||||
}
|
||||
|
||||
if (TREE_CODE (stmt) != COND_EXPR)
|
||||
{
|
||||
/* Verify that there are no edges with EDGE_TRUE/FALSE_FLAG set
|
||||
after anything else but if statement. */
|
||||
FOR_EACH_EDGE (e, ei, bb->succs)
|
||||
if (e->flags & (EDGE_TRUE_VALUE | EDGE_FALSE_VALUE))
|
||||
{
|
||||
error ("true/false edge after a non-COND_EXPR in bb %d",
|
||||
bb->index);
|
||||
err = 1;
|
||||
}
|
||||
}
|
||||
|
||||
switch (TREE_CODE (stmt))
|
||||
{
|
||||
case COND_EXPR:
|
||||
|
1831
gnu/dist/gcc4/libstdc++-v3/configure
vendored
1831
gnu/dist/gcc4/libstdc++-v3/configure
vendored
File diff suppressed because it is too large
Load Diff
2
gnu/dist/gcc4/libstdc++-v3/crossconfig.m4
vendored
2
gnu/dist/gcc4/libstdc++-v3/crossconfig.m4
vendored
@ -238,7 +238,6 @@ case "${host}" in
|
||||
AC_CHECK_HEADERS([sys/types.h locale.h float.h])
|
||||
GLIBCXX_CHECK_LINKER_FEATURES
|
||||
GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
|
||||
GLIBCXX_CHECK_ICONV_SUPPORT
|
||||
;;
|
||||
*-netbsd*)
|
||||
AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/param.h \
|
||||
@ -363,6 +362,7 @@ case "${host}" in
|
||||
# os_include_dir="os/solaris/solaris2.6"
|
||||
# ;;
|
||||
*-solaris2.7 | *-solaris2.8 | *-solaris2.9 | *-solaris2.10)
|
||||
GLIBCXX_CHECK_LINKER_FEATURES
|
||||
AC_DEFINE(HAVE_GETPAGESIZE)
|
||||
AC_DEFINE(HAVE_SIGSETJMP)
|
||||
AC_DEFINE(HAVE_MBSTATE_T)
|
||||
|
Loading…
Reference in New Issue
Block a user