mirror of git://gcc.gnu.org/git/gcc.git
Correction régression deferred_character_27.f90
This commit is contained in:
parent
5f8e0bb6eb
commit
a6df2739cb
|
@ -1025,9 +1025,15 @@ gfc_trans_create_temp_array (stmtblock_t * pre, stmtblock_t * post, gfc_ss * ss,
|
||||||
if (eltype && GFC_CLASS_TYPE_P (eltype))
|
if (eltype && GFC_CLASS_TYPE_P (eltype))
|
||||||
eltype = gfc_get_element_type (TREE_TYPE (TYPE_FIELDS (eltype)));
|
eltype = gfc_get_element_type (TREE_TYPE (TYPE_FIELDS (eltype)));
|
||||||
|
|
||||||
if (class_expr == NULL_TREE)
|
if (class_expr == NULL_TREE
|
||||||
|
&& TYPE_SIZE_UNIT (eltype) != NULL_TREE)
|
||||||
elemsize = fold_convert (gfc_array_index_type,
|
elemsize = fold_convert (gfc_array_index_type,
|
||||||
TYPE_SIZE_UNIT (eltype));
|
TYPE_SIZE_UNIT (eltype));
|
||||||
|
else if (class_expr == NULL_TREE)
|
||||||
|
{
|
||||||
|
gcc_assert (callee_alloc);
|
||||||
|
elemsize = NULL_TREE;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Unlimited polymorphic entities are initialised with NULL vptr. They
|
/* Unlimited polymorphic entities are initialised with NULL vptr. They
|
||||||
|
|
|
@ -2921,7 +2921,8 @@ gfc_set_temporary_descriptor (stmtblock_t *block, tree descr, tree class_src,
|
||||||
ubound[n], stride[n], &offset);
|
ubound[n], stride[n], &offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
gfc_conv_descriptor_span_set (block, descr, elemsize);
|
if (elemsize != NULL_TREE)
|
||||||
|
gfc_conv_descriptor_span_set (block, descr, elemsize);
|
||||||
|
|
||||||
gfc_conv_descriptor_offset_set (block, descr, offset);
|
gfc_conv_descriptor_offset_set (block, descr, offset);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue