Skip to content

Commit 82c07c7

Browse files
authored
[flang] Remove more working/fixed tests, classify others (#71)
Fixes have gone into llvm-project/main that fix several tests in Fortran/gfortran/regression/DisabledFiles.cmake; delete them from this file. Other tests were noticed to be working, and were also deleted. Some others were moved from generically described blocks of tests into blocks with more specific descriptions.
1 parent d10245e commit 82c07c7

File tree

1 file changed

+124
-128
lines changed

1 file changed

+124
-128
lines changed

Fortran/gfortran/regression/DisabledFiles.cmake

Lines changed: 124 additions & 128 deletions
Original file line numberDiff line numberDiff line change
@@ -1226,6 +1226,8 @@ file(GLOB SKIPPED_FILES CONFIGURE_DEPENDS
12261226
realloc_on_assign_2.f03
12271227
where_2.f90
12281228
c_char_tests.f03
1229+
goto_2.f90 # goto 10 when 10 END IF fails
1230+
masklr_2.F90
12291231

12301232
# Categorize and debug further
12311233
bounds_check_17.f90 # needs -fcheck=bounds
@@ -1243,9 +1245,7 @@ file(GLOB SKIPPED_FILES CONFIGURE_DEPENDS
12431245
coarray_poly_9.f90 # NYI: allocation of coarray
12441246
c_ptr_tests_10.f03 # valid compilation error on print of c_null_ptr (?)
12451247
c_ptr_tests_9.f03 # valid compilation error on print of c_null_ptr (?)
1246-
dec_init_2.f90 # needs -finit-derived -finit-integer=42 &c.
12471248
finalize_38a.f90 # test reports errors, but I think gfortran is wrong
1248-
init_flag_15.f03 # needs -finit-derived -finit-integer
12491249
ISO_Fortran_binding_10.f90 # test reports failure at runtime
12501250
ISO_Fortran_binding_11.f90 # test reports failure at runtime
12511251
ISO_Fortran_binding_18.f90 # runtime abort
@@ -1851,90 +1851,30 @@ file(GLOB FAILING_FILES CONFIGURE_DEPENDS
18511851
# will never pass with flang (if they use unsupported extensions for instance),
18521852
# they should be added to the Unsupported list.
18531853

1854-
# Tests that fail because they should fail
1854+
# Tests that "fail" because they should fail
18551855
abort_shouldfail.f90 # works, calls abort(), crashes
18561856
assign_2.f90 # j=5; goto j
1857+
endfile_3.f90 # WRITE after ENDFILE
1858+
eoshift_bounds_1.f90 # SHIFT of 1 on dimension with extent 0
1859+
error_format.f90 # READ from empty file hits EOF
1860+
error_stop_1.f08 # ERROR STOP stops program
1861+
stop_shouldfail.f90 # STOP stops program
1862+
fmt_error_4.f90 # bad 'Q' edit descriptor in FORMAT
1863+
fmt_error_5.f90 # bad 'Q' edit descriptor in FORMAT
1864+
inline_matmul_15.f90 # incompatible MATMUL argument shapes
1865+
internal_write_1.f90 # internal WRITE array overrun
1866+
large_unit_1.f90 # UNIT number 68719476746 is out of range
18571867

18581868
# require further analysis
18591869
Wall.f90 # no warning for missing & on continuation line in char constant
18601870
Wno-all.f90 # no warning for missing & on continuation line in char constant
1861-
auto_save_2.f90 # requires -fno-automatic -finit-local-zero
18621871
bessel_7.f90 # unclear
18631872
check_bits_1.f90 # requires -fcheck=bits to catch ISHFTC runtime error
18641873
check_bits_2.f90 # requires -fcheck=bits to catch ISHFTC runtime error
1865-
cr_lf.f90
1866-
cshift_bounds_3.f90
1867-
cshift_bounds_4.f90
1868-
cshift_large_1.f90
1869-
data_char_1.f90
1870-
data_char_3.f90
1871-
deallocate_alloc_opt_3.f90
1872-
deallocate_stat_2.f90
1873-
deallocate_stat.f90
1874-
dependency_45.f90
1875-
dim_sum_1.f90
1876-
dim_sum_2.f90
1877-
dim_sum_3.f90
1878-
direct_io_7.f90
1879-
do_check_1.f90
1880-
dollar_edit_descriptor_4.f
1881-
elemental_dependency_1.f90
1882-
endfile_3.f90
1883-
eoshift_bounds_1.f90
1884-
eoshift_large_1.f90
1885-
error_format.f90
1886-
error_stop_1.f08
1887-
f2003_io_5.f03
1888-
findloc_6.f90
1889-
fmt_error_4.f90
1890-
fmt_error_5.f90
1891-
fmt_f_default_field_width_1.f90
1892-
fmt_f_default_field_width_2.f90
1893-
fmt_g0_1.f08
1894-
fmt_g_default_field_width_1.f90
1895-
fmt_g_default_field_width_2.f90
1896-
fmt_g.f
1897-
fmt_i_default_field_width_1.f90
1898-
fmt_i_default_field_width_2.f90
1899-
fmt_l.f90
1900-
fmt_zero_width.f90
1901-
fold_nearest.f90
1902-
forall_12.f90
1903-
goto_2.f90
1904-
hollerith8.f90
1905-
init_flag_1.f90
1906-
init_flag_2.f90
1907-
init_flag_3.f90
1908-
init_flag_4.f90
1909-
init_flag_5.f90
1910-
init_flag_6.f90
1911-
init_flag_7.f90
1912-
init_flag_9.f90
1913-
inline_matmul_15.f90
1914-
inquire_13.f90
1915-
inquire_15.f90
1916-
inquire_5.f90
1917-
inquire_9.f90
1918-
inquire_internal.f90
1919-
inquire_recl_f2018.f90
1920-
inquire_size.f90
1921-
integer_exponentiation_2.f90
1922-
internal_dummy_2.f08
1923-
internal_pack_3.f90
1924-
internal_write_1.f90
1925-
intrinsic_std_4.f90
1926-
io_err_1.f90
1927-
io_real_boz_3.f90
1928-
io_real_boz.f90
1929-
iostat_4.f90
1930-
iostat_5.f90
1931-
large_real_kind_1.f90
1932-
large_unit_1.f90
1933-
list_directed_large.f90
1934-
list_read_11.f90
1935-
list_read_4.f90
1936-
literal_character_constant_1_z.F
1937-
masklr_2.F90
1874+
cr_lf.f90 # shenanigans with CR characters
1875+
do_check_1.f90 # zero-valued DO loop step; needs -fcheck=do
1876+
dollar_edit_descriptor_4.f # TODO: (i3,$) format shouldn't advance record when looping
1877+
list_read_11.f90 # more CR character shenanigans
19381878
matmul_5.f90
19391879
matmul_bounds_11.f90
19401880
matmul_bounds_13.f90
@@ -1965,54 +1905,23 @@ file(GLOB FAILING_FILES CONFIGURE_DEPENDS
19651905
multiple_allocation_1.f90
19661906
multiple_allocation_3.f90
19671907
mvbits_4.f90
1968-
namelist_18.f90
1969-
namelist_19.f90
1970-
namelist_21.f90
1971-
namelist_22.f90
1972-
namelist_24.f90
1973-
namelist_37.f90
1974-
namelist_38.f90
1975-
namelist_41.f90
1976-
namelist_51.f90
1977-
namelist_56.f90
1978-
namelist_57.f90
1979-
namelist_61.f90
1980-
namelist_65.f90
1981-
namelist_72.f
1982-
namelist_73.f90
1983-
namelist_80.f90
1984-
namelist_81.f90
1985-
namelist_84.f90
19861908
namelist_87.f90
1987-
namelist_89.f90
1988-
namelist_97.f90
1989-
namelist_char_only.f90
1990-
nan_2.f90
1991-
nearest_1.f90
1992-
nearest_3.f90
1993-
negative_unit.f
1994-
negative_unit_int8.f
1909+
nan_2.f90 # depend on MIN/MAX(1.,NaN) folding to 1.; f18 & Intel return NaN.
1910+
negative_unit_int8.f # depends on 64-bit unit numbers or something?
19951911
no_range_check_1.f90
1996-
norm2_1.f90
1997-
nosigned_zero_2.f90
1998-
open_access_append_2.f90
1999-
open_errors_2.f90
2000-
open_errors_3.f90
2001-
open_negative_unit_1.f90
2002-
open_new_segv.f90
2003-
open_status_2.f90
2004-
pad_source_3.f
2005-
pad_source_4.f
2006-
pad_source_5.f
2007-
pointer_check_6.f90
1912+
nosigned_zero_2.f90 # only works with a -fno-sign-zero option
1913+
open_access_append_2.f90 # expects warning for OPEN(ACCESS='APPEND'), gets one
1914+
open_errors_2.f90 # expects runtime error, gets one
1915+
open_errors_3.f90 # same file open on multiple units - valid in F'2018?
1916+
open_new_segv.f90 # should fail at runtime, and does
1917+
open_status_2.f90 # TODO: support OPEN(STATUS='UNKNOWN')? research
1918+
pad_source_3.f # depends on -fno-pad-source option
1919+
pad_source_4.f # depends on -ffixed-line-length-none option
1920+
pad_source_5.f # depends on -ffixed-line-length-0 option
1921+
pointer_check_6.f90 # depends on -fcheck=pointer
20081922
pr12884.f
2009-
pr17285.f90
20101923
pr17286.f90
2011-
pr17706.f90
2012-
pr18210.f90
2013-
pr19657.f
2014-
pr47757-3.f90
2015-
pr47878.f90
1924+
pr17706.f90 # depends on -fno-sign-zero option
20161925
pr50069_1.f90
20171926
pr59700.f90
20181927
pr71523_2.f90
@@ -2059,7 +1968,6 @@ file(GLOB FAILING_FILES CONFIGURE_DEPENDS
20591968
round_3.f08
20601969
selected_kind_1.f90
20611970
short_circuiting_3.f90
2062-
stop_shouldfail.f90
20631971
streamio_11.f90
20641972
streamio_13.f90
20651973
streamio_17.f90
@@ -2137,6 +2045,7 @@ file(GLOB FAILING_FILES CONFIGURE_DEPENDS
21372045
interface_abstract_2.f90
21382046
intrinsic_param_1.f90
21392047
intrinsic_std_1.f90
2048+
intrinsic_std_4.f90
21402049
io_constraints_10.f90
21412050
io_constraints_11.f90
21422051
iostat_3.f90
@@ -2284,6 +2193,7 @@ file(GLOB FAILING_FILES CONFIGURE_DEPENDS
22842193
associated_3.f90
22852194
bessel_5_redux.f90
22862195
bounds_temporaries_1.f90
2196+
data_char_1.f90
22872197
dec_loc_rval_3.f03
22882198
do_4.f
22892199
do_check_5.f90
@@ -2682,6 +2592,7 @@ file(GLOB FAILING_FILES CONFIGURE_DEPENDS
26822592
# could be that the flag is not being passed correctly to flang in the test
26832593
# suite's build system, or that flang does not support the flag.
26842594
line_length_1.f
2595+
literal_character_constant_1_z.F
26852596

26862597
# In these tests, the -fopenmp and -fopenacc flags are either not being passed
26872598
# correctly to flang while building the tests, or flag does not define the
@@ -2690,7 +2601,7 @@ file(GLOB FAILING_FILES CONFIGURE_DEPENDS
26902601
openmp-define-3.f90
26912602

26922603
# Tests looking for runtime errors (e.g., bound checks). Correctly
2693-
# caught by flang runtime when it is used for array assignments.
2604+
# caught by flang runtime.
26942605
allocate_error_6.f90
26952606
allocate_with_source_22.f03
26962607
allocate_with_source_23.f03
@@ -2699,6 +2610,11 @@ file(GLOB FAILING_FILES CONFIGURE_DEPENDS
26992610
bounds_check_12.f90
27002611
bounds_check_array_ctor_4.f90
27012612
bounds_check_fail_3.f90
2613+
cshift_bounds_3.f90
2614+
cshift_bounds_4.f90
2615+
dim_sum_1.f90
2616+
dim_sum_2.f90
2617+
dim_sum_3.f90
27022618
inline_matmul_1.f90
27032619
maxloc_bounds_1.f90
27042620
maxloc_bounds_2.f90
@@ -2714,6 +2630,9 @@ file(GLOB FAILING_FILES CONFIGURE_DEPENDS
27142630
# Bad test, assigning an 11 elements array to a 12 elements array.
27152631
transfer_array_intrinsic_4.f90
27162632

2633+
# Bad test; reads 0.D99999 from a file; every other Fortran works
2634+
io_err_1.f90
2635+
27172636
# Fails at -O3 with HLFIR. Gfortran emits warnings when compiling,
27182637
# needs investigation.
27192638
maxlocval_1.f90
@@ -2722,15 +2641,34 @@ file(GLOB FAILING_FILES CONFIGURE_DEPENDS
27222641
# being used on a derived type with defined unformatted output.
27232642
dtio_16.f90
27242643

2725-
# Fail at runtime due to dependence on gfortran's specific IOSTAT
2726-
# error code numbers or IOMSG error message texts.
2644+
# Fail at runtime due to dependence on gfortran's specific IOSTAT=
2645+
# error code numbers or IOMSG= error message texts.
2646+
direct_io_7.f90
27272647
dtio_10.f90
27282648
dtio_15.f90
27292649
dtio_24.f90
27302650
dtio_26.f03
2651+
iostat_4.f90
2652+
namelist_89.f90
2653+
namelist_97.f90
27312654

2732-
# Depends on gfortran's exact NAMELIST output spacing.
2655+
# Depends on gfortran's exact NAMELIST output spacing and record advances
27332656
dtio_25.f90
2657+
namelist_18.f90
2658+
namelist_19.f90
2659+
namelist_38.f90
2660+
namelist_57.f90
2661+
namelist_65.f90
2662+
namelist_84.f90
2663+
pr18210.f90
2664+
2665+
# Bad test that expects partial NAMELIST input into a character array to
2666+
# blank-fill the remaining elements.
2667+
namelist_56.f90
2668+
2669+
# Bad test that expects truncated NAMELIST input groups to be treated as
2670+
# END= conditions rather than ERR= conditions (like every other Fortran).
2671+
namelist_81.f90
27342672

27352673
# Bad test that expects the result of TRIM() to have a leading space
27362674
dtio_14.f90
@@ -2761,9 +2699,14 @@ file(GLOB FAILING_FILES CONFIGURE_DEPENDS
27612699
# Unimplemented extension: \b backslash escapes in FORMAT statements
27622700
backslash_3.f
27632701

2764-
# Depends on gfortran's exact ALLOCATE(ERRMSG=) wording
2702+
# Depends on gfortran's exact (DE)ALLOCATE(ERRMSG=) wording
27652703
allocate_alloc_opt_15.f90
27662704
allocate_alloc_opt_3.f90
2705+
deallocate_alloc_opt_3.f90
2706+
deallocate_stat_2.f90
2707+
2708+
# Depends on gfortran's exact non-zero (DE)ALLOCATE(STAT=) codes
2709+
deallocate_stat.f90
27672710

27682711
# Depends on gfortran's incorrect return of EOR (-2) on internal
27692712
# WRITE record overflow
@@ -2773,7 +2716,60 @@ file(GLOB FAILING_FILES CONFIGURE_DEPENDS
27732716
# WRITE array overflow
27742717
arrayio_5.f90
27752718

2776-
# Depends on gfortran's spacing of list-directed output
2719+
# Depends on gfortran's implementation of list-directed & G0 output
27772720
char4_iunit_1.f03
27782721
char4_iunit_2.f03
2722+
f2003_io_5.f03
2723+
fmt_f_default_field_width_1.f90
2724+
fmt_f_default_field_width_2.f90
2725+
fmt_g0_1.f08
2726+
fmt_g_default_field_width_1.f90
2727+
fmt_g_default_field_width_2.f90
2728+
fmt_i_default_field_width_1.f90
2729+
fmt_i_default_field_width_2.f90
2730+
fmt_l.f90
2731+
fmt_zero_width.f90
2732+
list_directed_large.f90
2733+
2734+
# Depends on gfortran padding Hollerith with blanks up to even 32-bit words.
2735+
# gfortran & nvfortran do so; ifort/ifx, NAG, and f18 pad with zeroes; XLF
2736+
# doesn't pad at all.
2737+
hollerith8.f90
2738+
2739+
# Depends on gfortran returning a nonstandard "UNSPECIFIED" result for
2740+
# INQUIRE(..., POSITION=).
2741+
inquire_5.f90
2742+
2743+
# Depends on gfortran's specific maximum sequential unformatted record size.
2744+
inquire_recl_f2018.f90
2745+
2746+
# gfortran interprets INQUIRE(-1, ..., IOSTAT=) as a failed attempt to
2747+
# inquire a child unit created for defined I/O to an internal unit, even
2748+
# when it is not; f18 treats it as a nonexistent external unit.
2749+
# Other compilers vary.
2750+
inquire_internal.f90
2751+
2752+
# gfortran expects FLUSH(unconnected unit) to be a runtime error;
2753+
# all other Fortran compilers, and (debatably) the standard, allow it.
2754+
iostat_5.f90
2755+
2756+
# Depends on gfortran emitting "Infinity" for formatted output;
2757+
# some compilers, including f18, emit "Inf".
2758+
large_real_kind_1.f90
2759+
2760+
# Require -finit-local-zero or similar.
2761+
dec_init_2.f90 # needs -finit-derived -finit-integer=42 &c.
2762+
init_flag_15.f03 # needs -finit-derived -finit-integer
2763+
auto_save_2.f90 # requires -fno-automatic -finit-local-zero
2764+
init_flag_1.f90 # needs -finit-local-zero
2765+
init_flag_2.f90
2766+
init_flag_3.f90
2767+
init_flag_4.f90
2768+
init_flag_5.f90
2769+
init_flag_6.f90
2770+
init_flag_7.f90
2771+
init_flag_9.f90
2772+
2773+
# Requires -ffloat-store
2774+
nearest_1.f90
27792775
)

0 commit comments

Comments
 (0)