2010-01-24 Paul Thomas <pault@gcc.gnu.org>
commit14c92e725d700f416c5b6909796d5d81f52d8880
authorpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 24 Jan 2010 16:59:51 +0000 (24 16:59 +0000)
committerpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 24 Jan 2010 16:59:51 +0000 (24 16:59 +0000)
tree52183dddc5326158a8d06309248d28ef63d0e1f9
parente4c32cf4092885a3a13502b21eb72c9395ea3b85
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156197 138bc75d-0d04-0410-961f-82ee72b054a4
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