Skip to content

Bugfix/45 llvm flang21#48

Merged
fluidnumerics-joe merged 3 commits intomasterfrom
bugfix/45-llvm-flang21
Jan 27, 2026
Merged

Bugfix/45 llvm flang21#48
fluidnumerics-joe merged 3 commits intomasterfrom
bugfix/45-llvm-flang21

Conversation

@fluidnumerics-joe
Copy link
Member

@fluidnumerics-joe fluidnumerics-joe commented Jan 26, 2026

Resolves #45
This PR removes support for the rand function in strings passed to feq-parse. This is done so that pure elemental functions can continue to be used for functions that are supported by feq-parse. Longer term, we'll need to look into ways to support impure functions.

This PR also adds a test for versions 19 and 20 of the LLVM Flang (in addition to amdflang) compilers.

fluidnumerics-joe and others added 3 commits January 26, 2026 15:31
Distinguish between Classic Flang (PGI-derived) and LLVM Flang
(flang-new) which use different compiler flags:
- Classic Flang: -Mpreprocess (PGI-style)
- LLVM Flang: -cpp (GCC-style)

CMake 3.24+ identifies LLVM Flang as "LLVMFlang" while Classic
Flang remains "Flang".

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add CI testing with LLVM Flang (flang-new) versions 19 and 20:
- New workflow uses official LLVM apt repository
- Tests on Ubuntu 24.04 with cmake build
- Add badge and update supported compilers table in README

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The rand/random functions were declared with pure interfaces but called
impure intrinsic random_number(). This caused interface mismatch warnings
with strict compilers like LLVM Flang.

Rather than relaxing the pure requirement (which would affect all
function pointers), remove rand support entirely to maintain purity
guarantees for all mathematical functions.

Changes:
- Remove rand_function enumerator and reduce nFunctions to 16
- Remove randomize_r32/r64 interfaces and implementations
- Remove rand32/rand64 functions
- Remove 10 random test files

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@fluidnumerics-joe fluidnumerics-joe self-assigned this Jan 26, 2026
@codecov-commenter
Copy link

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@fluidnumerics-joe fluidnumerics-joe merged commit 2e80c59 into master Jan 27, 2026
18 checks passed
@fluidnumerics-joe fluidnumerics-joe deleted the bugfix/45-llvm-flang21 branch January 27, 2026 14:42
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.

LLVM Flang build errors

2 participants