mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-10 19:37:24 +08:00
re PR fortran/45117 (Segfault in resolve_array_bound)
2010-07-29 Daniel Kraft <d@domob.eu> PR fortran/45117 * array.c (resolve_array_bound): Fix error message to properly handle non-variable expressions. From-SVN: r162670
This commit is contained in:
parent
61869cc95e
commit
2b868bf548
@ -1,3 +1,9 @@
|
||||
2010-07-29 Daniel Kraft <d@domob.eu>
|
||||
|
||||
PR fortran/45117
|
||||
* array.c (resolve_array_bound): Fix error message to properly handle
|
||||
non-variable expressions.
|
||||
|
||||
2010-07-28 Mikael Morin <mikael@gcc.gnu.org>
|
||||
|
||||
* decl.c (free_value): Also free repeat field.
|
||||
|
@ -300,10 +300,14 @@ resolve_array_bound (gfc_expr *e, int check_constant)
|
||||
|| gfc_specification_expr (e) == FAILURE)
|
||||
return FAILURE;
|
||||
|
||||
if (check_constant && gfc_is_constant_expr (e) == 0)
|
||||
if (check_constant && !gfc_is_constant_expr (e))
|
||||
{
|
||||
gfc_error ("Variable '%s' at %L in this context must be constant",
|
||||
e->symtree->n.sym->name, &e->where);
|
||||
if (e->expr_type == EXPR_VARIABLE)
|
||||
gfc_error ("Variable '%s' at %L in this context must be constant",
|
||||
e->symtree->n.sym->name, &e->where);
|
||||
else
|
||||
gfc_error ("Expression at %L in this context must be constant",
|
||||
&e->where);
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user