diff mbox

[Fortran,pr79335,v1,7,Regression] Conditional jump or move depends on uninitialised in value get_scalar_to_descriptor_type(tree_node*, symbol_attribute) (trans-expr.c:53)

Message ID 20170204143956.46b1d822@vepi2
State New
Headers show

Commit Message

Andre Vehreschild Feb. 4, 2017, 1:39 p.m. UTC
Hi all,

attached patch fixes the access of uninitialized data. Thanks Martin for
analyzing this so far. The symbol_attributes on the stack was used
without initializing it from the symbol's attributes.

Bootstraps and regstests ok on x86_64-linux-gnu/f25. Ok for trunk?

Regards,
	Andre

Comments

Paul Richard Thomas Feb. 4, 2017, 5:16 p.m. UTC | #1
Hi Andre,

This is getting to be a bit monotonous :-) OK for trunk.

Thanks for the three patches.

Paul

PS Are you in a position to have a stab at PR79344? This would go a
long way to sorting out Juergen's test suite. Also, this must be the
third time that I have been involved in breaking iso_varying_string
and I think that others have too :-( We must start running the
testsuite on a regular basis. Unfortunately, it lacks a harness to run
all the tests automatically.

PPS I am some days away yet from recovering from my move from France
to the UK and so would defer to you if you can come up with a fix.

On 4 February 2017 at 13:39, Andre Vehreschild <vehre@gmx.de> wrote:
> Hi all,
>
> attached patch fixes the access of uninitialized data. Thanks Martin for
> analyzing this so far. The symbol_attributes on the stack was used
> without initializing it from the symbol's attributes.
>
> Bootstraps and regstests ok on x86_64-linux-gnu/f25. Ok for trunk?
>
> Regards,
>         Andre
> --
> Andre Vehreschild * Email: vehre ad gmx dot de
Andre Vehreschild Feb. 4, 2017, 5:56 p.m. UTC | #2
Hi Paul,

> PS Are you in a position to have a stab at PR79344? This would go a
> long way to sorting out Juergen's test suite. Also, this must be the
> third time that I have been involved in breaking iso_varying_string
> and I think that others have too :-( We must start running the
> testsuite on a regular basis. Unfortunately, it lacks a harness to run
> all the tests automatically.

Currently executing the testsuite with a patched compiler.

> PPS I am some days away yet from recovering from my move from France
> to the UK and so would defer to you if you can come up with a fix.

Fix present, waiting for testsuite to pass.

- Andre
> 
> On 4 February 2017 at 13:39, Andre Vehreschild <vehre@gmx.de> wrote:
> > Hi all,
> >
> > attached patch fixes the access of uninitialized data. Thanks Martin for
> > analyzing this so far. The symbol_attributes on the stack was used
> > without initializing it from the symbol's attributes.
> >
> > Bootstraps and regstests ok on x86_64-linux-gnu/f25. Ok for trunk?
> >
> > Regards,
> >         Andre
> > --
> > Andre Vehreschild * Email: vehre ad gmx dot de  
> 
> 
>
diff mbox

Patch

diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c
index 3e54e80..41b36a5 100644
--- a/gcc/fortran/trans-decl.c
+++ b/gcc/fortran/trans-decl.c
@@ -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);