public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "dominiq at lps dot ens.fr" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug fortran/46330] New: [4.6 Regression] ICE after revision 166368 Date: Sat, 06 Nov 2010 14:37:00 -0000 [thread overview] Message-ID: <bug-46330-4@http.gcc.gnu.org/bugzilla/> (raw) http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46330 Summary: [4.6 Regression] ICE after revision 166368 Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned@gcc.gnu.org ReportedBy: dominiq@lps.ens.fr CC: janus@gcc.gnu.org Starting at revision 166368, the following code ! http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/76f99e7fd4f3e772# module type2_type implicit none type, abstract :: Type2 character :: typeName*(30) = "unknown" end type Type2 end module type2_type module extended2A_type use type2_type implicit none type, extends(Type2) :: Extended2A real(kind(1.0D0)) :: coeff1 = 1. real(kind(1.0D0)) :: coeff2 = 2. contains procedure :: setCoeff1 => Extended2A_setCoeff1 end type Extended2A contains function Extended2A_new(c1, c2) result(typePtr_) real(kind(1.0D0)), optional, intent(in) :: c1 real(kind(1.0D0)), optional, intent(in) :: c2 type(Extended2A), pointer :: typePtr_ type(Extended2A), save, allocatable, target :: type_ allocate(type_) typePtr_ => null() if (present(c1)) call type_%setCoeff1(c1) typePtr_ => type_ if ( .not.(associated (typePtr_))) then stop 'Error initializing Extended2A Pointer.' endif end function Extended2A_new subroutine Extended2A_setCoeff1(this,c1) class(Extended2A) :: this real(kind(1.0D0)), intent(in) :: c1 this% coeff1 = c1 end subroutine Extended2A_setCoeff1 end module extended2A_type module type1_type use type2_type implicit none type Type1 class(type2), pointer :: type2Ptr => null() contains procedure :: initProc => Type1_initProc end type Type1 contains function Type1_initProc(this) result(iError) use extended2A_type implicit none class(Type1) :: this integer :: iError this% type2Ptr => extended2A_new() if ( .not.( associated(this% type2Ptr))) then iError = 1 write(*,'(A)') "Something Wrong." else iError = 0 endif end function Type1_initProc end module type1_type program main use type1_type use extended2A_type implicit none integer :: iErr, i integer :: numArgs character, dimension(:), allocatable :: tempArgs*(100) class(type1), allocatable :: thisType1 allocate (Type1::thisType1) iErr = thisType1%initProc() deallocate (thisType1% type2Ptr) ! What happens here??? See questions below. ! now the pointer should be dangling and needs to be nullified / reassigned end program main gives an ICE: [macbook] f90/bug% gfcp pointers_type_red.f90 pointers_type_red.f90: In function 'type1_initproc': pointers_type_red.f90:53:0: internal compiler error: Segmentation fault The backtrace is (gdb) bt #0 0x00000001000ccd68 in gfc_conv_variable (se=0x7fff5fbfd4a0, expr=0x1417316f0) at ../../p_work/gcc/fortran/trans-expr.c:578 #1 0x00000001000cc2df in gfc_trans_pointer_assignment (expr1=0x141731330, expr2=0x1417316f0) at ../../p_work/gcc/fortran/trans-expr.c:4800 (gdb) p expr->symtree $2 = (gfc_symtree *) 0x0
next reply other threads:[~2010-11-06 14:37 UTC|newest] Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top 2010-11-06 14:37 dominiq at lps dot ens.fr [this message] 2010-11-06 15:30 ` [Bug fortran/46330] [4.6 Regression] [OOP] " janus at gcc dot gnu.org 2010-11-06 16:01 ` janus at gcc dot gnu.org 2010-11-06 17:33 ` rguenth at gcc dot gnu.org 2010-11-06 17:59 ` janus at gcc dot gnu.org 2010-11-06 18:02 ` janus at gcc dot gnu.org 2010-11-06 18:48 ` dominiq at lps dot ens.fr
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-46330-4@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).