+2003-08-08 Andreas Schwab <schwab@suse.de>
+
+ * configure.in (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
+ and insert missing empty argument.
+ * configure: Regenerate.
+
+2003-08-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
+ (attr_length_millicode_call): Likewise.
+ (attr_length_call): Likewise. Revise some maximum insn lengths.
+ (attr_length_indirect_call): Likewise.
+ (output_call): Fix thinko that added extra nop.
+ * pa.h (IN_NAMED_SECTION_P): Define.
+
+ PR c++/11712
+ * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
+ __STDC_EXT__ when using C++ dialect.
+
+2003-08-07 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * sh.c (calc_live_regs): If the return address pointer is live,
+ force pr live.
+ (sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
+ for saves / restores.
+ (sh_expand_epilogue): If sh_media_register_for_return returns a
+ register number, flag the instructions that restores PR_MEDIA_REG
+ as possibly dead.
+ Remove dead update of offset.
+ (sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
+ we can use the result of get_hard_reg_initial_val.
+ * sh.md (UNSPEC_RA): New constant.
+ (movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
+ (load_ra). Handle UNSPEC_RA.
+ (sibcall_media): Use PR_MEDIA_REG.
+
+ * sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
+ * sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
+ needs saving on SHmedia.
+
+2003-08-07 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.md: Replace all occurrences of \\t with \t.
+
+2003-08-07 Richard Sandiford <rsandifo@redhat.com>
+
+ * local-alloc.c (combine_regs): Fix comment typo.
+
+2003-08-06 Zack Weinberg <zack@codesourcery.com>
+
+ * c-decl.c (builtin_decls): Replace with first_builtin_decl
+ and last_builtin_decl.
+ (c_init_decl_processing): Initialize both.
+ (c_reset_state): Iterate from first_builtin_decl to
+ last_builtin_decl inclusive to reintroduce builtins.
+
+2003-08-06 David Mosberger <davidm@hpl.hp.com>
+
+ * doc/extend.texi (Function Attributes): Document the IA-64 version
+ of the "model" attribute.
+
+ * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
+ (SYMBOL_REF_SMALL_ADDR_P): Ditto.
+ (PREDICATE_CODES): Mention "small_addr_symbolic_operand".
+
+ * config/ia64/ia64.c (ia64_handle_model_attribute): New function.
+ (ia64_encode_section_info): Likewise.
+ (ia64_attribute_table): Add "model" attribute.
+ (TARGET_ENCODE_SECTION_INFO): Define.
+ (small_addr_symbolic_operand): New function.
+ (got_symbolic_operand): Return 0 for a symbolref to an object
+ in the small address area.
+ (enum ia64_addr_area): New type.
+ (small_ident1): New variable.
+ (small_ident2): Likewise.
+ (init_idents): New function.
+ (ia64_get_addr_area): Likewise.
+ (ia64_encode_addr_area): Likewise.
+ (ia64_encode_section_info): Likewise.
+ (ia64_expand_load_address): For symbolic references to objects in
+ the small-address-area, load the address via gen_rtx_SET() (which,
+ eventually, will expand into "addl").
+
+2003-08-06 Per Bothner <pbothner@apple.com>
+
+ * line-map.h (fileline): New typedef.
+ (struct line_map, linemap_add, linemap_lookup): Use it.
+ * input.h (struct location_s): Comment notes that long-term we want
+ to replace it by fileline.
+
+2003-08-06 J"orn Rennecke <joern.rennecke@superh.com>
+
+ Fix SHcompact exception handling:
+ * sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
+ by the prologue, return a MEM with return_address_pointer_rtx
+ as address.
+ * sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
+ (RETURN_ADDR_OFFSET): Don't define.
+ (SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
+ registers that are visible in compact mode. Show that SHmedia
+ registers still exist in compact mode, even if there are not
+ readily accessible.
+ (ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
+ if GLOBAL. Use DW_EH_PE_textrel (nominally) for CODE,
+ and DW_EH_PE_pcrel for pic data.
+ (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
+ set SYMBOL_FLAG_FUNCTION in symbol, and actually use
+ DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
+ (ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
+ * sh.md (movsi_media-1): New splitter.
+
+2003-08-06 Graeme Peterson <gp@qnx.com>
+
+ * config/i386/nto.h: New.
+ * config/i386/t-nto: New.
+ * config.gcc (i[34567]86-*-nto-qnx*): New.
+
+2003-08-06 Phil Edwards <pme@gcc.gnu.org>
+
+ * doc/install.texi (*-*-solaris2*): Refine configure instructions.
+
+2003-08-06 Alan Modra <amodra@bigpond.net.au>
+
+ * calls.c (load_register_parameters): Arrange for call_fusage to
+ report the whole register as used when shifting to the msb.
+
+2003-08-05 Roger Sayle <roger@eyesopen.com>
+
+ * builtins.c (expand_builtin): When not optimizing, call the library
+ function for all builtins that have library functions (except alloca).
+
+2003-08-05 Alexandre Oliva <aoliva@redhat.com>
+
+ * c.opt: Introduce -fworking-directory.
+ * doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
+ * c-common.h (flag_working_directory): Declare.
+ * c-common.c (flag_working_directory): Define.
+ * c-opts.c (c_common_handle_options): Set it.
+ (sanitize_cpp_opts): Set...
+ * cpplib.h (struct cpp_options): ... working_directory option.
+ (struct cpp_callbacks): Add dir_change.
+ * cppinit.c (read_original_filename): Call...
+ (read_original_directory): New. Look for # 1 "directory//"
+ and process it.
+ (cpp_read_main_file): Call dir_change callback if working_directory
+ option is set.
+ * gcc.c (cpp_unique_options): Pass -g*.
+ * c-lex.c (cb_dir_change): New.
+ (init_c_lex): Set dir_change callback.
+ * toplev.c (src_pwd): New static variable.
+ (set_src_pwd, get_src_pwd): New functions.
+ * toplev.h (get_src_pwd, set_src_pwd): Declare.
+ * dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
+ * dwarf2out.c (gen_compile_unit_die): Likewise.
+ * dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
+
+2003-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * pretty-print.h (pp_set_line_maximum_length): Make macro.
+ (pp_set_prefix): Likewise.
+ (pp_destroy_prefix): Likewise.
+ (pp_remaining_character_count_for_line): Likewise.
+ (pp_clear_output_area): Likewise.
+ (pp_formatted_text): Likewise.
+ (pp_last_position_in_text): Likewise.
+ (pp_emit_prefix): Likewise.
+ (pp_append_text): Likewise.
+ (pp_flush): Likewise.
+ (pp_format_text): Likewise.
+ (pp_format_verbatim): Likewise.
+ (pp_tree_identifier): Tidy.
+ * pretty-print.c (pp_base_format_text): Rename from pp_format_text.
+ (pp_base_format_verbatim): Rename from pp_format_verbatim.
+ (pp_base_flush): Rename from pp_flush.
+ (pp_base_set_line_maximum_length): Rename from
+ pp_set_line_maximum_length.
+ (pp_base_clear_output_area): Rename from pp_clear_output_area.
+ (pp_base_set_prefix): Rename from pp_set_prefix.
+ (pp_base_destroy_prefix): Rename from pp_destroy_prefix.
+ (pp_base_emit_prefix): Rename from pp_emit_prefix.
+ (pp_base_append_text): Rename from pp_append_text.
+ (pp_base_formatted_text): Rename from pp_formatted_text.
+ (pp_base_last_position_in_text): Rename from pp_last_position_in_text.
+ (pp_base_remaining_character_count_for_line): Rename from
+ pp_remaining_character_count_for_line.
+ * diagnostic.h (diagnostic_format_decoder): Tidy.
+ (diagnostic_flush_buffer): Likewise.
+ * c-pretty-print.h: (pp_c_string_literal): Declare.
+ (pp_c_real_literal): Likewise.
+ (pp_c_integer_literal): Likewise.
+ * c-pretty-print.c (pp_c_char): Use pp_string in lieu of
+ pp_identifier.
+ (pp_c_character_literal): Tidy.
+ (pp_c_string_literal): Make public.
+ (pp_c_bool_literal): Likewise.
+ (pp_c_integer_literal): Likewise.
+ (pp_c_real_literal): Likewise.
+
+ * Makefile.in (C_PRETTY_PRINT_H): New variable.
+ (c-pretty-print.o): Update dependence.
+
+2003-08-05 Chris Demetriou <cgd@broadcom.com>
+
+ * config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
+ ".set nomacro" state.
+ (fix_truncsfsi2_macro): Likewise.
+
+2003-08-05 Steven Bosscher <steven@gcc.gnu.org>
+
+ * tree.h (DID_INLINE_FUNC): Remove macro.
+ (DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
+ add tree check for FUNCTION_DECL.
+ (DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
+ (struct tree_decl): Rename inlined_function_flag to
+ declared_inline_flag.
+ * c-common.h (c_lang_decl): Remove.
+ (DECL_ESTIMATED_INSNS): Remove.
+ * c-tree.h (struct lang_decl): Don't include c_lang_decl.
+ (DECL_DECLARED_INLINE_P): Remove.
+ * c-decl.c (grokdeclarator): Update comment. With -finline-functions,
+ do not reset DECL_DECLARED_INLINE_P. Don't use DID_INLINE_FUNC.
+ (finish_function): Make uninlinable a bool. Fixup call to
+ tree_inlinable_function_p() and fix some code style issues.
+ * cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
+ * cgraph.c (dump_cgraph): Likewise.
+ * cgraphunit.c (cgraph_decide_inlining): Likewise
+ (cgraph_finalize_compilation_unit): Likewise.
+ Also update call to tree_inlinable_function_p().
+ (cgraph_default_inline_p): Don't use DID_INLINE_FUNC. Instead
+ look at DECL_DECLARED_INLINE and reverse logic.
+ * print-tree.c (print_node): Likewise.
+ * toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
+ * tree-inline.h (tree_inlinable_function_p): Make a bool. Update
+ prototype.
+ * tree-inline.c (inlinable_function_p): Split up in this function to
+ check for basic inlining inhibiting conditions, and new
+ limits_allow_inlining() function. Warn if inlining is impossible
+ because the inline candidate calls alloca or uses sjlj exceptions.
+ (limits_allow_inlining): this new function to check if the inlining
+ limits are satisfied. Throttle from currfn_max_inline_insns, not from
+ MAX_INLINE_INSNS_SINGLE. The latter only makes sense if
+ MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
+ Update prototypes.
+ (tree_inlinable_function_p): Make a bool. Update call to
+ inlinable_function_p
+ (expand_call_inline): Use limits_allow_inlining() when not in
+ unit-at-a-time mode to decide on inlining. Don't use DID_INLINE_FUNC,
+ instead see if the function was declared `inline'.
+
+2003-08-05 Josef Zlomek <zlomekj@suse.cz>
+
+ * gcse.c (try_replace_reg): Fix updating of note.
+
+2003-08-04 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/11771
+ * fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
+ logic in negate_expr, i.e. we don't invert (A-B) for floating
+ point types unless flag_unsafe_math_optimizations.
+
+2003-08-04 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
+ Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
+ for floating point expressions with -ffast-math.
+ (fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
+ * expmed.c (expand_mult): Wrap long line. Expand x*2.0 as x+x.
+
+2003-08-04 Roger Sayle <roger@eyesopen.com>
+
+ * c-common.c (flag_noniso_default_format_attributes): Delete.
+ (built_in_attribute): Don't define/undefine DEF_FN_ATTR.
+ (c_attrs_initialized): Delete.
+ (c_common_nodes_and_builtins): Don't test c_attrs_initialized,
+ always call c_init_attributes.
+ (c_init_attributes): Don't define/undefine DEF_FN_ATTR. Don't
+ set c_attrs_initialized when done.
+ (c_common_insert_default_attributes): Delete.
+ * c-common.h (flag_noniso_default_format_attributes): Delete.
+ (c_coomon_insert_default_attributes): Delete prototype.
+ * c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
+ flag_noniso_default_format_attributes.
+
+ * c-decl.c (c_insert_default_attributes): Delete.
+ * c-tree.h (c_insert_default_attributes): Delete prototype.
+
+ * attribs.c (decl_attributes): Don't call insert_default_attributes
+ langhook. Update function description comment.
+ * langhooks.h (lang_hooks): Remove insert_default_attributes field.
+ * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
+ * c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
+ * system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
+
+ * objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
+ define.
+
+2003-08-04 Richard Sandiford <rsandif@redhat.com>
+
+ * config/mips/mips.c (override_options): Disable -G on targets that
+ have no .section support.
+ (mips_select_section): Use default_select_section for such targets.
+
+2003-08-04 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
+ * fixinc/inclhack.def (static_getrnge): Remove disabled hack.
+ * fixinc/fixincl.x: Rebuild.
+ * fixinc/tests/base/regexp.h: New test.
+
+2003-08-04 Alexandre Oliva <aoliva@redhat.com>
+
+ * c-ppoutput.c (cb_line_change): Don't skip line changing while
+ parsing macro arguments in the top-level context.
+
+2003-08-04 Neil Booth <neil@daikokuya.co.uk>
+
+ * config.in: Remove HAVE_LSTAT.
+ * configure, configure.in: Don't test for lstat.
+
+2003-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * opts.c (decode_options): Do language-specific initialization for
+ the global diagnostic context.
+ * langhooks-def.h (lhd_initialize_diagnostics): Declare.
+ (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
+ (LANG_HOOKS_INITIALIZER): Adjust.
+ * langhooks.h (struct lang_hooks): Add new field
+ initialize_diagnostics.
+ * langhooks.c (lhd_initialize_diagnostics): Define.
+
+2003-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * pretty-print.h: Adjust macro definitions.
+ * pretty-print.c (pp_newline): Rename to pp_base_newline.
+ (pp_character): Rename to pp_base_character.
+ (pp_string): Rename to pp_base_string.
+ * c-pretty-print.c (pp_buffer): Move to pretty-print.h
+ (pp_newline): Likewise. Adjust.
+ (pp_c_char): Adjust.
+
+2003-08-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
+ BUILT_IN_LLABS): Move to miscellaneous section.
+
+2003-08-03 Neil Booth <neil@daikokuya.co.uk>
+
+ PR preprocessor/11534
+ * cppexp.c (parse_defined): Warn only if -pedantic.
+
+2003-08-03 Neil Booth <neil@daikokuya.co.uk>
+
+ * cppfiles.c (stack_file): Use file path.
+
+2003-08-02 Roger Sayle <roger@eyesopen.com>
+
+ * builtin-types.def (BT_SSIZE): New primitive type.
+ (BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
+ BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
+ BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
+ BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
+ * builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
+ BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
+ BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
+ * builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
+ few functions that define default attributes using it.
+ * c-common.c (c_common_insert_default_attributes): Do nothing.
+
+ * doc/extend.texi: Document these "new" builtins.
+
+2003-08-02 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
+ (LIB_SPEC): Set -lpthread always when -pthread set. Set -lieee
+ when -mieee-fp set and -shared not set.
+ (SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
+
+2003-08-02 Neil Booth <neil@daikokuya.co.uk>
+
+ * cppfiles.c (struct _cpp_file): Rename once_only_next to
+ next_file. Remove import and pragma_once, add once_only.
+ (find_file): Add new file structures to the all_files list.
+ (should_stack_file): Mark #import-ed files once-only, and
+ don't stack them if the file has already been stacked.
+ (_cp_mark_file_once_only): Simplify.
+ * cpphash.h (struct cpp_reader): Rename once_only_files
+ to all_files. Rename saw_pragma_once to seen_once_only.
+ (_cpp_mark_file_once_only): Update prototype.
+ * cpplib.c (do_pragma_once): Update.
+
+2003-08-02 Neil Booth <neil@daikokuya.co.uk>
+
+ * cppfiles.c (ENOTDIR): Remove.
+ (open_file_in_dir): Rename find_file_in_dir. Handle errors
+ other than ENOENT here.
+ (once_only_file_p): Rename should_stack_file.
+ (find_file, open_file_failed, read_file_guts): Report errors
+ with full path name.
+ (read_file): Move pch handling to should_stack_file.
+ (should_stack_file): Handle PCH and once-only issues, and
+ reading the file.
+ (stack_file): Don't do file reads.
+
+2003-08-02 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * libgcov.c (gcov_exit): Cleanup and fix.
+ * profile.c (compute_value_histograms): Don't try to read profiles
+ that are not present.
+
2003-08-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+ * builtins.def: Categorize.
+
* builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
Mind fp rounding.
(BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
* varasm.c (lookup_constant_def): New function.
* rtl.h (lookup_constant_def): Declare it.
- * dwarf2out.c (loc_descriptor_from_tree): Use it.
+ * dwarf2out.c (loc_descriptor_from_tree): Use it.
Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
2003-08-01 Zack Weinberg <zack@codesourcery.com>
2003-07-29 Neil Booth <neil@daikokuya.co.uk>
+ PR preprocessor/11569
+ PR preprocessor/11649
* Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
* cppfiles.c: Completely rewritten.
* c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):