Thu Jan 11 17:21:25 1996 Per Bothner <bothner@kalessin.cygnus.com>
+ * stabsread.c (read_struct_type): Trivial simplification.
+
* stabsread.c (define-symbol): Use invisible references
for TYPE_CODE_SET and TYPE_CODE_BITSTRING too.
+ * valops.c (call_function_by_hand): Likewise.
* eval.c (evaluate_subexp_standard): When known, use the formal
parameter type as the expected type when evaluating arg expressions.
* ch-lang.c (evaluate_subexp_chill): Likewise (for MULTI_SUBSCRIPT).
|| !attach_fn_fields_to_type (&fi, type)
|| !read_tilde_fields (&fi, pp, type, objfile))
{
- do_cleanups (back_to);
- return (error_type (pp, objfile));
+ type = error_type (pp, objfile);
}
do_cleanups (back_to);
COERCE_VARYING_ARRAY (arg2, type2);
code2 = TYPE_CODE (type2);
- if (code1 == TYPE_CODE_COMPLEX)
- return cast_into_complex (type, arg2);
- if (code1 == TYPE_CODE_BOOL)
+ if (code1 == TYPE_CODE_COMPLEX)
+ return cast_into_complex (type, arg2);
+ if (code1 == TYPE_CODE_BOOL || code1 == TYPE_CODE_CHAR)
code1 = TYPE_CODE_INT;
- if (code2 == TYPE_CODE_BOOL)
+ if (code2 == TYPE_CODE_BOOL || code2 == TYPE_CODE_CHAR)
code2 = TYPE_CODE_INT;
scalar = (code2 == TYPE_CODE_INT || code2 == TYPE_CODE_FLT
if ((TYPE_CODE (arg_type) == TYPE_CODE_STRUCT
|| TYPE_CODE (arg_type) == TYPE_CODE_UNION
|| TYPE_CODE (arg_type) == TYPE_CODE_ARRAY
- || TYPE_CODE (arg_type) == TYPE_CODE_STRING)
+ || TYPE_CODE (arg_type) == TYPE_CODE_STRING
+ || TYPE_CODE (arg_type) == TYPE_CODE_BITSTRING
+ || TYPE_CODE (arg_type) == TYPE_CODE_SET)
&& REG_STRUCT_HAS_ADDR (using_gcc, arg_type))
{
CORE_ADDR addr;