diff options
author | Jakub Jelinek <jakub@redhat.com> | 2011-02-16 18:18:41 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2011-02-16 18:18:41 +0100 |
commit | c71f01a9d64d464d575d4a53547cbb78877f75eb (patch) | |
tree | 134175c892c419e296a230bcc87cfa3f64f6777a /gcc | |
parent | 65aab64fe9dce548577013326d08606ade204751 (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/pr47757-1.f90 | 40 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/pr47757-2.f90 | 16 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/pr47757-3.f90 | 12 |
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 |