FreeBSD/contrib/gcc/cp/call.c
/* Returns the type which will really be used for passing an argument of
   type TYPE.  */
Returns the type which will really be used for passing an argument of
type TYPE.
Returns the type which will really be used for passing an argument of type TYPE .
tree
type_passed_as (tree type)
{
  if (TREE_ADDRESSABLE (type))
    {
      type = build_reference_type (type);
      type = build_qualified_type (type, TYPE_QUAL_RESTRICT);
    }
  else if (targetm.calls.promote_prototypes (type)
	   && INTEGRAL_TYPE_P (type)
	   && COMPLETE_TYPE_P (type)
	   && INT_CST_LT_UNSIGNED (TYPE_SIZE (type),
				   TYPE_SIZE (integer_type_node)))
    type = integer_type_node;
  return type;
}
tree type_passed_as ( tree type ) { if ( TREE_ADDRESSABLE ( type ) ) { type = build_reference_type ( type ) ; type = build_qualified_type ( type , TYPE_QUAL_RESTRICT ) ; } else if ( targetm . calls . promote_prototypes ( type ) && INTEGRAL_TYPE_P ( type ) && COMPLETE_TYPE_P ( type ) && INT_CST_LT_UNSIGNED ( TYPE_SIZE ( type ) , TYPE_SIZE ( integer_type_node ) ) ) type = integer_type_node ; return type ; }
Returns the type which will really be used for passing an argument of
type TYPE.
Returns the type which will really be used for passing an argument of type TYPE .
/* Pass classes with copy ctors by invisible reference.  */ /* There are no other pointers to this temporary.  */