On Wed, Sep 30, 2015 at 02:41:36PM +0200, Bernd Schmidt wrote:
> On 09/29/2015 11:49 PM, Jeff Law wrote:
> >
> >This code from builtins.c:
> >
> >   /* If we don't need too much alignment, we'll have been guaranteed
> >      proper alignment by get_trampoline_type.  */
> >   if (TRAMPOLINE_ALIGNMENT <= STACK_BOUNDARY)
> >     return tramp;
> >
> >
> >It's entirely conceivable that TRAMPOLINE_ALIGNMENT will be the same as
> >STACK_BOUNDARY.  And if they are, then -Wtautological-compare will
> >complain bitterly.
> 
> Eww. Can we fix the warning not to complain when the comparison involves
> macros?

It already has

  /* Don't warn for various macro expansions.  */
  if (from_macro_expansion_at (loc) 
      || from_macro_expansion_at (EXPR_LOCATION (lhs))
      || from_macro_expansion_at (EXPR_LOCATION (rhs)))
    return;

and also

  /* We do not warn for constants because they are typical of macro
     expansions that test for features, sizeof, and similar.  */
  if (CONSTANT_CLASS_P (lhs) || CONSTANT_CLASS_P (rhs))
    return;

so why does it warn? :(

        Marek

Reply via email to