OSDN Git Service

* combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 55fbc0a..a2bca73 100644 (file)
@@ -1,6 +1,303 @@
+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>
 
-       * config.gcc (i860-*-sysv4*): Add target.
+       * gcc/config.gcc (i860-*-sysv4*): Add target.
        * config/i860/i860-protos.h: New.
        * config/i860/i860.c: New.
        * config/i860/i860.h: New.