re PR fortran/24978 (ICE in gfc_assign_data_value_range)
authorDaniel Franke <franke.daniel@gmail.com>
Wed, 5 May 2010 18:53:23 +0000 (14:53 -0400)
committerDaniel Franke <dfranke@gcc.gnu.org>
Wed, 5 May 2010 18:53:23 +0000 (14:53 -0400)
commite5880243049fd9d3992c86eb2f929abd3514153c
tree24a5a6c449684bf4a2c0701c5f668e03bd7fa60f
parent5b042919f71728bc26a8921738bdb0a1b3c680f0
re PR fortran/24978 (ICE in gfc_assign_data_value_range)

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

PR fortran/24978
* gfortran.h: Removed repeat count from constructor, removed
all usages.
* data.h (gfc_assign_data_value_range): Changed return value from
void to gfc_try.
* data.c (gfc_assign_data_value): Add location to constructor element.
(gfc_assign_data_value_range): Call gfc_assign_data_value()
for each element in range. Return early if an error was generated.
* resolve.c (check_data_variable): Stop early if range assignment
generated an error.

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

PR fortran/24978
* gfortran.dg/data_invalid.f90: New.

From-SVN: r159076
gcc/fortran/ChangeLog
gcc/fortran/array.c
gcc/fortran/constructor.c
gcc/fortran/data.c
gcc/fortran/data.h
gcc/fortran/gfortran.h
gcc/fortran/resolve.c
gcc/fortran/trans-array.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/data_invalid.f90 [new file with mode: 0644]