blob: e5c26cc1cd208c24111b92e6cead8f040538298c [file] [log] [blame]
2001-06-30 Zack Weinberg <>
Change output-template slot to format 'T'.
* rtl.h (XTMPL): New.
* read-rtl.c (read_escape): New function.
(read_quoted_string, read_braced_string): Use it.
(read_rtx): Set star_if_braced from the format string.
Use XTMPL where appropriate.
* genoutput.c (gen_insn, gen_peephole): Use XTMPL to get the
template string.
* rtl.c: Include errors.h for sake of rtl_check_failed* routines.
Document 'T' in rtx format strings.
* (rtl.o, $(HOST_PREFIX_1)rtl.o): Depend on errors.h.
* errors.c (internal_error): Add missing ": " at end of string.
* Change triple backslashes to double backslashes at
ends of lines in output templates.
* Remove stray backslash-newline in output template.
2001-06-29 Nick Clifton <>
* gcc.c (process_command): Append a DIR_SEPARATOR to a path
specified by the -B switch, if doing so would create a valid
directory name.
* doc/invoke.texi: Document changed behavior of -B.
2001-06-29 DJ Delorie <>
* simplify-rtx.c (simplify_subreg): When simplifying a CONCAT, at
least get rid of the CONCAT if we can't simplify further.
Fri Jun 29 12:27:24 2001 Jeffrey A Law (
* simplify-rtx.c (simplify_rtx): Use swap_commutative_operands_p.
* doc/gcc.texi (Passes): Update due to recent -fdce -> -fssa-dce
changes. Fix documentation for SSA DCE pass.
* ssa-dce.c (ssa_eliminate_dead_code): Renamed from
* ssa.h (ssa_eliminate_dead_code): Corresponding changes.
* timevar.def (TV_SSA_DCE): Renamed from TV_DEAD_CODE_ELIM.
* toplev.c (DFI_ssa_dce): Renamed from DFI_dce.
(dump_file_info): Similar changes.
(flag_ssa_dce): Similarly
(f_options): Similar changes.
(rest_of_compilation): Corresponding changes.
* doc/invoke.texi: Update as option is now -fssa-dce instead
of -fdce. Update dump file name.
* ssa-dce.c (note_inherently_necessary_set): New function.
(find_inherently_necessary): Use it. Do not consider
NOTEs, CODE_LABELs or BARRIERS are necessary. Improve
handling of asms and unspecs.
(delete_insn_bb): Only delete INSNs, CALL_INSNs or JUMP_INSNs.
2001-06-29 Joseph S. Myers <>
* target.h (struct gcc_target): Add comp_type_attributes and
Update documentation of old target macros to describe new target
* tree.c (make_node): Use target.set_default_type_attributes.
default_set_default_type_attributes): New functions.
* tree.h (default_comp_type_attributes,
default_set_default_type_attributes): Declare.
* c-typeck.c (COMP_TYPE_ATTRIBUTES): Don't define.
(comptypes): Use target.comp_type_attributes.
* config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h
(arc_comp_type_attributes, arc_set_default_type_attributes,
functions and macros with default behavior.
* config/m32r/m32r-protos.h, config/m32r/m32r.c,
config/m32r/m32r.h (m32r_comp_type_attributes,
m32r_set_default_type_attributes, COMP_TYPE_ATTRIBUTES,
* config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
config/m68hc11/m68hc11.h (m68hc11_comp_type_attributes,
m68hc11_set_default_type_attributes, COMP_TYPE_ATTRIBUTES,
* config/ns32k/ns32k-protos.h, config/ns32k/ns32k.c,
config/ns32k/ns32k.h (ns32k_comp_type_attributes,
* config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
config/rs6000/rs6000.h (rs6000_comp_type_attributes,
rs6000_set_default_type_attributes, COMP_TYPE_ATTRIBUTES,
* config/d30v/d30v.h (COMP_TYPE_ATTRIBUTES,
SET_DEFAULT_TYPE_ATTRIBUTES): Remove commented out macro
* config/i386/i386.h (SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
* config/ns32k/ns32k.h (SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
* config/arm/arm.c (arm_comp_type_attributes,
arm_set_default_type_attributes): Make static.
* config/arm/arm.h (COMP_TYPE_ATTRIBUTES,
* config/arm/arm-protos.h (arm_comp_type_attributes,
arm_set_default_type_attributes): Don't declare.
* config/i386/i386.c (ix86_comp_type_attributes): Make static.
* config/i386/i386.h (COMP_TYPE_ATTRIBUTES): Don't define.
* config/i386/i386-protos.h (ix86_comp_type_attributes): Don't
2001-06-28 Jan van Male <>
* predict.c (dump_prediction): Eliminate fprintf warning.
2001-06-28 Diego Novillo <>
* flow.c (dump_bb): Remove unused third argument to call
to fprintf when displaying the basic block header.
2001-06-28 Michael Hayes <>
Jeff Law <>
* (OBJS): Add df.o
(df.o): Add dependencies.
* basic-block.h (flow_depth_first_order_compute): Declare.
* flow.c (flow_depth_first_order_compute): No longer declare.
Make external.
* df.c, df.h: New files.
2001-06-28 Zack Weinberg <>
* config/i386/ Global update to use new string syntax
where it will improve readability. Warning fixes:
(*truncdfsf2_2): Abort if which_alternative is not 0 or 1.
(*adddi_1_rex64, *adddi_2_rex64, *adddi_3_rex64,
*adddi_4_rex64, *adddi_5_rex64): Cast 1 to unsigned int.
* read-rtl.c: Syntactic sugar for C embedded in strings in
machine descriptions.
(read_string): Break inner loop into separate function. Takes
an int. Dispatch to read_quoted_string or read_braced_string
as appropriate. Automatically insert a leading star on braced
strings if STAR_IF_BRACED is true.
(read_quoted_string, read_braced_string): New functions.
* doc/rtl.texi, doc/md.texi: Document new syntax. Update
examples to match.
* rtl.c: Split RTL reader (read_rtx, read_skip_spaces,
traverse_md_constants, fatal_with_file_and_line,
fatal_expected_char, read_name, read_string, def_hash,
def_name_eq_p, read_constants, and related data) to its own
file. Weed out now-unnecessary #includes.
* read-rtl.c: New file.
* (HOST_RTL): Add read-rtl.o.
(read-rtl.o): New rule.
(rtl.o, $(HOST_PREFIX_1)rtl.o): Update dependencies.
* doc/gcc.texi (Passes): Talk briefly about the support
library used by genfoo.
* doc/rtl.texi (Reading RTL): read_rtx is not available in the
compiler itself.
2001-06-28 Stan Shebs <>
* config/darwin.h (REGISTER_TARGET_PRAGMAS): Define.
* config/darwin-c.c: New file.
* config/darwin-protos.h: Declare new functions.
* config/rs6000/t-darwin (darwin-c.o): New rule.
* config.gcc (powerpc-*-darwin*): Define c_target_objs and
* doc/extend.texi (Pragmas): New section.
Thu Jun 28 20:13:11 CEST 2001 Jan Hubicka <>
* flow.c (try_merge_block): Rename to try_optimize_cfg;
do basic simplifications on the CFG.
(is_forwarder_block_p, can_fallthru, try_redirect_by_replacing_jump,
try_simplify_condjump): New.
(redirect_edge_and_branch): Try replace jump insn.
(flow_delete_insn): Handle deleting of ADDR_VEC insns.
* basic-block.h (FALLTHRU_EDGE, BRANCH_EDGE): New macros.
Thu Jun 28 11:19:42 2001 Jeffrey A Law (
* ssa-dce.c (eliminate_dead_code): Properly handle control
dependencies implied by PHI nodes.
* ssa-dce.c (eliminate_dead_code): Remove fake edges from the
CFG after dead code elimination is complete.
2001-06-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* gthr-posix.h [LIBOBJC]: Add weak definitions of
sched_get_priority_max, sched_get_priority_min.
2001-06-28 Gabriel Dos Reis <>
* diagnostic.c (default_print_error_function): Tweak.
(report_error_function): Likewise.
* toplev.h (default_print_error_function): Move to...
* diagnostic.h: Add a `diagnostic_context *' parameter.
* tree.h (print_error_function): Move to...
* diagnostic.h: Add a `diagnostic_context *' parameter.
Thu Jun 28 06:16:45 2001 Richard Kenner <>
* expr.c (expand_assignment): When have varying-length object,
make MEM a BLKmode.
(expand_expr, case ADDR_EXPR): Use SAVE_EXPR_RTL after putting
SAVE_EXPR stack in case we had a SUBREG.
Thu Jun 28 10:31:06 CEST 2001 Jan Hubicka <>
* (cmp?i): Simplify; refuse immediate operand
in alternative 0
* i386.c (cmpsi_operand): Refuse constants.
* (movsi_insv_1, movsi_insv_1_rex64): Allow immediate operand.
* flow.c (block_label, redirect_edge_and_branch): Split out from ....
(split_edge) .... here;
2001-06-28 Neil Booth <>
* i386/i386.c (ix86_valid_type_attribute_p): Give external
linkage, move declaration to...
* i386/i386-protos.h:
2001-06-27 H.J. Lu (
* build-make (CC): Removed.
(HOST_CC): Set to $(CC_FOR_BUILD).
Fix a typo in comments.
generating auto-build.h for canadian cross compile. Set CC
to `"${CC_FOR_BUILD}"' instead of just `${CC_FOR_BUILD}'.
Save/restore CFLAGS.
* configure: Regenerated.
2001-06-27 Jim Wilson <>
* emit-rtl.c (gen_highpart): Call validize_mem.
2001-06-27 Bruce Korb <>
* fixinc/inclhack.def(hpux11_cpp_pow_inline): new, but real similar to
hpux10_cpp_pow_inline. Not similar enough.
(solaris_mutex_init): renamed. PTHREAD_*_INITIALIZER is a problem for
all Solaris versions. This fix patches MUTEX and COND initializers,
the RWLOCK one will wait for someone to complain. For now, anyway.
(uw7_byteorder_fix): It was looking for the byteorder.h file in the
wrong directory.
2001-06-27 Stan Shebs <>
* objc/objc-act.c (handle_impent): Rewrite to be more portable
* config/darwin.h (ASM_DECLARE_CLASS_REFERENCE): Rename from
undocumented DECLARE_CLASS_REFERENCE, add file argument.
* doc/tm.texi (ASM_DECLARE_CLASS_REFERENCE): Document.
Wed Jun 27 18:01:09 2001 Jeffrey A Law (
* simplify-rtx.c (simplify_rtx): Canonicalize commutative expressions
by putting complex operands first and constants second.
2001-06-27 Gabriel Dos Reis <>
* diagnostic.h: Add documentation. Make macros polymorphic.
* diagnostic.c (ideal_line_wrap_cutoff): Remove
definition. Replace with diagnostic_line_cutoff.
(prefixing_policy): Remove. Replace with diagnostic_prefixing_rule.
2001-06-27 Joseph S. Myers <>
* doc/c-tree.texi, doc/contrib.texi, doc/cpp.texi,
doc/cppinternals.texi, doc/extend.texi, doc/gcc.texi,
doc/gcov.texi, doc/install-old.texi, doc/install.texi,
doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Replace
. at end of sentences preceded by a capital letter with @..
2001-06-26 Daniel Berlin <>
* doc/invoke.texi: Add description of max-gcse-passes param.
* gcse.c (gcse_main): Use MAX_GCSE_PASSES instead of MAX_PASSES.
(MAX_PASSES): Remove now unneeded macro.
* params.h (MAX_GCSE_PASSES): New macro, to get parameter value of
max-gcse-passes param.
* params.def (PARAM_MAX_GCSE_PASSES): New parameter, controlling
maximum number of GCSE passes to run. Defaults to 1 (which is what
MAX_PASSES in gcse.c used to be).
2001-06-27 Neil Booth <>
* system.h (TARGET_ESC): Move to ...
* defaults.h (TARGET_ESC): ... here.
TARGET_VALID_TYPE_ATTRIBUTE): Default to a no-op handler.
* tree.c (default_valid_attribute_p): New.
(valid_machine_attribute): Handlers can not be NULL.
* tree.h (default_valid_attribute_p): New.
* doc/tm.texi: Document TARGET_ESC.
* cp/decl2.c (import_export_class): Update.
2001-06-26 Bruce Korb <>
* gcc/fixinc/fixincl.c(initialize): In very strict ANSI, you cannot
use preprocessing directives inside a string literal. Fixed.
2001-06-26 Jim Wilson <>
2001-06-27 Joseph S. Myers <>
* doc/cpp.texi, doc/cppinternals.texi, doc/extend.texi,
doc/gcc.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
doc/tm.texi: Use @: where necessary when a full stop does not end
a sentence.
2001-06-27 Joseph S. Myers <>
* doc/gcc.texi, doc/install.texi, doc/invoke.texi: Remove trailing
2001-06-26 Joseph S. Myers <>
* doc/c-tree.texi, doc/cpp.texi, doc/extend.texi, doc/gcc.texi,
doc/install.texi, doc/invoke.texi, doc/objc.texi, doc/rtl.texi,
doc/tm.texi: Use two spaces after ends of sentences.
2001-06-26 Daniel Berlin <>
* toplev.c (display_help): Fix param thinko.
* Fix params.h dependencies.
2001-06-26 Gabriel Dos Reis <>
* toplev.c (decode_f_option): Adjust setting.
(toplev_main): Call diagnostic_initialize. Remove call to
* diagnostic.h (struct output_buffer): Add new field format_decoder.
(diagnostic_format_decoder): New macro.
(diagnostic_prefixing_rule): Likewise.
(diagnostic_line_cutoff): Likewise.
(set_message_prefixing_rule): Remove.
* diagnostic.c (lang_printer): Remove.
(diagnostic_message_length_per_line): Likewise.
(current_prefixing_rule): Likewise.
(initialize_diagnostics): Rename to...
(diagnostic_initialize): ...this. Tweak.
(default_initialize_buffer): Remove.
(reshape_diagnostic_buffer): Likewise.
(init_output_buffer): Adjust prefixing rule setting.
(output_format): Use format_decoder from the output_buffer.
* c-lang.c (c_init): Adjust tree formatter setting.
2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* config/i386/sol2.h (CPP_SPEC): Pass -P for .S files.
2001-06-26 Neil Booth <>
(c-decl.o, tree.o, c-typeck.o, $(out_object_file)): Update.
* c-decl.c (duplicate_decls): Use function pointer.
* c-typeck.c (common_type): Similarly.
* tree.c (valid_machine_attribute): Similarly.
(merge_machine_type_attributes): Rename merge_type_attributes.
(merge_machine_decl_attributes): Rename merge_decl_attributes.
(merge_dllimport_decl_attributes): New function.
* tree.h (merge_machine_type_attributes): Rename merge_type_attributes.
(merge_machine_decl_attributes): Rename merge_decl_attributes.
(merge_dllimport_decl_attributes): New prototype.
* target.h: New.
* target-def.h: New.
doc: (Joseph Myers)
* doc/gcc.texi, doc/tm.texi: Update documentation.
cp: Update dependencies.
* spew.c: Include target.h.
(duplicate_decls): Call target function.
* decl2.c: include target.h
(import_export_class): Use existence of target function pointer.
* typeck.c: Include target.h.
(qualify_type_recursive): Rename variable. Call target function.
(type_after_usual_arithmetic_conversions): Similarly.
(common_type): Similarly.
config: * 1750a/1750a.c, a29k/29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
avr/avr.c, c4x/c4x.c, clipper/clipper.c, convex/convex.c,
d30v/d30v.c, dsp16xx/dsp16xx.c, elxsi/elxsi.c, fr30/fr30.c,
i370/i370.c, i386/i386.c, i860/i860.c, i960/i960.c, ia64/ia64.c,
m32r/m32r.c, m68hc11/m68hc11.c, m68k/m68k.c, m88k/m88k.c,
mips/mips.c, mn10200/mn10200.c, mn10300/mn10300.c, ns32k/ns32k.c,
pa/pa.c, pdp11/pdp11.c, pj/pj.c, romp/romp.c, rs6000/rs6000.c,
sh/sh.c, sparc/sparc.c, v850/v850.c, vax/vax.c, we32k/we32k.c)
: Include target.h and target-def.h. Define target.
* arc/arc-protos.h (arc_valid_machine_decl_attribute): Remove.
* arc/arc.c (arc_valid_machine_decl_attribute): Rename
arc_valid_decl_attribute, make static.
* arm/arm-protos.h (arm_valid_machine_decl_attribute,
arm_valid_type_attribute_p, arm_pe_valid_machine_decl_attribute,
arm_pe_merge_machine_decl_attributes): Remove.
* arm/arm.c (arm_valid_machine_decl_attribute_p): Rename
arm_valid_decl_attribute_p, make static.
(arm_pe_valid_decl_attribute_p): Move from pe.c.
* arm/pe.c (arm_pe_valid_machine_decl_attribute_p): Move to arm.c.
(arm_pe_merge_machine_decl_attributes): Move to tree.c.
* arm/coff.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
* avr/avr-protos.h (valid_machine_type_attribute,
valid_machine_decl_attribute): Remove.
* avr/avr.c (valid_machine_type_attribute,
valid_machine_decl_attribute): Rename and make static.
* c4x/c4x-protos.h (c4x_valid_type_attribute_p): Remove.
* c4x/c4x.c (c4x_valid_type_attribute_p): Make static.
* d30v/d30v.h: Remove obsolete comments.
* h8300/h8300-protos.h (h8300_valid_machine_decl_attribute): Remove.
* h8300/h8300.c (h8300_valid_machine_decl_attribute): Rename, make
* h8300/h8300.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
(i386_pe_merge_decl_attributes, MERGE_MACHINE_DECL_ATTRIBUTES,
i386_pe_valid_type_attributes_p): Remove.
* i386/i386-protos.h (ix86_valid_decl_attribute_p,
ix86_valid_type_attribute_p): Remove.
* i386/i386.c (ix86_valid_decl_attribute_p): Remove.
(ix86_valid_type_attribute_p): Make static.
* i386/winnt.c (i386_pe_merge_decl_attributes): Move to tree.c.
* ia64/ia64-protos.h (ia64_valid_type_attribute): Remove.
* ia64/ia64.c (ia64_valid_type_attribute): Make static.
* ia64/ia64.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
* m32r/m32r-protos.h (m32r_valid_machine_decl_attribute): Remove.
* m32r/m32r.c (m32r_valid_decl_attribute): Make static.
* m32r/m32r.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
* m68hc11/m68hc11-protos.h (m68hc11_valid_decl_attribute_p,
m68hc11_valid_type_attribute_p): Remove.
* m68hc11/m68hc11.c (m68hc11_valid_decl_attribute_p): Remove.
(m68hc11_valid_type_attribute_p): Make static.
* m68hc11/m68hc11.h (VALID_MACHINE_DECL_ATTRIBUTE,
* mcore/mcore-protos.h (mcore_valid_machine_decl_attribute,
mcore_merge_machine_decl_attribute): Remove.
* mcore/mcore.c (mcore_valid_machine_decl_attribute): Rename,
make static.
(mcore_merge_machine_decl_attributes): Move to tree.c.
* ns32k/ns32k-protos.h (ns32k_valid_decl_attribute_p,
ns32k_valid_type_attribute_p): Remove.
* ns32k/ns32k.c (ns32k_valid_decl_attribute_p): Remove.
(ns32k_valid_type_attribute_p): Make static.
* rs6000/rs6000-protos.h (rs6000_valid_decl_attribute_p,
rs6000_valid_type_attribute_p): Remove.
* rs6000/rs6000.c (rs6000_valid_decl_attribute_p): Remove.
(rs6000_valid_type_attribute_p): Make static.
* sh/sh-protos.h (sh_valid_machine_decl_attribute): Remove.
* sh/sh.c (sh_valid_machine_decl_attribute): Rename, make static.
* v850/v850-protos.h (v850_valid_machine_decl_attribute): Remove.
* v850/v850.c (v850_valid_machine_decl_attribute): Rename, make static.
* v850/v850.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
2001-06-26 Vladimir Makarov <>
* glimits.h (USHRT_MAX): Use unsigned suffix if int can not hold
2001-06-26 Gabriel Dos Reis <>
* diagnostic.h (struct diagnostic_context): Add new field.
(lang_diagnostic_starter, lang_diagnostic_finalizer): Remove
(global_dc): Declare.
* diagnostic.c (global_diagnostic_context): New variable.
(global_output_buffer): Remove.
(global_dc): Define.
(lang_diagnostic_starter, lang_diagnostic_finalizer): Remove
(initialize_diagnostics): Adjust initialization.
(set_diagnostic_context): Adjust setting.
2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* config/mips/iris5.h (UNALIGNED_INT_ASM_OP,
* config/mips/iris6.h (UNALIGNED_INT_ASM_OP,
Tue Jun 26 12:40:12 CEST 2001 Jan Hubicka <>
* (float_truncate splitter, and to mov splitters): Add
reload_completed; fix operand predicate.
* haifa-sched.c (sched_init): Do not split insns.
* toplev.c (rest_of_compilation): Call split_all_insns before
sched1 pass; simplify condition of post-reload splitter;
call split_all_insn before sched2 pass.
2001-06-26 Gabriel Dos Reis <>
* diagnostic.h (diagnostic_prefixing_rule_t): New enum type.
(set_message_prefixing_rule): Adjust prototype.
* diagnostic.c (current_prefixing_rule): Adjust type.
2001-06-26 Neil Booth <>
* defaults.h: Default escape sequences to ASCII.
* config/i370/i370.h: Adjust for ASCII default.
* config/1750a/1750a.h: Remove escape sequence definitions.
* config/a29k/a29k.h: Similarly.
* config/alpha/alpha.h: Similarly.
* config/arc/arc.h: Similarly.
* config/arm/arm.h: Similarly.
* config/avr/avr.h: Similarly.
* config/c4x/c4x.h: Similarly.
* config/clipper/clipper.h: Similarly.
* config/convex/convex.h: Similarly.
* config/d30v/d30v.h: Similarly.
* config/dsp16xx/dsp16xx.h: Similarly.
* config/elxsi/elxsi.h: Similarly.
* config/fr30/fr30.h: Similarly.
* config/h8300/h8300.h: Similarly.
* config/i386/i386.h: Similarly.
* config/i860/i860.h: Similarly.
* config/i960/i960.h: Similarly.
* config/ia64/ia64.h: Similarly.
* config/m32r/m32r.h: Similarly.
* config/m68hc11/m68hc11.h: Similarly.
* config/m68k/m68k.h: Similarly.
* config/m88k/m88k.h: Similarly.
* config/mcore/mcore.h: Similarly.
* config/mips/mips.h: Similarly.
* config/mn10200/mn10200.h: Similarly.
* config/mn10300/mn10300.h: Similarly.
* config/ns32k/ns32k.h: Similarly.
* config/pa/pa.h: Similarly.
* config/pdp11/pdp11.h: Similarly.
* config/pj/pj.h: Similarly.
* config/romp/romp.h: Similarly.
* config/rs6000/rs6000.h: Similarly.
* config/sh/sh.h: Similarly.
* config/sparc/sparc.h: Similarly.
* config/v850/v850.h: Similarly.
* config/vax/vax.h: Similarly.
* config/we32k/we32k.h: Similarly.
* doc/tm.texi: Update documentation.
2001-06-26 Gabriel Dos Reis <>
* diagnostic.c (digit_buffer): Remove as global. Move to...
* diagnostic.h (struct output_buffer): ... here.
* diagnostic.c (output_formatted_integer): Adjust use of digit_buffer.
2001-06-25 Steve Ellcey <>
* config.gcc (ia64*-*-hpux*): Add ia64/hpux_longdouble.h to tm_file.
Define tmake_file to include ia64/t-hpux.
* real.c (INTEL_EXTENDED_IEEE_FORMAT): Test for value instead of
testing to see if it is defined.
* real.h (INTEL_EXTENDED_IEEE_FORMAT): Likewise. Default to 0 if
* config/ia64/hpux_longdouble.h: New.
* config/ia64/ia64.c (hfa_element_mode): Add comment about incorrect
handling of long doubles.
(ia64_function_arg, ia64_function_value): Add checks for TFmode
* config/ia64/ia64.h (INTEL_EXTENDED_IEEE_FORMAT): Define to one.
* config/ia64/ (all TFmode patterns): Test
(floatdidf2, floatdisf2): New, for !INTEL_EXTENDED_IEEE_FORMAT.
* config/ia64/quadlib.c: New.
* config/ia64/t-hpux: New.
* config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Define to one.
2001-06-25 Jim Wilson <>
* config/i960/t-960bare (i960-c.o): Add missing header dependencies.
* config/i960/t-vxworks960: Likewise.
2001-06-25 Dale Johannesen <>
* bitmap.c (bitmap_last_bit_set): Fix a non-c89 usage (null actual
argument to macro).
Mon Jun 25 11:10:51 CEST 2001 Jan Hubicka <>
* (movsi_insv_1, movsi_insv_1_rex64): Fix constraints.
2001-06-25 Joseph S. Myers <>
* doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
doc/gcc.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
doc/md.texi, doc/rtl.texi, doc/tm.texi: Be more consistent about
the use of "GCC" and related terms.
* doc/gcc.1, doc/gcov.1: Regenerate.
2001-06-24 Joseph S. Myers <>
* doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Remove
uses of @refill.
Sun Jun 24 21:21:49 CEST 2001 Jan Hubicka <>
* (movsi_insv_1, movsi_insv_1_rex64): Allow immediate operand.
2001-06-24 Richard Henderson <>
* builtins.c (expand_builtin_expect_jump): Disable if the
expression can't be re-evaluated.
2001-06-24 Nick Clifton <>
* config/arm/arm.c (arm_compute_save_reg_mask): For FIQ interrupt
handlers examine register r0-r7, for other interrupt handlers
examine r0-r12. If the interrupt handler is not a leaf function
save all call clobbered registers.
(arm_output_epilogue): If the prologue has pushed the IP register,
restore it here.
(Arm_expand_prologue): For interrupt functions that need the frame
pointer, push the IP register before it is corrupted.
* config/arm/arm.h (ARM_SIGN_EXTEND): Fix compile time warnings
about the use of signed and unsigned quantities in a conditional.
2001-06-23 Richard Henderson <>
* config/alpha/crtfastmath.c: New file.
* config/alpha/t-crtfm: New file.
* config/alpha/elf.h (ENDFILE_SPEC): Use crtfastmath.o.
* config/alpha/osf.h (ENDFILE_SPEC): Likewise.
* config/alpha/t-crtbe (EXTRA_PARTS): Add pieces defined here.
* config.gcc (alpha-{linux,freebsd,netbsd,osf}): Use alpha/t-crtfm;
do not set extra_parts here.
2001-06-24 Joseph S. Myers <>
* doc/install-old.texi: Remove more documentation of configure
* doc/install.texi: Add it here.
Sat Jun 23 19:40:05 CEST 2001 Jan Hubicka <>
* i386-protos.h (emit_i387_cw_initialization): Declare.
* (movsi_insv_1): Remove '*'.
(fix_trunc?f?i2): Revamp to use control word parameters.
(fix_trunc?i_1): Likewise; update splitters.
(fix splitter): Remove.
* i386.c (MAX_386_STACK_LOCALS): set to 3.
(emit_i387_cw_initialization): New function.
(output_fix_trunc): Do not initialize control word;
kill dead code; simplify.
2001-06-23 Neil Booth <>
* cppmacro.c (make_string_token): Avoid warning.
(cpp_macro_definition): Prepend the macro name. Update
* cppmain.c (cb_define, dump_macro): Update for changes
to cpp_macro_definition.
Sat Jun 23 10:20:03 CEST 2001 Jan Hubicka <>
* flow.c (attempt_auto_inc, try_pre_increment_1): Fix typo.
Sat Jun 23 01:23:59 CEST 2001 Jan Hubicka <>
* flow.c (mark_set_1, attempt_auto_inc, mark_used_reg,
try_pre_increment_1): compute REG_FREQ using bb->frequency.
* regclass.c (loop_cost): Kill.
(frequency): New global variable.
(record_operand_costs): Replace loop_cost by frequency.
(scan_one_insn): Likewise.
(regclass): Likewise; set frequency according to bb->frequency.
* flow.c (split_edge): Set frequency.
Sat Jun 23 01:16:42 CEST 2001 Jan Hubicka <>
* predict.c (block_info_def): Add nvisited.
(propagate_freq): Count nvisited; re-queue delayed blocks; handle
irreducible regions.
* flow.c (dump_edge_info): Dump the probability of edge.
(combine_predictions_for_insn): Dump the basic block.
2001-06-22 Joseph S. Myers <>
* doc/gcc.texi: Update documentation of source files of C
2001-06-22 Richard Henderson <>
* doc/invoke.texi (-funsafe-math-optimizations): Document its
possible effects at link time.
2001-06-22 Diego Novillo <>
* basic-block.h (dump_edge_info): Declare.
(clear_edges): Declare.
(mark_critical_edges): Declare.
* flow.c (dump_edge_info): Remove static declaration.
(clear_edges): Ditto.
(mark_critical_edges): Ditto.
(free_basic_block_vars): Only clear edges and free basic block
array if basic_block_info is not NULL.
* ssa.c (compute_dominance_frontiers): Remove static declaration.
* ssa.h (compute_dominance_frontiers): Declare.
2001-06-22 Toshiyasu Morita (
* predict.c: (expected_value_to_br_prob): Check for const_true_rtx
instead of const1_rtx for true case.
2001-06-22 David Mosberger <>
* config/ia64/crtfastmath.c: New file.
* config/ia64/t-ia64 (EXTRA_PARTS): Include it.
* config/ia64/linux.h (ENDFILE_SPEC): New.
2001-06-22 Toshiyasu Morita <>
* config/h8300/h8300.c (asm_file_start): Remove reference to
"release F-1".
2001-06-22 Joseph S. Myers <>
* c-common.c (verify_tree): Check for x being NULL.
* doc/c-tree.texi: Document COMPOUND_BODY of an empty
Fixes PR c/3259.
2001-06-22 DJ Delorie <>
* config/arm/arm.h (struct machine_function): Remove ra_rtx.
* config/arm/arm.c (arm_mark_machine_status): Remove ra_rtx.
(arm_return_addr): Use get_hard_reg_initial_val et al.
* config/d30v/d30v.h (struct machine_function): Remove ra_rtx.
* config/d30v/d30v.c (d30v_mark_machine_status): Remove ra_rtx.
(d30v_return_addr): Use get_hard_reg_initial_val et al.
* config/rs6000/rs6000.h (struct machine_function): Remove ra_rtx.
* config/rs6000/rs6000.c (rs6000_override_options): Don't set
(rs6000_mark_machine_status): Remove.
(rs6000_return_addr): Use get_hard_reg_initial_val.
(rs6000_ra_ever_killed): Use has_hard_reg_initial_val.
* config/v850/v850.h (INIT_EXPANDERS): Delete.
* config/v850/v850.c (struct machine_function): Delete.
(v850_init_machine_status): Delete.
(v850_mark_machine_status): Delete.
(v850_free_machine_status): Delete.
(v850_return_addr): Use get_hard_reg_initial_val.
(v850_init_expanders): Delete.
Fri Jun 22 19:20:59 CEST 2001 Jan Hubicka <>
* predict.c (estimate_bb_frequencies): Do not handle conditional
jumps jumping to fallthru basic block as conditional jumps.
Fri Jun 22 19:11:28 CEST 2001 Jan Hubicka <>
* regs.h (struct reg_info_def): Add freq field.
(REG_N_REFS): Update comment.
(REG_FREQ): New.
* regclass.c (scan_one_insn): Update REG_FREQ.
* flow.c (mark_set_1): Update REG_FREQ, make REG_N_SETS unweighted.
(attempt_auto_inc): Likewise.
(mark_used_reg): Likewise.
(try_pre_increment_1): Likewise.
* local-alloc.c (struct qty): Add freq field.
(alloc_qty): Set freq.
(update_equiv_regs): Set REG_FREQ.
(QTY_CMP_PRI): Use freq.
(combine_regs): Update qty->freq.
* global.c (struct allocno): Update comment for n_refs;
add freq field.
(local_reg_freq): New array.
(global_alloc): Update freq field;
allocate and initialize local_reg_freq.
(allocno_compare): Use freq field.
(find_reg): Likewise.
* reload1.c (count_pseudo): Use freq isntead of n_refs.
(count_spilled_pseudo): Likewise.
* tm.texi (GCOV_TYPE_SIZE): Document.
* basic-block.h (gcov_type): Define.
(struct edge_def): Use gcov_type for count field.
(struct basic_block_def): Likewise.
* defaults.h (GCOV_TYPE_SIZE): Define.
* final.c (end_final): Use GCOV_TYPE_SIZE.
* flow.c (dump_edge_info, dump_flow_info, dump_bb): Print count fields
* gcov-io.h (__fetch_gcov_type, __store_gcov_type, __read_gcov_type,
__write_gcov_type): New.
(store_long): Remove.
* gcov.c (gcov_type): Set default.
(struct adj_list): Use gcov_type for arc_count.
(bb_info): Use gcov_type for succ_count, pred_count and exec_count.
(create_program_flow_graph): Read arc_count properly.
(solve_program_flow_graph): 'total' is gcov_type.
(output_data): Line_counts is gcov_type, print it properly.
* libgcc2.c (struct bb): Counts is gcov_type.
(__bb_exit_func): Use __read_gcov_type and __write_gcov_type.
* profile.c (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set default.
(struct bb_info): succ_count and pred_count is gcov_type.
(compute_branch_probabilities): Use __read_gcov_type,
print read edges to the dump file.
(total): Is gcov_type.
(gen_edge_profiler): Use GCOV_TYPE_SIZE.
2001-06-14 Andrew Haley <>
* optabs.c (emit_libcall_block): When using non-call exceptions,
don't mark libcalls never throwing.
2001-06-21 Stan Shebs <>
* objc/objc-act.c (hash_init): Use xcalloc.
2001-06-21 Richard Henderson <>
* flow.c (entry_exit_blocks): Initialize frequency.
(split_block): Copy it.
(dump_flow_info): Dump it.
Thu Jun 21 22:15:10 2001 J"orn Rennecke <>
* sh.c (barrier_align): Also recognize branch-around-a-jump-sequence
from machine-depedent_reorg for purposes of alignment supression
when no delay slot insn has been added.
2001-06-21 Neil Booth <>
* cppmacro.c (make_string_token): Null terminate.
2001-06-21 DJ Delorie <>
* config/alpha/alpha.h (struct machine_function): Remove.
* config/alpha/alpha.c (integrate.h): Include.
(override_options): Don't set up machine_status hooks.
(alpha_init_machine_status): Remove.
(alpha_mark_machine_status): Remove.
(alpha_free_machine_status): Remove.
(alpha_return_addr): Use get_hard_reg_initial_val.
(alpha_gp_save_rtx): Likewise.
(alpha_ra_ever_killed): Use has_hard_reg_initial_val.
2001-06-20 Aldy Hernandez <>
* config/sh/ (interrupt_function): Use
(define_delay): Schedule in delay slot if TARGET_SH3, even if it is
an interrupt function.
* config/sh/sh.h (current_function_interrupt): Define extern.
* config/sh/sh.c (current_function_interrupt): New global.
(sh_expand_prologue): Set current_function_interrupt.
2001-06-21 Phil Edwards <>
* doc/install.texi: Add 'c' to list of --enable-languages choices.
2001-06-21 DJ Delorie <>
* integrate.c (mark_hard_reg_initial_vals): Check for NULL.
* integrate.c (ggc.h): Include.
(initial_value_pair, initial_value_struct,
setup_initial_hard_reg_value_integration): Add prototypes.
(expand_inline_function): Call
(has_func_hard_reg_initial_val, get_func_hard_reg_initial_val,
get_hard_reg_initial_val, has_hard_reg_initial_val): New functions
to keep track of values present at the start of a function.
(mark_hard_reg_initial_vals): New, for gc.
(setup_initial_hard_reg_value_integration): New. Sets up pseudo
mappings for initial values.
(emit_initial_value_sets): New. Emits code to set initial value
* integrate.h: Add prototypes for new functions.
* function.h (struct function): Add hard_reg_initial_vals field.
* function.c (integrate.h): Include.
(mark_function_status): Call
* toplev.c (integrate.h): Include.
(rest_of_compilation): Call emit_initial_value_sets.
2001-06-21 Stan Shebs <>
* doc/contrib.texi, doc/cpp.texi, doc/cppinternals.texi,
doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/invoke.texi,
doc/objc.texi, doc/tm.texi: Use the correct name "Objective-C"
everywhere instead of "Objective C".
2001-06-21 Joseph S. Myers <>
* doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
doc/gcc.texi, doc/install-old.texi, doc/install.texi,
doc/invoke.texi, doc/rtl.texi: Consistently use "front end" and
"back end" as nouns and "front-end" and "back-end" as adjectives.
Wed Jun 20 21:53:35 CEST 2001 Jan Hubicka <>
* predict.c (estimate_probability): Fix loop bounds.
Wed Jun 20 19:10:48 CEST 2001 Jan Hubicka <>
* toplev.c (rest_of_compilation): Run mark_constant_function
before profile-arcs.
Wed Jun 20 19:08:18 CEST 2001 Jan Hubicka <>
* predict.c (estimate_loops_at_level, propagate_freq
estimate_bb_frequencies, count_to_freqs): New functions.
(estimate_probability): Call estimate_bb_frequencies.
* basic-block.h (basic_block_def): Add field "freq".
(BB_FREQ_MAX): New constant.
Wed Jun 20 17:02:50 2001 J"orn Rennecke <>
* sh.c (barrier_align): Don't ask for alignment when seeing a
branch-around-a-jump from machine_dependent_reorg.
Wed Jun 20 08:35:02 2001 Jeffrey A Law (
* ssa.c (rename_block): Update parameter to remove_phi_alternative
(convert_from_ssa): Do create REG_DEAD and REG_UNUSED notes when
re-running life analysis.
2001-06-20 Stan Shebs <>
* objc/objc-act.c (hash_init): Assume xmalloc always succeeds,
also use memset to clear the hash tables.
(hash_enter): Assume xmalloc always succeeds.
(hash_add_attr): Ditto.
(continue_class): Ditto.
2001-06-20 Michael Meissner <>
* builtins.c (predict.h): Include.
(expand_builtin_expect): Update comment.
(expand_builtin_expect_jump): New function to expand
__builtin_expect inside of a conditional jump expansion.
* expr.c (do_jump): Special case __builtin_expect (<test>, 0) and
__builtin_expect (<test>, 1).
* (builtins.o): Depend on $(PREDICT_H).
* rtl.h (expand_builtin_expect_jump): Add prototype.
2001-06-19 Geoffrey Keating <>
* doc/rtl.texi (Machine Modes): Correct description of
floating-point modes on machines with non-8-bit bytes.
2001-06-19 Bernd Schmidt <>
* regmove.c (optimize_reg_copy_3): Do nothing if previous insn
carries a REG_EQUIV note. If it carries REG_EQUAL, delete the
Tue Jun 19 07:53:52 2001 Jeffrey A Law (
* ssa.c (remove_phi_alternative): Remove declaration. No longer
static. Second argument is a pointer to a basic block structure,
not a basic block index.
(convert_to_ssa): Do not remove dead code.
(convert_from_ssa): Do not remove dead code to create death notes.
* ssa.h (remove_phi_alternative): Declare.
* flow.c (delete_unreachable_blocks): Fix patch error in
previous change (call to find_unreachable_blocks was lost).
* ssa.c (ssa_uses): Remove definition.
(apply_delayed_renames): Don't grow ssa_uses.
(rename_block): Remove comment related to ssa_uses.
(rename_registers): Do not initialize ssa_uses.
(convert_from_ssa): Do not free ssa_uses.
* ssa-dce.c: Renamed from dce.c.
* (OBJS): Replace dce.o with ssa-dce.o
(dependencies): Replace dce.c with ssa-dce.c and dce.o with
2001-06-19 Eric Christopher <>
* emit-rtl.c (gen_lowpart_common): Do not assume that SFmode
and DFmode are UNITS_PER_WORD and 2*UNITS_PER_WORD. Use
Tue Jun 19 01:52:27 2001 J"orn Rennecke <>
* sh.c (output_branch): Delete bogus code.
* sh.c (initial_elimination_offset):
Mon Jun 18 12:50:49 2001 Jeffrey A Law (
* flow.c (find_unreachable_blocks): New function.
(delete_unreachable_blocks): Use find_unreachable_blocks.
* basic-block.h (find_unreachable_blocks): Declare.
* dce.c (eliminate_dead_code): Fix formatting glitch.
2001-06-18 Jason Merrill <>
* c-common.h (RETURN_NULLIFIED_P): New macro.
* c-semantics.c (genrtl_return_stmt): Check it.
* expr.c (clear_storage): Set TREE_NOTHROW on the decl for memset.
(emit_block_move): Likewise.
Mon Jun 18 17:27:24 CEST 2001 Jan Hubicka <>
* unroll.c: Include predict.h.
(unroll_loop): Drop prediction notes on preconditioning.
New; add comments on the others.
* (unroll.o): Add dependency on predict.h.
* loop.c (strength_reduce): Fix branch prediction.
Mon Jun 18 17:26:56 CEST 2001 Jan Hubicka <>
* stmt.c (emit_case_nodes): Optimize test whether index is in given
Mon Jun 18 15:43:10 CEST 2001 Jan Hubicka <>
* predict.c (estimate_probability): Do not bail out early
when note is present.
(combine_predictions_for_insn): Fix note removal code.
2001-06-18 Ben Elliston <>
* except.c (resolve_fixup_regions): Initialize "cleanup".
2001-06-17 Neil Booth <>
* tm.texi: Document STDC_0_IN_SYSTEM_HEADERS.
Sat Jun 16 20:20:39 2001 Richard Kenner <>
* expr.c (expand_expr, case ADDR_EXPR): If taking address of SAVE_EXPR,
use put_var_into_stack.
2001-06-16 Franz Sirl <>
* gccspec.c (lang_specific_driver): If compiling ObjC, add
-shared-libgcc when necessary.
* (gccspec.o): Compile with DRIVER_DEFINES.
2001-06-16 Daniel Berlin <>
* bitmap.h: Add dump_bitmap, bitmap_zero, bitmap_union_of_diffs,
bitmap_a_or_b, bitmap_a_and_b, bitmap_first_set_bit,
bitmap_last_set_bit. All for compatibility with sbitmap's.
*bitmap.c (bitmap_zero): New function.
(bitmap_union_of_diffs): New function.
(bitmap_first_set_bit): New function.
(bitmap_last_set_bit): New function.
2001-06-16 Neil Booth <>
* cpp.texi, invoke.texi: Update.
* cpp.1, gcc.1: Regenerate.
Sat Jun 16 12:45:20 CEST 2001 Jan Hubicka <>
* (minsf): Fix splitter. (PR fortran/3191)
2001-06-16 Neil Booth <>
* doc/cpp.texi: Update.
* doc/cpp.1: Regenerate.
2001-06-15 Loren J. Rittle <>
* doc/install.texi: Use correct markup hints.
Fri Jun 15 18:05:22 2001 Richard Kenner <>
* function.c (gen_mem_addressof): Handle case where DECL is SAVE_EXPR.
* explow.c (expr_size): If DECL and size specified, use it.
2001-06-15 Zack Weinberg <>
* doc/cpp.texi: Formatting corrections.
Correct buggy example of use of __GNUC__ etc.
Clarify $ in identifiers.
* doc/cpp.1: Regenerate.
Fri Jun 15 19:35:38 CEST 2001 Jan Hubicka <>
* optabs.c (expand_twoval_binop): Avoid undefined behavior.
2001-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* doc/install.texi (Specific, alpha*-*-*): Fixed Tru64 UNIX
etc. spelling.
(Specific, alpha-*-osf1): Renamed to alpha*-*-osf*.
Added Tru64 UNIX V5.1 bootstrap hints.
(Specific, alpha*-*-osf*): Removed old section, obsolete.
2001-06-15 Andreas Jaeger <>
* doc/install.texi (Specific): Mention that glibc cannot be
compiled with GCC 3.0.
2001-06-14 Andrew Haley <>
* combine.c (nonzero_bits): Don't optimize away division by
2001-06-15 Zack Weinberg <>
* doc/cpp.texi: Revised and brought up to date.
* doc/cpp.1: Regenerate.
2001-06-15 Loren J. Rittle <>
* doc/install.texi: Update --enable-threads to match reality.
2001-06-15 Michael Hayes <>
* doc/install.texi: Update for C4x.
* README.C4X: Remove.
2001-06-14 Joseph S. Myers <>
* doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
doc/gcc.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
doc/objc.texi, doc/rtl.texi, doc/tm.texi: Fix spelling and typos.
Consistently use "built-in" and "bit-field". Minor logical markup
* doc/gcc.1: Regenerate.
2001-06-14 Richard Henderson <>
* config/mips/ (exception_receiver): New.
2001-06-14 Daniel J. Berlin <>
* doc/gcc.texi: Update passes documentation to be more in tune
with reality.
Thu Jun 14 15:38:28 CEST 2001 Jan Hubicka <>
* i386.c (ix86_expand_prologue): Fix merging conflict.
2001-06-14 Joseph S. Myers <>
* doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
doc/gcc.texi, doc/gcov.texi, doc/install-old.texi,
doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Use more
logical markup. Use TeX quotes and dashes. Use @dots{} and
@minus{}. Avoid spaces inside @var. Update last modification
date in gcc.texi.
* doc/gcc.1, doc/gcov.1: Regenerate.
Thu Jun 14 12:44:15 CEST 2001 Jan Hubicka <>
* i386.c (x86_accumulate_outgoing_args, x86_prologue_using_move,
x86_epilogue_using_move): New global variables.
(override_options): Enable ACCUMULATE_OUTGOING_ARGS if preferred.
(ix86_emit_save_regs_using_mov): New static function.
(ix86_expand_prologue, ix86_expand_epilogue): Use moves if preferred.
MASK_MIX_SSE_I387): Renumber.
(x86_accumulate_outgoing_args, x86_prologue_using_move,
x86_epilogue_using_move): Declare.
2001-06-13 John David Anglin <>
* inclhack.def (hpux10_cpp_pow_inline): New hack.
2001-06-13 Richard Henderson <>
* ifcvt.c (dead_or_predicable): Fix return value last patch.
2001-06-13 Mark Mitchell <>
* NEWS: Remove.
2001-06-13 Richard Henderson <>
* ifcvt.c (cond_exec_get_condition): Use reversed_comparison_code.
(cond_exec_process_if_block, dead_or_predicable): Likewise.
2001-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* mips-tfile.c (copy_object): Always pass indexNil for symbol
table index.
2001-06-13 Kazu Hirata <>
* config/h8300/h8300.h (OK_FOR_T): Remove.
* config/h8300/ Remove alternatives involving inc and dec
in the helper patterns for addhi3 and addsi3.
2001-06-13 Phil Edwards <>
* doc/contrib.texi: Link to libstdc++'s thanks.html for now.
2001-06-13 Zack Weinberg <>
* Move _bb and __gcc_bcmp to LIB2FUNCS_ST.
* libgcc-std.ver: Take out __bb* and __gcc_bcmp.
* config/t-slibgcc-elf-ver, config/t-slibgcc-sld,
config/alpha/t-osf4, config/mips/t-iris6: Extract all
references to @shlib_map_file@, @shlib_objs@, or
@shlib_base_name@ to Makefile variables.
Bump soname version of libgcc to 1.
2001-06-13 Joseph S. Myers <>
* doc/install.texi: Use more logical markup. Include @node
commands in the source when generating any non-HTML.
2001-06-13 Joseph S. Myers <>
* README: Remove. Some of the contents moved to ../README.
2001-06-13 Alexandre Oliva <>
* doc/install.texi (--enable-shared): List package names
recognized by GCC.
2001-06-13 Alexandre Oliva <>
* doc/install.texi (ix86-*-solaris*): Removed, outdated.
(*-*-solaris*): Document problem in /bin/sh that affects
configuring libraries.
(sparc-*-solaris*): Recommend GNU binutils 2.11.1 or vendor tools.
(*-sun-solaris2.8): Document linker problem that explains why
libjava is disabled by default.
2001-06-09 Mark Mitchell <>
Revert this patch:
* toplev.c (rest_of_compilation): Remove dead code before
2001-06-12 Alexandre Oliva <>
2001-06-07 Nathan Sidwell <>
* (sparc*-*-*): Check assembler R_SPARC_UA32 support.
* configure: Rebuilt.
2001-06-12 Jim Wilson <>
* loop.c (strength_reduce): Move bl->all_reduced set before
check_ext_dependant_givs call.
(check_ext_dependant_givs): Clear bl->all_reduced when ignoring givs.
2001-06-12 Alexandre Oliva <>
* doc/extend.texi (Function Attributes): Document SH's sp_switch
and trap_exit.
2001-06-13 Joseph S. Myers <>
* doc/invoke.texi: Use more logical markup. Use TeX quotes,
dashes and @dots{}.
2001-06-12 Richard Henderson <>
* config/i386/i386.c (ix86_expand_prologue): Always use
gen_pro_epilogue_adjust_stack; update arguments.
(ix86_expand_epilogue): Likewise.
(ix86_emit_epilogue_esp_adjustment): Remove.
(ix86_adjust_cost): Remove pro_epilogue_adjust_stack hack.
* config/i386/ (pro_epilogue_adjust_stack): Use a BLKmode
clobber of scratch memory instead of a modification of EBP as the
barrier. Update all peepholes to match.
2001-06-12 Joseph S. Myers <>
* doc/gcc.texi: Change the font used for @def... commands to a
fixed width font.
* doc/extend.texi: Use more logical markup. Use "built-in"
instead of "builtin". Use @deftypefn to mark up built-in
functions; specify their types in the @deftypefn and not in the
descriptive text. Use TeX quotes and dashes. Add more index
2001-06-12 lars brinkhoff <>
* gcc.texi (HOST_BITS_PER_LONGLONG): Document.
(DIR_SEPARATOR_2): Likewise.
2001-06-12 Joseph S. Myers <>
* doc/install.texi (--exec-prefix, --bindir, --libdir,
--with-slibdir, --infodir, --mandir, --with-cpp-install-dir):
(--enable-cpp): Change to document --disable-cpp instead; update
to reflect current default.
(--without-fast-fixincludes): Remove documentation.
(Final install): Document installation directories in more
detail. Document use of make dvi.
Tue Jun 12 19:01:43 CEST 2001 Jan Hubicka <>
* recog.c (validate_replace_rtx_1): Fix previous patch.
Tue Jun 12 17:25:39 CEST 2001 Jan Hubicka <>
* recog.c (validate_replace_rtx_1): Do plus_constant call always.
Tue Jun 12 17:24:07 CEST 2001 Jan Hubicka <>
* simplify-rtx.c (simplify_subreg): Allow volatile memory
to be subregged in case we don't have move instruction.
Tue Jun 12 12:20:12 CEST 2001 Jan Hubicka <>
* loop.c: Include predict.h
(strength_reduce): Drop branch prediction note in case
number of iterations is known.
* predict.def (PRED_LOOP_ITERATIONS): new.
* (loop.o): Add dependency on predict.h
2001-06-12 Kaveh R. Ghazi <>
* c-decl.c (grokdeclarator): Use INTEGRAL_TYPE_P.
* c-typeck.c (c_start_case): Likewise.
2001-06-12 Mark Mitchell <>
* expr.c (store_field): Don't set MEM_ALIAS_SET for a field
in a structure at a variable address.
2001-06-12 Joseph S. Myers <>
* doc/gcov.texi: Use more logical markup.
2001-06-11 Mark Mitchell <>
* unroll.c (initial_reg_note_copy): Use PUT_REG_NOTE_KIND and
(final_reg_note_copy): Remove REG_WAS_0 notes that are no longer
2001-06-11 Stan Shebs <>
* config/darwin.h (ASM_FILE_END): Remove decl of language_string.
2001-06-11 Stephane Carrez <>
* config/m68hc11/ ("*lshrdi3_const32"): Mark the clobber
as an early clobber to make sure it is not used by reload in
one of the operands.
2001-06-11 Mark Mitchell <>
* doc/c-tree.texi: Update information about flag_honor_std.
* doc/install.texi: Note that binutils is required on HPUX 11.
* doc/invoke.texi (-fhonor-std): Note that -fno-honor-std is
now the default.
* config/mips/abi64.h (RETURN_IN_MEMORY): Fix handling of
variable-sized types.
2001-06-11 Joseph S. Myers <>
* doc/md.texi: Use TeX dashes and quotes.
2001-06-11 Joseph S. Myers <>
* doc/rtl.texi: Reference manual chapter about trees.
2001-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* config/mips/iris6.h (NO_BUILTIN_WINT_TYPE): Define.
(WINT_TYPE): Override.
(WINT_TYPE_SIZE): Likewise.
(SUBTARGET_CPP_SIZE_SPEC): Define __WINT_TYPE__ as appropriate.
* config/sparc/sol2.h (WINT_TYPE): Define.
(WINT_TYPE_SIZE): Likewise.
* config/sparc/sol2-sld-64.h (NO_BUILTIN_WINT_TYPE): Define.
(WINT_TYPE): Override.
(WINT_TYPE_SIZE): Likewise.
(CPP_ARCH32_SPEC): Add __WINT_TYPE__ definition.
(CPP_ARCH64_SPEC): Likewise.
2001-06-11 Richard Henderson <>
* unwind-dw2-fde.c (__deregister_frame_info): Don't play games
with alias attribute.
* config/linux.h (CPLUSPLUS_CPP_SPEC): Use %(cpp) not $(cpp_cpu).
* config/alpha/linux.h (CPLUSPLUS_CPP_SPEC): Likewise.
2001-06-11 Franz Sirl <>
* config/rs6000/linux.h (CPLUSPLUS_CPP_SPEC): New.
2001-06-11 Stan Shebs <>
* config/darwin.c (darwin_encode_section_info): Rewrite to simplify
and fix coding mistakes.
2001-06-11 Nick Clifton <>
* config/m32r/ (movstrsi_internal): Do not expect a
return string from m32r_output_block_move.
* config/m32r/m32r-protos.h: Make m32r_output_block_move a
void function.
* config/m32r/m32r.h (INT32_P): Rename to UNIT32_P and remove
integer overflow.
(ROUND_ADVANCE): Remove signed/unsigned conflict.
* config/m32r/m32r.c: Declare prototypes for static functions.
(move_src_operand): Replace INT32_P with UINT32_P.
(function_arg_partial_nregs): Fixed signed/unsigned conflict
in initialisation of 'size'.
(m32r_sched_reord): Remove redundant declarations of 'code'.
(m32r_output_block_move): Change to a void function.
(m32r_encode_section_info): Cast return of
TREE_STRING_POINTER to avoid compile time warning.
2001-06-11 Richard Henderson <>
* config/alpha/osf5.h (TARGET_LD_BUGGY_LDGP): New.
* config/alpha/alpha.h (TARGET_LD_BUGGY_LDGP): Default.
(struct machine_function): Add gp_save_rtx.
* config/alpha/alpha.c (alpha_mark_machine_status): Mark it.
(alpha_gp_save_rtx): New.
* config/alpha/alpha-protos.h: Declare it.
* config/alpha/ (exception_receiver): Make an expander.
Use alpha_gp_save_rtx if TARGET_LD_BUGGY_LDGP.
2001-06-11 Richard Henderson <>
* config/alpha/osf.h (LINK_SPEC): Hide _GLOBAL_* symbols.
2001-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* Align --help messages.
Remove trailing full stops.
Consistently use lower case.
Fix DWARF 2 spelling.
* configure: Rebuilt.
2001-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* config/alpha/alpha.h (CPP_SPEC): Don't define __LANGUAGE_C and
variants for .cpp/.cp/.c++ files.
Move definition of __LANGUAGE_C_PLUS_PLUS ...
Mon Jun 11 15:47:45 CEST 2001 Jan Hubicka <>
* jump.c (duplicate_loop_exit_test): Fix loop header heuristics.
2001-06-11 Joseph S. Myers <>
* c-decl.c (store_parm_decls): When comparing types in an
old-style function declaration with those from a previous
prototype, compare the unqualified versions of parameter types.
Fixes PR c/3116.
2001-06-11 Joseph S. Myers <>
* doc/objc.texi: Use more logical markup. Use TeX dashes.
2001-06-11 Joseph S. Myers <>
* doc/c-tree.texi: Use more logical markup.
2001-06-11 Joseph S. Myers <>
* c-decl.c (xref_tag): Don't return previous tags of wrong type.
2001-06-11 Aldy Hernandez <>
* loop.c (scan_loop): Do not combine asm statements.
2001-06-11 Michael Hayes <>
* simplify-rtx.c (simplify_subreg): Fix offset calculation
for complex values within a CONCAT.
2001-06-11 Joseph S. Myers <>
* doc/install.texi: Update details of what components are included
in the GCC distribution. Update default directory for g++
includes. Update documentation relating to old libio. Adjust
documentation on DejaGnu environment variables. Remove
documentation of --enable-cpplib.
2001-06-11 Joseph S. Myers <>
* doc/contrib.texi: Fix alphabetical order. Fix typos. Improve
2001-06-10 Richard Henderson <>
* ifcvt.c (life_data_ok): New.
(merge_if_block): Use it to determine whether to update
(if_convert): Set it.
2001-06-10 Richard Henderson <>
* config/alpha/osf5.h (ASM_OLDAS_SPEC): Add -c.
2001-06-10 Alexandre Oliva <>
* doc/invoke.texi (MN10300 Options): Document -mno-crt0.
(SH Options): Document -mieee.
* doc/install.texi (Final install): Remove obsolete information
about installing cross compilers.
* doc/gcc.1: Rebuilt.
2001-06-10 Richard Henderson <>
* config/alpha/alpha.c (override_options): Set align_loops,
align_jumps, and align_functions.
* config/alpha/alpha.h (FUNCTION_BOUNDARY): Set to 32 bits.
2001-06-11 Michael Hayes <>
* emit-rtl.c (gen_lowpart_common): Do not assume that SFmode and DFmode
are one and two words in size.
2001-06-10 Richard Henderson <>
* doc/invoke.texi (Optimization Options): Document -fpeephole2.
(Code Generation Options): Document -fnon-call-exceptions.
2001-06-10 Mark Kettenis <>
* config/i386/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Undefine.
2001-06-10 Stephane Carrez <>
* (peepholes): Remove unused and wrong peepholes.
2001-06-10 Mark Mitchell <>
Gabriel Dos Reis <>
* (c-parse.o): Depend on diagnostic.h
(dwarf2out.o): Likewise.
* dwarf2out.c: #include diagnostic.h
* toplev.h (warningcount, errorcount, sorrycount): Remove
* toplev.c (warningcount, errorcount, sorrycount): Remove
* diagnostic.h (struct output_buffer): Reorder fields.
(diagnostic_kind_count): New macro.
(errorcount, warningcount, sorrycount): Define as macros.
(diagnostic_report_warnings_p): New macro.
(output_state): Add diagnostic_count field.
* diagnostic.c (warningcount, errorcount, inhibit_warnings):
Remove tentative declaration.
(count_error): Use diagnostic_report_warnings_p.
* #include diagnostic.h
2001-06-10 Stephane Carrez <>
* config/m68hc11/ ("extendhisi2"): Fix constraints to
prefer a memory for operand 1.
("*addsi3"): Fix constraints, the '!' was too strong.
("*addsi3_split"): Accept soft register and split accordingly.
2001-06-10 Stephane Carrez <>
* config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
Move definition in the RTX_CODE section.
2001-06-10 Stephane Carrez <>
* config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Define the return
address as relative to the argument pointer.
Sun Jun 10 10:58:53 CEST 2001 Jan Hubicka <>
* predict.def (PRED_OPCODE): Place before call and error_return.
Sun Jun 10 10:00:17 CEST 2001 Jan Hubicka <>
* predict.def (PRED_CALL, PRED_ERROR_RETURN): New.
* predict.c (estimate_probability): Calculate dominance
information; improve detection of NORETURN heuristics;
add call/error_return heuiristics; tweak comparison heuristics
to recognize -1.
2001-06-09 Alexandre Oliva <>
* doc/invoke.texi (C Dialect Options): Document -aux-info.
(Debugging Options): Document -print-multi-directory and
* doc/gcc.1: Rebuilt.
* toplev.c (independent_decode_option): Require `=' between
`-aux-info' and filename in the same argument.
* gcc.c: Don't pass -aux-info=filename twice.
2001-06-09 Mark Mitchell <>
* expr.c (expand_expr, case ARRAY_REF): Do not replace
an array element with the known initializing value if it has
* toplev.c (rest_of_compilation): Remove dead code before
2001-06-09 Neil Booth <>
* cppinit.c (print_help): Document -fpreprocessed.
* invoke.texi: Similarly.
Sun Jun 10 00:35:37 CEST 2001 Jan Hubicka <>
* predict.def: New file.
* predict.h: New file.
* predict.c: Include predict.h.
(predictor_info): New structure and array.
(predict_edge, predict_insn): Rewrite; make global.
(predict_edge_def, predict_insn_def): New global functions.
(dump_prediction, combine_predictions_for_insns): New
static functions.
(estimate_probability): Change calls to predict_edge
to predict_edge_def and calls to predict_insn to predict_insn_def;
combine probabilities.
(expected_value_to_br_prob): Behave as predictor.
* rtl.h (REG_BR_PRED): Update coment.
(invert_br_probabilities): New.
* jump.c: Include predict.h
(duplicate_loop_exit_test): Drop branch prediction notes.
(invert_jump): Use invert_br_probabilities.
* Add dependency on predict.h for jump and predict pass.
* ifcvt.c (dead_or_predicable): Use invert_br_probabilities.
* combine.c (distribute_notes): Handle BR_PRED.
Sat Jun 9 23:29:41 CEST 2001 Jan Hubicka <>
* predict.c (predict_insn, predict_edge): New static functions.
(estimate_probability): Revamp to use new functions;
fix loop header heruistics; add loop exist heruistics
2001-06-09 Alexandre Oliva <>
* config.gcc: Re-enable bi-arch sparc on Solaris 7 and above.
2001-06-09 Peter Jakubek <>
* config/m68k/ (ashrdi_const): Fix right shift by 16.
2001-06-09 John David Anglin <>
* vax.h (NOTICE_UPDATE_CC): Set CC_NO_OVERFLOW in cc_status.flags
for integer operations that don't update C bit.
2001-06-09 Nicola Pero <>
* gthr-posix.h (__gthread_objc_init_thread_system): If
pthread_key_create fails, it's not clear what the return value is.
This obvious fix makes sure it always returns -1 if a problem
2001-06-09 Joseph S. Myers <>
* doc/gcc.texi: Use @defcodeindex for the index of options. Add
more index entries. Use more logical markup where appropriate.
Use TeX quotes and dashes.
2001-06-09 Benjamin Kosnik <>
* unwind-pe.h: Conditionally qualify references to abort with
2001-06-09 Julian Foad <>
* doc/invoke.texi: Remove superfluous text.
2001-06-08 Richard Henderson <>
* config/alpha/linux.h (CPLUSPLUS_CPP_SPEC): New.
(LIB_SPEC): Mirror config/linux.h version.
2001-06-08 Richard Henderson <>
* except.c (get_exception_pointer, get_exception_filter): Take a
struct function. Update all callers.
* except.h (get_exception_pointer): Update declaration.
* expr.c (expand_expr): Update get_exception_pointer call.
* integrate.c (expand_inline_function): Remap the exception pointer
from callee to caller.
2001-06-08 Mark Mitchell <>
* c-decl.c (grokdeclarator): Make the TREE_TYPE for declarations
accurately reflect its cv-qualification.
* c-typeck.c (type_lists_compatible_p): Ignore the top-levl
cv-qualifiers on function types.
2001-06-08 Mark Mitchell <>
* basic-block.h: Improve comments.
* except.c (expand_eh_region_end_allowed): Remove redundant call
to do_pending_stack_adjust.
* flow.c (life_analysis): Fix typo in comment.
(calculate_global_regs_live): Add documentation.
(mark_set_1): Likewise.
(debug_regset): Likewise.
* doc/rtl.texi (cond_exec): Document it.
Fri Jun 8 21:52:51 CEST 2001 Jan Hubicka <>
* i386.h (CONST_COSTS): set cost of constants representable in
immediate fields to 0.
Fri Jun 8 21:34:54 CEST 2001 Jan Hubicka <>
* function.c (diddle_return_value): Kill code to determine
return value before expand_function_end.
(expand_function_end): Delay call to clobber_return_register
after fucntion return value is computed.
Re-install temporary reverted patch:
* toplev.c (rest_of_compilation): Call split_all_insns
before reg-stack and shorten-branches. Do shorten-branches
after reg-stack.
* final.c (shorten_branches): Remove insn splitting code.
2001-06-08 Joseph S. Myers <>
* doc/gcc.texi, doc/invoke.texi: Add index of command line
options. Use @opindex to index them rather than other indexing
commands. Use @var{...} instead of <...>. Avoid spaces in names
inside @var. Don't use @kindex to index escape sequences in
source code.
2001-06-08 Jason Merrill <>
* stmt.c (current_nesting_level): New fn.
* tree.h: Declare it.
* c-semantics.c (genrtl_compound_stmt): Use it.
* dbxout.c (dbxout_symbol): Use DECL_RTL_SET_P.
2001-06-08 Jakub Jelinek <>
* jump.c (mark_modified_reg): Allow jump threading if condition
codes are represented by a hard register.
2001-06-08 Jakub Jelinek <>
* config/ia64/ia64.c (ia64_function_arg): Use [SDT]Fmode as gr_mode
for complex floats passed to unprototyped functions.
2001-06-08 Mark Mitchell <>
* except.c (expand_eh_region_end_allowed): Call
do_pending_stack_adjust as necessary.
Fri Jun 8 14:16:33 CEST 2001 Jan Hubicka <>
* function.c (clobber_return_register): Clobber the pseudo return
register too.
* sibcall.c (skip_unreturned_value): New function.
(call_ends_block_p): Use it.
* recog.c (split_insn): Break out from ...
(split_all_insns): ... here; do not use basic block information
when it is broken.
Thu Jun 7 18:27:53 CEST 2001 Jan Hubicka <>
* simplify-rtx.c (simplify_subreg): Fix verification of
combined subreg.
2001-06-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* config/mips/mips.h (CPP_SPEC): Simplify .s/.S handling.
Don't define _LANGUAGE_C and variants for .cpp/.cp/.c++ files.
Move definition of _LANGUAGE_C_PLUS_PLUS ...
Fixes PRs c++/3047, target/441.
2001-06-08 Gerald Pfeifer <>
* doc/install.texi2html (MAKEINFO): Keep value if set already.
2001-06-08 Joseph S. Myers <>
* doc/gcc.texi: Add trailing slash to URL.
2001-06-07 Stan Shebs <>
* config/darwin.h (ENCODE_SECTION_INFO): Define.
* config/darwin.c: No longer include c-tree.h.
(machopic_classify_ident): Rewrite to use symbol encoding.
(lookup_name_darwin): Remove.
(machopic_non_lazy_ptr_name): Handle encoded symbols.
(machopic_stub_name): Use STRIP_NAME_ENCODING.
(machopic_validate_stub_or_non_lazy_ptr): Ditto.
(machopic_finish): Ditto, remove test of decl.
(update_non_lazy_ptrs): New function.
(darwin_encode_section_info): New function.
* config/darwin-protos.h: Declare it.
* config/rs6000/rs6000.c (machopic_output_stub): Use
2001-06-07 Mark Mitchell <>
* tree.h (DECL_SOURCE_FILE): Improve documentation.
2001-06-07 Loren J. Rittle <>
* config/alpha/elf.h (MAKE_DECL_ONE_ONLY): Copy definition
from config/elfos.h.
2001-06-07 Phil Edwards <>
* linux.h (CPLUSPLUS_CPP_SPEC): Move -D_GNU_SOURCE to here.
* pa/pa-linux.h: Allow CPLUSPLUS_CPP_SPEC to remain.
2001-06-08 Joseph S. Myers <>
* doc/contrib.texi: Add copyright notice.
2001-06-08 Joseph S. Myers <>
* doc/md.texi: Use four digit years in copyright notice.
2001-06-08 Joseph S. Myers <>
* config.gcc: For $target_alias of athlon-*, set
Thu Jun 7 16:17:40 2001 Richard Kenner <>
* global.c (build_insn_chain): Allow ADDR_VEC or ADDR_DIF_VEC after
end of last block if last real insn is a JUMP_INSN.
2001-06-07 Joseph S. Myers <>
* NEWS: Regenerate.
2001-06-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* gthr-posix.h (__gthread_objc_thread_detach): Simply cast
pthread_t to objc_thread_t.
(__gthread_objc_thread_id): Likewise.
2001-06-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* alpha/osf5.h (CPP_XFLOAT_SPEC): Override default definition.
(ASM_OLDAS_SPEC): Likewise.
* alpha/osf.h (CPP_XFLOAT_SPEC): Define.
(ASM_SPEC): Use it.
(SUBTARGET_EXTRA_SPECS): Define, declare the new specs above.
2001-06-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* config/alpha/alpha.c (alpha_va_arg): Handle TFmode, TCmode args,
passed by reference.
2001-06-07 Joseph S. Myers <>
* doc/tm.texi (TARGET_SWITCHES, TARGET_OPTIONS): Adjust markup.
Document use of N_(...), and show it in examples. Note that
documentation should be added to invoke.texi. Avoid an overfull
Thu Jun 7 17:09:50 CEST 2001 Jan Hubicka <>
* toplev.c (rest_of_compilation): Revert previous patch.
* final.c (shorten_branches): Likewise.
2001-06-07 Gerald Pfeifer <>
* pself.c, pself1.c, pself2.c, pself3.c, pself4.c, pself5.c:
2001-06-07 Joseph S. Myers <>
* doc/install-old.texi: Remove more obsolete documentation.
Thu Jun 7 13:20:14 CEST 2001 Jan Hubicka <>
* expr.c (copy_blkmode_from_reg): Fix operand_subword_force call.
Thu Jun 7 12:12:58 CEST 2001 Jan Hubicka <>
* toplev.c (rest_of_compilation): Call split_all_insns
before reg-stack and shorten-branches. Do shorten-branches
after reg-stack.
* final.c (shorten_branches): Remove insn splitting code.
2001-06-07 Nathan Sidwell <>
* (sparc*-*-*): Check assembler R_SPARC_UA32 support.
* configure: Rebuilt.
2001-06-07 Andreas Jaeger <>
* emit-rtl.c (operand_subword): Remove unused variable.
Wed Jun 6 14:51:05 CEST 2001 Jan Hubicka <>
* (floatdi?f): Avoid usinf of SSE instructions
if TARGET_64BIT is false.
(floatdi?f_i386_only): New insn.
(floatdi?f_i386): Disable for !TARGET_64BIT.
* (min?f, max?f splitters): Handle case where
operands are cross-matched.
* i386.h (HI_REGISTER_NAMES): Remove redundant definition
(PRINT_OPERAND): Fix comment.
(PRINT_REG): Likewise.
* i386.c (print_reg): Kill support for 'm' CODE; simplify.
(print_operand): Update comment; kill 'm'.
* i386.c (x86_branch_hints): New global variable
(print_operand): Support outputting of branch prediction hints.
* (conditional jump patterns): Add branch prediction hints
to the template.
* i386.h (x86_branch_hints): Declare
* final.c (final_forward_branch_p): New function.
2001-06-06 Richard Henderson <>
* flow.c (mark_used_reg): Clean up looping over multiple hard
registers. Do conditional life bits across multiple hard regs.
2001-06-05 Jeffrey D. Oldham <>
* reload1.c (reload): Revert Schmidt's change so all USEs are not
deleted during reload.
2001-06-05 Mark Mitchell <>
* c-semantics.c (genrtl_scope_stmt): Write out nested inline
functions here, instead of ...
* c-decl.c (c_expand_body): ... here.
2001-06-05 David O'Brien <>
* config.gcc, config/sparc/bsd.h: Do not directly include
sparc/sparc.h. Instead do it via tm_file.
2001-06-05 Richard Henderson <>
* dwarf2.h (DW_EH_PE_aligned): New.
* dwarf2asm.c (eh_data_format_name): Name it.
(dw2_asm_output_encoded_addr_rtx): Align for it.
* dwarf2out.c (output_call_frame_info): Handle it for personality
routine and LSDA pointers.
* unwind-pe.h (DW_EH_PE_aligned): New.
(base_of_encoded_value): Handle it.
(read_encoded_value_with_base): Likewise.
* unwind-dw2-fde.c (base_from_object): Likewise.
(get_cie_encoding): Likewise.
* config/alpha/elf.h: Remove ecoff commentary.
* config/alpha/osf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
2001-06-05 David O'Brien <>
* config.gcc, config/i386/bsd386.h: Do not directly include
i386/386bsd.h. Instead do it via tm_file.
2001-06-05 David O'Brien <>
* elfos.h (USING_ELFOS_H): Identify the use of elfos.h in the same
way svr4.h does.
2001-06-05 Pascal Obry <>
* Quote $enable_win32_registry in case the value has
spaces in it.
* configure: Ditto.
2001-06-05 Mark Mitchell <>
* print-rtl.c (xspaces): Remove.
(print_rtx): Use printf field-width, rather than xpsaces, to
* toplev.c (main): Disable sibling-call optimization if we are
handling exceptions.
2001-06-05 Bernd Schmidt <>
* reload1.c (reload): Delete all USEs generated during reload.
2001-06-05 scott snyder <>
* Fix typo.
2001-06-05 Andreas Jaeger <>
* builtins.def: Fix definition of __builtin_cosf, it uses float as
parameter and return value.
2001-06-04 Anthony Green <>
* config/sparc/elf.h (CPP_PREDEFINES): Don't assert cpu or
machine. This is now done in sparc.h.
2001-06-05 Nathan Sidwell <>
Correct CVS resurrection of invoke.texi.
* doc/invoke.texi: Document new tree dump flags.
2001-06-05 Joseph S. Myers <>
* c-typeck.c (build_c_cast): Use TYPE_MAIN_VARIANT when checking
for casting an aggregate to its own type. Fixes PR c/2735.
2001-06-05 Joseph S. Myers <>
* doc/texinfo.tex: Update to version 2001-05-24.08.
2001-06-05 Nathan Sidwell <>
* c-common.h (flag_dump_translation_unit): Remove.
(enum tree_dump_index): Define.
(TDF_ADDRESS, TDF_SLIM): New #defines.
(dump_node_to_file): Remove.
(dump_node): Make extern. Add flags.
(dump_flag, dump_enabled_p, dump_begin, dump_end,
dump_switch_p): Prototype.
* c-common.c (flag_dump_translation_unit): Remove.
* c-decl.c (c_decode_option): Remove -fdump-translation-unit
logic. Use dump_switch_p.
* c-dump.h (struct dump_info): Add node and user fields.
(dump_pointer): Declare.
* c-dump.c (dump_node): Make extern. Add flags.
(dump_new_line, dump_maybe_newline): Use them.
(dump_pointer): New function.
(dequeue_and_dump): Check TDF_SLIM before dumping a _DECL's
chain or function's body. Dump address, if TDF_ADDRESS set.
(dump_flag): Define.
(dump_node_to_file): Remove.
(struct dump_file_info): New struct.
(dump_files): New array.
(dump_begin, dump_end, dump_enabled_p, dump_switch_p): Define.
* c-lang.c (finish_file): Adjust dumping.
* toplev.h (dump_base_name): Make extern.
* invoke.texi: Document new flags.
2001-06-04 Mark Mitchell <>
* c-tree.h (lang_decl): Add pending_sizes fields.
* c-decl.c (store_parm_decls): Save pending_sizes away for nested
(c_expand_body): Expand them.
(lang_mark_tree): Mark lang_decl:pending_sizes.
* function.c (expand_pending_sizes): New function, broken out
from ...
(expand_function_start): ... here.
* tree.h (expand_pending_sizes): Declare it.
2001-06-04 Loren J. Rittle <>
* doc/install.texi: Update FreeBSD information. Generalize
and update information for alpha-based platforms using ELF.
2001-06-04 John David Anglin <>
* c-decl.c (get_parm_info): Use INTEGRAL_TYPE_P.
(store_parm_decls): Likewise.
* c-typeck.c (convert_arguments): Likewise.
2001-06-04 Richard Henderson <>
* sibcall.c (optimize_sibling_and_tail_recursive_call): Suppress
optimization if current_function_calls_setjmp.
2001-06-04 Joseph S. Myers <>
* doc/c-tree.texi: Fix documentation of TREE_STRING_LENGTH for
wide strings.
Mon Jun 4 20:44:25 CEST 2001 Jan Hubicka <>
* simplify-rtx.c (simplify_subreg): Fix combining of
paradoxical subregs.
Mon Jun 4 20:15:25 CEST 2001 Jan Hubicka <>
* rtlanal.c (rtx_unsable_p): ADDRESSOF is stable.
(no_labels_between_p): Short circuit case beg==end.
Mon Jun 4 20:03:05 CEST 2001 Jan Hubicka <>
* rtlanal.c (operand_preference): Fix preference for objects.
Mon Jun 4 20:00:40 CEST 2001 Jan Hubicka <>
* gcse.c (handle_avail_expr): Be prepared to handle single_set
Mon Jun 4 19:59:46 CEST 2001 Jan Hubicka <>
* combine.c (if_then_else_cond): Use simplify_subreg instead
of operand_subword.
* integreate.c (sub_constants): Likewise.
Mon Jun 4 19:59:12 CEST 2001 Jan Hubicka <>
* emit-rtl.c (constant_subword): Deprecate; remove most of code
and use simplify_gen_subreg.
Mon Jun 4 19:55:23 CEST 2001 Lars Brinkhoff <>
* sibcall.c (skip_copy_to_return_value): recognize the situation
when the called function's return value is copied into an
intermediate pseudo, and then into the calling functions return
value register.
Mon Jun 4 16:50:33 CEST 2001 Jan Hubicka <>
* simplify_rtx.c (simplify_subreg): Keep subregs on return values,
check CLASS_CANNOT_CHANGE_MODE before avoiding subreg on hard reg,
in case register wasn't OK previously, accept it now; allow
subregs of frame pointer if reload completed and frame pointer
is not needed.
* combine.c (sombine_simplify_rtx): Fix comment;
use subreg_lowpart_offset instead of subreg_lowpart_p
(gen_lowpart_for_combine): Use subreg_lowpart_offset.
* rtl.h (subreg_lowpart_parts_p): Kill.
(subreg_lowpart_offset, subreg_highpart_offset): Declare.
* simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset.
* emit-rtl.c (gen_lowpart_SUBREG): Use subreg_lowpart_offset;
(gen_lowpart_common): Likewise.
(subreg_lowpart_p): Likewise.
(subreg_lowpart_parts_p): Kill.
(subreg_lowpart_offset, subreg_highpart_offset): New function.
* emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
to simplify SUBREG and REG.
(gen_highpart): Use simplify_gen_subreg for all simplifications.
* emit-rtl.c (gen_realpart, gen_imagpart): Do not handle
CONCAT specially.
* rtlanal.c (replace_regs): Use simplify_gen_subreg
Mon Jun 4 09:21:19 2001 Richard Kenner <>
* doc/c-tree.texi (ARRAY_REF): Say what type of expression must be.
(ARRAY_RANGE_REF): Added description.
* tree.def (ARRAY_RANGE_REF): New code.
* alias.c (handled_component_p, can_address_p): Handle it.
* dwarf2out.c (loc_descriptor_from_tree): Likewise.
* explow.c (set_mem_attributes): Likewise.
* expr.c (expand_assignment, get_inner_reference): Likewise.
(expand_expr, expand_expr_unaligned, do_jump): Likewise.
* fold-const.c (operand_equal_p): Likewise.
* tree.c (staticp, stabilize_reference): Likewise.
* varasm.c (decode_addr_const): Likewise.
Sun Jun 3 21:59:51 2001 Richard Kenner <>
* reload.c (reload_inner_reg_of_subreg): Return 1 for PLUS.
(push_reload): Handle non-REG in reload_inner_reg_of_subreg case.
2001-06-03 kaz Kojima <>
* gcc/config/sh/sh.c (print_operand_address, print_operand): Call
mark_constant_pool_use before output_addr_const.
(struct pool_node): New field wend.
(add_constant): Note a sequence of constants that are referenced
by a given label.
(pool_window_label, pool_window_last): New variables.
(dump_table): Emit a unspec_volatile representing the end of a
sequence of constants.
(mark_constant_pool_use): New function.
* gcc/config/sh/ (UNSPECV_WINDOW_END): New constant.
(consttable_2): Add the second operand which flags whether
this consttable entry was used or not.
(consttable_4, consttable_8, consttable_sf, consttable_df):
(consttable_window_end): New insn.
2001-06-03 Alexandre Oliva <>
* insn-addr.h (INSN_ADDRESSES_NEW): Make insn_uid__ unsigned.
Reformat according to coding standards.
Warning removal.
* config/sh/sh.c (print_operand_address): Cast INTVAL to int.
(shl_and_kind): Cast wide constant.
(gen_far_branch): Define as static, as in declaration.
(barrier_align): Compute cache-line length as unsigned. Add
parentheses in initial credit computation.
(rounded_frame_size): Add parentheses.
(permanent_obstack): Remove declaration. Include ggc.h for
declaration of ggc_add_root_rtx().
(get_free_reg): Removed declaration of unused variable reg.
(legitimize_pic_address): Mark mode argument as unused.
2001-06-03 Igor Shevlyakov <>
* config/sh/sh.c (output_branch): Support for insn with lenght
attr 12 & 16 which represents cond branches outside +-4096 range.
2001-06-03 Alexandre Oliva <>
* config/sh/lib1funcs.asm (ic_invalidate): Align the
cache-mirroring sequence. Add nops.
2001-06-03 Joseph S. Myers <>
* doc/install-old.texi: Remove more old installation
* doc/install.texi: Add relevant parts here.
2001-06-03 Gerald Pfeifer <>
* doc/install.texi2html: New script.
2001-06-03 David Edelsohn <>
* doc/install.texi: Update AIX information again.
2001-06-02 Joseph S. Myers <>
* doc/gcc.texi, doc/install-old.texi: Remove old system-specific
installation documentation.
* doc/install.texi: Move it to here.
2001-06-02 Joseph S. Myers <>
* doc/install.texi: Clean up Texinfo markup.
2001-06-02 Joseph S. Myers <>
* doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi: Move contents
to just after title page.
2001-06-02 Joseph S. Myers <>
* doc/install-old.texi: Remove documentation of some configuration
* doc/install.texi: Add relevant parts of this documentation here.
2001-06-02 Gerald Pfeifer <>
* contrib.texi: Updated entries for Mark Mitchell, Joseph S. Myers,
Gerald Pfeifer, Bernd Schmidt, and Dean Wakerley.
Sat Jun 2 12:23:51 CEST 2001 Jan Hubicka <>
* (all uses of ext_register_operand): Make sure they are
VOIDmode; replace all uses outside zero_extend.
(and?i splitters): Use ext_register_operands.
(test?i peep2): Remove ignored constraints.
* i386.c (ext_register_operand): Check that operand is
either pseudo or hard or 'Q' register.
Sat Jun 2 06:53:50 2001 Richard Kenner <>
* tree.h (struct record_layout_info_s): New field unpadded_align.
(set_lang_adjust_rli): New declaration.
* stor-layout.c (layout_decl): If DECL is packed, but at alignment
it would have if not packed, do not downgrade DECL_ALIGN.
(lang_adjust_rli, set_lang_adjust_rli): New.
(start_record_layout): Initialize new field unpadded_align.
(debug_rli): Display it.
(place_union_field, place_field): Set it.
(layout_type, case RECORD_TYPE): Call via lang_adjust_rli if set.
* print-tree.c (print_node): Don't print "regdecl" when bit doesn't
mean that; use proper names instead.
* except.c (expand_builtin_frob_return_addr): Add missing call
to convert_memory_address #ifdef POINTERS_EXTEND_UNSIGNED.
(expand_builtin_eh_return): Likewise.
(expand_eh_return): Clean up ptr_mode != Pmode cases.
2001-06-01 Jan van Male <>
* doc/invoke.texi: Remove references to papers about sequence points
to readings.html, refer to that page.
2001-06-01 Gerald Pfeifer <>
* README: Update references to installation instructions.
2001-06-01 Laurent Guerby <>
Gerald Pfeifer <>
* doc/install.texi: Define srcdir when sources come from CVS.
Significantly improve markup. Wrap overly long lines
2001-06-01 DJ Delorie <>
* c-tree.texi, contrib.texi, cpp.texi, cppinternals.texi,
extend.texi, fdl.texi, gcov.texi, invoke.texi, md.texi,
objc.texi, rtl.texi, tm.texi, texinfo.tex, gcc.1, cpp.1,
gcov.1: Move to doc subdirectory.
* install.texi: Move to doc/install-old.texi.
* gcc.texi: Move to doc, refer to install-old.texi.
* Reflect move of docs to doc/.
* f/ Ditto.
* java/ Ditto.
* doc/.cvsignore: New.
2001-05-31 Jan van Male <>
* invoke.texi: use two spaces between command options, eliminate
some 'overfull hboxes'
2001-06-01 Hans-Peter Nilsson <>
* (s-mlib): Make backtick-commands always succeed.
2001-05-31 Richard Henderson <>
* gcc.c (init_gcc_specs): When linking against,
also link against libgcc.a.
2001-05-31 Geoff Keating <>
* config/mips/mips.h (ASM_OUTPUT_ASCII): Convert to function.
* config/mips/mips.c (mips_output_ascii): New function.
* config/mips/mips-protos.h (mips_output_ascii): Prototype.
* config/mips/mips.h (DWARF_CIE_DATA_ALIGNMENT): Force to 4.
Thu May 31 19:09:53 CEST 2001 Jan Hubicka <>
* flow.c (set_block_for_new_insns): Remove bogus shortcut.
* i386.c (ix86_expand_int_movcc): Force one of operands to be register.
2001-05-31 Rodney Brown <>
* install.texi (Configuration): Add html links for --with-gnu-as &
--with-gnu-ld and refer to them from hppa & SCO triplets.
(Specific): Link back to with-gnu-ld for all ELF platfoms.
(Specific): Reword AVR binutils recommendation.
2001-05-30 Zack Weinberg <>
* ggc-page.c (size_lookup): Increase minimum allocation size
to eight bytes.
(ggc_print_statistics): Report size of each bin in bytes, not
as its order; there is no longer a direct relationship.
2001-05-31 Jan van Male <>
* extend.texi: Fix formating of examples, eliminate some
'overfull hboxes'.
* gcc.texi: Eliminate some 'overfull hboxes'.
* invoke.texi: Use two spaces between command options, eliminate
some 'overfull hboxes'.
2001-05-30 Richard Henderson <>
* dwarf2out.c (dwarf2out_finish): Don't emit DW_AT_stmt_list at -g1.
2001-05-30 Tom Tromey <>
* gcc.c (do_spec_1): In `%O' case, if we computed saved_suffix,
use it in the new association.
2001-05-30 Loren J. Rittle <>
John David Anglin <>
* gthr-posix.h (__gthread_active_ptr): Cast function pointer
to target type to allow ISO C++ compiler to accept it.
* gthr-dce.h (__gthread_active_ptr): Likewise.
* gthr-solaris.h (__gthread_active_ptr): Likewise.
2001-05-30 Neil Booth <>
* cpplex.c (_cpp_lex_token): Revert patch of 16 May 2001
so that we do accept comments in preprocessed input.
2001-05-30 Neil Booth <>
* cpphash.c (alloc_node): Cast allocated pointer.
2001-05-30 Gordon Sadler <>
* invoke.texi (Option Summary): Remove -isystem-c++ from options.
2001-05-29 Stan Shebs <>
* gcc.texi: Add links for information about Objective-C.
2001-05-29 Nathan Sidwell <>
* (gcc_version): Remove unrequired \ on ". (Solaris
/bin/sed fails on [^\"]).
(configargs.h): Likewise.
2001-05-29 Hartmut Schirmer <>
* config/sh/sh.h (IDENT_ASM_OP): End with TAB, not LF.
2001-05-28 Stan Shebs <>
* objc/objc.gperf: Remove, no longer used.
2001-05-28 Joseph S. Myers <>
* c-tree.texi, contrib.texi, cpp.texi, extend.texi, gcc.texi,
gcov.texi, install.texi, md.texi, objc.texi, rtl.texi, tm.texi:
Remove trailing whitespace.
2001-05-28 Gerald Pfeifer <>
* doc/install.texi (Specific):
2001-05-27 Geoffrey Keating <>
* local-alloc.c (update_equiv_regs): Don't eliminate constant
expressions at -O0.
2001-05-27 Stan Shebs <>
* objc/objc-act.c: Add/fix various comments.
(init_selector): Remove, no longer used.
(build_msg_pool_reference): Ditto.
(objc_debug): Ditto.
2001-05-27 Neil Booth <>
* c-decl.c (init_decl_processing):
Don't call start_identifier_warnings.
* flags.h (warn_id_clash, id_clash_len): Remove.
* stringpool.c: Don't include flags.h.
(scan_for_clashes, do_identifier_warnings,
start_identifier_warnings): Remove.
* toplev.c (warn_id_clash, id_clash_len): Remove.
(display_help): Don't document -Wid-clash.
(decode_W_option): Print warning on -Wid-clash.
* tree.h (start_identifier_warnings): Remove.
* invoke.texi: Remove documentation of -Wid-clash.
2001-05-27 Kaveh R. Ghazi <>
* fixinc/fixtests.c: Declare entries in ENV_TABLE.
2001-05-27 Bruce Korb <>
* fixinc/check.tpl(HACK) add and use a Scheme variable
(has no test text): error out if no "test_text" is defined
* fixinc/fixincl.tpl: likewise
(FIXIDX): make it an enumeration so we minimize diffs
* fixinc/inclhack.def: re-alphabetize and add sort instructions
* fixinc/fixincl.x: regenerate
* fixinc/tests/base/stdio.h: test output got moved due to
the alphabetizing
* README-fixinc: rewrite (mostly)
2001-05-27 Neil Booth <>
* cpplib.c (run_directive): Set pfile->directive.
2001-05-23 Theodore Papadopoulo <>
* c-tree.texi: Reformat the manual as a single chapter now
included by gcc.texi.
* gcc.texi: Include c-tree.texi. Merge all indexes.
* (dvi): Add generation for the cppinternals
documentation. Added dependencies on fdl.texi and c-tree.texi
where appropriate. Use TEXI2DVI instead of custom tex calls.
(info): Added dependencies on fdl.texi and c-tree.texi where
appropriate. Remove the target
2001-05-27 Lars Brinkhoff <>
* combine.c (try_combine): Fix typo in comment.
* expr.c (expand_expr): Likewise.
* config/i370/ (untyped_call): Likewise.
2001-05-26 Bruce Korb <>
* fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
when fixincl is operating in test mode
* fixinc/inclhack.def(AAB_dgux_int_varargs) : aesthetics
(AAB_ultrix_limits): remove redundant text
(AAB_ultrix_memory): ditto
(AAB_ultrix_string): ditto
(djgpp_wchar_h): fix the test text
(irix_stdio_va_list): add test text
(irix_limits_const): add a testing output file (limits.h is overwritten)
(strict_ansi_not_ctd): put limits.h second in list for same reason
(solaris27_mutex_init): test text needed selection text, too
* fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
when fixincl is operating in test mode
2001-05-26 Philip Blundell <>
* config/c4x/c4x-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
* config/i960/i960-protos.h: Likewise.
* config/i370/i370-protos.h: Likewise.
* config/h8300/h8300-protos.h: Likewise,
* config/sh/sh-protos.h: Likewise.
* config/v850/v850-protos.h: Likewise.
2001-05-26 Philip Blundell <>
* config/arm/arm-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
2001-05-25 Zack Weinberg <>
* toplev.c (debug_args, f_options, W_options): Mark
descriptions for translation.
(display_help): Translate descriptions on output.
* cp/lang-options.h, f/lang-options.h, java/lang-options.h,
objc/lang-options.h: Mark descriptions for translation.
* aclocal.m4: Quote final argument of patsubst. Use
3-argument form of AC_DEFINE. Restore quotes to [] while
using AC_FD_CC.
* Remove unnecessary changequote calls.
* configure, Regenerate.
2001-05-25 Sam TH <>
* basic-block.h: Fix header include guards.
* bitmap.h c-dump.h c-lex.h c-pragma.h c-tree.h collect2.h
cppdefault.h cpphash.h cpplib.h defaults.h diagnostic.h errors.h
except.h flags.h gcc.h gcov-io.h graph.h gstab.h gthr-aix.h
gthr-dce.h gthr-posix.h gthr-rtems.h gthr-single.h gthr-solaris.h
gthr-vxworks.h gthr-win32.h gthr.h hard-reg-set.h hwint.h
insn-addr.h libgcc2.h mbchar.h mkdeps.h params.h prefix.h real.h
rtl.h sbitmap.h system.h timevar.h toplev.h tradcpp.h tsystem.h
varray.h version.h: Likewise.
* config/dbxelf.h config/fp-bit.h config/arm/arm-protos.h
config/arm/arm.h config/c4x/c4x-protos.h
config/h8300/h8300-protos.h config/h8300/h8300.h
config/i370/i370-protos.h config/i370/i370.h
config/i960/i960-protos.h config/mcore/mcore.h
config/mips/mips-protos.h config/sh/sh-protos.h config/sh/sh.h
config/v850/v850-protos.h config/v850/v850.h: Likewise.
* fixinc/fixlib.h fixinc/server.h: Likewise.
2001-05-25 Stacey Sheldon <>
* config/arc/initfini.c (.init): Fix typo.
2001-05-25 Geoffrey Keating <>
* config/rs6000/ (fseldfsf4): Correct mode of operand 4.
2001-05-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* i386/i386.h (CC1_CPU_SPEC): Clarify -m486 etc deprecation messages.
2001-05-25 Richard Henderson <>
* libgcc-std.ver: Export XFmode and TFmode versions of symbols.
2001-05-25 Richard Henderson <>
* config.gcc (all gnu and linux): Use t-slibgcc-elf-ver with t-linux.
(i386-*-solaris2): Use t-slibgcc-elf-ver or t-slibgcc-sld.
(sparc*-*-solaris2): Likewise.
* config/t-linux: Remove shared libgcc macros.
* config/t-slibgcc-elf-ver: Move from sparc/t-slibgcc.
* config/t-slibgcc-sld: Move from sparc/t-slibgcc-sld.
2001-05-25 Loren J. Rittle <>
* config.gcc (*-*-freebsd*): Report bad configuration.
2001-05-25 David Edelsohn <>
* xcoffout.h (DBX_OUTPUT_GCC_MARKER): Do not emit any marker.
* config/rs6000/aix.h (USER_LABEL_PREFIX): AIX symbols do not have
any prefix.
2001-05-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* fixinc/inclhack.def (strict_ansi_not, strict_ansi_not_ctd,
strict_ansi_only): Don't run if stdc_0_in_system_headers.
* fixinc/fixincl.x: Regenerate.
* fixinc/fixtests.c (stdc_0_in_system_headers_test): New function.
(FIX_TEST_TABLE): Declare it.
* fixinc/fixlib.h: Include config.h.
2001-05-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* fixinc/inclhack.def (alpha___assert): Change char * args to
const char * on Tru64 UNIX to avoid excessive warnings from
* fixinc/fixincl.x: Regenerate.
2001-05-25 Geoff Keating <>
* dbxout.c (dbxout_symbol): Invert previous patch, which was
outputting a tag only for variable-size records.
2001-05-25 Jeff Knaggs <>
* config/alpha/ (movtf_internal): Use reg_overlap_mentioned_p
instead of rtx_equal_p for early clobber test.
2001-05-26 Mark Mitchell <>
* builtins.def: Encode additional information, such as names and
types, here.
* builtin-types.def: New file.
* builtins.c (built_in_names): Adjust use of DEF_BUILTIN.
(built_in_decls): Likewise. Don't explicitly initialize global
data to NULL.
(expand_builtin_mathfn): Handle float and long double variants of
math builtins.
(expand_builtin): Likewise.
* c-common.c (c_common_nodes_and_builtins): Make it table-driven.
(expand_tree_builtin): Handle long, long long, float, and long
double variants of math functions.
* c-common.h (c_tree_index): Remove some unused nodes.
(void_ftype): Remove.
(void_type_ptr): Likewise.
(int_ftype_int): Likewise.
(ptr_ftype_sizetype): Likewise.
* c-decl.c (init_decl_processing): Remove creation of DWARF
* defaults.h (MD_INIT_BUILTINS): Provide default definition.
* tree.h (built_in_function): Adjust definition of DEF_BUILTIN.
* (c-common.o): Depend on builtin-types.def.
2001-05-25 Dale Johannesen <>
* config/rs6000/t-darwin: Fix dependencies for darwin.o.
2001-05-25 Neil Booth <>
* (notype_initdcl): Remove redundant line.
2001-05-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* aclocal.m4: Fixed typo.
(gcc_AC_HEADER_STDBOOL): Define.
(gcc_AC_C__BOOL): Define.
* Use them.
(AC_CHECK_HEADERS): Remove stdbool.h
* configure, Regenerate.
2001-05-25 Richard Henderson <>
* function.c (expand_function_start): Don't abort on PARALLEL
returns from hard_function_value.
2001-05-25 Richard Henderson <>
* config/i386/ Revert previous change. Do not apply
the peephole if the components do not die after the sequence.
2001-05-25 Joseph S. Myers <>
* (array_declarator): New. Handle C99 constructs.
Don't restrict [*] declarators to C only.
(after_type_declarator, parm_declarator_starttypename,
parm_declarator_nostarttypename, notype_declarator,
direct_absdcl1): Use it.
* c-decl.c (build_array_declarator, set_array_declarator_type):
New functions. Warn that [*] isn't properly implemented; pedwarn
for [*] outside C99 mode if pedantic rather than giving a hard
(grokdeclarator): Handle static and type qualifiers in parameter
array declarators.
* c-tree.h (build_array_declarator, set_array_declarator_type):
* extend.texi (Attribute Syntax): Document attributes in parameter
array declarators.
2001-05-25 Mark Mitchell <>
* config/i386/ Make sure cmpstr peepholes do not
affect liveness information.
2001-05-24 Mark Mitchell <>
* c-typeck.c (digest_init): Issue error messages about
invalid constants, not warnings.
2001-05-24 Mark Mitchell <>
* invoke.texi (-fno-builtin): Document that this is always on
in C++.
2001-05-24 Philip Blundell <>
* doc/install.texi (arm*-*-linux-gnu): Say that binutils 2.10 is
2001-05-24 Philip Blundell <>
* config/arm/arm.c (output_return_instruction): Correctly handle
interworking and interrupt functions.
2001-05-24 Philip Blundell <>
* config/arm/arm.h (TARGET_SWITCHES): Correct misleading help for
-m{no-}sched-prolog. Fix typos and improve formatting.
2001-05-24 Philip Blundell <>
* invoke.texi (ARM Options): Improve wording slightly. Add
documentation for more options, including those for Thumb mode.
Don't mention options that don't exist or are unimplemented.
(Thumb Options): Delete; merged into above section.
2001-05-24 Geoff Keating <>
* config/rs6000/linux.h (SIGNAL_FRAMESIZE): Define.
Thu May 24 19:47:19 CEST 2001 Jan Hubicka <>
* simplify-rtx.c (simplify_subreg): Fix CONCAT simplification;
fix hard register simplification.
Thu May 24 00:15:17 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Add all of CPP_SPEC instead
of just copying CPP_CPU_SPEC.
Thu May 24 15:56:48 CEST 2001 Jan Hubicka <>
* i386.c (incdec_operand): Accept only 1 and -1.
2001-05-23 Kelley Cook <>
* Move many of the *_H definitions eariler in the
file, so that rules in t-* files that use them for
dependencies will work in a parallel build.
* config/i386/t-cygwin (winnt.o): Depend on $(CONFIG_H).
2001-05-23 Richard Henderson <>
* integrate.c (expand_inline_function): Handle CONCAT DECL_RESULT.
2001-05-23 Neil Booth <>
* cpp.texi: Update for handling of charconsts.
* cpplex.c (maybe_read_ucs): Don't accept D800-DFFF. Update
diagnostics. Skip to the end if the UCS is too short.
(cpp_interpret_charconst): Long charconsts issue a warning
not an error.
2001-05-23 Richard Henderson <>
* doc/install.texi (alpha-linux): Require binutils 2.11.
2001-05-23 Neil Booth <>
* c-lex.c (read_escape, read_ucs): Delete.
(lex_string): Use cpp_parse_escape.
* cpplex.c (read_ucs): Rename maybe_read_ucs. Do nothing
if not C++ or not C99. Warn if traditional.
(parse_escape): Rename cpp_parse_escape. Make the bitmask
unsigned. Warn for out-of-range escape sequences here.
Update to use maybe_read_ucs.
(cpp_interpret_charconst): Don't warn here.
* cpplib.h (cpp_parse_escape): New exported function.
2001-05-23 Joseph S. Myers <>
* extend.texi (Attribute Syntax): Clarify application of
attributes to parameters declared as functions or arrays.
2001-05-23 Jason Merrill <>
* dbxout.c (dbxout_type_methods): Do still group methods by name.
2001-05-23 Zack Weinberg <>
* diagnostic.c (vnotice): Kill.
(fnotice): Call vfprintf directly.
(diagnostic_for_decl, output_do_verbatim, output_verbatim,
verbatim, set_diagnostic_context): Rename string argument to
indicate that it is run through gettext.
(vbuild_message_string, build_message_string, output_do_printf):
Rename string argument to indicate that it is NOT run through
(output_printf, diagnostic_for_decl, fatal_io_error, sorry,
output_do_verbatim, set_diagnostic_context, fnotice, _fatal_insn):
Run msgid argument through gettext.
(default_print_error_function): Run constant strings through
gettext when nothing else will.
(fatal_error, internal_error, error_recursion): Use fnotice.
Present complete sentences to gettext.
2001-05-23 Mark Mitchell <>
* jump.c (mark_jump_label): Fix thinko in 2001-05-19 change.
2001-05-23 Richard Henderson <>
* function.c (expand_function_start): Always use a pseudo
for the function result value.
2001-05-22 Richard Henderson <>
* config/mips/iris6.h (EH_FRAME_SECTION_ASM_OP): Give the
section pointer alignment.
* doc/install.texi (alpha-linux): Require binutils >= 2.10.
* unwind-dw2-fde.c (__deregister_frame_info): Stringize use
2001-05-22 Richard Henderson <>
* unwind-dw2-fde.c (__deregister_frame_info): Stubbify in favor of...
(__deregister_frame_info_bases): New.
* unwind-dw2-fde.h: Declare it.
* libgcc-std.ver: Export it.
* crtstuff.c (__do_global_dtors_aux): Call it if we would have
called __register_frame_info_bases.
2001-05-22 Loren J. Rittle <>
* config/freebsd.h (FBSD_CPP_PREDEFINES): Use #endif/#if pair
instead of #elif (which is OK for this case but not in general).
2001-05-22 Andrew MacLeod <>
* builtins.c (expand_builtin_longjmp): A longjmp can be a call too.
* config/ia64/ (nonlocal_goto): Reverse label and frame pointer
parameters to __ia64_nonlocal_goto. Flag as NO_RETURN.
* config/ia64/ia64.c (ia64_expand_epilogue): Make sure we are issuing
"r2" to the assembly file. Only issue allocs with nonzero parameters.
2001-05-22 Loren J. Rittle <>
David O'Brien <>
* config/freebsd.h (LIB_SPEC): Key the exact setting to
configure-time options and target version of FreeBSD. Set-up
to match architectural change in threading support. Correctly
report when -pthread option is not supported by configure-time
(FBSD_CPP_PREDEFINES): Move from architecture-specific files
and extend to encode target version number in run-time setting
of __FreeBSD__ macro to match the system compiler.
* config/alpha/freebsd.h (CPP_PREDEFINES): Moved to common freebsd.h.
* config/i386/freebsd.h (CPP_PREDEFINES): Likewise.
2001-05-22 Loren J. Rittle <>
David O'Brien <>
* config.gcc (the unlabeled system switch statement): Add
generic configuration section to handle *-*-freebsd*. Also,
to match the system compiler, default to threading support (it
may be disabled with the standard --disable-threads
configuration-time switch).
(i[34567]86-*-freebsd* in machine-specific section): Use it.
(alpha*-*-freebsd* in machine-specific section): Likewise.
* config/freebsd3.h: New file to expose FBSD_MAJOR macro (3).
* config/freebsd4.h: New file to expose FBSD_MAJOR macro (4).
* config/freebsd5.h: New file to expose FBSD_MAJOR macro (5).
* config/freebsd6.h: New file to expose FBSD_MAJOR macro (6).
* config/freebsd-nthr.h: New file to expose FBSD_NO_THREADS macro.
2001-05-22 Loren J. Rittle <>
David O'Brien <>
* config/t-freebsd (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
* config/t-freebsd-thread (TARGET_LIBGCC2_CFLAGS): Add
-pthread instead setting macro.
2001-05-22 Richard Henderson <>
* crtstuff.c (__register_frame_info_bases): Declare.
(frame_dummy): Use it, if CRT_GET_RFIB_TEXT or CRT_GET_RFIB_DATA.
(__do_global_dtors_aux, __do_global_dtors): Streamline.
* config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
* config/i386/sysv4.h: Likewise.
* config/i386/sco5.h: Likewise.
2001-05-22 Richard Henderson <>
* rtl.c (read_string): Break out from ...
(read_rtx): ... here.
2001-05-22 Gerald Pfeifer <>
* doc/install.texi (Specific): Remove a bogus and duplicate part
copied from the end of the document.
2001-05-22 Bernd Schmidt <>
* (LIBGCC_DEPS): Correct LIB1ASMSRC dependency.
2001-05-22 Gerald Pfeifer <>
* install.texi: Remove obsolete information on SunOS as well as
i386-sun-sunos4, i860-intel-osf1, and powerpcle-*-solaris2*.
(Installing GNU CC on the Sun): Remove section.
2001-05-22 Alexandre Oliva <>
* cppfiles.c (remove_component_p): Don't assume lstat/stat will
keep errno unchanged on success.
2001-05-22 Joseph S. Myers <>
* c-lex.c (lex_number): If pedantic and not C99, pedwarn exactly
once for hexadecimal floats, whether or not they contain a decimal
point. Don't let the setting of pedantic otherwise affect the
parsing of hexadecimal floats.
2001-05-22 Gerald Pfeifer <>
* README.ACORN: Remove obsolete file.
2001-05-22 Jan Hubicka <>
* combine.c (gen_binary): Use swap_commutative_operands_p
(simplify_comparison): Likewise.
* expmed.c (emit_store_flag): Likewise.
* expr.c (compare_from_rtx): Likewise.
(do_compare_rtx_and_jump): Likewise.
* optabs.c (emit_cmp_and_jump_insn): Revert last patch; abort
if not emitting a branch and operands want swapping.
2001-05-22 Neil Booth <>
* c-lex.c (c_lex): Just cast cpp's hashnode to gcc's one.
* stringpool.c: (IS_FE_IDENT, make_identifier): Delete.
(maybe_get_identifier): Update.
* tree.h (make_identifier): Delete.
2001-05-21 Richard Henderson <>
* combine.c (subst): Do not substitute for a register as
a destination subreg/strict_low_part/zero_extract.
* combine.c (simplify_comparison): Update op1 after constant
* recog.c (const_int_operand): Accept only constants valid
for the given mode.
* genrecog.c: Update comments wrt const_int_operand.
* emit-rtl.c (init_emit_once): Zero unused memory in a
2001-05-21 Mark Mitchell <>
* tree.h (type_num_arguments): Declare it.
* tree.c (type_num_arguments): New function.
2001-05-21 Richard Henderson <>
* dwarf2out.c (current_funcdef_number): Move outside dwarf2
conditional ifdef.
2001-05-21 Geoff Keating <>
* config/rs6000/ (maxsf3): Use rs6000_emit_minmax.
(maxsf3+1): Delete.
(minsf3): Use rs6000_emit_minmax.
(minsf3+1): Generalize to handle both SMIN and SMAX. Use
(movsfcc): Use rs6000_emit_cmove.
(fselsfsf4): Don't compare a CONST_INT with a floating-point value.
Don't generate emit_fselsfsf4.
(fseldfsf4): Likewise.
(maxdf3): Use rs6000_emit_minmax.
(maxdf3+1): Delete.
(mindf3): Use rs6000_emit_minmax.
(mindf3+1): Generalize to handle both SMIN and SMAX. Use
(movdfcc): Use rs6000_emit_cmove.
(fseldfdf4): Don't compare a CONST_INT with a floating-point value.
Don't generate emit_fselsfsf4.
(fselsfdf4): Likewise.
* config/rs6000/rs6000.c (zero_fp_constant): New predicate.
(min_max_operator): New predicate.
(rs6000_emit_cmove): New function.
(rs6000_emit_minmax): New function.
* config/rs6000/rs6000-protos.h: Prototype new functions.
* config/rs6000/rs6000.h (PREDICATE_CODES): Add zero_fp_constant
and min_max_operator.
* config/rs6000/rs6000.c (output_cbranch): Handle all
conditional types in the switch statement.
2001-05-21 Mark Mitchell <>
* c-decl.c (finish_decl): Don't set DECL_C_HARD_REGISTER for
non-register variables.
* extend.texi: Document that asm-specifications do not make sense
for non-static local variables.
2001-05-21 Jason Merrill <>
* dbxout.c (MINIMAL_DEBUG, flag_minimal_debug): Lose.
(dbxout_type_fields): Lose minimal_debug support.
(dbxout_type_methods, dbxout_type): Likewise.
2001-05-17 Andrew Haley <>
* config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
2001-05-21 Richard Henderson <>
* dwarf2out.c (DEBUG_FRAME_SECTION): Rename from FRAME_SECTION.
Update all users.
2001-05-20 Richard Henderson <>
DEBUG_STR_SECTION): Rename from s/DEBUG_//. Update all users.
2001-05-20 Richard Henderson <>
* optabs.c (emit_cmp_and_jump_insns): Don't swap commutative
operands unless the operation is commutative.
2001-05-20 Kaveh R. Ghazi <>
* fold-const.c (tree_expr_nonnegative_p): Detect more non-negative
2001-05-21 Joseph S. Myers <>
* extend.texi: Clarify documentation of extensions included in ISO
C99. Prefer C99 terminology and syntax to old GNU terminology and
syntax. Add more index entries. Document mixed declarations and
code as an extension in C89 mode. Warn about future changes to
semantics of inline functions. Fixes PR other/930.
Sun May 20 16:39:24 2001 Richard Kenner <>
* expr.c (expand_expr, case ARRAY_REF): Don't fold constant
(expand_expr, case COMPONENT_REF): Do copy if misaligned even
* stmt.c (expand_decl): Set mode, alignment, and sizes for CONST_DECL.
2001-05-20 Richard Henderson <>
* sched-deps.c (sched_analyze_insn): Force volatile memory reads
to be output before a branch.
2001-05-20 Richard Henderson <>
* (dwarf2asm.o): Depend on $(TREE_H).
2001-05-20 Richard Henderson <>
* config/i386/att.h (ASM_SHORT, ASM_LONG): Add trailing \t.
(ASM_DOUBLE): Remove.
* config/i386/bsd.h, config/i386/sco5.h: Likewise.
* config/i386/sun386.h: Likewise.
* config/i386/i386.h (UNALIGNED_SHORT_ASM_OP): New.
* config/i386/cygwin.h (INT_ASM_OP): Remove.
* config/i386/freebsd-aout.h, config/i386/i386-aout.h: Likewise.
* config/i386/i386-coff.h, config/i386/i386-interix.h: Likewise.
* config/i386/netbsd.h, config/i386/openbsd.h: Likewise.
* config/i386/cygwin.h: Adjust uses of ASM_LONG for trailing \t.
* config/i386/djgpp.h, config/i386/i386.h: Likewise.
* config/i386/i386elf.h, config/i386/ptx4-i.h: Likewise.
* config/i386/sco5.h, config/i386/svr3gas.h: Likewise.
* config/i386/sysv4.h, config/i386/vsta.h: Likewise.
* config/i386/win32.h: Likewise.
2001-05-20 Joseph S. Myers <>
* invoke.texi: Add more options to summary list.
2001-05-20 Joseph S. Myers <>
* invoke.texi: Document meaning of -pedantic when -std=gnu* is
used. Fixes PR c/2291.
* gcc.1: Regenerate.
2001-05-20 Stephane Carrez <>
* config/m68hc11/m68hc11.c (m68hc11_override_options): Ignore
the -fpic and -fPIC options, clear flag_pic.
2001-05-20 Neil Booth <>
* hashtable.c (calc_hash): Fix HASHSTEP definition.
* stringpool.c (make_identifier): No statistics here anymore.
* objc-act.c (steup_string_decl): Remove redundant check.
2001-05-20 Neil Booth <>
cpplib.o, cpphash.o, fix-header): Update.
(hashtable.o): New target.
* c-common.h: Include cpplib.h. Define C_RID_CODE and
struct c_common_identifier here.
* c-lang.c (c_init_options): Update. Call set_identifier_size.
* c-lex.c (c_lex): Update.
* c-pragma.h: Update.
* c-tree.h (struct lang_identifier): Contain c_common_identifier.
Delete rid_code.
(C_RID_CODE): Delete.
* cpphash.c: Rewrite to use hashtable.c.
* cpphash.h: Update include guards.
(struct cpp_reader): Remove hashtab.
hash_ob and buffer_ob are no longer pointers. Add hash_table
and our_hashtable.
(HASHSTEP, _cpp_init_hashtable, _cpp_lookup_with_hash): Delete.
(_cpp_cleanup_hashtable): Rename _cpp_destroy_hashtable.
(_cpp_cleanup_stacks): Rename _cpp_init_directives.
* cppinit.c (cpp_create_reader): Update.
* cpplex.c (cpp_ideq, parse_identifier, cpp_output_token): Update.
(cpp_interpret_charconst): Eliminate warning.
* cpplib.c (do_pragma, do_endif, push_conditional,
cpp_push_buffer, cpp_pop_buffer): Update.
(_cpp_init_stacks): Rename cpp_init_directives.
(_cpp_cleanup_stacks): Remove.
* cpplib.h: Update include guards. Include tree-core.h and c-rid.h.
(cpp_hashnode, cpp_token, NODE_LEN, NODE_NAME,
cpp_forall_identifiers, cpp_create_reader): Update.
(C_RID_CODE, cpp_make_node): New.
(c_common_identifier): New identifier node for C front ends.
* cppmain.c (main): Update.
* fix-header.c (read_scan_file): Update.
* flags.h (id_clash_len): Make unsigned.
* ggc.h (ggc_mark_nonnull_tree): New.
* hashtable.c: New.
* hashtable.h: New.
* stringpool.c: Update comments and copyright. Update to use
* toplev.c (approx_sqrt): Move to hashtable.c.
(id_clash_len): Make unsigned.
* toplev.h (ident_hash): New.
* tree.c (gcc_obstack_init): Move to hashtable.c.
* tree.h: Include hashtable.h.
(struct tree_identifier): Update.
(make_identifier): New.
* cp-tree.h (struct lang_identifier, C_RID_YYCODE): Update.
(C_RID_CODE): Remove.
* lex.c (cxx_init_options): Call set_identifier_size. Update.
(init_parse): Don't do it here.
* objc-act.c (objc_init_options): Call set_identifier_size. Update.
Sat May 19 18:23:04 2001 Richard Henderson <>
* except.c (dw2_build_landing_pads): Use word_mode, not Pmode,
as ncessary.
(expand_eh_return): Convert between word_mode and Pmode.
* unwind-dw2.c (extract_cie_info): Do not assume words and pointers
are the same size.
(execute_stack_op): Likewise.
(execute_cfa_program): Likewise.
(uw_frame_state_for): Likewise.
(uw_update_context_1): Likewise.
* (_Unwind_Reason_Code): Likewise.
* config/mips/mips.h (EH_RETURN_DATA_REGNO): Define.
* config/mips/mips.c (compute_frame_size): Make space for saving
EH return registers.
(mips_expand_epilogue): Handle EH stack adjustments.
* config/mips/ (eh_return): New pattern.
(eh_set_lr_si): Likewise.
(eh_set_lr_di): Likewise.
Add splitter to perform EH return after reload.
2001-05-19 Mark Mitchell <>
* jump.c (mark_jump_label): Tidy previous change.
2001-05-19 Bruce Korb <>
* fixinc/genfixes: no need for two warnings
* fixinc/ open stdin for those building with a closed one.
2001-05-19 Mark Mitchell <>
* jump.c (jump_optimize_1): Tidy.
(mark_jump_label): When changing the label in a LABEL_REF, change
update any REG_EQUAL notes as well.
2001-05-19 Joseph S. Myers <>
* (parm_declarator): Split into
parm_declarator_starttypename and parm_declarator_nostarttypename.
(parm_declarator_starttypename, parm_declarator_nostarttypename):
New. Allow parenthesized sub-declarators which don't begin with a
TYPENAME. Fixes PR c/166.
2001-05-19 Mark Mitchell <>
Document it.
* toplev.c (main): If the target does not allow profiling without
a frame pointer, issue an error message.
Define it to false.
Sat May 19 07:53:42 2001 Richard Kenner <>
* recog.c (general_operand): Modify last change to allow it if reload
has completed.
Sat May 19 10:23:54 CEST 2001 Jan Hubicka <>
* recog.c (general_operand): Prohibit nonzero subreg bytes on
subregs containing mem.
Sat May 19 09:40:45 2001 Denis Chertykov <>
* regrename.c (regrename_optimize): frame pointer register can
use a few hardregs.
2001-05-18 Jason Merrill <>
* README.DWARF: Move into dwarfout.c.
2001-05-18 Dale Johannesen <>
* config/rs6000/rs6000.c (secondary_reload_class): Fix Darwin
specific misuse of r0 as a reload address.
Fri May 18 22:42:04 CEST 2001 Jan Hubicka <>
* combine.c (combine_simplify_rtx): Clear op0_mode if simplification
Fri May 18 07:26:34 2001 Richard Kenner <>
* genrecog.c (enum decision_type): Add DT_elt_zero-wide_safe.
(add_to_sequence): Make that decision type.
(maybe_both_true_2, nodes_identical_1, factor_tests): Use it.
(write_switch, write_cond, debug_decision_2): Likewise.
* dbxout.c (dbxout_type): Use host_integerp and fix typo in testing
(dbxout_symbol, case TYPE_DECL): Don't generate tag for records of
variable size.
2001-05-18 Stan Shebs <>
* (gcc_cv_as_eh_frame): Cope with old assemblers.
* configure: Regenerate.
2001-05-18 Per Bothner <>
Changes needed for java/jvspec.c
* gcc.h (n_infiles, outfiles): Add declarations.
* gcc.c (n_infiles, outfiles): Mske no longer static.
Fri May 18 10:14:42 2001 Jeffrey A Law (
* config/pa/som.h (EXCEPTION_SECTION): Define.
2001-05-18 Daniel Berlin <>
* dwarf2out.c: Add dw_loc_list_ref, a reference to a location
Add have_location_lists, a variable to determine whether we need a
.debug_loc section or not.
(enum dw_val_class): Add dw_val_class_loc_list.
(dw_val_struct): Add val_loc_list.
(dw_loc_list_struct): New structure, represents location lists.
(new_loc_list): New function, return a new location list, given
the range and location expression.
(add_loc_descr_to_loc_list): New function, add a location
expression to a location list, given the expression and range.
(output_loc_list): New function, output a location list.
(gen_internal_sym): Modified to take symbol prefix, so we can
reuse it for location list symbols.
(add_AT_loc_list): New function, add a location list to a DIE at
the named attribute.
(AT_loc_list): New function, return the location list reference
for a given attribute, if it's a location list.
(print_die): Handle dw_val_class_loc_list.
(size_of_die): Ditto.
(value_format): Ditto.
(output_die): Ditto.
(output_location_lists): New function, output all of the location
lists for a DIE and it's children.
(dwarf2out_finish): Call output_location_lists if we have location
Fri May 18 15:39:16 CEST 2001 Jan Hubicka <>
* gcse.c (try_replace_reg): First try global replace, later try to
simplify the expression.
* gcse.c (find_used_regs): Change calling convention; work via
(cprop_insn): Update call of find_used_regs; work for CALL_INSNs too.
2001-05-18 Bernd Schmidt <>
2001-02-09 Nick Clifton <>
* config/arm/ Change output constraint on post inc
load/store multiple patterns to be a read/write constraint.
2001-05-18 Mark Mitchell <>
* basic-block.h (struct basic_block_def): Add documentation about
what a basic block is, and what the various fields are used for.
* flow.c (calculate_globlal_regs_live): Add documentation about
how the algorithm works, and how we know that it will terminate.
Check that the the inductive assumption that guarantees
termination actually holds.
(mark_used_regs): Treat conditionally set registers as used.
(debug_regset): Add comment.
* rtl.texi (cond_exec): Add documentation.
* function.c (expand_function_start): Avoid creating BLKmode
2001-05-17 Mark Mitchell <>
* dwarf2out.c (output_comp_unit): Always output a compilation-unit
DIE, even if it has no children.
(dwarf2out_finish): Always output the line-number table, even if
it has no content.
2001-05-18 David Edelsohn <>
* (movsfcc,movdfcc): Remove NE case.
2001-05-17 Bruce Korb <>
* fixinc/fixincl.tpl: rewritten as an AutoGen version 5 template
* fixinc/genfixes: emit a warning if AutoGen is out of date
2001-05-17 Brendan Conoboy <>
Bruce Korb <>
* fixinc/ accept local directory if fixincl not
found in fixinc directory. Facilitates binary distributions.
2001-05-17 Jeffrey Oldham <>
* dbxout.c (dbxout_symbol_location): For CONCAT, skip types not
Thu May 17 19:42:39 2001 Mark Kettenis <>
* dwarf2out.c (modified_type_die): Equate qualified type to die.
Thu May 17 23:19:46 CEST 2001 Jan Hubicka <>
* integrate.c (copy_rtx_and_substitute): Use simplify_gen_subreg.
(simplify_subreg): Handle complex types represented as CONCAT.
* recog.c (validate_replace_rtx_1): Properly canonicalize expression
* rtl.h (swap_commutative_operands_p): Declare.
* rtlanal.c (swap_commutative_operands_p): New.
(operand_preference): New static function.
* combine.c (combine_simplify_rtx): Use swap_commutative_operands_p.
(gen_binary): Likewise.
* optabs.c (emit_cmp_and_jump_insns, emit_conditional_move): Likewise.
* simplify-rtx.c (simplify_gen_binary,
simplify_gen_relational): Likewise.
Thu May 17 20:43:36 CEST 2001 Jan Hubicka <>
* cse.c (fold_rtx): Use simplify_subreg.
* simplify-rtx.c (simplify_replace_rtx): Use simplify_gen_subreg.
(simplify_gen_subreg): New.
(simplify_rtx): Use simplify_subreg.
* rtl.h (simplify_gen_subreg): Declare.
2001-05-17 Mark Mitchell <>
* doc/install.texi: Update Solaris information.
* except.h (protect_cleanup_actions): Remove it.
(lang_protect_cleanup_actions): Declare it.
* except.c (protect_cleanup_actions): Remove it.
(lang_protect_cleanup_actions): New variable.
(init_eh): Don't make protect_cleanup_actions a GC root.
(expand_eh_region_and_cleanup): Call
(output_function_exception_table): Remove unused `align'
* varasm.c (assemble_external): Abort if we have not yet
opened the assembly output file.
Thu May 17 11:54:50 2001 Jeffrey A Law (
* except.c (sjlj_emit_function_enter): Call assemble_external_libcall
for eh_personality_libfunc.
Thu May 17 19:48:00 CEST 2001 Jan Hubicka <>
* recog.c (validate_replace_rtx_1): Use "TO" mode if not VOIDmode
when calling simplify_subreg. This is needed to allow replacing
of expression of one mode by expression of different mode.
Thu May 17 19:40:03 CEST 2001 Jan Hubicka <>
* simplify-rtx.c (simplify_subreg): Avoid creating of incorrect subregs.
2001-05-17 Bernd Schmidt <>
* expr.c (protect_from_queue): Protect against subsequent calls to
(expand_expr, case ADDR_EXPR): Prevent protect_from_queue from being
too clever.
Thu May 17 18:17:34 CEST 2001 Jan Hubicka <>
* simplify_rtx.c (simplify_subreg): Fix simplification of nested subregs.
2001-05-17 Gerald Pfeifer <>
* (CATEGORIES): Add "bootstrap".
Thu May 17 16:59:41 CEST 2001 Jan Hubicka <>
* simplify-rtx.c (simplify_subreg): Break out from ...
* combine.c (combine_splify_rtx) ... here and ...
* recog.c (validate_replace_rtx_1): ... here;
* rtl.h (subreg_lowpart_parts_p, simplify_subreg): Declare.
* emit-rtl.c (subreg_lowpart_parts_p): Break out from ...
(subreg_lowpart_p): ... here.
2001-05-17 Bernd Schmidt <>
* stmt.c (expand_asm_operands): For inout operands, make sure
the substitution of '=' for '+' makes it into the rtl.
* reload1.c (delete_output_reload): Call eliminate_regs on substed.
(reload_as_needed): Call update_eliminable_offsets a bit later.
2001-05-17 Gerald Pfeifer <>
* gcc.texi (gccbug): Refer to the web pages for detailed information
2001-05-16 Zack Weinberg <>
* libgcc1-test.c, libgcc1.c, config/i386/perform.h: Delete file.
* Delete variables: OLDCC, CCLIBFLAGS, OLDAR,
LIB1FUNCS, and LIB1FUNCS_EXTRA. Delete rules: libgcc1-test,
libgcc1-test.o. Clarify commentary now that libgcc1 no longer exists.
* cross-make: Don't set LIBGCC1.
* Delete all code for building from libgcc1.c.
Always honor LIB1ASMFUNCS if set.
* crtstuff.c, floatlib.c, longlong.h, config/fp-bit.c,
config/arc/lib1funcs.asm, config/arm/lib1funcs.asm,
config/d30v/libgcc1.asm, config/fr30/lib1funcs.asm,
config/h8300/lib1funcs.asm, config/i386/cygwin.asm,
config/i386/uwin.asm, config/m68hc11/larith.asm,
config/m68k/lb1sf68.asm, config/mcore/lib1.asm,
config/mn10200/lib1funcs.asm, config/sh/lib1funcs.asm,
config/sparc/lb1spc.asm, config/sparc/lb1spl.asm,
config/v850/lib1funcs.asm, config/c4x/libgcc.S:
Delete or update references to libgcc1 in commentary.
* config/t-libc-ok, config/t-linux, config/t-linux-aout,
config/t-netbsd, config/a29k/t-a29kbare, config/a29k/t-vx29k,
config/alpha/t-interix, config/alpha/t-osf, config/alpha/t-vms,
config/arc/t-arc, config/arm/t-arm-aout, config/arm/t-arm-coff,
config/arm/t-arm-elf, config/arm/t-linux, config/arm/t-pe,
config/arm/t-semi, config/arm/t-strongarm-coff,
config/arm/t-strongarm-elf, config/arm/t-strongarm-pe,
config/arm/t-xscale-coff, config/arm/t-xscale-elf, config/avr/t-avr,
config/c4x/t-c4x, config/d30v/t-d30v, config/fr30/t-fr30,
config/h8300/t-h8300, config/i386/t-beos, config/i386/t-cygwin,
config/i386/t-i386elf, config/i386/t-interix, config/i386/t-netware,
config/i386/t-next, config/i386/t-rtems-i386, config/i386/t-sol2,
config/i960/t-960bare, config/i960/t-vxworks960, config/ia64/t-ia64,
config/m32r/t-m32r, config/m68hc11/t-m68hc11-gas, config/m68k/t-lynx,
config/m68k/t-m68kbare, config/m68k/t-m68kelf,
config/m68k/t-mot3300-gald, config/m68k/t-mot3300-gas,
config/m68k/t-next, config/m68k/t-vxworks68, config/m88k/t-bug,
config/m88k/t-dgux, config/m88k/t-dgux-gas, config/m88k/t-dguxbcs,
config/m88k/t-luna, config/m88k/t-luna-gas, config/m88k/t-m88k,
config/m88k/t-m88k-gas, config/m88k/t-sysv4, config/mcore/t-mcore,
config/mcore/t-mcore-pe, config/mips/t-bsd, config/mips/t-bsd-gas,
config/mips/t-cross64, config/mips/t-ecoff, config/mips/t-elf,
config/mips/t-iris6, config/mips/t-r3900, config/mips/t-svr3,
config/mips/t-svr3-gas, config/mips/t-svr4, config/mips/t-svr4-gas,
config/mips/t-ultrix, config/mn10200/t-mn10200,
config/mn10300/t-mn10300, config/pa/t-linux, config/pa/t-linux64,
config/pa/t-pa, config/pa/t-pa64, config/pa/t-pro,
config/pdp11/t-pdp11, config/pj/t-pj, config/rs6000/t-aix43,
config/rs6000/t-beos, config/rs6000/t-darwin, config/rs6000/t-newas,
config/rs6000/t-ppccomm, config/rs6000/t-rs6000, config/sh/t-linux,
config/sh/t-sh, config/sparc/t-chorus-elf, config/sparc/t-elf,
config/sparc/t-sol2, config/sparc/t-sp86x, config/sparc/t-sparcbare,
config/sparc/t-sparclite, config/sparc/t-splet,
config/sparc/t-sunos41, config/sparc/t-vxsparc,
config/sparc/t-vxsparc64, config/v850/t-v850:
Don't set any of LIBGCC1, CROSS_LIBGCC1, or LIBGCC1_TEST.
* config/alpha/alpha.h, config/i386/i386.h, config/i860/i860.h:
* config/d30v/d30v.h: Don't mention LIBGCC_NEEDS_DOUBLE,
nongcc_SI_type, nongcc_word_type, or perform_*
* config/i860/fx2800: Don't define perform_umodsi3 or perform_modsi3.
* config/i386/386bsd.h, config/i386/beos-elf.h,
config/i386/linux-aout.h, config/i386/linux-oldld.h,
config/i386/linux.h, config/i386/mach.h, config/i386/netbsd.h,
config/i386/openbsd.h, config/i386/osfrose.h, config/i386/rtemself.h:
Don't include i386/perform.h.
* config/a29k/t-a29k, config/arm/t-semiaof, config/i370/t-i370,
config/i370/t-linux, config/i370/t-mvs, config/i370/t-oe,
config/i386/t-djgpp, config/i386/t-i386bare, config/i386/t-vsta,
config/ia64/t-hpux, config/mips/t-mips, config/mips/t-mips-gas,
config/mips/t-osfrose, config/sparc/t-sp64, config/sparc/t-sunos40,
config/vax/t-openbsd, config/vax/t-vax: Delete.
* config.gcc: Remove references to deleted files.
(arm-semi-aof): Use arm/t-semi for tmake_file.
* gcc.texi, install.texi, invoke.texi, tm.texi:
Delete or rewrite text which is no longer relevant now that
libgcc1 no longer exists.
* config/t-openbsd, config/alpha/t-interix, config/i386/t-interix:
No need to set INSTALL_ASSERT_H. (Missed in previous sweep.)
2001-05-16 Wolfgang Bangerth <>
Bruce Korb <>
* fixinc/inclhack.def(solaris27_mutex_init): Fix broken mutex
2001-05-16 Zack Weinberg <>
* Add two peepholes to clean up code generated by
cmpstr* expanders.
2001-05-16 Richard Henderson <>
* dwarf2asm.c (eh_data_format_name): Add names for "pointer size"
variants of non-absolute encodings.
* config/i386/i386.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
* libgcc-std.ver (_Unwind_Find_FDE, __register_frame_info_bases,
__register_frame_info_table_bases): Export.
2001-05-16 Richard Henderson <>
* except.c (eh_data_format_name): Move to ...
* dwarf2asm.c: ... here. Use designated initializers if available.
(dw2_asm_output_encoded_addr_rtx): Accept varargs commentary.
* dwarf2asm.h: Update declarations.
* dwarf2out.c (output_cfi) [DW_CFA_set_loc]: If for_eh, mind
(output_call_frame_info): Likewise. Use 'L' augmentation for
the LSDA encoding.
* unwind-dw2-fde.h (struct fde_vector): New.
(struct old_object): Rename from struct object.
(struct object): New.
(__register_frame_info_bases): Declare.
(__register_frame_info_table_bases): Declare.
(struct dwarf_fde): Remove explicit pc_begin/pc_range members.
* unwind-dw2-fde.c (objects): Remove.
(unseen_objects, seen_objects): New.
(__register_frame_info_bases): New.
(__register_frame_info): Use it.
(__register_frame_info_table_bases): New.
(__register_frame_info_table): Use it.
(__deregister_frame_info): Rewrite for changed object struct.
(base_from_object, get_cie_encoding, get_fde_encoding): New.
(fde_unencoded_compare): Rename from fde_compare; uninline.
(fde_single_encoding_compare, fde_mixed_encoding_compare): New.
(start_fde_sort): Adjust for new definition of fde_vector.
(fde_insert): Likewise.
(end_fde_sort): Likewise. Select comparison function based
on properties of the object.
(fde_split): Take object and fde_compare_t arguments.
(frame_heapsort, fde_merge): Likewise.
(classify_object_over_fdes): Rename from count_fdes. Handle
encoded pointers. Collect encoding, mixed_encoding, and pc_begin
for the object.
(add_fdes): Handle encoded pointers.
(init_object): Rename from frame_init. Update for new struct object.
(linear_search_fdes): Rename from search_fdes. Handle encoded
(binary_search_unencoded_fdes): Broken out from _Unwind_Find_FDE.
(binary_search_single_encoding_fdes): New.
(binary_search_mixed_encoding_fdes): New.
(search_object): New.
(_Unwind_Find_FDE): Update for new struct object. Fill in
the dwarf_eh_bases.
* unwind-dw2.c: Include unwind-pe.h. Constify all pointers
iterating over EH data.
(_Unwind_FrameState): Remove saw_lsda, addr_encoding. Add
fde_encoding, lsda_encoding.
(read_uleb128, read_sleb128): Remove.
(read_encoded_pointer): Remove. All callers use read_encoded_value.
(extract_cie_info): Set lsda_encoding from 'L' augmentation.
(uw_frame_state_for): Don't set bases.func. Handle encoded fde
* unwind-pe.h: Add "struct" to _Unwind_Context references.
2001-05-16 Neil Booth <>
* cppexp.c (lex): Use NODE_NAME and NODE_LEN.
* cpphash.c (_cpp_lookup_with_hash): Similarly.
* cpplex.c (cpp_ideq, parse_identifier, cpp_token_len,
cpp_spell_token, cpp_output_token): Similarly.
* cpplib.c (lex_macro_node, do_undef, do_pragma,
do_pragma_poison, parse_assertion, do_assert): Similarly.
* cppmacro.c (builtin_macro, parse_args, funlike_invocation_p,
save_parameter, _cpp_create_definition, check_trad_stringification,
cpp_macro_definition): Similarly.
* cppmain.c (cb_define, cb_undef, dump_macro): Similarly.
* c-lex.c (cb_undef, c_lex): Similarly.
* fix-header.c (recognized_function): Similarly.
* cpplib.h (NODE_LEN, NODE_NAME): New.
(cpp_hashnode): Rename length len.
Wed May 16 13:41:10 2001 Jeffrey A Law (
* pa32-regs.h (HARD_REGNO_MODE_OK): Allow TI/TFmode values in
2001-05-16 Andreas Jaeger <>
* (toplev.o): Add dependency on dwarf2asm.h.
* toplev.c: Include dwarf2asm.h for prototype of
Wed May 16 19:53:53 CEST 2001 Jan Hubicka <>
* stmt.c (expand_asm_operands): Be able to offload addressof
expression to memory. (PR optimization/185)
Wed May 16 18:53:23 CEST 2001 Jan Hubicka <>
* combine.c (combine_simplify_rtx): Set op0_mode to VOIDmode after
applying distributive law.
2001-05-16 John David Anglin <>
* pa-hpux10.h (THREAD_MODEL_SPEC): Define.
* gthr-dce.h (UNUSED): Attribute unused macro.
(__gthread_key_dtor): Make arguments UNUSED.
(__gthread_key_delete): Revise for compatibility with DRAFT4
2001-05-16 David Edelsohn <>
* doc/install.texi: Update AIX information.
* README.RS6000: Remove obsolete file.
2001-05-16 Jakub Jelinek <>
Nathan Sidwell <>
* gcc.c (give_switch): Don't write before start of string.
Always append suffix.
2001-05-16 Nathan Sidwell <>
* cpplex.c (_cpp_lex_token, '/' case): Comments can't appear
after stage3.
2001-05-16 Gerald Pfeifer <>
* README.ALTOS: Remove obsolete file.
2001-05-16 Neil Booth <>
* c-lex.h (save_and_forget_protocol_qualifiers,
forget_protocol_qualifiers, remember_protocol_qualifiers):
Remove deleted functions' prototypes.
2001-05-16 Neil Booth <>
* (methodtype): New production.
(methoddef, methodproto): Collapse separate '-' and '+'
handlers into 1.
2001-05-16 Neil Booth <>
* c-common.h (RID_FIRST_PQ): New.
* (objc_pq_context): New.
(objc parser): Set objc_pq_context rather than calling
remember_protocol_qualifiers and forget_protocol_qualifiers.
Don't call save_and_forget_protocol_qualifiers.
(yylexname): Handle objc protocol qualifiers here.
* stringpool.c (struct str_header): Replace with sp_hashnode.
(alloc_string): Rename alloc_ident. Use the SP_ accessors.
Allocate an IDENTIFIER_NODE for each identifier.
(FORALL_STRINGS, set_identifier): Delete.
(FORALL_IDS, expand_string_table, stringpool_statistics): Update.
(ggc_alloc_string): Use an obstack.
(get_identifier, maybe_get_identifier, mark_string_hash): Update.
* tree.h: Update comments.
(set_identifier): Delete.
* objc/objc-act.c (N_PQ, saved_pq, saved_not_pq,
save_and_forget_protocol_qualifiers, forget_protocol_qualifiers,
remember_protocol_qualifiers): Delete.
Tue May 15 22:14:09 2001 Jeffrey A Law (
* flow.c (life_analysis): After life analysis is complete, do
an optional scan over insns looking for REG_LABEL notes that
reference a deleted label.
(propagate_block_delete_insn): Verify INOTE is a CODE_LABEL
before peeking at LABEL_NUSES.
2001-05-15 Richard Henderson <>
* unwind-sjlj.c (_Unwind_GetDataRelBase): New.
(_Unwind_GetTextRelBase): New.
2001-05-15 Mark Mitchell <>
* config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
2001-05-15 Geoffrey Keating <>
* objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation
so that CHOOSE_SECTION gets used.
* config/rs6000/sysv4.h (ASM_PREFERRED_EH_DATA_FORMAT): Treat
TARGET_RELOCATABLE like flag_pic for now.
2001-05-15 David Edelsohn <>
* (movdi splitter): Sign extend more efficiently.
* rs6000.c (reg_or_arith_cint_operand): Redefine 64-bit constant
to "long long" valid on 32-bit and 64-bit hosts.
(logical_operand): Cast trunc_int_for_mode return value.
(rs6000_emit_move): Shift macro to encapsulate variable.
(rs6000_va_start): Use HOST_WIDE_INT_PRINT_DEC.
(rs6000_emit_{prologue,epilogue}): EH regno is unsigned but
plus_constant requires signed argument.
2001-05-15 Loren J. Rittle <>
* gthr-posix.h: Make additional pthread-* functions weak.
Tue May 15 13:51:32 CEST 2001 Jan Hubicka <>
* recog.c (apply_change_group): Avoid unneeded validating.
2001-05-14 David Edelsohn <>
* rs6000.c (num_insns_constant_wide): Constants are sign-extended.
(num_insns_constant): CONST_INT can be 64-bits.
2001-05-14 Stan Shebs <>
* config/darwin.h (LIB_SPEC): Just use -lSystem.
(LIBGCC_SPEC): Don't define.
2001-05-14 Richard Henderson <>
* (gcc_cv_as_eh_frame): New test.
*, configure: Rebuild.
* gcc.c (init_spec): Honor USE_AS_TRADITIONAL_FORMAT.
2001-05-14 Andrew MacLeod <>
* config/ia64/lib1funcs.asm (__divtf3): Fix incorrect bits in
extended precision divide.
2001-05-14 Andrew MacLeod <>
* config/ia64/ia64.c (rtx_needs_barrier): Call rtx_needs_barrier
for RETURNS as well.
Mon May 14 17:34:48 CEST 2001 Jan Hubicka <>
* i386.h (TARGET_64BIT): Define to constant if !TARGET_BI_ARCH
(CPP_CPU??_SPEC, CPP_CPUCOMMON_SPEC): Break out from...
(CPP_CPU_SPEC): ... here; support choosing of CPU.
(EXTRA_SPECS): Add cpp_cpu??, cpp_cpu??sizet, cpp_cpucommon.
(MAX_LONG_TYPE_SIZE, MAX_BITS_PER_WORD): Define to 32 for 32bit-only
* i386.c (override_options): Add sorry about not suported modes.
Mon May 14 08:56:47 2001 Jeffrey A Law (
* config/pa/som.h (NM_FLAGS): Remove.
(ASM_OUTPUT_FUNCTION_PREFIX): No longer truncate subspace names.
2001-05-14 Mark Mitchell <>
* regrename.c (regrename_optimize): Do not rename registers to
leaf registers.
2001-05-14 Alexandre Oliva <>
* rtl.texi (CALL_INSN_FUNCTION_USAGE): Note that (and when) it may
contain MEMs. Remove useless distinction about clobbering
2001-05-13 Geoff Keating <>
* config/rs6000/rs6000.h (EXCEPTION_SECTION): Move to...
* config/rs6000/aix.h (EXCEPTION_SECTION): ... here.
* config/rs6000/sysv4.h (CONST_SECTION_ASM_OP): Delete.
2001-05-13 Zack Weinberg <>
* libgcc2.c, libgcc2.h: Restore __eprintf. Label as used for
binary backward compat only.
* (LIB2FUNCS_ST): New. Put _eprintf here, not
in LIB2FUNCS. Pass it to mklibgcc.
* Handle LIB2FUNCS_ST.
* (installdirs): Don't create $(gcc_tooldir).
2001-05-13 Alexandre Oliva <>
* tm.texi (THREAD_MODEL_SPEC): Document it.
* gcc.c (main): Use it.
* config/rs6000/aix43.h (THREAD_MODEL_SPEC): Define it.
* config/rs6000/aix51.h (THREAD_MODEL_SPEC): Likewise.
2001-05-13 Franz Sirl <>
* rtl.h (SYMBOL_REF_WEAK): New macro.
* rtlanal.h (rtx_addr_can_trap): Use it, a weak SYMBOL_REF can trap.
* varasm.c (make_decl_rtl): Mark SYMBOL_REF weak if necessary.
* rtl.texi (SYMBOL_REF_WEAK): Document it.
* gcc.texi: Remove wrong description.
2001-05-13 Mark Mitchell <>
* (STAMP): New macro.
Replace all uses of `touch' with $(STAMP).
* fixinc/ Likewise.
Sun May 13 07:26:34 2001 Richard Kenner <>
* ldopen is never in -lexc, so don't test for it.
Add test for exc_resume in -lexc for Ada.
* configure: Regenerated.
2001-05-12 Richard Henderson <>
* dwarf2asm.c (size_of_encoded_value): New function.
* dwarf2asm.h: Declare it.
* except.c (output_function_exception_table): Align the TType
array only as wide as the encoding.
2001-05-12 Zack Weinberg <>
* extend.texi: Document #pragma GCC java_exceptions.
2001-05-12 Neil Booth <>
* (bison parser, init_reswords): Remove uses of
* c-tree.h (doing_objc_thang): Remove.
2001-05-12 Neil Booth <>
* cpplex.c (_cpp_lex_token): Ensure we warn at most once
about files not ending in newlines.
2001-05-12 Neil Booth <>
* dwarfout.c (dwarfout_init): Add cast.
* sched-deps.c (sched_analyze_insn): Remove unused vars.
* unwind-dw2-fde.c (_Unwind_Find_FDE): Flag unused parameter so.
* method.c (build_mangled_C99_name): Remove unused prototype.
2001-05-12 Alexandre Oliva <>
* config/arm/arm.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Use delta.
2001-05-12 Alexandre Oliva <>
2001-05-11 Richard Henderson <>
* dwarf2asm.c (dw2_force_const_mem, dw2_output_indirect_constant_1,
dw2_output_indirect_constants, dw2_asm_output_encoded_addr_rtx): New.
* dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): Prototype.
(dw2_output_indirect_constants): Prototype.
* dwarf2out.c (dwarf2out_begin_prologue): Generate
current_function_func_begin_label if we'll need it for EH. Exit
early for IA64_UNWIND_INFO.
* except.c: Get DW_EH_PE_* defines from dwarf2.h.
(eh_data_format_name): Update for indirect references.
(output_function_exception_table): Care for IA64_UNWIND_INFO.
define HAVE_eh_return etc.
* final.c (final_start_function): Always call dwarf2out_begin_prologue.
(final_end_function): Don't call output_function_exception_table.
* toplev.c (compile_file): Call dw2_output_indirect_constants.
(rest_of_compilation): Invoke output_function_exception_table
for ia64 before assemble_end_function.
* tm.texi (ASM_PREFERRED_EH_DATA_FORMAT): Document.
* unwind-dw2.c (_Unwind_GetTextRelBase, _Unwind_GetDataRelBase): New.
* unwind.h: Declare them.
* libgcc-std.ver: Export them.
* unwind-pe.h: New file.
* config/alpha/elf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
* config/ia64/fde-glibc.c: Use "struct unw_table_entry"
instead of "fde".
(find_fde_for_dso): Extract DT_PLTGOT.
(_Unwind_FindTableEntry): Rename from __ia64_find_fde; return
the segment and gp as well.
* config/ia64/frame-ia64.c: Remove file.
* config/ia64/frame-ia64.h: Remove file.
* config/ia64/unwind-ia64.c: New file.
* config/ia64/unwind-ia64.h: New file.
* config/ia64/ia64.h (ASM_OUTPUT_EH_CHAR): Remove.
(IA64_UNWIND_INFO): Re-enable.
* config/ia64/ (exception_receiver): Remove.
* config/ia64/t-glibc (LIB2ADDEH): Re-enable.
* config/ia64/t-ia64 (LIB2ADDEH): Re-enable.
2001-05-11 Richard Henderson <>
* config/ia64/ia64.c (group_barrier_needed_p): Don't allow
calls and jumps to be bundled together.
(ia64_reorg): Emit a break after a noreturn call that ends
a function.
* config/ia64/ (break_f): New.
2001-05-12 Neil Booth <>
* c-lex.c (lex_charconst): Convert into a simple wrapper
around cpp_interpret_charconst, to which most of the code
body is moved.
MAX_WCHAR_TYPE_MASK, parse_escape, parse_charconst): Remove.
(lex): Use cpp_interpret_charconst.
* cpplex.c (parse_escape, read_ucs, cpp_interpret_charconst,
hex_digit_value): New functions.
* cpplib.h (cpp_interpret_charconst): New prototype.
* Update.
2001-05-12 Dean Wakerley <>
* doc/install.texi: New file. Converted to texinfo from the HTML
documentation in wwwdocs/htdocs/install.
Fri May 11 15:50:13 2001 Jeffrey A Law (
* gcse.c (insert_insn_end_bb): Do not search for assignments to
non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
* toplev.c (compile_file): Move comment for opening output
file to just before the code that opens the output file.
2001-05-11 Jakub Jelinek <>
* regmove.c (regmove_optimize): Suppress the optimization for
unchanging destination register. Add comment above function.
2001-05-11 Zack Weinberg <>
* Exterminate all references to assert.h.
* cross-make: Likewise.
* assert.h: Delete.
* Correct commentary.
* configure: Regenerate.
* libgcc-std.ver, libgcc2.c, libgcc2.h, sys-protos.h:
Remove __eprintf.
* config/t-freebsd, config/t-linux, config/t-linux-aout,
config/t-netbsd, config/t-rtems, config/x-linux,
config/i386/t-beos, config/mcore/t-mcore, config/mcore/t-mcore-pe:
No need to override INSTALL_ASSERT_H.
* fixinc/fixinc.dgux, fixinc/fixinc.interix, fixinc/fixinc.ptx,
fixinc/fixinc.svr4, fixinc/fixinc.winnt, fixinc/fixinc.wrap,
fixinc/ Don't install assert.h into objdir/include.
2001-05-11 Graham Stott <>
* combine.c (simplify_comparison): Fix typo.
2001-05-11 Mark Mitchell <>
* loop.h (struct movables): Remove `num'.
* loop.c (scan_loop): Don't set it. Use count_insns_in_loop.
Adjust call to strength_reduce.
(num_unmoved_movables): New function.
(move_movables): Don't set movables->num.
(strength_reduce): Compute the number of instructions in the loop
here, rather than in the caller.
(check_dbra_loop): Always clear reversible_mem_store if there
are any memory sets.
(loop_regs_scan): Don't count instructions here.
(count_insn_in_loop): New function.
2001-05-11 Mark Mitchell <>
* optabs.c (emit_libcall_block): Don't mark calls as CONST_CALL_P.
2001-05-11 Neil Booth <>
* c-common.c (finish_label_expr): New function, lifted from
from cp/semantics.c.
* c-common.h (finish_label_expr, lookup_label): New prototypes.
* Move 3 blocks of parser code into new functions.
* c-typeck.c (simple_asm_stmt, c_cast_expr): New functions.
* c-tree.h (simple_asm_stmt, c_cast_expr): New prototypes.
(lookup_label): Remove.
2001-05-11 Alexandre Oliva <>
* config/mn10300/t-mn10300 (dp-bit.c, fp-bit.c): Don't define
2001-05-10 David Edelsohn <>
* expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to
bytes. Reported by Kazu Hirata <>.
2001-05-10 David Edelsohn <>
* expr.c (emit_group_load): extract_bit_field requires a REG or
MEM as an argument.
Thu May 10 14:45:44 2001 Jeffrey A Law (
* cse.c (cse_insn): Mostly remove first hunk of code which collapsed
a computed jump into an unconditional jump.
In second hunk of code for collapsing computed and conditional jumps
into unconditional jumps, reemit the jump in additional cases.
* jump.c (jump_optimize_1): Do not wrap the new jump target
inside a LABEL_REF; gen_jump will do that automatically.
2001-05-10 Toon Moene <>
* dwarf2out.c (mem_loc_descriptor): Do not pass constant pool
contents for a SYMBOL_REF in case of floating point constants.
2001-05-10 DJ Delorie <>
* c-common.c (combine_strings): Widen strings in a
host-endian-independent way.
2001-05-10 Joseph S. Myers <>
* Remove many shift/reduce conflicts. Update
%expect values.
(declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
maybe_type_quals_setattrs, typespec_nonattr, typespec_attr,
typespec_reserved_nonattr, typespec_reserved_attr,
typespec_nonreserved_nonattr, maybe_setattrs, structsp_attr,
structsp_nonattr, components_notype, component_notype_declarator,
absdcl1_ea, absdcl1_noea, direct_absdcl1, absdcl_maybe_attribute,
firstparm, setspecs_fp): New
(typed_declspecs, reserved_declspecs, typed_typespecs,
reserved_typespecquals, declmods, typespec, typespecqual_reserved,
typed_declspecs_no_prefix_attr reserved_declspecs_no_prefix_attr
declmods_no_prefix_attr, nonempty_type_quals, structsp,
type_quals): Remove. Users updated.
(initdecls, notype_initdecls, after_type_declarator,
parm_declarator, notype_declarator, absdcl1, components, ivars):
Don't allow attributes at the start of a declarator; include them
in the production containing the declarator instead. Always
require type specifiers before trying to redeclare a typedef name.
(typename): Allow for attributes but warn that they are ignored.
(parmlist, firstparm, setspecs_fp): Include attributes in
parmlist; suck them off the parser stack in firstparm using
Thu May 10 09:17:42 2001 Jeffrey A Law (
* ifcvt.c (merge_if_block): Use any_uncondjump_p, not simplejump_p
to determine if a block has an unconditional jump at its end.
* jump.c (jump_optimize_1): When converting a conditional jump
to an unconditional jump, build the jump using gen_jump instead
of just modify operands in-place.
2001-05-09 Zack Weinberg <>
* cppinit.c (cpp_post_options): Shut off macro expansion if
* cpplib.c (_cpp_handle_directive): If -fpreprocessed, accept
IN_I directives only if the # is in column 1 and the directive
name begins in column 2.
* cppmain.c (scan_buffer): Insert a space between # and an
identifier, when that identifier is a directive name.
* tradcpp.c (struct file_buf): Add a pointer to the next entry
in the header search path.
(enum node_type): Add T_INCLUDE_NEXT.
(directive_table): Add entry for include_next.
(do_include_next): New function.
(process_include): New routine, broken out of do_include.
(finclude): Insert 'nhd' argument, to be copied into
next_header_dir of the new buffer.
(main): Adjust to match.
* gsyslimits.h, limity.h: Un-indent #include_next.
2001-05-09 Joseph S. Myers <>
* objc.texi: Move from ../libobjc/objc-features.texi. Adjust for
inclusion as a chapter of the GCC manual.
* gcc.texi: Include objc.texi.
* fdl.texi: Use @unnumberedsec for the addendum.
* ($(srcdir)/, gcc.dvi): Update dependencies.
Wed May 9 16:01:41 CEST 2001 Jan Hubicka <>
* (DImode move splitters): Use !MMX and !SSE for the condition.
Wed May 9 10:40:25 2001 Alexandre Oliva <>
* regclass.c (scan_one_insn): Update REG_N_REFS when optimizing
handling of two-address insns.
Wed May 9 10:36:18 2001 Alexandre Oliva <>
* (NM_FOR_TARGET): Look for ./nm, then
../binutils/nm-new instead of ../binutils/nm.
Wed May 9 12:15:46 CEST 2001 Jan Hubicka <>
* (movdi splitter): Fix the splitting condition
(float_extenddftf splitter): Fix mode.
Wed May 9 12:05:39 CEST 2001 Jan Hubicka <>
* genrecog.c (write_switch): Avoid outputting of switch for
types wider than int.
2001-05-03 Andrew Haley <>
* reload1.c (copy_eh_notes): New function.
(emit_input_reload_insns): Call it.
(emit_output_reload_insns): Call it.
2001-05-07 Zack Weinberg <>
* config.gcc (i[34567]86-*-sco3.2v4*, i[34567]86-*-sco*):
Delete stanzas.
* config/i386/sco.h, config/i386/sco4.h, config/i386/scodbx.h,
config/i386/sco4dbx.h, config/i386/x-sco4: Delete file.
* optabs.c: Delete #ifdef BROKEN_LDEXP block.
2001-05-07 John David Anglin <>
* (interspace_jump): Revise comment.
(builtin_longjmp): Block initial setup insns from delay slot of
interspace branch.
(builtin_setjmp_receiver): New expander to save and restore PIC
* som.h (NM_FLAGS): Remove `-n' sort option. Revise comment.
Mon May 7 09:30:14 2001 Jeffrey A Law (
* toplev.c (compile_file): Set up the output file before we call
the various initializers for the compiler.
* except.c (sjlj_mark_call_sites): Do not search for assignments to
non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
* pa.h (MAX_LONG_TYPE_SIZE): Should be 32, not 64.
* pa-64.h (*_TYPE_SIZE): Undefine before redefining.
2001-05-06 Zack Weinberg <>
* (tradcpp0): Correct typo in dependency list.