-
Notifications
You must be signed in to change notification settings - Fork 280
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
binding/f08: fix a few bugs #5676
Conversation
15e1a39
to
e10fe19
Compare
test:mpich/ch3/tcp Nearly all ✔️ 1 osx failure is being fixed in #5682 |
if kind == 'POLYFUNCTION': | ||
# TODO: potentially tricky. Might be easier to treat individual function case by case. | ||
G.real_poly_kinds[kind] = 1 | ||
elif kind.startswith('POLY'): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what is the difference between kind == POLYFUNCTION and kind.startswith('POLY')
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For latter condition includes the former. We need single POLYFUNCTION
out because it is not differentiated in the mappings between SMALL
and BIG
but they still need be generated for both since the actual function prototype is different between SMALL
and BIG
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, I think I understand what you're saying. We need both prototypes because the integer kinds are different, even though the size of those kinds are the same. Small and big mappings only apply to functions where the integer kinds are of different sizes.
We only accept --enable-fortran/--disable-fortran now.
SIZEOF_F77_INTEGER is no longer set. Use pac_cv_f77_sizeof_integer instead.
The same hack for fixing alltoallw will also apply to alltoallv when MPI_Fint and C int is not the same size.
The previous patch to detect real poly kinds was bugged. Apparently the f08 interface was not tested in regular CI tests.
Pull Request Description
Fix a few bugs revealed in PR #5067
SIZEOF_F77_INTEGER
is no longer defined in configureMPI_Alltoallv
need the same have as inMPI_Alltoallw
whenfint_size != cint_size
It fixes following test failures (they are previously xfailed via
intel
onosx
and now it shows up viagcc-9
):[skip warnings]
Author Checklist
Particularly focus on why, not what. Reference background, issues, test failures, xfail entries, etc.
Commits are self-contained and do not do two things at once.
Commit message is of the form:
module: short description
Commit message explains what's in the commit.
Whitespace checker. Warnings test. Additional tests via comments.
For non-Argonne authors, check contribution agreement.
If necessary, request an explicit comment from your companies PR approval manager.