Good morning all,
I have the feeling I may have a problem hiding away regarding interoperability of my Fortran code with C. I'm using C to allocate some page-aligned memory, and on the C side I'm using size_t as the data type of the "bytes to allocate" argument. I initially set up my Fortran side to pass a variable declared as INTEGER (KIND=C_SIZE_T), however I'm realizing now that Fortran doesn't have a concept of unsigned data types (and the SYSV definition of size_t is "long unsigned int"). So presumably, on 32-bit architectures, Fortran will only be able to request at most 2GB of memory. I would prefer to keep my programs portable (since the C routines can be called by other languages too), but is just doing a blanket "unsigned long long"& "INTEGER*8" for these data types my only solution?
Thanks