Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fortran Support #12

Open
chadmeyer opened this issue Aug 19, 2022 · 1 comment
Open

Fortran Support #12

chadmeyer opened this issue Aug 19, 2022 · 1 comment
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@chadmeyer
Copy link
Collaborator

We need to have the ability to support similar things within ports-of-call on the Fortran side, for library codes that use ports-of-call and include Fortran libraries. This issue can serve as a place for discussion.

@chadmeyer chadmeyer added enhancement New feature or request help wanted Extra attention is needed labels Aug 19, 2022
@chadmeyer chadmeyer self-assigned this Aug 19, 2022
@chadmeyer
Copy link
Collaborator Author

There are multiple concerns surrounding this.

The first is that any preprocessor-based solutions would have to be broken out into files which do not contain anything but preprocessor directives (no code from another language or even comments not bracketed out by the preprocessor). That might require splitting out some of our code from

Second, compilers don't handle fortran and preprocessors universally, so there would need to be some way to make sure that if a code was consuming a forts-of-call bit, that the code is being handled correctly. I bet that could be handled in an automated way using cmake but I don't know how. And if someone wanted to consume it header only, we could at least provide some helpful hints.

Third, while preprocessors seem like the cleanest way to do this, Fortran modules might be the most Fortran way of doing it. Not sure whether that's an argument for or against, but I want to put it out there.

Fourth, we need to set a scope limit. Do we support only the Fortran equivalents to the typedefs here? Do we want to support decorating fortran wrappers where applicable? Obviously the issue surrounding float and double is the most pressing, but especially as we venture into OpenMP and OpenACC land, it becomes possible to define Fortran decorators as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant