re PR fortran/79335 (Conditional jump or move depends on uninitialised in value get_scalar_to_descriptor_type(tree_node*, symbol_attribute) (trans-expr.c:53))

gcc/fortran/ChangeLog:

2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/79335
	* trans-decl.c (generate_coarray_sym_init): Retrieve the symbol's
	attributes before using them.

From-SVN: r245193
This commit is contained in:
Andre Vehreschild 2017-02-05 14:05:10 +01:00
parent 764d5c7b53
commit ea06c7b0c4
2 changed files with 16 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/79335
* trans-decl.c (generate_coarray_sym_init): Retrieve the symbol's
attributes before using them.
2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/78958

View File

@ -5128,6 +5128,16 @@ generate_coarray_sym_init (gfc_symbol *sym)
else
reg_type = GFC_CAF_COARRAY_STATIC;
/* Compile the symbol attribute. */
if (sym->ts.type == BT_CLASS)
{
attr = CLASS_DATA (sym)->attr;
/* The pointer attribute is always set on classes, overwrite it with the
class_pointer attribute, which denotes the pointer for classes. */
attr.pointer = attr.class_pointer;
}
else
attr = sym->attr;
gfc_init_se (&se, NULL);
desc = gfc_conv_scalar_to_descriptor (&se, decl, attr);
gfc_add_block_to_block (&caf_init_block, &se.pre);