Commit 70987f62 by Daniel Franke Committed by Daniel Franke

re PR fortran/44347 (SELECT_REAL_KIND: Wrongly accepts non-scalar arguments)

gcc/fortran/:
2010-06-09  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/44347
        * check.c (gfc_check_selected_real_kind): Verify that the
        actual arguments are scalar.

gcc/testsuite/:
2010-06-09  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/44347
        * gfortran.dg/selected_real_kind_1.f90: New.

From-SVN: r160506
parent 33169a22
2010-06-09 Daniel Franke <franke.daniel@gmail.com>
PR fortran/44347
* check.c (gfc_check_selected_real_kind): Verify that the
actual arguments are scalar.
2010-06-09 Daniel Franke <franke.daniel@gmail.com>
PR fortran/44359
* intrinsic.c (gfc_convert_type_warn): Further improve -Wconversion.
......
......@@ -2930,11 +2930,23 @@ gfc_check_selected_real_kind (gfc_expr *p, gfc_expr *r)
return FAILURE;
}
if (p != NULL && type_check (p, 0, BT_INTEGER) == FAILURE)
return FAILURE;
if (p)
{
if (type_check (p, 0, BT_INTEGER) == FAILURE)
return FAILURE;
if (r != NULL && type_check (r, 1, BT_INTEGER) == FAILURE)
return FAILURE;
if (scalar_check (p, 0) == FAILURE)
return FAILURE;
}
if (r)
{
if (type_check (r, 1, BT_INTEGER) == FAILURE)
return FAILURE;
if (scalar_check (r, 1) == FAILURE)
return FAILURE;
}
return SUCCESS;
}
......
2010-06-09 Daniel Franke <franke.daniel@gmail.com>
PR fortran/44347
* gfortran.dg/selected_real_kind_1.f90: New.
2010-06-09 Daniel Franke <franke.daniel@gmail.com>
PR fortran/44359
* gfortran.dg/warn_conversion.f90: Removed check for redundant
warning.
......
! { dg-do "compile" }
!
! PR fortran/44347 - arguments of SELECTED_REAL_KIND shall be scalar
! Testcase contributed by Vittorio Zecca <zeccav AT gmail DOT com>
!
dimension ip(1), ir(1)
i = selected_real_kind(ip, i) ! { dg-error "must be a scalar" }
j = selected_real_kind(i, ir) ! { dg-error "must be a scalar" }
end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment