Skip to content

Commit 8352ecb

Browse files
authored
[Fortran] Disabling error tests and tests not yet working with HLFIR (#47)
Patch required before enabling HLFIR by default: llvm/llvm-project#72090 Three batches of tests must be disabled. 1. test using non constant length character elemental fuctions 2. test using pointer assignments inside FORALL 3. "error" test that previously "wrongly" pass (did not throw errors) For the first two batches, lowering without HFLIR handled a few cases , but did not fully handle the features correctly. With HLFIR, it was decided to make all cases TODO until the feature are handled correctly. They are not very common, hence I think the "feature regression" is acceptable for now compared to what HLFIR brings. For, the last batch, the test suite is not set to run error checking tests (verifying a runtime error that is expected from the runtime given an invalid Fortran input), so the test suits considered a "pass" tests that where run with no error while invalid. HLFIR with -O1 uses the runtime in cases where the previous lowering did things inline, the usage of the runtime allow catching these invalid program as expected, but since the test suit is not set up yet to deal with negative runtime tests, they must be disabled. maxlocval1 is also removed until more investigation is done (failing at -O3 on arm with HLFIR).
1 parent 7fdd0f0 commit 8352ecb

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

Fortran/gfortran/regression/DisabledFiles.cmake

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -947,6 +947,17 @@ file(GLOB UNIMPLEMENTED_FILES CONFIGURE_DEPENDS
947947
large_real_kind_form_io_1.f90
948948
norm2_3.f90
949949
pr96711.f90
950+
951+
# unimplemented: calling character elemental function with
952+
# non constant character length (HLFIR regression).
953+
array_temporaries_3.f90
954+
pure_byref_1.f90
955+
956+
# unimplemented: pointer assignments inside FORALL (HLFIR
957+
# regression)
958+
dependency_19.f90
959+
forall_3.f90
960+
pr49698.f90
950961
)
951962

952963
# These tests are skipped because they cannot be compiled. Unlike the
@@ -2927,4 +2938,27 @@ file(GLOB FAILING_FILES CONFIGURE_DEPENDS
29272938
# _OPENMP/_OPENACC directives while gfortran does.
29282939
openacc-define-3.f90
29292940
openmp-define-3.f90
2941+
2942+
# Tests looking for runtime errors (e.g., bound checks). Correctly
2943+
# caught by flang runtime when it is used for array assignments.
2944+
all_bounds_1.f90
2945+
bounds_check_12.f90
2946+
bounds_check_array_ctor_4.f90
2947+
bounds_check_fail_3.f90
2948+
maxloc_bounds_1.f90
2949+
maxloc_bounds_2.f90
2950+
maxloc_bounds_3.f90
2951+
maxloc_bounds_4.f90
2952+
maxloc_bounds_5.f90
2953+
maxloc_bounds_7.f90
2954+
maxloc_bounds_8.f90
2955+
pack_bounds_1.f90
2956+
spread_bounds_1.f90
2957+
2958+
# Bad test, assigning an 11 elements array to a 12 elements array.
2959+
transfer_array_intrinsic_4.f90
2960+
2961+
# Fails at -O3 with HLFIR. Gfortran emits warnings when compiling,
2962+
# needs investigation.
2963+
maxlocval_1.f90
29302964
)

0 commit comments

Comments
 (0)