Skip to content

Conversation

@foxtran
Copy link

@foxtran foxtran commented Nov 30, 2025

Instead of using external keyword for Function Arguments, this PR introduces explicit interfaces for Function Arguments. The code should be more safe now, and source code reflect documented behaviour. Later, it will help a lot to generate proper interfaces for these functions.

BIND(C) is used since code can be called from other than Fortran languages.

Checklist

@foxtran
Copy link
Author

foxtran commented Nov 30, 2025

Hmmm.. I used flang 21.1.6 on MacOS Ventura 13.7.8 to check what wrong in CI, and all tests were passed.

Configure command:

cmake -G "Ninja" -DCMAKE_Fortran_COMPILER=flang -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -DCMAKE_Fortran_FLAGS="-g" ..

testing:

ctest . --parallel 4

Where I can find where LAPACK calls are located?

@foxtran
Copy link
Author

foxtran commented Nov 30, 2025

Call tree looks valid. I have no idea why test failed.

@foxtran
Copy link
Author

foxtran commented Dec 1, 2025

@langou, could you please add --output-on-failure flag to ctest command into CI?

@langou
Copy link
Contributor

langou commented Dec 1, 2025

I added one for .github/workflows/cmake.yml (seems like other 'ctest' had it.)
Let me know if you want it at other places.
Note: I'll need a "maintainer" to approve my PR so as to be able to merge it.

@foxtran
Copy link
Author

foxtran commented Dec 1, 2025

Let me know if you want it at other places.

What is about continuous-integration/appveyor/pr?

@foxtran
Copy link
Author

foxtran commented Dec 1, 2025

Ok. Found where it is :-)

@foxtran
Copy link
Author

foxtran commented Dec 1, 2025

No, I definitely has no idea why appveyor fails.

@foxtran foxtran force-pushed the update/function-arguments branch from 6351489 to 53c4803 Compare December 2, 2025 13:01
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.

Provide explicit interfaces for external functions passed as arguments

2 participants