aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorDaniel Franke <dfranke@gcc.gnu.org>2007-05-20 06:22:15 -0400
committerDaniel Franke <dfranke@gcc.gnu.org>2007-05-20 06:22:15 -0400
commit6495bc0b8df118643ca7aa1d9f311eb2f0344e3b (patch)
treeec421757595303c173812267c584be54858cce91 /gcc/testsuite
parent643827b29b291d05d4cbe2f64cc78da272232514 (diff)
downloadgcc-6495bc0b8df118643ca7aa1d9f311eb2f0344e3b.zip
gcc-6495bc0b8df118643ca7aa1d9f311eb2f0344e3b.tar.gz
gcc-6495bc0b8df118643ca7aa1d9f311eb2f0344e3b.tar.bz2
re PR fortran/32001 (MAX intrinsic with large number of arguments)
gcc/fortran: 2007-05-20 Daniel Franke <franke.daniel@gmail.com> PR fortran/32001 * check.c (check_rest): Improved argument conformance check and fixed error message generation. gcc/testsuite: 2007-05-20 Daniel Franke <franke.daniel@gmail.org> PR fortran/32001 * gfortran.dg/min_max_conformance.f90: Added more testcases. From-SVN: r124869
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog11
-rw-r--r--gcc/testsuite/gfortran.dg/min_max_conformance.f9022
2 files changed, 27 insertions, 6 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 3a39a0f..db279f4 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,10 +1,15 @@
-2006-05-20 Uros Bizjak <ubizjak@gmail.com>
+2007-05-20 Daniel Franke <franke.daniel@gmail.org>
+
+ PR fortran/32001
+ * gfortran.dg/min_max_conformance.f90: Added more testcases.
+
+2007-05-20 Uros Bizjak <ubizjak@gmail.com>
PR target/31585
* gcc.target/i386/sse-vect-types.c: Do not redefine "static"
and "__inline". Use "-msse" instead of "-msse2".
-2006-05-20 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+2007-05-20 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR middle-end/7651
* gcc.dg/20030906-1.c: Replace Wextra with Wreturn-type.
@@ -12,7 +17,7 @@
* objc.dg/method-17.m: Add -Wreturn-type.
* obj-c++.dg/method-21.mm: Likewise.
-2006-05-20 Uros Bizjak <ubizjak@gmail.com>
+2007-05-20 Uros Bizjak <ubizjak@gmail.com>
PR target/31585
* gcc.target/i386/sse-13.c: Use "-mssse3 -msse4a" compile options.
diff --git a/gcc/testsuite/gfortran.dg/min_max_conformance.f90 b/gcc/testsuite/gfortran.dg/min_max_conformance.f90
index 565408c..4ab2494 100644
--- a/gcc/testsuite/gfortran.dg/min_max_conformance.f90
+++ b/gcc/testsuite/gfortran.dg/min_max_conformance.f90
@@ -1,9 +1,10 @@
! { dg-compile }
+! { dg-options "-fmax-errors=0" }
! PR 31919: Tests for different ranks in min/max were missing.
program pr31919
- integer :: i4a(2, 2), i4b(2), i4c(4)
- real(4) :: r4a(2, 2), r4b(2), r4c(4)
- real(8) :: r8a(2, 2), r8b(2), r8c(4)
+ integer :: i4, i4a(2, 2), i4b(2), i4c(4)
+ real(4) :: r4, r4a(2, 2), r4b(2), r4c(4)
+ real(8) :: r8, r8a(2, 2), r8b(2), r8c(4)
i4a = max(i4a, i4b) ! { dg-error "Incompatible ranks" }
i4a = max0(i4a, i4b) ! { dg-error "Incompatible ranks" }
@@ -32,4 +33,19 @@ program pr31919
r4a = min1(r4b, r4c) ! { dg-error "different shape for arguments" }
r4a = amin1(r4b, r4c) ! { dg-error "different shape for arguments" }
r8a = dmin1(r8b, r8c) ! { dg-error "different shape for arguments" }
+
+ ! checking needs to be position independent
+ i4a = min(i4, i4a, i4, i4b) ! { dg-error "Incompatible ranks" }
+ r4a = min(r4, r4a, r4, r4b) ! { dg-error "Incompatible ranks" }
+ r8a = min(r8, r8a, r8, r8b) ! { dg-error "Incompatible ranks" }
+ i4a = min(i4, i4b, i4, i4c) ! { dg-error "different shape for arguments" }
+ r4a = min(r4, r4b, r4, r4c) ! { dg-error "different shape for arguments" }
+ r8a = min(r8, r8b, r8, r8c) ! { dg-error "different shape for arguments" }
+
+ i4a = max(i4, i4a, i4, i4b) ! { dg-error "Incompatible ranks" }
+ r4a = max(r4, r4a, r4, r4b) ! { dg-error "Incompatible ranks" }
+ r8a = max(r8, r8a, r8, r8b) ! { dg-error "Incompatible ranks" }
+ i4a = max(i4, i4b, i4, i4c) ! { dg-error "different shape for arguments" }
+ r4a = max(r4, r4b, r4, r4c) ! { dg-error "different shape for arguments" }
+ r8a = max(r8, r8b, r8, r8c) ! { dg-error "different shape for arguments" }
end program