From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31264 invoked by alias); 18 Sep 2013 22:57:04 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 31235 invoked by uid 48); 18 Sep 2013 22:57:01 -0000 From: "abensonca at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug fortran/58470] New: ICE on invalid with FINAL function and type extension Date: Wed, 18 Sep 2013 22:57:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: fortran X-Bugzilla-Version: 4.9.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: abensonca at gmail dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter Message-ID: 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 X-SW-Source: 2013-09/txt/msg01386.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D58470 Bug ID: 58470 Summary: ICE on invalid with FINAL function and type extension Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: abensonca at gmail dot com The following causes an ICE with gfortran 4.9.0 (r202667): module cf type :: cfml contains final :: mld end type cfml type, extends(cfml) :: cfmde end type cfmde contains subroutine mld(s) class(cfml), intent(inout) :: s end subroutine mld end module cf $ gfortran -v Using built-in specs. COLLECT_GCC=3D/opt/gcc-trunk/bin/gfortran COLLECT_LTO_WRAPPER=3D/opt/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4= .9.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../gcc-trunk/configure --prefix=3D/opt/gcc-trunk --enable-languages=3Dc,c++,fortran --disable-multilib Thread model: posix gcc version 4.9.0 20130917 (experimental) (GCC)=20 $ gfortran -c bug.F90 -o bug.o bug.F90: In function =E2=80=98__final_cf_Cfml=E2=80=99: bug.F90:12:0: internal compiler error: Segmentation fault end module cf ^ 0x99112f crash_signal ../../gcc-trunk/gcc/toplev.c:335 0x5f8e0c gfc_conv_derived_to_class(gfc_se*, gfc_expr*, gfc_typespec, tree_node*, bool, bool) ../../gcc-trunk/gcc/fortran/trans-expr.c:424 0x5f1140 gfc_conv_procedure_call(gfc_se*, gfc_symbol*, gfc_actual_arglist*, gfc_expr*, vec*) ../../gcc-trunk/gcc/fortran/trans-expr.c:4028 0x61cd04 gfc_trans_call(gfc_code*, bool, tree_node*, tree_node*, bool) ../../gcc-trunk/gcc/fortran/trans-stmt.c:406 0x5bf010 trans_code ../../gcc-trunk/gcc/fortran/trans.c:1700 0x621a40 gfc_trans_integer_select ../../gcc-trunk/gcc/fortran/trans-stmt.c:1990 0x621a40 gfc_trans_select(gfc_code*) ../../gcc-trunk/gcc/fortran/trans-stmt.c:2484 0x5bed77 trans_code ../../gcc-trunk/gcc/fortran/trans.c:1743 0x5e7dae gfc_generate_function_code(gfc_namespace*) ../../gcc-trunk/gcc/fortran/trans-decl.c:5528 0x5c0781 gfc_generate_module_code(gfc_namespace*) ../../gcc-trunk/gcc/fortran/trans.c:1955 0x57eee7 translate_all_program_units ../../gcc-trunk/gcc/fortran/parse.c:4496 0x57eee7 gfc_parse_file() ../../gcc-trunk/gcc/fortran/parse.c:4706 0x5baab5 gfc_be_parse_file ../../gcc-trunk/gcc/fortran/f95-lang.c:189 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See for instructions. The code is invalid because the finalization subroutine defines its argumen= t as CLASS rather than TYPE. Removing the "cfmde" type (or removing the ", extends(cfml)") results in the correct error message: $ gfortran -c bug.F90 -o bug.o bug.F90:9.18: subroutine mld(s) 1 Error: Argument of FINAL procedure at (1) must be of type 'cfml' >>From gcc-bugs-return-430147-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Wed Sep 18 23:01:56 2013 Return-Path: Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 4873 invoked by alias); 18 Sep 2013 23:01:56 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Delivered-To: mailing list gcc-bugs@gcc.gnu.org Received: (qmail 4849 invoked by uid 48); 18 Sep 2013 23:01:53 -0000 From: "abensonca at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug fortran/58471] New: ICE on invalid with missing type constructor and -Wall Date: Wed, 18 Sep 2013 23:01:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: fortran X-Bugzilla-Version: 4.9.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: abensonca at gmail dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2013-09/txt/msg01387.txt.bz2 Content-length: 2774 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58471 Bug ID: 58471 Summary: ICE on invalid with missing type constructor and -Wall Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: abensonca at gmail dot com The following causes an ICE with gfortran 4.9.0 (r202667) when compiled with -Wall: module cf type :: cfmde end type cfmde interface cfmde module procedure mdedc end interface cfmde contains subroutine cfi() implicit none type(cfmde), pointer :: cfd cfd=cfmde() return end subroutine cfi end module cf $ gfortran -v Using built-in specs. COLLECT_GCC=/opt/gcc-trunk/bin/gfortran COLLECT_LTO_WRAPPER=/opt/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.9.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../gcc-trunk/configure --prefix=/opt/gcc-trunk --enable-languages=c,c++,fortran --disable-multilib Thread model: posix gcc version 4.9.0 20130917 (experimental) (GCC) $ gfortran -c bug1.F90 -o bug1.o -Wall bug1.F90:5.22: module procedure mdedc 1 Error: Procedure 'mdedc' in generic interface 'cfmde' at (1) is neither function nor subroutine f951: internal compiler error: Segmentation fault 0x99112f crash_signal ../../gcc-trunk/gcc/toplev.c:335 0x582892 gfc_expr_attr(gfc_expr*) ../../gcc-trunk/gcc/fortran/primary.c:2259 0x53a40c gfc_check_assign(gfc_expr*, gfc_expr*, int) ../../gcc-trunk/gcc/fortran/expr.c:3160 0x58f872 resolve_ordinary_assign ../../gcc-trunk/gcc/fortran/resolve.c:9200 0x58f872 resolve_code ../../gcc-trunk/gcc/fortran/resolve.c:9810 0x591b0e resolve_codes ../../gcc-trunk/gcc/fortran/resolve.c:14507 0x591a17 resolve_codes ../../gcc-trunk/gcc/fortran/resolve.c:14493 0x591bf2 gfc_resolve ../../gcc-trunk/gcc/fortran/resolve.c:14535 0x57efdf gfc_parse_file() ../../gcc-trunk/gcc/fortran/parse.c:4645 0x5baab5 gfc_be_parse_file ../../gcc-trunk/gcc/fortran/f95-lang.c:189 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See for instructions. without -Wall the correct error message is generated: $ gfortran -c bug1.F90 -o bug1.o bug1.F90:5.22: module procedure mdedc 1 Error: Procedure 'mdedc' in generic interface 'cfmde' at (1) is neither function nor subroutine bug1.F90:11.8: cfd=cfmde() 1 Error: Can't convert REAL(4) to TYPE(cfmde) at (1) Adding a suitable "mdedc" procedure results in successful compilation.