aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2011-02-16 18:18:41 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2011-02-16 18:18:41 +0100
commitc71f01a9d64d464d575d4a53547cbb78877f75eb (patch)
tree134175c892c419e296a230bcc87cfa3f64f6777a /gcc
parent65aab64fe9dce548577013326d08606ade204751 (diff)
downloadgcc-c71f01a9d64d464d575d4a53547cbb78877f75eb.zip
gcc-c71f01a9d64d464d575d4a53547cbb78877f75eb.tar.gz
gcc-c71f01a9d64d464d575d4a53547cbb78877f75eb.tar.bz2
re PR libfortran/47757 (Unintentionally? not exported _gfortran_* symbols in libgfortran.so.3)
PR libfortran/47757 * gfortran.map (GFORTRAN_1.4): Export _gfortran_{m,s}i{all,any,parity}_i{1,2,4,8,16} and _gfortran_{cshift0,eoshift{0,2}}_16_char4. * gfortran.dg/pr47757-1.f90: New test. * gfortran.dg/pr47757-2.f90: New test. * gfortran.dg/pr47757-3.f90: New test. From-SVN: r170215
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/pr47757-1.f9040
-rw-r--r--gcc/testsuite/gfortran.dg/pr47757-2.f9016
-rw-r--r--gcc/testsuite/gfortran.dg/pr47757-3.f9012
4 files changed, 73 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 619292c..a25d496 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2011-02-16 Jakub Jelinek <jakub@redhat.com>
+ PR libfortran/47757
+ * gfortran.dg/pr47757-1.f90: New test.
+ * gfortran.dg/pr47757-2.f90: New test.
+ * gfortran.dg/pr47757-3.f90: New test.
+
PR c++/47704
* g++.dg/cpp0x/enum8.C: New test.
diff --git a/gcc/testsuite/gfortran.dg/pr47757-1.f90 b/gcc/testsuite/gfortran.dg/pr47757-1.f90
new file mode 100644
index 0000000..1c40f98
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr47757-1.f90
@@ -0,0 +1,40 @@
+! PR libfortran/47757
+! { dg-do run }
+
+ integer(1) :: a1(2,2)
+ integer(2) :: a2(2,2)
+ integer(4) :: a4(2,2)
+ integer(8) :: a8(2,2)
+ logical :: mask(2,2)
+ logical :: mask2
+ a1 = 0
+ a2 = 0
+ a3 = 0
+ a4 = 0
+ mask2 = .true.
+ mask = reshape([.true.,.true.,.false.,.true.],[2,2])
+ print *, iany(a1, dim=1, mask=mask)
+ print *, iany(a2, dim=1, mask=mask)
+ print *, iany(a4, dim=1, mask=mask)
+ print *, iany(a8, dim=1, mask=mask)
+ print *, iall(a1, dim=1, mask=mask)
+ print *, iall(a2, dim=1, mask=mask)
+ print *, iall(a4, dim=1, mask=mask)
+ print *, iall(a8, dim=1, mask=mask)
+ print *, iparity(a1, dim=1, mask=mask)
+ print *, iparity(a2, dim=1, mask=mask)
+ print *, iparity(a4, dim=1, mask=mask)
+ print *, iparity(a8, dim=1, mask=mask)
+ print *, iany(a1, dim=1, mask=mask2)
+ print *, iany(a2, dim=1, mask=mask2)
+ print *, iany(a4, dim=1, mask=mask2)
+ print *, iany(a8, dim=1, mask=mask2)
+ print *, iall(a1, dim=1, mask=mask2)
+ print *, iall(a2, dim=1, mask=mask2)
+ print *, iall(a4, dim=1, mask=mask2)
+ print *, iall(a8, dim=1, mask=mask2)
+ print *, iparity(a1, dim=1, mask=mask2)
+ print *, iparity(a2, dim=1, mask=mask2)
+ print *, iparity(a4, dim=1, mask=mask2)
+ print *, iparity(a8, dim=1, mask=mask2)
+end
diff --git a/gcc/testsuite/gfortran.dg/pr47757-2.f90 b/gcc/testsuite/gfortran.dg/pr47757-2.f90
new file mode 100644
index 0000000..1f8a08f
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr47757-2.f90
@@ -0,0 +1,16 @@
+! PR libfortran/47757
+! { dg-do run { target fortran_large_int } }
+
+ integer(16) :: a16(2,2)
+ logical :: mask(2,2)
+ logical :: mask2
+ a16 = 0
+ mask2 = .true.
+ mask = reshape([.true.,.true.,.false.,.true.],[2,2])
+ print *, iany(a16, dim=1, mask=mask)
+ print *, iall(a16, dim=1, mask=mask)
+ print *, iparity(a16, dim=1, mask=mask)
+ print *, iany(a16, dim=1, mask=mask2)
+ print *, iall(a16, dim=1, mask=mask2)
+ print *, iparity(a16, dim=1, mask=mask2)
+end
diff --git a/gcc/testsuite/gfortran.dg/pr47757-3.f90 b/gcc/testsuite/gfortran.dg/pr47757-3.f90
new file mode 100644
index 0000000..9bfad82
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr47757-3.f90
@@ -0,0 +1,12 @@
+! PR libfortran/47757
+! { dg-do run { target fortran_large_int } }
+
+ character(kind=4):: str(3,3), s(3)
+ str(1,:) = [4_'A', 4_'b', 4_'C']
+ str(2,:) = [4_'A', 4_'b', 4_'C']
+ str(3,:) = [4_'A', 4_'b', 4_'C']
+ s = 4_'A'
+ print *, cshift(str, shift=2_16, dim=1_16)
+ print *, eoshift(str, shift=2_16, dim=1_16)
+ print *, eoshift(str, shift=2_16, boundary=s, dim=1_16)
+end