This commit was manufactured by cvs2svn to create tag
'gcc_4_0_2_release'.

From-SVN: r104510
diff --git a/gcc/testsuite/g++.dg/template/array14.C b/gcc/testsuite/g++.dg/template/array14.C
new file mode 100644
index 0000000..71a03f3
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/array14.C
@@ -0,0 +1,10 @@
+// PR c++/23993
+
+const int data[2][4] = {
+  { 0, 1, 2, 3 }
+};
+
+template <typename T>
+void t(int k) {
+  int candidate = data[1][k];
+}
diff --git a/gcc/testsuite/gcc.dg/inline1.c b/gcc/testsuite/gcc.dg/inline1.c
deleted file mode 100644
index f7a7eb4..0000000
--- a/gcc/testsuite/gcc.dg/inline1.c
+++ /dev/null
@@ -1,8 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-Wall -std=gnu89" } */
-/* This test is expected to fail with an error for the redefinition of foo.
-   This violates the constraint of 6.9#3 (no more than one external definition
-   of an identifier with internal linkage in the same translation unit).  */
-static inline int foo(void) { return 1; } /* { dg-error "previous definition of" } */
-static inline int foo(void) { return 0; } /* { dg-error "redefinition of" } */
-
diff --git a/gcc/testsuite/gcc.dg/inline2.c b/gcc/testsuite/gcc.dg/inline2.c
deleted file mode 100644
index ede4104..0000000
--- a/gcc/testsuite/gcc.dg/inline2.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-Wall -std=gnu89" } */
-/* This test should compile successfully.  */
-extern inline int foo (void) { return 0; }
-inline int foo (void) { return 1; }
diff --git a/gcc/testsuite/gcc.dg/inline3.c b/gcc/testsuite/gcc.dg/inline3.c
deleted file mode 100644
index bc755e3..0000000
--- a/gcc/testsuite/gcc.dg/inline3.c
+++ /dev/null
@@ -1,7 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-Wall -std=gnu89" } */
-/* This testcase should fail since we're redefining foo in the same
-   translation unit.  */
-extern inline int foo(void) { return 0; }
-inline int foo (void) { return 1; } /* { dg-error "previous definition of" } */
-int foo (void) { return 2; } /* { dg-error "error: redefinition of" } */
diff --git a/gcc/testsuite/gcc.dg/inline4.c b/gcc/testsuite/gcc.dg/inline4.c
deleted file mode 100644
index a5c7dda..0000000
--- a/gcc/testsuite/gcc.dg/inline4.c
+++ /dev/null
@@ -1,6 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-Wall -std=gnu89" } */
-/* This testcase should fail since we're redefining foo in the same
-   translation unit.  */
-int foo (void) { return 2; } /* { dg-error "previous definition of" } */
-extern inline int foo (void) { return 1; } /* { dg-error "redefinition of" } */
diff --git a/gcc/testsuite/gcc.target/i386/pr23570.c b/gcc/testsuite/gcc.target/i386/pr23570.c
deleted file mode 100644
index 1542663..0000000
--- a/gcc/testsuite/gcc.target/i386/pr23570.c
+++ /dev/null
@@ -1,92 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-O2 -msse2" } */
-
-typedef float __v4sf __attribute__ ((__vector_size__ (16)));
-typedef float __m128 __attribute__ ((__vector_size__ (16)));
-typedef long long __v2di __attribute__ ((__vector_size__ (16)));
-
-static __inline __m128
-_mm_cmpeq_ps (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_cmpeqps ((__v4sf)__A, (__v4sf)__B);
-}
-
-static __inline __m128
-_mm_setr_ps (float __Z, float __Y, float __X, float __W)
-{
-  return __extension__ (__m128)(__v4sf){__Z, __Y, __X, __W };
-}
-
-static __inline __m128
-_mm_and_si128 (__m128 __A, __m128 __B)
-{
-  return (__m128)__builtin_ia32_pand128 ((__v2di)__A, (__v2di)__B);
-}
-
-static __inline __m128
-_mm_or_si128 (__m128 __A, __m128 __B)
-{
-  return (__m128)__builtin_ia32_por128 ((__v2di)__A, (__v2di)__B);
-}
-
-typedef union
-{
-  __m128 xmmi;
-  int si[4];
-}
-__attribute__ ((aligned (16))) um128;
-
-um128 u;
-
-static inline int
-sse_max_abs_indexf (float *v, int step, int n)
-{
-  __m128 m1, mm;
-  __m128 mim, mi, msk;
-  um128 u, ui;
-  int n4, step2, step3;
-  mm = __builtin_ia32_andps ((__m128) (__v4sf)
-			     { 0.0, v[step], v[step2], v[step3] }
-			     , u.xmmi);
-  if (n4)
-    {
-      int i;
-      for (i = 0; i < n4; ++i);
-      msk = (__m128) _mm_cmpeq_ps (m1, mm);
-      mim = _mm_or_si128 (_mm_and_si128 (msk, mi), mim);
-    }
-  ui.xmmi = (__m128) mim;
-  return ui.si[n];
-}
-
-static void
-sse_swap_rowf (float *r1, float *r2, int n)
-{
-  int n4 = (n / 4) * 4;
-  float *r14end = r1 + n4;
-  while (r1 < r14end)
-    {
-      *r1 = *r2;
-      r1++;
-    }
-}
-
-void
-ludcompf (float *m, int nw, int *prow, int n)
-{
-  int i, s = 0;
-  float *pm;
-  for (i = 0, pm = m; i < n - 1; ++i, pm += nw)
-    {
-      int vi = sse_max_abs_indexf (pm + i, nw, n - i);
-      float *pt;
-      int j;
-      if (vi != 0)
-	{
-	  sse_swap_rowf (pm, pm + vi * nw, nw);
-	  swap_index (prow, i, i + vi);
-	}
-      for (j = i + 1, pt = pm + nw; j < n; ++j, pt += nw)
-	sse_add_rowf (pt + i + 1, pm + i + 1, -1.0, n - i - 1);
-    }
-}
diff --git a/gcc/testsuite/gfortran.dg/generic_4.f90 b/gcc/testsuite/gfortran.dg/generic_4.f90
deleted file mode 100644
index 62bc569..0000000
--- a/gcc/testsuite/gfortran.dg/generic_4.f90
+++ /dev/null
@@ -1,28 +0,0 @@
-! { dg-do run }
-! reduced testcase from PR 17740
-module FOO
-
-  interface BAR
-     module procedure BAR2
-  end interface
-
-contains
-
-  elemental integer function BAR2(X)
-    integer, intent(in) :: X
-    BAR2 = X
-  end function
-
-  subroutine BAZ(y,z)
-    integer :: Y(3), Z(3)
-    Z = BAR(Y)
-  end subroutine
-
-end module
-
-use foo
-integer :: y(3), z(3)
-y = (/1,2,3/)
-call baz(y,z)
-if (any (y /= z)) call abort ()
-end
diff --git a/libjava/testsuite/libjava.compile/pr13788.java b/libjava/testsuite/libjava.compile/pr13788.java
deleted file mode 100644
index 44f25ea..0000000
--- a/libjava/testsuite/libjava.compile/pr13788.java
+++ /dev/null
@@ -1,8 +0,0 @@
-class pr13788 {
-  private static final int  DUMMY1 = 1 >>> 1;
-
-  public static void main(String [] args) {
-    System.out.println(DUMMY1);
-  }
-}
-
diff --git a/libjava/testsuite/libjava.compile/pr21540.java b/libjava/testsuite/libjava.compile/pr21540.java
deleted file mode 100644
index 4d6841f..0000000
--- a/libjava/testsuite/libjava.compile/pr21540.java
+++ /dev/null
@@ -1,15 +0,0 @@
-public class pr21540
-{
-    public static final long xxx = 555;
-    
-    public boolean fn (int v)
-    {
-	switch (v)
-	    {
-	    case ((int) xxx >>> 32):
-		return true;
-	    default:
-		return false;
-	    }
-    }
-}
diff --git a/libjava/testsuite/libjava.lang/PR19870.java b/libjava/testsuite/libjava.lang/PR19870.java
deleted file mode 100644
index f9e6bc31..0000000
--- a/libjava/testsuite/libjava.lang/PR19870.java
+++ /dev/null
@@ -1,44 +0,0 @@
-// PR19870: Test static field access across nested class boundaries.
-//
-public class PR19870
-{
-  private static int x = 123;
-
-  static class Foo
-  {
-    private static int junk = 1000;
-
-    static void snafu( )
-    {
-      System.out.println( x);
-      x = 456;
-      System.out.println( PR19870.x);
-      PR19870.x = 789;
-      System.out.println( PR19870.x);
-
-      System.out.println( Bar.junk);
-    }
-  }
-
-  static class Bar
-  {
-    private static int junk = 1984;
-
-    static void snafu( )
-    {
-      System.out.println( Foo.junk);
-      Foo.junk = 2000;
-      System.out.println( Foo.junk);
-    }
-  }
-
-  public static void main( String[] args)
-  {
-    Foo.snafu( );
-    Bar.snafu( );
-
-    System.out.println( Foo.junk);
-    Foo.junk = 3000;
-    System.out.println( Foo.junk);
-  }
-}
diff --git a/libjava/testsuite/libjava.lang/PR19870.out b/libjava/testsuite/libjava.lang/PR19870.out
deleted file mode 100644
index ab58915..0000000
--- a/libjava/testsuite/libjava.lang/PR19870.out
+++ /dev/null
@@ -1,8 +0,0 @@
-123
-456
-789
-1984
-1000
-2000
-2000
-3000
diff --git a/libjava/testsuite/libjava.lang/PR19870_2.java b/libjava/testsuite/libjava.lang/PR19870_2.java
deleted file mode 100644
index 4dd7c7f..0000000
--- a/libjava/testsuite/libjava.lang/PR19870_2.java
+++ /dev/null
@@ -1,39 +0,0 @@
-// PR19870: Test synthetic accessor generation for private static methods
-// accessed across nested class boundaries.
-public class PR19870_2
-{
-  static class A
-  {
-    private static void foo( )
-    {
-      System.out.println( "1");
-    }
-
-    private static void bar( int x)
-    {
-      System.out.println( x);
-      snafu( );
-      PR19870_2.snafu( );
-    }
-  }
-
-  static class B
-  {
-    private static void foo( )
-    {
-      A.foo( );
-    }
-  }
-
-  private static void snafu( )
-  {
-    System.out.println( "3");
-  }
-
-  public static void main( String[] args)
-  {
-    A.foo( );
-    A.bar( 2);
-    B.foo( );
-  }
-}
diff --git a/libjava/testsuite/libjava.lang/PR19870_2.out b/libjava/testsuite/libjava.lang/PR19870_2.out
deleted file mode 100644
index bab3945..0000000
--- a/libjava/testsuite/libjava.lang/PR19870_2.out
+++ /dev/null
@@ -1,5 +0,0 @@
-1
-2
-3
-3
-1