| #===------------------------------------------------------------------------===# |
| # |
| # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| # See https://llvm.org/LICENSE.txt for license information. |
| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| # |
| #===------------------------------------------------------------------------===# |
| |
| # Some tests in the suite use non-standard features that are supported in |
| # gfortran but are not (and might never be) supported by flang. But if they are, |
| # they should be moved out of here. |
| file(GLOB UNSUPPORTED_FILES CONFIGURE_DEPENDS |
| # -------------------------------------------------------------------------- |
| # |
| # This tests the ability of gfortran to emit code with calling conventions |
| # compatible with g77 and f2c. These will probably never be relevant to |
| # flang. |
| f2c_4.f90 |
| value_4.f90 |
| |
| # -------------------------------------------------------------------------- |
| # |
| # These test/use GNU extensions that are not currently supported by Flang. |
| # |
| # TODO: Some of the tests may actually just use a GNU intrinsic during the |
| # process of testing some other functionality. It may be worthwhile to |
| # include a version elsewhere in this repo which tests that same functionality |
| # but without using any GNU extensions. |
| # |
| backtrace_1.f90 # backtrace |
| complex_intrinsic_1.f90 # complex |
| dec_io_2.f90 # fseek |
| dec_io_2a.f90 # fseek |
| fgetc_1.f90 # fgetc, fputc |
| fgetc_2.f90 # fgetc, fputc |
| fseek.f90 # fseek |
| ftell_1.f90 # ftell |
| ftell_2.f90 # ftell |
| ftell_3.f90 # ftell |
| inquire_10.f90 # getcwd |
| int_conv_1.f90 # int2, int8 |
| itime_idate_1.f # itime, idate |
| itime_idate_2.f # itime, idate |
| list_read_9.f90 # fputc |
| ltime_gmtime_1.f90 # time, ltime, gmtime |
| ltime_gmtime_2.f90 # time, ltime, gmtime |
| malloc_free_1.f90 # malloc, free |
| mclock.f90 # mclock, mclock8 |
| open_errors.f90 # chmod, getuid |
| open_new.f90 # unlink |
| secnds.f # secnds |
| secnds-1.f # secnds |
| stat_1.f90 # stat, fstat, lstat, getuid, getgid |
| stat_2.f90 # stat, fstat, lstat, getuid, getgid |
| transfer_array_intrinsic_2.f90 # rand |
| |
| # --------------------------------------------------------------------------- |
| # |
| # This test emits diagnostics in JSON format and checks the resulting JSON |
| # diagnostic output. |
| diagnostic-format-json-1.F90 |
| |
| # "automatic" attribute extension not supported in parser |
| auto_in_equiv_3.f90 |
| auto_in_equiv_7.f90 |
| # "static" attribute extension not supported in parser |
| auto_in_equiv_6.f90 |
| # BESJ0 intrinsic function extension not supported |
| bessel_2.f90 |
| # COMPLEX intrinsic function extension not supported (standard is CMPLX) |
| boz_complex_2.f90 |
| # BOZ not allowed in FLOAT intrinsic function extension (which is supported) -- would be easy to add |
| boz_float_2.f90 |
| # THIS_IMAGE(DISTANCE=), NUM_IMAGES(DISTANCE=), and NUM_IMAGES(FAILED=) extensions not supported |
| coarray_this_image_1.f90 |
| coarray_this_image_2.f90 |
| # f18 requires extension Cray pointee to be a sequence type if derived |
| cray_pointers_11.f90 |
| # Unimplemented in extension: assumed-size Cray pointee |
| cray_pointers_6.f90 |
| # Unimplemented in extension: Cray pointer to function |
| cray_pointers_9.f90 |
| # DEC "typed" bit intrinsics: BBTEST, BITEST, FLOATI, FLOATJ, BIEOR, &c. |
| dec_intrinsic_ints.f90 |
| # COTAN extension intrinsic |
| dec_math_4.f90 |
| # DEC old-style PARAMETER statement without parentheses |
| dec_parameter_3.f90 |
| # TYPE statement as a synonym for PRINT |
| dec_type_print.f90 |
| # Unsupported extension intrinsic procedures for POSIX APIs (chdir, symlnk, getpid, &c) |
| g77_intrinsics_sub.f |
| noreturn-3.f90 |
| # Unsupported: assignment of Hollerith to numeric (b = 4habcd), Hollerith in DATA for numeric, &c. |
| hollerith5.f90 |
| hollerith_legacy.f90 |
| # Unsupported REALPART and IMAGPART extension intrinsic functions |
| imag_1.f |
| initialization_29.f90 |
| # Unsupported ETIME intrinsic procedure |
| intrinsic_8.f90 |
| # Unsupported SIGNAL intrinsic procedure |
| intrinsic_signal.f90 |
| # Unsupported directive !GCC$ attributes NO_ARG_CHECK :: buf leads to semantic errors |
| no_arg_check_1.f90 |
| no_arg_check_2.f90 |
| # Unsupported directive syntax !dir$ unroll(2) |
| pr88148.f90 |
| pr91496.f90 |
| # Unsupported extension: using .NOT., .OR., &c. on INTEGER |
| pr88228.f90 |
| # Unsupported extension: BOZ output list item |
| pr91650_2.f90 |
| # Unsupoorted extension: PRINT NAMELIST_NAME |
| print_fmt_3.f |
| # Unsupported extension intrinsic functions DACOSH, ZCOS, &c. |
| specifics_2.f90 |
| # Passing Hollerith to CLASS(*). This is not standard. Flang passes it as character. |
| unlimited_polymorphic_14.f90 |
| # Unsupported predefined macro: __TIMESTAMP__ |
| wdate-time.F90 |
| ) |
| |
| # These tests are skipped because they hit a 'not yet implemented' assertion |
| # in flang and thus fail to compile. They should be removed from here when the |
| # corresponding feature is implemented. Eventually, this variable should be |
| # removed altogether once all the missing features are implemented. |
| file(GLOB UNIMPLEMENTED_FILES CONFIGURE_DEPENDS |
| # unimplemented: assumed rank in procedure interface. |
| ISO_Fortran_binding_1.f90 |
| ISO_Fortran_binding_13.f90 |
| ISO_Fortran_binding_3.f90 |
| ISO_Fortran_binding_6.f90 |
| PR100029.f90 |
| PR100097.f90 |
| PR100098.f90 |
| PR100911.f90 |
| PR100915.f90 |
| PR93963.f90 |
| PR94022.f90 |
| PR95196.f90 |
| PR95352.f90 |
| PR96726.f90 |
| PR96727.f90 |
| PR96728.f90 |
| PR97046.f90 |
| assumed_rank_12.f90 |
| assumed_rank_18.f90 |
| assumed_rank_19.f90 |
| assumed_rank_20.f90 |
| assumed_rank_21.f90 |
| assumed_type_9.f90 |
| assumed_type_10.f90 |
| assumed_type_11.f90 |
| bind-c-contiguous-2.f90 |
| interface_49.f90 |
| is_contiguous_2.f90 |
| pr103366.f90 |
| pr84088.f90 |
| pr88932.f90 |
| pr92277.f90 |
| pr95828.f90 |
| select_rank_5.f90 |
| sizeof_4.f90 |
| sizeof_6.f90 |
| unlimited_polymorphic_1.f03 |
| unlimited_polymorphic_32.f90 |
| |
| # unimplemented: ASYNCHRONOUS in procedure interface |
| assumed_rank_13.f90 |
| asynchronous_3.f03 |
| |
| # unimplemented: assumed type in actual argument |
| altreturn_10.f90 # bad Fortran, warnings are correct |
| |
| # unimplemented: procedure pointers |
| compiler-directive_1.f90 |
| proc_ptr_1.f90 |
| recursive_check_6.f03 |
| |
| # unimplemented: procedure components |
| pr82253.f90 |
| proc_ptr_24.f90 |
| proc_ptr_comp_14.f90 |
| structure_constructor_11.f90 |
| |
| # unimplemented: procedure pointer results |
| pointer_check_5.f90 |
| pr39695_1.f90 |
| pr63797.f90 |
| |
| # unimplemented: BIND (C) internal procedure. |
| ISO_Fortran_binding_19.f90 |
| array_reference_3.f90 |
| bind_c_char_4.f90 |
| bind_c_char_5.f90 |
| internal_dummy_4.f08 |
| |
| # unimplemented: BIND(C) internal procedures: |
| bind-c-char-descr.f90 |
| bind_c_usage_9.f03 |
| |
| # unimplemented: BIND(C) module variable linkage |
| bind_c_dts.f90 |
| bind_c_vars.f90 |
| binding_label_tests_10.f03 |
| binding_label_tests_13.f03 |
| global_vars_c_init.f90 |
| proc_ptr_8.f90 |
| |
| # unimplemented: character array expression temp with dynamic length. |
| char_length_13.f90 |
| char_result_13.f90 |
| mapping_3.f90 |
| pr77506.f90 |
| |
| # unimplemented: allocatable components in derived type assignment |
| pr50769.f90 |
| |
| # unimplemented: passing dynamically optional argument to elemental procedures |
| bounds_check_fail_2.f90 |
| elemental_optional_args_6.f90 |
| |
| # unimplemented: io-control-spec contains a reference to a non-integer, |
| # non-scalar, or non-variable |
| fmt_nonchar_2.f90 |
| |
| # unimplemented: BOZ |
| boz_bge.f90 |
| nan_4.f90 |
| |
| # unimplemented: coarray address |
| coarray_39.f90 |
| coarray_dependency_1.f90 |
| |
| # unimplemented: coarray allocation |
| associate_26a.f90 |
| associate_26.f90 |
| associate_37.f90 |
| coarray_12.f90 |
| coarray_19.f90 |
| coarray_25.f90 |
| coarray_30.f90 |
| coarray_allocate_2.f08 |
| coarray_allocate_3.f08 |
| coarray_allocate_5.f08 |
| coarray_alloc_with_implicit_sync_1.f90 |
| coarray_alloc_with_implicit_sync_2.f90 |
| coarray_lib_alloc_1.f90 |
| coarray_lib_alloc_2.f90 |
| coarray_lib_alloc_3.f90 |
| coarray_lib_token_3.f90 |
| coarray_lock_7.f90 |
| coarray_poly_4.f90 |
| intent_out_7.f90 |
| |
| # unimplemented: coarray in procedure interface |
| coarray_29_1.f90 |
| coarray_32.f90 |
| coarray_36.f |
| coarray_37.f90 |
| coarray_45.f90 |
| coarray_allocate_4.f08 |
| coarray_lib_move_alloc_1.f90 |
| coarray_lib_this_image_1.f90 |
| coarray_lib_this_image_2.f90 |
| coarray_poly_5.f90 |
| coarray_poly_6.f90 |
| coarray_poly_7.f90 |
| coarray_poly_8.f90 |
| class_optional_1.f90 |
| class_optional_2.f90 |
| coarray_41.f90 |
| pr63331.f90 |
| submodule_26.f08 |
| |
| # unimplemented: coarray reference |
| coarray_lib_comm_1.f90 |
| |
| # unimplemented: co_max |
| coarray_collectives_4.f90 |
| coarray_collectives_5.f90 |
| coarray_collectives_6.f90 |
| |
| # unimplemented: CriticalConstruct implementation |
| coarray_2.f90 |
| coarray_critical_1.f90 |
| |
| # unimplemented: SYNC IMAGES |
| pr71706.f90 |
| |
| # unimplemented: SYNC MEMORY |
| coarray_sync_memory.f90 |
| |
| # unimplemented: intrinsic: atan |
| atan2_1.f90 |
| |
| # unimplemented: intrinsic: co_broadcast |
| coarray_collectives_17.f90 |
| |
| # unimplemented: intrinsic: erfc_scaled |
| erfc_scaled_1.f90 |
| erf_2.F90 |
| erf_3.F90 |
| |
| # Test is not conformant as it expects different value of cmdstat and cmdmsg |
| # Similar test added: UnitTests/execute_command_line |
| execute_command_line_1.f90 |
| execute_command_line_3.f90 |
| |
| # unimplemented: intrinsic: failed_images |
| coarray_failed_images_1.f08 |
| |
| # unimplemented: intrinsic: image_status |
| coarray_image_status_1.f08 |
| |
| # unimplemented: intrinsic: min and max for CHARACTER |
| minmax_char_1.f90 |
| |
| # unimplemented: intrinsic: num_images |
| coarray_allocate_1.f90 |
| coarray_collectives_12.f90 |
| pr96737.f90 |
| |
| # unimplemented: intrinsic: selected_char_kind |
| selected_char_kind_1.f90 |
| selected_char_kind_4.f90 |
| |
| # unimplemented: intrinsic: sind |
| dec_math_2.f90 |
| |
| # unimplemented: intrinsic: stopped_images |
| coarray_stopped_images_1.f08 |
| |
| # unimplemented: intrinsic: this_image |
| coarray_40.f90 |
| coarray_43.f90 |
| coarray_allocate_10.f08 |
| coarray_allocate_7.f08 |
| coarray_allocate_8.f08 |
| coarray_allocate_9.f08 |
| coarray_alloc_comp_1.f08 |
| coarray_alloc_comp_2.f08 |
| coarray_collectives_18.f90 |
| coarray_fail_18.f90 |
| coarray_fail_st.f90 |
| coarray_ptr_comp_1.f08 |
| coarray_ptr_comp_2.f08 |
| coarray_send_by_ref_1.f08 |
| coarray_stat_2.f90 |
| coarray_stat_function.f90 |
| coarray_stat_whitespace.f90 |
| co_reduce_1.f90 |
| pr84784.f90 |
| random_init_3.f90 |
| random_init_4.f90 |
| random_init_5.f90 |
| random_init_6.f90 |
| |
| # unimplemented: %VAL() intrinsic for arguments |
| c_by_val_1.f |
| c_by_val_3.f90 |
| pointer_check_12.f90 |
| |
| # unimplemented: parameterized derived types |
| dec_type_print_2.f03 |
| pdt_1.f03 |
| pdt_10.f03 |
| pdt_11.f03 |
| pdt_12.f03 |
| pdt_15.f03 |
| pdt_19.f03 |
| pdt_22.f03 |
| pdt_25.f03 |
| pdt_27.f03 |
| pdt_28.f03 |
| pdt_7.f03 |
| pdt_9.f03 |
| pr95826.f90 |
| |
| # unimplemented: host associated derived type with length parameters |
| pdt_31.f03 |
| |
| # unimplemented: derived type components with non default lower bounds |
| vax_structure_1.f90 |
| |
| # unimplemented: asynchronous transfers not implemented in runtime |
| f2003_io_1.f03 |
| |
| # unimplemented: support for UNION |
| dec_init_1.f90 |
| dec_init_3.f90 |
| dec_init_4.f90 |
| dec_structure_13.f90 |
| dec_structure_16.f90 |
| dec_structure_22.f90 |
| dec_union_1.f90 |
| dec_union_10.f90 |
| dec_union_11.f90 |
| dec_union_12.f90 |
| dec_union_2.f90 |
| dec_union_3.f90 |
| dec_union_4.f90 |
| dec_union_5.f90 |
| dec_union_6.f90 |
| dec_union_8.f90 |
| dec_union_9.f90 |
| pr78259.f90 |
| |
| # unimplemented: VOLATILE in procedure interface |
| volatile12.f90 |
| |
| # unimplemented: no math runtime available for '[SYM]' |
| large_real_kind_2.F90 |
| large_real_kind_3.F90 |
| large_real_kind_3.F90 |
| large_real_kind_form_io_1.f90 |
| norm2_3.f90 |
| pr96711.f90 |
| |
| # unimplemented: calling character elemental function with |
| # non constant character length (HLFIR regression). |
| array_temporaries_3.f90 |
| pure_byref_1.f90 |
| |
| # unimplemented: pointer assignments inside FORALL (HLFIR |
| # regression) |
| dependency_19.f90 |
| forall_3.f90 |
| pr49698.f90 |
| |
| # unimplemented: compute elemental function result length parameters in HLFIR |
| elemental_function_3.f90 |
| |
| # These tests are NYI: support for polymorphic types; when polymorphic |
| # type support is enabled by option, they pass. Delete these when |
| # polymorphic types are enabled by default. |
| class_allocate_15.f90 |
| dtio_27.f90 |
| submodule_6.f08 |
| ) |
| |
| # These tests are skipped because they cannot be compiled. Unlike the |
| # UnimplementedTests list, they do not fail with a "not yet implemented" |
| # assertion. The root cause for the failure could very well be one of those, |
| # but with the specific failure mode that is observed, it is not clear what |
| # missing feature is causing the compile-failure for these tests. |
| # If any of these tests use features that will never be supported, they should |
| # be moved to the UnsupportedTests list. If the cause of the failure of any |
| # tests in this list is addressed, they should be removed from here. |
| # |
| file(GLOB SKIPPED_FILES CONFIGURE_DEPENDS |
| # -------------------------------------------------------------------------- |
| # |
| # These tests are skipped because they trigger internal compiler errors. |
| # |
| |
| # These still crash with flang-new when compiling in this test |
| # environment, but are usually successful when run manually. |
| ISO_Fortran_binding_8.f90 |
| ISO_Fortran_binding_12.f90 |
| binding_c_table_15_1.f03 |
| binding_label_tests_16.f03 |
| binding_label_tests_33.f90 |
| bind_c_coms.f90 |
| bind_c_dts_2.f03 |
| bind_c_usage_10.f03 |
| bind_c_usage_16.f03 |
| bind_c_usage_24.f90 |
| bind_c_usage_33.f90 |
| com_block_driver.f90 |
| c_char_tests_2.f03 |
| c_funloc_tests.f03 |
| c_funloc_tests_3.f03 |
| c_funloc_tests_4.f03 |
| c_f_pointer_shape_tests_5.f90 |
| c_f_pointer_tests.f90 |
| c_f_pointer_tests_4.f90 |
| c_kind_int128_test2.f03 |
| c_loc_test.f90 |
| c_loc_tests_2.f03 |
| c_loc_test_20.f90 |
| c_ptr_tests.f03 |
| c_ptr_tests_14.f90 |
| c_ptr_tests_19.f90 |
| c_ptr_tests_7.f03 |
| c_ptr_tests_8.f03 |
| c_sizeof_1.f90 |
| c_sizeof_5.f90 |
| c_size_t_test.f03 |
| deferred_character_10.f90 |
| iso_c_binding_rename_2.f03 |
| iso_fortran_binding_uint8_array.f90 |
| logical_temp_io.f90 |
| logical_temp_io_kind8.f90 |
| pointer_remapping_10.f90 |
| pr32627.f03 |
| pr35983.f90 |
| pr43866.f90 |
| pr71764.f90 |
| pr88611.f90 |
| print_c_kinds.f90 |
| proc_decl_17.f90 |
| proc_decl_2.f90 |
| repack_arrays_1.f90 |
| transfer_simplify_10.f90 |
| value_tests_f03.f90 |
| |
| # lowering bugs (reported) |
| c_char_tests.f03 |
| |
| # Categorize and debug further |
| c_char_tests_3.f90 # runtime segfault |
| c_funptr_1.f90 # needs "win32_types" module |
| c_funptr_1_mod.f90 # needs "win32_types" module |
| c_kind_params.f90 # runtime failure detected in test |
| class_assign_4.f90 # NYI: vector subscripted polymorphic in HLFIR |
| coarray_allocate_6.f08 # NYI: allocation of coarray |
| coarray_alloc_comp_3.f08 # NYI: allocation of coarray |
| coarray_alloc_comp_6.f08 # NYI: lowering coarray reference |
| coarray_alloc_comp_7.f08 # NYI: lowering coarray reference |
| coarray_alloc_comp_8.f08 # NYI: lowering coarray reference |
| coarray_lib_alloc_4.f90 # NYI: allocation of coarray |
| coarray_poly_9.f90 # NYI: allocation of coarray |
| c_ptr_tests_10.f03 # valid compilation error on print of c_null_ptr (?) |
| c_ptr_tests_9.f03 # valid compilation error on print of c_null_ptr (?) |
| ISO_Fortran_binding_10.f90 # test reports failure at runtime |
| ISO_Fortran_binding_18.f90 # runtime abort |
| ISO_Fortran_binding_5.f90 # test reports failure at runtime |
| ISO_Fortran_binding_7.f90 # test reports failure at runtime |
| winapi.f90 # needs -lkernel32 and target *-*-cygwin* |
| widechar_11.f90 # No ASSIGNMENT matches TYPE(c_ptr) and TYPE(__builtin_c_ptr) |
| |
| # error: 'fir.convert' op invalid type conversion |
| c_char_tests_4.f90 |
| c_char_tests_5.f90 |
| |
| # error: a function must have a type |
| proc_decl_9.f90 |
| |
| # error: not a constant derived type expression |
| coarray_42.f90 |
| init_flag_10.f90 |
| pr68078.f90 |
| pr69739.f90 |
| typebound_call_32.f90 |
| |
| # Crashes at compile time in certain builds |
| # https://github.com/llvm/llvm-project/issues/89179 |
| class_allocate_19.f03 |
| |
| # -------------------------------------------------------------------------- |
| # |
| # These tests are skipped because they result in a compile error. This may |
| # be the result of them exercising unsupported extensions that are not |
| # supported in flang or some other reason. If there are multiple errors |
| # in a single file, each distinct error message will be provided. |
| |
| # error: Entity in ALLOCATE statement must have the ALLOCATABLE or POINTER |
| # attribute |
| ISO_Fortran_binding_15.f90 |
| |
| # error: Left-hand side of assignment may not be polymorphic unless |
| # assignment is to an entire allocatable |
| PR100040.f90 |
| PR100103.f90 |
| |
| # error: The left-hand side of a pointer assignment is not definable |
| PR100094.f90 |
| |
| # error: Assumed-rank array cannot be forwarded to '[var]=' argument |
| PR100906.f90 |
| PR100914.f90 |
| assumed_rank_10.f90 |
| assumed_rank_24.f90 |
| assumed_rank_9.f90 |
| associated_assumed_rank.f90 |
| assumed_rank_16.f90 |
| assumed_rank_8.f90 |
| |
| # error: Pointer has rank 0 but target has rank [n] |
| assumed_rank_1.f90 |
| |
| # error: Actual argument variable length '1' does not match the expected |
| # length '77' |
| PR95214.f90 |
| |
| # error: Dimension 1 of left operand has extent [m], but right operand has |
| # extent [n] |
| PR94289.f90 |
| assumed_rank_2.f90 |
| assumed_rank_22.f90 |
| assumed_rank_bounds_2.f90 |
| assumed_rank_bounds_3.f90 |
| assumed_rank_17.f90 |
| assumed_rank_bounds_1.f90 |
| |
| # error: DIM=3 dimension is out of range for rank-1 array |
| assumed_rank_3.f90 |
| assumed_rank_7.f90 |
| |
| # error: Subscript [m] is less than lower bound [n] for dimension [d] of |
| # array |
| bounds_check_11.f90 |
| bounds_check_fail_1.f90 |
| |
| # error: Assumed-size polymorphic array may not be associated with a |
| # monomorphic dummy argument |
| class_dummy_7.f90 |
| |
| # error: '[var]' is an external procedure without the EXTERNAL attribute in |
| # a scope with IMPLICIT NONE(EXTERNAL) |
| assumed_type_13.f90 |
| bind-c-contiguous-3.f90 |
| |
| # error: Assumed type argument requires an explicit interface |
| assumed_type_2a.f90 |
| |
| # error: No intrinsic or user-defined ASSIGNMENT(=) matches operand types |
| # 'TYPE 1' and 'TYPE 2' |
| dec-comparison-complex_1.f90 |
| dec-comparison-complex_2.f90 |
| dec-comparison-int_1.f90 |
| dec-comparison-int_2.f90 |
| dec-comparison-real_1.f90 |
| dec-comparison-real_2.f90 |
| dec_char_conversion_in_assignment_1.f90 |
| dec_char_conversion_in_assignment_2.f90 |
| dec_char_conversion_in_assignment_3.f90 |
| dec_char_conversion_in_assignment_5.f90 |
| dec_char_conversion_in_assignment_6.f90 |
| dec_char_conversion_in_assignment_7.f90 |
| hollerith2.f90 |
| hollerith4.f90 |
| hollerith6.f90 |
| pdt_23.f03 |
| |
| # error: Operands of .AND. must be LOGICAL; have 'TYPE 1' and 'TYPE 2' |
| dec_bitwise_ops_1.f90 |
| dec_bitwise_ops_2.f90 |
| |
| # error: A BIND(C) object must have an interoperable type |
| bind-c-contiguous-1.f90 |
| bind-c-contiguous-4.f90 |
| bind-c-contiguous-5.f90 |
| bind_c_char_10.f90 |
| char4_decl-2.f90 |
| |
| # error: A dim= argument is required for 'size' when the array is |
| # assumed-size |
| class_dummy_6.f90 |
| |
| # error: No explicit type declared for '[sym]' |
| PR49268.f90 |
| boz_complex_3.f90 |
| char_result_19.f90 |
| chmod_1.f90 |
| chmod_2.f90 |
| chmod_3.f90 |
| coarray_16.f90 |
| cray_pointers_7.f90 |
| dec_math.f90 |
| dec_math_5.f90 |
| fmt_en.f90 |
| fmt_en_rd.f90 |
| fmt_en_rn.f90 |
| fmt_en_ru.f90 |
| fmt_en_rz.f90 |
| fmt_g0_6.f08 |
| fmt_pf.f90 |
| interface_12.f90 |
| result_in_spec_1.f90 |
| unlimited_polymorphic_13.f90 |
| |
| # error: Shape of initialized object 'foo' must be constant |
| pdt_26.f03 |
| |
| # error: Kind type parameters of allocatable object must be the same as the |
| # corresponding ones of SOURCE or MOLD expression |
| pdt_3.f03 |
| |
| # error: [sym] is not a variable |
| cray_pointers_8.f90 |
| |
| # error: Typeless (BOZ) not allowed for 'a=' argument |
| boz_float_3.f90 |
| |
| # error: Actual argument for 'i=' has bad type 'LOGICAL(1)' |
| and_or_xor.f90 |
| |
| # error: Argument of ALLOCATED() must be an ALLOCATABLE object or component |
| select_rank_1.f90 |
| |
| # error: 'coarray=' argument must have corank > 0 for intrinsic 'lcobound' |
| bound_simplification_4.f90 |
| bound_simplification_5.f90 |
| |
| # error: Coarray argument requires an explicit interface |
| coarray_15.f90 |
| |
| # error: 'mask=' argument has unacceptable rank 0 |
| coarray_13.f90 |
| |
| # error: 'a' has corank 0, but coindexed reference has 1 cosubscripts |
| coindexed_1.f90 |
| |
| # error: 'temp_node_t' is PRIVATE in 'temp_node' |
| constructor_6.f90 |
| |
| # error: Type of Cray pointee 'dpte1' is a non-sequence derived type |
| cray_pointers_2.f90 |
| |
| # error: DATA statement value could not be converted to the type '[TYPE]' |
| dec_char_conversion_in_data_1.f90 |
| dec_char_conversion_in_data_2.f90 |
| dec_char_conversion_in_data_4.f90 |
| dec_char_conversion_in_data_5.f90 |
| dec_char_conversion_in_data_6.f90 |
| hollerith.f90 |
| |
| # error: Duplicate UNIT specifier |
| dec_io_5.f90 |
| dec_io_6.f90 |
| |
| # error: Value of named constant cannot be computed as a constant value |
| array_initializer_1.f90 |
| pr83874.f90 |
| |
| # error: In an elemental procedure reference with at least one array argument, |
| # actual argument that corresponds to an INTENT(OUT) or INTENT(INOUT) dummy |
| # argument must be an array |
| impure_1.f08 |
| |
| # error: Invalid STATUS value |
| iomsg_1.f90 |
| iostat_2.f90 |
| pr20163-2.f |
| |
| # error: '[SYM]' was not declared a separate module procedure |
| class_assign_1.f08 |
| submodule_31.f08 |
| |
| # error: No operator .XOR. defined for LOGICAL(4) and LOGICAL(4) |
| dec_logical_xor_1.f90 |
| |
| # error: Value in structure constructor of type 'education' is incompatible |
| # with component |
| extends_2.f03 |
| |
| # error: If a POINTER or ALLOCATABLE dummy or actual argument is polymorphic, |
| # both must be so |
| finalize_12.f90 |
| |
| # error: Must be a scalar value, but is a rank-1 array |
| impl_do_var_data.f90 |
| |
| # error: Unlimited format item list must contain a data edit descriptor |
| fmt_error_11.f03 |
| |
| # error: Expected '[FMT]' edit descriptor '.[SOMETHING]' value |
| fmt_missing_period.f |
| fmt_missing_period_2.f |
| |
| # error: Positive scale factor k (from kP) and width d in a 'E' edit |
| # descriptor must satisfy 'k < d+2' |
| fmt_zero_digits.f90 |
| |
| # error: '[SYM]' is not a known intrinsic procedure |
| gamma_1.f90 |
| specifics_1.f90 |
| |
| # error: Keyword may not appear in a reference to a procedure with an implicit |
| # interface |
| getenv_1.f90 |
| |
| # error: Must be a constant value |
| pr67140.f90 |
| pr89077.f90 |
| substr_simplify.f90 |
| transfer_simplify_12.f90 |
| |
| # error: COMMON block was not lowered before its usage |
| test_common_binding_labels.f03 |
| |
| # error: Subscript 3 is greater than upper bound 2 for dimension 1 of array |
| module_procedure_4.f90 |
| |
| # error: '[SYM]' is not an object that can appear in an expression |
| namelist_print_1.f |
| |
| # error: '[SYM]' is already declared in this scoping unit |
| namelist_use.f90 |
| |
| # error: Actual argument type '[TYPE1]' is not compatible with dummy argument |
| # type '[TYPE2]' |
| no_arg_check_2a.f90 |
| pdt_2.f03 |
| |
| # error: '[SYM]' not found in module 'iso_fortran_env' |
| quad_2.f90 |
| quad_3.f90 |
| team_change_1.f90 |
| team_end_1.f90 |
| team_form_1.f90 |
| team_number_1.f90 |
| |
| # error: 'mask=' argument has unacceptable rank 0 |
| pdt_20.f03 |
| |
| # error: literal is too large |
| pr92629.f90 |
| |
| # error: In assignment to procedure pointer 'funct', the target is not a |
| # procedure or procedure pointer |
| proc_ptr_47.f90 |
| |
| # error: '[SYM]' may not be a procedure as it is in a COMMON block |
| proc_ptr_common_1.f90 |
| |
| # error: Procedure pointer may not be ELEMENTAL |
| proc_ptr_comp_45.f90 |
| |
| # error: Procedure pointer associated with result of reference to function |
| # that is an incompatible procedure pointer |
| proc_ptr_result_1.f90 |
| |
| # error: Actual argument associated with procedure pointer dummy argument |
| # must be a POINTER unless INTENT(IN) |
| proc_ptr_result_6.f90 |
| |
| # error: Must have '[TYPE1]' type, but is '[TYPE2]' |
| real_index_1.f90 |
| |
| # error: error: Invalid CONVERT value |
| record_marker_3.f90 |
| |
| # error: Result of pure function may not have an impure FINAL subroutine |
| finalize_51.f90 |
| |
| # -------------------------------------------------------------------------- |
| # |
| # These tests are skipped for a variety of reasons that don't fit well in |
| # any of the previous categories |
| |
| # The test calls the subroutine should_not_fail(). The intention seems to be |
| # for the call to should_not_fail() to be dead-code eliminated. It is guarded |
| # by a conditional with a call to selected_real_kind() that should evaluate |
| # to false at compile-time. This is not being eliminated resulting in an |
| # "undefined symbol" error at link time. |
| # |
| selected_real_kind_2.f90 |
| |
| # For some reason, when building these tests, LLVM-IR is generated instead of |
| # of an object file. |
| save_6.f90 |
| shape_9.f90 |
| |
| # -------------------------------------------------------------------------- |
| # |
| # These tests are skipped because flang cannot parse these files. This could |
| # be because of the use of non-standard syntax, but they will need to be |
| # checked to be sure. |
| # |
| auto_in_equiv_1.f90 |
| auto_in_equiv_2.f90 |
| automatic_1.f90 |
| dec-comparison-character_1.f90 |
| dec-comparison-character_2.f90 |
| dec_exp_1.f90 |
| dec_format_empty_item_1.f |
| dec_format_empty_item_2.f |
| dec_io_1.f90 |
| dec_parameter_1.f |
| dec_parameter_2.f90 |
| dec_static_1.f90 |
| dec_static_2.f90 |
| dec_structure_10.f90 |
| dec_structure_5.f90 |
| dec_structure_7.f90 |
| fmt_error_10.f |
| fmt_error_9.f |
| substr_9.f90 |
| |
| # -------------------------------------------------------------------------- |
| # |
| # These tests are skipped because they cause flang to crash. |
| |
| # Assertion `ty.isa<fir::RecordType>()' failed |
| c_assoc.f90 |
| c_f_pointer_complex.f03 |
| c_f_pointer_logical.f03 |
| c_f_pointer_shape_tests_2.f03 |
| c_f_pointer_shape_tests_4.f03 |
| equiv_7.f90 |
| iso_c_binding_rename_1.f03 |
| test_only_clause.f90 |
| |
| # -------------------------------------------------------------------------- |
| # |
| # These tests require libquadmath which is not built by default. They are |
| # disabled until the test suite's configure script is fixed to allow |
| # conditionally enabling them if libquadmath is available. |
| |
| quad_1.f90 |
| internal_dummy_3.f08 |
| |
| # -------------------------------------------------------------------------- |
| # |
| # These tests are skipped because they fail on AArch64 but not x86. These |
| # will be disabled until we allow tests to be selectively enabled on certain |
| # platforms. |
| |
| large_integer_kind.f90 |
| oldstyle_5.f |
| maxlocval_1.f90 |
| pr91497.f90 |
| |
| alloc_comp_class_4.f03 # TODO: This also fails on X86, so recategorize |
| unpack_bounds_1.f90 # TODO: This also fails on X86, so recategorize |
| |
| # -------------------------------------------------------------------------- |
| # |
| # These are skipped almost certainly because of a bug in the way multi-file |
| # compile tests are built by the test-suite. This almost certainly has nothing |
| # to do with flang, but they will be skipped until the test suite build |
| # scripts are fixed. |
| |
| bind_c_array_params_3.f90 |
| class_4a.f03 |
| global_vars_f90_init.f90 |
| matmul_bounds_14.f |
| namelist_83.f90 |
| pr37287-1.f90 |
| pr77420_3.f90 |
| pr93524.f90 |
| public_private_module_3.f90 |
| static_linking_1.f |
| |
| # ---------------------------------------------------------------------------- |
| # |
| # These files are only intended to be run on AArch64, but we don't currently |
| # process the target attribute, so these are disabled everywhere. When the |
| # DejaGNU target attribute is handled correctly, these should be removed from |
| # here. |
| pr88833.f90 |
| |
| # ---------------------------------------------------------------------------- |
| # |
| # These tests have a -J flag but the build system adds a -J of its own and |
| # exactly one is allowed. If the build system is changed, these can be removed |
| # from here. |
| include_14.f90 |
| include_15.f90 |
| include_16.f90 |
| include_17.f90 |
| include_18.f90 |
| include_19.f90 |
| include_20.f90 |
| include_8.f90 |
| ) |
| |
| # These tests are disabled because they fail when they are expected to pass. |
| file(GLOB FAILING_FILES CONFIGURE_DEPENDS |
| # --------------------------------------------------------------------------- |
| # |
| # These tests fail at runtime when they should pass. are likely a result of |
| # unimplemented features in the runtime, but they could also be bugs. If any |
| # will never pass with flang (if they use unsupported extensions for instance), |
| # they should be added to the Unsupported list. |
| |
| # Tests that "fail" because they should fail |
| assign_2.f90 # j=5; goto j |
| error_stop_1.f08 # ERROR STOP stops program |
| stop_shouldfail.f90 # STOP stops program |
| |
| # require further analysis |
| bounds_check_10.f90 |
| bounds_check_7.f90 |
| bounds_check_array_ctor_1.f90 |
| bounds_check_array_ctor_2.f90 |
| bounds_check_array_ctor_6.f90 |
| bounds_check_array_ctor_7.f90 |
| bounds_check_array_ctor_8.f90 |
| bounds_check_fail_4.f90 |
| bounds_check_strlen_1.f90 |
| bounds_check_strlen_2.f90 |
| bounds_check_strlen_3.f90 |
| bounds_check_strlen_4.f90 |
| bounds_check_strlen_5.f90 |
| bounds_check_strlen_7.f90 |
| char_bounds_check_fail_1.f90 |
| char_pointer_assign_4.f90 |
| char_pointer_assign_5.f90 |
| check_bits_1.f90 # requires -fcheck=bits to catch ISHFTC runtime error |
| check_bits_2.f90 # requires -fcheck=bits to catch ISHFTC runtime error |
| internal_dummy_2.f08 # causes flang-new to crash in the backend (llvm-project/issues/76927) |
| cr_lf.f90 # shenanigans with CR characters |
| dollar_edit_descriptor_4.f # TODO: (i3,$) format shouldn't advance record when looping |
| list_read_11.f90 # more CR character shenanigans |
| matmul_bounds_10.f90 |
| matmul_bounds_2.f90 |
| matmul_bounds_3.f90 |
| matmul_bounds_4.f90 |
| matmul_bounds_5.f90 |
| matmul_bounds_8.f90 |
| maxlocval_2.f90 |
| maxlocval_4.f90 |
| merge_bits_2.F90 |
| merge_char_3.f90 |
| module_nan.f90 |
| namelist_87.f90 |
| nan_2.f90 # depend on MIN/MAX(1.,NaN) folding to 1.; f18 & Intel return NaN. |
| negative_unit_int8.f # depends on 64-bit unit numbers or something? |
| no_range_check_1.f90 |
| nosigned_zero_2.f90 # only works with a -fno-sign-zero option |
| open_access_append_2.f90 # expects warning for OPEN(ACCESS='APPEND'), gets one |
| open_errors_3.f90 # same file open on multiple units - valid in F'2018? |
| open_status_2.f90 # TODO: support OPEN(STATUS='UNKNOWN')? research |
| pad_source_3.f # depends on -fno-pad-source option |
| pad_source_4.f # depends on -ffixed-line-length-none option |
| pad_source_5.f # depends on -ffixed-line-length-0 option |
| pr12884.f |
| pr17286.f90 |
| pr17706.f90 # depends on -fno-sign-zero option |
| pr59700.f90 |
| pr71523_2.f90 |
| pr96436_3.f90 |
| pr96436_4.f90 |
| pr96436_5.f90 |
| pr96436_6.f90 |
| pr96436_7.f90 |
| pr96436_8.f90 |
| pr96436_9.f90 |
| pr96436_10.f90 |
| promotion_3.f90 |
| promotion_4.f90 |
| read_5.f90 |
| read_bang4.f90 |
| read_bang.f90 |
| read_eof_all.f90 |
| real4-10-real8-10.f90 |
| real4-10-real8-16.f90 |
| real4-10-real8-4.f90 |
| real4-10.f90 |
| real4-16-real8-10.f90 |
| real4-16-real8-16.f90 |
| real4-16-real8-4.f90 |
| real4-16.f90 |
| real4-8-real8-10.f90 |
| real4-8-real8-16.f90 |
| real4-8-real8-4.f90 |
| real4-8.f90 |
| real8-10.f90 |
| real8-16.f90 |
| real8-4.f90 |
| real_const_3.f90 |
| recursive_check_11.f90 |
| recursive_check_13.f90 |
| recursive_check_7.f90 |
| recursive_check_9.f90 |
| round_3.f08 |
| selected_kind_1.f90 |
| short_circuiting_3.f90 |
| streamio_13.f90 |
| streamio_17.f90 |
| system_clock_3.f08 |
| transpose_2.f90 |
| unf_io_convert_4.f90 |
| unf_read_corrupted_1.f90 |
| unf_short_record_1.f90 |
| unformatted_subrecord_1.f90 |
| where_2.f90 |
| widechar_IO_4.f90 |
| zero_sized_1.f90 |
| elemental_function_2.f90 |
| |
| # These tests fail at runtime on AArch64 (but pass on x86). Disable them |
| # anyway so the test-suite passes by default on AArch64. |
| entry_23.f |
| findloc_8.f90 |
| |
| # These tests fail on Ubuntu because of a bug in the not utility. At least |
| # some of these should work once the issue with not has been fixed. |
| # |
| # https://github.com/llvm/llvm-test-suite/pull/102#issuecomment-1980674221 |
| # |
| abort_shouldfail.f90 |
| all_bounds_1.f90 |
| alloc_comp_class_4.f03 |
| allocate_error_5.f90 |
| allocate_error_6.f90 |
| allocate_with_source_23.f03 |
| bounds_check_12.f90 |
| bounds_check_array_ctor_4.f90 |
| bounds_check_fail_3.f90 |
| cshift_bounds_3.f90 |
| cshift_bounds_4.f90 |
| deallocate_error_2.f90 |
| dim_sum_1.f90 |
| dim_sum_2.f90 |
| dim_sum_3.f90 |
| do_check_1.f90 |
| endfile_3.f90 |
| eoshift_bounds_1.f90 |
| error_format.f90 |
| fmt_error_4.f90 |
| fmt_error_5.f90 |
| inline_matmul_15.f90 |
| internal_write_1.f90 |
| large_unit_1.f90 |
| matmul_5.f90 |
| matmul_bounds_11.f90 |
| matmul_bounds_13.f90 |
| matmul_bounds_15.f |
| matmul_bounds_16.f |
| matmul_bounds_7.f90 |
| matmul_bounds_9.f90 |
| maxloc_bounds_1.f90 |
| maxloc_bounds_2.f90 |
| maxloc_bounds_3.f90 |
| maxloc_bounds_4.f90 |
| maxloc_bounds_6.f90 |
| maxloc_bounds_7.f90 |
| maxloc_bounds_8.f90 |
| open_errors_2.f90 |
| open_new_segv.f90 |
| PR100136.f90 |
| pack_bounds_1.f90 |
| pointer_check_11.f90 |
| pointer_check_1.f90 |
| pointer_check_2.f90 |
| pointer_check_3.f90 |
| pointer_check_4.f90 |
| pointer_check_6.f90 |
| pr92050.f90 |
| random_3.f90 |
| random_5.f90 |
| repeat_1.f90 |
| reshape_order_1.f90 |
| reshape_order_2.f90 |
| reshape_order_3.f90 |
| reshape_order_4.f90 |
| spread_bounds_1.f90 |
| unpack_bounds_1.f90 |
| unpack_bounds_2.f90 |
| unpack_bounds_3.f90 |
| write_check.f90 |
| |
| # --------------------------------------------------------------------------- |
| # |
| # These tests are expected to raise a runtime error, but currently don't. |
| |
| allocate_error_1.f90 |
| cshift_bounds_2.f90 |
| deallocate_error_1.f90 |
| do_check_2.f90 |
| do_check_3.f90 |
| do_check_4.f90 |
| do_check_11.f90 |
| do_check_12.f90 |
| endfile_4.f90 |
| fmt_g0_2.f08 |
| inline_sum_bounds_check_1.f90 |
| inline_sum_bounds_check_2.f90 |
| io_real_boz2.f90 |
| io_real_boz_4.f90 |
| io_real_boz_5.f90 |
| no_unit_error_1.f90 |
| pointer_check_10.f90 |
| pointer_remapping_6.f08 |
| |
| # --------------------------------------------------------------------------- |
| # |
| # Compilation of these tests is expected to fail, but it succeeds instead. |
| |
| binding_label_tests_26b.f90 |
| test_common_binding_labels_2_main.f03 |
| string_1.f90 # Expect error on 32 bits platform |
| |
| # Tests that exercise gfortran's ability to set -std=f95 and then see errors on newer features |
| abstract_type_1.f90 |
| alloc_comp_constraint_7.f90 |
| alloc_comp_std.f90 |
| allocatable_scalar_2.f90 |
| allocate_alloc_opt_5.f90 |
| argument_checking_14.f90 |
| argument_checking_2.f90 |
| array_constructor_38.f90 |
| array_constructor_type_13.f90 |
| assign_3.f90 |
| associate_2.f95 |
| asynchronous_2.f90 |
| block_3.f90 |
| blockdata_5.f90 |
| blockdata_6.f90 |
| boz_10.f90 |
| boz_7.f90 |
| byte_1.f90 |
| class_3.f03 |
| common_19.f90 |
| common_9.f90 |
| constructor_4.f90 |
| constructor_7.f90 |
| dup_save_2.f90 |
| equiv_constraint_1.f90 |
| equiv_constraint_2.f90 |
| finalize_6.f90 |
| fmt_error_8.f |
| fmt_g0_3.f08 |
| implied_shape_2.f90 |
| import2.f90 |
| initialization_13.f90 |
| initialization_16.f90 |
| initialization_30.f90 |
| initialization_4.f90 |
| inquire_iolength.f90 |
| interface_15.f90 |
| interface_abstract_2.f90 |
| intrinsic_param_1.f90 |
| intrinsic_std_1.f90 |
| intrinsic_std_4.f90 |
| io_constraints_10.f90 |
| io_constraints_11.f90 |
| iostat_3.f90 |
| logint_2.f |
| minmax_char_2.f90 |
| module_procedure_double_colon_2.f90 |
| namelist_34.f90 |
| namelist_35.f90 |
| namelist_3.f90 |
| namelist_5.f90 |
| namelist_63.f90 |
| namelist_assumed_char.f90 |
| newunit_2.f90 |
| pointer_assign_6.f90 |
| pointer_intent_2.f90 |
| pointer_remapping_1.f90 |
| pr107423.f90 |
| pr77978_1.f90 |
| pr95373_1.f90 |
| private_type_10.f90 |
| private_type_12.f90 |
| private_type_1.f90 |
| private_type_2.f90 |
| private_type_4.f90 |
| private_type_9.f90 |
| proc_decl_4.f90 |
| proc_ptr_37.f90 # https://github.com/llvm/llvm-project/issues/73215 |
| proc_ptr_46.f90 # https://github.com/llvm/llvm-project/issues/73215 |
| protected_3.f90 |
| selected_char_kind_3.f90 |
| spread_init_expr_2.f90 |
| structure_constructor_9.f90 |
| system_clock_2.f90 |
| use_6.f90 |
| used_before_typed_4.f90 |
| value_2.f90 |
| volatile2.f90 |
| warnings_are_errors_1.f90 |
| |
| # -std=f2003 tests to detect Fortran 2008 features |
| allocate_alloc_opt_8.f90 |
| bessel_3.f90 |
| bind_c_array_params.f03 |
| bind_c_bool_1.f90 |
| binding_label_tests_20.f90 |
| class_52.f90 |
| c_funloc_tests_5.f03 |
| c_kind_int128_test1.f03 |
| c_loc_test_19.f90 |
| c_loc_test_21.f90 |
| c_loc_tests_10.f03 |
| c_loc_tests_4.f03 |
| char_length_1.f90 |
| coarray_5.f90 |
| common_20.f90 |
| complex_intrinsic_4.f90 |
| complex_intrinsic_6.f90 |
| contains_empty_1.f03 |
| contains.f90 |
| contiguous_2.f90 |
| finalize_2.f03 |
| generic_26.f90 |
| iall_iany_iparity_2.f90 |
| intrinsic_std_5.f03 |
| io_constraints_12.f90 |
| module_procedure_double_colon_3.f90 |
| norm2_4.f90 |
| parity_3.f90 |
| pointer_remapping_2.f03 |
| pointer_target_2.f90 |
| pr95373_2.f90 |
| ptr-func-2.f90 |
| ptr_func_assign_2.f08 |
| pure_formal_2.f90 |
| rank_2.f90 |
| realloc_on_assign_20.f90 |
| type_decl_2.f90 |
| typebound_proc_3.f03 |
| typebound_proc_15.f03 |
| |
| # -std=f2008 tests to detect Fortran 2018 features |
| assumed_type_16.f90 |
| assumed_type_4.f90 |
| bind_c_usage_28.f90 |
| c_loc_tests_11.f03 |
| coarray_collectives_2.f90 |
| implicit_14.f90 |
| pr90290.f90 |
| pr91564.f90 |
| rank_3.f90 |
| |
| # Requires behaviour specific to -std=f2008 and fails with -std=f2018. |
| finalize_38a.f90 |
| |
| # Tests that use -std=... to enable checks that no longer apply in modern Fortran. |
| # Module variable with derived type default initialization requires explicit SAVE |
| default_initialization_1.f90 |
| save_4.f90 |
| # ERROR STOP in pure procedure |
| error_stop_4.f90 |
| # EXIT outside DO |
| exit_5.f03 |
| # New features in ISO_FORTRAN_ENV & ISO_C_BINDING |
| iso_c_binding_compiler_2.f90 |
| iso_c_binding_param_1.f90 |
| iso_fortran_env_6.f90 |
| |
| # Tests that are not errors, and compile just fine with flang |
| constant_shape.f90 |
| continuation_2.f90 |
| der_io_5.f90 # gfortran's error is inappropriate, array-ctor are not polymorphic. |
| equiv_pure.f90 # gfortran's error is inappropriate for this test |
| finalize_9.f90 |
| func_decl_3.f90 |
| initialization_20.f90 |
| initialization_24.f90 |
| interface_7.f90 |
| intrinsic_short-long.f90 |
| parameter_array_init_6.f90 |
| pr105501.f90 # Missing space between TYPE and IS is not ambiguous for parser. |
| pr19936_1.f90 # ac-do-variables are their own entities |
| pr35031.f90 # ENTRY in ELEMENTAL |
| pr43996.f90 |
| pr70070.f90 |
| pr70853.f90 |
| pr71799.f90 |
| pr88328.f90 |
| recursive_check_1.f # RECURSIVE is now default |
| recursive_check_2.f90 |
| select_type_17.f03 # gfortran's error is inappropriate: pointer results are variables. |
| string_1_lp64.f90 |
| substr_10.f90 |
| |
| # Tests that expect nonconformant IS_CONTIGUOUS answers with zero size arrays. |
| is_contiguous_1.f90 |
| is_contiguous_3.f90 |
| |
| # Flang allows a redundant 'contiguous' attribute on scalars and on arrays |
| # that are simply contiguous (not pointers or assumed-shape/rank). |
| contiguous_6.f90 |
| contiguous_9.f90 |
| pr95503.f90 |
| |
| # Tests that are errors in gfortran but for which we emit adequate warnings; might need to use -pedantic to see them |
| achar_3.f90 |
| achar_5.f90 |
| argument_checking_19.f90 |
| argument_checking_20.f90 |
| argument_checking_22.f90 |
| argument_checking_24.f90 |
| arith_divide.f |
| arith_divide_no_check.f |
| arithmetic_overflow_1.f90 |
| associate_50.f90 |
| associated_3.f90 |
| bessel_5_redux.f90 |
| bounds_temporaries_1.f90 |
| c_f_pointer_tests_5.f90 |
| dec_loc_rval_3.f03 |
| do_4.f |
| do_check_5.f90 |
| do_subscript_6.f90 |
| dollar_sym_1.f90 |
| dollar_sym_3.f |
| entry_22.f90 |
| enum_8.f90 |
| error_recovery_4.f90 |
| ichar_1.f90 |
| int_conv_2.f90 |
| integer_exponentiation_4.f90 |
| interface_21.f90 |
| interface_30.f90 |
| interface_33.f90 |
| interface_46.f90 |
| invalid_contains_1.f90 |
| invalid_contains_2.f90 |
| invalid_procedure_name.f90 # but maybe should be error instead of warning, as in all other compilers |
| iso_fortran_env_4.f90 |
| nearest_5.f90 |
| pr103259.f90 |
| pr16433.f |
| pr58027.f90 |
| pr77460.f90 |
| pr77978_2.f90 |
| pr84734.f90 |
| pr86045.f90 |
| pr91714.f90 |
| pr92993.f90 |
| pr95611.f90 |
| pr95614_1.f90 |
| pr95614_2.f90 |
| pr95882_3.f90 |
| recursive_check_3.f90 |
| return_1.f90 |
| size_kind_3.f90 |
| string_3.f90 |
| string_3_lp64.f90 |
| warn_conversion.f90 |
| whole_file_1.f90 |
| whole_file_2.f90 |
| |
| # Tests that used to be hard errors, are now warnings, need -pedantic to |
| # observe them |
| interface_6.f90 |
| interop_params.f03 |
| iso_c_binding_class.f03 |
| pr85877.f90 |
| |
| # Tests that would be errors if we supported options to enable checks |
| dec_structure_24.f90 |
| line_length_5.f90 |
| module_private_1.f90 |
| |
| # Tests of options that need to be in the test configuration |
| include_6.f90 |
| |
| # Missed errors (though not required by a numbered standard constraint) |
| # ALLOCATE(entity, stat=something in entity) |
| allocate_alloc_opt_11.f90 |
| # Same object appears more than once in ALLOCATE |
| allocate_error_2.f90 |
| allocate_error_4.f90 |
| # Character length mismatch between definition and external in same file |
| auto_char_len_4.f90 |
| # Non-conformable array operands -- needs symbolic evaluation to see |
| bounds_check_18.f90 |
| # BTEST position argument checking |
| btest_1.f90 |
| # Not catching EQUIVALENCE of default-initialized derived type object with object in COMMON |
| equiv_constraint_9.f90 |
| # MASKL argument checking |
| masklr_3.f90 |
| # MODULO(x,0) argument checking |
| modulo_check.f90 |
| # MOVE_ALLOC with overlapping arguments |
| move_alloc_17.f90 |
| # MVBITS argument checking |
| mvbits_9.f90 |
| # INQUIRE(UNIT=-1, ...) |
| negative_unit_check.f90 |
| # Small RANDOM_SEED(GET=/PUT=) arrays |
| random_seed_1.f90 |
| random_seed_4.f90 |
| # RESHAPE(SOURCE=) array is too small |
| reshape_source_size_1.f90 |
| |
| # Extensions, intentionally not errors, but should maybe elicit a portability warning |
| # BIND(C,NAME=) name same as module |
| binding_label_tests_29.f90 |
| # BIND(C,NAME=) names are case sensitive in f18 |
| binding_label_tests_34.f90 |
| # COMMON block name clashes with local entity |
| common_7.f90 |
| common_8.f90 |
| # No option needed to enable Cray pointers |
| cray_pointers_3.f90 |
| # D lines default to comments, no need to use option to make that happen |
| d_lines_4.f |
| dec_d_lines_3.f |
| # Complex components (%RE and %IM) and substrings are allowed in DATA statements (need to document extension) |
| data_inquiry_ref.f90 |
| data_substring.f90 |
| # ELEMENTAL subprograms may not have dummy procedures |
| elemental_args_check_2.f90 |
| elemental_args_check_4.f90 |
| # Construct labels can conflict with local names |
| host_assoc_types_1.f90 |
| # Names with leading underscores |
| invalid_name.f90 |
| # Long lines in free form source |
| line_length_6.f90 |
| line_length_8.f90 |
| line_length_9.f90 |
| # NAMELIST before declaration of object in group |
| namelist_98.f90 |
| # BOZ in structure constructor |
| pr93604.f90 |
| # USE'd module name used as local entity |
| pr95880.f90 |
| use_28.f90 |
| # Forward reference to procedure name in PROCEDURE(...) |
| proc_decl_11.f90 |
| # Statement function with argument or result with rank > 0 |
| statement_function_3.f |
| # Useless SUBMODULE |
| submodule_21.f08 |
| # Initial tab in fixed form means five leading blanks |
| tab_continuation.f |
| # DOUBLE COMPLEX |
| type_decl_1.f90 |
| |
| # gfortran warnings and optional errors that we miss & should fix |
| # "bytea" statement for "byte a" |
| byte_4.f90 |
| # DO index variable modified in call to internal procedure |
| do_check_13.f90 |
| do_check_16.f90 |
| |
| # Not relevant to f18 |
| # Tests "!GCC$ attributes stdcall, fastcall::test" |
| compiler-directive_2.f |
| # unsupported COMPLEX extension intrinsic function |
| complex_intrinsic_2.f90 |
| # !GCC$ unroll |
| directive_unroll_5.f90 |
| # Tests "!GCC$ attributes weak :: x" |
| weak-3.f90 |
| # Test is not conformant as it writes to a constant argument |
| # Similar test, that is conformant, added to UnitTests/assign-goto |
| assign_5.f90 |
| |
| |
| # Probable bugs |
| # ["a", "ab"] |
| array_constructor_28.f03 |
| bounds_check_array_ctor_3.f90 |
| bounds_check_array_ctor_5.f90 |
| # C_SIZEOF() argument must be an interoperable type |
| c_sizeof_6.f90 |
| # External should not have same name as COMMON |
| common_15.f90 |
| # Not catching lack of label actual argument for alternate return dummy |
| do_check_19.f90 |
| # Not catching use of ENTRY-only dummy argument in a specification expression |
| entry_dummy_ref_1.f90 |
| # Parent component of extended derived type with PRIVATE default must be PRIVATE |
| extends_10.f03 |
| # Old-style initializer on declaration of dummy argument |
| oldstyle_2.f90 |
| # Function result may not be a coarray |
| pr104210.f90 |
| # integer, parameter :: dp = kind(1.0_dp) |
| recursive_parameter_1.f90 |
| # Statement function cannot be a dummy argument |
| stfunc_2.f90 |
| # Statement function argument implicit type doesn't match later explicit type |
| stfunc_3.f90 |
| # Valid parser failure, could have better error recovery |
| use_29.f90 |
| # Assumed-length CHARACTER cannot be VALUE |
| value_5.f90 |
| # No return type mismatch warning |
| whole_file_34.f90 |
| # No interface mismatch warning on call to implicit interface expecting alternate returns |
| whole_file_3.f90 |
| |
| # Test configuration problems |
| # Needs to be compiled as class_4[abc].f03 due to modules -- then compiles |
| class_4b.f03 |
| class_4c.f03 |
| # Needs to be compiled as coarray_29_[12].f90 due to modules -- then hits NYI in lowering "coarray in procedure interface" |
| coarray_29_2.f90 |
| # Needs to be compiled as coarray_35{,a}.f90 -- then hits NYI in lowering "intrinsic: this_image" |
| coarray_35a.f90 |
| # Needs to be compiled with "-ed" or whatever flang-new uses to enable D lines (Fortran::common::LanguageFeature::OldDebugLines); GNU uses "-fd-lines-as-code" |
| dec_d_lines_1.f |
| d_lines_2.f |
| # Needs -fxor-operator |
| dec_logical_xor_2.f90 |
| # Needs to be compiled as Fortran/gfortran/regression/namelist_83{,_2}.f90 due to modules -- then compiles |
| namelist_83_2.f90 |
| # Needs to be compiled as Fortran/gfortran/regression/pr77420_[34].f90 due to modules -- then compiles |
| pr77420_4.f90 |
| # Needs to be compiled as Fortran/gfortran/regression/public_private_module_[34].f90 |
| public_private_module_4.f90 |
| |
| # Compiler bugs that should be fixed |
| # D lines confuse continuation line detection |
| d_lines_3.f |
| # "0include" not recognized as INCLUDE line with 0 in column 6 |
| include_12.f |
| # Invalid specification expression: reference to impure function 'iargc' -- might as well consider it to be pure |
| pr71085.f90 |
| # No explicit type declared for 'f' |
| pr91945.f90 |
| # error: No explicit type declared for 'arg4' |
| unused_artificial_dummies_1.f90 |
| |
| # Valid errors |
| # Valid out-of-bounds subscript errors, are warnings in gfortran |
| bounds_check_3.f90 |
| # Valid errors about mismatching actual/dummy character lengths; are warnings in gfortran |
| char_length_3.f90 |
| # Valid error: 'x' may not be a local variable in a pure subprogram because: 'x' is polymorphic in a pure subprogram |
| class_49.f90 |
| class_74.f90 |
| # Valid error: Coindexed polymorphic object may not be associated with a polymorphic dummy argument 'x=' |
| class_dummy_4.f03 |
| # Valid error: 'atom=' argument must be a scalar coarray or coindexed object for intrinsic 'atomic_ref' |
| coarray_atomic_6.f90 |
| # Valid error: The event-variable must be a coarray |
| coarray_event_1.f08 |
| # Valid error: ALLOCATABLE coarray '...' may not be associated with INTENT(OUT) dummy argument '...=' |
| coarray_lib_token_2.f90 |
| intent_out_11.f90 |
| # Valid error "The type of 'n' has already been implicitly declared" on "implicit NONE; integer :: a(n); integer (kind=1), intent(in) :: n" |
| directive_unroll_1.f90 |
| directive_unroll_2.f90 |
| directive_unroll_3.f90 |
| directive_unroll_4.f90 |
| # Valid error: Result of ENTRY is not compatible with result of containing function |
| entry_17.f90 |
| # Just bad syntax: READ ('(') // 'A)', var -- note transposed ) and final quote |
| fmt_read_3.f90 |
| # Valid error: Label '99' is in a construct that prevents its use as a branch target here |
| goto_8.f90 |
| # These tests attempt to print the value of the private component of a C_PTR. |
| init_flag_17.f90 |
| c_ptr_tests_16.f90 |
| # Valid error: Generic 'ambiguous' may not have specific procedures 'f' and 'f' as their interfaces are not distinguishable |
| interface_1.f90 |
| # Valid error: Generic 'generic' may not have specific procedures 'foo' and 'bar' as their interfaces are not distinguishable |
| interface_8.f90 |
| # Valid error: Dimension 1 of left-hand side has extent 2, but right-hand side has extent 3 |
| iso_fortran_env_7.f90 |
| # Valid error: Invalid specification expression: reference to local entity '...' |
| pr101026.f |
| pr101267.f90 |
| pr78061.f |
| pr79315.f90 |
| pr95090.f90 |
| # Valid error: An array component of an interoperable type must have at least one element |
| pr105954.f90 |
| # Bogus error: 'dcdx' is not a callable procedure |
| pr41011.f |
| # Valid error: Must have INTEGER type, but is REAL(4) on implicit real-valued DO indices being used as subscripts |
| pr41928.f90 |
| # Valid error: DATA statement initializations affect 'i(1_8,2_8)' more than once |
| pr49540-2.f90 |
| # Valid error: A variable with BIND(C) attribute may only appear in the specification part of a module |
| pr67900.f90 |
| # Valid error: Label '1000' is not distinct |
| pr69554-1.F90 |
| pr69554-2.F90 |
| # Valid error: Subscript value (3) is out of range on dimension 1 in reference to a constant array value |
| pr71935.f90 |
| # Valid error: Return type of function 'c' does not match return type of the corresponding interface body |
| pr83113.f90 |
| # Valid error: 'v' is already declared in this scoping unit |
| pr84957.f90 |
| # Valid error: Procedure 'foo' is recursively defined. Procedures in the cycle: 'foo', 'r1' |
| recursive_interface_1.f90 |
| recursive_interface_2.f90 |
| # Valid error: Actual argument associated with POINTER dummy argument 'thenode=' must also be POINTER unless INTENT(IN) |
| select_type_30.f03 |
| # Valid error: INTEGER stop code must be of default kind |
| stop_2.f |
| # Valid error: 'bar' is a MODULE procedure which must be declared within a MODULE or SUBMODULE |
| submodule_24.f08 |
| # Valid error: Values in array constructor must have the same declared type when no explicit type appears |
| zero_sized_12.f90 |
| # Valid error: ASSOCIATE entities are not pointers |
| associate_42.f90 |
| |
| # Not yet implemented in evaluate / semantics |
| # IMAGE_INDEX not (yet) an intrinsic function |
| coarray_11.f90 |
| pr104330.f90 |
| # ATOMIC_ADD is not (yet) a known intrinsic procedure |
| coarray_atomic_4.f90 |
| coarray_atomic_5.f90 |
| # CO_REDUCE is not (yet) a known intrinsic procedure |
| coarray_collectives_11.f90 |
| coarray_collectives_15.f90 |
| coarray_collectives_16.f90 |
| # Unsupported in folding: erfc_scaled(real(kind=4)) cannot be folded on host |
| erfc_scaled_2.f90 |
| |
| # Unclear; may be bogus error on actual non-coarray arg to dummy coarray, may be bad test |
| coarray_args_2.f90 |
| coarray_lib_token_1.f90 |
| coarray_lib_token_4.f90 |
| |
| # --------------------------------------------------------------------------- |
| # |
| # These are "compile" tests which fail to compile, though compilation is |
| # expected to succeed. |
| internal_dummy_1.f90 |
| |
| # This test has a #illegal preprocessor directive. I think this is expected to |
| # raise a warning in gfortran, but flang raises an error and fails to compile |
| # instead. This may be a policy difference between flang and gfortran but |
| # should be confirmed. |
| badline.f |
| |
| # These test use byte order marks and are in UTF-16 or UTF32. This causes |
| # flang's scanner to fail producing errors such as: |
| # |
| # error: bad character (0xff) in Fortran token |
| # |
| # TODO: Need to check if we intend to support such files. |
| # |
| bom_UTF-16.f90 |
| bom_UTF16-BE.f90 |
| bom_UTF16-LE.f90 |
| bom_UTF-32.f90 |
| |
| # These check if the parser accepts the "form-feed" character (ASCII 0x0c). |
| # Flang fails to compile with "bad character (0x0c) in Fortran token". |
| feed_1.f90 |
| feed_2.f90 |
| |
| # This splits a string (the argument to an include directive) across two lines |
| # using a continuation character. This causes an error: |
| # |
| # error: Incomplete character literal |
| # |
| # This may be a DEC extension but I am not sure. |
| include_13.f90 |
| |
| # This has something to do with the -ffixed-line-length-none directive. It |
| # could be that the flag is not being passed correctly to flang in the test |
| # suite's build system, or that flang does not support the flag. |
| literal_character_constant_1_z.F |
| |
| # In these tests, the -fopenmp and -fopenacc flags are either not being passed |
| # correctly to flang while building the tests, or flag does not define the |
| # _OPENMP/_OPENACC directives while gfortran does. |
| openacc-define-3.f90 |
| openmp-define-3.f90 |
| |
| # Tests looking for runtime errors (e.g., bound checks). Correctly |
| # caught by flang runtime. |
| allocate_with_source_22.f03 |
| associate_32.f03 |
| inline_matmul_1.f90 |
| maxloc_bounds_5.f90 |
| ptr_func_assign_1.f08 |
| |
| # Bad test, assigning an 11 elements array to a 12 elements array. |
| transfer_array_intrinsic_4.f90 |
| |
| # Bad test; reads 0.D99999 from a file; every other Fortran works |
| io_err_1.f90 |
| |
| # Fails at runtime with a valid I/O error due to INQUIRE(IOLENGTH=n) |
| # being used on a derived type with defined unformatted output. |
| dtio_16.f90 |
| |
| # Fail at runtime due to dependence on gfortran's specific IOSTAT= |
| # error code numbers or IOMSG= error message texts. |
| direct_io_7.f90 |
| dtio_10.f90 |
| dtio_15.f90 |
| dtio_24.f90 |
| dtio_26.f03 |
| iostat_4.f90 |
| namelist_89.f90 |
| namelist_97.f90 |
| |
| # Depends on gfortran's exact NAMELIST output spacing and record advances |
| dtio_25.f90 |
| namelist_18.f90 |
| namelist_19.f90 |
| namelist_38.f90 |
| namelist_57.f90 |
| namelist_65.f90 |
| namelist_84.f90 |
| pr18210.f90 |
| |
| # Bad test that expects partial NAMELIST input into a character array to |
| # blank-fill the remaining elements. |
| namelist_56.f90 |
| |
| # Bad test that expects truncated NAMELIST input groups to be treated as |
| # END= conditions rather than ERR= conditions (like every other Fortran). |
| namelist_81.f90 |
| |
| # Bad test that expects the result of TRIM() to have a leading space |
| dtio_14.f90 |
| |
| # Bad tests that expect IOMSG to be defined by a defined I/O subroutine |
| # even when IOSTAT=0, violating F'23 12.6.4.8.3 paragraph 4: |
| # "If the defined input/output procedure returns a nonzero value for the iostat |
| # argument, the procedure shall also return an explanatory message in the iomsg |
| # argument. Otherwise, the procedure shall not change the value of the |
| # iomsg argument." |
| dtio_4.f90 |
| |
| # Valid test, but the expected output is incorrect (gfortran inserts |
| # spaces that must not be there; F'23 13.10.4 p1). |
| dtio_30.f03 |
| |
| # A bad test that expects child input to span records |
| dtio_7.f90 |
| |
| # Unimplemented extension: reading a directory as a stream |
| read_dir.f90 |
| |
| # Unimplemented extension: \u and \U Unicode escape sequences |
| widechar_1.f90 |
| |
| # Unimplemented extension: \b backslash escapes in FORMAT statements |
| backslash_3.f |
| |
| # Depends on gfortran's exact (DE)ALLOCATE(ERRMSG=) wording |
| allocate_alloc_opt_15.f90 |
| allocate_alloc_opt_3.f90 |
| deallocate_alloc_opt_3.f90 |
| deallocate_stat_2.f90 |
| |
| # Depends on gfortran's exact non-zero (DE)ALLOCATE(STAT=) codes |
| deallocate_stat.f90 |
| |
| # Depends on gfortran's incorrect return of EOR (-2) on internal |
| # WRITE record overflow |
| arrayio_3.f90 |
| |
| # Depends on gfortran's incorrect return of EOF (-1) on internal |
| # WRITE array overflow |
| arrayio_5.f90 |
| |
| # Depends on gfortran's implementation of list-directed & G0 output |
| char4_iunit_1.f03 |
| char4_iunit_2.f03 |
| f2003_io_5.f03 |
| fmt_f_default_field_width_1.f90 |
| fmt_f_default_field_width_2.f90 |
| fmt_g0_1.f08 |
| fmt_g_default_field_width_1.f90 |
| fmt_g_default_field_width_2.f90 |
| fmt_i_default_field_width_1.f90 |
| fmt_i_default_field_width_2.f90 |
| fmt_zero_width.f90 |
| list_directed_large.f90 |
| |
| # Depends on gfortran padding Hollerith with blanks up to even 32-bit words. |
| # gfortran & nvfortran do so; ifort/ifx, NAG, and f18 pad with zeroes; XLF |
| # doesn't pad at all. |
| hollerith8.f90 |
| |
| # Depends on gfortran returning a nonstandard "UNSPECIFIED" result for |
| # INQUIRE(..., POSITION=). |
| inquire_5.f90 |
| |
| # Depends on gfortran's specific maximum sequential unformatted record size. |
| inquire_recl_f2018.f90 |
| |
| # gfortran interprets INQUIRE(-1, ..., IOSTAT=) as a failed attempt to |
| # inquire a child unit created for defined I/O to an internal unit, even |
| # when it is not; f18 treats it as a nonexistent external unit. |
| # Other compilers vary. |
| inquire_internal.f90 |
| |
| # gfortran expects FLUSH(unconnected unit) to be a runtime error; |
| # all other Fortran compilers, and (debatably) the standard, allow it. |
| iostat_5.f90 |
| |
| # Depends on gfortran emitting "Infinity" for formatted output; |
| # some compilers, including f18, emit "Inf". |
| large_real_kind_1.f90 |
| |
| # Require -finit-local-zero or similar. |
| dec_init_2.f90 # needs -finit-derived -finit-integer=42 &c. |
| init_flag_15.f03 # needs -finit-derived -finit-integer |
| auto_save_2.f90 # requires -fno-automatic -finit-local-zero |
| init_flag_1.f90 # needs -finit-local-zero |
| init_flag_2.f90 |
| init_flag_3.f90 |
| init_flag_4.f90 |
| init_flag_5.f90 |
| init_flag_6.f90 |
| init_flag_7.f90 |
| init_flag_9.f90 |
| |
| # Require -fno-realloc-lhs or similar. |
| realloc_on_assign_21.f90 |
| |
| # Require -fcheck=bounds or similar. |
| bounds_check_17.f90 |
| pr48958.f90 |
| |
| # https://github.com/llvm/llvm-project/issues/84088 |
| pr36006-2.f90 |
| ) |