[MPIWG Fortran] New question

Jeff Squyres (jsquyres) jsquyres at cisco.com
Tue Dec 8 13:54:30 CST 2015


There's a working group here at the form who is investigating the possibility of passing C function argument as a struct that contains a union, perhaps something like this:

-----
struct to_be_passed_as_an_arg {
    enum actual_type;
    union {
       struct {
           MPI_Comm comm;
           // ... several more members
       } comm_stuff;

       struct {
           MPI_Win win;
           // ... several more members
       } win_stuff;

       struct {
           MPI_File file;
           // ... several more members
       } file_stuff;
    } obj;
};
-----

Can we do this in Fortran?  If so, how?

Craig suggests that TRANSFER and/or EQUIVALENCE may be helpful here...?

-- 
Jeff Squyres
jsquyres at cisco.com
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/




More information about the mpiwg-fortran mailing list