diff options
author | No Author <no-author@gcc.gnu.org> | 2005-07-07 18:41:54 +0000 |
---|---|---|
committer | No Author <no-author@gcc.gnu.org> | 2005-07-07 18:41:54 +0000 |
commit | 25ab86387da37dfdf377a11bbe4a93fae8ca13b4 (patch) | |
tree | e70ce5b88a1283217413edca91af5d25cf87aefc | |
parent | 65aab6916a19926bbf2f0348e7b3639836457a7f (diff) |
This commit was manufactured by cvs2svn to create tagreleases/gcc-4.0.1
'gcc_4_0_1_release'.
From-SVN: r101728
35 files changed, 0 insertions, 1440 deletions
diff --git a/gcc/testsuite/g++.dg/abi/covariant5.C b/gcc/testsuite/g++.dg/abi/covariant5.C deleted file mode 100644 index 03e55583d03..00000000000 --- a/gcc/testsuite/g++.dg/abi/covariant5.C +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright (C) 2005 Free Software Foundation, Inc. -// Contributed by Nathan Sidwell 4 Apr 2005 <nathan@codesourcery.com> - -// { dg-do run } - -// PR 20746: Covariant return pointer could be null. - -// Origin: yanliu@ca.ibm.com -// nathan@codesourcery.com - -struct A { - virtual void One (); -}; -struct B { - virtual B *Two (); - virtual B &Three (); -}; - -struct C : A, B -{ - virtual C *Two (); - virtual C &Three (); -}; -void A::One () {} -B *B::Two() {return this;} -B &B::Three() {return *this;} -C *C::Two () {return 0;} -C &C::Three () {return *(C *)0;} - -B *Foo (B *b) -{ - return b->Two (); -} - -B &Bar (B *b) -{ - return b->Three (); -} - -int main () -{ - C c; - - /* We should not adjust a null pointer. */ - if (Foo (&c)) - return 1; - /* But we should adjust a (bogus) null reference. */ - if (!&Bar (&c)) - return 2; - - return 0; -} diff --git a/gcc/testsuite/g++.dg/conversion/simd2.C b/gcc/testsuite/g++.dg/conversion/simd2.C deleted file mode 100644 index 873e707e003..00000000000 --- a/gcc/testsuite/g++.dg/conversion/simd2.C +++ /dev/null @@ -1,16 +0,0 @@ -/* { dg-do compile } */ - -/* Test generic operations on vectors. */ - -int __attribute__((vector_size(16))) a, b, c; -int __attribute__((vector_size(8))) d; -void foo() -{ - a = b ^ c; - a = b + c; - a = b - c; - a = b * c; - a = b / c; - a = -b; - a = d + b; /* { dg-error "invalid operands to binary +" } */ -} diff --git a/gcc/testsuite/g++.dg/ext/label4.C b/gcc/testsuite/g++.dg/ext/label4.C deleted file mode 100644 index 80b50a79981..00000000000 --- a/gcc/testsuite/g++.dg/ext/label4.C +++ /dev/null @@ -1,6 +0,0 @@ -// PR c++/20563: ICE (--enable-checking), infinite loop (--disable-checking) -// Origin: Giovanni Bajo <giovannibajo@libero.it> - -// { dg-do compile } - -__label__ *l; // { dg-error "before" } diff --git a/gcc/testsuite/g++.dg/inherit/using4.C b/gcc/testsuite/g++.dg/inherit/using4.C deleted file mode 100644 index a0b38737e1e..00000000000 --- a/gcc/testsuite/g++.dg/inherit/using4.C +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright (C) 2005 Free Software Foundation, Inc. -// Contributed by Nathan Sidwell 6 Jun 2005 <nathan@codesourcery.com> - -// PR 20613:uninformative diagnostic -// Origin: Wolfgang Bangerth <bangerth@dealii.org> - -struct B { - void f(); -}; - -struct D : B { - using B::f; - using B::f; // { dg-error "repeated" } -}; diff --git a/gcc/testsuite/g++.dg/init/member1.C b/gcc/testsuite/g++.dg/init/member1.C deleted file mode 100644 index 1c89d5a1d43..00000000000 --- a/gcc/testsuite/g++.dg/init/member1.C +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright (C) 2005 Free Software Foundation, Inc. -// Contributed by Nathan Sidwell 13 Jun 2005 <nathan@codesourcery.com> - -// Origin: Ivan Godard <igodard@pacbell.net> -// Bug 20789: ICE on invalid - -template<typename> struct A; - -template<int> struct B {}; - -template<typename T> struct C -{ - static const int i = A<T>::i; // { dg-error "incomplete" } - static const int j = i; // { dg-error "initialized by a non-const" } - B<j> b; // { dg-error "not a valid template arg" } -}; - -C<int> c; diff --git a/gcc/testsuite/g++.dg/other/crash-4.C b/gcc/testsuite/g++.dg/other/crash-4.C deleted file mode 100644 index 35f23e8ccc0..00000000000 --- a/gcc/testsuite/g++.dg/other/crash-4.C +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright (C) 2005 Free Software Foundation, Inc. -// Contributed by Nathan Sidwell 14 Jun 2005 <nathan@codesourcery.com> - -// PR 20678: ICE on error message -// Origin: Andrew Pinski pinskia@gcc.gnu.org - -struct a -{ - a(const a&); -}; -struct b -{ // { dg-error "cannot bind packed field" } - a aa __attribute__((packed)); -}; -struct c -{ - b bb; - c(const b& __a): bb(__a) {} // { dg-error "synthesized" } -}; diff --git a/gcc/testsuite/g++.dg/parse/crash26.C b/gcc/testsuite/g++.dg/parse/crash26.C deleted file mode 100644 index 2b4f165f8b9..00000000000 --- a/gcc/testsuite/g++.dg/parse/crash26.C +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright (C) 2005 Free Software Foundation, Inc. -// Contributed by Nathan Sidwell 13 Jun 2005 <nathan@codesourcery.com> - -// Origin: Volker Reichelt <reichelt@gcc.gnu.org> -// Bug 21929: ICE on invalid - -template<int> struct A -{ - struct B; -}; - -template<> struct A<void>::B {}; // { dg-error "mismatch|expected|name a type|extra" } diff --git a/gcc/testsuite/g++.dg/parse/defarg9.C b/gcc/testsuite/g++.dg/parse/defarg9.C deleted file mode 100644 index 8496cfb26c1..00000000000 --- a/gcc/testsuite/g++.dg/parse/defarg9.C +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright (C) 2005 Free Software Foundation, Inc. -// Contributed by Nathan Sidwell 6 Jun 2005 <nathan@codesourcery.com> - -// PR 21903:Reject legal with default arg confusion -// Origin: Wolfgang Bangerth <bangerth@dealii.org> - - -struct O { - template<typename T> struct B { - void set (T, bool=true); - }; - - struct D : public B<int> {}; -}; - -void x () -{ - O::D d; - d.set(1); -} diff --git a/gcc/testsuite/gcc.c-torture/compile/pr21562.c b/gcc/testsuite/gcc.c-torture/compile/pr21562.c deleted file mode 100644 index d100b28dd45..00000000000 --- a/gcc/testsuite/gcc.c-torture/compile/pr21562.c +++ /dev/null @@ -1,25 +0,0 @@ -/* { dg-options "-O3 -fno-inline" } */ -struct foo { int a, b, c; }; -void abort(void); -void exit(int); - -void -brother (int a, int b, int c) -{ - if (a) - abort (); -} - -void -sister (struct foo f, int b, int c) -{ - brother ((f.b == b), b, c); -} - -int -main () -{ - struct foo f = { 7, 8, 9 }; - sister (f, 1, 2); - exit (0); -} diff --git a/gcc/testsuite/gcc.dg/simd-3.c b/gcc/testsuite/gcc.dg/simd-3.c deleted file mode 100644 index 34ad75d9602..00000000000 --- a/gcc/testsuite/gcc.dg/simd-3.c +++ /dev/null @@ -1,16 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-maltivec" { target powerpc-*-* } } */ - -__attribute__ ((vector_size (2))) signed char v1, v2, v3; -void -one (void) -{ - v1 = v2 + v3; -} - -__attribute__ ((vector_size (8))) signed char v4, v5, v6; -void -two (void) -{ - v4 = v5 + v6; -} diff --git a/gcc/testsuite/gcc.dg/simd-4.c b/gcc/testsuite/gcc.dg/simd-4.c deleted file mode 100644 index f7b28d45229..00000000000 --- a/gcc/testsuite/gcc.dg/simd-4.c +++ /dev/null @@ -1,15 +0,0 @@ -/* { dg-do compile } */ - -typedef int myint; - -float __attribute__((vector_size(16))) b; -int __attribute__((vector_size(16))) d; -myint __attribute__((vector_size(16))) d2; -unsigned int __attribute__((vector_size(16))) e; - -void foo() -{ - b + d; /* { dg-error "invalid operands to binary" } */ - d += e; - d2 += d; -} diff --git a/gcc/testsuite/gfortran.dg/altreturn_1.f90 b/gcc/testsuite/gfortran.dg/altreturn_1.f90 deleted file mode 100644 index 0849358697f..00000000000 --- a/gcc/testsuite/gfortran.dg/altreturn_1.f90 +++ /dev/null @@ -1,7 +0,0 @@ -! { dg-do compile } - subroutine foo (a) - real t, a, baz - call bar (*10) - t = 2 * baz () - IF (t.gt.0) t = baz () -10 END diff --git a/gcc/testsuite/gfortran.dg/comma_format_extension_1.f b/gcc/testsuite/gfortran.dg/comma_format_extension_1.f deleted file mode 100644 index a3a5a98f155..00000000000 --- a/gcc/testsuite/gfortran.dg/comma_format_extension_1.f +++ /dev/null @@ -1,11 +0,0 @@ -! { dg-do compile } -! { dg-options "" } -! test that the extension for a missing comma is accepted - - subroutine mysub - dimension ibar(5) - write (3,1001) ( ibar(m), m = 1, 5 ) - - 1001 format (/5x,' ',i4' '/ ) - return - end diff --git a/gcc/testsuite/gfortran.dg/comma_format_extension_2.f b/gcc/testsuite/gfortran.dg/comma_format_extension_2.f deleted file mode 100644 index 7eb17b58434..00000000000 --- a/gcc/testsuite/gfortran.dg/comma_format_extension_2.f +++ /dev/null @@ -1,10 +0,0 @@ -! { dg-do compile } -! test that the extension for a missing comma is accepted - - subroutine mysub - dimension ibar(5) - write (3,1001) ( ibar(m), m = 1, 5 ) - - 1001 format (/5x,' ',i4' '/ ) ! { dg-warning "Missing comma" } - return - end diff --git a/gcc/testsuite/gfortran.dg/comma_format_extension_3.f b/gcc/testsuite/gfortran.dg/comma_format_extension_3.f deleted file mode 100644 index 15ee18905c4..00000000000 --- a/gcc/testsuite/gfortran.dg/comma_format_extension_3.f +++ /dev/null @@ -1,16 +0,0 @@ -! PR libfortran/15332 and PR fortran/13257 -! We used to accept this as an extension but -! did do the correct thing at runtime. -! Note the missing , before i1 in the format. -! { do-do run } -! { dg-options "" } - character*12 c - - write (c,100) 0, 1 - if (c .ne. 'i = 0, j = 1') call abort - - write (c,100) 0 - if (c .ne. 'i = 0 ') call abort - - 100 format ('i = 'i1,:,', j = ',i1) - end diff --git a/gcc/testsuite/gfortran.dg/comma_format_extension_4.f b/gcc/testsuite/gfortran.dg/comma_format_extension_4.f deleted file mode 100644 index 5f6ecc5073b..00000000000 --- a/gcc/testsuite/gfortran.dg/comma_format_extension_4.f +++ /dev/null @@ -1,10 +0,0 @@ -! PR fortran/13257 -! Note the missing , before i1 in the format. -! { do-do run } -! { dg-options "" } - character*5 c - write (c,1001) 1 - if (c .ne. ' 1 ') call abort - - 1001 format (' ',i4' ') - end diff --git a/gcc/testsuite/gfortran.dg/deallocate_stat.f90 b/gcc/testsuite/gfortran.dg/deallocate_stat.f90 deleted file mode 100644 index b691f21c74e..00000000000 --- a/gcc/testsuite/gfortran.dg/deallocate_stat.f90 +++ /dev/null @@ -1,77 +0,0 @@ -! { dg-do run } -! PR 17792 -! PR 21375 -! Test that the STAT argument to DEALLOCATE works with POINTERS and -! ALLOCATABLE arrays. -program deallocate_stat - - implicit none - - integer i - real, pointer :: a1(:), a2(:,:), a3(:,:,:), a4(:,:,:,:), & - & a5(:,:,:,:,:), a6(:,:,:,:,:,:), a7(:,:,:,:,:,:,:) - - real, allocatable :: b1(:), b2(:,:), b3(:,:,:), b4(:,:,:,:), & - & b5(:,:,:,:,:), b6(:,:,:,:,:,:), b7(:,:,:,:,:,:,:) - - allocate(a1(2), a2(2,2), a3(2,2,2), a4(2,2,2,2), a5(2,2,2,2,2)) - allocate(a6(2,2,2,2,2,2), a7(2,2,2,2,2,2,2)) - - a1 = 1. ; a2 = 2. ; a3 = 3. ; a4 = 4. ; a5 = 5. ; a6 = 6. ; a7 = 7. - - i = 13 - deallocate(a1, stat=i) ; if (i /= 0) call abort - deallocate(a2, stat=i) ; if (i /= 0) call abort - deallocate(a3, stat=i) ; if (i /= 0) call abort - deallocate(a4, stat=i) ; if (i /= 0) call abort - deallocate(a5, stat=i) ; if (i /= 0) call abort - deallocate(a6, stat=i) ; if (i /= 0) call abort - deallocate(a7, stat=i) ; if (i /= 0) call abort - - i = 14 - deallocate(a1, stat=i) ; if (i /= 1) call abort - deallocate(a2, stat=i) ; if (i /= 1) call abort - deallocate(a3, stat=i) ; if (i /= 1) call abort - deallocate(a4, stat=i) ; if (i /= 1) call abort - deallocate(a5, stat=i) ; if (i /= 1) call abort - deallocate(a6, stat=i) ; if (i /= 1) call abort - deallocate(a7, stat=i) ; if (i /= 1) call abort - - allocate(b1(2), b2(2,2), b3(2,2,2), b4(2,2,2,2), b5(2,2,2,2,2)) - allocate(b6(2,2,2,2,2,2), b7(2,2,2,2,2,2,2)) - - b1 = 1. ; b2 = 2. ; b3 = 3. ; b4 = 4. ; b5 = 5. ; b6 = 6. ; b7 = 7. - - i = 13 - deallocate(b1, stat=i) ; if (i /= 0) call abort - deallocate(b2, stat=i) ; if (i /= 0) call abort - deallocate(b3, stat=i) ; if (i /= 0) call abort - deallocate(b4, stat=i) ; if (i /= 0) call abort - deallocate(b5, stat=i) ; if (i /= 0) call abort - deallocate(b6, stat=i) ; if (i /= 0) call abort - deallocate(b7, stat=i) ; if (i /= 0) call abort - - i = 14 - deallocate(b1, stat=i) ; if (i /= 1) call abort - deallocate(b2, stat=i) ; if (i /= 1) call abort - deallocate(b3, stat=i) ; if (i /= 1) call abort - deallocate(b4, stat=i) ; if (i /= 1) call abort - deallocate(b5, stat=i) ; if (i /= 1) call abort - deallocate(b6, stat=i) ; if (i /= 1) call abort - deallocate(b7, stat=i) ; if (i /= 1) call abort - - - allocate(a1(2), a2(2,2), a3(2,2,2), b4(2,2,2,2), b5(2,2,2,2,2)) - allocate(b6(2,2,2,2,2,2)) - - a1 = 1. ; a2 = 2. ; a3 = 3. ; b4 = 4. ; b5 = 5. ; b6 = 6. - - i = 13 - deallocate(a1, stat=i) ; if (i /= 0) call abort - deallocate(a2, a1, stat=i) ; if (i /= 1) call abort - deallocate(a1, a3, a2, stat=i) ; if (i /= 2) call abort - deallocate(b4, stat=i) ; if (i /= 0) call abort - deallocate(b4, b5, stat=i) ; if (i /= 1) call abort - deallocate(b4, b5, b6, stat=i) ; if (i /= 2) call abort - -end program deallocate_stat diff --git a/gcc/testsuite/gfortran.dg/duplicate_labels.f90 b/gcc/testsuite/gfortran.dg/duplicate_labels.f90 deleted file mode 100644 index 7523d0c41b5..00000000000 --- a/gcc/testsuite/gfortran.dg/duplicate_labels.f90 +++ /dev/null @@ -1,59 +0,0 @@ -! { dg-do compile } -! PR 21257 -program dups - - integer i,j,k - - abc: do i = 1, 3 - abc: do j = 1, 3 ! { dg-error "Duplicate construct label" } - k = i + j - end do abc - end do abc ! { dg-error "Expecting END PROGRAM" } - - xyz: do i = 1, 2 - k = i + 2 - end do xyz - xyz: do j = 1, 5 ! { dg-error "Duplicate construct label" } - k = j + 2 - end do loop ! { dg-error "Expecting END PROGRAM" } - - her: if (i == 1) then - her: if (j == 1) then ! { dg-error "Duplicate construct label" } - k = i + j - end if her - end if her ! { dg-error "Expecting END PROGRAM" } - - his: if (i == 1) then - i = j - end if his - his: if (j === 1) then ! { dg-error "Duplicate construct label" } - print *, j - end if his ! { dg-error "Expecting END PROGRAM" } - - sgk: select case (i) - case (1) - sgk: select case (j) ! { dg-error "Duplicate construct label" } - case (10) - i = i + j - case (20) - j = j + i - end select sgk - case (2) ! { dg-error "Unexpected CASE statement" } - i = i + 1 - j = j + 1 - end select sgk ! { dg-error "Expecting END PROGRAM" } - - apl: select case (i) - case (1) - k = 2 - case (2) - j = 1 - end select apl - apl: select case (i) ! { dg-error "Duplicate construct label" } - case (1) ! { dg-error "Unexpected CASE statement" } - j = 2 - case (2) ! { dg-error "Unexpected CASE statement" } - k = 1 - end select apl ! { dg-error "Expecting END PROGRAM" } - -end program dups diff --git a/gcc/testsuite/gfortran.dg/f2c_6.f90 b/gcc/testsuite/gfortran.dg/f2c_6.f90 deleted file mode 100644 index b276b3df372..00000000000 --- a/gcc/testsuite/gfortran.dg/f2c_6.f90 +++ /dev/null @@ -1,84 +0,0 @@ -! { dg-do run } -! { dg-options "-ff2c" } -! Verifies that complex pointer results work with -ff2c -! try all permutations of result clause in function yes/no -! and result clause in interface yes/no -! this is not possible in Fortran 77, but this exercises a previously -! buggy codepath -function c() result (r) - common // z - complex, pointer :: r - complex, target :: z - - r=>z -end function c - -function d() - common // z - complex, pointer :: d - complex, target :: z - - d=>z -end function d - -function e() - common // z - complex, pointer :: e - complex, target :: z - - e=>z -end function e - -function f() result(r) - common // z - complex, pointer :: r - complex, target :: z - - r=>z -end function f - -interface - function c - complex, pointer :: c - end function c -end interface -interface - function d - complex, pointer :: d - end function d -end interface -interface - function e result(r) - complex, pointer :: r - end function e -end interface -interface - function f result(r) - complex, pointer :: r - end function f -end interface - -common // z -complex, target :: z -complex, pointer :: p - -z = (1.,0.) -p => c() -z = (2.,0.) -if (p /= z) call abort () - -NULLIFY(p) -p => d() -z = (3.,0.) -if (p /= z) call abort () - -NULLIFY(p) -p => e() -z = (4.,0.) -if (p /= z) call abort () - -NULLIFY(p) -p => f() -z = (5.,0.) -if (p /= z) call abort () -end diff --git a/gcc/testsuite/gfortran.dg/f2c_7.f90 b/gcc/testsuite/gfortran.dg/f2c_7.f90 deleted file mode 100644 index c15ff7a0f2c..00000000000 --- a/gcc/testsuite/gfortran.dg/f2c_7.f90 +++ /dev/null @@ -1,57 +0,0 @@ -! { dg-do run } -! { dg-options "-ff2c" } -! Verifies that array results work with -ff2c -! try all permutations of result clause in function yes/no -! and result clause in interface yes/no -! this is not possible in Fortran 77, but this exercises a previously -! buggy codepath -function c() result (r) - complex :: r(5) - r = 0. -end function c - -function d() - complex :: d(5) - d = 1. -end function d - -subroutine test_without_result -interface - function c - complex :: c(5) - end function c -end interface -interface - function d - complex :: d(5) - end function d -end interface -complex z(5) -z = c() -if (any(z /= 0.)) call abort () -z = d() -if (any(z /= 1.)) call abort () -end subroutine test_without_result - -subroutine test_with_result -interface - function c result(r) - complex :: r(5) - end function c -end interface -interface - function d result(r) - complex :: r(5) - end function d -end interface -complex z(5) -z = c() -if (any(z /= 0.)) call abort () -z = d() -if (any(z /= 1.)) call abort () -end subroutine test_with_result - -call test_without_result -call test_with_result -end - diff --git a/gcc/testsuite/gfortran.dg/logint-1.f b/gcc/testsuite/gfortran.dg/logint-1.f deleted file mode 100644 index d6349100860..00000000000 --- a/gcc/testsuite/gfortran.dg/logint-1.f +++ /dev/null @@ -1,43 +0,0 @@ -c { dg-do compile } -c { dg-options "-O2 -std=legacy" } - LOGICAL*1 l1 - LOGICAL*2 l2 - LOGICAL*4 l4 - INTEGER*1 i1 - INTEGER*2 i2 - INTEGER*4 i4 - - i1 = .TRUE. - i2 = .TRUE. - i4 = .TRUE. - - i1 = .FALSE. - i2 = .FALSE. - i4 = .FALSE. - - i1 = l1 - i2 = l1 - i4 = l1 - - i1 = l2 - i2 = l2 - i4 = l2 - - i1 = l4 - i2 = l4 - i4 = l4 - - l1 = i1 - l2 = i1 - l4 = i1 - - l1 = i2 - l2 = i2 - l4 = i2 - - l1 = i4 - l2 = i4 - l4 = i4 - - END - diff --git a/gcc/testsuite/gfortran.dg/logint-2.f b/gcc/testsuite/gfortran.dg/logint-2.f deleted file mode 100644 index a5fcf230a91..00000000000 --- a/gcc/testsuite/gfortran.dg/logint-2.f +++ /dev/null @@ -1,43 +0,0 @@ -c { dg-do compile } -c { dg-options "-O2 -std=f95" } - LOGICAL*1 l1 - LOGICAL*2 l2 - LOGICAL*4 l4 - INTEGER*1 i1 - INTEGER*2 i2 - INTEGER*4 i4 - - i1 = .TRUE. ! { dg-error "convert" } - i2 = .TRUE. ! { dg-error "convert" } - i4 = .TRUE. ! { dg-error "convert" } - - i1 = .FALSE. ! { dg-error "convert" } - i2 = .FALSE. ! { dg-error "convert" } - i4 = .FALSE. ! { dg-error "convert" } - - i1 = l1 ! { dg-error "convert" } - i2 = l1 ! { dg-error "convert" } - i4 = l1 ! { dg-error "convert" } - - i1 = l2 ! { dg-error "convert" } - i2 = l2 ! { dg-error "convert" } - i4 = l2 ! { dg-error "convert" } - - i1 = l4 ! { dg-error "convert" } - i2 = l4 ! { dg-error "convert" } - i4 = l4 ! { dg-error "convert" } - - l1 = i1 ! { dg-error "convert" } - l2 = i1 ! { dg-error "convert" } - l4 = i1 ! { dg-error "convert" } - - l1 = i2 ! { dg-error "convert" } - l2 = i2 ! { dg-error "convert" } - l4 = i2 ! { dg-error "convert" } - - l1 = i4 ! { dg-error "convert" } - l2 = i4 ! { dg-error "convert" } - l4 = i4 ! { dg-error "convert" } - - END - diff --git a/gcc/testsuite/gfortran.dg/logint-3.f b/gcc/testsuite/gfortran.dg/logint-3.f deleted file mode 100644 index cf927ab8e83..00000000000 --- a/gcc/testsuite/gfortran.dg/logint-3.f +++ /dev/null @@ -1,43 +0,0 @@ -c { dg-do compile } -c { dg-options "-O2" } - LOGICAL*1 l1 - LOGICAL*2 l2 - LOGICAL*4 l4 - INTEGER*1 i1 - INTEGER*2 i2 - INTEGER*4 i4 - - i1 = .TRUE. ! { dg-warning "Extension: Conversion" } - i2 = .TRUE. ! { dg-warning "Extension: Conversion" } - i4 = .TRUE. ! { dg-warning "Extension: Conversion" } - - i1 = .FALSE. ! { dg-warning "Extension: Conversion" } - i2 = .FALSE. ! { dg-warning "Extension: Conversion" } - i4 = .FALSE. ! { dg-warning "Extension: Conversion" } - - i1 = l1 ! { dg-warning "Extension: Conversion" } - i2 = l1 ! { dg-warning "Extension: Conversion" } - i4 = l1 ! { dg-warning "Extension: Conversion" } - - i1 = l2 ! { dg-warning "Extension: Conversion" } - i2 = l2 ! { dg-warning "Extension: Conversion" } - i4 = l2 ! { dg-warning "Extension: Conversion" } - - i1 = l4 ! { dg-warning "Extension: Conversion" } - i2 = l4 ! { dg-warning "Extension: Conversion" } - i4 = l4 ! { dg-warning "Extension: Conversion" } - - l1 = i1 ! { dg-warning "Extension: Conversion" } - l2 = i1 ! { dg-warning "Extension: Conversion" } - l4 = i1 ! { dg-warning "Extension: Conversion" } - - l1 = i2 ! { dg-warning "Extension: Conversion" } - l2 = i2 ! { dg-warning "Extension: Conversion" } - l4 = i2 ! { dg-warning "Extension: Conversion" } - - l1 = i4 ! { dg-warning "Extension: Conversion" } - l2 = i4 ! { dg-warning "Extension: Conversion" } - l4 = i4 ! { dg-warning "Extension: Conversion" } - - END - diff --git a/gcc/testsuite/gfortran.dg/matmul_1.f90 b/gcc/testsuite/gfortran.dg/matmul_1.f90 deleted file mode 100644 index b3881c9facc..00000000000 --- a/gcc/testsuite/gfortran.dg/matmul_1.f90 +++ /dev/null @@ -1,53 +0,0 @@ -!{ dg-do run } -! Test MATMUL for various arguments and results -! (test values checked with GNU octave). -! PR18857 was due to an incorrect assertion that component base==0 -! for both input arguments and the result. -! provided by Paul Thomas - pault@gcc.gnu.org - -Program matmul_1 - integer, parameter :: N = 5 - integer, parameter :: T = 4 - integer :: i - real(kind=T), dimension(:,:), allocatable :: a, b, c - real(kind=T), dimension(N,N) :: x, y, z - - allocate (a(2*N, N), b(N, N), c(2*N, N)) - - do i = 1, 2*N - a(i, :) = real (i) - end do - b = 4.0_T - - do i = 1, N - x(i, :) = real (i) - end do - y = 2.0_T - -! whole array - - z = 0.0_T - z = matmul (x, y) - if (sum (z) /= 750.0_T) call abort () - -! array sections - - c = 0.0_T - c = matmul (a(7:9,3:N), b(3:N,3:4)) - if (sum (c) /= 576.0_T) call abort () - -! uses a temp - - c = 0.0_T - c = matmul (a, b + x) - if (sum (c) /= 9625.0_T) call abort () - -! returns to a temp - - c = 0.0_T - c = a + matmul (a, b) - if (sum (c) /= 5775.0_T) call abort () - - deallocate (a, b, c) - -end program matmul_1 diff --git a/gcc/testsuite/gfortran.dg/nested_reshape.f90 b/gcc/testsuite/gfortran.dg/nested_reshape.f90 deleted file mode 100644 index d71e4ecc150..00000000000 --- a/gcc/testsuite/gfortran.dg/nested_reshape.f90 +++ /dev/null @@ -1,12 +0,0 @@ -! { dg-do run } -! PR 20436: This used to give a runtime error. -program nested_reshape - implicit none - real :: k(8,2) - real :: o(8,2) - - k = reshape((/1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0, & - 9.0,10.0,11.0,12.0,13.0,14.0,15.0,16.0/), (/8,2/)) - - o = reshape(reshape(k, (/2,8/), order=(/2,1/)), (/8,2/)) -end program diff --git a/gcc/testsuite/gfortran.dg/pr19926.f90 b/gcc/testsuite/gfortran.dg/pr19926.f90 deleted file mode 100644 index 34991ec2ec6..00000000000 --- a/gcc/testsuite/gfortran.dg/pr19926.f90 +++ /dev/null @@ -1,25 +0,0 @@ -! { dg-do run } -module b - type cat - integer :: i = 0 - end type cat -end module b - -program a - use b - type(cat) z - integer :: i = 0, j(4,3,2) = 0 - call string_comp(i) - if (i /= 3) call abort - call string_comp(z%i) - if (z%i /= 3) call abort - call string_comp(j(1,2,1)) - if (j(1,2,1) /= 3) call abort -end program a - -subroutine string_comp(i) - integer, parameter :: map(0:50) = 3 - integer :: i - i = map(42) -end subroutine string_comp - diff --git a/gcc/testsuite/gfortran.dg/reshape-alloc.f90 b/gcc/testsuite/gfortran.dg/reshape-alloc.f90 deleted file mode 100644 index c4c7a0e2a8c..00000000000 --- a/gcc/testsuite/gfortran.dg/reshape-alloc.f90 +++ /dev/null @@ -1,32 +0,0 @@ -! { dg-do run } -! PR 20074: This used to segfault at runtime. -! Test case contributed by "Alfredo Buttari" <pitagoras@tin.it> - -program tryreshape - - integer,allocatable :: vect1(:),resh1(:,:) - integer,pointer :: vect(:),resh(:,:) - integer :: vect2(2*4), resh2(2,4) - integer :: r, s(2) - - r=2; nb=4 - - s(:)=(/r,nb/) - - allocate(vect(nb*r),vect1(nb*r)) - allocate(resh(r,nb),resh1(r,nb)) - - vect =1 - vect1=1 - vect2=1 - - resh2 = reshape(vect2,s) - if (resh2(1,1) /= 1.0) call abort - - resh1 = reshape(vect1,s) - if (resh1(1,1) /= 1.0) call abort - - resh = reshape(vect,s) - if (resh(1,1) /= 1.0) call abort - -end program tryreshape diff --git a/gcc/testsuite/gfortran.dg/reshape.f90 b/gcc/testsuite/gfortran.dg/reshape.f90 deleted file mode 100644 index 3dba09892b6..00000000000 --- a/gcc/testsuite/gfortran.dg/reshape.f90 +++ /dev/null @@ -1,33 +0,0 @@ -! { dg-do run } -! This tests a few reshape PRs. -program resh - implicit none - real, dimension (2,3) :: a,c - real, dimension (12) :: b - type foo - real :: r - end type foo - type(foo), dimension (2,3) :: ar - type(foo), dimension (12) :: br - - character (len=80) line1, line2, line3 - integer :: i - - ! PR 21108: This used to give undefined results. - b = (/(i,i=1,12)/) - a = reshape(b(1:12:2),shape(a),order=(/2,1/)) - c = reshape(b(1:12:2),shape(a),order=(/2,1/)) - if (any (a /= c)) call abort - - ! Test generic reshape - br%r = b - ar = reshape(br(1:12:2),shape(a),order=(/2,1/)) - if (any (ar%r /= a)) call abort - - ! Test callee-allocated memory with a write statement - write (line1,'(6F8.3)') reshape(b(1:12:2),shape(a),order=(/2,1/)) - write (line2,'(6F8.3)') a - if (line1 /= line2 ) call abort - write (line3,'(6F8.3)') reshape(br(1:12:2),shape(ar),order=(/2,1/)) - if (line1 /= line3 ) call abort -end diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/in-pack.f90 b/gcc/testsuite/gfortran.fortran-torture/execute/in-pack.f90 deleted file mode 100644 index b9ea2683240..00000000000 --- a/gcc/testsuite/gfortran.fortran-torture/execute/in-pack.f90 +++ /dev/null @@ -1,92 +0,0 @@ -! Check in_pack and in_unpack for integer and comlex types, with -! alignment issues thrown in for good measure. - -program main - implicit none - - complex(kind=4) :: a4(5),b4(5),aa4(5),bb4(5) - real(kind=4) :: r4(100) - equivalence(a4(1),r4(1)),(b4(1),r4(12)) - - complex(kind=8) :: a8(5),b8(5),aa8(5),bb8(5) - real(kind=8) :: r8(100) - equivalence(a8(1),r8(1)),(b8(1),r8(12)) - - integer(kind=4) :: i4(5),ii4(5) - integer(kind=8) :: i8(5),ii8(5) - - integer :: i - - a4 = (/(cmplx(i,-i,kind=4),i=1,5)/) - b4 = (/(2*cmplx(i,-i,kind=4),i=1,5)/) - call csub4(a4(5:1:-1),b4(5:1:-1),5) - aa4 = (/(cmplx(5-i+1,i-5-1,kind=4),i=1,5)/) - if (any(aa4 /= a4)) call abort - bb4 = (/(2*cmplx(5-i+1,i-5-1,kind=4),i=1,5)/) - if (any(bb4 /= b4)) call abort - - a8 = (/(cmplx(i,-i,kind=8),i=1,5)/) - b8 = (/(2*cmplx(i,-i,kind=8),i=1,5)/) - call csub8(a8(5:1:-1),b8(5:1:-1),5) - aa8 = (/(cmplx(5-i+1,i-5-1,kind=8),i=1,5)/) - if (any(aa8 /= a8)) call abort - bb8 = (/(2*cmplx(5-i+1,i-5-1,kind=8),i=1,5)/) - if (any(bb8 /= b8)) call abort - - i4 = (/(i, i=1,5)/) - call isub4(i4(5:1:-1),5) - ii4 = (/(5-i+1,i=1,5)/) - if (any(ii4 /= i4)) call abort - - i8 = (/(i,i=1,5)/) - call isub8(i8(5:1:-1),5) - ii8 = (/(5-i+1,i=1,5)/) - if (any(ii8 /= i8)) call abort - -end program main - -subroutine csub4(a,b,n) - implicit none - complex(kind=4), dimension(n) :: a,b - complex(kind=4), dimension(n) :: aa, bb - integer :: n, i - aa = (/(cmplx(n-i+1,i-n-1,kind=4),i=1,n)/) - if (any(aa /= a)) call abort - bb = (/(2*cmplx(n-i+1,i-n-1,kind=4),i=1,5)/) - if (any(bb /= b)) call abort - a = (/(cmplx(i,-i,kind=4),i=1,5)/) - b = (/(2*cmplx(i,-i,kind=4),i=1,5)/) -end subroutine csub4 - -subroutine csub8(a,b,n) - implicit none - complex(kind=8), dimension(n) :: a,b - complex(kind=8), dimension(n) :: aa, bb - integer :: n, i - aa = (/(cmplx(n-i+1,i-n-1,kind=8),i=1,n)/) - if (any(aa /= a)) call abort - bb = (/(2*cmplx(n-i+1,i-n-1,kind=8),i=1,5)/) - if (any(bb /= b)) call abort - a = (/(cmplx(i,-i,kind=8),i=1,5)/) - b = (/(2*cmplx(i,-i,kind=8),i=1,5)/) -end subroutine csub8 - -subroutine isub4(a,n) - implicit none - integer(kind=4), dimension(n) :: a - integer(kind=4), dimension(n) :: aa - integer :: n, i - aa = (/(n-i+1,i=1,n)/) - if (any(aa /= a)) call abort - a = (/(i,i=1,5)/) -end subroutine isub4 - -subroutine isub8(a,n) - implicit none - integer(kind=8), dimension(n) :: a - integer(kind=8), dimension(n) :: aa - integer :: n, i - aa = (/(n-i+1,i=1,n)/) - if (any(aa /= a)) call abort - a = (/(i,i=1,5)/) -end subroutine isub8 diff --git a/libgfortran/generated/in_pack_c4.c b/libgfortran/generated/in_pack_c4.c deleted file mode 100644 index ed3b8ec6ef6..00000000000 --- a/libgfortran/generated/in_pack_c4.c +++ /dev/null @@ -1,123 +0,0 @@ -/* Helper function for repacking arrays. - Copyright 2003 Free Software Foundation, Inc. - Contributed by Paul Brook <paul@nowt.org> - -This file is part of the GNU Fortran 95 runtime library (libgfortran). - -Libgfortran is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -In addition to the permissions in the GNU General Public License, the -Free Software Foundation gives you unlimited permission to link the -compiled version of this file into combinations with other programs, -and to distribute those combinations without any restriction coming -from the use of this file. (The General Public License restrictions -do apply in other respects; for example, they cover modification of -the file, and distribution when not linked into a combine -executable.) - -Libgfortran is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public -License along with libgfortran; see the file COPYING. If not, -write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#include "config.h" -#include <stdlib.h> -#include <assert.h> -#include "libgfortran.h" - -/* Allocates a block of memory with internal_malloc if the array needs - repacking. */ - -GFC_COMPLEX_4 * -internal_pack_c4 (gfc_array_c4 * source) -{ - index_type count[GFC_MAX_DIMENSIONS]; - index_type extent[GFC_MAX_DIMENSIONS]; - index_type stride[GFC_MAX_DIMENSIONS]; - index_type stride0; - index_type dim; - index_type ssize; - const GFC_COMPLEX_4 *src; - GFC_COMPLEX_4 *dest; - GFC_COMPLEX_4 *destptr; - int n; - int packed; - - if (source->dim[0].stride == 0) - { - source->dim[0].stride = 1; - return source->data; - } - - dim = GFC_DESCRIPTOR_RANK (source); - ssize = 1; - packed = 1; - for (n = 0; n < dim; n++) - { - count[n] = 0; - stride[n] = source->dim[n].stride; - extent[n] = source->dim[n].ubound + 1 - source->dim[n].lbound; - if (extent[n] <= 0) - { - /* Do nothing. */ - packed = 1; - break; - } - - if (ssize != stride[n]) - packed = 0; - - ssize *= extent[n]; - } - - if (packed) - return source->data; - - /* Allocate storage for the destination. */ - destptr = (GFC_COMPLEX_4 *)internal_malloc_size (ssize * sizeof (GFC_COMPLEX_4)); - dest = destptr; - src = source->data; - stride0 = stride[0]; - - - while (src) - { - /* Copy the data. */ - *(dest++) = *src; - /* Advance to the next element. */ - src += stride0; - count[0]++; - /* Advance to the next source element. */ - n = 0; - while (count[n] == extent[n]) - { - /* When we get to the end of a dimension, reset it and increment - the next dimension. */ - count[n] = 0; - /* We could precalculate these products, but this is a less - frequently used path so proabably not worth it. */ - src -= stride[n] * extent[n]; - n++; - if (n == dim) - { - src = NULL; - break; - } - else - { - count[n]++; - src += stride[n]; - } - } - } - return destptr; -} - diff --git a/libgfortran/generated/in_pack_c8.c b/libgfortran/generated/in_pack_c8.c deleted file mode 100644 index e313540f7bf..00000000000 --- a/libgfortran/generated/in_pack_c8.c +++ /dev/null @@ -1,123 +0,0 @@ -/* Helper function for repacking arrays. - Copyright 2003 Free Software Foundation, Inc. - Contributed by Paul Brook <paul@nowt.org> - -This file is part of the GNU Fortran 95 runtime library (libgfortran). - -Libgfortran is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -In addition to the permissions in the GNU General Public License, the -Free Software Foundation gives you unlimited permission to link the -compiled version of this file into combinations with other programs, -and to distribute those combinations without any restriction coming -from the use of this file. (The General Public License restrictions -do apply in other respects; for example, they cover modification of -the file, and distribution when not linked into a combine -executable.) - -Libgfortran is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public -License along with libgfortran; see the file COPYING. If not, -write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#include "config.h" -#include <stdlib.h> -#include <assert.h> -#include "libgfortran.h" - -/* Allocates a block of memory with internal_malloc if the array needs - repacking. */ - -GFC_COMPLEX_8 * -internal_pack_c8 (gfc_array_c8 * source) -{ - index_type count[GFC_MAX_DIMENSIONS]; - index_type extent[GFC_MAX_DIMENSIONS]; - index_type stride[GFC_MAX_DIMENSIONS]; - index_type stride0; - index_type dim; - index_type ssize; - const GFC_COMPLEX_8 *src; - GFC_COMPLEX_8 *dest; - GFC_COMPLEX_8 *destptr; - int n; - int packed; - - if (source->dim[0].stride == 0) - { - source->dim[0].stride = 1; - return source->data; - } - - dim = GFC_DESCRIPTOR_RANK (source); - ssize = 1; - packed = 1; - for (n = 0; n < dim; n++) - { - count[n] = 0; - stride[n] = source->dim[n].stride; - extent[n] = source->dim[n].ubound + 1 - source->dim[n].lbound; - if (extent[n] <= 0) - { - /* Do nothing. */ - packed = 1; - break; - } - - if (ssize != stride[n]) - packed = 0; - - ssize *= extent[n]; - } - - if (packed) - return source->data; - - /* Allocate storage for the destination. */ - destptr = (GFC_COMPLEX_8 *)internal_malloc_size (ssize * sizeof (GFC_COMPLEX_8)); - dest = destptr; - src = source->data; - stride0 = stride[0]; - - - while (src) - { - /* Copy the data. */ - *(dest++) = *src; - /* Advance to the next element. */ - src += stride0; - count[0]++; - /* Advance to the next source element. */ - n = 0; - while (count[n] == extent[n]) - { - /* When we get to the end of a dimension, reset it and increment - the next dimension. */ - count[n] = 0; - /* We could precalculate these products, but this is a less - frequently used path so proabably not worth it. */ - src -= stride[n] * extent[n]; - n++; - if (n == dim) - { - src = NULL; - break; - } - else - { - count[n]++; - src += stride[n]; - } - } - } - return destptr; -} - diff --git a/libgfortran/generated/in_unpack_c4.c b/libgfortran/generated/in_unpack_c4.c deleted file mode 100644 index e24939e5e52..00000000000 --- a/libgfortran/generated/in_unpack_c4.c +++ /dev/null @@ -1,111 +0,0 @@ -/* Helper function for repacking arrays. - Copyright 2003 Free Software Foundation, Inc. - Contributed by Paul Brook <paul@nowt.org> - -This file is part of the GNU Fortran 95 runtime library (libgfortran). - -Libgfortran is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -In addition to the permissions in the GNU General Public License, the -Free Software Foundation gives you unlimited permission to link the -compiled version of this file into combinations with other programs, -and to distribute those combinations without any restriction coming -from the use of this file. (The General Public License restrictions -do apply in other respects; for example, they cover modification of -the file, and distribution when not linked into a combine -executable.) - -Libgfortran is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public -License along with libgfortran; see the file COPYING. If not, -write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#include "config.h" -#include <stdlib.h> -#include <assert.h> -#include <string.h> -#include "libgfortran.h" - -void -internal_unpack_c4 (gfc_array_c4 * d, const GFC_COMPLEX_4 * src) -{ - index_type count[GFC_MAX_DIMENSIONS]; - index_type extent[GFC_MAX_DIMENSIONS]; - index_type stride[GFC_MAX_DIMENSIONS]; - index_type stride0; - index_type dim; - index_type dsize; - GFC_COMPLEX_4 *dest; - int n; - - dest = d->data; - if (src == dest || !src) - return; - - if (d->dim[0].stride == 0) - d->dim[0].stride = 1; - - dim = GFC_DESCRIPTOR_RANK (d); - dsize = 1; - for (n = 0; n < dim; n++) - { - count[n] = 0; - stride[n] = d->dim[n].stride; - extent[n] = d->dim[n].ubound + 1 - d->dim[n].lbound; - if (extent[n] <= 0) - abort (); - - if (dsize == stride[n]) - dsize *= extent[n]; - else - dsize = 0; - } - - if (dsize != 0) - { - memcpy (dest, src, dsize * sizeof (GFC_COMPLEX_4)); - return; - } - - stride0 = stride[0]; - - while (dest) - { - /* Copy the data. */ - *dest = *(src++); - /* Advance to the next element. */ - dest += stride0; - count[0]++; - /* Advance to the next source element. */ - n = 0; - while (count[n] == extent[n]) - { - /* When we get to the end of a dimension, reset it and increment - the next dimension. */ - count[n] = 0; - /* We could precalculate these products, but this is a less - frequently used path so proabably not worth it. */ - dest -= stride[n] * extent[n]; - n++; - if (n == dim) - { - dest = NULL; - break; - } - else - { - count[n]++; - dest += stride[n]; - } - } - } -} - diff --git a/libgfortran/generated/in_unpack_c8.c b/libgfortran/generated/in_unpack_c8.c deleted file mode 100644 index 66865075c02..00000000000 --- a/libgfortran/generated/in_unpack_c8.c +++ /dev/null @@ -1,111 +0,0 @@ -/* Helper function for repacking arrays. - Copyright 2003 Free Software Foundation, Inc. - Contributed by Paul Brook <paul@nowt.org> - -This file is part of the GNU Fortran 95 runtime library (libgfortran). - -Libgfortran is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -In addition to the permissions in the GNU General Public License, the -Free Software Foundation gives you unlimited permission to link the -compiled version of this file into combinations with other programs, -and to distribute those combinations without any restriction coming -from the use of this file. (The General Public License restrictions -do apply in other respects; for example, they cover modification of -the file, and distribution when not linked into a combine -executable.) - -Libgfortran is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public -License along with libgfortran; see the file COPYING. If not, -write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#include "config.h" -#include <stdlib.h> -#include <assert.h> -#include <string.h> -#include "libgfortran.h" - -void -internal_unpack_c8 (gfc_array_c8 * d, const GFC_COMPLEX_8 * src) -{ - index_type count[GFC_MAX_DIMENSIONS]; - index_type extent[GFC_MAX_DIMENSIONS]; - index_type stride[GFC_MAX_DIMENSIONS]; - index_type stride0; - index_type dim; - index_type dsize; - GFC_COMPLEX_8 *dest; - int n; - - dest = d->data; - if (src == dest || !src) - return; - - if (d->dim[0].stride == 0) - d->dim[0].stride = 1; - - dim = GFC_DESCRIPTOR_RANK (d); - dsize = 1; - for (n = 0; n < dim; n++) - { - count[n] = 0; - stride[n] = d->dim[n].stride; - extent[n] = d->dim[n].ubound + 1 - d->dim[n].lbound; - if (extent[n] <= 0) - abort (); - - if (dsize == stride[n]) - dsize *= extent[n]; - else - dsize = 0; - } - - if (dsize != 0) - { - memcpy (dest, src, dsize * sizeof (GFC_COMPLEX_8)); - return; - } - - stride0 = stride[0]; - - while (dest) - { - /* Copy the data. */ - *dest = *(src++); - /* Advance to the next element. */ - dest += stride0; - count[0]++; - /* Advance to the next source element. */ - n = 0; - while (count[n] == extent[n]) - { - /* When we get to the end of a dimension, reset it and increment - the next dimension. */ - count[n] = 0; - /* We could precalculate these products, but this is a less - frequently used path so proabably not worth it. */ - dest -= stride[n] * extent[n]; - n++; - if (n == dim) - { - dest = NULL; - break; - } - else - { - count[n]++; - dest += stride[n]; - } - } - } -} - diff --git a/libjava/testsuite/libjava.lang/PR19870.java b/libjava/testsuite/libjava.lang/PR19870.java deleted file mode 100644 index f9e6bc31895..00000000000 --- 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 ab58915f55f..00000000000 --- a/libjava/testsuite/libjava.lang/PR19870.out +++ /dev/null @@ -1,8 +0,0 @@ -123 -456 -789 -1984 -1000 -2000 -2000 -3000 |