From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 0986D3858C50; Sat, 16 Dec 2023 10:39:30 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0986D3858C50 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1702723170; bh=DJa+tyngsqism4C9waT6sMcIGM+6G6Zvfhsmut978ic=; h=From:To:Subject:Date:In-Reply-To:References:From; b=Gt7WsSGSvmzT61i6h1ZoMJD/tQg7WnCALa6aM38CT6Jgg0ePYMH9otFxZcFb8RXAF /a4uL10TztpVQOwEwv+vE18FDvk3kV7AARe63HKtQ5xFmK5n6ogSrzO4L7yW3M4vOj SsJY7VAlq2WoKDb1MrGpYCuX7qJvI2kfoFfJZ8X0= From: "pault at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug fortran/89645] No IMPLICIT type error with: ASSOCIATE( X => function() ) Date: Sat, 16 Dec 2023 10:39:28 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: fortran X-Bugzilla-Version: 9.0 X-Bugzilla-Keywords: rejects-valid X-Bugzilla-Severity: normal X-Bugzilla-Who: pault at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: pault at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: attachments.created Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D89645 --- Comment #5 from Paul Thomas --- Created attachment 56892 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=3D56892&action=3Dedit 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: =E2=80=98f2=E2=80=99 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 =3D> 1 ! { dg-error "Pointer assignment target cannot be a constant" } |=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 ^ 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 =E2=80=98erfc=E2=80=99 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 /=3D 0 ) stop 1 ! { dg-error "internal procedure of= the same name" } | 1 Error: Function =E2=80=98n=E2=80=99 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 =E2=80=98n=E2=80=99 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 =E2=80=98y=E2=80=99 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: Abor= ted) 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: Abor= ted) 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, l= ine 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)=