Skip to content

Commit 9bfa9e4

Browse files
committed
Rebase onto main. Use the not tool to correctly detect crashes. Update the
disabled files list.
1 parent 433680c commit 9bfa9e4

File tree

2 files changed

+43
-82
lines changed

2 files changed

+43
-82
lines changed

Fortran/gfortran/CMakeLists.txt

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ set(FLANG_ERRORING_FFLAGS
6868
-fcheck-array-temporaries
6969
-fcheck=bounds
7070
-fcheck=do
71+
-fcheck=mem
7172
-fcheck=recursion
7273
-fcoarray=lib
7374
-fcray-pointer
@@ -540,18 +541,12 @@ function(gfortran_add_execute_test expect_error main others fflags ldflags)
540541
get_filename_component(working_dir_name "${working_dir}" NAME)
541542

542543
llvm_test_executable_no_test(${target} ${main} ${others})
543-
544-
if (WIN32)
545-
# Probably need to check %errorlevel% here.
546-
message(FATAL_ERROR "Verification not implemented on Windows.")
544+
if (expect_error)
545+
llvm_test_run(
546+
EXECUTABLE "%b/not --crash %S/${target}"
547+
WORKDIR "%S/${working_dir_name}")
547548
else ()
548-
if (expect_error)
549-
llvm_test_run(
550-
EXECUTABLE "%b/not --crash ${target}"
551-
WORKDIR "%S/${working_dir_name}")
552-
else ()
553-
llvm_test_run(WORKDIR "%S/${working_dir_name}")
554-
endif ()
549+
llvm_test_run(WORKDIR "%S/${working_dir_name}")
555550
endif ()
556551
llvm_add_test_for_target(${target})
557552

Fortran/gfortran/regression/DisabledFiles.cmake

Lines changed: 37 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,8 @@ file(GLOB UNIMPLEMENTED_FILES CONFIGURE_DEPENDS
316316
allocate_with_source_14.f03
317317
allocate_with_source_17.f03
318318
allocate_with_source_21.f03
319+
allocate_with_source_22.f03
320+
allocate_with_source_23.f03
319321
allocate_with_source_25.f90
320322
allocate_with_source_8.f08
321323
associate_18.f08
@@ -534,6 +536,7 @@ file(GLOB UNIMPLEMENTED_FILES CONFIGURE_DEPENDS
534536
proc_ptr_comp_50.f90
535537
proc_ptr_comp_pass_3.f90
536538
proc_ptr_comp_pass_6.f90
539+
ptr_func_assign_1.f08
537540
ptr_func_assign_2.f08
538541
ptr_func_assign_3.f08
539542
realloc_on_assign_20.f90
@@ -1869,6 +1872,23 @@ file(GLOB FAILING_FILES CONFIGURE_DEPENDS
18691872
Wall.f90 # no warning for missing & on continuation line in char constant
18701873
Wno-all.f90 # no warning for missing & on continuation line in char constant
18711874
bessel_7.f90 # unclear
1875+
bounds_check_10.f90
1876+
bounds_check_7.f90
1877+
bounds_check_array_ctor_1.f90
1878+
bounds_check_array_ctor_2.f90
1879+
bounds_check_array_ctor_6.f90
1880+
bounds_check_array_ctor_7.f90
1881+
bounds_check_array_ctor_8.f90
1882+
bounds_check_fail_4.f90
1883+
bounds_check_strlen_1.f90
1884+
bounds_check_strlen_2.f90
1885+
bounds_check_strlen_3.f90
1886+
bounds_check_strlen_4.f90
1887+
bounds_check_strlen_5.f90
1888+
bounds_check_strlen_7.f90
1889+
char_bounds_check_fail_1.f90
1890+
char_pointer_assign_4.f90
1891+
char_pointer_assign_5.f90
18721892
check_bits_1.f90 # requires -fcheck=bits to catch ISHFTC runtime error
18731893
check_bits_2.f90 # requires -fcheck=bits to catch ISHFTC runtime error
18741894
internal_dummy_2.f08 # causes flang-new to crash llvm-project/issues/76927
@@ -1877,10 +1897,16 @@ file(GLOB FAILING_FILES CONFIGURE_DEPENDS
18771897
dollar_edit_descriptor_4.f # TODO: (i3,$) format shouldn't advance record when looping
18781898
list_read_11.f90 # more CR character shenanigans
18791899
matmul_5.f90
1900+
matmul_bounds_10.f90
18801901
matmul_bounds_11.f90
18811902
matmul_bounds_13.f90
18821903
matmul_bounds_15.f
18831904
matmul_bounds_16.f
1905+
matmul_bounds_2.f90
1906+
matmul_bounds_3.f90
1907+
matmul_bounds_4.f90
1908+
matmul_bounds_5.f90
1909+
matmul_bounds_8.f90
18841910
matmul_bounds_7.f90
18851911
matmul_bounds_9.f90
18861912
maxloc_2.f90
@@ -1890,6 +1916,7 @@ file(GLOB FAILING_FILES CONFIGURE_DEPENDS
18901916
maxlocval_2.f90
18911917
maxlocval_4.f90
18921918
merge_bits_2.F90
1919+
merge_char_3.f90
18931920
minloc_1.f90
18941921
minlocval_1.f90
18951922
minlocval_4.f90
@@ -1929,6 +1956,11 @@ file(GLOB FAILING_FILES CONFIGURE_DEPENDS
19291956
pr96436_3.f90
19301957
pr96436_4.f90
19311958
pr96436_5.f90
1959+
pr96436_6.f90
1960+
pr96436_7.f90
1961+
pr96436_8.f90
1962+
pr96436_9.f90
1963+
pr96436_10.f90
19321964
promotion_3.f90
19331965
promotion_4.f90
19341966
promotion.f90
@@ -1960,7 +1992,10 @@ file(GLOB FAILING_FILES CONFIGURE_DEPENDS
19601992
real8-4.f90
19611993
real_const_3.f90
19621994
realloc_on_assign_11.f90
1995+
recursive_check_11.f90
1996+
recursive_check_13.f90
19631997
recursive_check_7.f90
1998+
recursive_check_9.f90
19641999
repeat_1.f90
19652000
reshape_order_1.f90
19662001
reshape_order_2.f90
@@ -1974,10 +2009,12 @@ file(GLOB FAILING_FILES CONFIGURE_DEPENDS
19742009
streamio_17.f90
19752010
streamio_4.f90
19762011
system_clock_3.f08
2012+
transpose_2.f90
19772013
unf_io_convert_4.f90
19782014
unf_read_corrupted_1.f90
19792015
unf_short_record_1.f90
19802016
unformatted_subrecord_1.f90
2017+
unpack_bounds_1.f90
19812018
unpack_bounds_2.f90
19822019
unpack_bounds_3.f90
19832020
utf8_1.f03
@@ -1991,77 +2028,6 @@ file(GLOB FAILING_FILES CONFIGURE_DEPENDS
19912028
write_check.f90
19922029
zero_sized_1.f90
19932030

1994-
# ---------------------------------------------------------------------------
1995-
#
1996-
# These tests are expected to fail at runtime, but pass instead.
1997-
#
1998-
allocate_error_1.f90
1999-
bounds_check_7.f90
2000-
bounds_check_10.f90
2001-
all_bounds_1.f90
2002-
bounds_check_12.f90
2003-
bounds_check_array_ctor_1.f90
2004-
bounds_check_array_ctor_2.f90
2005-
bounds_check_array_ctor_4.f90
2006-
bounds_check_array_ctor_6.f90
2007-
bounds_check_array_ctor_7.f90
2008-
bounds_check_array_ctor_8.f90
2009-
bounds_check_fail_3.f90
2010-
bounds_check_fail_4.f90
2011-
bounds_check_strlen_1.f90
2012-
bounds_check_strlen_2.f90
2013-
bounds_check_strlen_3.f90
2014-
bounds_check_strlen_4.f90
2015-
bounds_check_strlen_5.f90
2016-
bounds_check_strlen_7.f90
2017-
char_bounds_check_fail_1.f90
2018-
char_pointer_assign_4.f90
2019-
char_pointer_assign_5.f90
2020-
cshift_bounds_2.f90
2021-
deallocate_error_1.f90
2022-
deallocate_error_2.f90
2023-
do_check_2.f90
2024-
do_check_3.f90
2025-
do_check_4.f90
2026-
do_check_11.f90
2027-
do_check_12.f90
2028-
endfile_4.f90
2029-
fmt_g0_2.f08
2030-
inline_sum_bounds_check_1.f90
2031-
inline_sum_bounds_check_2.f90
2032-
io_real_boz2.f90
2033-
io_real_boz_4.f90
2034-
io_real_boz_5.f90
2035-
matmul_bounds_2.f90
2036-
matmul_bounds_3.f90
2037-
matmul_bounds_4.f90
2038-
matmul_bounds_5.f90
2039-
matmul_bounds_8.f90
2040-
matmul_bounds_10.f90
2041-
maxloc_bounds_1.f90
2042-
maxloc_bounds_2.f90
2043-
maxloc_bounds_3.f90
2044-
maxloc_bounds_4.f90
2045-
maxloc_bounds_5.f90
2046-
maxloc_bounds_7.f90
2047-
maxloc_bounds_8.f90
2048-
merge_char_3.f90
2049-
no_unit_error_1.f90
2050-
pack_bounds_1.f90
2051-
pointer_check_10.f90
2052-
pointer_remapping_6.f08
2053-
pr96436_6.f90
2054-
pr96436_7.f90
2055-
pr96436_8.f90
2056-
pr96436_9.f90
2057-
pr96436_10.f90
2058-
recursive_check_9.f90
2059-
recursive_check_11.f90
2060-
recursive_check_13.f90
2061-
spread_bounds_1.f90
2062-
transpose_2.f90
2063-
unpack_bounds_1.f90
2064-
20652031
# ---------------------------------------------------------------------------
20662032
#
20672033
# This test fails with optimizations enabled, but succeeds when compiled

0 commit comments

Comments
 (0)