FreeBSD/contrib/gcc/c-common.c
/* Return a signed type the same as TYPE in other respects.  */
Return a signed type the same as TYPE in other respects.
Return a signed type the same as TYPE in other respects .
tree
c_common_signed_type (tree type)
{
  tree type1 = TYPE_MAIN_VARIANT (type);
  if (type1 == unsigned_char_type_node || type1 == char_type_node)
    return signed_char_type_node;
  if (type1 == unsigned_type_node)
    return integer_type_node;
  if (type1 == short_unsigned_type_node)
    return short_integer_type_node;
  if (type1 == long_unsigned_type_node)
    return long_integer_type_node;
  if (type1 == long_long_unsigned_type_node)
    return long_long_integer_type_node;
  if (type1 == widest_unsigned_literal_type_node)
    return widest_integer_literal_type_node;
#if HOST_BITS_PER_WIDE_INT >= 64
  if (type1 == unsigned_intTI_type_node)
    return intTI_type_node;
#endif
  if (type1 == unsigned_intDI_type_node)
    return intDI_type_node;
  if (type1 == unsigned_intSI_type_node)
    return intSI_type_node;
  if (type1 == unsigned_intHI_type_node)
    return intHI_type_node;
  if (type1 == unsigned_intQI_type_node)
    return intQI_type_node;
  return c_common_signed_or_unsigned_type (0, type);
}
tree c_common_signed_type ( tree type ) { tree type1 = TYPE_MAIN_VARIANT ( type ) ; if ( type1 == unsigned_char_type_node || type1 == char_type_node ) return signed_char_type_node ; if ( type1 == unsigned_type_node ) return integer_type_node ; if ( type1 == short_unsigned_type_node ) return short_integer_type_node ; if ( type1 == long_unsigned_type_node ) return long_integer_type_node ; if ( type1 == long_long_unsigned_type_node ) return long_long_integer_type_node ; if ( type1 == widest_unsigned_literal_type_node ) return widest_integer_literal_type_node ; #if HOST_BITS_PER_WIDE_INT >= 64 if ( type1 == unsigned_intTI_type_node ) return intTI_type_node ; #endif if ( type1 == unsigned_intDI_type_node ) return intDI_type_node ; if ( type1 == unsigned_intSI_type_node ) return intSI_type_node ; if ( type1 == unsigned_intHI_type_node ) return intHI_type_node ; if ( type1 == unsigned_intQI_type_node ) return intQI_type_node ; return c_common_signed_or_unsigned_type ( 0 , type ) ; }
Return a signed type the same as TYPE in other respects.
Return a signed type the same as TYPE in other respects .