trans.c (fold_constant_decl_in_expr): If the index is not itself constant then bail out.
* gcc-interface/trans.c (fold_constant_decl_in_expr) <ARRAY_REF>: If the index is not itself constant then bail out. From-SVN: r230558
This commit is contained in:
parent
70318db4b1
commit
a239279ee5
|
@ -1,3 +1,8 @@
|
|||
2015-11-18 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* gcc-interface/trans.c (fold_constant_decl_in_expr) <ARRAY_REF>: If
|
||||
the index is not itself constant then bail out.
|
||||
|
||||
2015-11-18 Ed Schonberg <schonberg@adacore.com>
|
||||
|
||||
* sem_ch4.adb (Try_Container_Indexing): When constructing the
|
||||
|
|
|
@ -975,6 +975,9 @@ fold_constant_decl_in_expr (tree exp)
|
|||
|
||||
case ARRAY_REF:
|
||||
case ARRAY_RANGE_REF:
|
||||
/* If the index is not itself constant, then nothing can be folded. */
|
||||
if (!TREE_CONSTANT (TREE_OPERAND (exp, 1)))
|
||||
return exp;
|
||||
op0 = fold_constant_decl_in_expr (TREE_OPERAND (exp, 0));
|
||||
if (op0 == TREE_OPERAND (exp, 0))
|
||||
return exp;
|
||||
|
|
Loading…
Reference in New Issue