This commit is contained in:
Jakub Jelinek 2006-04-21 20:45:38 +00:00
parent 02af9528dd
commit e2670d6ca9
5 changed files with 189 additions and 78 deletions

View File

@ -1 +1 @@
gcc-4.1.0-20060420.tar.bz2
gcc-4.1.0-20060421.tar.bz2

View File

@ -1,75 +1,19 @@
gcc/ada/
2004-11-28 James A. Morrison <ja2morri@csclub.uwaterloo.ca>
PR ada/18302
* Make-lang.in (check-gnat): Set EXPECT environment variable.
testsuite/
2005-05-18 Jakub Jelinek <jakub@redhat.com>
* ada/acats/run_all.sh: Filter out spawn line from target_bit.
2004-11-28 James A. Morrison <ja2morri@csclub.uwaterloo.ca>
PR ada/18302
* ada/acats/run_all.sh (target_run): Run test through run_test.expect.
* ada/acats/run_test.expect: Expect script for ACATS tests.
--- gcc/testsuite/ada/acats/run_all.sh (.../gcc-4_0-branch) (revision 107266)
+++ gcc/testsuite/ada/acats/run_all.sh (.../redhat/gcc-4_0-branch) (revision 107414)
@@ -13,7 +13,8 @@
--- gcc/testsuite/ada/acats/run_all.sh 26 Apr 2004 21:15:54 -0000 1.18
+++ gcc/testsuite/ada/acats/run_all.sh 17 Feb 2005 14:24:49 -0000
@@ -11,9 +11,16 @@
gccflags="-O2"
gnatflags="-gnatws"
+timeout=120
target_run () {
-$*
+ LD_LIBRARY_PATH=$ADA_INCLUDE_PATH${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} \
+ $EXPECT -f $testdir/run_test.exp $1 > $2
+ sh -c "(sleep $timeout; kill \$\$) &
+x=\$!
$*
+s=\$?
+kill \$x
+exit \$s
+"
}
# End of customization section.
@@ -92,8 +93,8 @@
# Find out the size in bit of an address on the target
target_gnatmake $testdir/support/impbit.adb >> $dir/acats.log 2>&1
-target_run $dir/support/impbit > $dir/support/impbit.out 2>&1
-target_bit=`cat $dir/support/impbit.out`
+target_run $dir/support/impbit $dir/support/impbit.out 2>/dev/null
+target_bit=`egrep -v -e ^spawn $dir/support/impbit.out`
echo target_bit="$target_bit" >> $dir/acats.log
# Find out a suitable asm statement
@@ -259,7 +260,7 @@
if [ ! -x $dir/tests/$chapter/$i/$binmain ]; then
sync
fi
- target_run $dir/tests/$chapter/$i/$binmain > $dir/tests/$chapter/$i/${i}.log 2>&1
+ target_run $dir/tests/$chapter/$i/$binmain $dir/tests/$chapter/$i/${i}.log 2>&1
cd $dir/tests/$chapter/$i
cat ${i}.log >> $dir/acats.log
egrep -e '(==== |\+\+\+\+ |\!\!\!\! )' ${i}.log > /dev/null 2>&1
--- gcc/testsuite/ada/acats/run_test.exp (.../gcc-4_0-branch) (revision 0)
+++ gcc/testsuite/ada/acats/run_test.exp (.../redhat/gcc-4_0-branch) (revision 107414)
@@ -0,0 +1,13 @@
+#!/usr/bin/expect -f
+
+if {[info exists env(DEJAGNU_TIMEOUT)]} {
+ set timeout $env(DEJAGNU_TIMEOUT)
+} else {
+ set timeout 300
+}
+
+spawn $argv
+expect timeout {
+ send_user "Program timed out.\n"
+ exit 1
+}
--- gcc/ada/Make-lang.in (.../gcc-4_0-branch) (revision 107266)
+++ gcc/ada/Make-lang.in (.../redhat/gcc-4_0-branch) (revision 107414)
@@ -809,6 +809,7 @@
check-gnat:
test -d $(ACATSDIR) || mkdir -p $(ACATSDIR)
testdir=`cd ${srcdir}/${ACATSDIR}; ${PWD_COMMAND}`; \
+ EXPECT=${EXPECT} ; export EXPECT ; \
export testdir; cd $(ACATSDIR); $(SHELL) $${testdir}/run_acats $(CHAPTERS)
.PHONY: check-gnat

150
gcc41-tests.patch Normal file
View File

