This is the mail archive of the
mailing list for the GCC project.
Re: [gfortran] Fix PR 19543: Type mismatch when building logicalconstants
- From: Roger Sayle <roger at eyesopen dot com>
- To: Tobias Schlüter <tobias dot schlueter at physik dot uni-muenchen dot de>
- Cc: fortran at gcc dot gnu dot org, <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 21 Jan 2005 18:37:09 -0700 (MST)
- Subject: Re: [gfortran] Fix PR 19543: Type mismatch when building logicalconstants
On Fri, 21 Jan 2005, [ISO-8859-1] Tobias Schlüter wrote:
> Supposing this is indeed a middle-end bug, would it be a good idea to
> submit my patch anyway, so that the hypothetical middle-end hacker will
> not have to patch his Fortran compiler to get a clear view of this
My initial guess is that somewhere in the middle-end is assuming
that the front-end creates only a single type for BOOLEAN_TYPE and
that this is the same as the front-end's (default) boolean_type_node.
I believe gfortran is unique in being the only GCC front-end to
have multiple precision variants of BOOLEAN_TYPE.
But I'm also confused by the strange self-referencing "loop" in
gfortran/trans-types.c, where gfc_build_logical_type can return
boolean_type_node, but boolean_type_node is (indirectly) initialized
by calling gfc_build_logical_type!? Could someone check that I'm
not missing something in gfc_init_types.