re PR fortran/41044 (internal compiler error: in gfc_conv_intrinsic_function)
authorPaul Thomas <pault@gcc.gnu.org>
Sun, 24 Jan 2010 16:59:51 +0000 (16:59 +0000)
committerPaul Thomas <pault@gcc.gnu.org>
Sun, 24 Jan 2010 16:59:51 +0000 (16:59 +0000)
commitff015c5b6ca00915e35ddb373ed3f25e4e020e09
tree52183dddc5326158a8d06309248d28ef63d0e1f9
parent23f6293ee8a55bcfa45caa456d86dc403315ce68
re PR fortran/41044 (internal compiler error: in gfc_conv_intrinsic_function)

2010-01-24  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/41044
PR fortran/41167
* expr.c (remove_subobject_ref): If the constructor is NULL use
the expression as the source.
(simplify_const_ref): Change the type of expression if
there are component references.  Allow for substring to be at
the end of an arbitrarily long chain of references.  If an
element is found that is not in an EXPR_ARRAY, assume that this
is scalar initialization of array. Call remove_subobject_ref in
this case with NULL second argument.

2010-01-24  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/41044
* gfortran.dg/parameter_array_ref_2.f90 : New test.

PR fortran/41167
* gfortran.dg/char_array_arg_1.f90 : New test.

* gfortran.dg/pr25923.f90 : Remove XFAIL.

From-SVN: r156197
gcc/fortran/ChangeLog
gcc/fortran/expr.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/char_array_arg_1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/parameter_array_ref_2.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/pr25923.f90