This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: PR 36322/36463
- From: "Janus Weil" <jaydub66 at googlemail dot com>
- To: "Paul Richard Thomas" <paul dot richard dot thomas at gmail dot com>
- Cc: FX <fxcoudert at gmail dot com>, fortran at gcc dot gnu dot org, mikael dot morin at tele2 dot fr
- Date: Thu, 23 Oct 2008 16:11:29 +0200
- Subject: Re: PR 36322/36463
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=onOcGwbZ/XH1V2tzuRULlJ+r6j6zjXic7HwG5Nukoes=; b=w20HHWjjUhfnCBTKS5v05e0yLAJrhRIkC+ncrW6tK1Sk6r2F3dmtVhA6PdtHDkwS00 NQYySpXl9WpGJd0PwPHHkze6pnH9KM9R3HriZOiw2COQUV30ujQ3LklYzD9hOnDz2pE3 GDKJMvvKa1gcIjoDJ9MMYNzaRjaF13u81ON2Q=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references; b=Z2uyLGzRuBqlmET/EOysR6Tpupdn/Q2q7/dw90psyspRqsqD7TwLF32f9xwqEzNAJL QJXDUs9C+YnvATGicPjsfo/tUNC7W9YFNjAaFUEf2DpeHrfHs9rHWFKEJXHpYhSZkbSV kJau59m60vxo6kfDGWdMxa/e5FOgT/3cxCWnA=
- References: <126D8D60-04F9-44F1-AB3B-6C4EF5CC899C@gmail.com> <339c37f20810202308o2496b4v319a01181914ba36@mail.gmail.com> <854832d40810230138x430d89d6l2eb39d7bb4e47367@mail.gmail.com> <854832d40810230503i4b460944q62d501d5cf75d2b5@mail.gmail.com>
I just tried to recompile the full example on c.l.f. with the current
patch, and noticed that there is one problem left, which is exposed by
the following test case:
module other_fun
implicit none
abstract interface
function abstract_fun(x)
integer x(:)
integer abstract_fun(size(x))
end function abstract_fun
end interface
end module other_fun
program gptr
use other_fun
implicit none
procedure(abstract_fun) :: fun
end program gptr
This gives:
Internal Error at (1):
gfc_get_default_type(): Bad symbol
The problem originates from symbols with the names "@0" and "@1". It
seems like these are generated during the reading of the module file
to replace "x" and "size". This happens in read_cleanup (module.c).
The @-names are generated by gfc_get_unique_symtree, and are supposed
to represent "hidden" symbols. Now I guess one should somehow mark
them as "non-hidden", e.g. by setting the rsym.referenced field, so
that they can keep their proper names. Maybe someone with more
experience in the module code can give me a hint on how to do this
properly ...
Cheers,
Janus