https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89645

--- Comment #5 from Paul Thomas <pault at gcc dot gnu.org> ---
Created attachment 56892
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56892&action=edit
An experimental patch for two pass compilation of contained procedures with
failures

I am giving up on this. Failures as follows:

FAIL: gfortran.dg/binding_label_tests_13_main.f03   -O   (test for errors, line
5)
FAIL: gfortran.dg/binding_label_tests_13_main.f03   -O   (test for errors, line
10)
Compiles without errors

FAIL: gfortran.dg/deferred_character_8.f90   -O0  (internal compiler error:
Segmentation fault)
FAIL: gfortran.dg/deferred_character_8.f90   -O0  (test for excess errors)
Compiles and runs OK outside dejagnu

...repeats...
FAIL: gfortran.dg/entry_16.f90   -O0  (internal compiler error: Segmentation
fault)
FAIL: gfortran.dg/entry_16.f90   -O0  (test for excess errors)
...repeats...
FAIL: gfortran.dg/entry_1.f90   -O1  (test for excess errors)
FAIL: gfortran.dg/entry_1.f90   -O2  (test for excess errors)
...repeats...
FAIL: gfortran.dg/entry_13.f90   -O0  (internal compiler error: Segmentation
fault)
FAIL: gfortran.dg/entry_13.f90   -O0  (test for excess errors)
...repeats...
All three entry failures are due to:
internal compiler error: Segmentation fault
0x10941df crash_signal
        ../../gcc/gcc/toplev.cc:316
0x10cf582 main_block_label
        ../../gcc/gcc/tree-cfg.cc:1533
0x10cf582 cleanup_dead_labels()
        ../../gcc/gcc/tree-cfg.cc:1718
0x10dd8d1 build_gimple_cfg
        ../../gcc/gcc/tree-cfg.cc:241
0x10dd8d1 execute_build_cfg
        ../../gcc/gcc/tree-cfg.cc:371

FAIL: gfortran.dg/host_assoc_call_3.f90   -O  (test for excess errors)
Not finding the specific, doubly contained 'putaline'

gfortran.dg/namelist_4.f90   -O   (test for errors, line 34)
FAIL: gfortran.dg/namelist_4.f90   -O  (test for excess errors)
Error: ‘f2’ at (1) is not a variable instead of { dg-error "is not a VALUE" }

