This is an archive of the discontinued LLVM Phabricator instance.

[llvm-test-suite][Fortran/gfortran] Enable remaining compile tests
ClosedPublic

Authored by tarunprabhu on Jul 6 2023, 10:50 AM.

Details

Summary

Enables the compile tests in Fortran/gfortran/regression. These were the last remaining tests that had not been enabled.

As with the other tests, failing tests have been disabled and categorized based on the reason for the failure. Where possible, the particular error that caused their failure has been documented. In some cases, a potential reason for the failure has also been provided.

The list of disabled tests has been reorganized slightly to enable some grouping by category and alphabet.

Diff Detail

Repository
rT test-suite

Event Timeline

tarunprabhu created this revision.Jul 6 2023, 10:50 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 6 2023, 10:50 AM
Herald added a subscriber: jdoerfert. · View Herald Transcript
tarunprabhu requested review of this revision.Jul 6 2023, 10:50 AM
klausler accepted this revision.Jul 6 2023, 11:01 AM

LGTM and thanks. Are there bug reports or other tracking mechanisms for the tests that eliciting failures other that "unimplemented" messages? There are a lot of tests in the "should compile but didn't" and "shouldn't compile but did" categories and it would be nice to have a means by which people wanting to contribute to the project could find and claim these work items.

This revision is now accepted and ready to land.Jul 6 2023, 11:01 AM

Are there bug reports or other tracking mechanisms for the tests that eliciting failures other that "unimplemented" messages?

Currently, no. There is still a question on how best to file issues on Github for these. One for each failing test case seems excessive since I suspect that many of the failures will be related. Combining the related issues into one will be a fair bit of effort.

I intend to bring this up at the next technical call and/or put up a Discourse post soliciting suggestions.

I have taken a pass through the "should have compiled but didn't" category and classified those tests. There's test misconfigurations (missing options, a need to compile multiple files so that modules are available); valid errors that GNU only emits warnings for or no error at all; unsupported extensions (usually intrinsic functions); some intrinsic functions that should fold at compilation time but don't; a couple unsupported standard features; and a few actual compiler bugs, mostly edge cases with fixed form source files.

I have taken a pass through the "should have compiled but didn't" category and classified those tests.

Do you think it would be worthwhile updating this patch (or perhaps a separate one) with your classification? It may be helpful to have this somewhere visible until we track things on Github (or whatever else we decide on).

There's test misconfigurations (missing options, a need to compile multiple files so that modules are available);

Yes. I think I know what is causing that problem. It will require fixing the way I build the tests. I intend to look into it next.

tblah added a comment.Jul 7 2023, 3:09 AM

Thanks for this!

Does anyone else have trouble building regression/pr49540-1.f90? On my system it hangs filling a CPU (mostly in system time, attaching a debugger puts me inside of memset). If this is specific to my system then the patch LGTM, but if others experience the same issue then that test should be disabled. For reference - I am using an aarch64 Ubuntu 22.04.

luporl added a comment.Jul 7 2023, 4:53 AM

Thanks for this!

Does anyone else have trouble building regression/pr49540-1.f90? On my system it hangs filling a CPU (mostly in system time, attaching a debugger puts me inside of memset). If this is specific to my system then the patch LGTM, but if others experience the same issue then that test should be disabled. For reference - I am using an aarch64 Ubuntu 22.04.

I'm also seeing this issue, the build of regression/pr49540-1.f90 never finishes, on an AArch64 Ubuntu 22.04 machine.

Disable pr49540-1.f90 that hangs on AArch64.

It takes longer than the others on X86-64 Arch Linux, but it does terminate.

tblah accepted this revision.Jul 7 2023, 7:35 AM

Thanks!

It seems this broke some buildbots, e.g., https://lab.llvm.org/buildbot/#/builders/197/builds/7810/steps/13/logs/FAIL__test-suite__gfortran-regression-compile-regr

It looks like REAL(KIND=10) and the kind argument of REAL are not supported on AArch64.

Can pr91497.f90 be disabled for now? Would the SKIPPED_FILES list be the most appropriate one?

It seems this broke some buildbots, e.g., https://lab.llvm.org/buildbot/#/builders/197/builds/7810/steps/13/logs/FAIL__test-suite__gfortran-regression-compile-regr

It looks like REAL(KIND=10) and the kind argument of REAL are not supported on AArch64.

Can pr91497.f90 be disabled for now? Would the SKIPPED_FILES list be the most appropriate one?

Created a patch to fix this here: https://reviews.llvm.org/D154878