re PR fortran/59599 (Compiler internal error on intrinsic ichar)

fortran/
        PR fortran/59599
        * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Calculate the
        number of arguments.

testsuite/
        PR fortran/59599
        * gfortran.dg/ichar_3.f90: New test.

From-SVN: r208043
This commit is contained in:
Mikael Morin 2014-02-22 12:41:53 +00:00
parent 034ca17ec0
commit 5e84639927
4 changed files with 27 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2014-02-22 Mikael Morin <mikael@gcc.gnu.org>
PR fortran/59599
* trans-intrinsic.c (gfc_conv_intrinsic_ichar): Calculate the
number of arguments.
2014-02-20 Janus Weil <janus@gcc.gnu.org>
Backport from mainline

View File

@ -4665,8 +4665,10 @@ static void
gfc_conv_intrinsic_ichar (gfc_se * se, gfc_expr * expr)
{
tree args[2], type, pchartype;
int nargs;
gfc_conv_intrinsic_function_args (se, expr, args, 2);
nargs = gfc_intrinsic_argument_list_length (expr);
gfc_conv_intrinsic_function_args (se, expr, args, nargs);
gcc_assert (POINTER_TYPE_P (TREE_TYPE (args[1])));
pchartype = gfc_get_pchar_type (expr->value.function.actual->expr->ts.kind);
args[1] = fold_build1_loc (input_location, NOP_EXPR, pchartype, args[1]);

View File

@ -1,3 +1,8 @@
2014-02-22 Mikael Morin <mikael@gcc.gnu.org>
PR fortran/59599
* gfortran.dg/ichar_3.f90: New test.
2014-02-20 Janus Weil <janus@gcc.gnu.org>
Backport from mainline

View File

@ -0,0 +1,13 @@
! { dg-do compile }
!
! PR fortran/59599
! The call to ichar was triggering an ICE.
!
! Original testcase from Fran Martinez Fadrique <fmartinez@gmv.com>
character(1) cpk(2)
integer res(2)
cpk = 'a'
res = ichar( cpk, kind=1 )
print *, ichar( cpk, kind=1 )
end