@ -0,0 +1,150 @@
2006-04-20 Jakub Jelinek <jakub@redhat.com>
* gcc.c-torture/execute/20060420-1.c: New test.
2006-04-12 Jakub Jelinek <jakub@redhat.com>
* gcc.c-torture/execute/20060412-1.c: New test.
2006-02-25 Alexandre Oliva <aoliva@redhat.com>
* gcc.target/powerpc/altivec-23.c: New test.
--- gcc/testsuite/gcc.target/powerpc/altivec-23.c 1970-01-01 00:00:00.000000000 +0000
+++ gcc/testsuite/gcc.target/powerpc/altivec-23.c 2006-02-25 04:10:36.000000000 -0300
@@ -0,0 +1,25 @@
+/* Verify that it is possible to define variables of composite types
+ containing vector types. We used to crash handling the
+ initializer of automatic ones. */
+
+/* { dg-do compile } */
+/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */
+/* { dg-options "-maltivec -mabi=altivec" } */
+
+#include <altivec.h>
+
+typedef int bt;
+typedef vector bt vt;
+typedef struct { vt x; bt y[sizeof(vt) / sizeof (bt)]; } st;
+#define INIT { 1, 2, 3, 4 }
+
+void f ()
+{
+ vt x = INIT;
+ vt y[1] = { INIT };
+ st s = { INIT, INIT };
+}
+
+vt x = INIT;
+vt y[1] = { INIT };
+st s = { INIT, INIT };
--- gcc/testsuite/gcc.c-torture/execute/20060420-1.c.jj 2006-04-20 18:47:19.000000000 +0200
+++ gcc/testsuite/gcc.c-torture/execute/20060420-1.c 2006-04-20 19:07:20.000000000 +0200
@@ -0,0 +1,71 @@
+extern void abort (void);
+
+typedef float v4flt __attribute__ ((vector_size (16)));
+
+void __attribute__ ((noinline)) foo (float *dst, float **src, int a, int n)
+{
+ int i, j;
+ int z = sizeof (v4flt) / sizeof (float);
+ unsigned m = sizeof (v4flt) - 1;
+
+ for (j = 0; j < n && (((unsigned long) dst + j) & m); ++j)
+ {
+ float t = src[0][j];
+ for (i = 1; i < a; ++i)
+ t += src[i][j];
+ dst[j] = t;
+ }
+
+ for (; j < (n - (4 * z - 1)); j += 4 * z)
+ {
+ v4flt t0 = *(v4flt *) (src[0] + j + 0 * z);
+ v4flt t1 = *(v4flt *) (src[0] + j + 1 * z);
+ v4flt t2 = *(v4flt *) (src[0] + j + 2 * z);
+ v4flt t3 = *(v4flt *) (src[0] + j + 3 * z);
+ for (i = 1; i < a; ++i)
+ {
+ t0 += *(v4flt *) (src[i] + j + 0 * z);
+ t1 += *(v4flt *) (src[i] + j + 1 * z);
+ t2 += *(v4flt *) (src[i] + j + 2 * z);
+ t3 += *(v4flt *) (src[i] + j + 3 * z);
+ }
+ *(v4flt *) (dst + j + 0 * z) = t0;
+ *(v4flt *) (dst + j + 1 * z) = t1;
+ *(v4flt *) (dst + j + 2 * z) = t2;
+ *(v4flt *) (dst + j + 3 * z) = t3;
+ }
+ for (; j < n; ++j)
+ {
+ float t = src[0][j];
+ for (i = 1; i < a; ++i)
+ t += src[i][j];
+ dst[j] = t;
+ }
+}
+
+float buffer[64];
+
+int
+main (void)
+{
+ int i;
+ float *dst, *src[2];
+
+ dst = buffer;
+ dst += (-(long int) buffer & (16 * sizeof (float) - 1)) / sizeof (float);
+ src[0] = dst + 16;
+ src[1] = dst + 32;
+ for (i = 0; i < 16; ++i)
+ {
+ src[0][i] = (float) i + 11 * (float) i;
+ src[1][i] = (float) i + 12 * (float) i;
+ }
+ foo (dst, src, 2, 16);
+ for (i = 0; i < 16; ++i)
+ {
+ float e = (float) i + 11 * (float) i + (float) i + 12 * (float) i;
+ if (dst[i] != e)
+ abort ();
+ }
+ return 0;
+}
--- gcc/testsuite/gcc.c-torture/execute/20060412-1.c.jj 2006-04-03 11:04:53.758553500 +0200
+++ gcc/testsuite/gcc.c-torture/execute/20060412-1.c 2006-04-12 10:54:20.000000000 +0200
@@ -0,0 +1,33 @@
+extern void abort (void);
+
+struct S
+{
+ long o;
+};
+
+struct T
+{
+ long o;
+ struct S m[82];
+};
+
+struct T t;
+
+int
+main ()
+{
+ struct S *p, *q;
+
+ p = (struct S *) &t;
+ p = &((struct T *) p)->m[0];
+ q = p + 82;
+ while (--q > p)
+ q->o = -1;
+ q->o = 0;
+
+ if (q > p)
+ abort ();
+ if (q - p > 0)
+ abort ();
+ return 0;
+}

View File

@ -1,6 +1,6 @@
%define DATE 20060420
%define DATE 20060421
%define gcc_version 4.1.0
%define gcc_release 9
%define gcc_release 10
%define _unpackaged_files_terminate_build 0
%define multilib_64_archs sparc64 ppc64 s390x x86_64
%ifarch %{ix86} x86_64 ia64
@ -114,8 +114,8 @@ Patch16: gcc41-pr20297-test.patch
Patch17: gcc41-java-pr13212.patch
Patch18: gcc41-objc-rh185398.patch
Patch19: gcc41-pr22375.patch
Patch20: gcc41-pr24685.patch
Patch21: gcc41-rh188649-test.patch
Patch20: gcc41-tests.patch
Patch21: gcc41-pr26769.patch
Patch22: gcc41-ppc64-ldouble-stdarg.patch
Patch23: gcc41-pr25874.patch
Patch24: gcc41-pr25989.patch
@ -125,6 +125,8 @@ Patch27: gcc41-pr26729.patch
Patch28: gcc41-pr26865.patch
Patch29: gcc41-pr26913.patch
Patch30: gcc41-rh188944.patch
Patch31: gcc41-rh137200.patch
Patch32: gcc41-rh187450.patch
%define _gnu %{nil}
%ifarch sparc
@ -423,8 +425,8 @@ which are required to run programs compiled with the GNAT.
%patch17 -p0 -b .java-pr13212~
%patch18 -p0 -b .objc-rh185398~
%patch19 -p0 -b .pr22375~
%patch20 -p0 -b .pr24685~
%patch21 -p0 -b .rh188649-test~
%patch20 -p0 -b .tests~
%patch21 -p0 -b .pr26769~
%patch22 -p0 -b .ppc64-ldouble-stdarg~
%patch23 -p0 -b .pr25874~
%patch24 -p0 -b .pr25989~
@ -434,6 +436,8 @@ which are required to run programs compiled with the GNAT.
%patch28 -p0 -b .pr26865~
%patch29 -p0 -b .pr26913~
%patch30 -p0 -b .rh188944~
%patch31 -p0 -b .rh137200~
%patch32 -p0 -b .rh187450~
sed -i -e 's/4\.1\.1/4.1.0/' gcc/BASE-VER gcc/version.c
sed -i -e 's/" (Red Hat[^)]*)"/" (Red Hat %{version}-%{gcc_release})"/' gcc/version.c
@ -570,7 +574,7 @@ echo ====================TESTING=========================
echo ====================TESTING END=====================
mkdir testlogs-%{_target_platform}-%{version}-%{release}
for i in `find . -name \*.log | grep testsuite/ | grep -v 'config.log\|acats\|ada'`; do
ln $i testlogs/ || :
ln $i testlogs-%{_target_platform}-%{version}-%{release}/ || :
done
tar cf - testlogs-%{_target_platform}-%{version}-%{release} | bzip2 -9c \
| uuencode testlogs-%{_target_platform}.tar.bz2 || :
@ -1458,6 +1462,19 @@ fi
%doc rpm.doc/changelogs/libmudflap/ChangeLog*
%changelog
* Fri Apr 21 2006 Jakub Jelinek <jakub@redhat.com> 4.1.0-10
- update from gcc-4_1-branch (-r113110:113149)
- PRs libgcj/21941, libgcj/27170, libgcj/27231, libgfortran/27138,
libstdc++/26424, mudflap/26789
- improve dir/../-stripping code to support /usr/lib64 and /usr/lib in
separate AFS mountpoints (Alexandre Oliva, #137200)
- fix fortran real(16) transpose and reshape on 32-bit architectures
(PR fortran/26769)
- fix i?86/x86_64 vector extraction (Alexandre Oliva, #187450)
- fix testcase for ppc32 va_arg bug
- fix testsuite log uuencoding
- fix acats timeout framework
* Thu Apr 20 2006 Jakub Jelinek <jakub@redhat.com> 4.1.0-9
- update from gcc-4_1-branch (-r112951:113110)
- PRs c++/10385, c++/26036, c++/26365, c++/26558, classpath/27163,

View File

@ -1 +1 @@
70ceb184a4d5a40a2eb8fb903aff3894 gcc-4.1.0-20060420.tar.bz2
19e1f84413aad25f18300a7dfe37c4b8 gcc-4.1.0-20060421.tar.bz2