Bugfix: Cray logical derived type member values #173
Merged
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.
TYPE: bug fix
KEYWORDS: derived types, logical types, hack
SOURCE: Soren Rasmussen, NCAR
DESCRIPTION OF CHANGES: If using the Cray compiler, turn off optimization when compiling the
options_obj.f90
file.TESTS CONDUCTED: Add the following lines to line 1930 of
options_obj.f90
.NOTE: The
-eo
compiler option lists all the optimization flags. Since-O0
works and-O1
does not, I could test each flag that is different individually to find which one is breaking this test. Might be worth it in case the optimization would break things somewhere else. I had previously tried to create a simple reproducer but have been unsuccessful since this issue probably has to do with the complexity of derived types/modules/submodules being used. But it might be worth it to try to create one to add to the CTests (this is a branch that has CTests but is waiting for good ones before it becomes a PR).Checklist
Merging the PR depends on following checklist being completed. Add
X
betweeneach of the square brackets if they are completed in the PR itself. If a
bullet is not relevant to you, please comment on why below the bullet.
issue describes and documents the problem and general solution, the PR
describes the technical details of the solution.)