+2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-common.c (c_format_attribute_table): Make format and
+ format_arg attributes apply to function types rather than to
+ decls.
+ (is_valid_printf_arglist): Construct an attribute list and pass
+ that to check_function_format rather than a name.
+ * c-common.h (check_function_format): Adjust prototype.
+ * c-decl.c (duplicate_decls): Preserve attributes from type of
+ built-in decl when allowing for harmless conflict in types.
+ * c-format.c (record_function_format,
+ record_international_format, function_format_list,
+ international_format_info, international_format_list): Remove.
+ (function_format_info): Remove next, name and assembler_name.
+ Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
+ (decode_format_attr): New.
+ (handle_format_attribute): Handle receiving a type rather than a
+ decl. Call decode_format_attr. Store format information in a
+ function_format_info.
+ (handle_format_arg_attribute): Correct comment. Handle receiving
+ a type rather than a decl. Use unsigned HOST_WIDE_INT for
+ arg_num.
+ (check_format_info_recurse, check_format_info_main): Take argument
+ numbers as unsigned HOST_WIDE_INT.
+ (check_function_format): Take a list of attributes from the
+ function type rather than a name or assembler name. Check for
+ format attributes in that list and the attributes on the type of
+ the current function rather than looking through
+ function_format_list.
+ (check_format_info): Use unsigned HOST_WIDE_INT for argument
+ numbers.
+ (check_format_info_recurse): Take format_arg attributes from the
+ type of the function calls rather than using
+ international_format_list. Allow for multiple format_arg
+ attributes.
+ * c-typeck.c (build_function_call): Pass type attributes to
+ check_function_format rather than name or assembler name. Don't
+ require there to be a name or assembler name to check formats.
+
+2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * attribs.c (decl_attributes): Possibly call
+ insert_default_attributes to insert default attributes on
+ functions in a lazy manner.
+ * builtin-attrs.def: New file; define the default format and
+ format_arg attributes.
+ * c-common.c (c_format_attribute_table): Move to earlier in the
+ file.
+ (c_common_nodes_and_builtins): Initialize format_attribute_table.
+ (enum built_in_attribute, built_in_attributes,
+ c_attrs_initialized, c_init_attributes,
+ c_common_insert_default_attributes): New.
+ (c_common_lang_init): Don't initialize format_attribute_table. Do
+ call c_init_attributes.
+ * Makefile.in (c-common.o): Depend on builtin-attrs.def.
+ * c-common.h (init_function_format_info): Don't declare.
+ (c_common_insert_default_attributes): Declare.
+ * c-decl.c (implicitly_declare, builtin_function): Call
+ decl_attributes.
+ (init_decl_processing): Don't call init_function_format_info.
+ (insert_default_attributes): New.
+ * c-format.c (handle_format_attribute,
+ handle_format_arg_attribute): Be quiet about inappropriate
+ declaration when applying default attributes.
+ (init_function_format_info): Remove.
+ * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
+ (insert_default_attributes): Declare.
+
+2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
+
+2001-10-01 Jim Wilson <wilson@redhat.com>
+
+ * sched-deps.c (add_dependence): When elide conditional dependence,
+ check that insn doesn't modify cond2.
+
+2001-10-01 Dale Johannesen <dalej@apple.com>
+
+ * config/rs6000/rs6000.h (enum processor_type): Add support
+ for 7400 (G4) and 7450.
+ (RTX_COSTS): Ditto.
+ * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
+ (rs6000_issue_rate): Ditto.
+ (rs6000_adjust_cost): Fix cycle counts for compares.
+ (debug_stack_info): Fix an obvious typo.
+ * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
+ * doc/invoke.texi: Document.
+ * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
+ for Darwin.
+ (PROCESSOR_DEFAULT): Ditto.
+
+2001-10-01 Loren J. Rittle <ljrittle@acm.org>
+
+ * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
+ (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
+ later recursive make invocation.
+
+2001-10-01 Hans Boehm <boehm@acm.org>
+
+ * optabs.c (emit_libcall_block): When using non-call exceptions,
+ don't add REG_LIBCALL reg notes to trapping calls.
+
+2001-10-01 David Billinghurst <David.Billinghurst@riotinto.com>
+
+ * flow.c (propagate_block_delete_libcall): Remove unused first arg
+ (propagate_one_insn): Update for above change
+
+2001-10-01 David Billinghurst <David.Billinghurst@riotinto.com>
+
+ * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
+ _Unwind_GetTextRelBase): Argument is unused.
+
+Mon Oct 1 19:20:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
+ Loop through NOPs, placeholders, and components.
+ Don't go through NOPs if change mode.
+ (record_alias_subset): Do nothing if SUBSET and SET are the same.
+ * emit-rtl.c (set_mem_alias_set): Enable check.
+ * expr.c (find_placeholder): New function.
+ (expand_expr, case PLACEHOLDER_EXPR): Use it.
+ (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
+ to modify it and avoid unneeded copies.
+ * expr.h (expand_expr): Always define.
+ (find_placeholder): New declaration.
+
+2001-10-01 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
+ operand 2 is the stack pointer.
+ ("addr-peephole"): Fix address computation peephole when operand 2
+ is the stack pointer.
+
+Mon Oct 1 09:26:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
+ (ix86_setup_incoming_varargs): Likewise.
+
+2001-10-01 Jason Merrill <jason_merrill@redhat.com>
+
+ * stor-layout.c (layout_type): Don't complain about too-large
+ array here.
+
+Mon Oct 1 06:43:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * function.c (keep_stack_depressed): Don't use delete_insn.
+
+ * expr.h (set_mem_alias_set): Move decl to here.
+ * rtl.h (mem_attrs): New typedef and struct.
+ (union rtunion_def): Add field for mem_attrs.
+ (X0MEMATTR, MEM_ATTRS): New macros.
+ (MEM_ALIAS_SET): Use MEM_ATTRS.
+ (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
+ (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
+ (set_mem_alias_set): Delete decl from here.
+
+ * alias.c (set_mem_alias_set): Delete from here.
+ * emit-rtl.c (mem_attrs_htab): New variable.
+ (rtx_htab_mark, rtx_htab_mark_1): Deleted.
+ (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
+ (mem_attrs_mark, get_mem_attrs): Likewise.
+ (gen_rtx_MEM): Clear MEM_ATTRS.
+ (set_mem_attributes): Move to here.
+ (set_mem_alias_set): Likewise, and call get_mem_attrs.
+ (init_emit_once): const_int_htab now deletable htab.
+ Initialize mem_attrs_htab.
+ * explow.c (set_mem_attributes): Delete from here.
+ * function.c (put_var_into_stack): Clear MEM_ATTRS.
+ (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
+ * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
+ * reload1.c (reload): Rework changing REG to MEM.
+
+2001-09-30 H.J. Lu <hjl@gnu.org>
+
+ * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
+ * config.in: Rebuild.
+
+2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
+ ("tsthi_1"): Avoid allocation in register y.
+ ("*movqi_68hc12"): Reorganize and fix constraints.
+ ("zero_extendqisi2"): Prefer d over x and y for operand 1.
+ ("addqi3"): Likewise.
+ ("addhi3"): Fix constraints.
+ ("*logicalhi3_zexthi"): Disparage soft registers.
+
+2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
+ to tmp reg.
+
+2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
+ that we use setjmp/longjmp exceptions.
+
+2001-09-30 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
+ POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
+ struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
+ _cpp_pool_alloc, _cpp_next_chunk): Remove.
+ (_cpp_extend_buff, BUFF_ROOM): Update.
+ (_cpp_append_extend_buff): New.
+ (struct cpp_reader): Remove macro_pool, add a_buff.
+ * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
+ macro_pool.
+ (cpp_destroy): Free a_buff instead of macro_pool.
+ * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
+ new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
+ _cpp_pool_alloc, ): Remove.
+ (parse_number, parse_string): Update use of _cpp_extend_buff.
+ (_cpp_extend_buff): Update.
+ (_cpp_append_extend_buff, cpp_aligned_alloc): New.
+ * cpplib.c (glue_header_name, parse_answer):
+ Update use of _cpp_extend_buff.
+ (cpp_register_pragma, cpp_register_pragma_space): Use
+ _cpp_aligned_alloc.
+ (do_assert, do_unassert): Check for EOL, update.
+ * cppmacro.c (stringify_arg, collect_args): Update to use
+ _cpp_extend_buff and _cpp_append_extend_buff.
+ (save_parameter, parse_params, alloc_expansion_token,
+ _cpp_create_definition): Rework memory management.
+
+2001-09-29 Andris Pavenis <pavenis@lanet.lv>
+
+ * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
+ update md_exec_prefix.
+ (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
+ to string constant.
+
+2001-09-30 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
+ (SELECT_CC_MODE): Use s390_select_ccmode.
+ * config/s390/s390-protos.h (s390_select_ccmode): Add.
+ * config/s390/s390.c (s390_select_ccmode): New.
+ (s390_match_ccmode): Add CCLmode.
+ (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
+ (output_branch_condition, output_inverse_branch_condition): Removed.
+ (print_operand): Use s390_branch_condition_mnemonic.
+ * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
+ subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
+ (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
+
+ * config/s390/s390.c (check_and_change_labels): Preserve CC mode
+ when converting conditional branches to far branches.
+ * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
+ cmpint_di): Use CCSmode instead of CCUmode.
+
+ * config/s390/s390.c (legitimate_la_operand_p): New.
+ * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
+ * config/s390/s390.md (movsi): Convert load address patterns to
+ arithmetic operations when necessary.
+ (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
+ (do_la): Renamed to *do_la and use legitimate_la_operand_p.
+ (*do_la_reg_0): Don't use before reload.
+
+ * config/s390/s390.c (legitimize_address): Make more efficient
+ use of two-register addressing mode.
+
+ * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
+ with -mno-backchain in some corner cases.
+
+ * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
+
+2001-09-29 Alexandre Oliva <aoliva@redhat.com>
+
+ * reload.c (find_reloads): Mark new USE insns with QImode.
+ (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
+ find_reloads_subreg_address): Likewise.
+ * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
+ encountered.
+ * reload1.c (reload_combine_note_use): Likewise, inside USEs and
+ CLOBBERs.
+ (reload): Make sure there are no USEs with mode other than
+ VOIDmode. At the end, remove those marked with QImode.
+
+2001-09-29 Per Bothner <per@bothner.com>
+
+ * cppdefault.c (cpp_include_defaults): Also search PREFIX_INCLUDE_DIR.
+ * Makefile.in (includedir): Rename to local_includedir.
+ (includedir): Define as $(prefix)/include.
+ * config.in (PREFIX_INCLUDE_DIR): New variable.
+ * configure.in (PREFIX_INCLUDE_DIR): Test for new variable.
+
+2001-09-29 Bernd Schmidt <bernds@redhat.com>
+
+ * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
+ storehps builtins.
+ * doc/extend.texi (Vector Extensions): New node.
+ * doc/invoke.texi (Machine Dependent Options): Add documentation for
+ i386 -mmmx, -msse, -m3dnow.
+
+Sat Sep 29 15:08:16 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
+
2001-09-29 Hans-Peter Nilsson <hp@axis.com>
+ * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
+
* doc/invoke.texi (Optimize Options): Delete spurious @table.
2001-09-28 Richard Henderson <rth@redhat.com>