diff options
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/arith.c | 8 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/warn_conversion_9.f90 | 7 |
4 files changed, 23 insertions, 4 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 41225b5..5c25988 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2016-11-06 Thomas Koenig <tkoenig@gcc.gnu.org> + + PR fortran/78221 + * arith.c (gfc_complex2real): Change gfc_warning_now to + gfc_warning. + 2016-11-05 Paul Thomas <pault@gcc.gnu.org> * check.c (gfc_check_move_alloc): Introduce error to prevent diff --git a/gcc/fortran/arith.c b/gcc/fortran/arith.c index d566faa..2781f10 100644 --- a/gcc/fortran/arith.c +++ b/gcc/fortran/arith.c @@ -2369,10 +2369,10 @@ gfc_complex2real (gfc_expr *src, int kind) /* See if we discarded an imaginary part. */ if (mpfr_cmp_si (mpc_imagref (src->value.complex), 0) != 0) { - gfc_warning_now (w, "Non-zero imaginary part discarded " - "in conversion from %qs to %qs at %L", - gfc_typename(&src->ts), gfc_typename (&result->ts), - &src->where); + gfc_warning (w, "Non-zero imaginary part discarded " + "in conversion from %qs to %qs at %L", + gfc_typename(&src->ts), gfc_typename (&result->ts), + &src->where); did_warn = true; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 69af2ef..f6bdc41 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2016-11-06 Thomas Koenig <tkoenig@gcc.gnu.org> + + PR fortran/78221 + * arith.c (gfc_complex2real): Change gfc_warning_now to + gfc_warning. + 2016-11-05 Paul Thomas <pault@gcc.gnu.org> * gfortran.dg/move_alloc_17.f03: New test. diff --git a/gcc/testsuite/gfortran.dg/warn_conversion_9.f90 b/gcc/testsuite/gfortran.dg/warn_conversion_9.f90 new file mode 100644 index 0000000..794eeef --- /dev/null +++ b/gcc/testsuite/gfortran.dg/warn_conversion_9.f90 @@ -0,0 +1,7 @@ +! { dg-do compile } +! { dg-options "-Wconversion" } +! PR 78221 - used to give a spurious warning +complex, parameter :: i = (0.,1.) +complex :: t +t = (i) +end |