Bug 29422 - ICE with allocatable
Summary: ICE with allocatable
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: fortran (show other bugs)
Version: 4.2.0
: P3 normal
Target Milestone: ---
Assignee: Paul Thomas
URL:
Keywords: ice-on-invalid-code
Depends on:
Blocks:
 
Reported: 2006-10-10 21:21 UTC by Dominique d'Humieres
Modified: 2006-10-14 08:20 UTC (History)
1 user (show)

See Also:
Host:
Target: x86_64-unknown-linux-gnu
Build: 4.2.0 20061009
Known to work:
Known to fail:
Last reconfirmed: 2006-10-11 17:42:12


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dominique d'Humieres 2006-10-10 21:21:30 UTC
The following code (derived from allocatable_1.f90)

Type drv
 Integer::i
 Integer,allocatable::arr(:)
End type drv

  print *, fun1()

contains
  Function fun1 ()

    Type(drv)::fun1
    Fun1%i=10
  end function fun1
end

gives

allocatable_1_db.f90: In function ‘MAIN__’:
allocatable_1_db.f90:12: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

Cheers

Dominique
Comment 1 patchapp@dberlin.org 2006-10-11 11:00:51 UTC
Subject: Bug number PR29422

A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is http://gcc.gnu.org/ml/gcc-patches/2006-10/msg00609.html
Comment 2 Paul Thomas 2006-10-11 17:42:12 UTC
Since I posted the patch, I had better take it unto myself!

Paul
Comment 3 Dominique d'Humieres 2006-10-11 18:31:15 UTC
Subject: Re:  ICE with allocatable

> Since I posted the patch, I had better take it unto myself!

Be my guest!-)

Dominique
Comment 4 Paul Thomas 2006-10-13 12:51:40 UTC
Subject: Bug 29422

Author: pault
Date: Fri Oct 13 12:51:07 2006
New Revision: 117692

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=117692
Log:
2006-10-13 Paul Thomas <pault@gcc.gnu.org>

	PR fortran/29373
	* decl.c (get_proc_name, gfc_match_function_decl): Add
	attr.implicit_type to conditions that throw error for
	existing explicit interface and that allow new type-
	spec to be applied.

	PR fortran/29407
	* resolve.c (resolve_fl_namelist): Do not check for
	namelist/procedure conflict, if the symbol corresponds
	to a good local variable declaration.

	PR fortran/27701
	* decl.c (get_proc_name): Replace the detection of a declared
	procedure by the presence of a formal argument list by the
	attributes of the symbol and the presence of an explicit
	interface.

	PR fortran/29232
	* resolve.c (resolve_fl_variable): See if the host association
	of a derived type is blocked by the presence of another type I
	object in the current namespace.

	PR fortran/29364
	* resolve.c (resolve_fl_derived): Check for the presence of
	the derived type for a derived type component.

	PR fortran/24398
	* module.c (gfc_use_module): Check that the first words in a
	module file are 'GFORTRAN module'.

	PR fortran/29422
	* resolve.c (resolve_transfer): Test functions for suitability
	for IO, as well as variables.

	PR fortran/29428
	* trans-expr.c (gfc_trans_scalar_assign): Remove nullify of
	rhs expression.


2006-10-13 Paul Thomas <pault@gcc.gnu.org>

	PR fortran/29373
	* gfortran.dg/implicit_9.f90: New test.

	PR fortran/29407
	* gfortran.dg/namelist_25.f90: New test.

	PR fortran/27701
	* gfortran.dg/same_name_2.f90: New test.

	PR fortran/29232
	* gfortran.dg/host_assoc_types_1.f90: New test.

	PR fortran/29364
	* gfortran.dg/missing_derived_type_1.f90: New test.
	* gfortran.dg/implicit_actual.f90: Comment out USE GLOBAL.

	PR fortran/29422
	* gfortran.dg/alloc_comp_constraint_4.f90: New test.

	PR fortran/29428
	* gfortran.dg/alloc_comp_assign_5.f90: New test.

Added:
    trunk/gcc/testsuite/gfortran.dg/alloc_comp_assign_5.f90
    trunk/gcc/testsuite/gfortran.dg/alloc_comp_constraint_4.f90
    trunk/gcc/testsuite/gfortran.dg/host_assoc_types_1.f90
    trunk/gcc/testsuite/gfortran.dg/implicit_9.f90
    trunk/gcc/testsuite/gfortran.dg/missing_derived_type_1.f90
    trunk/gcc/testsuite/gfortran.dg/namelist_25.f90
    trunk/gcc/testsuite/gfortran.dg/same_name_2.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/decl.c
    trunk/gcc/fortran/module.c
    trunk/gcc/fortran/resolve.c
    trunk/gcc/fortran/trans-expr.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gfortran.dg/implicit_actual.f90

Comment 5 Paul Thomas 2006-10-14 08:20:47 UTC
Fixed in trunk

Paul