Meissner examples - the last one to fall

Paul THOMAS paulthomas2@wanadoo.fr
Wed Oct 5 10:14:00 GMT 2005


Richard,

Whether wittingly or not, you cracked it... thanks!

> module where it is originally defined. If you import (va USE) a type 
> into some other module and declare it private there, that doesn't 
> actually make the type private - that just means that the second module 

I had failed to check for use association of the type. *sigh*

The patch below deals correctly with the two cases under discussion.  I will torture it a bit more before submitting it later on today.

Best regards

Paul T

*** gcc/gcc/fortran/resolve.c.wrong     Wed Oct  5 10:43:32 2005
--- gcc/gcc/fortran/resolve.c   Wed Oct  5 10:42:28 2005
*************** resolve_symbol (gfc_symbol * sym)
*** 4330,4335 ****
--- 4330,4336 ----
        {
          if (arg->sym
                && arg->sym->ts.type == BT_DERIVED
+               && !arg->sym->ts.derived->attr.use_assoc
                && !gfc_check_access(arg->sym->ts.derived->attr.access,
                                     arg->sym->ts.derived->ns->default_access))
            {




More information about the Fortran mailing list