This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] bootstrap problem on powerpc-apple-darwin6.6
- From: Andrew Pinski <pinskia at physics dot uc dot edu>
- To: jason at redhat dot com (Jason Merrill)
- Cc: dberlin at dberlin dot org (Daniel Berlin), law at redhat dot com, pinskia at physics dot uc dot edu (Andrew Pinski), gcc at gcc dot gnu dot org
- Date: Thu, 21 Aug 2003 19:11:52 -0400 (EDT)
- Subject: Re: [tree-ssa] bootstrap problem on powerpc-apple-darwin6.6
>
> On Thu, 21 Aug 2003 16:53:04 -0400, Daniel Berlin <dberlin@dberlin.org> wrote:
>
> > This stripping you do undoes what gimple_boolify_expr did to convert it to
> > a boolean_type.
> > Then invert_truthop aborts when it tries to invert a non-boolean_type tree.
> > So either
> > 1. The conversion isn't useless, but gimplify_boolify_expr is not
> > generating the conversion in a way that makes it seem un-useless.
> > 2. The conversion isn't useless, and the above is not working like it
> > should.
>
> I think the conversion isn't useless, because BOOLEAN_TYPE has a (much)
> smaller range of values, which matters to invert_truthop, at least, and
> should be useful to optimizers.
I know why it only shows up on powerpc-apple-darwin because darwin defines
bool as 4 bytes instead of the default of 1.
To reproduce this define the following in one of your target headers:
#define BOOL_TYPE_SIZE INT_TYPE_SIZE
Yes this will change the ABI but it is the easiest way to reproduce it
(unless you want to do a cross-build of gcc but only cc1 and then compile
the source file).
Thanks,
Andrew Pinski