summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/mvbits_2.f90
diff options
context:
space:
mode:
authorfxcoudert <fxcoudert@138bc75d-0d04-0410-961f-82ee72b054a4>2007-07-14 23:11:04 +0000
committerfxcoudert <fxcoudert@138bc75d-0d04-0410-961f-82ee72b054a4>2007-07-14 23:11:04 +0000
commit4ccd5f95f19d90935dbb048430cbc0b1fc75203f (patch)
treecb6072d1b22add852e30552e5ec23a6e5ded7c79 /gcc/testsuite/gfortran.dg/mvbits_2.f90
parent6392d503a228b2ec14d9c49c65add03d076a0b0a (diff)
downloadgcc-4ccd5f95f19d90935dbb048430cbc0b1fc75203f.tar.gz
PR fortran/32357
* iresolve.c (gfc_resolve_mvbits): Convert FROMPOS, LEN and TOPOS to C int. * intrinsics/mvbits.c: Change prototype so that FROMPOS, LEN and TOPOS arguments are C int. * gfortran.dg/mvbits_2.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126646 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gfortran.dg/mvbits_2.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/mvbits_2.f9016
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/mvbits_2.f90 b/gcc/testsuite/gfortran.dg/mvbits_2.f90
new file mode 100644
index 00000000000..885002ad6f2
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/mvbits_2.f90
@@ -0,0 +1,16 @@
+! Test for the MVBITS subroutine
+! This used to fail on big-endian architectures (PR 32357)
+! { dg-do run }
+ integer(kind=8) :: i8 = 0
+ integer(kind=4) :: i4 = 0
+ integer(kind=2) :: i2 = 0
+ integer(kind=1) :: i1 = 0
+ call mvbits (1_1, 0, 8, i1, 0)
+ if (i1 /= 1) call abort
+ call mvbits (1_2, 0, 16, i2, 0)
+ if (i2 /= 1) call abort
+ call mvbits (1_4, 0, 16, i4, 0)
+ if (i4 /= 1) call abort
+ call mvbits (1_8, 0, 16, i8, 0)
+ if (i8 /= 1) call abort
+ end