Message ID | 20170204143956.46b1d822@vepi2 |
---|---|
State | New |
Headers | show |
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
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 --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);