Skip to content

Commit a73e05c

Browse files
authored
[fortran] Update gfortran disabled test list now that CLASS is lowered (#109)
All the TODOs and bugs related to CLASS have been implemented/fixed. Enable newly passing tests and move all other failing tests under existing or new categories. None of these failures are bugs, most are different TODOs, unimplemented runtime checks, or cases where flang will behave differently than gfortran on purpose. disable class_allocate_19 until further investigation.
1 parent 6c6a2b1 commit a73e05c

File tree

2 files changed

+39
-42
lines changed

2 files changed

+39
-42
lines changed

Fortran/gfortran/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,10 @@ set(FLANG_ERRORING_FFLAGS
138138
-fdiagnostics-format=json
139139
-fdiagnostics-show-option
140140
-fdollar-ok
141+
-fdump-fortran-original
141142
-fdump-ipa-cp-details
142143
-fdump-ipa-fnsummary-details
144+
-fdump-ipa-inline
143145
-fdump-ipa-inline-details
144146
-fdump-ipa-sra-details
145147
-fdump-rtl-combine
@@ -149,6 +151,7 @@ set(FLANG_ERRORING_FFLAGS
149151
-fdump-tree-cunrolli-details
150152
-fdump-tree-dom2
151153
-fdump-tree-dom2-details
154+
-fdump-tree-dse-details
152155
-fdump-tree-forwprop2
153156
-fdump-tree-fre1
154157
-fdump-tree-gimple

Fortran/gfortran/regression/DisabledFiles.cmake

Lines changed: 36 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,8 @@ file(GLOB UNSUPPORTED_FILES CONFIGURE_DEPENDS
115115
print_fmt_3.f
116116
# Unsupported extension intrinsic functions DACOSH, ZCOS, &c.
117117
specifics_2.f90
118+
# Passing Hollerith to CLASS(*). This is not standard. Flang passes it as character.
119+
unlimited_polymorphic_14.f90
118120
# Unsupported predefined macro: __TIMESTAMP__
119121
wdate-time.F90
120122
)
@@ -148,6 +150,8 @@ file(GLOB UNIMPLEMENTED_FILES CONFIGURE_DEPENDS
148150
assumed_rank_20.f90
149151
assumed_rank_21.f90
150152
assumed_type_9.f90
153+
assumed_type_10.f90
154+
assumed_type_11.f90
151155
bind-c-contiguous-2.f90
152156
interface_49.f90
153157
is_contiguous_2.f90
@@ -160,6 +164,7 @@ file(GLOB UNIMPLEMENTED_FILES CONFIGURE_DEPENDS
160164
sizeof_4.f90
161165
sizeof_6.f90
162166
unlimited_polymorphic_1.f03
167+
unlimited_polymorphic_32.f90
163168

164169
# unimplemented: ASYNCHRONOUS in procedure interface
165170
assumed_rank_13.f90
@@ -184,47 +189,6 @@ file(GLOB UNIMPLEMENTED_FILES CONFIGURE_DEPENDS
184189
pr39695_1.f90
185190
pr63797.f90
186191

187-
# unimplemented: support for polymorphic types.
188-
allocate_alloc_opt_8.f90
189-
assumed_type_10.f90
190-
assumed_type_11.f90
191-
assumed_type_16.f90
192-
assumed_type_1.f90
193-
assumed_type_2.f90
194-
assumed_type_4.f90
195-
c_f_pointer_tests_5.f90
196-
class_3.f03
197-
class_45a.f03
198-
class_52.f90
199-
class_allocate_19.f03
200-
class_array_3.f03
201-
coarray_allocate_2.f08
202-
coarray_allocate_3.f08
203-
coarray_allocate_5.f08
204-
coarray_lib_alloc_2.f90
205-
coarray_lib_alloc_3.f90
206-
coarray_poly_5.f90
207-
der_io_5.f90
208-
implicit_class_1.f90
209-
intent_out_7.f90
210-
pointer_array_5.f90
211-
pr105501.f90
212-
pr48958.f90
213-
pr57987.f90
214-
pr63331.f90
215-
pr78092.f90
216-
ptr_func_assign_2.f08
217-
realloc_on_assign_20.f90
218-
realloc_on_assign_21.f90
219-
select_type_17.f03
220-
select_type_48.f90
221-
sizeof_5.f90
222-
storage_size_1.f08
223-
typebound_proc_15.f03
224-
unlimited_polymorphic_14.f90
225-
unlimited_polymorphic_3.f03
226-
unlimited_polymorphic_32.f90
227-
228192
# unimplemented: BIND (C) internal procedure.
229193
ISO_Fortran_binding_19.f90
230194
array_reference_3.f90
@@ -277,12 +241,18 @@ file(GLOB UNIMPLEMENTED_FILES CONFIGURE_DEPENDS
277241
coarray_19.f90
278242
coarray_25.f90
279243
coarray_30.f90
244+
coarray_allocate_2.f08
245+
coarray_allocate_3.f08
246+
coarray_allocate_5.f08
280247
coarray_alloc_with_implicit_sync_1.f90
281248
coarray_alloc_with_implicit_sync_2.f90
282249
coarray_lib_alloc_1.f90
250+
coarray_lib_alloc_2.f90
251+
coarray_lib_alloc_3.f90
283252
coarray_lib_token_3.f90
284253
coarray_lock_7.f90
285254
coarray_poly_4.f90
255+
intent_out_7.f90
286256

287257
# unimplemented: coarray in procedure interface
288258
coarray_29_1.f90
@@ -294,12 +264,14 @@ file(GLOB UNIMPLEMENTED_FILES CONFIGURE_DEPENDS
294264
coarray_lib_move_alloc_1.f90
295265
coarray_lib_this_image_1.f90
296266
coarray_lib_this_image_2.f90
267+
coarray_poly_5.f90
297268
coarray_poly_6.f90
298269
coarray_poly_7.f90
299270
coarray_poly_8.f90
300271
class_optional_1.f90
301272
class_optional_2.f90
302273
coarray_41.f90
274+
pr63331.f90
303275
submodule_26.f08
304276

305277
# unimplemented: coarray reference
@@ -538,7 +510,6 @@ file(GLOB SKIPPED_FILES CONFIGURE_DEPENDS
538510
c_char_tests.f03
539511

540512
# Categorize and debug further
541-
bounds_check_17.f90 # needs -fcheck=bounds
542513
c_char_tests_3.f90 # runtime segfault
543514
c_funptr_1.f90 # needs "win32_types" module
544515
c_funptr_1_mod.f90 # needs "win32_types" module
@@ -574,6 +545,10 @@ file(GLOB SKIPPED_FILES CONFIGURE_DEPENDS
574545
pr69739.f90
575546
typebound_call_32.f90
576547

548+
# Crashes at compile time in certain builds
549+
# https://github.com/llvm/llvm-project/issues/89179
550+
class_allocate_19.f03
551+
577552
# --------------------------------------------------------------------------
578553
#
579554
# These tests are skipped because they result in a compile error. This may
@@ -1221,6 +1196,7 @@ file(GLOB FAILING_FILES CONFIGURE_DEPENDS
12211196
boz_10.f90
12221197
boz_7.f90
12231198
byte_1.f90
1199+
class_3.f03
12241200
common_19.f90
12251201
common_9.f90
12261202
constructor_4.f90
@@ -1283,10 +1259,12 @@ file(GLOB FAILING_FILES CONFIGURE_DEPENDS
12831259
warnings_are_errors_1.f90
12841260

12851261
# -std=f2003 tests to detect Fortran 2008 features
1262+
allocate_alloc_opt_8.f90
12861263
bessel_3.f90
12871264
bind_c_array_params.f03
12881265
bind_c_bool_1.f90
12891266
binding_label_tests_20.f90
1267+
class_52.f90
12901268
c_funloc_tests_5.f03
12911269
c_kind_int128_test1.f03
12921270
c_loc_test_19.f90
@@ -1313,12 +1291,17 @@ file(GLOB FAILING_FILES CONFIGURE_DEPENDS
13131291
pointer_target_2.f90
13141292
pr95373_2.f90
13151293
ptr-func-2.f90
1294+
ptr_func_assign_2.f08
13161295
pure_formal_2.f90
13171296
rank_2.f90
1297+
realloc_on_assign_20.f90
13181298
type_decl_2.f90
13191299
typebound_proc_3.f03
1300+
typebound_proc_15.f03
13201301

13211302
# -std=f2008 tests to detect Fortran 2018 features
1303+
assumed_type_16.f90
1304+
assumed_type_4.f90
13221305
bind_c_usage_28.f90
13231306
c_loc_tests_11.f03
13241307
coarray_collectives_2.f90
@@ -1346,6 +1329,7 @@ file(GLOB FAILING_FILES CONFIGURE_DEPENDS
13461329
# Tests that are not errors, and compile just fine with flang
13471330
constant_shape.f90
13481331
continuation_2.f90
1332+
der_io_5.f90 # gfortran's error is inappropriate, array-ctor are not polymorphic.
13491333
equiv_pure.f90 # gfortran's error is inappropriate for this test
13501334
finalize_9.f90
13511335
func_decl_3.f90
@@ -1354,6 +1338,7 @@ file(GLOB FAILING_FILES CONFIGURE_DEPENDS
13541338
interface_7.f90
13551339
intrinsic_short-long.f90
13561340
parameter_array_init_6.f90
1341+
pr105501.f90 # Missing space between TYPE and IS is not ambiguous for parser.
13571342
pr19936_1.f90 # ac-do-variables are their own entities
13581343
pr35031.f90 # ENTRY in ELEMENTAL
13591344
pr43996.f90
@@ -1363,6 +1348,7 @@ file(GLOB FAILING_FILES CONFIGURE_DEPENDS
13631348
pr88328.f90
13641349
recursive_check_1.f # RECURSIVE is now default
13651350
recursive_check_2.f90
1351+
select_type_17.f03 # gfortran's error is inappropriate: pointer results are variables.
13661352
string_1_lp64.f90
13671353
substr_10.f90
13681354

@@ -1390,6 +1376,7 @@ file(GLOB FAILING_FILES CONFIGURE_DEPENDS
13901376
associated_3.f90
13911377
bessel_5_redux.f90
13921378
bounds_temporaries_1.f90
1379+
c_f_pointer_tests_5.f90
13931380
dec_loc_rval_3.f03
13941381
do_4.f
13951382
do_check_5.f90
@@ -1897,6 +1884,13 @@ file(GLOB FAILING_FILES CONFIGURE_DEPENDS
18971884
init_flag_7.f90
18981885
init_flag_9.f90
18991886

1887+
# Require -fno-realloc-lhs or similar.
1888+
realloc_on_assign_21.f90
1889+
1890+
# Require -fcheck=bounds or similar.
1891+
bounds_check_17.f90
1892+
pr48958.f90
1893+
19001894
# https://github.com/llvm/llvm-project/issues/84088
19011895
pr36006-2.f90
19021896
)

0 commit comments

Comments
 (0)