Tom Wood [Thu, 15 Apr 1993 17:27:29 +0000 (17:27 +0000)]
(IS_ID, IS_PROTOCOL_QUALIFIED_ID, IS_SUPER): New type checking macros.
(IS_ID, IS_PROTOCOL_QUALIFIED_ID, IS_SUPER): New type
checking macros.
(objc_comptypes, build_message_expr, gen_declspecs): Use them.
(IS_ID, IS_PROTOCOL_QUALIFIED_ID, IS_SUPER): New type
checking macros.
(objc_comptypes, build_message_expr, gen_declspecs): Use them.
(gen_declarator): Don't use strcpy's return value.
(build_message_expr): Allow any type that matches
objc_class_type.
(get_class_reference): We already have a name.
(build_objc_string): Use TREE_SET_CODE instead of
assigning to TREE_CODE.
(build_objc_string_object): Ditto.
Tom Wood [Wed, 14 Apr 1993 17:32:18 +0000 (17:32 +0000)]
(maybe_objc_comptypes): Return 0 (incompatible) rather than 2 (similar enough) as the default.
(maybe_objc_comptypes): Return 0
(incompatible) rather than 2 (similar enough) as the default.
This was an inadvertent change in the Objective-C merge.
(-Wprotocol): added
(flag_warn_protocol): New variable
(check_methods_accessible): New function
(check_protocol): Use check_methods or check_methods_accessible
depending on flag_warn_protocol to check protocol conformance.
(start_class): For class implementations Assign
SUPER_CLASS_NAME from interface specification if not present.
Jim Wilson [Mon, 12 Apr 1993 19:45:58 +0000 (12:45 -0700)]
(fold...
(fold, COMPOUND_EXPR case): When pedantic, don't
simplify a COMPOUND_EXPR, so that it won't be mistaken for an
lvalue or an integer constant expression.
Jim Wilson [Mon, 12 Apr 1993 19:44:47 +0000 (12:44 -0700)]
(internal_build_compound_expr): When pedantic...
(internal_build_compound_expr): When pedantic, don't
simplify a COMPOUND_EXPR, so that it won't be mistaken for an
lvalue or an integer constant expression.
Richard Kenner [Sun, 11 Apr 1993 10:41:55 +0000 (06:41 -0400)]
(layout_record): After copying the offsets of a field that is an anonymous union to the offsets of the fields of that union...
(layout_record): After copying the offsets of a field that is an
anonymous union to the offsets of the fields of that union, zero the
offset of the anonymous field in case it is used to access the inner
fields.
Richard Kenner [Sun, 11 Apr 1993 10:39:54 +0000 (06:39 -0400)]
(make_compound_operation, case xSHIFTRT):
Clean up code so more readable and don't restrict to case where C2 >= C1.
Pass correct (inner) code to recursive call.
(make_compound_operation, case SUBREG): Pass the code of our operand
to recursive call, not SUBREG, and make another recursive call after
calling force_to_mode.
Richard Stallman [Sun, 11 Apr 1993 08:08:54 +0000 (08:08 +0000)]
(expand_divmod): When adjusting op0 for trunc_div or trunc_mod...
(expand_divmod): When adjusting op0 for trunc_div or
trunc_mod, using shifts (not branches), make a new pseudo for the
result. Don't use target for adjusted_op0.
Richard Kenner [Sat, 10 Apr 1993 14:56:57 +0000 (10:56 -0400)]
(alpha_sa_size): Need to save $26 if it is used or if any other register is saved...
(alpha_sa_size): Need to save $26 if it is used or if any other
register is saved, but not just because a stack space is needed.
(output_prolog): Add code to probe the stack if we allocate more than
4096 bytes; required by chapter 7 (for threads).
Know when to save $26.
(output_epilog): Know when to restore $26.
Richard Kenner [Sat, 10 Apr 1993 14:56:02 +0000 (10:56 -0400)]
(add/sub): Correct predicates and constraints for sNaddX and addX insns...
(add/sub): Correct predicates and constraints for sNaddX and addX insns; we
can use sNsubX and subX to add small negative constants.
Don't split addition to SP since we want to update it just once.
(beq, bne): Use subtract, not compare for ints; it's more efficient.
(define_split for comparisons): Always prefer add/sub if it will work.
(probe_stack, allocate_stack): New patterns.
Jim Wilson [Sat, 10 Apr 1993 00:02:10 +0000 (17:02 -0700)]
(free_tree_list): New variable.
(digest_init): Set free_tree_list.
(process_init_constructor): Use add_double to do arithmetic with
double integers instead of using fold/build to to arithmetic in
type of array index. Use free_tree_list when available instead of
generating a new tree_list.
Tom Wood [Fri, 9 Apr 1993 23:11:51 +0000 (23:11 +0000)]
(comptypes, convert_for_assignment): Check for Objective-C protocols (non-reflexive use of maybe_objc_comptypes).
(comptypes, convert_for_assignment): Check for
Objective-C protocols (non-reflexive use of maybe_objc_comptypes).
(comp_target_types): Rewrite so that maybe_objc_comptypes checks
protocols when processing an Objective-C module. For C modules,
the code path is unchanged.
(convert_for_assignment): Improve the error message for
incompatible message arguments.