Skip to content

Update Assert, fix NAG errors - #207

Merged
bonachea merged 12 commits into
BerkeleyLab:mainfrom
bonachea:assert-update
Sep 15, 2026
Merged

bonachea merged 12 commits into
BerkeleyLab:mainfrom
bonachea:assert-update

Conversation

@bonachea

@bonachea bonachea commented Sep 14, 2026

Copy link
Copy Markdown
Member

This PR is the Julienne companion to BerkeleyLab/assert#97
Clean up a random collection of problems discovered through manual testing:

  • Update Assert dependency to newly released 3.2.0
  • Fixes compile errors with NAG introduced during the past several releases
  • Fixes a critical conformance defect with the JULIENNE_PARALLEL_CALLBACKS support, which was manifesting as runtime crashes with the NAG compiler.
  • Fixes potential file name collision with fpm clients on include/language-support.F90 that could lead to compile errors
  • Rename all source files to use the .F90 suffix for uniformity and maintainability. This also allows us to remove explicit preprocessing options from some compilers.
  • Build instructions for flang with Caffeine were wrong/incomplete. Update accordingly.

`-DASSERT_MULTI_IMAGE -DASSERT_PARALLEL_CALLBACKS` are necessary
to avoid linker conflicts caused by different Assert build configurations
in libjulienne vs libcaffeine.

Add a note clarifying that fpm `--link-flag` alone is insufficient
on Linux.
-fpp/-cpp options should no longer be required for Intel and NAG
NAG rejects empty source files, and empty modules/submodules. Deploy a macro to
uniformly handle "stubbing out" module files.

NAG 7.2.7251 x64/Linux crashes at compile and/or runtime with -O2 or higher on
the file_t test.
Module save procedure pointers initially have undefined association
status, and we were incorrectly relying on equivalence to unassociated.
This was causing crashes on NAG.
@bonachea
bonachea requested a review from rouson September 14, 2026 21:22
…ort.F90

This header file is injected into the include path of clients by
fpm, so file names need to use a unique prefix.

In particular, this was already causing a file name collision with
Caffeine (which also has a `language-support.F90` header), which
only went unnoticed until now because the contents were sufficiently similar.
Ensure FPM build artifacts land in an isolated directory

@rouson rouson left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@bonachea
bonachea marked this pull request as ready for review September 15, 2026 19:03
@bonachea bonachea changed the title [HOLD] Update Assert, fix NAG errors Update Assert, fix NAG errors Sep 15, 2026
@bonachea
bonachea merged commit d0ba11f into BerkeleyLab:main Sep 15, 2026
50 checks passed
@bonachea
bonachea deleted the assert-update branch September 15, 2026 20:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants