2015-08-10 Steven G. Kargl <kargl@gcc.gnu.org>
authorkargl <kargl@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 10 Aug 2015 17:42:00 +0000 (17:42 +0000)
committerkargl <kargl@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 10 Aug 2015 17:42:00 +0000 (17:42 +0000)
PR libfortran/67140
* gfortran.map: Add _gfortran_mvbits_i16.
* intrinsics/mvbits.c: Generate mvbits for c_int128_t.

2015-08-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

PR libfortran/67140
* gfortran.dg/pr67140.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226764 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/pr67140.f90 [new file with mode: 0644]
libgfortran/ChangeLog
libgfortran/gfortran.map
libgfortran/intrinsics/mvbits.c

index bf858e2..146a730 100644 (file)
@@ -1,3 +1,8 @@
+2015-08-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR libfortran/67140
+       * gfortran.dg/pr67140.f90: New test.
+
 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
 
        PR libgomp/65742
diff --git a/gcc/testsuite/gfortran.dg/pr67140.f90 b/gcc/testsuite/gfortran.dg/pr67140.f90
new file mode 100644 (file)
index 0000000..0a6782c
--- /dev/null
@@ -0,0 +1,12 @@
+! { dg-do run }
+!
+! Check that MVBITS is available for the largest integer kind (PR 67140)
+!
+program test
+  use iso_fortran_env
+  integer, parameter :: k = integer_kinds(size(integer_kinds))
+
+  integer(kind=k) :: i = 6
+  call mvbits(7_k,2,2,i,0)
+  if (i /= 5) call abort
+end
index 0cfc80d..dd9143b 100644 (file)
@@ -1,3 +1,9 @@
+2015-08-10  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR libfortran/67140
+       * gfortran.map: Add _gfortran_mvbits_i16.
+       * intrinsics/mvbits.c: Generate mvbits for c_int128_t.
+
 2015-08-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
 
        PR libfortran/66936
index 73cdde7..6684063 100644 (file)
@@ -1284,6 +1284,7 @@ GFORTRAN_1.7 {
     __ieee_arithmetic_MOD_ieee_value_16;
     __ieee_exceptions_MOD_ieee_support_flag_10;
     __ieee_exceptions_MOD_ieee_support_flag_16;
+    _gfortran_mvbits_i16;
 } GFORTRAN_1.6; 
 
 F2C_1.0 {
index 19b8fc9..cb9dd6c 100644 (file)
@@ -83,4 +83,12 @@ SUB_NAME (const TYPE *from, const int *frompos, const int *len, TYPE *to,
 #  undef SUB_NAME
 #  undef TYPE
 #  undef UTYPE
+
+#  define TYPE GFC_INTEGER_16
+#  define UTYPE GFC_UINTEGER_16
+#  define SUB_NAME mvbits_i16
+#  include "mvbits.c"
+#  undef SUB_NAME
+#  undef TYPE
+#  undef UTYPE
 #endif