avr-libc-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: AW: [avr-libc-dev] avr-libc 1.0.5 released


From: Paul Schlie
Subject: Re: AW: [avr-libc-dev] avr-libc 1.0.5 released
Date: Mon, 20 Dec 2004 19:45:53 -0500
User-agent: Microsoft-Entourage/11.1.0.040913

> Just being curious: At which places did you need to incorporate the changes
> concerning
> the undesired QI-HI promotion, Paul?

Within c-common.c, which is called by to determine if the expression is
converted to int by default_conversion()

bool
c_promoting_integer_type_p (tree t)
{
  switch (TREE_CODE (t))
    {
/*-pws    case INTEGER_TYPE:
      return (TYPE_MAIN_VARIANT (t) == char_type_node
          || TYPE_MAIN_VARIANT (t) == signed_char_type_node
          || TYPE_MAIN_VARIANT (t) == unsigned_char_type_node
          || TYPE_MAIN_VARIANT (t) == short_integer_type_node
          || TYPE_MAIN_VARIANT (t) == short_unsigned_type_node
          || TYPE_PRECISION (t) < TYPE_PRECISION (integer_type_node));
pws--*/

    case ENUMERAL_TYPE:
      /* ??? Technically all enumerations not larger than an int
     promote to an int.  But this is used along code paths
     that only want to notice a size change.  */
      return TYPE_PRECISION (t) < TYPE_PRECISION (integer_type_node);

    case BOOLEAN_TYPE:
      return 1;

    default:
      return 0;
    }
}






reply via email to

[Prev in Thread] Current Thread [Next in Thread]