-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix LAPACK for f2c converted sources #4453
Conversation
AndreySokolovSC
commented
Jan 24, 2024
- Change logical type for 64bit interface
- Fix xerbla_ calls in several functions (Added 3rd argument with string size)
- Usage of generated macros in f2c files to determine length of string has been replaced by a common C function.
* Change logical type for 64bit interface * Fix xerbla_ calls in several functons (Added 3rd argument with string size) * Usage of generated macros in f2c files to determine length of string has been replaced by a common C function.
Thanks - I'm fairly certain the (somewhat unrelated) change to Makefile.system is already in the main It would probably be better to limit changes to the risc-v branch to actual risc-v code, or alternatively to merge the current develop branch once, otherwise I fear we'll end up with a thousand conflicts when merging the risc-v branch some day ? |
Hi Martin! About About About regenerating sources with script: About merge conflits to develop branch: Llimit changes to the risc-v branch to actual risc-v code: |
Sorry for the delayed response - the f2clapack script I used for converting is in #3539 (comment) - it still has some drawbacks (like blindly adding helper functions that may not be needed by the converted file) and with over 2000 files in the LAPACK codebase it may not have been such a good idea to add the declarations to each instead of having them in a common header. Also the ancient f2c program still chokes on some Fortran90+ idioms that I had to hand-correct in a copy of the "official" LAPACK files back when I did the big conversion run. So it is probably going to be a lot of work either way - but re-synchronizing with the Fortran sources would also import a number of code fixes that went into those in recent months |
Hi @martin-frbg, |
Yes, this should not be going on the risc-v branch anyway (which we hope to merge soon) and I believe I have identified a few more problems in the current set of converted files that must be the result of having used different revisions of the evolving script. For example the C/Z SLAQ sources appear to lack the header section for handling ILP64 completely. I have copied the change for "logical" to the script and will re-generate the C copies as soon as possible (probably during the weekend). But please do not delete your branch yet (btw I'm not sure I saw an instance of the "generated macros for string length have been replaced by C functions" in the diff ?) . Thanks for alerting me to the problem. |
Great, Thank you very much! |
Ah, I see it now in xerbla_array.c - this is a harmless oddity in f2c, the parser already determines the maximum length of the character variable and enters it as the second parameter for the |
Fixed in #4601. This PR can be closed |