Unlimited polymorphic hashmap key type#1019
Open
chuckyvt wants to merge 3 commits intofortran-lang:masterfrom
Open
Unlimited polymorphic hashmap key type#1019chuckyvt wants to merge 3 commits intofortran-lang:masterfrom
chuckyvt wants to merge 3 commits intofortran-lang:masterfrom
Conversation
…phic-hashmap-key-type
Contributor
|
@chuckyvt I think it is better if you keep this PR in draft state until a solution is found that enables compiling with gfortran as well. Indeed, stdlib should not be locked by a single compiler, this of course implies that only features that are supported by at least a few versions of intel and gnu compilers will be allowed. It might hold back on certain aspects but also guarantees a certain level of robustness. You could explore options with C preprocessor macros. |
Roll back rank_1 unlimited polymorphic changes to work around a Gfortran bug that was causing those features to crash. Currently Gfortran seems to only support unlimited polymorphic scalar values for the transfer intrinsic.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I ran across this thread on Intel Fortran forums, which based on their interpretation of the standard, the transfer intrinsic should accept an unlimited polymorphic argument. Was excited to see this, as this could potentially simplify the hashmap code, and allow the routine to accept any type as key value. This PR incorporates that work.
However, based on the CI runs, while Intel compilers support it, GFortran does not and has a compilation failure. Based on the need for the stdlib to work with GFortran, I assume this PR is dead in the water for the time being, but I thought it still worth submitting for reference.
Based on this bugreport it appears there has been some effort on intrinsic support of unlimited polymorhpic variables, if anyone would like to file a follow up bug report based on this.