[multiple changes]
authorSteven G. Kargl <kargl@gcc.gnu.org>
Mon, 10 Aug 2015 17:42:00 +0000 (17:42 +0000)
committerSteven G. Kargl <kargl@gcc.gnu.org>
Mon, 10 Aug 2015 17:42:00 +0000 (17:42 +0000)
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-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

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

From-SVN: r226764

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

index bf858e2d9d7498f8787e36dde44b47551fbf612c..146a73067a110b1b36aa40839f4c6bafc7e4f095 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 0cfc80de21b9ea3c85aea29cad5c4c0a8fca6f9f..dd9143bf845ad047190c12ca4181deb184748f9a 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 73cdde7857142305e3782d6a13b94cc5bf2e0ad1..6684063988978b8426a415976ce3ece1c066572f 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 19b8fc9f6ed2daf0017e439adff517ce33399b84..cb9dd6c30bdc97ca38d0002f354d2d178e03dc4c 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