diff options
author | Daniel Franke <franke.daniel@gmail.com> | 2010-05-05 14:53:23 -0400 |
---|---|---|
committer | Daniel Franke <dfranke@gcc.gnu.org> | 2010-05-05 14:53:23 -0400 |
commit | e5880243049fd9d3992c86eb2f929abd3514153c (patch) | |
tree | 24a5a6c449684bf4a2c0701c5f668e03bd7fa60f /gcc/fortran/array.c | |
parent | 5b042919f71728bc26a8921738bdb0a1b3c680f0 (diff) | |
download | gcc-e5880243049fd9d3992c86eb2f929abd3514153c.zip gcc-e5880243049fd9d3992c86eb2f929abd3514153c.tar.gz gcc-e5880243049fd9d3992c86eb2f929abd3514153c.tar.bz2 |
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
Diffstat (limited to 'gcc/fortran/array.c')
-rw-r--r-- | gcc/fortran/array.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/gcc/fortran/array.c b/gcc/fortran/array.c index 5487be7..3ffc397 100644 --- a/gcc/fortran/array.c +++ b/gcc/fortran/array.c @@ -1266,7 +1266,6 @@ typedef struct mpz_t *offset; gfc_component *component; - mpz_t *repeat; gfc_try (*expand_work_function) (gfc_expr *); } @@ -1501,7 +1500,6 @@ expand_constructor (gfc_constructor_base base) return FAILURE; } current_expand.offset = &c->offset; - current_expand.repeat = &c->repeat; current_expand.component = c->n.component; if (current_expand.expand_work_function (e) == FAILURE) return FAILURE; |