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

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
bool
propagate_bits_across_jump_function (cgraph_edge *cs, int idx,
                                     ipa_jump_func *jfunc,
                                     ipcp_bits_lattice *dest_lattice)
{
...
  /* For K&R C programs, ipa_get_type() could return NULL_TREE.
     Avoid the transform for these cases.  */
  if (!parm_type)
    {
      if (dump_file && (dump_flags & TDF_DETAILS))
        fprintf (dump_file, "Setting dest_lattice to bottom, because"
                            " param %i type is NULL for %s\n", idx,
                            cs->callee->name ());

      return dest_lattice->set_to_bottom ();
    }

  unsigned precision = TYPE_PRECISION (parm_type);
  signop sgn = TYPE_SIGN (parm_type);

those two accesses only work for INTEGRAL_TYPE_P types.  So maybe
the !parm_type should be instead

   if (!parm_type || !INTEGRAL_TYPE_P (parm_type))

? (with appropriate adjustment of the dump message)

Reply via email to