+2002-04-25 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (s390_emit_epilogue): Always restore registers
+ needed by the compiler, even if they are used as global regs.
+
+2002-04-25 Matt Hiller <hiller@redhat.com>
+
+ * mips.c (mips_class_max_nregs, mips_register_move_cost): New
+ functions.
+ * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
+ of the corresponding functions.
+ * mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
+ New prototypes.
+
+2002-04-25 Matt Hiller <hiller@redhat.com>
+
+ * config/mips/mips.h (mips_sw_reg_names): Declare as extern.
+
+ (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
+ (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
+ registers, adjust comment accordingly.
+ (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
+ reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
+ DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
+ for coprocessor registers.
+ (ADDITIONAL_REGISTER_NAMES): Include
+ ALL_COP_ADDITIONAL_REGISTER_NAMES.
+
+ (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
+ COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
+ COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
+ COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
+ COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
+
+ (mips_char_to_class): Adjust comment to include coprocessor
+ constraint letters.
+
+ * config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
+ New functions.
+ (mips_reg_names, mips_regno_to_class): Include coprocessor
+ information.
+ (mips_sw_reg_names): Ditto, make non-static.
+ (mips_move_1word): Handle moves to and from coprocessor registers.
+ (mips_move_2words): Handle moves to and from coprocessor
+ registers.
+ (mips_class_max_nregs, mips_register_move_cost): Handle
+ coprocessor register classes.
+ (override_options): Initialize mips_char_to_class and
+ mips_hard_regno_mode_ok properly for coprocessor registers.
+
+ * config/mips/mips.md (movdi_internal, movdi_internal2,
+ movsi_internal1, movsi_internal2): Add constraint-sets for
+ coprocessor registers.
+ * testsuite/gcc.c-torture/mipscop-1.c: New testcase.
+ * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
+ isn't mips.
+ * testsuite/gcc.c-torture/mipscop-2.c: New testcase.
+ * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
+ isn't mips.
+ * testsuite/gcc.c-torture/mipscop-3.c: New testcase.
+ * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
+ isn't mips.
+ * testsuite/gcc.c-torture/mipscop-4.c: New testcase.
+ * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
+ isn't mips.
+
+ * doc/tm.texi: Document feature.
+
+2002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * integrate.c (function_attribute_inlinable_p): Simplify.
+ Check the table pointer is not NULL.
+
+2002-04-25 Steven Bosscher <S.Bosscher@student.tudelft.nl>
+
+ * doc/c-tree.texi: Fix typo in introduction.
+
+2002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * c-common.h (c_common_parse_file): Update.
+ * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
+ * c-lex.c (YYDEBUG): Get from c-lex.h.
+ (c_common_parse_file): Update.
+ * c-lex.h (YYDEBUG, yydebug): New.
+ * c-parse.in (YYDEBUG): Get from c-lex.h.
+ (c_set_yydebug): Remove.
+ * c-tree.h (c_set_yydebug): Remove.
+ * langhooks-def.h (lhd_do_nothing_i): New.
+ (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
+ (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
+ * langhooks.c (lhd_do_nothing_i): New.
+ (lhd_set_yydebug): Remove.
+ * langhooks.h (struct lang_hooks): Update.
+ * toplev.c (set_yydebug): New.
+ (compile_file): Update call to parse_file hook.
+ (decode_d_option): Update.
+objc:
+ * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
+
+Wed Apr 24 23:45:37 2002 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * loop.c (load_mems): Don't change the interface of called functions.
+
+ * calls.c (expand_call): Take current_function_pretend_args_size
+ into account when setting argblock for sibcalls.
+
+2002-04-24 Matt Hiller <hiller@redhat.com>
+
+ * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
+ * c-lex.c: Ditto.
+
+ * cpplex.c (skip_line_comment): Process comment one multibyte
+ character at a time rather than one char at a time, if
+ appropriate.
+ (parse_string): Process string one multibyte character at a time
+ rather than one char at a time, if appropriate.
+ * c-lex.c (lex_string): Lex and copy multibyte strings
+ appropriately.
+ * cpplib.h (cppchar_t): Change to unsigned.
+
+2002-04-24 Richard Henderson <rth@redhat.com>
+
+ PR c/3467
+ * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
+ for c99.
+
+Wed Apr 24 21:51:54 2002 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * sh.c (sh_va_arg): If argument was passed by reference,
+ dereference the pointer.
+
+ * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
+
+ * sh.md (divsi3_i4_media): Use match_operand for input values
+ rather than hard registers.
+ (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
+ unnecessarily through hard registers. Keep copies of pseudo
+ registers outside of the libcall sequence.
+
+ * sh.md (casesi_shift_media): Add modes.
+
+ * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
+ values in memory.
+
+2002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * attribs.c (c_common_attribute_table): Move table and handlers
+ to c-common.c.
+ (format_attribute_table, lang_attribute_table,
+ lang_attribute_common): Remove.
+ (init_attributes): Replace NULL pointers with pointers to the
+ empty table.
+ (handle_packed_attribute, handle_nocommon_attribute,
+ handle_common_attribute, handle_noreturn_attribute,
+ handle_noinline_attribute, handle_always_inline_attribute,
+ handle_used_attribute, handle_unused_attribute,
+ handle_const_attribute, handle_transparent_union_attribute,
+ handle_constructor_attribute, handle_destructor_attribute,
+ handle_mode_attribute, handle_section_attribute,
+ handle_aligned_attribute, handle_weak_attribute,
+ handle_alias_attribute, handle_visibility_attribute,
+ handle_no_instrument_function_attribute, handle_malloc_attribute,
+ handle_no_limit_stack_attribute, handle_pure_attribute,
+ handle_deprecated_attribute, handle_vector_size_attribute,
+ vector_size_helper): Move to c-common.c.
+ * c-common.c (c_common_attribute_table,
+ handle_packed_attribute, handle_nocommon_attribute,
+ handle_common_attribute, handle_noreturn_attribute,
+ handle_noinline_attribute, handle_always_inline_attribute,
+ handle_used_attribute, handle_unused_attribute,
+ handle_const_attribute, handle_transparent_union_attribute,
+ handle_constructor_attribute, handle_destructor_attribute,
+ handle_mode_attribute, handle_section_attribute,
+ handle_aligned_attribute, handle_weak_attribute,
+ handle_alias_attribute, handle_visibility_attribute,
+ handle_no_instrument_function_attribute, handle_malloc_attribute,
+ handle_no_limit_stack_attribute, handle_pure_attribute,
+ handle_deprecated_attribute, handle_vector_size_attribute,
+ vector_size_helper): Move from attribs.c.
+ * c-common.h (c_common_attribute_table,
+ c_common_format_attribute_table): New.
+ * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
+ LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
+ * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
+ LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
+ (LANG_HOOKS_INITIALIZER): Update.
+ * langhooks.h (struct lang_hooks): 3 new attribute hooks.
+ * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
+ * target.h: Update comment.
+ * tree.c (default_target_attribute_table): Remove.
+ * tree.h (default_target_attribute_table, format_attribute_table,
+ lang_attribute_table, lang_attribute_common): Remove.
+objc:
+ * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
+ LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
+
+2002-04-24 Jason Merrill <jason@redhat.com>
+
+ * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
+ * dwarf2out.c (dwarf_attr_name): Support it.
+ (gen_array_type_die): Emit it.
+ (lookup_type_die): No special handling for VECTOR_TYPE.
+ (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
+
2002-04-24 Richard Henderson <rth@redhat.com>
* config/mips/mips.md (movdi_usd): Renumber.