aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/fortran/ChangeLog5
-rw-r--r--gcc/fortran/intrinsic.c7
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/pr77507.f907
-rw-r--r--libgfortran/ChangeLog6
-rw-r--r--libgfortran/ieee/ieee_arithmetic.F9033
6 files changed, 44 insertions, 19 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 53c6e2d..a0afe04 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,8 @@
+2016-09-09 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/77507
+ * intrinsic.c (add_functions): Use correct keyword.
+
2016-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/69514
diff --git a/gcc/fortran/intrinsic.c b/gcc/fortran/intrinsic.c
index ca28eac..cad54b8 100644
--- a/gcc/fortran/intrinsic.c
+++ b/gcc/fortran/intrinsic.c
@@ -1239,7 +1239,8 @@ add_functions (void)
*z = "z", *ln = "len", *ut = "unit", *han = "handler",
*num = "number", *tm = "time", *nm = "name", *md = "mode",
*vl = "values", *p1 = "path1", *p2 = "path2", *com = "command",
- *ca = "coarray", *sub = "sub", *dist = "distance", *failed="failed";
+ *ca = "coarray", *sub = "sub", *dist = "distance", *failed="failed",
+ *c_ptr_1 = "c_ptr_1", *c_ptr_2 = "c_ptr_2";
int di, dr, dd, dl, dc, dz, ii;
@@ -2914,8 +2915,8 @@ add_functions (void)
/* The following functions are part of ISO_C_BINDING. */
add_sym_2 ("c_associated", GFC_ISYM_C_ASSOCIATED, CLASS_INQUIRY, ACTUAL_NO,
BT_LOGICAL, dl, GFC_STD_F2003, gfc_check_c_associated, NULL, NULL,
- "C_PTR_1", BT_VOID, 0, REQUIRED,
- "C_PTR_2", BT_VOID, 0, OPTIONAL);
+ c_ptr_1, BT_VOID, 0, REQUIRED,
+ c_ptr_2, BT_VOID, 0, OPTIONAL);
make_from_module();
add_sym_1 ("c_loc", GFC_ISYM_C_LOC, CLASS_INQUIRY, ACTUAL_NO,
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 00691b5..407bc30 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2016-09-09 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/77507
+ * gfortran.dg/pr77507.f90: New test.
+
2016-09-09 Joseph Myers <joseph@codesourcery.com>
* gcc.dg/limits-width-1.c, gcc.dg/stdint-width-1.c: New tests.
diff --git a/gcc/testsuite/gfortran.dg/pr77507.f90 b/gcc/testsuite/gfortran.dg/pr77507.f90
new file mode 100644
index 0000000..a72a091
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr77507.f90
@@ -0,0 +1,7 @@
+! { dg-do compile }
+Program p
+ Use ieee_arithmetic
+ Use iso_c_binding
+ Print *, ieee_value(x=1.0, class=ieee_negative_inf)
+ Print *, c_associated(c_ptr_1=c_null_ptr)
+End Program
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index b445cd0..6454eae 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,9 @@
+2016-09-09 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/77507
+ * ieee/ieee_arithmetic.F90 (IEEE_VALUE_4,IEEE_VALUE_8,IEEE_VALULE_10,
+ IEEE_VALUE_16): Use correct keyword.
+
2016-09-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/77393
diff --git a/libgfortran/ieee/ieee_arithmetic.F90 b/libgfortran/ieee/ieee_arithmetic.F90
index 16e79ec..4007a33 100644
--- a/libgfortran/ieee/ieee_arithmetic.F90
+++ b/libgfortran/ieee/ieee_arithmetic.F90
@@ -857,12 +857,12 @@ contains
! IEEE_VALUE
- elemental real(kind=4) function IEEE_VALUE_4(X, C) result(res)
- implicit none
+ elemental real(kind=4) function IEEE_VALUE_4(X, CLASS) result(res)
+
real(kind=4), intent(in) :: X
- type(IEEE_CLASS_TYPE), intent(in) :: C
+ type(IEEE_CLASS_TYPE), intent(in) :: CLASS
- select case (C%hidden)
+ select case (CLASS%hidden)
case (1) ! IEEE_SIGNALING_NAN
res = -1
res = sqrt(res)
@@ -895,12 +895,12 @@ contains
end select
end function
- elemental real(kind=8) function IEEE_VALUE_8(X, C) result(res)
- implicit none
+ elemental real(kind=8) function IEEE_VALUE_8(X, CLASS) result(res)
+
real(kind=8), intent(in) :: X
- type(IEEE_CLASS_TYPE), intent(in) :: C
+ type(IEEE_CLASS_TYPE), intent(in) :: CLASS
- select case (C%hidden)
+ select case (CLASS%hidden)
case (1) ! IEEE_SIGNALING_NAN
res = -1
res = sqrt(res)
@@ -934,12 +934,12 @@ contains
end function
#ifdef HAVE_GFC_REAL_10
- elemental real(kind=10) function IEEE_VALUE_10(X, C) result(res)
- implicit none
+ elemental real(kind=10) function IEEE_VALUE_10(X, CLASS) result(res)
+
real(kind=10), intent(in) :: X
- type(IEEE_CLASS_TYPE), intent(in) :: C
+ type(IEEE_CLASS_TYPE), intent(in) :: CLASS
- select case (C%hidden)
+ select case (CLASS%hidden)
case (1) ! IEEE_SIGNALING_NAN
res = -1
res = sqrt(res)
@@ -971,15 +971,16 @@ contains
res = 0
end select
end function
+
#endif
#ifdef HAVE_GFC_REAL_16
- elemental real(kind=16) function IEEE_VALUE_16(X, C) result(res)
- implicit none
+ elemental real(kind=16) function IEEE_VALUE_16(X, CLASS) result(res)
+
real(kind=16), intent(in) :: X
- type(IEEE_CLASS_TYPE), intent(in) :: C
+ type(IEEE_CLASS_TYPE), intent(in) :: CLASS
- select case (C%hidden)
+ select case (CLASS%hidden)
case (1) ! IEEE_SIGNALING_NAN
res = -1
res = sqrt(res)