Mon Feb 9 18:57:45 1999 Vladimir N. Makarov <vmakarov@cygnus.com>
* c-typeck.c (check_init_type_bitfields): Use nonincremental
initialization of unions whose first member is a bitfield.
Remove unnecessary code for checking the declaration mode
after DECL_C_BIT_FIELD.
* varasm.c (output_constructor): Additional comment about the
constructor of bitfield union initialization.
From-SVN: r25093
* config/c4x/c4x.md (all call patterns): Add constraints "Ur".
(call, call_value): Force address into a register if not valid
for a call instruction.
(load_immed_address): Emit a USE of the SYMBOL_REF that is
forced into memory.
* config/c4x/c4x.c (c4x_print_operand): Fix 'C' and 'U' modifiers.
From-SVN: r25090
* config/c4x/c4x.c (c4x_legitimize_address): Don't generate a
LO_SUM address for HImode or HFmode but instead force address into
a register so that it is offsettable.
(c4x_emit_move_sequence): Handle LO_SUM immediate address.
From-SVN: r25087
Mon Feb 8 11:50:50 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.h: DECL_P renamed JDECL_P.
* parse.y: DECL_P replaced by JDECL_P.
(build_array_from_name): Always use pointer's type.
(patch_bc_statement): Extra code to search continue target in a
for loop. Fixed comments. Continue target is current loop when
unlabeled.
From-SVN: r25082
Fri Jan 29 18:19:02 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* lex.c (java_read_char): Fixed utf8 decoding.
(java_unicode_2_utf8): Fixed utf8 encoding in the 0x800-0xffff
range.
* parse.y (valid_builtin_assignconv_identity_widening_p): Fixed
comments. Local variable `all_primitive' is gone. Broadened
acceptance of `0' to floating point targets. `long' can now be
widened to `double' or `float'.
(valid_method_invocation_conversion_p): Added leading
comment. Fixed tabulation.
(build_string_concatenation): Optimize out left or right empty
string constants.
From-SVN: r25078
* tree.h (TYPE_CHECK): Make it clear to the preprocessor
that we do not want macro replacement within a character constant.
(TYPE_CHECK1): Likewise.
From-SVN: r25074
* reload1.c (reload_combine_note_store): Be more careful with
STRICT_LOW_PART, ZERO_EXTRACT and SIGN_EXTRACT.
(move2add_note_store): Likewise.
From-SVN: r25055
* cppfiles.c (read_and_prescan): Cast the result of `xrealloc' to
U_CHAR* when assigning to one. Ensure the values of a ?: operator
have the same type.
* cppinit.c (initialize_char_syntax): Use K&R function definition.
From-SVN: r25054
Support for ARM9
* config/arm/arm.c (all_procs): Add arm9 and arm9tdmi.
* config/arm/arm.h ((TARGET_CPU_arm9, TARGET_CPUD_arm9tdmi): Define.
(TARGET_CPU_DEFAULT): Rework to support ARM9.
(CPP_CPU_ARCH_SPEC): Likewise.
(enum processor_type): Likewise.
* config/arm/arm.md (attr cpu): Add arm9.
General scheduling changes
* config/arm/arm.c (MAX_INSNS_SKIPPED): Delete.
(max_insns_skipped): New variable.
(arm_override_options): If generating hard floating point code for
the FPA, emit code for version 3.
When optimizing for space, don't synthesize constants.
Reword several flags based on the requested processor and optimization
level.
(use_return_insn): New argument iscond, all callers changed. Don't
use a return insn if it will be conditional and that would be
expensive; eg on StrongARM.
(arm_adjust_cost): Anti- and output- dependencies normally have no
cost.
(load_multiple_sequence): Newer ARMs don't benefit from ldm if
the sequence is short.
(final_prescan_insn): Use max_insns_skipped instead of
MAX_INSNS_SKIPPED. Note whether we will make a return instruction
conditional, and aviod this if it would be expensive.
* config/arm/arm.md (scheduling attributes and function units):
Rewrite to better describe ARM8, 9 and StrongARM.
* config/arm/arm.md (*movhi_insn_littleend): Make op0 predicate
s_register_operand.
(*ifcompare_plus_move): Use arm_rhs_operand in place of
arm_rhsm_operand. Rework constraints.
(*if_plus_move): Likewise.
(*ifcompare_move_plus): Likewise.
(*if_move_plus): Likewise.
(*ifcompre_arith_move): Likewise.
(*if_arith_move): Likewise.
(*ifcompare_move_arith): Likewise.
(*if_move_arith): Likewise.
* config/arm/xm-netbsd.h: Don't include arm/xm-arm.h.
From-SVN: r25053
�
Fri Feb 5 11:49:49 1999 Benjamin Kosnik <bkoz@loony.cygnus.com>
* c-common.c (decl_attributes): Fix reserved space for init_priority.
* tree.h (MAX_RESERVED_INIT_PRIORITY): New macro.
From-SVN: r25047
�
Fri Feb 5 11:49:49 1999 Benjamin Kosnik <bkoz@loony.cygnus.com>
* c-common.c (decl_attributes): Fix reserved space for init_priority.
* tree.h (MAX_RESERVED_INIT_PRIORITY): New macro.
From-SVN: r25046
�
Fri Feb 5 11:49:49 1999 Benjamin Kosnik <bkoz@loony.cygnus.com>
* c-common.c (decl_attributes): Fix reserved space for init_priority.
* tree.h (MAX_RESERVED_INIT_PRIORITY): New macro.
From-SVN: r25045
1999-02-05 Andrew Haley <aph@cygnus.com>
* class.c (make_class_data): The superclass of an interface should
be null, not class Object.
* lex.c (java_lex): Sign extend hex literals.
From-SVN: r25039