-
Notifications
You must be signed in to change notification settings - Fork 423
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
Multi-locale libraries fail to compile due to types returned from exported functions in standard modules #13394
Comments
This sounds potentially related to @lydia-duncan's #13372, but only because issue #13373 mentions related modules. I don't know the code well enough to have a theory as to why it would matter, though... |
I looked over the code for that PR and haven't the slightest idea how it might have induced this failure, but hopefully @lydia-duncan might have a more promising lead... |
There's always |
I'll give it a go. This will be fun! |
Well that wasn't what I was expecting! Nothing to do with the PR of @lydia-duncan at all, but rather it looks like something to do with #13327 from @mppf. Investigating why now. |
Ah. A rather silly logical error on my part. It seems I skip internal modules with exported functions in my codegen, but not standard modules. It looks like the IO plugins @mppf migrated to the standard modules ended up triggering this error. Understandably, he didn't catch it, because there are no tests for MLL compilation yet. |
Michael asked me about skipping the standard module functions, but I think he only saw the single locale case. There are tests for MLL compilation, they just only run on Macs nightly due to #278 (which you are working on this sprint) |
I wonder what it would take to allow functions that use extern types for their argument or return types to be exported . . . it shouldn't be bad in single locale but multilocale will for sure be tricky . . . |
…pe-errors Skip standard modules when generating MLL wrappers This PR will resolve #13394. Standard modules export functions with types that multi-locale libraries are not ready to support yet. This PR causes the code generation for exported functions in multi-locale libraries to skip over standard modules as well as internal. In addition, this PR also absorbs changes from closed PR #13393, since that PR's testing was dependent on this. Testing: - [x] interop/C/multilocale on darwin when CHPL_COMM=gasnet - [x] interop/python/multilocale on darwin when CHPL_COMM=gasnet - [x] ALL on linux64 when CHPL_COMM=gasnet - [x] ALL on linux64 when CHPL_COMM=none Thanks @lydia-duncan for review.
MLL compilation has started to fail due to encountering unsupported types returned by functions exported in the Chapel standard modules.
What I am not sure of is the commit that introduced this failure.
This issue is blocking resolution of https://github.com/Cray/chapel-private/issues/278.
The text was updated successfully, but these errors were encountered: