This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: reworked long_call heuristic patch.
- Subject: Re: reworked long_call heuristic patch.
- From: Richard Earnshaw <rearnsha at arm dot com>
- Date: Wed, 23 Feb 2000 18:23:30 +0000
- Cc: Nick Clifton <nickc at cygnus dot com>, dim at windriver dot com, gcc-patches at gcc dot gnu dot org
- Cc: rearnsha at arm dot com
- Organization: ARM Ltd.
- Reply-To: rearnsha at arm dot com
> > : No it doesn't. See my postings on this last week in gcc-bugs (Regression
> > : in C prototype handling?).
>
> > May I suggest the following alternative patch to fix this problem ?
> > This version does away with (most of) the clever (but confusing)
> > logical operators and instead has some simple, and commented, tests.
> >
> > OK to apply ?
>
> If it passes the test case I posted, then yes.
>
> >
> > Cheers
> > Nick
> >
> > + /* Only bother to check if an attribute is defined. */
> > + if (l1 | l2 | s1 | s2)
> > + {
> > + /* If one type has an attribute, the other must have the same attribute. */
> > + if ((!l1 != !l2) || (!s1 != !s2))
>
> l1, l2, s1 & s2 are already boolean values -- hence "!a != !b" === "a == b"
>
Following up on myself...
Argh! forget that previous statement, it's wrong and should have said
"!a != !b" === "a != b"
Time I went home...