[Fortran] Enable gfortran tests that now pass#426
Conversation
|
On AArch64 I see 2 failures:
Output of |
|
Ah, I started it hours ago, but I think it stuck on these two (according to htop): EDIT: final verdict: |
tblah
left a comment
There was a problem hiding this comment.
No hanging tests for me, but two failed:
Failed Tests (2):
test-suite :: Fortran/gfortran/regression/gomp/gfortran-regression-compile-regression__gomp__pr80918_f90.test
test-suite :: Fortran/gfortran/regression/ieee/gfortran-regression-execute-regression__ieee__comparisons_3_F90.test
I suspect this isn't related to this PR. |
0864e80 to
93e104f
Compare
pointer_check_12.f90 was not disabled before. The test is expected to fail at runtime with a helpful error message (with libgfortran). For me on Linux, x86-64, it segfaults - presumably because libflang does not currently support those error messages. But I have seen this behavior before where some tests would hang instead of failing depending on the optimization level. I honestly don't know how to handle such cases. There are several of those in the gfortran test suite. |
|
|
||
| # unimplemented: procedure components | ||
| proc_ptr_24.f90 | ||
| structure_constructor_11.f90 |
There was a problem hiding this comment.
The test suite build fails on structure_constructor_11.f90 on my test system with an AMD Milan CPU.
There was a problem hiding this comment.
Thanks for checking. Do you know what the error was in this case?
There was a problem hiding this comment.
After revisiting this, I see it's a linker error in my test environment, so you should leave the test enabled. The object legitimately requires an executable stack because the test takes the address of internal procedures, implemented with stack trampolines.
# flang structure_constructor_11.f90
ld.lld: error: /tmp/structure_constructor_11-92364d.o: requires an executable stack, but -z execstack is not specified
flang-23: error: linker command failed with exit code 1 (use -v to see invocation)
The test links fine when I use -Wl,-z,execstack. Is there a spot where we set LDFLAGS for the gfortran regression tests? It would be good to make this robust across linkers without depending on the user config.
There was a problem hiding this comment.
Thanks for taking a second look.
We generally don't set LDFLAGS for all the tests at once, and I am also not sure if, for example, -DCMAKE_LINKER_EXE_FLAGS is passed on to the gfortran tests. There is an override.yaml file allows some parameters to be overridden, but I can't remember if compiler/linker options can be changed using that. The README.md in Fortran/gfortran should describe how to use it.
|
I am running into some failures trying to build the test suite that may be linked to the version of gcc that I have access to (gcc 13.2.0): |
Thanks for checking. I'll re-disable those tests for now. |
Thank you! I have pulled and re-run and now I am getting timeouts for the following two tests: test-suite :: Fortran/gfortran/regression/gfortran-regression-execute-regression__pointer_check_12_f90.test |
Thanks for checking.
Since both of these tests have always been enabled, I will leave them enabled for now. After I sync them with upstream, I will try to reproduce these failures to see if we can identify the cause. |
|
It built and ran fine in my setup. |
|
Thank you to everyone that tested this. I will leave this up for a few more days to give more folks a chance to test, and will merge this early next week. |
NOTE FOR REVIEWERS: I have requested a reviews from several people because prior experience suggests that some tests are dependent on system configuration and libraries and pass on some systems and not others. If more of you could check that there are no failures, it should reduce the likelihood of post-commit buildbot failures.