FAIL: gfortran.dg/pointer_assign_12.f90   -O  (internal compiler error:
gimplification failed)
FAIL: gfortran.dg/pointer_assign_12.f90   -O   (test for errors, line 10)
FAIL: gfortran.dg/pointer_assign_12.f90   -O  (test for excess errors)

   10 |       g => 1 ! { dg-error "Pointer assignment target cannot be a
constant" }
      |                                                                        
   ^
internal compiler error: gimplification failed
0xd6cd97 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc/gcc/gimplify.cc:17749

FAIL: gfortran.dg/pr87907.f90   -O  (internal compiler error: Segmentation
fault)
FAIL: gfortran.dg/pr87907.f90   -O   (test for errors, line 15)
FAIL: gfortran.dg/pr87907.f90   -O   (test for errors, line 20)
FAIL: gfortran.dg/pr87907.f90   -O   (test for errors, line 22)
FAIL: gfortran.dg/pr87907.f90   -O  (test for excess errors)
f951: internal compiler error: Segmentation fault
0x10941df crash_signal
        ../../gcc/gcc/toplev.cc:316
0x97fd53 gfc_match_decl_type_spec(gfc_typespec*, int)
        ../../gcc/gcc/fortran/decl.cc:4281
0x9816bc gfc_match_data_decl()
        ../../gcc/gcc/fortran/decl.cc:6286
0x9f7a9f match_word
        ../../gcc/gcc/fortran/parse.cc:92
0x9f7a9f decode_statement
        ../../gcc/gcc/fortran/parse.cc:476

FAIL: gfortran.dg/pr95690.f90   -O   (test for errors, line 5)
FAIL: gfortran.dg/pr95690.f90   -O  (test for excess errors)
Error: Function ‘erfc’ requires an argument list at (1)

FAIL: gfortran.dg/pr96102.f90   -O   (test for errors, line 13)
FAIL: gfortran.dg/pr96102.f90   -O   (test for errors, line 14)
FAIL: gfortran.dg/pr96102.f90   -O   (test for errors, line 17)
FAIL: gfortran.dg/pr96102.f90   -O   (test for errors, line 18)
FAIL: gfortran.dg/pr96102.f90   -O  (test for excess errors)
   17 |       if ( n /= 0 ) stop 1    ! { dg-error "internal procedure of the
same name" }
      |              1
Error: Function ‘n’ requires an argument list at (1)

FAIL: gfortran.dg/pr96102b.f90   -O   (test for errors, line 10)
FAIL: gfortran.dg/pr96102b.f90   -O   (test for errors, line 11)
FAIL: gfortran.dg/pr96102b.f90   -O   (test for errors, line 14)
FAIL: gfortran.dg/pr96102b.f90   -O   (test for errors, line 15)
FAIL: gfortran.dg/pr96102b.f90   -O  (test for excess errors)
Error: Unexpected use of subroutine name ‘n’ at (1)

FAIL: gfortran.dg/proc_ptr_result_2.f90   -O  (test for excess errors)
   35 |     call set_fun(aux)
      |                     1
Error: Type mismatch in argument ‘y’ at (1); passed REAL(4) to UNKNOWN

XPASS: gfortran.dg/goacc/coarray.f95   -O  TODO (test for errors, line 27)
XPASS: gfortran.dg/goacc/cray-2.f95   -O  TODO (test for errors, line 49)
FAIL: gfortran.dg/goacc/cray-2.f95   -O  (test for excess errors)
XPASS: gfortran.dg/goacc/cray.f95   -O  TODO (test for errors, line 48)
FAIL: gfortran.dg/goacc/cray.f95   -O  (test for excess errors)
FAIL: gfortran.dg/goacc/declare-1.f95   -O   (test for errors, line 13)
FAIL: gfortran.dg/goacc/declare-1.f95   -O  (test for excess errors)
FAIL: gfortran.dg/goacc/loop-1-2.f95   -O  (test for excess errors)
FAIL: gfortran.dg/goacc/loop-1.f95   -O  (test for excess errors)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 49 (test for
warnings, line 48)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 50 (test for
warnings, line 48)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 51 (test for
warnings, line 48)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 52 (test for
warnings, line 48)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 53 (test for
warnings, line 48)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 54 (test for
warnings, line 48)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 59 (test for
warnings, line 58)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 63 (test for
warnings, line 62)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 72 (test for
warnings, line 71)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 73 (test for
warnings, line 71)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 74 (test for
warnings, line 71)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 75 (test for
warnings, line 71)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 76 (test for
warnings, line 71)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 77 (test for
warnings, line 71)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 82 (test for
warnings, line 81)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 86 (test for
warnings, line 85)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 104 (test for
warnings, line 103)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 105 (test for
warnings, line 103)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 106 (test for
warnings, line 103)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 107 (test for
warnings, line 103)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 108 (test for
warnings, line 103)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 109 (test for
warnings, line 103)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 114 (test for
warnings, line 113)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 118 (test for
warnings, line 117)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 127 (test for
warnings, line 126)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 128 (test for
warnings, line 126)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 129 (test for
warnings, line 126)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 130 (test for
warnings, line 126)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 131 (test for
warnings, line 126)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 132 (test for
warnings, line 126)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 137 (test for
warnings, line 136)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O   at line 141 (test for
warnings, line 140)
FAIL: gfortran.dg/goacc/nested-function-1.f90   -O  (test for excess errors)
FAIL: gfortran.dg/goacc/parameter.f95   -O  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-5.f90   -O   (test for warnings, line 48)
FAIL: gfortran.dg/gomp/allocate-5.f90   -O   (test for warnings, line 52)
FAIL: gfortran.dg/gomp/allocate-5.f90   -O   (test for warnings, line 56)
FAIL: gfortran.dg/gomp/allocate-5.f90   -O   (test for warnings, line 69)
FAIL: gfortran.dg/gomp/allocate-5.f90   -O   (test for warnings, line 77)
FAIL: gfortran.dg/gomp/allocate-5.f90   -O   (test for warnings, line 87)
FAIL: gfortran.dg/gomp/allocate-5.f90   -O  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-12.f90   -O  (internal compiler error: Aborted)
FAIL: gfortran.dg/gomp/allocate-12.f90   -O   (test for errors, line 6)
FAIL: gfortran.dg/gomp/allocate-12.f90   -O   (test for errors, line 16)
FAIL: gfortran.dg/gomp/allocate-12.f90   -O  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-13.f90   -O  (internal compiler error: Aborted)
FAIL: gfortran.dg/gomp/allocate-13.f90   -O  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-9.f90   -O  (internal compiler error:
free_expr0(): Bad expr type)
FAIL: gfortran.dg/gomp/allocate-9.f90   -O   (test for errors, line 38)
FAIL: gfortran.dg/gomp/allocate-13a.f90   -O  (internal compiler error:
Aborted)
FAIL: gfortran.dg/gomp/allocate-9.f90   -O   (test for errors, line 41)
FAIL: gfortran.dg/gomp/allocate-13a.f90   -O  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-9.f90   -O   at line 42 (test for errors, line
41)
FAIL: gfortran.dg/gomp/allocate-9.f90   -O   (test for errors, line 45)
FAIL: gfortran.dg/gomp/allocate-9.f90   -O   (test for errors, line 48)
FAIL: gfortran.dg/gomp/allocate-9.f90   -O   (test for errors, line 56)
FAIL: gfortran.dg/gomp/allocate-9.f90   -O   (test for errors, line 58)
FAIL: gfortran.dg/gomp/allocate-9.f90   -O   (test for errors, line 63)
FAIL: gfortran.dg/gomp/allocate-9.f90   -O   (test for errors, line 70)
FAIL: gfortran.dg/gomp/allocate-9.f90   -O   (test for errors, line 74)
FAIL: gfortran.dg/gomp/allocate-9.f90   -O   (test for errors, line 82)
FAIL: gfortran.dg/gomp/allocate-9.f90   -O   (test for errors, line 88)
FAIL: gfortran.dg/gomp/allocate-9.f90   -O   at line 103 (test for errors, line
102)
FAIL: gfortran.dg/gomp/allocate-9.f90   -O   at line 104 (test for errors, line
102)
FAIL: gfortran.dg/gomp/allocate-9.f90   -O   (test for errors, line 108)
FAIL: gfortran.dg/gomp/allocate-9.f90   -O   (test for errors, line 109)
FAIL: gfortran.dg/gomp/allocate-9.f90   -O  (test for excess errors)
FAIL: gfortran.dg/gomp/order-2.f90   -O  (test for excess errors)
FAIL: gfortran.dg/gomp/teams-4.f90   -O  (test for excess errors)
FAIL: gfortran.dg/graphite/pr42181.f90   -O  (test for excess errors)

Reply via email to