+2003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
+
+2003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * combine.c (combine_simplify_rtx): Fix RTL sharing bug.
+
+2003-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * pretty-print.h (pp_maybe_newline_and_indent): New macro.
+ * c-pretty-print.h (c_pretty_printer): Now typedef to the
+ structure. Be consistent with pretty-print.h abd cxx-pretty-print.h
+ (struct c_pretty_print_info): Document. Add new fields.
+ (pp_type_specifier_seq): Rename from pp_c_type_specifier.
+ (pp_direct_abstract_declarator): New macro.
+ (pp_ptr_operator): Likewise.
+ (pp_simple_type_specifier): Likewise.
+ (pp_expression): Likewise.
+ (pp_parameter_list): Rename from pp_parameter_declaration.
+ * c-pretty-print.c (pp_c_whitespace): Now a function.
+ (pp_c_left_paren): Likewise.
+ (pp_c_right_paren): Likewise.
+ (pp_c_dot): Likewise.
+ (pp_c_ampersand): Likewise.
+ (pp_c_arrow): Likewise.
+ (pp_c_semicolon): Likewise.
+ (pp_c_type_cast): New function.
+ (pp_c_space_for_pointer_operator): Likewise.
+ (pp_c_call_argument_list): Likewise.
+ (pp_c_cv_qualifier): Adjust prototype.
+ (pp_c_type_qualifier_list): Likewise.
+ (pp_c_pointer): Likewise. Handle REFERENCE_TYPE here.
+ (pp_c_type_specifier): Rename from pp_c_simple_type_specifier.
+ Adjust to follow standard grammar.
+ (pp_c_specifier_qualifier_list): Adjusr prototype. Handle
+ REFERENCE_TYPE. Tidy.
+ (pp_c_parameter_type_list): Adjust prototype. Tidy.
+ (pp_c_parameter_declaration): Remove.
+ (pp_c_abstract_declarator): Adjust prototype.
+ (pp_c_direct_abstract_declarator): Likewise.
+ (pp_c_type_id): Likewise.
+ (pp_c_storage_class_specifier): Likewise.
+ (pp_c_function_specifier): Likewise.
+ (pp_c_declaration_specifiers): Likewise.
+ (pp_c_direct_declarator): Likewise.
+ (pp_c_declarator): Likewise.
+ (pp_c_declarator): Likewise.
+ (pp_c_declaration): Likewise.
+ (pp_c_attributes): Likewise. Tidy.
+ (pp_c_function_definition): Adjust prototype.
+ (pp_c_char): Likewise.
+ (pp_c_string_literal): Likewise.
+ (pp_c_integer_constant): Likewise.
+ (pp_c_character_constant): Likewise.
+ (pp_c_bool_constant): Likewise.
+ (pp_c_enumeration_constant): Likewise.
+ (pp_c_floating_constant): Likewise.
+ (pp_c_constant): Likewise.
+ (pp_c_identifier): Likewise.
+ (pp_c_primary_expression): Likewise. Remove TARGET_EXPR case. Tidy.
+ (pp_c_initializer): Adjust prototype.
+ (pp_c_init_declarator): Likewise.
+ (pp_c_initializer_list): Likewise.
+ (pp_c_id_expression): Likewise.
+ (pp_c_postfix_expression): Likewise.
+ (pp_c_expression_list): Likewise.
+ (pp_c_unary_expression): Likewise.
+ (pp_c_cast_expression): Likewise.
+ (pp_c_multiplicative_expression): Likewise.
+ (pp_c_additive_expression): Likewise.
+ (pp_c_shift_expression): Likewise.
+ (pp_c_relational_expression): Likewise.
+ (pp_c_equality_expression): Likewise.
+ (pp_c_and_expression): Likewise.
+ (pp_c_exclusive_or_expression): Likewise.
+ (pp_c_inclusive_or_expression): Likewise.
+ (pp_c_logical_and_expression): Likewise.
+ (pp_c_logical_or_expression): Likewise.
+ (pp_c_conditional_expression): Likewise.
+ (pp_c_assignment_expression): Likewise.
+ (pp_c_expression): Likewise. Tidy.
+ (pp_c_statement): Likewise. Document.
+ (pp_c_pretty_printer_init): Adjust prototype. Tidy.
+
+ * c-lang.c (c_initialize_diagnostics): Update.
+ * c-common.h (strip_pointer_operator): Declare.
+ * c-common.c (strip_pointer_operator): Define.
+
+2003-08-25 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/8795
+ * tree.h (build_method_type_directly): Declare.
+ * c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs.
+ (vector_size_helper): Likewise.
+ * tree.c (build_method_type_directly): New function.
+ (build_method_type): Use it.
+
+2003-08-24 Richard Henderson <rth@redhat.com>
+
+ * config/i386.i386.c (ix86_return_in_memory): Reformat. Return true
+ for 16-byte vector modes if sse not enabled; warn for abi change.
+ (ix86_value_regno): Only return xmm0 for 16-byte vector types.
+
+2003-08-24 Kazu Hirata <kazu@cs.umass.edu>
+
+ * rtlanal.c (may_trap_p): Simplify an integer comparison.
+
+2003-08-24 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * fixinc/inclhack.def (AAB_svr4_replace_byteorder): Enhance
+ comment. Enable for DYNIX/ptx systems (when they switch to
+ regular fixincludes).
+ * fixinc/fixincl.x: Regenerate.
+
+2003-08-23 Jason Eckhardt <jle@rice.edu>
+
+ * config/i860/t-i860: New.
+ * config.gcc (i860-*-sysv4*): Add t-i860 to tmake_file.
+
+2003-08-23 Jakub Jelinek <jakub@redhat.com>
+
+ * c-decl.c (pushdecl): Only put decls which finish_struct will do
+ something about onto incomplete chain.
+ (finish_struct): If not removing type from incomplete
+ list, update prev.
+
+Wed Aug 20 12:08:55 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ PR target/11369
+ * i386.c (ix86_expand_carry_flag_compare): Validate operand.
+
+ PR target/11031
+ * i386.c (const_0_to_3_operand, const_0_to_7_operand,
+ const_0_to_15_operand, const_0_to_255_operand): New predicates.
+ * i386.h (PREDICATE_CODES): Add these.
+ * i386.c (pinsrw and pextrw patterns): Use them.
+
+ PR target/10984
+ * i386.c (ix86_expand_binop_builtin): Behave sanely for VOIDmodes.
+
+ PR target/8869
+ * expr.c (convert_modes): Deal properly with integer to vector
+ constant conversion.
+
+ PR target/8871
+ * i386.md (zero_extendsidi2*): Add MMX and SSE alternatives.
+
+2003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.h (LOAD_EXTEND_OP): Remove.
+ * config/s390/s390.md ("movhi"): New expander; old insn renamed to ...
+ ("*movhi"): ... this.
+ ("movqi", "*movqi"): Likewise.
+ ("movqi_64"): Remove.
+ ("*zero_extendhisi2_31"): Change predicate to s_operand.
+
+2003-08-23 Dale Johannesen <dalej@apple.com>
+ * calls.c (emit_library_call_value_1): Fix obvious errors in
+ arguments to emit_group_store.
+
+2003-08-23 Jason Eckhardt <jle@rice.edu>
+
+ * calls.c (emit_library_call_value_1): Remove code related
+ to LIBGCC_NEEDS_DOUBLE.
+ * config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE.
+ * doc/tm.texi: Likewise.
+ * system.h: Poison the LIBGCC_NEEDS_DOUBLE macro.
+
+2003-08-23 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
+
+2003-08-23 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64
+ as well. Put memory references in the varargs alias set.
+ (mips_expand_prologue): Remove varargs handling from here.
+
+2003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
+ s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list,
+ s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax
+ for function pointer calls.
+ * config/s390/s390.md ("*negdi2_31"): Likewise.
+
+2003-08-23 Roger Sayle <roger@eyesopen.com>
+
+ * combine.c (apply_distributive_law): Correct comment.
+
+2003-08-23 Jason Eckhardt <jle@rice.edu>
+
+ * config/i860/i860.h: Remove comment mentioning LIBGCC_NEEDS_DOUBLE.
+
+2003-08-22 Jason Eckhardt <jle@rice.edu>
+
+ * config/i860/i860.c (i860_build_va_list): Create the va_decl
+ declaration. Document the va_list structure.
+ (i860_va_start): Initialize the va_list structure.
+ (i860_va_arg): Rewrite completely.
+ * config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define.
+ * config/i860/varargs.asm: Do not allocate or initialize
+ a va_list. Return the address of the register save area.
+
+2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/iq2000/iq2000.c: Fix comment typos.
+ * config/iq2000/iq2000.md: Likewise.
+
+2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/iq2000/iq2000.c: Follow spelling conventions.
+ * config/iq2000/iq2000.h: Likewise.
+ * config/mn10300/mn10300.c: Likewise.
+
+2003-08-22 Jason Eckhardt <jle@rice.edu>
+
+ * config/i860/i860.c (output_move_double): Don't set latehalf
+ to zero for CONST_INT (since it could be, e.g., -1).
+
+ * config/i860/i860.h (REMSI3_LIBCALL): Replace this macro...
+ (MODSI3_LIBCALL): ...with this one.
+ (UREMSI3_LIBCALL): Replace this macro...
+ (UMODSI3_LIBCALL): ...with this one.
+
+2003-08-22 Jason Eckhardt <jle@rice.edu>
+
+ * config/i860/i860-protos.h (output_delay_insn): Remove prototype.
+ (output_delayed_branch): Remove prototype.
+ (single_insn_src_p): Remove prototype.
+ * config/i860/i860.c (single_insn_src_p): Remove function.
+ (output_delayed_branch): Remove function.
+ (output_delay_insn): Remove function.
+ (va_start): Remove unconditional test and dead code, re-format.
+ Fix coding style and spelling problems in various comments.
+ * config/i860/i860.md (UNSPECV_BLOCKAGE): Define constant...
+ (blockage pattern): ...and use it here.
+ (all define_peephole patterns related to delayed branches): Remove.
+ Fix coding style and spelling problems in various comments.
+
+2003-08-22 Jason Eckhardt <jle@rice.edu>
+
+ * config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
+ Remove all uses of the PARAMS macro. Remove superflous prototypes.
+ Convert all function definitions from traditional to ISO C90 syntax.
+ * config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
+ with 'GCC'. Remove all uses of the PARAMS macro.
+ * config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
+ * config/i860/i860.md: Likewise.
+ * config/i860/sysv4.h: Likewise.
+ * config/i860/varargs.asm: Likewise.
+
+2003-08-22 Jason Eckhardt <jle@rice.edu>
+
+ * config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p'
+ argument.
+ (tdesc_section): Add prototype.
+ Update copyright dates.
+ * config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h.
+ (TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file.
+ (TARGET_ASM_FUNCTION_EPILOGUE): Likewise.
+ (targetm): Likewise.
+ (i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC
+ for '%d' where necessary.
+ (i860_va_start): Remove 'stdarg_p' argument. Make conditional checks
+ on 'stdarg_p' unconditional. Divide current_function_args_info.ints
+ by UNITS_PER_WORD when referencing (likewise for .floats).
+ (I860_SVR4_VARARGS): Rename...
+ (I860_SVR4_VA_LIST): ...to this.
+ Call build() with 't' rather than 'field'.
+ (i860_rtx_costs): New function.
+ (TARGET_RTX_COSTS): Define.
+ (i860_internal_label): New function.
+ (TARGET_ASM_INTERNAL_LABEL): Define.
+ (i860_file_start): New function.
+ Update copyright dates.
+ * config/i860/i860.h (CPP_PREDEFINES): Remove.
+ (TARGET_CPU_CPP_BUILTINS): Define.
+ (EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument.
+ (CONST_COSTS): Remove (and move code to i860_rtx_costs).
+ (ASM_FILE_START): Remove.
+ (ASM_FILE_START_1): Remove.
+ (ASM_GLOBALIZE_LABEL): Remove.
+ (ASM_OUTPUT_INTERNAL_LABEL): Remove.
+ (ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL
+ with targetm.asm_out.internal_label.
+ Update copyright dates.
+ * config/i860/sysv4.h (USER_LABEL_PREFIX): Define.
+ (CPP_PREDEFINES): Remove.
+ (TARGET_OS_CPP_BUILTINS): Define.
+ (GLOBAL_ASM_OP): Define.
+ (ASM_FILE_START): Remove.
+ (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define.
+ (TARGET_ASM_FILE_START): Define.
+ Update copyright dates.
+
+2003-08-22 Jason Eckhardt <jle@rice.edu>
+
+ * gcc/config.gcc (i860-*-sysv4*): Add target.
+ * config/i860/i860-protos.h: New.
+ * config/i860/i860.c: New.
+ * config/i860/i860.h: New.
+ * config/i860/i860.md: New.
+ * config/i860/sysv4.h: New.
+ * config/i860/varargs.asm: New.
+ * config/i860/x-sysv4: New.
+
+2003-08-22 Jason Eckhardt <jle@rice.edu>
+
+ * config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
+ Remove all uses of PARAMS macro.
+ Convert all function definitions to ISO C90 syntax.
+ * config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
+ * config/pa/fptr.c: Likewise.
+ * config/pa/lib2funcs.asm: Likewise.
+ * config/pa/long_double.h: Likewise.
+ * config/pa/milli64.S: Likewise.
+ * config/pa/pa-64.h: Likewise.
+ * config/pa/pa-hpux.h: Likewise.
+ * config/pa/pa-hpux10.h: Likewise.
+ * config/pa/pa-hpux11.h: Likewise.
+ * config/pa/pa-linux.h: Likewise.
+ * config/pa/pa-modes.def: Likewise.
+ * config/pa/pa-osf.h: Likewise.
+ * config/pa/pa-pro-end.h: Likewise.
+ * config/pa/pa.md: Likewise.
+ * config/pa/pa32-linux.h: Likewise.
+ * config/pa/pa64-linux.h: Likewise.
+ * config/pa/pa64-hpux.h: Likewise.
+ * config/pa/pa64-regs.h: Likewise.
+ * config/pa/quadlib.c: Likewise.
+ * config/pa/rtems.h: Likewise.
+ * config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
+ all uses of the PARAMS macro.
+ * config/pa/pa.h: Likewise.
+ * config/pa/som.h: Likewise.
+
+ * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
+ Remove all uses of PARAMS macro.
+ Convert all function definitions to ISO C90 syntax.
+ * config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
+ Remove all uses of PARAMS macro.
+ * config/iq2000.h: Remove all uses of PARAMS macro.
+ * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
+
+2003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390-protos.h (s390_output_pool_entry): Declare.
+ * config/s390/s390.c (gen_consttable): Remove.
+ (s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
+ (s390_output_pool_entry): New function.
+ * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
+ UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
+ UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
+ (UNSPECV_POOL_ENTRY): ... this new constant.
+ ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
+ "consttable_ti", "consttable_sf", "consttable_df"): Remove ...
+ ("*pool_entry"): ... and replace by this new insn.
+ ("literal_pool_31"): Do not emit anchor label if pool empty.
+
+ * config/s390/s390.c (struct machine_function): Add save_return_addr_p.
+ (s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
+ (s390_fixup_clobbered_return_reg): Remove.
+ (s390_reorg): Don't call s390_fixup_clobbered_return_reg.
+ (s390_return_addr_rtx): Always retrieve return address from save area
+ slot. Use save_return_addr_p to force slot to be filled.
+ (s390_emit_prologue): Remove has_hard_reg_initial_val test.
+
+2003-08-22 Chris Demetriou <cgd@broadcom.com>
+
+ * config/mips/mips.h (MASK_FIX_SB1, TARGET_FIX_SB1): New defines.
+ (TARGET_SWITCHES): Add -mfix-sb1 and -mno-fix-sb1.
+ * config/mips/mips.md (divdf3, divsf3, sqrtdf2, sqrtsf2): Work
+ around SB-1 errata if TARGET_FIX_SB1 is set.
+ (recip.d insn, recip.s insn, rsqrt.d insn, rsqrt.s insn): Likewise.
+ * doc/invoke.texi: Document MIPS -mfix-sb1 and -mno-fix-sb1.
+
+2003-08-22 Roger Sayle <roger@eyesopen.com>
+
+ * hashtable.c (ht_expand): Avoid calculating rehash for the common
+ case that the first probe hits an empty hash table slot.
+
+2003-08-22 Mark Mitchell <mark@codesourcery.com>
+
+ * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0.
+
+2003-08-22 Mark Mitchell <mark@codesourcery.com>
+
+ * config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
+ (ptr_extend_plus_imm): ... this.
+ * config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
+ optimization in C++.
+ (ia64_output_mi_thunk): Support ILP32 mode.
+
+2003-08-22 bernardo innocenti <bernie@develer.com>
+
+ * gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused
+ function.
+ * gcc/config/m68k/m68k.c (-m68k_svr3_asm_out_constructor): likewise.
+
+2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/i386/i386.c (const_int_1_operand): Simplify an
+ integer comparison.
+
2003-08-22 Alan Modra <amodra@bigpond.net.au>
* config/fp-bit.c: Specify config/ dir for include of fp-bit.h.