diff options
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/pr67140.f90 | 12 | ||||
-rw-r--r-- | libgfortran/ChangeLog | 6 | ||||
-rw-r--r-- | libgfortran/gfortran.map | 1 | ||||
-rw-r--r-- | libgfortran/intrinsics/mvbits.c | 8 |
5 files changed, 32 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index bf858e2..146a730 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -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 index 0000000..0a6782c --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr67140.f90 @@ -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 diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 0cfc80d..dd9143b 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -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 diff --git a/libgfortran/gfortran.map b/libgfortran/gfortran.map index 73cdde7..6684063 100644 --- a/libgfortran/gfortran.map +++ b/libgfortran/gfortran.map @@ -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 { diff --git a/libgfortran/intrinsics/mvbits.c b/libgfortran/intrinsics/mvbits.c index 19b8fc9..cb9dd6c 100644 --- a/libgfortran/intrinsics/mvbits.c +++ b/libgfortran/intrinsics/mvbits.c @@ -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 |