m3-sys/m3cc/gcc-4.5/gcc/c-common.c
/* Build a bit-field integer type for the given WIDTH and UNSIGNEDP.  */
Build a bit-field integer type for the given WIDTH and UNSIGNEDP.
Build a bit - field integer type for the given WIDTH and UNSIGNEDP .
tree
c_build_bitfield_integer_type (unsigned HOST_WIDE_INT width, int unsignedp)
{
  if (width == TYPE_PRECISION (integer_type_node))
    return unsignedp ? unsigned_type_node : integer_type_node;
  if (width == TYPE_PRECISION (signed_char_type_node))
    return unsignedp ? unsigned_char_type_node : signed_char_type_node;
  if (width == TYPE_PRECISION (short_integer_type_node))
    return unsignedp ? short_unsigned_type_node : short_integer_type_node;
  if (width == TYPE_PRECISION (long_integer_type_node))
    return unsignedp ? long_unsigned_type_node : long_integer_type_node;
  if (width == TYPE_PRECISION (long_long_integer_type_node))
    return (unsignedp ? long_long_unsigned_type_node
	    : long_long_integer_type_node);
  return build_nonstandard_integer_type (width, unsignedp);
}
tree c_build_bitfield_integer_type ( unsigned HOST_WIDE_INT width , int unsignedp ) { if ( width == TYPE_PRECISION ( integer_type_node ) ) return unsignedp ? unsigned_type_node : integer_type_node ; if ( width == TYPE_PRECISION ( signed_char_type_node ) ) return unsignedp ? unsigned_char_type_node : signed_char_type_node ; if ( width == TYPE_PRECISION ( short_integer_type_node ) ) return unsignedp ? short_unsigned_type_node : short_integer_type_node ; if ( width == TYPE_PRECISION ( long_integer_type_node ) ) return unsignedp ? long_unsigned_type_node : long_integer_type_node ; if ( width == TYPE_PRECISION ( long_long_integer_type_node ) ) return ( unsignedp ? long_long_unsigned_type_node : long_long_integer_type_node ) ; return build_nonstandard_integer_type ( width , unsignedp ) ; }
Build a bit-field integer type for the given WIDTH and UNSIGNEDP.
Build a bit - field integer type for the given WIDTH and UNSIGNEDP .
/* Extended integer types of the same width as a standard type have
     lesser rank, so those of the same width as int promote to int or
     unsigned int and are valid for printf formats expecting int or
     unsigned int.  To avoid such special cases, avoid creating
     extended integer types for bit-fields if a standard integer type
     is available.  */