@@ -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