[PATCH] Several Cray pointer fixes
Tobias Schlüter
tobias.schlueter@physik.uni-muenchen.de
Tue Oct 25 17:23:00 GMT 2005
Jakub Jelinek wrote:
> This patch fixes:
> 1) debug info - Cray pointees now show up in the debug info and can
> be inspected in gdb
> 2) module handling (cray_pointer_5.f90 testcase was miscompiled, as
> module saving/loading code wasn't saving cray pointer info into the
> *.mod file resp. loading it from there)
> 3) issue (and test) diagnostics for pointee in COMMON
> 4) moved diagnostics for pointee in EQUIVALENCE from resolve_equivalence
> to check_conflict (similarly to how many other similar checks have
> been changed recently)
>
> Tested on x86_64-linux, ok for HEAD?
This is ok, except ...
> +static void
> +gfc_finish_cray_pointee (tree decl, gfc_symbol *sym)
> +{
> + tree ptr_decl = gfc_get_symbol_decl (sym->cp_pointer), value;
^^^^^
Please put the declaration of value on a separate line.
> Questions I have:
> 1) shouldn't Cray pointees also conflict with SAVE attribute (and
> shouldn't SAVE all skip pointees)? I googled around and e.g. HP documents
> Cray pointees can't be SAVEd
I agree with Asher.
> 2) shouldn't in_equivalence bit be saved/restored in module writing/reading
> code?
The in_equivalence bit is used only to determine if code is valid, it is not
needed for generating code, as the information is contained in a namespaces
equivalence list which is indeed saved and restored. If you think that we
might need this information in any other way in the future or that we might
overhaul the emission of equivalenced or USEd variables, then it would make
sense to write this bit.
Thanks,
- Tobi
More information about the Fortran
mailing list