This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: [Patch, fortran] PR - Problems with -fwhole-file
- From: Paul Richard Thomas <paul dot richard dot thomas at gmail dot com>
- To: Tobias Burnus <burnus at net-b dot de>
- Cc: "fortran at gcc dot gnu dot org" <fortran at gcc dot gnu dot org>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Sun, 17 May 2009 16:44:48 +0200
- Subject: Re: [Patch, fortran] PR - Problems with -fwhole-file
- References: <339c37f20905161404q2fc8d9f7i322c8e30eb895c9e@mail.gmail.com> <4A100E22.1010601@net-b.de>
Dear All,
> I wonder how to put it into the gfortran invoke.texi manual such that
> users can actually find that their error (might) go away when using
> -std=legacy; as long as -fwhole-file is not the default, that's not a
> problem. But as the goal is to enable it by default ... (As tests have
> shows, errors of this kind are extremely common; usually they are
> written kind of on purpose and work on most systems.)
Indeed - you are right on both points. I believe that I am still a
good way from enabling this option by default and should ensure that
the manual is updated.
>
>> The next step is to grab the backend_decls for module procedures. ?I
>> am working on this now.
I have been a bit diverted from this - see below.
> OK; however, I wonder whether one should use an enum instead of a magic
> number for the following to make the meaning more obvious
Yes - I'll do it.
> Additionally, as Daniel Franke has pointed out: PR40011 comment 16 still
> gives an ICE.
I spent three hours on this yesterday and am still none the wiser.
With -fwhole-file, the gfc_dt_list gathers a bunch of extra versions
of each derived type; I cannot for the life of me see why and, worse,
do not understand why they are not recognised to be the same.
> I get an ICE in:
> ==17012== Invalid read of size 8
> ==17012== ? ?at 0x4FABF0: resolve_branch (resolve.c:6305)
> ==17012== ? ?by 0x505670: resolve_code (resolve.c:7002)
> ==17012== ? ?by 0x5059AB: gfc_resolve_blocks (resolve.c:6749)
I've added it to the task list.
I will not commit until I have fixed these two problems.
Paul