FreeBSD/contrib/gcc/cp/cvt.c
/* Convert an aggregate EXPR to type XTYPE.  If a conversion
   exists, return the attempted conversion.  This may
   return ERROR_MARK_NODE if the conversion is not
   allowed (references private members, etc).
   If no conversion exists, NULL_TREE is returned.

   FIXME: Ambiguity checking is wrong.  Should choose one by the implicit
   object parameter, or by the second standard conversion sequence if
   that doesn't do it.  This will probably wait for an overloading rewrite.
   (jason 8/9/95)  */
Convert an aggregate EXPR to type XTYPE.  If a conversion
exists, return the attempted conversion.  This may
return ERROR_MARK_NODE if the conversion is not
allowed (references private members, etc).
If no conversion exists, NULL_TREE is returned.

Ambiguity checking is wrong.  Should choose one by the implicit
object parameter, or by the second standard conversion sequence if
that doesn't do it.  This will probably wait for an overloading rewrite.
Convert an aggregate EXPR to type XTYPE . If a conversion exists return the attempted conversion . This may return ERROR_MARK_NODE if the conversion is not allowed ( references private members etc ) . If no conversion exists NULL_TREE is returned . Ambiguity checking is wrong . Should choose one by the implicit object parameter or by the second standard conversion sequence if that doesn ' t do it . This will probably wait for an overloading rewrite .
static tree
build_type_conversion (tree xtype, tree expr)
{
  return build_user_type_conversion (xtype, expr, LOOKUP_NORMAL);
}
static tree build_type_conversion ( tree xtype , tree expr ) { return build_user_type_conversion ( xtype , expr , LOOKUP_NORMAL ) ; }
Convert an aggregate EXPR to type XTYPE.
Convert an aggregate EXPR to type XTYPE .
/* C++: check to see if we can convert this aggregate type
     into the required type.  */