https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111922

--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Andrew Macleod from comment #7)
> Alternatively, if IPA could figure out when things need promoting..  GCC
> must already do it, although I suppose thats in the front ends :-P

Well, in this case the user explicitly told compiler not to do that by not
using a prototype and syntax which doesn't provide one from the definition.
It is like using
int f1 (struct C *x, struct A *y)
{
  ...
}
definition in one TU, and
int f1 (int, int);
prototype and
f1 (0, ~x)
call in another one + using LTO.  What I meant is how to do decide if the
param_type vs. operand_type mismatch is ok or not.

Reply via email to