Open
Conversation
This fixes a problem when using a macro in the invocation of another macro. This is only for the intel target when running gnu make.
This fixes a problem when using a macro in the invocation of another macro. This change is only when running cmake with an intel environment loaded.
|
Can confirm, experienced the same issue with intel oneapi compiler. My hack of a fix was to edit the lined using the COMMA expansion, but yours is a much better fix. I grabbed your fix and re-compiled and ran a quick test run on my machine too. All looks good. |
|
This PR fixes my build using intel 2025.3, as reported in #1397 |
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.
This PR addresses a problem with the intel fortran preprocessor (fpp).
In particular, the default preprocessor ordering results in a failure to expand a macro properly when it is used as an argument to another macro.
Given the following definitions:
followed by the following invocation:
results in the COMMA and everything after it being eliminated from the final expansion:
There is a switch you can provide to fpp (via the compiler) which changes the order of nexted macro expansion and gives the desire result.
I tested this by running test_model and verifying correct printouts, using both an intel make build and an intl cmake build.