re PR libfortran/47757 (Unintentionally? not exported _gfortran_* symbols in libgfort...
authorJakub Jelinek <jakub@redhat.com>
Wed, 16 Feb 2011 17:18:41 +0000 (18:18 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Wed, 16 Feb 2011 17:18:41 +0000 (18:18 +0100)
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

gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/pr47757-1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/pr47757-2.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/pr47757-3.f90 [new file with mode: 0644]
libgfortran/ChangeLog
libgfortran/gfortran.map

index 619292cef048106e530a5380fb2b8b18720ef054..a25d4964aef6d9e9729e1bf44b18a8b56d1e2b91 100644 (file)
@@ -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 (file)
index 0000000..1c40f98
--- /dev/null
@@ -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 (file)
index 0000000..1f8a08f
--- /dev/null
@@ -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 (file)
index 0000000..9bfad82
--- /dev/null
@@ -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
index 18daa42d3997f8ce62dbd40f7f480566708fd6b4..44a562a11ad08693df66486bbd47cd6d2038c9ae 100644 (file)
@@ -1,3 +1,10 @@
+2011-02-16  Jakub Jelinek  <jakub@redhat.com>
+
+       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.
+
 2011-02-15  Tobias Burnus  <burnus@net-b.de>
 
        PR fortran/47716
index 359f6a820b245044fd0744d65fa9c018a46a44fc..211db00cd1087d3749a9cf663080a70f143502c1 100644 (file)
@@ -1122,16 +1122,46 @@ GFORTRAN_1.4 {
     _gfortran_iall_i4;
     _gfortran_iall_i8;
     _gfortran_iall_i16;
+    _gfortran_miall_i1;
+    _gfortran_miall_i2;
+    _gfortran_miall_i4;
+    _gfortran_miall_i8;
+    _gfortran_miall_i16;
+    _gfortran_siall_i1;
+    _gfortran_siall_i2;
+    _gfortran_siall_i4;
+    _gfortran_siall_i8;
+    _gfortran_siall_i16;
     _gfortran_iany_i1;
     _gfortran_iany_i2;
     _gfortran_iany_i4;
     _gfortran_iany_i8;
     _gfortran_iany_i16;
+    _gfortran_miany_i1;
+    _gfortran_miany_i2;
+    _gfortran_miany_i4;
+    _gfortran_miany_i8;
+    _gfortran_miany_i16;
+    _gfortran_siany_i1;
+    _gfortran_siany_i2;
+    _gfortran_siany_i4;
+    _gfortran_siany_i8;
+    _gfortran_siany_i16;
     _gfortran_iparity_i1;
     _gfortran_iparity_i2;
     _gfortran_iparity_i4;
     _gfortran_iparity_i8;
     _gfortran_iparity_i16;
+    _gfortran_miparity_i1;
+    _gfortran_miparity_i2;
+    _gfortran_miparity_i4;
+    _gfortran_miparity_i8;
+    _gfortran_miparity_i16;
+    _gfortran_siparity_i1;
+    _gfortran_siparity_i2;
+    _gfortran_siparity_i4;
+    _gfortran_siparity_i8;
+    _gfortran_siparity_i16;
     _gfortran_norm2_r4;
     _gfortran_norm2_r8;
     _gfortran_norm2_r10;
@@ -1154,6 +1184,9 @@ GFORTRAN_1.4 {
     _gfortran_transfer_real_write;
     _gfortran_transfer_real128;
     _gfortran_transfer_real128_write;
+    _gfortran_cshift0_16_char4;
+    _gfortran_eoshift0_16_char4;
+    _gfortran_eoshift2_16_char4;
 } GFORTRAN_1.3; 
 
 F2C_1.0 {