]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Fix endianness issue on unsigned_21.f90.
authorThomas Koenig <tkoenig@gcc.gnu.org>
Fri, 13 Sep 2024 05:47:24 +0000 (07:47 +0200)
committerThomas Koenig <tkoenig@gcc.gnu.org>
Fri, 13 Sep 2024 05:51:26 +0000 (07:51 +0200)
gcc/testsuite/ChangeLog:

PR fortran/116653
* gfortran.dg/unsigned_21.f90:
* gfortran.dg/unsigned_21_be.f90: New test.

gcc/testsuite/gfortran.dg/unsigned_21.f90
gcc/testsuite/gfortran.dg/unsigned_21_be.f90 [new file with mode: 0644]

index 23302c7eabe6099869956f91329901706bb7c272..c3f65a469dc7847635bba154313ede6144d04333 100644 (file)
@@ -1,5 +1,6 @@
 ! { dg-do run }
 ! { dg-options "-funsigned" }
+! { dg-require-effective-target le }
 program main
   integer :: i
   integer(2) :: j
diff --git a/gcc/testsuite/gfortran.dg/unsigned_21_be.f90 b/gcc/testsuite/gfortran.dg/unsigned_21_be.f90
new file mode 100644 (file)
index 0000000..64fecd9
--- /dev/null
@@ -0,0 +1,14 @@
+! { dg-do run }
+! { dg-options "-funsigned" }
+! { dg-require-effective-target be }
+program main
+  integer :: i
+  integer(2) :: j
+  unsigned :: u
+  i = -1
+  u = transfer(i,u)
+  if (u /= huge(u)) error stop 1
+  u = 4278058235u
+  j = transfer(u,j)
+  if (j /= -259) error stop 2
+end program main