OSDN Git Service

Separate user and internals manuals.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
2
3         Separate user and internals manuals.
4         * Makefile.in (info, $(docdir)/gcc.info, dvi, gcc.dvi): Update
5         dependencies.
6         ($(docdir)/gccint.info, gccint.dvi): New targets.
7         (maintainer-clean, install-info, uninstall): Update.
8         * doc/.cvsignore: Add gccint.info*.
9         * doc/include/gcc-common.texi: New file.
10         * doc/gcc.texi: Use it.  Adjust to be a user-only manual.  Put
11         copyright notice in a macro.  Don't include ISBN unless FSFPRINT
12         is defined.
13         * doc/gccint.texi: New file.
14         * doc/configfiles.texi, doc/extend.texi, doc/invoke.texi,
15         doc/md.texi, doc/passes.texi, doc/tm.texi, doc/trouble.texi:
16         Update for separate user and internals manuals.
17
18 2001-12-17  Dale Johannesen  <dalej@apple.com>
19
20          * config/rs6000/rs6000.h:  CPP_CPU_SPEC: add mcpu=7400.
21          ASM_CPU_SPEC: Ditto.
22          RTX_COSTS: Fix timing info for 7450 multiply.
23          * config/rs6000/rs6000.md:  Fix timing info for 7450 imul.
24          Allow floats to be kept in int regs in movsf_low,
25          movsf_low_st (Darwin only)
26
27 2001-12-17  Aldy Hernandez  <aldyh@redhat.com>
28
29         * config/rs6000/rs6000.c (vrsave_operation): Recognize SETs in
30         parallel.
31         (is_gpr_return_reg): New.
32         (rs6000_emit_prologue): Call generate_set_vrsave with additional
33         argument.  Save only registers in the mask.  Attach
34         REG_FRAME_RELATED_EXPR note to altivec offsets.  Do not call
35         rs6000_frame_related when saving VRSAVE.
36         (rs6000_emit_epilogue): Call generate_set_vrsave with additional
37         argument.  Restore only registers in the mask.  Restore altivec
38         registers after we restore CR.
39         (generate_set_vrsave): New parameter epiloguep.  Generate unspec
40         sets instead of clobbers for call saved registers.
41         (altivec_frame_fixup): New.
42         
43 2001-12-17  Richard Henderson  <rth@redhat.com>
44
45         * config/sparc/sparc.md (movdi_zero): Remove.
46         (movdi_insn_sp32_v9): New.
47
48 2001-12-17  Richard Henderson  <rth@redhat.com>
49
50         * cfgcleanup.c (outgoing_edges_match): Check for insn match with
51         a single outgoing edge too.
52
53 Mon Dec 17 18:27:52 CET 2001  Jan Hubicka  <jh@suse.cz>
54
55         * cfgrtl.c (redirect_edge_and_branch):  Do simplify abnormal
56         edges resulting from computed jump
57
58 Mon Dec 17 17:57:05 CET 2001  Jan Hubicka  <jh@suse.cz>
59
60         * Makefile.in (cfgcleanup.o): Add cselib.h dependancy.
61         * basic-block.h (CLEANUP_THREADING): New constant.
62         * cfgcleanup.c: Include cselib.h
63         (thread_jump, mark_effect): New functions.
64         (try_forward_edges): Do jump threading when asked for.
65         * jump.c (mark_modified_reg, save_regs, num_same_regs, modified_regs,
66         modified_mem, thread_jumps, rtx_equal_for-thread_p): Kill.
67         * rtl.h (thread_jumps, rtx_equal_for_thread_p): Kill.
68         * toplev.c (rest_of_compilation): Do now call thread_jumps; use
69         CLEANUP_THREAD instead.
70
71 2001-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
72
73         * sparc/linux.h (STARTFILE_SPEC): Fix typo in last change.
74
75 2001-12-17  Tom Rix  <trix@redhat.com>
76
77         * config/rs6000/rs6000.c (expand_block_move): Fix limits on max size 
78         of bytes.
79
80 2001-12-17  Richard Sandiford  <rsandifo@redhat.com>
81
82         * target.h (asm_out.byte_op, asm_out.aligned_op, asm_out.unaligned_op,
83         asm_out.integer): New fields.
84         * target-def.h (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_[HSDT]I_OP,
85         TARGET_ASM_UNALIGNED_[HSDT]I_OP, TARGET_ASM_INTEGER): New initialisers.
86         (TARGET_ASM_ALIGNED_INT_OP, TARGET_ASM_UNALIGNED_INT_OP): Collect
87         the individual initialisers together.
88         (TARGET_ASM_OUT): Add the new initialisers.
89         * output.h (assemble_integer): Return bool.
90         (integer_asm_op): Declare.
91         (default_assemble_integer): Declare.
92         (assemble_aligned_integer): New interface to assemble_integer.
93         * varasm.c (integer_asm_op): New function to select pseudo-op.
94         (default_assemble_integer): Default implementation of asm_out.integer.
95         (assemble_integer): Use the new target hook.  Split objects into
96         words or bytes if the target hook fails.  Return bool.
97         * doc/tm.texi (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_OUTPUT_SHORT,
98         ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_OUTPUT_QUADRUPLE_INT,
99         UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
100         UNALIGNED_DOUBLE_INT_ASM_OP): Undocument.
101         Document new target hooks.
102
103         * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Use integer_asm_op.
104         * dwarf2asm.c (unaligned_integer_asm_op): Remove.
105         (dw2_assemble_integer): New.
106         (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
107         dw2_asm_output_pcrel, dw2_asm_output_addr, dw2_asm_output_addr_rtx,
108         dw2_asm_output_encoded_addr_rtx): Use it.
109         (dw2_asm_output_nstring): Use assemble_integer for the null terminator.
110         (dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128): Use
111         integer_asm_op to get the byte pseudo-op.  Use assemble_integer
112         if it returns NULL.
113         * dwarf2asm.h (dw2_assemble_integer): Declare.
114         * dwarfout.c: Include dwarf2asm.h.  Use dwarf2 functions for the
115         default implementation of most macros.
116         (output_unsigned_leb128): Use dw2_asm_output_data.
117         (output_signed_leb128, dwarfout_source_line): Likewise.
118         (output_reg_number): Use dw2_assemble_integer.
119         (generate_macinfo_entry): Separate the type and offset arguments.
120         Use assemble_integer to write the value.
121         (dwarfout_start_source_file): Update generate_macinfo_entry usage.
122         (dwarfout_end_source_file, dwarfout_define, dwarfout_undef): Likewise.
123         * final.c (output_addr_const): Don't put brackets round a subtracted
124         symbol value or ".".
125         * halfpic.c (half_pic_finish): Use assemble_aligned_integer.
126
127         * config/1750a/1750a.c (assemble_integer_1750a): New,
128         * config/alpha/alpha.h (literal_section): Avoid ASM_OUTPUT_INT.
129         * config/arc/arc.c (arc_assemble_integer): New.
130         * config/arc/arc.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
131         * config/arm/arm.c (arm_poke_function_name): Likewise.
132         (arm_assemble_integer): New, extracted from...
133         * config/arm/arm.h (OUTPUT_INT_ADDR_CONST): ...here, now removed.
134         (ARM_TRAMPOLINE_TEMPLATE, ARM_FUNCTION_PROFILER): Avoid ASM_OUTPUT_INT.
135         (ARM_FUNCTION_PROFILER): Likewise.
136         * config/avr/avr-protos.h (asm_output_byte): Remove.
137         (asm_output_char, asm_output_short): Remove.
138         * config/avr/avr.c (avr_assemble_integer): New.
139         (asm_output_byte, asm_output_char, asm_output_short): Remove.
140         * config/clipper/clipper.h (ASM_LONG): Remove.
141         * config/dsp16xx/dsp16xx-protos.h (asm_output_long): Remove.
142         * config/dsp16xx/dsp16xx.c (asm_output_long): Remove.
143         * config/elxsi/elxsi.c (elxsi_assemble_integer): New.
144         * config/i370/i370.c (i370_hlasm_assemble_integer): New.
145         * config/i370/i370.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
146         (ASM_BYTE, ASM_SHORT, ASM_LONG): Delete.
147         * config/i386/att.h, (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
148         * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
149         ASM_LONG instead of UNALIGNED_INT_ASM_OP.
150         * config/i386/sco5.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
151         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
152         * config/i386/sysv4.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
153         ASM_LONG instead of UNALIGNED_INT_ASM_OP.
154         * config/i860/fx2800.h (ASM_FILE_END): Avoid ASM_LONG.
155         * config/i860/i860.c (i860_output_function_epilogue): Likewise.
156         * config/i860/i860.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
157         (ASM_SHORT, ASM_LONG): Undefine.
158         * config/i860/paragon.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
159         * config/i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise.
160         * config/i960/i960.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
161         * config/ia64/ia64.c (ia64_assemble_integer): New.
162         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Use integer_asm_op.
163         (ASM_OUTPUT_DWARF_PCREL): Likewise.
164         * config/m68hc11/m68hc11.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
165         ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_VEC_ELT): Avoid ASM_LONG.
166         (ASM_SHORT, ASM_LONG): Remove.
167         * config/m68k/m68k.h (INT_OP_GROUP): New macro.
168         (INT_OP_STANDARD, INT_OP_DOT_WORD, INT_OP_NO_DOT, INT_OP_DC): New
169         macros, the allowed values for INT_OP_GROUP.
170         * config/m68k/amix.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP
171         * config/m68k/atari.h (ASM_OUTPUT_ASCII): Likewise
172         * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Likewise
173         * config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
174         (INT_OP_GROUP): Define to INT_OP_NO_DOT.
175         * config/m68k/dpx2.h (ASM_LONG): Undefine.
176         (INT_OP_GROUP): Define to INT_OP_DC.
177         * config/m68k/dpx2g.h (ASM_LONG): Undefine.
178         * config/m68k/hp320.h (INT_OP_GROUP): Define to INT_OP_NO_DOT.
179         * config/m68k/lynx.h (ASM_LONG): Undefine.
180         * config/m68k/dpx2g.h (ASM_LONG): Undefine.
181         * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
182         * config/m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
183         (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_*.
184         * config/m68k/mot3300.h (INT_OP_GROUP): Define to INT_OP_STANDARD
185         for GAS and INT_OP_NO_DOT otherwise.
186         (ASM_CHAR, ASM_BYTE, ASM_SHORT, ASM_LONG): Remove.
187         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
188         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid ASM_LONG.
189         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
190         * config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
191         (INT_OP_GROUP): Define to INT_OP_STANDARD.
192         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
193         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid LONG_ASM_OP.
194         (ASM_OUTPUT_ASCII): Avoid BYTE_ASM_OP.
195         * config/m68k/tower-as.h (ASM_LONG): Remove.
196         (INT_OP_GROUP): Define to INT_OP_NO_DOT.
197         * config/m88k/m88k.c (output_tdesc): Avoid ASM_LONG.
198         * config/m88k/m88k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
199         (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid ASM_LONG.
200         * config/mips/iris5.h (TARGET_IRIX5): Define.
201         * config/mips/mips.c (mips_assemble_integer): New.
202         * config/mips/sni-svr4.h (ASM_LONG): Undefine.
203         * config/mmix/mmix-protos.h (mmix_asm_output_double_int): Remove.
204         * config/mmix/mmix.c (mmix_assemble_integer): New.
205         (mmix_asm_output_double_int): Remove.
206         (mmix_print_operand): Call mmix_output_octa directly.
207         * config/mmix/mmix.h (ASM_LONG): Remove.
208         * config/ns32k/ns32k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
209         * config/pa/pa.c (pa_assemble_integer): New.
210         (pa_override_options): Only use aligned DI ops on 64-bit targets.
211         Only use the unaligned ops if TARGET_GAS.
212         * config/pdp11/pdp11.c (pdp11_assemble_integer): New.
213         * config/pdp11/pdp11.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
214         * config/pj/pj.h (ASM_LONG): Undefine.
215         * config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Undefine.
216         * config/rs6000/rs6000.c (rs6000_assemble_integer): New, mostly
217         extracted from ASM_OUTPUT_INT in sysv4.h.  Use in_text_section()
218         and in_toc_section() rather than the in_section variable.
219         (rs6000_override_options): Only use DI ops when TARGET_POWERPC64.
220         * config/rs6000/sysv4.h (TOC_SECTION_FUNCTION): Add in_toc_section().
221         (RELOCATABLE_NEEDS_FIXUP): Define.
222         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Change space to tab.
223         * config/s390/linux.h (ASM_SHORT, ASM_LONG, ASM_QUAD): Remove.
224         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Use integer_asm_op
225         to get the word directive.
226         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
227         * config/s390/s390.c (s390_assemble_integer): New.
228         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Use
229         integer_asm_op to get the word directive.
230         * config/sparc/sol2.h (ASM_SHORT, ASM_LONG): Remove.
231         * config/sparc/sparc-protos.h (output_double_int): Remove.
232         * config/sparc/sparc.c (output_double_int): Move to...
233         (sparc_assemble_integer): ...this new function.
234         (sparc_override_options): Only use .uaxword if TARGET_ARCH64.
235         * config/sparc/sparc.h (ASM_SHORT, ASM_LONG, ASM_LONGLONG): Remove.
236         * config/sparc/sysv4.h (ASM_LONG): Remove.
237         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid
238         ASM_LONG.
239         * config/vax/vax.h (TRAMPOLINE_TEMPLATE): Use assemble_aligned_integer.
240         * config/we32k/we32k.h (TRAMPOLINE_TEMPLATE): Likewise.
241
242         * config/1750a/1750a.c, config/a29k/a29k.c, config/alpha/alpha.c,
243         config/arc/arc.c, config/arm/arm.c, config/avr/avr.c, config/c4x/c4x.c,
244         config/clipper/clipper.c, config/convex/convex.c, config/cris/cris.c,
245         config/d30v/d30v.c, config/dsp16xx/dsp16xx.c, config/elxsi/elxsi.c,
246         config/fr30/fr30.c, config/h8300/h8300.c, config/i370/i370.c,
247         config/i386/i386.c, config/i860/i860.c, config/i960/i960.c,
248         config/ia64/ia64.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
249         config/m68k/m68k.c, config/m88k/m88k.c, config/mips/mips.c,
250         config/mmix/mmix.c, config/mn10200/mn10200.c, config/mn10300/mn10300.c,
251         config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
252         config/sh/sh.c, config/sparc/sparc.c, config/stormy16/stormy16.c,
253         config/v850/v850.c, config/vax/vax.c, config/we32k/we32k.c
254         (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_HI_OP,
255         TARGET_ASM_ALIGNED_SI_OP, TARGET_ASM_ALIGNED_DI_OP,
256         TARGET_ASM_UNALIGNED_HI_OP, TARGET_ASM_UNALIGNED_SI_OP,
257         TARGET_ASM_UNALIGNED_DI_OP, TARGET_ASM_INTEGER): Redefine as
258         appropriate.
259         
260         * config/defaults.h, config/darwin.h, config/elfos.h, config/svr3.h,
261         config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
262         config/arc/arc.h, config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
263         config/clipper/clipper.h, config/convex/convex.h, config/cris/cris.h,
264         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
265         config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
266         config/i386/bsd.h, config/i386/djgpp.h, config/i386/i386.h,
267         config/i386/sco5.h, config/i386/sol2.h, config/i386/sun386.h,
268         config/i860/i860.h, config/i960/i960.h, config/ia64/ia64.h,
269         config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/auxas.h,
270         config/m68k/dpx2.h, config/m68k/hp320.h, config/m68k/m68k.h,
271         config/m68k/mot3300.h, config/m68k/sgs.h, config/m68k/tower-as.h,
272         config/m88k/m88k.h, config/mcore/mcore-elf.h, config/mcore/mcore.h,
273         config/mips/iris5.h, config/mips/iris6.h, config/mips/mips.h,
274         config/mmix/mmix.h, config/mn10200/mn10200.h, config/mn10300/mn10300.h
275         config/ns32k/encore.h, config/ns32k/ns32k.h, config/pa/pa-64.h,
276         config/pa/pa.h, config/pdp11/pdp11.h, config/pj/pj.h,
277         config/romp/romp.h, config/rs6000/linux64.h, config/rs6000/rs6000.h,
278         config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/linux.h,
279         config/sh/sh.h, config/sparc/linux64.h, config/sparc/sol2.h,
280         config/sparc/sp64-elf.h, config/sparc/sparc.h, config/sparc/sysv4.h,
281         config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
282         config/we32k/we32k.h (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_BYTE_OP,
283         ASM_BYTE, ASM_OUTPUT_SHORT, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT,
284         UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
285         UNALIGNED_DOUBLE_INT_ASM_OP): Undefine, where defined.
286
287 2001-12-17  Stan Shebs  <shebs@apple.com>
288
289         * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
290         (STACK_BOUNDARY): Remove definition.
291         (CPP_PREDEFINES): Define __POWERPC__.
292
293 2001-12-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
294
295         * doc/c-tree.texi (Trees): Only refer to GCC.
296
297 2001-12-17  Andreas Jaeger  <aj@suse.de>
298
299         * c-common.def: Fix typo in comment.
300
301 2001-12-16  David O'Brien  <obrien@FreeBSD.org>
302
303         * config.gcc (sparc64-*-freebsd*): Add target.
304         * config/sparc/freebsd.h: New file.
305         * config/sparc/sparc.h (LIB_SPEC, LINK_SPEC): Don't define.
306         * config/sparc/sunos4.h (LIB_SPEC, LINK_SPEC): Define.
307         * config/sparc/sysv4.h (CPP_PREDEFINES): Undefine before defining.
308
309 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
310
311         * config/rs6000/rs6000.c (rs6000_legitimize_address): Force both
312         PLUS operands into registers for altivec mode.
313
314 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
315
316         * builtins.c (apply_args_size): Change regno to unsigned.
317
318 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
319
320         * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): Change
321         ALTIVEC_ARG_MAX_REG to ALTIVEC_ARG_NUM_REG.
322
323 2001-12-16  Zack Weinberg  <zack@codesourcery.com>
324
325         * c-typeck.c (error_init, pedwarn_init, warning_init): Call
326         gettext on argument before printing.
327
328         * fold-const.c (negate_expr): Always call fold on new
329         NEGATE_EXPR.
330
331 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
332
333         * c-common.def (COMPOUND_LITERAL_EXPR): Contain a DECL_STMT, not
334         a DECL directly.
335         * c-common.h (COMPOUND_LITERAL_EXPR_DECL_STMT): New.
336         (COMPOUND_LITERAL_EXPR_DECL): Adjust definition.
337         * c-decl.c (build_compound_literal): Put the decl inside a
338         DECL_STMT.
339         * doc/c-tree.texi (COMPOUND_LITERAL_EXPR): Update documentation.
340         Fixes PR c/5105.
341
342 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
343
344         * config.gcc: Add powerpc-*-eabisimaltivec*.
345
346 2001-12-16  Neil Booth  <neil@daikokuya.demon.co.uk>
347
348         * c-common.c, c-common.h (back_end_hook): Remove.
349         * c-lang.c (finish_file): Remove back_end_hook.
350
351 Sun Dec 16 13:13:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
352
353         * expr.c (highest_pow2_factor, case INTEGER_CST): Fix error in
354         last change.
355
356 2001-12-16  Richard Henderson  <rth@redhat.com>
357
358         * toplev.c (parse_options_and_default_flags): Don't enable
359         flag_cprop_registers at -O1.
360
361 2001-12-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
362
363         * avr.c (avr_simplify_comparision_p, adjust_insn_length,
364         mask_one_bit_p, output_reload_insisf): Don't use the 'U' suffix.
365         * avr.h (reg_class): Likewise.
366         * avr.md: Likewise.
367         * mcore.c (try_constant_tricks, mcore_byte_offset,
368         mcore_halfword_offset): Likewise.
369         * sh.c (shl_sext_kind, gen_block_redirect, split_branches): Likewise.
370         * v850.c (not_power_of_two_operand): Likewise.
371
372         * clipper/clix.h (ASM_OUTPUT_ASCII): Avoid signed/unsigned
373         warnings.
374         * convex.h (ASM_OUTPUT_ASCII): Likewise.
375         * i370.h (ASM_OUTPUT_ASCII): Likewise.
376         * i386/att.h (ASM_OUTPUT_ASCII): Likewise.
377         * i386/i386-interix.h (ASM_OUTPUT_ASCII): Likewise.
378         * i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise.
379         * i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise.
380         * i386/sco5.h (ASM_OUTPUT_ASCII): Likewise.
381         * i386/sun386.h (ASM_OUTPUT_ASCII): Likewise.
382         * i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise.
383         * i860/bsd.h (ASM_OUTPUT_ASCII): Likewise.
384         * m68k/3b1.h (ASM_OUTPUT_ASCII): Likewise.
385         * m68k/amix.h (ASM_OUTPUT_ASCII): Likewise.
386         * m68k/atari.h (ASM_OUTPUT_ASCII): Likewise.
387         * m68k/crds.h (ASM_OUTPUT_ASCII): Likewise.
388         * m68k/hp320.h (ASM_OUTPUT_ASCII): Likewise.
389         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
390         * m68k/mot3300.h (ASM_OUTPUT_ASCII): Likewise.
391         * m68k/sgs.h (ASM_OUTPUT_ASCII): Likewise.
392         * m68k/tower-as.h (ASM_OUTPUT_ASCII): Likewise.
393         * mips/bsd-5.h (ASM_OUTPUT_ASCII): Likewise.
394         * mips/mips-5.h (ASM_OUTPUT_ASCII): Likewise.
395         * mips/svr3-5.h (ASM_OUTPUT_ASCII): Likewise.
396         * mips/svr4-5.h (ASM_OUTPUT_ASCII): Likewise.
397         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
398         * vax/vaxv.h (ASM_OUTPUT_ASCII): Likewise.
399         * we32k/we32k.h (ASM_OUTPUT_ASCII): Likewise.
400
401         * i386/uwin.h (MD_STARTFILE_PREFIX): Avoid redefinition warnings.
402         * interix.h (TARGET_MEM_FUNCTIONS): Likewise.
403         * psos.h (CPP_PREDEFINES): Likewise.
404         * rs6000/linux64.h (ROUND_TYPE_ALIGN): Likewise.
405         * rs6000/xcoff.h (RS6000_MCOUNT, RS6000_ITRUNC, RS6000_UITRUNC,
406         ASM_OUTPUT_EXTERNAL): Likewise.
407         * sparc/liteelf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
408         Likewise.
409         * sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): Likewise.
410         * sparc/sp86x-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
411         Likewise.
412         * sparc/sunos4.h (SUNOS4_SHARED_LIBRARIES): Likewise.
413
414         * c-lex.c (lex_number): Use ISXDIGIT/hex_value.
415         * vax/xm-vms.h (FILE_NAME_NONDIRECTORY): Use ISUPPER/TOLOWER.
416         * fold-const.c (real_hex_to_f): Use hex_value.
417         * real.c (asctoeg): Use hex_value & ISXDIGIT.
418         * toplev.c (toplev_main): Call hex_init.
419         * tradcpp.c (main): Call hex_init.
420
421         * nextstep-protos.h: New file.
422         * nextstep.c: Include "rtl.h", "output.h" & "tm_p.h".
423         * nextstep.h (INCLUDE_DEFAULTS): Delete LOCAL_INCLUDE_DIR and
424         STANDARD_INCLUDE_DIR from the CROSS_COMPILE clause.
425         (nextstep_asm_out_constructor, nextstep_asm_out_destructor,
426         handle_pragma): Move prototypes to nextstep-protos.h.
427         * config.gcc (i[34567]86-next-*, m68k-next-nextstep2*,
428         m68k-next-nextstep[34]*): Append nextstep-protos.h to tm_p_file.
429
430 2001-12-16  Craig Rodrigues  <rodrigc@gcc.gnu.org>
431
432         PR other/3725
433         * configure.in: Add AC_SUBST(target_alias).
434         * configure: Regenerated.
435
436 2001-12-15  Richard Henderson  <rth@redhat.com>
437
438         * config/alpha/alpha.md (sibcall_osf_1_er): New.
439         (sibcall_value_osf_1_er): New.
440
441 2001-12-15  Dan Nicolaescu  <dann@ics.uci.edu>
442
443         * config/sparc/sparc.c (mems_ok_for_ldd_peep): Rename from
444         addrs_ok_for_ldd_peep_withmem; take MEMs as parameters, not
445         addrs; eliminate restriction of only using fp and sp as base
446         registers.
447         * config/sparc/sparc-protos.h: Update.
448         * config/sparc/sparc.md (movdi): Use TARGET_V9 not TARGET_ARCH64.
449         (*cmp_cc_set, *cmp_ccx_set64, *movdi_zero): New insns derived
450         from old define_peepholes.
451         Convert all the ldd/std peepholes to peephole2.
452
453 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
454
455         * s390.md (prologue, epilogue, *return_si, *return_di): New.
456         s390.c (find_unused_clobbered_reg, s390_frame_info,
457         save_fpr, restore_fpr, s390_emit_prologue, s390_emit_epilogue): New.
458         s390-protos.h (s390_emit_prologue, s390_emit_epilogue): Declare.
459         s390.c (s390_arg_frame_offset): Use s390_frame_info.
460         (leaf_function_flag, cur_is_leaf_function,
461         save_fprs, restore_fprs, force_const_mem_late): Remove.
462         (s390_function_prologue, s390_function_epilogue): Mostly remove.
463         s390.md (lit): New.  Uses ...
464         s390.c (s390_output_constant_pool): ... this, so adapt and make global.
465         s390-protos.h (s390_output_constant_pool): Declare.
466         s390.md (load_multiple, store_multiple): Allow use after reload.
467         s390.c (load_multiple_operation, store_multiple_operation): Likewise.
468         s390.h (INCOMING_FRAME_SP_OFFSET): Define.
469         s390.h (CALL_REALLY_USED_REGISTERS): Define.
470         config/s390/linux64.h (CALL_USED_REGISTERS): Remove, now handled ...
471         s390.h (CONDITIONAL_REGISTER_USAGE): ... here.
472         s390.c (s390_sr_alias_set): New global variable, initialized ...
473         (override_options): ... here.  New.
474         s390-protos.h (override_options): Declare.
475         s390.h (OVERRIDE_OPTIONS): Call it.
476         s390.c (s390_function_profiler): New.
477         s390-protos.h (s390_function_profiler): Declare.
478         s390.h (FUNCTION_PROFILER): Call it.
479         s390.c (s390_profile): Remove.
480
481         * s390.c (reg_used_in_mem_p): PC reload counts as memory access.
482         (addr_generation_dependency_p): Consider literal pool register loads.
483         (s390_adjust_priority): Do not schedule load_multiple.
484         s390.md (attribute "type"): Define some additional types.
485         (function_unit "integer"): Adapt.
486         (many insns): Adapt "type" attribute setting.
487
488         * s390.c (general_s_operand, s_imm_operand): New.
489         (s_operand): Remove old definition, call general_s_operand instead.
490         s390-protos.h (s_imm_operand): Declare.
491         s390.c (base_n_index_p, r_or_s_operand, r_or_s_or_im8_operand,
492         r_or_x_or_im16_operand, r_or_im8_operand): Remove.
493         s390-protos.h (r_or_s_operand, r_or_s_or_im8_operand,
494         r_or_x_or_im16_operand, r_or_im8_operand): Likewise.
495         s390.h (PREDICATE_CODES): Add s_imm_operand, remove r_or_s*_operand.
496         s390.md (many insns): Rework insn predicates.
497
498         * s390.c (legitimate_pic_operand_p, legitimate_constant_p): Accept all
499         non-symbolic constants.  Reload will force them because of ...
500         (s390_preferred_reload_class): ... this.  New.
501         s390-protos.h (s390_preferred_reload_class): Declare.
502         s390.h (PREFERRED_RELOAD_CLASS): Call it.
503         s390.md (movdi, movsi, movdf, movsf, *reload_la_64 splitters,
504         *reload_la_31 splitters): Handle constants after reload.
505         (many insns): no longer force all constants immediately.
506         s390.c (legitimate_reload_constant_p): New helper routine.
507         s390-protos.h (legitimate_reload_constant_p): Declare.
508         s390.c (print_operand): Clean up CONST_INT case, add CONST_DOUBLE case.
509
510         * s390.h (FIRST_PSEUDO_REGISTER, FRAME_POINTER_REGNUM,
511         HARD_FRAME_POINTER_REGNUM, REGISTER_NAMES): Add virtual frame pointer.
512         (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Update.
513         (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Likewise.
514         (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_NONSTRICT_P): Likewise.
515         (DWARF_FRAME_REGISTERS): Define.
516         s390.c (regclass_map): Add virtual frame pointer.
517         (legitimate_la_operand_p): Allow use of virtual frame pointer.
518         s390.md (*la_ccclobber, *addaddr_ccclobber): New.
519         (addaddr, addsi_64): Delete.
520
521         * s390.h (HARD_REGNO_MODE_OK): Allow SImode and DImode values in
522         floating point registers.
523         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Define.
524         (ADDR_FP_REGS, GENERAL_FP_REGS): New register classes.
525         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
526
527         * s390.md (movti): Replace multi-insn output with splitters.
528         (movdi_31, movdf_31): Likewise.
529         (movti_ss, movdi_ss, movsi_ss, movdf_ss, movsf_ss): New.
530         (movdi_lhi, movdi_lli, movdi_larl, movsi_lhi, movsi_lli): New.
531         (movdi_64, movdi_31, movsi, movdf_64, movdf_31): Adapt.
532         (movdf_soft_64, movdf_soft_31, movsf_soft): Remove.
533         (movsf_64, movsf_31): Remove, replace by ...
534         (movsf): ... this.
535         (movqi_64): Use lhi instead of llill.
536         (*movstrictqi, *movstricthi): Don't use (strict_low_part (mem)).
537
538         * s390.md (extendsidi2, *extendsidi2, extendhidi2, *extendhidi2,
539         extendqidi2, extendhisi2, *extendhisi2, extendqisi2,
540         extendqihi2 and associated splitters): Reworked.
541         (zero_extendsidi2, zero_extendsidi2, *zero_extendsidi2,
542         zero_extendhidi2, *zero_extendhidi2, zero_extendqidi2,
543         zero_extendqidi2, *zero_extendqidi2, zero_extendhisi2,
544         *zero_extendhisi2_64, zero_extendhisi2_31, zero_extendqisi2,
545         *zero_extendqisi2_64, *zero_extendqisi2_mem_31,
546         zero_extendqisi2_reg_31, zero_extendqihi2, *zero_extendqisi2_64,
547         zero_extendqihi2, zero_extendqihi2_64, zero_extendqihi2_31,
548         and associated splitters): Likewise.
549         (*sethighqisi, *sethighhisi, *sethighqidi_64, *sethighqidi_31
550         and associated splitters): New.
551         (truncdisi2, truncdihi2, truncdiqi2, truncsihi2, do_truncsihi2,
552         *truncsihi2_64, truncsiqi2, trunchiqi2): Remove.
553         (ashlhi3, ashrhi3, lshrhi3, abshi3): Remove.
554         s390.h (PROMOTE_PROTOTYPES): Remove.
555         config/s390/linux64.h (PROMOTE_PROTOTYPES): Likewise.
556
557         * s390.md (muldi3): Delete, use instead ...
558         (mulsidi3): ... this.
559         (*muldi3_64): Rename to muldi3.
560         (mulsi_6432): Fix template.
561         (divdi3, moddi3): Delete, replace by ...
562         (divmoddi4): ... this.
563         (divmodtidi3): Fix template.
564         (divmodtisi3): New.
565         (udivdi3, umoddi3): Delete, replace by ...
566         (udivmoddi4): ... this.
567         (udivmodtidi3): Fix template.
568         (divsi3, modsi3): Delete, replace by ...
569         (divmodsi4): ... this.
570         (divmoddisi3): Fix template.
571         (udivsi3, umodsi3): Adapt.
572
573         * s390.md (anddi3): Remove SS alternative, use instead ...
574         (anddi3_ss, anddi3_ss_inv): ... these.
575         (anddi3_ni): New.
576         (andsi3*, andhi3*, andqi3*): Likewise.
577         (iordi3): Remove SS alternative, use instead ...
578         (iordi3_ss, iordi3_ss_inv): ... these.
579         (iordi3_oi): New.
580         (iorsi3*, iorhi3*, iorqi3*): Likewise.
581         (iordi3_cc, iordi3_cconly, iorsi3_cc, iorsi3_cconly): New.
582         (xordi3): Remove SS alternative, use instead ...
583         (xordi3_ss, xordi3_ss_inv): ... these.
584         (xordi3_oi): New.
585         (xorsi3*, xorhi3*, xorqi3*): Likewise.
586         (xordi3_cc, xordi3_cconly, xorsi3_cc, xorsi3_cconly): New.
587         (one_cmpldi2, one_cmplsi2, one_cmplhi2, one_cmplqi2):
588         Expand to XOR with -1.
589         (*one_cmpldi2, *one_cmplsi2, *one_cmplhi2): Remove.
590         (cmpdi_tm): Delete, replace by ...
591         (cmpdi_tm_reg, cmpdi_tm_mem): ... these.
592         (cmpsi_cct): Delete, replace by ...
593         (cmpsi_tm_reg, cmpsi_tm_mem): ... these.
594         (cmpdi_tm2, cmpsi_tm2): Improve.
595         (cmphi_tm_sub, cmpqi_tm_sub, cmpqi_tm2, cmpqi_tm): New.
596         s390.c (s390_single_hi, s390_extract_hi,
597         s390_single_qi, s390_extract_qi): New helper routines.
598         s390-protos.h (s390_single_hi, s390_extract_hi,
599         s390_single_qi, s390_extract_qi): Declare.
600         s390.c (tmxx_operand, const1_operand): Remove.
601         s390-protos.h (tmxx_operand, const1_operand): Likewise.
602         s390.h (PREDICATE_CODES): Likewise.
603
604         * s390.md (sqrtdf2, sqrtsf2): New.
605
606         * s390.h (CRT_CALL_STATIC_FUNCTION): Define.
607         (check_and_change_labels): Remove section-change special case.
608
609         * s390.h (RETURN_ADDR_RTX): Fix use of __builtin_return_address
610         in leaf functions.  Needs ...
611         (DYNAMIC_CHAIN_RTX):  ... this.  New.
612
613         * s390.c (emit_pic_move): Don't generate pseudos if no_new_pseudos.
614
615         * s390.md (movstrdix_64, movstrsix_31, movstrdi_64, movstrsi_31,
616         clrstrsi_64, clrstrsi_31, cmpstr_64, cmpstr_31): Do not clobber
617         input operands using a match_dup clause.
618         (movstrdi, movstrsi, clrstrdi, clrstrsi, cmpstrdi, cmpstrsi): Adapt.
619
620         * s390.md (floatdidf2, floatdisf2, floatsidf2, floatsidf2_ieee,
621         floatsisf2, floatsisf2_ieee): Add missing CC clobber.
622
623         * s390.md (floatsidf2_ibm): Use correct operand.
624
625         * s390.md (fixuns_truncdfdi2, fixuns_truncdfsi2, fix_truncdfsi2,
626         fixuns_truncsfdi2, fixuns_truncsfsi2, floatsidf2): Remove use of
627         non-portable constants.
628         s390.c (s390_gen_rtx_const_DI): New helper routine.
629         s390-protos.h (s390_gen_rtx_const_DI): Declare.
630
631         * s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Fix alignment.
632
633         * config/s390/linux.h (ASM_OUTPUT_SHORT, ASM_OUTPUT_CHAR,
634         ASM_OUTPUT_BYTE): Clean up assembly output.
635         (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGN): Remove duplicate definitions.
636         (ASM_OUTPUT_ASCII): Remove.
637
638         * config/s390/t-linux (CRTSTUFF_T_CFLAGS_S): Define.
639
640 2001-12-15  Zack Weinberg  <zack@codesourcery.com>
641
642         * unwind-dw2-fde-glibc.c: #define _Unwind_Find_FDE to itself
643         before including unwind-dw2-fde.c, if we are not using the
644         special code in this file.
645
646 2001-12-15  Richard Henderson  <rth@redhat.com>
647
648         * config/alpha/alpha.h (TARGET_SWITCHES): Turn on
649         MASK_EXPLICIT_RELOCS if the assembler supports it.
650         * configure.in (HAVE_AS_EXPLICIT_RELOCS): New.
651         * configure, config.in: Rebuild.
652
653 Sat Dec 15 17:53:03 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
654
655         * calls.c (emit_call_1): If ECF_SP_DEPRESSED, pretend have adjusted
656         for rounded_stack_size.
657
658 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
659
660         * c-typeck.c, config/i386/i386.h, config/mcore/mcore.h,
661         config/ns32k/ns32k.h, config/rs6000/sysv4.h, fold-const.c,
662         toplev.c, cppinit.c, cppmacro.c, gcc.c: Use "built-in" and
663         "bit-field" spellings in messages.
664         * po/gcc.pot: Regenerate.
665
666 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
667
668         * gcc.c, config/fr30/fr30.c, config/v850/v850-c.c, toplev.c: Use
669         American spelling in messages.
670         * po/gcc.pot: Regenerate.
671
672 2001-12-15  Kazu Hirata  <kazu@hxi.com>
673
674         * config/h8300/h8300.md: Adjust whitespacing.  Remove
675         constraints from expanders.  Replace \@ with @.
676
677 2001-12-15  Richard Earnshaw  <rearnsha@arm.com>
678
679         * arm/unknown-elf.h (CPP_PREDEFINES): Add a suitable default.
680
681 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
682
683         * regrename.c (copyprop_hardreg_forward): Do not keep register
684         value data live across abnormal call or eh egdes.
685
686 Sat Dec 15 08:29:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
687
688         * expr.c (highest_pow2_factor, case INTEGER_CST): Return
689         BIGGEST_ALIGNMENT for 0.
690
691 Sat Dec 15 14:13:03 CET 2001  Jan Hubicka  <jh@suse.cz>
692
693         * predict.def (PRED_NORETURN): Make probabilities match reality.
694         (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL, PRED_ERROR_RETURN):
695         Likewise.
696
697 2001-12-15  Jakub Jelinek  <jakub@redhat.com>
698
699         * configure.in: Check for ld.
700         (HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
701         * configure, config.in: Rebuilt.
702         * config.gcc: Add crtbeginT.o to extra_parts where needed.
703         * config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
704         frame unwinding on Linux.
705         * config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
706         frame unwinding.
707         * config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
708         (LINK_EH_SPEC): Define.
709         * config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
710         * config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
711         * config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
712         iterate further if pc falls into current library, but fde was not
713         found.
714         * config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
715         if using glibc.
716         (LINK_EH_SPEC): Define.
717         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
718         Use crtbeginT.o for -static.
719         (LINK_EH_SPEC): Define.
720         * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
721         * Makefile.in (crtbeginT.o): Add rule.
722         * gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
723         If neither -static-libgcc nor -shared-libgcc is passed and -shared,
724         use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
725         If none of the above switches are passed, use -lgcc -lgcc_eh.
726         (init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
727         * mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
728         creating libgcc_s.so, put them into separate libgcc_eh.a instead.
729         * unwind-dw2-fde.c: Don't include any headers if this file
730         is included from other .c file.
731         * unwind-dw2-fde-glibc.c: New file.
732         * crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
733         Use it instead of EH_FRAME_SECTION_NAME where appropriate.
734
735 2001-12-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
736
737         * builtins.c (expand_builtin_memcmp): Mark parameter with
738         ATTRIBUTE_UNUSED.
739         * cfgcleanup.c (insns_match_p): Likewise.
740         * regrename.c (mode_change_ok): Likewise.
741         * gcc.c (execute): Const-ify.
742
743 2001-12-14  Aldy Hernandez  <aldyh@redhat.com>
744
745         * c-parse.in (typename): Do not split attributes.
746         Remove unsupported attributes warning.
747
748         * c-decl.c (groktypename): Apply attributes.
749
750 2001-12-14  Richard Henderson  <rth@redhat.com>
751
752         * config/ia64/ia64.c (spill_restore_mem): Mark iterator
753         initialization as possibly dead.
754
755 2001-12-14  Richard Henderson  <rth@redhat.com>
756
757         * regrename.c (mode_change_ok): New.
758         (find_oldest_value_reg): Use it.
759
760 2001-12-14  Richard Henderson  <rth@redhat.com>
761
762         * regrename.c (struct value_data): Add max_value_regs.
763         (init_value_data): Initialize it.
764         (kill_value): Kill values that overlap the dying register.
765         (set_value_regno): New.
766         (kill_set_value, kill_autoinc_value, copy_value): Use it.
767         (copyprop_hardreg_forward_1): Kill earlyclobber operands
768         before looking at inputs.
769
770 2001-12-14  David Edelsohn  <edelsohn@gnu.org>
771
772         * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Handle
773         DECL_WEAK for function descriptors.
774         * config/rs6000/xcoff.h (HANDLE_PRAGMA_WEAK): Define if assembler
775         weak support present.
776         (ASM_WEAKEN_LABEL): Same.
777
778 2001-12-14  Kazu Hirata  <kazu@hxi.com>
779
780         * config/h8300/h8300.md (anonymous pattern): Add a missing
781         mode.
782
783 2001-12-14  Kazu Hirata  <kazu@hxi.com>
784
785         * config/h8300/h8300.c (h8300_adjust_insn_length): Fix a
786         comment typo.
787
788 2001-12-14  Kazu Hirata  <kazu@hxi.com>
789
790         * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
791         Remove the initialization requierment.
792         (h8300_handle_tiny_data_attribute): Likewise.
793
794 2001-12-14  Kazu Hirata  <kazu@hxi.com>
795
796         * config/h8300/h8300.md (udivqi3): Remove.
797         (divqi3): Likewise.
798         (udivhi3): Likewise.
799         (divhi3): Likewise.
800         (umodqi3): Likewise.
801         (modqi3): Likewise.
802         (umodhi3): Likewise.
803         (modhi3): Likewise.
804         (udivmodqi3): New.
805         (divmodqi3): Likewise.
806         (udivmodhi3): Likewise.
807         (divmodhi3): Likewise.
808
809 Sat Dec 15 01:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
810
811         * cfgcleanup.c (flow_find_cross_jump): Replace tests for note
812         by active_insn_p; count conditional jump as instruction.
813
814 2001-12-14  DJ Delorie  <dj@redhat.com>
815             Danny Smith  <dannysmith@users.sourceforge.net>
816
817         * config/i386/cygwin.h (I386_PE_STRIP_ENCODING): Handle '*'
818         at SYM_NAME[0] or SYM_NAME[3].
819         (STRIP_NAME_ENCODING): Don't check for leading '*'.
820
821 2001-12-14  Ira Ruben   <ira@apple.com>
822
823         Add -### option (displays driver-generated commands without
824         executing and quotes all arguments).
825         * doc/invoke.texi: Add -###.
826         * gcc.c (verbose_only_flag) - New flag.
827         * (execute): If -### write quoted arguments and return.
828         * (display_help): Print meaning of -###.
829         * (process_command): Handle -###.
830
831 2001-12-14  Ira Ruben   <ira@apple.com>
832
833         Fix to no allow -save-temps to clobber user's source file.
834         * gcc.c: Add static globals input_stat and input_stat_set.
835         (do_spec_1): For 'g', 'u', 'U' case with save_temps_flag
836         set, check that user's input file is not overwritten.
837         (set_input): Reset input_stat_set for each new file.
838
839 Fri Dec 14 22:14:44 CET 2001  Jan Hubicka  <jh@suse.cz>
840
841         * predict.c (estimate_probability): Fix LOOP_EXIT heuristic.
842
843 2001-12-14  Zack Weinberg  <zack@codesourcery.com>
844
845         * combine.c (record_dead_and_set_regs): Use
846         regs_invalidated_by_call.  Don't note stores for CALL_INSNs.
847
848 2001-12-14  Roger Sayle <roger@eyesopen.com>
849
850         * builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and
851         __builtin_fsqrt to __builtin_sqrt.
852
853         * builtins.c (expand_builtin_mathfn,expand_builtin): Same.
854         * doc/extend.texi: Simplify documentation to match patch.
855
856 Fri Dec 14 21:23:54 CET 2001  Jan Hubicka  <jh@suse.cz>
857
858         * config.gcc: Revamp target_cpu_default2 to strings;
859         support new x86 variants.
860         * i386.c (override_options): Default x86_cpu_string and x86_arch_string
861         properly; set prefetch_sse.
862         * i386.h (x86_prefetch_sse): Declare.
863         (TARGET_PREFETCH_SSE): New.
864         (CPP_CPU_DEFAULT_SPEC): Define according to the new macros.
865         (TARGET_CPU_DEFAULT_*): New.
866
867 Thu Dec 13 21:57:13 CET 2001  Janis Johnson <janis187@us.ibm.com>
868                               Jan Hubicka  <jh@suse.cz>
869
870         * config/i386/i386.h (struct processor_costs): Add new members
871           prefetch_block and simultaneous_prefetches.
872           (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): New.
873         * config/i386/i386.c (processor_costs structs): Add values for
874           prefetch_block and simultaneous_prefetches.
875         * config/i386/i386.md (unspec values): Remove values for prefetch
876           operations, which now use the PREFETCH rtx code.
877           (prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new
878           unified prefetch support.
879
880 2001-12-14  Jason Merrill  <jason@redhat.com>
881
882         * diagnostic.c (sorry): Increment sorrycount before saving the
883         buffer state.
884
885 Fri Dec 14 19:53:23 CET 2001  Jan Hubicka  <jh@suse.cz>
886
887         * i386.md (sqrt?f): Fix conditionals.
888
889 Fri Dec 14 07:29:52 2001  Douglas B. Rupp  <rupp@gnat.com>
890
891         * config.gcc (alpha64-dec-*vms*): New case.
892         * config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files.
893         * config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise.
894         * config/alpha/xm-vms64.h: Likewise.
895
896         * config/alpha/alpha.c (vms_attribute_table): Add new attributes.
897         (alpha_write_linkage): Test for null alpha_links.
898         (SECTION_VMS_GLOBAL, SECTION_VMS_INITIALIZE): New section attributes.
899         (vms_section_type_flags, vms_asm_named_section): Handle them.
900
901 Fri Dec 14 12:05:14 CET 2001  Jan Hubicka  <jh@suse.cz>
902
903         * i386.c (ix86_fpmath, ix86_fpmath_string): New.
904         (override_option): Set ix86_fpmath.
905         * i386.h (MASK_MIX_SSE_I387): Remove.
906         (TARGET_SSE_MATH): New.
907         (TARGET_MIX_SSE_I387): Use ix86_fpmath.
908         (TARGET_SWITCHES): Remove "mix-sse-i387".
909         (fpmath_unit): New enum.
910         (ix86_fpmath, ix86_fpmath_string): Declare.
911         * i386.md (swapsf): Fix condition.
912         (add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH.
913         (fp_?f_*_nosse): New.
914         (fp_*): Use TARGET_SSE_MATH.
915         * invoke.texi (-mfpmath): Document.
916         (-msse2): Add.
917
918 2001-12-14  Jason Merrill  <jason@redhat.com>
919
920         * dwarf2out.c (output_die): Print the string in the comment for
921         a DW_FORM_strp.
922
923 2001-12-14  Richard Earnshaw  <rearnsha@arm.com>
924
925         * netbsd.h (COLLECT_SHARED_INIT_FUNC)
926         (COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon.
927         * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
928         (COLLECT_SHARD_FINI_FUNC): Use @code where appropriate.
929
930 2001-12-13  Richard Henderson  <rth@redhat.com>
931
932         * regrename.c (kill_value_regno): Simplify chain removal.
933         (kill_value): Kill all of HARD_REGNO_NREGS.
934         (kill_set_value): Use kill_value not kill_value_regno.
935         (kill_autoinc_value): Likewise.
936         (copyprop_hardreg_forward): Don't collect refresh_blocks.
937         Call delete_noop_moves.
938
939 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
940
941         * attribs.c (c_common_attribute_table): Swap decl_req and type_req
942         for the mode attribute.
943         (handle_mode_attribute): Handle types, not decls.
944
945 2001-12-13  Jason Merrill  <jason@redhat.com>
946
947         * c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
948
949 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
950
951         * config/rs6000/rs6000.md (eh_set_lr_di): Change scratch
952         constraint to base register.
953         (eh_set_lr_si): Same.
954
955 2001-12-13  Hans-Peter Nilsson  <hp@axis.com>
956
957         * expr.c (expand_expr, case ADDR_EXPR): Don't honor
958         flag_force_addr for modifier != EXPAND_CONST_ADDRESS,
959         modifier != EXPAND_INITIALIZER and modifier != EXPAND_SUM.
960
961 Thu Dec 13 20:30:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
962
963         * expr.c (copy_blkmode_from_reg): Add missing braces to eliminate
964         warning and reformat comments.
965         (expand_assignment): Don't pass EXPAND_WRITE if LHS is component.
966         (highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT
967         if overflow.
968
969 2001-12-12  Aldy Hernandez  <aldyh@redhat.com>
970
971         * config/rs6000/rs6000.c (rs6000_override_options): Add
972         SUBSUBTARGET_OVERRIDE_OPTIONS.
973
974         * config/rs6000/eabialtivec.h: New file.
975
976         * config/rs6000/linuxaltivec.h: New file.
977
978         * config.gcc: Add powerpc-*-eabialtivec and
979         powerpc-*-linux-gnualtivec.
980
981 2001-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
982
983         * toplev.c (process_options, parse_options_and_default_flags):
984         Set flag_no_inline before the post_options hook.
985
986 2001-12-13  Richard Henderson  <rth@redhat.com>
987
988         * emit-rtl.c (adjust_address_1): Don't adjust address if adjust
989         is false.
990
991 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
992
993         * collect2.c (COLLECT_SHARED_INIT_FUNC)
994         (COLLECT_SHARD_FINI_FUNC): Define default values.
995         (write_c_file_stat): Use them to call construtor and destructor
996         functions in shared libraries.
997         * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
998         (COLLECT_SHARD_FINI_FUNC): Document them.
999         * config/netbsd.h (COLLECT_SHARED_INIT_FUNC)
1000         (COLLECT_SHARD_FINI_FUNC): Define.
1001
1002         * config/netbsd.h (LINK_SPEC): Don't pull in estart if creating a
1003         shared library.  Pass -shared through to the linker.
1004         * config/arm/netbsd.h (LINK_SPEC): Likewise.
1005
1006         * config/arm/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -fpic.
1007         (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME, SHLIB_OBJS, SHLIB_LINK)
1008         (SHLIB_INSTALL): Define.
1009
1010 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
1011
1012         * arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially
1013         the same way as we handle SYMBOL_REFS.
1014
1015 Thu Dec 13 07:47:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1016
1017         * loop.c (remove_constant_addition): Fix prototype and whitespace.
1018         (emit_prefetch_instructions): Remove warnings and whitespace
1019         changes.
1020
1021 Thu Dec 13 06:48:38 2001  Douglas B. Rupp  <rupp@gnat.com>
1022
1023         * config/alpha/vms-cc.c (preprocess_args): Fix forward
1024         declaration.
1025
1026 Thu Dec 13 12:31:07 CET 2001  Jan Hubicka  <jh@suse.cz>
1027
1028         * predict.c (estimate_probability): Reorganize opcode heuristics.
1029         * predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL,
1030         PRED_FPOPCODE): New.
1031
1032         * i386.c (override_options): Recognize various CPU variants and set
1033         SSE/MMX/3dNOW flags accordingly.
1034         * i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET,
1035         MASK_3DNOW_A_SET): New.
1036         (MASK_ACCUMULATE_OUTGOING_ARGS_SET): New.
1037         (MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete.
1038         (MASK_*): Renumber.
1039         (TARGET_FLAGS): Use new masks.
1040         (CPP_CPU_SPECS): Recognize new CPU variants.
1041         * invoke.texi (-mcpu): Update documentation.
1042
1043         * flags.h (flag_prefetch_loop_arrays): Declare.
1044         * loop.h (LOOP_PREFETCH): Define new constant.
1045         * loop.c (strength_reduce): Call emit_prefetch_instructions.
1046         (MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX,
1047         PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New
1048         constants.
1049         (check_store_data): New structure.
1050         (check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p):
1051         New functions.
1052         * toplev.c: Include insn-flags.h.
1053         (flag_prefetch_loop_arrays): New global variable.
1054         (lang_independent_option): Add -fprefetch-loop-arrays.
1055         (rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays
1056         is set.
1057         * Makefile.in (toplev.c): Depend on insn-flags.h.
1058         * invoke.texi (-fprefetch-loop-arrays): Document.
1059
1060         * predict.c (estimate_probability): Distribute the loop exit
1061         probability according to number of exit edges.
1062
1063         * cfgcleanup.c (insns_match_p): Break out from ...;
1064         (flow_find_cross_jump): ... here;
1065         (outgoing_edges_match): Add parameter MODE; attempt to match everything
1066         except for tablejumps.
1067         (try_crossjump_to_edge): Accept complex edges.
1068         (try_crossjump_bb): Likewise.
1069
1070 2001-11-29  Corey Minyard <minyard@acm.org>
1071
1072         * recog.c (validate_replace_rtx_1): Use simplify_gen_binary
1073         instead of plus_constant.
1074         * simplify-rtx.c (neg_const_int): New.
1075         (simplify_gen_binary, simplify_plus_minus): Use it.
1076
1077 2001-12-12  Roger Sayle  <roger@eyesopen.com>
1078
1079         * builtins.c (expand_builtin_memset, expand_builtin_memcpy,
1080         expand_builtin_strcpy): Additional arguments TARGET and MODE.
1081         (expand_builtin_bzero, expand_builtin_strcpy,
1082         expand_builtin_strncpy, expand_builtin_bzero): Pass additional
1083         TARGET and MODE parameters to the above functions.
1084         (expand_builtin_memset, expand_builtin_memcpy): Optimize the
1085         case where the LEN parameter is constant zero.
1086         (expand_builtin_memcmp): No longer conditional on
1087         HAVE_cmpstrsi.  Take an additional mode parameter.  Optimize
1088         the cases where len is either constant zero or one.
1089         Optimize to call to memcpy, even if the memcpy isn't inlined.
1090         (expand_builtin_strncpy): Optimize to call memcpy, even if the
1091         memcpy isn't inlined.
1092         (expand_builtin_strcmp, expand_builtin_strncmp): Always attempt
1093         to optimize to a call to memcmp.
1094         (expand_builtin): expand_builtin_memcmp can always be called,
1095         and pass the required parameters to expand_builtin_memcmp,
1096         expand_builtin_memset, expand_builtin_memcpy and
1097         expand_builtin_strcpy.
1098
1099 2001-12-12  David O'Brien  <obrien@FreeBSD.org>
1100
1101         * config.gcc (arm-*-freebsd*): Add target.
1102         * config/arm/freebsd.h: New file.
1103         * config/arm/arm.h (CPP_PREDEFINES): Do not define.
1104         (CPP_SPEC): #undef before defining.
1105         (CPP_CPU_ARCH_SPEC): Add -Acpu=arm -Amachine=arm.
1106         * config/arm/conix-elf.h (CPP_PREDEFINES): Remove -Acpu=arm
1107         -Amachine=arm.
1108         * config/arm/linux-elf.h: Likewise.
1109         * config/arm/netbsd.h: Likewise.
1110         * config/arm/riscix.h: Likewise.
1111         * config/arm/riscix1-1.h: Likewise.
1112         * config/arm/semiaof.h: Likewise.
1113
1114 2001-12-12  Richard Henderson  <rth@redhat.com>
1115
1116         * regrename.c (copyprop_hardreg_forward): New optimization.
1117         (kill_value_regno, kill_value, init_value_data, kill_clobbered_value,
1118         kill_set_value, kill_autoinc_value, copy_value, find_oldest_value_reg,
1119         replace_oldest_value_reg, replace_oldest_value_addr,
1120         replace_oldest_value_mem, copyprop_hardreg_forward_1,
1121         debug_value_data, validate_value_data): New.
1122         * rtl.h (copyprop_hardreg_forward): Declare.
1123         * toplev.c (flag_cprop_registers): New.
1124         (f_options): Add -fcprop-registers
1125         (rest_of_compilation): Invoke it.
1126         (parse_options_and_default_flags): Set it at -O1.
1127         * doc/invoke.texi: Document it.
1128
1129 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
1130
1131         * dwarf2out.c (dw_val_class): Add dw_val_class_range_list.
1132         (DEBUG_RANGES_SECTION_LABEL): Define.
1133         (ranges_section_label): Add.
1134         (add_AT_range_list): New.
1135         (print_die, sizeof_die, value_format): Handle dw_val_class_range_list.
1136         (output_loc_list): Location expression length is always 2-byte.
1137         (output_die): Handle dw_val_class_range_list.
1138         (gen_lexical_block_die): Call add_AT_range_list.
1139         (dwarf2out_init): Initialize ranges_section_label.
1140         (dwarf2out_finish): Emit ranges_section_label.
1141
1142 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
1143
1144         * c-typeck.c (digest_init): Allow initializing
1145         static storage duration objects with compound literals.
1146         * doc/extend.texi (Compound literals): Document the extension.
1147
1148 2001-12-12  Richard Henderson  <rth@redhat.com>
1149
1150         * emit-rtl.c (adjust_address_1): Always copy address to avoid
1151         shared rtl.
1152
1153 Wed Dec 12 07:37:52 2001  Olivier Hainque <hainque@act-europe.fr>
1154
1155         * stmt.c (expand_end_case): Do subtraction of lower bound as trees
1156         to avoid overflow.
1157
1158 Wed Dec 12 07:35:24 2001  Douglas B. Rupp  <rupp@gnat.com>
1159
1160         * cppfiles.c (read_include_file): Set buffer size properly when
1161         file is shorter than expected.
1162
1163 Wed Dec 12 08:35:33 2001  Nicola Pero  <n.pero@mi.flashnet.it>
1164
1165         * objc/objc-act.c (encode_complete_bitfield): Fixed encoding
1166         enumeral types - encode them using 'i'.
1167
1168 2001-12-12  Nathan Sidwell  <nathan@codesourcery.com>
1169
1170         * doc/extend.texi (Deprecated Features): Deprecate implicit
1171         typename. Document that named return and initializer lists are now
1172         removed.
1173
1174 2001-12-11  Roger Sayle <roger@eyesopen.com>
1175
1176         * except.c (reachable_next_level): Handle ERT_UNKNOWN to avoid
1177         compiler warning about enumeration values not being handled.
1178
1179 2001-12-11  Momchil Velikov  <velco@fadata.bg>
1180
1181         * config/fp-bit.c (pack_d): Cast to ``fractype'' for long long
1182         shifts.
1183
1184 2001-12-11  Richard Henderson  <rth@redhat.com>
1185
1186         * config/alpha/alpha.h (TARGET_FIXUP_EV5_PREFETCH): New.
1187         * config/alpha/linux.h (TARGET_FIXUP_EV5_PREFETCH): New.
1188         * config/alpha/alpha.md (prefetch): New.
1189
1190 2001-12-11  Richard Henderson  <rth@redhat.com>
1191
1192         * combine.c (simplify_and_const_int): Simplify (AND (PLUS X Y) C)
1193         if C has only low bits set and doesn't intersect with X or Y.
1194
1195 Tue Dec 11 23:58:39 EST 2001  John Wehle  (john@feith.com)
1196
1197         * basic-block.h (flow_preorder_transversal_compute): Declare.
1198         * cfganal.c (flow_preorder_transversal_compute): Implement.
1199
1200 Tue Dec 11 23:54:27 EST 2001  John Wehle  (john@feith.com)
1201
1202         * cfganal.c (flow_depth_first_order_compute): Always
1203         increment dfsnum.
1204
1205 2001-11-30 Alan Matsuoka <alanm@redhat.com>
1206
1207         * combine.c (combine_simplify_rtx) : Can't simplify
1208         cases that use mode class MODE_CC.
1209
1210 2001-12-11  Richard Henderson  <rth@redhat.com>
1211
1212         * expmed.c (expand_divmod): Ignore sdiv_pow2_cheap for modes in
1213         which there is no divide expander.
1214
1215 2001-12-11  Richard Henderson  <rth@redhat.com>
1216
1217         * except.c (sjlj_find_directly_reachable_regions): Don't
1218         consider RNL_BLOCKED a directly reachable region.
1219         (sjlj_assign_call_site_values): Trust directly_reachable.
1220         (sjlj_emit_dispatch_table): Likewise.
1221
1222 2001-12-11  Richard Henderson  <rth@redhat.com>
1223
1224         * config/alpha/alpha.md (divmodsi_internal_er): Split, so that
1225         we represent the address load's dependency on the gp.
1226         (divmoddi_internal_er): Likewise.
1227         (divmodsi_internal_er_1, divmoddi_internal_er_1): New.
1228
1229 2001-12-11  Richard Henderson  <rth@redhat.com>
1230
1231         * emit-rtl.c (widen_memory_access): New.
1232         * expr.h (widen_memory_access): Declare it.
1233         * config/alpha/alpha.c (get_aligned_mem): Use it.
1234
1235 2001-12-11  Richard Henderson  <rth@redhat.com>
1236
1237         * combine.c (simplify_shift_const): Move SHIFT_COUNT_TRUNCATED
1238         simplification above out of range check.
1239
1240 2001-12-11  Dan Nicolaescu  <dann@ics.uci.edu>
1241
1242         * config/sparc/sparc.md (prefetch): New.
1243
1244 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
1245
1246         * output.h (regno_uninitialized): Make argument unsigned.
1247
1248         * flow.c (regno_uninitialized): Make regno unsigned.
1249
1250 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
1251
1252         * elfos.h (ENDFILE_SPEC, STARTFILE_SPEC): Do not define.
1253         * config/cris/cris.h (ENDFILE_SPEC): Define.
1254         * config/i386/i386elf.h ((ENDFILE_SPEC, STARTFILE_SPEC): Define.
1255         * config/pa/elf.h: Likewise.
1256
1257 2001-12-11  Richard Henderson  <rth@redhat.com>
1258
1259         * objc/objc-act.c (build_string_class_template): New.
1260         (build_objc_string_object): Call it.
1261
1262 2001-12-11  Steve Ellcey  <sje@cup.hp.com>
1263
1264         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
1265         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
1266         * calls.c (store_unaligned_arguments_into_pseudos): Check
1267         FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures
1268         are passed/returned.
1269         * expr.c (move_block_from_reg): Ditto.
1270         (move_block_from_reg): Ditto.
1271         (copy_blkmode_from_reg): Ditto.
1272         * stmt.c (expand_return): Ditto.
1273         * stor-layout.c (compute_record_mode): If
1274         FUNCTION_ARG_REG_LITTLE_ENDIAN is set then check
1275         MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode.
1276         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true
1277         so that Structures of one field are still treated as structures.
1278         (FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true.
1279         (FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding().
1280         (PAD_VARARGS_DOWN): Modify from default to not pad structures down.
1281         * config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New.
1282         * config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function
1283         to special case handling of structure padding.
1284
1285 2001-12-11  Daniel Berlin  <dan@cgsoftware.com>
1286
1287         * sched-rgn.c (CONST_BASED_ADDRESS_P): CONST_INT -> CONSTANT_P.
1288         (may_trap_exp): Stores only are risk if they trap, too, not just
1289         if code == MEM.
1290
1291 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
1292
1293         * flow.c (find_regno_partial): Indent properly.  Add a default to
1294         switch.
1295
1296 2001-12-11  Neil Booth  <neil@daikokuya.demon.co.uk>
1297
1298         * c-common.c (combine_strings): Complain if concatenating
1299         __FUNCTION__.
1300         * c-parse.in (yylexname): Flag artificial strings.
1301         * tree.h (TREE_ARTIFICIAL_STRING_P): New.
1302 doc:
1303         * extend.texi: Update.
1304
1305 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
1306
1307         * c-common.c (type_for_mode): Handle unsigned vectors.
1308         (type_for_mode): Remove redundant calls to TYPE_MODE.
1309
1310         * tree.c (make_vector): New.
1311         (build_common_tree_nodes_2): Use make_vector for vector types.
1312         Add unsigned vector types.
1313
1314         * tree.h (tree_index): Add unsigned types for vectors.
1315         (unsigned_V16QI_type_node): New.
1316         (unsigned_V4SI_type_node): New.
1317         (unsigned_V8QI_type_node): New.
1318         (unsigned_V8HI_type_node): New.
1319         (unsigned_V4HI_type_node): New.
1320         (unsigned_V2SI_type_node): New.
1321
1322 2001-12-11  Stan Shebs  <shebs@apple.com>
1323
1324         * objc/objc-act.c (finish_message_expr): Fix misplaced parens in a
1325         test of class names.
1326
1327 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
1328
1329         * config.gcc (m68020-*-elf*): Expand tm_file to include all needed
1330         cpu configuration headers.
1331         * config/h8300/elf.h: Include dbxelf.h.
1332         * config/m68k/linux.h: Likewise.
1333         * config/m68k/m68020-elf.h: Likewise.
1334         * config/m68k/m68kv4.h: Likewise.
1335         * config/sh/elf.h: Likewise.
1336         * config/m68k/m68kemb.h: Add comment about the its purpose.
1337
1338 2001-12-11  Richard Henderson  <rth@redhat.com>
1339
1340         * objc/objc-act.c (build_constructor): Cast initializer values
1341         to the proper field types.
1342
1343 2001-12-11  Jakub Jelinek  <jakub@redhat.com>
1344
1345         * unwind-dw2.c (execute_cfa_program): Fix DW_CFA_restore handling.
1346
1347 2001-12-10  Roger Sayle <roger@eyesopen.com>
1348
1349         * builtins.c (expand_builtin): Use a switch statement to list
1350         those functions not expanded without optimizations, instead of a
1351         series of equality tests.
1352
1353 Tue Dec 11 07:08:57 2001  Douglas B. Rupp  <rupp@gnat.com>
1354
1355         * config/alpha/vms.h (LIB_SPEC): Define.
1356         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Don't set component field.
1357
1358         * libgcc2.c (_bb): Remove ctime declaration.
1359
1360         * Makefile.in (stage[1234]-start): $(LN_S) utilities in a manner
1361         that works if LN_S = cp.
1362
1363         * config/alpha/x-vms (version): Change "." to "_".
1364
1365         * configure.in: Hardcode that vfork works on VMS host.
1366         * configure: Regenerated.
1367
1368 Mon Dec 10 18:37:31 2001  Douglas B. Rupp  <rupp@gnat.com>
1369
1370         * gcc.c (convert_filename): Add do_obj parameter. Don't convert
1371         unless do_obj true.
1372         (process_command): Modify calls to convert_filename.
1373
1374 2001-12-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1375
1376         * config/sparc/sol2-sld-64.h: Include dbxelf.h again.
1377
1378 Mon Dec 10 15:54:27 2001  Jeffrey A Law  (law@cygnus.com)
1379
1380         * combine.c (known_cond): Check mode of each operand to determine
1381         if COND is comparing floating point values.
1382
1383 2001-12-10  David Edelsohn  <edelsohn@gnu.org>
1384
1385         * rs6000.h (processor_type): Add PPC405.
1386         (RTX_COSTS): Add PPC405.  Correct rs64 and ppc630 multiply costs.
1387         * rs6000.md: Add PPC405 information.  Utilize imul2 and imul3 for
1388         rios1, rs64, and ppc630 processors.
1389         * rs6000.c (processor_target_table): Add PPC405.
1390
1391 2001-12-10  Richard Henderson  <rth@redhat.com>
1392
1393         * config/alpha/alpha.md (unaligned_extendhidi): Call gen_lowpart
1394         instead of hardcoding subregs into the _be and _le patterns.
1395
1396 2001-12-10  Neil Booth  <neil@daikokuya.demon.co.uk>
1397
1398         * c-lex.c, c-parse.in, c-typeck.c: Revert concatenation changes.
1399
1400 Mon Dec 10 09:19:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1401
1402         * config/i386/i386.md (leave, leave_rex64): Adjust pattern to match
1403         what insn does.
1404
1405 2001-12-10  Joseph S. Myers  <jsm28@cam.ac.uk>
1406
1407         * doc/cpp.texi: Don't condition menus on @ifinfo.  Condition the
1408         copyright notice formerly conditioned on @ifinfo on @ifnottex
1409         instead.
1410
1411 Mon Dec 10 06:15:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1412
1413         * vmsdbgout.c (lookup_filename): Remove warning.
1414
1415 Mon Dec 10 06:09:57 2001  Douglas B. Rupp  <rupp@gnat.com>
1416
1417         * Makefile.in: Add $(OUTPUT_OPTION) to compilation rules.
1418
1419         * config.gcc (alpha*-dec-vms*): Change to alpha*-dec-*vms*
1420         (exeext, target_alias, prefix, local_prefix): Define.
1421         * config/alpha/x-vms (USE_COLLECT2): Make empty.
1422         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Use Unix style
1423         file specifications. Remove ".".
1424         (GCC_INCLUDE_DIR): Remove redefinition (redundant).
1425         * fixinc/mkfixinc.sh (alpha*-dec-vms*):  Change to alpha*-dec-*vms*
1426
1427 2001-12-09  Nathan Sidwell  <nathan@codesourcery.com>
1428
1429         * Makefile.in (.po.gmo): Use POSIXLY_CORRECT argument ordering.
1430
1431 Sun Dec  9 21:57:24 2001  Douglas B. Rupp  <rupp@gnat.com>
1432
1433         * config/alpha/t-vms (EXTRA_PARTS): Append $(VMS_EXTRA_PARTS)
1434         Add rules for building [vp]crt0.o
1435         * config/alpha/vms.h (START_FILE_SPEC): Define.
1436         * config/alpha/x-vms (VMS_EXTRA_PARTS): Define
1437         * config/alpha/vms-crt0.c, config/alpha/vms-psxcrt0.c: New files.
1438         * doc/invoke.texi: Document special Alpha/VMS options.
1439
1440 Sun Dec  9 20:25:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1441
1442         * hwint.h (HOST_BITS_PER_LONGLONG): Deal with __int64 type.
1443         * vmsdbg.h (DST_SRC_COMMAND): Test for type of long long or __int64,
1444         not GNUC.
1445
1446 Sun Dec  9 20:19:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1447                           Douglas B. Rupp  <rupp@gnat.com>
1448
1449         * tree.c (append_random_char): Conditionalize INO for VMS.
1450
1451 2001-12-09  Richard Henderson  <rth@redhat.com>
1452
1453         * cfgcleanup.c (label_is_jump_target_p): New function.
1454         (try_optimize_cfg): Use label_is_jump_target_p to check if label is
1455         target of a JUMP_INSN from the preceding block.
1456
1457 Sun Dec  9 18:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
1458
1459         * vmsdbgout.c (lookup_filename): Assign null string instead
1460         of null pointer to fnam.
1461
1462 2001-12-09  Richard Henderson  <rth@redhat.com>
1463
1464         * config/alpha/alpha.c (alpha_align_insns): Suppress realignment
1465         immediately after a call; insert nops before a call.
1466
1467 2001-12-09  Richard Henderson  <rth@redhat.com>
1468
1469         * config/alpha/alpha.c (alpha_align_insns): Use align_functions,
1470         not FUNCTION_BOUNDARY.
1471         * config/alpha/alpha.h (TRAMPOLINE_ALIGNMENT): New.
1472         * config/alpha/alpha32.h, config/alpha/vms.h: Likewise.
1473         * config/alpha/unicosmk.h (FUNCTION_BOUNDARY): Remove.
1474
1475 2001-12-09  Hans-Peter Nilsson  <hp@bitrange.com>
1476
1477         * config/mmix/mmix.c (mmix_function_block_profiler,
1478         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
1479         unused functions.
1480         * config/mmix/mmix-protos.h (mmix_function_block_profiler,
1481         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
1482         prototypes.
1483
1484         * config/cris/cris.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER):
1485         Delete obsoleted macros.
1486
1487 2001-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
1488
1489         * doc/cpp.texi, doc/cppinternals.texi, doc/invoke.texi,
1490         doc/md.texi, doc/rtl.texi, doc/tm.texi: Use American spelling.
1491
1492         * ChangeLog.2, ChangeLog.3, ChangeLog.5, ChangeLog, alias.c,
1493         cfgbuild.c, expmed.c, expr.c, final.c, flow.c, fold-const.c,
1494         function.c, config/alpha/alpha.md, config/alpha/vms-ld.c,
1495         config/arm/arm.c, config/arm/arm.h, config/c4x/libgcc.S,
1496         config/i370/i370.c, config/i386/i386.c,
1497         config/i386/i386-interix.h, config/i386/i386.md,
1498         config/i386/i386.h, config/i386/netbsd-elf.h, config/ia64/ia64.c,
1499         config/m32r/m32r-protos.h, config/mcore/mcore.h,
1500         config/rs6000/rs6000.h, config/sparc/linux64.h,
1501         config/sparc/sparc.c, config/v850/v850-protos.h,
1502         config/cris/cris.h, config/s390/s390.md, config/elfos.h: Fix
1503         spelling errors.
1504
1505 2001-12-09  Daniel Berlin  <dan@cgsoftware.com>
1506
1507         * config/rs6000/rs6000.h (enum rs6000_builtins): Add remaining
1508         altivec builtins (VCF?X, VCT?XS, VSEL, V*EFP, VRFI*).
1509
1510         * config/rs6000/rs6000.c: Ditto.
1511
1512         * config/rs6000/rs6000.md: Ditto.
1513
1514 2001-12-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1515
1516         * 1750a.md: Add default case in switch.
1517         * alpha/vms.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
1518         if-else statement.
1519         * dsp16xx.c (print_operand_address): Likewise.
1520         * i386/osf1elf.h (FUNCTION_PROFILER): Const-ify.
1521         * ia64.md: Add missing braces.
1522         * rs6000-protos.h (s8bit_cint_operand): Prototype.
1523         * s390.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
1524         if-else statement.
1525         * stormy16.h (REG_CLASS_CONTENTS): Add missing braces.
1526         * v850.h (OUTPUT_ADDR_CONST_EXTRA): Don't issue a `return'.
1527         * dbxout.c (dbxout_source_file): Move a variable into the scope
1528         where it is used.
1529         * final.c (profile_function): Mark parameter with
1530         ATTRIBUTE_UNUSED.
1531         * genemit.c (gen_expand): Likewise for generated file.
1532         * insn-addr.h (INSN_ADDRESSES_NEW): Avoid undefined behavior.
1533
1534         * vmsdbg.h: Delete spurious close-comment.
1535         (DST_HEADER): Fix typo in ENUM_BITFIELD parameter.
1536         * vmsdbgout.c (write_modbeg): Define return type.
1537
1538         * m68k/3b1.h (ASM_OUTPUT_ALIGN): Wrap in do-while(0).
1539         * m68k/amix.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1540         * m68k/atari.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1541         * m68k/hp320.h (ASM_OUTPUT_ALIGN): Likewise.
1542         * m68k/m68kelf.h (ASM_OUTPUT_ALIGN): Likewise.
1543         * m68k/sgs.h (ASM_OUTPUT_ALIGN): Likewise.
1544         * m68k/tower-as.h (ASM_OUTPUT_ALIGN): Likewise.
1545
1546 2001-12-08  Tom Rix  <trix@redhat.com>
1547
1548         * config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete MASK_STRING.
1549         * config/rs6000/aix51.h (NON_POWERPC_MASKS): Same.
1550         * config/rs6000/rs6000.md (load_multiple, store_multiple): Do not use
1551         for powerpc64.
1552         * config/rs6000/rs6000.md (movstrsi_8reg, movstrsi_6reg,
1553         movstrsi_4reg, movstrsi_1_reg): Add powerpc64.
1554         * config/rs6000/rs6000.c (expand_block_move): Do not use
1555         gen_movstrsi_2reg and powerpc64.
1556
1557 2001-10-08  Aldy Hernandez  <aldyh@redhat.com>
1558
1559         * c-common.h (rid): Add RID_CHOOSE_EXPR and
1560         RID_TYPES_COMPATIBLE_P.
1561
1562         * c-parse.in (reswords): Add __builtin_choose_expr.
1563         Add __builtin_types_compatible_p.
1564         Add CHOOSE_EXPR token.
1565         Add TYPES_COMPATIBLE_P token.
1566         Add production for CHOOSE_EXPR.
1567         Add production for TYPES_COMPATIBLE_P.
1568
1569         * doc/extend.texi (__builtin_choose_expr): Add documentation.
1570         (__builtin_types_compatible_p): Likewise.
1571
1572 2001-12-08  David Edelsohn  <edelsohn@gnu.org>
1573
1574         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
1575         to unions.
1576
1577 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
1578
1579         * c-parse.in: Take string literals in assembler constructs,
1580         not expressions.
1581         * c-typeck.c (build_asm_stmt, simple_asm_stmt): No need to
1582         check the strings are STRING_CSTs.
1583
1584 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
1585
1586         * c-lex.c (c_lex): Peek a token ahead for a string to concatenate,
1587         using combine_strings to do the concatenation.
1588         * c-parse.in: Replace uses of the string non-terminal with STRING.
1589         Don't attempt string concatenation.
1590         (OBJC_STRING): New terminal.
1591         (string): Remove non-terminal.
1592         (_yylex): Call combine_strings on function names.  Generate
1593         OBJC_STRING terminals; don't pass '@' on to yacc.
1594         * c-typeck.c (simple_asm_stmt): Don't concatenate strings here.
1595         (build_asm_stmt): Similarly.
1596
1597 2001-12-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1598
1599         * rtlanal.c (get_jump_table_offset): Delete unused variable.
1600
1601 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
1602
1603         * arm.md (VUNSPEC_PREFETCH): Delete constant definition.
1604         (prefetch): Rewrite using PREFETCH RTL primitive.
1605         * arm.h (arm_builtins): Delete ARM_BUILTIN_PREFETCH).
1606         * arm.c (arm_init_builtins): Don't initialize a builtin for
1607         __builtin_prefetch here.
1608         (arm_expand_builtin): Don't expand __builtin_prefetch here.
1609
1610 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
1611
1612         * final.c (cleanup_subreg_operands):  Use recog_data.operand_loc
1613         in test for a subreg.
1614
1615 2001-12-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1616
1617         * rtl.c (rtx_equal_p): Check for null pointers when comparing rtx
1618         strings.
1619
1620 2001-12-07  Richard Henderson  <rth@redhat.com>
1621
1622         * doc/extend.texi: Fix typo last change.
1623
1624         * c-decl.c (c_language): Remove duplicate.
1625
1626 2001-12-07  Dale Johannesen  <dalej@apple.com>
1627
1628         * config/rs6000/darwin.h: Set MAX_LONG_TYPE_SIZE to 32.
1629         * config/rs6000/rs6000.c (rs6000_emit_move): In Darwin-
1630         specific codegen, eliminate a register copy.
1631         (print_operand_address): Add support for Darwin's lo16(constant)
1632         syntax.
1633         (rs6000_machopic_legitimize_pic_address): Fix darwin-specific
1634         generation of addresses within very large data objects.
1635         (s8bit_cint_operand):  New.
1636         * config/rs6000/rs6000.md: Remove "iu" reference for 750/7400.
1637         Move "mtjmpr" to correct functional unit for 750/7400/7450.
1638         Add imul2 and imul3 insn types for multiplication by 16- and
1639         8-bit constants.
1640         Change tablejump patterns to strongly discourage using LR
1641         rather than CTR.
1642         Add %lo16 patterns for Darwin loads and stores.
1643
1644 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1645
1646         * alpha.md: Use (HOST_WIDE_INT)1<<63 in lieu of 0x8000000000000000.
1647
1648 2001-12-07  Stephane Carrez  <Stephane.Carrez@sun.com>
1649
1650         * config/sparc/sparc.c (epilogue_renumber): Do not replace %fp
1651         with %sp because it can cause the delayed instruction to load
1652         below the stack.
1653
1654 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1655
1656         * alpha.c (alpha_expand_unaligned_store,
1657         alpha_expand_unaligned_store_words): Use constm1_rtx in place of
1658         call to immed_double_const.
1659
1660 2001-12-07  Aldy Hernandez  <aldyh@redhat.com>
1661
1662         * doc/extend.texi (Variable Attributes): Document vector_size.
1663
1664         * attribs.c (c_common_attribute_table): Add vector_size.
1665         (handle_vector_size_attribute): New.
1666         (vector_size_helper): New.
1667         (decl_attributes): Relayout the decl after calculating attribs.
1668
1669 2001-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1670
1671         * doc/gcc.texi: Don't include install-old.texi.  Adjust menu
1672         description for Trouble section.
1673         * doc/install-old.texi: Adjust for inclusion as chapter of new
1674         installation manual.
1675         * doc/install.texi, doc/include/fdl.texi, doc/install.texi2html:
1676         Adjust to include old installation chapter as chapter of new
1677         installation manual.
1678
1679 Fri Dec  7 11:07:35 EST 2001  John Wehle  (john@feith.com)
1680
1681         * rtl.h (get_jump_table_offset): Declare.
1682         * rtlanal.c (get_jump_table_offset): Implement.
1683
1684 Fri Dec  7 07:06:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1685
1686         * final.c (bb_head, bb_tail, bb_file_label_num, bb_func_label_num):
1687         Deleted; were used only by BB profiler code.
1688         (sbb_head, sbb_tail, sbb_label_num): Likewise.
1689         (end_final): Delete now-unused vars I, PTR, and SPTR.
1690
1691         * expr.c (store_field): Remove warning.
1692         (expand_expr, case COMPONENT_REF, case VIEW_CONVERT_EXPR): Likewise.
1693         (highest_pow2_factor, case MIN_EXPR, case MAX_EXPR): Add cases.
1694         (highest_pow2_factor, case *_DIV_EXPR): Only can do something if
1695         divisor constant power of 2.
1696         (highest_pow2_factor, case COMPOUND_EXPR): Look at operand 1.
1697
1698 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1699
1700         * alpha.c (function_arg): Cast value to HOST_WIDE_INT before
1701         shifting.
1702
1703 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
1704
1705         * rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): New.
1706         (DWARF_FRAME_REGISTERS): Delete.
1707
1708 2001-12-06  Janis Johnson  <janis187@us.ibm.com>
1709
1710         * builtin-types.def (BT_FN_VOID_PTR_VAR): New.
1711         * builtins.def (BUILT_IN_PREFETCH): Change arguments.
1712         * builtins.c (expand_builtin_prefetch): Two arguments are now optional,
1713         with defaults for read prefetch with high degree of locality.
1714         * doc/extend.texi (__builtin_prefetch): Update documentation.
1715         * doc/md.texi (prefetch): Add documentation.
1716
1717 2001-12-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1718
1719         * fixinc/inclhack.def (stdio_va_list): Handle __VA_LIST__ in Tru64
1720         UNIX V5.1A stdio.h.
1721         * fixinc/fixincl.x: Regenerate.
1722         Fixes PR libf2c/4826.
1723
1724 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
1725             Richard Henderson  <rth@redhat.com>
1726
1727         * doc/tm.texi (DWARF_FRAME_REGISTERS): Add documentation.
1728         (PRE_GCC3_DWARF_FRAME_REGISTERS): Same.
1729
1730         * unwind-dw2.c (__frame_state_for): Change DWARF_FRAME_REGISTERS
1731         to PRE_GCC3_DWARF_FRAME_REGISTERS.
1732         (frame_state): Same.
1733         (PRE_GCC3_DWARF_FRAME_REGISTERS): Define if not already defined.
1734
1735 2001-12-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1736
1737         * langhooks.c (lhd_staticp): Mark parameter with
1738         ATTRIBUTE_UNUSED.
1739
1740 2001-12-06  H.J. Lu <hjl@gnu.org>
1741
1742         * Makefile.in (.po.gmo): Use "-test -d po || mkdir po" to
1743         reduce noise.
1744         (.po.pox): Likewise.
1745         (o/$(PACKAGE).pot): Likewise.
1746
1747 2001-12-06  Alexandre Oliva  <aoliva@redhat.com>
1748
1749         * tree.c (get_callee_fndecl): Move DECL_ABSTRACT_ORIGIN-following...
1750         * tree-inline.c (expand_call_inline): ... here.
1751
1752 2001-12-06  H.J. Lu <hjl@gnu.org>
1753
1754         * Makefile.in (.po.gmo): Use "-mkdir po" for parallel build.
1755         (.po.pox): Likewise.
1756         (o/$(PACKAGE).pot): Likewise.
1757
1758 2001-12-06  David O'Brien  <obrien@FreeBSD.org>
1759
1760         * config.gcc: Include dbxelf.h before elfos.h.
1761         * elfos.h: Don't include dbxelf.h, let config.gcc handle it.
1762
1763 2001-12-06  Zack Weinberg  <zack@codesourcery.com>
1764
1765         * cppfiles.c (open_file): If we've opened a directory by
1766         mistake, close it.
1767         (find_include_file): Avoid turning / into // or // into ///.
1768
1769 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
1770
1771         * config/arm/arm.h (STRUCT_VALUE): Suppress definition.
1772         (STRUCT_VALUE_REGNUM): Restore definition.
1773
1774 2001-12-06  Andrew MacLeod <amacleod@redhat.com>
1775
1776         * flow.c (find_regno_partial): Return register, not the expression
1777         the register is in.
1778
1779 Thu Dec  6 09:24:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1780
1781         * function.c (handle_epilogue_set): Check for FP setting case when
1782         SP is set from FP in same insn.
1783
1784 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
1785
1786         * config/arm/arm.c (load_multiple_sequence): Pass pointer to
1787         RTX when calling alter_subreg().
1788         (store_multiple_sequence): Pass pointer to RTX when calling
1789         alter_subreg().
1790
1791 Thu Dec  6 06:55:13 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1792
1793         * function.c (assing_parms): Fix typo in last change.
1794         * config/clipper.c (clipper_builtin_saveregs): Remove Checker code.
1795         * config/m88k/m88k.c (m88k_builtin_saveregs): Likewise.
1796         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
1797         * config/sparc/sparc.c (sparc_builtin_saveregs): Likewise.
1798
1799 2001-12-06  Alan Modra  <amodra@bigpond.net.au>
1800
1801         * config/rs6000/rs6000.c (rs6000_unique_section): Simplify and
1802         correct code selecting section.
1803
1804 Thu Dec  6 12:45:33 CET 2001  Jan Hubicka  <jh@suse.cz>
1805
1806         * final.c (count_basic_block, add_bb, add_bb_string):
1807         Kill.
1808         (end_final, final_start_function, final, final_scan_insn,
1809         leaf_function_p): Kill BB profiler related code.
1810         * flags.h (profile_block_flag): Kill.
1811         * libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE,
1812         BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func,
1813         __bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets,
1814         bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize
1815         reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose,
1816         __bb_exit_trace_func, __bb_init_prg, __bb_trace_func,
1817         __bb_trace_func_ret, __bb_init_file, __bb_trace_ret,
1818         __bb_init_trace_func): Kill.
1819         * toplev.c (profile_block_flag): Kill.
1820         (indepdendent_decode_option, process_options): Kill -a related code.
1821         * alpha.c (direct_call_operand): Likewise.
1822         * arm.c (arm_expand_prologue, thumb_expand_prologue,
1823         thumb_expand_epilogue): Likewise.
1824         * c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise.
1825         * c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1826         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1827         MACHINE_STATE_RESTORE): Kill.
1828         * d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1829         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1830         MACHINE_STATE_RESTORE): Kill.
1831         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
1832         * i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue,
1833         ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related
1834         code.
1835         (ix86_output_function_block_profiler, ix86_output_block_profiler): Kill.
1836         * i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1837         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1838         MACHINE_STATE_RESTORE): Kill.
1839         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
1840         * i960.c (i960_output_function_prologue): Kill BB profiler related
1841         code.
1842         * ia64.c (ia64_compute_frame_size): Likewise.
1843         * ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1844         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1845         MACHINE_STATE_RESTORE): Kill.
1846         * m32r.c (m32r_expand_prolofue): Kill BB profiler related code.
1847         * m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1848         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1849         MACHINE_STATE_RESTORE): Kill.
1850         * m68k.c (m68k_output_function_epilogue): Kill BB profiler related code.
1851         * m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1852         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1853         MACHINE_STATE_RESTORE): Kill.
1854         * m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue):
1855         Kill BB profiler related code.
1856         * m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1857         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1858         MACHINE_STATE_RESTORE): Kill.
1859         * mips.c (mips_expand_prologue): Kill BB profiler related code.
1860         * mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1861         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1862         MACHINE_STATE_RESTORE): Kill.
1863         * rs6000.c (rs6000_override_options): Kill BB profiler related code.
1864         * s960.c (s390_function_prologue): Kill BB profiler related code.
1865         * s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1866         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1867         MACHINE_STATE_RESTORE): Kill.
1868         * linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1869         * linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1870         * linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1871         * sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1872         * sparc.c (sparc_override_options, eligible_for_sibcall_delay,
1873         sparc_nonflat_function_epilogue): Kill BB profiler related code.
1874         (sparc_function_block_profiler, sparc_block_profiler,
1875         sparc_function_block_profiler_exit): Kill.
1876         * sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code.
1877         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1878         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1879         MACHINE_STATE_RESTORE): Kill.
1880         * sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1881         * sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1882         * stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1883         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1884         MACHINE_STATE_RESTORE): Kill.
1885         * doc/invoke.texi: Kill documentation of -a and -ax.
1886         * tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1887         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1888         MACHINE_STATE_RESTORE): Kill.
1889
1890 2001-10-26  Steve Christiansen  <smc@us.ibm.com>
1891
1892         * doc/rtl.texi: Use a table to display RTL format characters.
1893
1894 2001-12-06  Bo Thorsen  <bo@suse.co.uk>
1895
1896         * config/i386/linux64.h (LINK_SPEC): Correct name of dynamic linker.
1897
1898 Wed Dec  5 19:18:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1899
1900         * function.c (keep_stack_depressed): Check global_live_at_start
1901         of EXIT_BLOCK for temp register and verify it isn't in equiv_reg_src.
1902
1903 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
1904
1905         * config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files,
1906         as set by the generic FreeBSD configure framework.
1907
1908 2001-12-04  Jason Merrill  <jason@redhat.com>
1909
1910         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
1911         start_inlining, end_inlining.
1912         * tree-inline.c (expand_call_inline): Call them.
1913         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_START_INLINING): Define.
1914         (LANG_HOOKS_TREE_INLINING_END_INLINING): Define.
1915         (LANG_HOOKS_TREE_INLINING_INITIALIZER): Add them.
1916         * langhooks.c (lhd_tree_inlining_start_inlining): New fn.
1917         (lhd_tree_inlining_end_inlining): New fn.
1918
1919 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
1920
1921         * c-common.c (shadow_warning): New function, moved from cp/decl.c.
1922         * c-common.h (shadow_warning): New.
1923         * c-decl.c: Include c-common.h.
1924         (warn_if_shadowing): New, broken out of pushdecl.
1925         (pushdecl): Use warn_if_shadowing.
1926         (store_parm_decls): Prevent duplicate -Wshadow warnings.
1927
1928 Wed Dec  5 17:59:19 2001  Douglas B. Rupp  <rupp@gnat.com>
1929
1930         * config/alpha/vms.h (SIZE_TYPE, PTRDIFF_TYPE): Remove, were disabled.
1931         (DOLLARS_IN_IDENTIFIERS, LINK_SPEC): Remove duplicate.
1932         (LIB_SPEC): Remove.
1933
1934 Wed Dec  5 16:03:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1935
1936         * doc/c-tree.texi (RECORD_TYPE, UNION_TYPE): Expand on definition.
1937         (QUAL_UNION_TYPE): New type.
1938
1939         * varasm.c (output_constant, case ERROR_MARK): New case.
1940
1941         * attribs.c (handle_no_check_memory_usage_atribute): Deleted.
1942         (c_com): Delete its reference.
1943         * builtins.c: Delete memory checking code.
1944         * calls.c, expr.c, function.c, stmt.c: Likewise.
1945         * builtins.c (expand_builtin_arg_info): Remove reference to
1946         EXPAND_MEMORY_USE_* modifiers.
1947         * explow.c (expr_size): Likewise.
1948         * expr.c (expand_expr, expand_increment): Likewise.
1949         * expr.h (ARGS_SIZE_RTX): Likewise.
1950         * function.c (assign_parms, expand_pending_sizeso): Likewise.
1951         * c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE.
1952         * expr.c (in_check_memory_usage): Delete.
1953         (get_push_address, get_memory_usage_from_modifier): Delete.
1954         (expand_assigment): Use EXPAND_WRITE on destination.
1955         (expand_expr): Delete ro_modifier.
1956         * expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and
1957         add EXPAND_WRITE.
1958         (memory_use_mode): Delete.
1959         * flags.h (flag_check_memory_usage): Deleted.
1960         (flag_prefix_function_name): Likewise.
1961         * function.c (expand_function_start): Don't set
1962         current_function_check_memory_usage.
1963         * function.h (check_memory_usage): Delete.
1964         * libfuncs.h, optabs.c: Delete chkr_* stuff.
1965         * stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to
1966         EXPAND_WRITE.
1967         * toplev.c (flag_check_memory_usage): Deleted.
1968         (flag_prefix_function_name): Likewise.
1969         (f_options, process_options): Delete references to above.
1970         * tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted.
1971         * varasm.c (CHKR_PREFIX): Deleted.
1972         (make_decl_rtl): Remove flag_prefix_function_name handling.
1973         (assemble_name): Likewise.
1974         * doc/extend.texi: Remove no_check_memory_usage attribute.
1975         * doc/invoke.texi: Remove -fcheck-memory-usage
1976         and -fprefix-function-name.
1977
1978 2001-12-05  Andreas Schwab  <schwab@suse.de>
1979
1980         * Makefile.in (STMP_FIXPROTO, STMP_FIXINC): Use substituted values
1981         from autoconf.
1982
1983 2001-12-05  Nick Clifton  <nickc@cambridge.redhat.com>
1984
1985         * config.gcc: Include arm/xscale-coff.h before arm/arm.h.
1986
1987 2001-12-05  William Cohen  <wcohen@redhat.com>
1988
1989         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Correct typo in
1990         instruction.
1991
1992 2001-12-05  Daniel Berlin  <dan@cgsoftware.com>
1993
1994         * config/rs6000/rs6000.h (enum rs6000_builtins): Add more altivec
1995         builtins.
1996
1997         * config/rs6000/rs6000.md: Modeling of 7450 altivec changed to
1998         better reflect reality (change from Apple's tree).
1999         Add more of altivec instructions.
2000         Add ftruncv4sf2 pattern.
2001         Remove more unspecs (vector merge instructions, etc).
2002
2003         * config/rs6000/rs6000.c (bdesc_3arg): New, for 3 argument altivec
2004         builtins.
2005         (bdesc_1arg): New, for 1 argument altivec builtins.
2006         (altivec_expand_builtin): Handle unary and ternary ops.
2007         (altivec_init_builtins): Ditto.
2008
2009 Wed Dec  5 09:33:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2010
2011         * config/alpha/vms.h (ADA_LONG_TYPE_SIZE): New macro.
2012         * doc/tm.texi (ADA_LONG_TYPE_SIZE): Document it.
2013
2014 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2015
2016         * gcse.c (store_killed_in_insn): Consider pure calls
2017         as potential store killers in addition to normal calls.
2018
2019 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2020
2021         * expr.c (expand_expr): When checking promoted value, use
2022         DECL_MODE (exp) and not mode.
2023
2024 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2025
2026         * c-typeck.c (output_init_element): Call digest_init
2027         just once, not in each if branch and check its return value for
2028         error_mark_node.
2029
2030 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2031
2032         * c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's
2033         type is RECORD_TYPE, UNION_TYPE or ARRAY_TYPE thereof.
2034         (finish_struct): Break the loop if n_incomplete went to 0.
2035         For ARRAY_TYPE, if it is not TYPE_DECL, layout the decl too.
2036
2037 Wed Dec  5 07:41:13 2001  Douglas B. Rupp  <rupp@gnat.com>
2038
2039         * config/alpha/alpha.c (alpha_va_start): Update VMS case.
2040
2041 Wed Dec  5 07:27:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2042                           Douglas B. Rupp  <rupp@gnat.com>
2043
2044         * vmsdbg.h, vmsdbgout.c: Add documentation and minor cleanups.
2045         * doc/invoke.texi: Add -gvms.
2046         * doc/passes.texi: Add mention of vmsdbgout.c.
2047         * doc/tm.texi: Document VMS debugging output.
2048
2049 Wed Dec  5 06:26:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2050
2051         * function.h (tree, rtx): Remove no-longer-needed definitions.
2052
2053         * function.c (keep_stack_depressed): Refine check for register
2054         clobbered over call.
2055
2056         * expr.c (store_expr): When copying string constant into array,
2057         use functions that update memrefs instead of computations on
2058         addresses to better track MEMs.  Also properly handle 32/64 pointers.
2059         (expand_expr): Use TARGET even if not reg for multi-word CONSTRUCTOR.
2060         (expand_expr, case CONSTRUCTOR): Fix errors in parms to assign_temp.
2061
2062         * emit-rtl.c (component_ref_for_mem_expr): Try harder to find decl
2063         underneath COMPONENT_REFs.
2064         (set_mem_attributes): Also strip VIEW_CONVERT_EXPR.
2065
2066 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2067
2068         * toplev.c (display_target_options): Don't print twice.
2069
2070 Wed Dec  5 00:42:16 EST 2001  John Wehle  (john@feith.com)
2071
2072         * emit-rtl.c (set_unique_reg_note): Don't set
2073         a REG_EQUAL or REG_EQUIV note if multiple sets
2074         are present.
2075
2076 2001-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2077
2078         * cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if
2079         CASE_DROPS_THROUGH.
2080
2081 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
2082
2083         * rtl.h (initialize_uninitialized_subregs): New prototype.
2084         * toplev.c (rest_of_compilation): Call initialize_uninitialized_subregs
2085         when optimization is on.
2086         * flow.c (find_regno_partial): Find subregs within an expression.
2087         (initialize_uninitialized_subregs): Initialize live on entry registers
2088         which are used in subreg expressions.
2089
2090 2001-12-04  Phil Edwards  <pme@gcc.gnu.org>
2091
2092         * Makefile.in:  Add INSTALL_SCRIPT using INSTALL definition.
2093
2094 2001-12-04  DJ Delorie  <dj@redhat.com>
2095
2096         * fixinc/fixincl.c (initialize): Avoid problemsome macro
2097         parameter names (PR 3388).
2098
2099 2001-12-05  Alan Modra  <amodra@bigpond.net.au>
2100
2101         * config/rs6000/rs6000.c (rs6000_legitimize_address): Fix typo.
2102         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Here too.
2103
2104 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2105
2106         * c-common.def (COMPOUND_LITERAL_EXPR): New.
2107         * c-common.c (c_expand_expr): Handle COMPOUND_LITERAL_EXPR.
2108         (c_staticp): New function.
2109         * c-common.h (COMPOUND_LITERAL_EXPR_DECL): New.
2110         (c_staticp): Declare.
2111         * c-typeck.c (default_function_array_conversion, build_unary_op):
2112         Don't handle CONSTRUCTOR specially.
2113         (lvalue_p, mark_addressable): Handle COMPOUND_LITERAL_EXPR.
2114         * c-decl.c (build_compound_literal): New function.
2115         * c-tree.h (build_compound_literal): Declare.
2116         * c-parse.in (primary): Use build_compound_literal.
2117         * c-lang.c (LANG_HOOKS_STATICP): Define.
2118         * objc/objc-lang.c (LANG_HOOKS_STATICP): Likewise.
2119         * doc/c-tree.texi: Document COMPOUND_LITERAL_EXPR.
2120         * doc/extend.texi: Update documentation of compound literals.
2121         Fixes PR c/4787.
2122
2123 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2124
2125         * langhooks.h (struct lang_hooks): Add staticp.
2126         * langhooks-def.h (lhd_staticp, LANG_HOOKS_STATICP): New.
2127         (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_STATICP.
2128         * langhooks.c (lhd_staticp): New function.
2129         * tree.c (staticp): Call lang_hooks.staticp for language-specific
2130         tree codes.
2131
2132 2001-12-04  Neil Booth  <neil@daikokuya.demon.co.uk>
2133
2134         * cppspec.c (lang_specific_driver): Set is_cpp_driver.
2135         * gcc.c (process_command): Ensure the cpp driver sees
2136         --help and --target-help, and that the help is printed
2137         exactly once.
2138
2139 2001-12-04  David Edelsohn  <edelsohn@gnu.org>
2140
2141         * config/elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Display count unsigned.
2142
2143 2001-12-04  Hans-Peter Nilsson  <hp@axis.com>
2144
2145         * config/cris/cris.h (OPTIMIZATION_OPTIONS): Don't unset
2146         flag_strict_aliasing.  Use separate assignment statements.
2147
2148 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
2149
2150         * build-make, cross-make: Delete file.
2151         * configure.in: Set and substitute CROSS, ALL,
2152         SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
2153         HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
2154         whether build == host and host == target.  Do not
2155         AC_SUBST_FILE build_overrides or cross_overrides.  Do not
2156         AC_SUBST cross_defines or extra_c_flags.
2157         * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
2158         (SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
2159         HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
2160         partially or completely with autoconf-substituted @variable@
2161         notation.
2162         (INSTALL_TARGET, @cross_defines@, @cross_overrides@,
2163         @build_overrides@, @extra_c_flags@, all.build, install-build,
2164         install-cross-rest, install-float-h-cross): Deleted.
2165         (install-normal): Rename to install.  Delete old "install"
2166         indirection rule.
2167
2168 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
2169
2170         * stmt.c (expand_return): Clear destination instead of clobbering it
2171         when setting a return value via bitsets.
2172
2173 2001-12-04  Alexandre Oliva  <aoliva@redhat.com>
2174
2175         * tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if
2176         it has DECL_SAVED_TREE.
2177
2178         * c-decl.c (duplicate_decls): Revert rth's patch.  If newdecl
2179         is in a different binding level, get its abstract origin to be
2180         olddecl.
2181         * tree-inline.c (expand_call_inline): Move DECL_INITIAL sanity
2182         check earlier.
2183         * tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if
2184         DECL_INITIAL is NULL.
2185
2186 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
2187
2188         * flow.c (ior_reg_cond): Return NULL if ! add and rtx wasn't optimized.
2189         Return correct value if one of the subexpressions was optimized to
2190         0 resp. 1.  Optimize (x | A) | x and (x & A) | x.
2191         (and_reg_cond): Similarly.
2192
2193 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
2194
2195         * function.c (assign_parms): Set last_named only for last named
2196         argument.
2197
2198 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2199
2200         * doc/install.texi: Use the GFDL.  Include years from old install
2201         manual in copyright notice.  Include copyright and GFDL notice on
2202         HTML index page.  Include usual footer on testing.html.
2203         * doc/install.texi2html: Build gfdl.html.  Use -I
2204         $SOURCEDIR/include.
2205         * doc/include/fdl.texi: Adapt for use in the install manual.
2206
2207 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2208
2209         * doc/install.texi: Document that installed native compiler for
2210         building cross compilers should be GCC 2.95 or later.
2211
2212 2001-12-03  Eric Christopher  <echristo@redhat.com>
2213
2214         * config/mips/mips.h (CALL_REALLY_USED_REGISTERS): New macro.
2215         * config/mips/mips.md: Check TARGET_DEBUG_D_MODE before split
2216         patterns.
2217
2218 2001-12-03  Janis Johnson  <janis187@us.ibm.com>
2219
2220         * rtl.def (PREFETCH): New rtx code.
2221         * doc/rtl.texi (PREFETCH): Add documentation.
2222         * function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx.
2223         * rtlanal.c (reg_referenced_p): Ditto.
2224         * sched-vis.c (print_exp):  Ditto.
2225         * ssa-dce.c (find_inherently_necessary):  Ditto.
2226
2227         * config/ia64/ia64.h (SIMULTANEOUS PREFETCHES): Define.
2228           (PREFETCH_BLOCK): Define.
2229         * config/ia64/ia64.md (itanium_class): Add lfetch.
2230           (prefetch, prefetch_internal): New.
2231
2232         * builtin-types.def (BT_FN_VOID_PTR_INT_INT): New.
2233         * builtins.def (BUILT_IN_PREFETCH): New.
2234         * builtins.c (expand_builtin_expect): New.
2235           (expand_builtin): Call it.
2236         * doc/extend.texi: Document __builtin_prefetch.
2237
2238         * config/i386/i386.md (prefetch): Rename as prefetch_sse to avoid
2239           conflicts with new generic prefetch functionality.
2240         * config/i386/i386.c (ix86_expand_builtin): Use new name for
2241           prefetch_sse.
2242
2243 2001-12-02  Ziemowit Laski  <zlaski@apple.com>
2244
2245         * objc/Make-lang.in: Update copyright.
2246         (OBJC_OBJS): Add objc-lang.o.
2247         (objc-lang.o): New rule.
2248         * objc/config-lang.in: Fix file description and update
2249         copyright.
2250         * objc/objc-act.c: Do not include langhooks.h and
2251         langhooks-def.h
2252         (lang_hooks): Move (along with LANG_HOOKS...) to objc-lang.c.
2253         (objc_post_options): Move to objc-lang.c.
2254         (objc_init_options): Move to objc-lang.c.
2255         (objc_init): Make non-static.
2256         (objc_decode_option): Make non-static.
2257         (HASHFUNCTION): Remove macro.
2258         (hash_func): New function.
2259         (hash_enter): Replace HASHFUNCTION with hash_func.
2260         (hash_lookup): Replace HASHFUNCTION with hash_func.
2261         (maybe_objc_tree_codes): New function.
2262         (init_objc): Move ObjC tree code initialization to
2263         maybe_objc_tree_codes().
2264         * objc/objc-act.h (GCC_OBJC_ACT_H): New include guard.
2265         (objc_init): New public prototype.
2266         (objc_decode_option): New public prototype.
2267         (maybe_add_objc_tree_codes): New public prototype.
2268         * objc/objc-lang.c: New file.
2269         (lang_hooks): Moved from objc-act.c.
2270         (objc_post_options): Moved from objc-act.c.
2271         (objc_init_options): Moved from objc-act.c.
2272
2273 2001-12-03  Geoff Keating  <geoffk@redhat.com>
2274
2275         * emit-rtl.c (gen_lowpart_common): Avoid unwanted sign-extension
2276         of array elements.
2277
2278 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
2279
2280         PR c/4988
2281         * gcc.c (process_command): Don't add a preprocessor option for
2282         --help and --target-help; cc1 is enough.
2283
2284 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
2285
2286         * c-decl.c (grokdeclarator): Use ISO word.
2287         * cppinit.c: Remove leading capital from diagnostic messages, as
2288         per GNU coding standards.
2289         * emit-rtl.c: Similarly.
2290         * final.c: Similarly.
2291         * gcc.c: Similarly.
2292         * tradcpp.c: Similarly.
2293         * config/arm/arm.c: Similarly.
2294         * config/arm/arm.h: Similarly.
2295         * config/avr/avr.c: Similarly.
2296         * config/avr/avr.h: Similarly.
2297         * config/c4x/c4x.c: Similarly.
2298         * config/cris/cris.c: Similarly.
2299         * config/cris/cris.h: Similarly.
2300         * config/d30v/d30v.c: Similarly.
2301         * config/dsp16xx/dsp16xx.c: Similarly.
2302         * config/dsp16xx/dsp16xx.h: Similarly.
2303         * config/h8300/h8300.c: Similarly.
2304         * config/i386/i386.c: Similarly.
2305         * config/i386/xm-djgpp.h: Similarly.
2306         * config/i960/i960.h: Similarly.
2307         * config/m32r/m32r.c: Similarly.
2308         * config/m68hc11/m68hc11.c: Similarly.
2309         * config/m88k/m88k.c: Similarly.
2310         * config/m88k/m88k.h: Similarly.
2311         * config/mcore/mcore.c: Similarly.
2312         * config/mcore/mcore.h: Similarly.
2313         * config/mips/mips.c: Similarly.
2314         * config/mmix/mmix.c: Similarly.
2315         * config/pa/pa.c: Similarly.
2316         * config/rs6000/rs6000.c: Similarly.
2317         * config/rs6000/sysv4.h: Similarly.
2318         * config/s390/s390.c: Similarly.
2319         * config/sparc/sparc.c: Similarly.
2320         * config/v850/v850-c.c: Similarly.
2321         * config/v850/v850.c: Similarly.
2322
2323 2001-12-03  Zack Weinberg  <zack@codesourcery.com>
2324
2325         * rs6000.h (RETURN_IN_MEMORY): Cast result of
2326         int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8.
2327
2328 Mon Dec  3 09:18:34 2001  Jeffrey A Law  (law@cygnus.com)
2329
2330         * mn10200.md (negsf2): Use -0x8000 instead of 0x8000 for
2331         bit twiddling constant.
2332
2333 Mon Dec  3 16:16:37 CET 2001  Jan Hubicka  <jh@suse.cz>
2334
2335         * gcse.c (delete_null_pointer_checks_1): Do not use delete_list;
2336         call purge_dead_edges after removing.
2337         (delete_null_pointer_checks): Do not handle delete_list.
2338
2339         * cfgbuild.c (inside_basic_block_p, control_flow_insn_p): Break out from ...
2340         (count_basic_blocks): ... here.
2341         (find_basic_blocks, find_bb_boundaries): Cleanup.
2342
2343         * stor-layout.c (fixup_signed_type, fixup_unsigned_type): Avoid
2344         overflow for types greater then 2 * HOST_WIDE_INT.
2345
2346         * reload.c (find_reloads): Update the duplicates after swapingg.
2347
2348 Mon Dec  3 13:52:19 CET 2001  Jan Hubicka  <jh@suse.cz>
2349
2350         * i386.md (movabsqi*): Use 'b' prefix instead of 'q'.
2351
2352 2001-12-02  Zack Weinberg  <zack@codesourcery.com>
2353
2354         * config/rs6000/rs6000.h (MASK_ALTIVEC_ABI,
2355         MASK_LONG_DOUBLE_128): Delete.
2356         (MASK_AIX_STRUCT_RET, MASK_AIX_STRUCT_RET_SET,
2357         TARGET_AIX_STRUCT_RET): New flags.
2358         (TARGET_SWITCHES): Remove entries for -mlong-double-128 and
2359         -mlong-double-64.  Add entries for -m(no-)aix-struct-return
2360         and -m(no-)svr4-struct-return.
2361         (TARGET_OPTIONS): Add entry for -mlong-double-.
2362         (rs6000_long_double_size_string, rs6000_long_double_type_size,
2363         rs6000_altivec_abi): Declare.
2364         (TARGET_LONG_DOUBLE_128, TARGET_ALTIVEC_ABI,
2365         LONG_DOUBLE_TYPE_SIZE): Change definitions to match.
2366         (RETURN_IN_MEMORY): If !TARGET_AIX_STRUCT_RET, return
2367         structures of size <= 8 bytes in registers.
2368         (PRINT_OPERAND_PUNCT_VALID_P): Take out '$' and '*'.
2369
2370         * config/rs6000/rs6000.c (rs6000_long_double_size_string,
2371         rs6000_long_double_type_size, rs6000_altivec_abi): New
2372         globals.
2373         (rs6000_override_options): Set rs6000_long_double_type_size
2374         from rs6000_long_double_size_string, if nonzero.  Set the
2375         MASK_AIX_STRUCT_RET bit in target_flags from DEFAULT_ABI, if
2376         not already set.
2377         (rs6000_parse_abi_options): Set rs6000_altivec_abi, not a
2378         target_flags bit.
2379         (rs6000_init_builtins): This hook now takes no arguments.
2380
2381         * config/rs6000/netbsd.h, config/rs6000/linux.h: Define
2382         DRAFT_V4_STRUCT_RET to 1.
2383
2384 2001-12-03  Joseph S. Myers  <jsm28@cam.ac.uk>
2385
2386         * c-typeck.c (really_start_incremental_init, push_init_level):
2387         Avoid constructor_max_index being other than an INTEGER_CST.
2388
2389 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
2390
2391         * config/rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Display count
2392         unsigned.
2393         (ASM_GENERATE_INTERNAL_LABEL): Same.
2394         (UNIQUE_SECTION): Fix typo.
2395
2396 2001-12-02  Richard Henderson  <rth@redhat.com>
2397
2398         * c-decl.c (duplicate_decls): Conditionalize DECL_SAVED_TREE copy.
2399
2400 2001-12-02  Richard Henderson  <rth@redhat.com>
2401
2402         * rtl.h (mem_attrs): Rename decl to expr; adjust all users.
2403         (MEM_EXPR): Rename from MEM_DECL; adjust all users.
2404         * emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
2405         * expr.h, final.c, reload1.c: Adjust users.
2406
2407         * alias.c (nonoverlapping_component_refs_p): New.
2408         (decl_for_component_ref, adjust_offset_for_component_ref): New.
2409         (nonoverlapping_memrefs_p): Use them.
2410         * emit-rtl.c (component_ref_for_mem_expr): New.
2411         (set_mem_attributes): Use it.
2412         (set_mem_offset): New.
2413         * expr.c (expand_assignment): Call set_mem_attributes for
2414         inner references; adjust the memory offset as needed.
2415         * print-rtl.c (print_mem_expr): New.
2416         (print_rtx): Use it.
2417
2418 Sun Dec  2 09:22:25 2001  Douglas B. Rupp  <rupp@gnat.com>
2419
2420         * config/x-interix3 (SYSTEM_HEADER_DIR): Put back default.
2421
2422         * config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro.
2423         (PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG.
2424         (ASM_SPEC): Don't redefine.
2425         (OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define.
2426         * config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm.
2427         * config/alpha/vms-dwarf2.asm: New file.
2428
2429         * Makefile.in (OBJS): Add vmsdbgout.c and its rule.
2430         * c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG.
2431         * debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks.
2432         (vmsdbgout_after_prologue): New declaration.
2433         * defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE.
2434         * dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address.
2435         * dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG.
2436         (dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG.
2437         (dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address.
2438         (add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO
2439         * final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG.
2440         Test VMS_DEBUGGING_INFO.
2441         (final_end_function): Test for VMS_AND_DWARF2_DEBUG.
2442         (final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG.
2443         * flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG.
2444         * toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and
2445         VMS_AND_DWARF2_DEBUG.
2446         (rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG.
2447         (decode_g_option): Add "vms" to debug_type_names.
2448         (process_options): Set vmsdbg_debug_hooks if -gvms.
2449         (lang_independent_init): Emit line number for VMS unless -g0.
2450         * tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG.
2451         * vmsdbg.h, vmsdbgout.c: New files.
2452
2453 Sun Dec  2 09:03:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2454
2455         * cfgbuild.c (SET_STATE): Add cast to eliminate warning.a
2456
2457 2001-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2458
2459         * cfgrtl.c (purge_all_dead_edges): Initialize variable.
2460         * dwarf2out.c (is_cxx): Prototype.
2461         * local-alloc.c (block_alloc): Avoid 'unsigned>=0 is always true'
2462         warning.
2463         * objc/objc-act.c (defer_fn): Avoid signed/unsigned warning.
2464
2465 Sun Dec  2 07:12:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2466
2467         * libgcc2.c (__bb_exit_func): Fix line wrap problems.
2468
2469 2001-12-02  Geoff Keating  <geoffk@redhat.com>
2470
2471         * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Simplify.
2472         * config/rs6000/rs6000.c (rs6000_emit_move): Use adjust_address
2473         rather than simplify_subreg.  Check for volatile-ness.  Check that
2474         we're not splitting one slow operation into two slow operations.
2475
2476 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
2477
2478         * emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT
2479         before shifting.
2480
2481 2001-12-02  Neil Booth  <neil@daikokuya.demon.co.uk>
2482
2483         * c-decl.c (duplicate_decls, push_parm_decl): Remove leading
2484         capital from diagnostics.
2485         * c-lex.c (cb_file_change): Similarly.
2486         * c-parse.in : Similarly.
2487         * cfgrtl.c (verify_flow_info): Similarly.
2488         * collect2.c: Similarly.
2489         * cppfiles.c (find_include_file): Similarly.
2490         * cppinit.c (cpp_handle_option): Similarly.
2491         * cpplex.c (cpp_spell_token): Similarly.
2492         * cppmain.c (do_preprocessing): Similarly.
2493         * gcc.c (translate_options, process_command, do_spec1,
2494         main, pfatal_execute): Similarly.
2495         * genattr.c (main): Similarly.
2496         * genattrtab.c (check_attr_test, operate_exp, simplify_test_exp,
2497         write_test_expr, main): Similarly.
2498         * gencodes.c (main): Similarly.
2499         * genconfig.c (main): Similarly.
2500         * genconstants.c (main): Similarly.
2501         * genemit.c (main): Similarly.
2502         * genextract.c (main): Similarly.
2503         * genflags.c (main): Similarly.
2504         * genopinit.c (main): Similarly.
2505         * genoutput.c (process_template, main): Similarly.
2506         * genpeep.c (main): Similarly.
2507         * genrecog.c (main): Similarly.
2508         * gensupport.c (is_predicable, identify_predicable_attribute,
2509         alter_predicate_for_insn, init_md_reader_args, main): Similarly.
2510         * ggc-page.c (alloc_anon): Similarly.
2511         * mips-tfile.c (add_string, add_procedure, add_file, read_line,
2512         parse_begin, parse_bend, parse_def, parse_end, parse_file,
2513         parse_stabs_common, parse_stabs, write_varray, write_object,
2514         read_seek, copy_object, main, error): Similarly.
2515         * profile.c (compute_branch_probabilities): Similarly.
2516         * reg-stack.c (check_asm_stack_operands): Similarly.
2517         * reload.c (find_reloads): Similarly.
2518         * reload1.c (spill_failure, failed_reload): Similarly.
2519         * rtl-error.c (_fatal_insn_not_found): Similarly.
2520         * toplev.c (read_integral_parameter, crash_signal,
2521         decode_f_option, set_target_switch, parse_options_and_default_flags)
2522         : Similarly.
2523         * tradcif.y (parse_number, yylex): Similarly.
2524         * tradcpp.c (main, fancy_abort): Similarly.
2525         * tree.c (tree_check_failed): Similarly.
2526         * varray.c (varray_check_failed): Similarly.
2527         * xcoffout.c (xcoff_output_standard_types): Similarly.
2528 objc:
2529         * objc-act.c (get_object_ref, lookup_and_install_protocols,
2530         build_objc_string_object, objc_declare_alias, build_ivar_chain,
2531         finish_message_expr, build_protocol_expr, is_public,
2532         start_class): Similarly.
2533
2534 2001-12-01  Neil Booth  <neil@daikokuya.demon.co.uk>
2535
2536         * c-decl.c (duplicate_decls, parmlist_tags_warning): Remove
2537         trailing period from diagnostics.
2538         * c-lex.c (cb_file_change): Similarly.
2539         * cppmacro.c (check_trad_stringification): Similarly.
2540         * gcc.c (do_spec_1): Similarly.
2541         * genattr.c (main): Similarly.
2542         * genattrtab.c (main, operate_exp, make_length_attrs): Similarly.
2543         * gencodes.c (main): Similarly.
2544         * genconfig.c (main): Similarly.
2545         * genconstants.c (main): Similarly.
2546         * genemit.c (main): Similarly.
2547         * genextract.c (main): Similarly.
2548         * genopinit.c (main): Similarly.
2549         * genoutput.c (main): Similarly.
2550         * genpeep.c (main): Similarly.
2551         * genrecog.c (main): Similarly.
2552         * mips-tfile.c (add_file, error): Similarly.
2553         * profile.c (init_branch_prob): Similarly.
2554         * reload1.c (spill_failure): Similarly.
2555         * stmt.c (parse_output_constraint): Similarly.
2556         * varasm.c (assemble_variable): Similarly.
2557
2558 2001-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2559
2560         * m68k.c (init_FPA_table): Provide static prototype.
2561         * mips/abi64.h (mips_function_value): Move prototype to ...
2562         * mips-protos.h (mips_function_value): ... here.
2563         * mips.c: Include halfpic.h.
2564         * output.h (rdata_section): Prototype.
2565
2566         * h8300.c (h8300_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
2567         * m88k.c (m88k_svr3_asm_out_constructor,
2568         m88k_svr3_asm_out_destructor): Wrap with CTOR_LIST_BEGIN &&
2569         !OBJECT_FORMAT_ELF.
2570         * mcore.c (mcore_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
2571         * sh.c (sh_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
2572         * sparc.c (sparc_elf_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
2573
2574 2001-12-01  Geoff Keating  <geoffk@redhat.com>
2575
2576         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Complex
2577         LO_SUM addresses less than word size are not legitimate,
2578         because they lead to invalid SUBREGs.
2579         * config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.
2580
2581 2001-12-01  Olivier Hainque <hainque@act-europe.fr>
2582
2583         * unroll.c (loop_iterations): Give up on jumps with null JUMP_LABEL
2584         while scanning for multiple back edges.
2585
2586 2001-12-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2587
2588         * ginclude/ppc-asm.h (JUMP_TARGET): New macro.
2589         * config/rs6000/tramp.asm: Use it.
2590
2591 2001-12-01  Zack Weinberg  <zack@codesourcery.com>
2592
2593         * gencheck.c, gengenrtl.c: Don't define xmalloc.
2594         * gensupport.c: Don't define xstrdup, xcalloc, xrealloc,
2595         xmalloc.
2596
2597 2001-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2598
2599         * pa.c (output_ascii): Cast `p' to unsigned char.
2600
2601 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
2602
2603         * config/rs6000/rs6000.c (altivec_expand_builtin): add
2604         ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf,
2605         *_16qi,_8hi, rename existing V4SI ones to *_4si.
2606         (altivec_init_builtins): Ditto.
2607         (bdesc_2arg): Rename CODE_FOR_* to match changes in MD file.
2608
2609         * config/rs6000/rs6000.md: Add attribute types vecsimple,
2610         veccomplex, vecfloat, and vecperm, for altivec instructions.
2611         Modify altivec patterns to use appropriate attribute type.
2612         Modify altivec patterns to match RTL operations where appropriate
2613         (IE no unspec where we can avoid it).
2614         Add vector unit scheduling for ppc7450.
2615         Rename patterns to what they are where appropriate
2616         (altivec_vaddfp->addv4sf3, etc)
2617
2618         * config/rs6000/rs6000.h (enum rs6000_builtins): Change VRS->VSR.
2619         Pass -mppc, and define _ARCH_PPC, if -mcpu=7450 is used.
2620
2621         * config/rs6000/sysv4.h: Add -mcpu=7450.
2622
2623         * testsuite/gcc.dg/altivec-1.c: Update test to take into account renamed
2624         _builtin_altivec_ld_interal function.
2625
2626 2001-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2627
2628         * configure.in (AC_CHECK_FUNCS): Delete strtoul, bsearch, popen,
2629         strchr, strrchr, isascii, gettimeofday.
2630         * config.in, configure: Regenerate.
2631
2632 2001-11-30  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
2633
2634         * unroll.c (unroll_loop): Correct special exit cases.
2635
2636 2001-11-30  Stephane Carrez  <Stephane.Carrez@sun.com>
2637
2638         * config/sparc/sparc.c (DF_MODES_NO_S): Fix pr/3623, define to
2639         accept DFmode and DImode only.
2640
2641 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
2642
2643         * config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Adjust for altivec.
2644         (STACK_DYNAMIC_OFFSET): Same.
2645
2646 2001-11-30  Richard Henderson  <rth@redhat.com>
2647
2648         * c-decl.c (duplicate_decls): Copy DECL_SAVED_TREE.
2649
2650 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
2651
2652         * config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): New.
2653         (CONDITIONAL_REGISTER_USAGE): Set call_really_used_registers to
2654         the values in call_used_registers.
2655
2656 Fri Nov 30 12:48:26 2001  Jeffrey A Law  (law@cygnus.com)
2657
2658         * gthr-dce.h: If _DCE_THREADS is not defined, then just include
2659         gthr-single.
2660
2661 2001-11-30  Jason Merrill  <jason@redhat.com>
2662
2663         * dwarf2out.c (is_cxx): New fn.
2664         (add_data_member_location_attribute): Check it.
2665         * dbxout.c (dbxout_type): Only look at BINFO_VPTR_FIELD for C++.
2666
2667 Fri Nov 30 08:26:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2668
2669         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Handle const1_rtx.
2670
2671 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
2672
2673         * genopinit.c (gen_insn): Handle MODE_VECTOR_INT and
2674         MODE_VECTOR_FLOAT as allowed.
2675
2676 2001-11-29  Zack Weinberg  <zack@codesourcery.com>
2677
2678         Purge cruft now we have build libiberty.
2679
2680         * Makefile.in (OBSTACK, VFPRINTF, DOPRINT, STRSTR,
2681         HOST_OBSTACK, HOST_VFPRINTF, HOST_DOPRINT, HOST_STRSTR,
2682         USE_HOST_OBSTACK, USE_HOST_VFPRINTF, USE_HOST_DOPRINT,
2683         USE_HOST_STRSTR): Delete variables.
2684         (vfprintf.o, doprint.o, strstr.o, splay-tree.o, obstack.o,
2685         hashtab.o, safe-ctype.o, $(HOST_PREFIX_1)obstack.o,
2686         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
2687         $(HOST_PREFIX_1)strstr.o), $(HOST_PREFIX_1)): Delete rules.
2688         (LIBIBERTY, BUILD_LIBIBERTY): New variables.
2689         (LIBDEPS): Now just $(INTLDEPS) $(LIBIBERTY).
2690         (LIBS): Now just $(INTLLIBS) @LIBS@ $(LIBIBERTY).
2691         (HOST_LIBDEPS): Now just $(BUILD_LIBIBERTY).
2692         (HOST_LIBS): Ditto.
2693         (HOST_RTL): Remove hashtab.o safe-ctype.o.
2694         (OBJS): Remove splay-tree.o.
2695         (gen-protos): Depend on $(HOST_LIBS), not ../libiberty/libiberty.a.
2696         (distclean): No need to delete splay-tree.c obstack.c
2697         hashtab.c safe-ctype.c.
2698         (mostlyclean): Delete build copies of print-rtl.c bitmap.c
2699         errors.c ggc-none.c (all prefixed with $(HOST_PREFIX_1).
2700         * aclocal.m4 (gcc_AC_FUNC_VFPRINTF_DOPRNT, gcc_AC_FUNC_STRSTR):
2701         Delete.
2702         * configure.in: Don't use them.
2703         Set and substitute @FORBUILD@.
2704         * config.in, configure: Regenerate.
2705         * doprint.c: Move to libiberty/_doprnt.c.
2706         * doc/configterms.texi: Document that libiberty is now built
2707         up to three times.  Fix typo.
2708
2709 2001-11-30  Jason Merrill  <jason@redhat.com>
2710
2711         * dwarf2out.c (add_data_member_location_attribute): Do the
2712         right thing for virtual bases.
2713         * dbxout.c (dbxout_type): For a virtual base, print the offset
2714         within the vtable.
2715
2716 2001-11-29  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
2717
2718         * doloop.c (doloop_valid_p): Check for LTU and GTU as well.
2719
2720 2001-11-29  Aldy Hernandez  <aldyh@redhat.com>
2721
2722         * config/rs6000/rs6000.c (function_arg): Unnamed vector arguments
2723         go in memory.
2724         Remove unused attribute for named.
2725
2726 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2727
2728         * genattrtab.c (attr_rtx_1): New function containing the
2729         majority of `attr_rtx'.  Move variable declarations into the
2730         scope where they are used.  Eliminate unnecessary gotos.
2731         (attr_rtx): Now just a wrapper for `attr_rtx_1' using VA_OPEN,
2732         VA_FIXEDARG, and VA_CLOSE.
2733
2734 2001-11-30  Hans-Peter Nilsson  <hp@axis.com>
2735
2736         * config/cris/cris.c (cris_notice_update_cc): Check first
2737         destination also against overlap with cc_status.value2 and second
2738         destination against overlap with cc_status.value1.  For overlaps,
2739         clear overlapped value, don't just CC_STATUS_INIT.
2740
2741         * config/cris/cris.h (EXTRA_CONSTRAINT_T): Fix spacing and FIXME.
2742         Fix typo in comment.
2743         (LINK_SPEC): Remove whitespace at end of line.
2744
2745 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
2746
2747         * c-lex.c (init_c_lex): Canonicalize "-" filename to "".
2748
2749 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
2750
2751         * gcc.c (ASM_DEBUG_SPEC): Only check HAVE_AS_G*_DEBUG_FLAG
2752         macros for the supported debugging types.
2753
2754 2001-11-29  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2755
2756         PR other/4932
2757         * config/i386/i386.c (print_operand):  Verify that the
2758           argument to %c is a constant and not a conditional which
2759           needs to be reversed.
2760
2761 Thu Nov 29 11:12:59 2001  Geoffrey Keating (geoffk@redhat.com)
2762
2763         * emit-rtl.c (gen_lowpart_common): Fix conversion of
2764         REAL_VALUE_TYPEs to an array of target integers.  Fix extraction
2765         of low part of those arrays for 32bit and 64bit hosts.
2766
2767 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2768
2769         * Makefile.in (insn-output.o): Depend on insn-codes.h.
2770
2771 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
2772
2773         * configure.in (target_list): Add generated-manpages.
2774         * configure: Regenerate.
2775         * Makefile.in (generated-manpages): Depend on
2776         lang.generated-manpages.
2777         * objc/Make-lang.in (objc.generated-manpages): New dummy target.
2778
2779 2001-11-29  Nick Clifton  <nickc@cambridge.redhat.com>
2780
2781         * config/arm/crti.asm (_init): Add .thumb_func if compiled
2782         with -mthumb.
2783         (_fini): Add .thumb_func if compiled with -mthumb.
2784
2785 2001-11-28  Eric Christopher  <echristo@redhat.com>
2786
2787         * config/mips/mips.c (override_options): Fix thinko in mips_tune
2788         for mips32/mips64. Remove MASK_SOFT_FLOAT configuration bits.
2789
2790 Thu Nov 29 00:24:15 EST 2001  John Wehle  (john@feith.com)
2791
2792         * alpha.md (tablejump): Use pic_offset_table_rtx
2793         instead of gen_rtx_REG.
2794
2795 Wed Nov 28 15:36:13 2001  Jeffrey A Law  (law@cygnus.com)
2796
2797         * expr.c (store_expr): When copying a string constant into an
2798         array, reset the known alignment of the MEM for the section to
2799         be cleared to BITS_PER_UNIT.
2800
2801 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
2802
2803         * config/cris/cris.c: Remove whitespace at end of line.
2804
2805 Wed Nov 28 14:51:23 2001  Douglas B. Rupp  <rupp@gnat.com>
2806
2807         * config.gcc (i[34567]86-*-interix3*): New case.
2808         * config/x-interix3, config/interix3.h, config/i386/i386-interix3.h:
2809         New files.
2810
2811 2001-11-28  Richard Henderson  <rth@redhat.com>
2812
2813         * config/alpha/alpha.md (sibcall_osf_1, sibcall_value_osf_1): Use
2814         symbolic_operand as the predicate.
2815
2816 2001-11-28  Richard Henderson  <rth@redhat.com>
2817
2818         * doloop.c (doloop_modify_runtime): Properly select induction
2819         variable; skip late entry test if biv initializer created by loop.
2820
2821 Wed Nov 28 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2822
2823         * tree.h (EXPR_WFL_LINECOL): Used by Java in node other than
2824         EXPR_WITH_FILE_LOCATION, so change checks and documentation.
2825
2826         * tree.h (TREE_VIA_PROTECTED): Update to show can be in TREE_VEC.
2827
2828         * tree.h: Add missing checks on some macros; make formatting more
2829         consistent.
2830
2831         * stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top
2832         level; only add to pending_sizes if find it.
2833
2834         * langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED.
2835
2836         * df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap):
2837         Add casts to remove warnings.
2838
2839         * Makefile.in (OBJS): Sort alphabetically.
2840
2841         * print-rtl.c (print_rtx): If RTX code is bad, just say so.
2842         Also minor cleanups.
2843
2844 Wed Nov 28 06:52:27 2001  Arnaud Charlet  <charlet@ACT-Europe.FR>
2845
2846         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Remove STAGE_PREFIX.
2847         (FLAGS_TO_PASS): Add STAGE_PREFIX.
2848         (SUBDIR_FLAGS_TO_PASS): Apply PREPEND_DOTDOT_TO_RELATIVE_PATH
2849         to STAGE_PREFIX.
2850
2851 Wed Nov 28 10:42:19 CET 2001  Jan Hubicka  <jh@suse.cz>
2852
2853         * cse.c (true_dependence_in_rtx): New function.
2854         (invalidate): Use it.
2855
2856         * c-common.h (GOTO_FAKE_P): New macro.
2857         * tree-inline.c (GOTO_FAKE_P): Set.
2858         * c-tree.texi (GOTO_FAKE_P): Document.
2859
2860         * varasm.c (assemble_variable): Set reloc to 3 for error_mark
2861         containing pointers.
2862         (output_addressed_constants): Check for local/external relocations.
2863         * elfos.h (SELECT_SECTION): Classify data section.
2864         * tm.texi (SELECT_SECTION): Update documentation.
2865
2866         * cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit.
2867         (flow_dfs_compute_reverse_execute): Add only unvisited blocks.
2868
2869 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2870
2871         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
2872         UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have
2873         OBJECT_FORMAT_ROSE.
2874
2875 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
2876
2877         * config/cris/cris.c: Tweak spacing for prototypes.
2878         (LOSE_AND_RETURN): New macro.
2879         (cris_operand_lossage): New function.
2880         (cris_print_index, cris_print_base): Use cris_operand_lossage
2881         rather than fatal_insn.
2882         (cris_print_operand, cris_print_operand_address): Use
2883         LOSE_AND_RETURN rather than fatal_insn and internal_error.
2884         (cris_output_addr_const): Use LOSE_AND_RETURN and
2885         output_operand_lossage rather than fatal_insn and internal_error
2886         for valid but unexpected rtx expressions.
2887
2888         * config/cris/cris.c (cris_split_movdx): Don't call alter_subreg
2889         for a SUBREG in src or dest, abort instead.
2890
2891 2001-11-28  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2892
2893         * doc/passes.texi: Remove reference to c-dump.c. Update tree inlining
2894         doc.
2895
2896 2001-11-27  Jakub Jelinek  <jakub@redhat.com>
2897
2898         * gcc.c (ASM_DEBUG_SPEC): Use conditional expression rather than
2899         preprocessor define.  If only DBX_DEBUGGING_INFO or only
2900         DWARF2_DEBUGGING_INFO is supported for the target, provide
2901         appropriate definitions.
2902
2903 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
2904
2905         * Makefile.in: Update, and add c-objc-common.o dependencies.
2906         * c-lang.c: Remove unnecessary includes.
2907         (c_init): Move bulk of code to c_objc_common_init, and call it.
2908         (c_tree_printer, c_missing_noreturn_ok_p, c_disregard_inline_limits,
2909         inline_forbidden_p, c_cannot_inline_tree_fn): Move to
2910         c-objc-common.c.
2911         * c-objc-common.c: New.  Mostly pulled from c-lang.c.
2912         * c-tree.h (c_disregard_inline_limits, c_cannot_inline_fn,
2913         c_objc_common_init, c_missing_noreturn_ok_p): New.
2914         * toplev.c: Update comment.
2915         * doc/passes.texi: Update.
2916 objc:
2917         * objc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
2918         LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
2919         LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override.
2920         (objc_init): Update to use c_objc_common_init.
2921
2922 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
2923
2924         * cpphash.c (_cpp_init_hashtable): Update.
2925         * cpphash.h (struct spec_nodes): Remove n_L.
2926         * cpplex.c (_cpp_lex_direct): Check for prefix L separately.
2927
2928 2001-11-17  Richard Henderson  <rth@redhat.com>
2929
2930         * unroll.c (loop_iterations): Move last change ...
2931         * doloop.c (doloop_modify_runtime): ... here.
2932
2933 2001-11-17  Corey Minyard  <minyard@acm.org>
2934             Richard Henderson  <rth@redhat.com>
2935
2936         * unroll.c (loop_iterations): Detect one situation in which we
2937         overestimate the number of iterations.
2938
2939 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2940
2941         * gcc.c (set_input): Export.
2942         Move declaration ...
2943         gcc.h (set_input): ... here.
2944
2945 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2946
2947         * gcc.c (set_collect_gcc_options): New function, split out from
2948         main.
2949         Ignore elided switches.
2950         (do_spec): Invoke before executing command.
2951         (do_spec_1): Likewise.
2952         Fixes PR other/3968.
2953
2954 2001-11-27  Hans-Peter Nilsson  <hp@axis.com>
2955
2956         * config/cris/cris.h (INT_ASM_OP): Remove.
2957
2958 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2959
2960         * config/i386/sol2.h (WINT_TYPE): Redefine.
2961         (WINT_TYPE_SIZE): Likewise.
2962
2963 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2964
2965         * collect2.c: Check HAVE_DUP2 instead of NO_DUP2.
2966         (dup2): Make static and add prototype.
2967         * m68k/plexus.h: Don't define NO_DUP2.
2968         * configure.in (AC_CHECK_FUNCS): Add dup2.
2969         * config.in, configure: Regenerate.
2970
2971         * ia64/aix.h (REG_SIZE): Don't #undef.
2972         * sparc.h (REG_SIZE): Delete.
2973         * flow.c (mark_used_regs): Don't use REG_SIZE.
2974         * regs.h (REG_SIZE): Delete.
2975
2976 2001-11-27  Andreas Schwab  <schwab@suse.de>
2977
2978         * gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT ->
2979         PREFERRED_DEBUGGING_TYPE.
2980
2981 Tue Nov 27 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2982
2983         * Makefile.in (c-lang.o): Depends on langhooks-def.h.
2984         (expr.o, varasm.o): Depends on langhooks.h.
2985         * c-common.c (c_safe_from_p): Always declare.
2986         (c_expand_expr): Refine when declared.
2987         * c-lang.c (c-common.h): Now include.
2988         (LANG_HOOKS_SAFE_FROM_P): Define new hook.
2989         (c_init): Don't set lang_safe_from_expr.
2990         * expr.c (langhooks.h): Now include.
2991         (lang_safe_from_p): No longer define.
2992         (safe_from_p): Use lang hook.
2993         (expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too.
2994         (expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down.
2995         * expr.h (lang_expand_constant, lang_safe_from_p): Delete.
2996         * langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls.
2997         (LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
2998         * langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions.
2999         * langhooks.h (struct lang_hooks): New fields expand_constant
3000         and safe_from_p.
3001         * output.h (output_constant): Size arg is HOST_WIDE_INT.
3002         * stmt.c (expand_decl_init): No longer need to expand constant
3003         for CONST_DECL.
3004         * stor-layout.c (put_pending_size): Don't check for SAVE_EXPR.
3005         * toplev.c (lang_expand_constant): Delete var.
3006         * tree.c (save_expr): Don't put another SAVE_EXPR around simple
3007         operations on SAVE_EXPR.
3008         * varasm.c (langhooks.h): Now include.
3009         (compare_constant_1): Use lang_hooks, not lang_expand_constant.
3010         (record_constant_1, output_addressed_constants): Likewise.
3011         (initializer_constant_valid_p, output_constant): Likewise.
3012         (output_constant_def): Process no-defer of string constant.
3013         (output_addressed_constants, case ADDR_EXPR): Use handled_component_p.
3014         (output_constant): Strip more conversions.
3015         Track our size and pad for the rest.
3016         (array_size_for_constructor): Remove code for non-byte STRING_CST.
3017         (output_constructor): SIZE now HOST_WIDE_INT.
3018
3019 2001-11-27  Richard Henderson  <rth@redhat.com>
3020
3021         * ifcvt.c (noce_try_store_flag_constants): Test for overflow
3022         in computing DIFF.
3023
3024 2001-11-27  Zack Weinberg  <zack@codesourcery.com>
3025
3026         * cppfiles.c (read_include_file): Add comment.
3027
3028 2001-11-26  Richard Henderson  <rth@redhat.com>
3029
3030         * toplev.c (rest_of_compilation): Call free_bb_for_insn before exit.
3031
3032 2001-11-26  Richard Henderson  <rth@redhat.com>
3033
3034         * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Undef.
3035         * config/ia64/aix.h (PREFERRED_DEBUGGING_TYPE): Remove
3036         commented out override.
3037
3038 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3039
3040         * cppfiles.c (stack_include_file): Don't optimize zero-length
3041         files.
3042         (read_include_file): NUL-terminate read files.
3043         * cpplex.c (handle_newline, skip_escaped_newlines,
3044         get_effective_char, skip_whitespace, parse_identifier,
3045         parse_identifier_slow, parse_number, parse_string,
3046         _cpp_lex_direct): Optimize for the fact that buffers are guaranteed
3047         NUL-terminated.
3048         * cpplib.c (destringize_and_run, cpp_define, handle_assertion):
3049         Be sure buffers are NUL terminated.
3050         * cppmacro.c (warn_of_redefinition): Kill compile warning.
3051
3052 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3053
3054         * c-common.c: Include tree-inline.h.
3055         (c_language): Move separate definitions here.
3056         (c_common_init_options, c_common_post_options): New.
3057         (c_common_lang_init): Rename c_common_init.
3058         * c-common.h (c_common_lang_init): Similarly.
3059         (c_common_init_options, c_common_post_options): New.
3060         * c-lang.c (c_post_options): Move body to c_common_post_options.
3061         (c_init_options): Use c_common_init_options.
3062         (c_init): Update.
3063         * langhooks.def: Rearrange.
3064         * langhooks.h: Rearrange, and improve comments.
3065         * toplev.c (do_compile): New function.
3066         (toplev_main): Use it.
3067         (lang_independent_f_options, parse_options_and_default_flags,
3068         process_options): Remove trailing periods.
3069         * Makefile.in: Update.
3070 objc:   * objc-act.c (objc_post_options, objc_init_options): Use c-common.c
3071         functions.
3072         (ojbc_init): Update.
3073
3074 2001-11-26  Richard Henderson  <rth@redhat.com>
3075
3076         * config/alpha/alpha.md (unop): Add 0 offset for some gas versions.
3077
3078 2001-11-26  DJ Delorie  <dj@redhat.com>
3079
3080         * expr.c (store_constructor): Actually use the value computed
3081         if WORD_REGISTER_OPERATIONS.
3082
3083 2001-11-26  Richard Henderson  <rth@redhat.com>
3084
3085         * config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY
3086         for CONSTRUCTOR.
3087
3088 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
3089
3090         * rs6000.c (output_mi_thunk): Handle minimal-toc and call
3091         correct function on AIX.
3092
3093 2001-11-26  Alexandre Oliva  <aoliva@redhat.com>
3094
3095         * toplev.c (process_options): Don't force
3096         flag_optimize_sibling_calls to zero just because exceptions are
3097         enabled.
3098
3099 Mon Nov 26 12:37:05 2001  Jeffrey A Law  (law@cygnus.com)
3100
3101         * df.h (transfer_function_sbitmap): Use PARAMS around argument
3102         list in function prototypes.
3103         (transfer_function_bitmap): Likewise.
3104
3105 2001-11-26  Loren J. Rittle  <ljrittle@acm.org>
3106
3107         * config/stormy16/stormy16.h: Remove DEFAULT_VTABLE_THUNKS.
3108         * config/i386/netbsd-elf.h: Likewise.
3109
3110 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
3111
3112         * doc/trouble.texi: Remove outdated RS/6000 comments.
3113
3114 Mon Nov 26 13:49:41 CET 2001  Jan Hubicka  <jh@suse.cz>
3115
3116         * final.c (walk_alter_subreg): Fix return value.
3117
3118 Mon Nov 26 11:36:20 CET 2001  Jan Hubicka  <jh@suse.cz>
3119
3120         * sparc.c (sparc_absnegfloat_split_legitimate): Do not call
3121         alter_subreg.
3122         * sparc.md (post-reload splitters): Do not call alter_subreg.
3123         * cfgrtl.c (purge_dead_edges): Fix typo in previous fix.
3124
3125 2001-11-25  Aldy Hernandez  <aldyh@redhat.com>
3126
3127         * regclass.c (choose_hard_reg_mode): Handle vector arguments.
3128
3129 2001-11-26  Alan Modra  <amodra@bigpond.net.au>
3130
3131         * final.c: (insn_lengths): Make it an int *, so that large jump
3132         tables don't overflow.
3133
3134 2001-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
3135
3136         * c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New.
3137         (format_types): Use it for scanf.
3138         (dollar_arguments_pointer_p): New.
3139         (init_dollar_format_checking): Store details of which arguments
3140         are pointers.
3141         (maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p.
3142         (finish_dollar_format_checking): Take extra parameter
3143         pointer_gap_ok.  Treat unused arguments differently if
3144         pointer_gap_ok and the unused arguments are pointers.
3145         (check_format_info_main): Pass extra argument to
3146         finish_dollar_format_checking.
3147         * doc/invoke.texi (-Wno-format-extra-args): Document behavior when
3148         unused arguments are present between used arguments with operand
3149         numbers.
3150
3151 2001-11-25  Daniel Berlin  <dan@cgsoftware.com>
3152
3153         * df.c: Add prototypes for hybrid_search_bitmap and
3154         hybrid_search_sbitmap.
3155         (hybrid_search_bitmap): New function.
3156         (hybrid_search_sbitmap): New function.
3157         (iterative_dataflow_sbitmap): Change to use hybrid_search_sbitmap.
3158         (iterative_dataflow_bitmap): Ditto.
3159
3160 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3161
3162         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
3163         address computations.
3164
3165 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3166
3167         * config/m68hc11/m68hc11.c (d_register_operand): Must accept
3168         register b (low part of d).
3169
3170 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3171
3172         * config/m68hc11/m68hc11.h (FUNCTION_PROFILER): Fix label name
3173         passed to mcount.
3174
3175 Sun Nov 25 06:22:09 2001  Douglas B. Rupp  <rupp@gnat.com>
3176
3177         * config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files.
3178         * config/alpha/x-vms: New file, to compile the above.
3179         * config.gcc (alpha*-dec-vms*): Add x-vms.
3180
3181 2001-11-24  Hans-Peter Nilsson  <hp@axis.com>
3182
3183         * genextract.c (main): Set ro_loc for peepholes.
3184
3185 Sat Nov 24 17:04:10 2001  Douglas B. Rupp  <rupp@gnat.com>
3186
3187         * fix-header.c (main): Move inf_buffer termination and inf_limit
3188         calculation to after read.
3189
3190         * config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage.
3191         (__UNIX_FOPEN): Define.
3192
3193 Sat Nov 24 16:11:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3194
3195         * function.c (assign_stack_temp_for_type): Clear alias set before
3196         setting new one.
3197
3198 2001-11-23  David Edelsohn  <edelsohn@gnu.org>
3199
3200         * rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX
3201         format.
3202         * rs6000.md (cmptf): Fix typo.
3203
3204 2001-11-23  Richard Sandiford  <rsandifo@redhat.com>
3205
3206         * final.c (output_addr_const): Output PC as '.' even if !flag_pic.
3207         * varasm.c (output_constructor): Use assemble_integer rather
3208         than ASM_OUTPUT_BYTE.
3209
3210 2001-11-23  Andreas Jaeger  <aj@suse.de>
3211
3212         * cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign
3213         extension.
3214
3215 2001-11-23  Nick Clifton  <nickc@cambridge.redhat.com>
3216
3217         * config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override
3218         default definition.
3219         (SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition.
3220         (MULTILIB_DEFAULTS): Remove previous definition.
3221
3222 2001-11-23  Neil Booth  <neil@daikokuya.demon.co.uk>
3223
3224         * cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
3225         * gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update.
3226
3227 2001-11-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3228
3229         * cris.h: Revert thinko in last patch.
3230
3231 2001-11-23  Joseph S. Myers  <jsm28@cam.ac.uk>
3232
3233         * ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
3234         FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
3235         cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
3236         dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
3237         explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
3238         sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.
3239
3240         * predict.c, reg-stack.c: Fix spelling errors.
3241
3242 2001-10-09  Andrew Haley  <aph@redhat.com>
3243
3244         * calls.c (check_sibcall_argument_overlap): Use slot_offset for
3245         start of stack slot.
3246
3247 2001-11-22  Graham Stott  <grahams@redhat.com>
3248
3249         * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
3250         replacement jump after original jump.
3251
3252         (verify_flow_info): Remove redundent initialisation.
3253         Handle reaching end of insn list before finding a BARRIER.
3254         Only issue one missing barrier diagnostic.
3255
3256 2001-11-22  Graham Stott  <grahams@redhat.com>
3257
3258         * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
3259
3260 Thu Nov 22 06:49:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3261
3262         * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
3263         insn actually does.
3264
3265 2001-11-22  Nick Clifton  <nickc@cambridge.redhat.com>
3266
3267         * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
3268         Fix typo -mm32rx=> -m32rx.
3269
3270         * config/arm/arm.c (arm_elf_asm_named_section): Only build for elf
3271         targets.
3272
3273         * config.gcc (xscale-coff): Add necessary header files to
3274         tm_file variable.
3275
3276 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
3277
3278         * rs6000.c (output_cbranch): Use $, not %$, in output template.
3279
3280 2001-11-21  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3281
3282         * tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
3283         (lang_type_quals): Declare.
3284         (dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
3285         retrieve language-specific qualifiers for a type node, instead of
3286         C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
3287         lang_dump_tree.
3288         * tree-dump.h: Rename from c-dump.h.
3289         * c-common.h (C_TYPE_QUALS): Removed.
3290         Move declarations for tree-dump.c interface to...
3291         * tree.h: ... here. Remove lang_dump_tree.
3292         * langhooks.h (struct lang_hooks_for_tree_dump): New.
3293         (struct lang_hooks): Add tree_dump hooks.
3294         * langhooks.c (lhd_tree_dump_dump_tree): New function.
3295         (lhd_tree_dump_type_quals): New function.
3296         * langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
3297         Declare.
3298         (LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
3299         * Makefile.in: Move tree-dump.o to language-independent back-end.
3300
3301 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3302
3303         * 1750a.h (DBX_REGISTER_NUMBER): Don't define.
3304         * alpha.h (DBX_REGISTER_NUMBER): Likewise.
3305         * arc.h (DBX_REGISTER_NUMBER): Likewise.
3306         * arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
3307         * avr.h (DBX_REGISTER_NUMBER): Likewise.
3308         * c4x.h (DBX_REGISTER_NUMBER): Likewise.
3309         * clipper.h (DBX_REGISTER_NUMBER): Likewise.
3310         * convex.h (DBX_REGISTER_NUMBER): Likewise.
3311         * cris.h (DBX_REGISTER_NUMBER): Likewise.
3312         * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
3313         * elxsi.h (DBX_REGISTER_NUMBER): Likewise.
3314         * fr30.h (DBX_REGISTER_NUMBER): Likewise.
3315         * h8300.h (DBX_REGISTER_NUMBER): Likewise.
3316         * i370.h (DBX_REGISTER_NUMBER): Likewise.
3317         * i860.h (DBX_REGISTER_NUMBER): Likewise.
3318         * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
3319         * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
3320         * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
3321         * m32r.h (DBX_REGISTER_NUMBER): Likewise.
3322         * m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
3323         * m88k.h (DBX_REGISTER_NUMBER): Likewise.
3324         * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
3325         * mcore.h (DBX_REGISTER_NUMBER): Likewise.
3326         * mn10200.h (DBX_REGISTER_NUMBER): Likewise.
3327         * mn10300.h (DBX_REGISTER_NUMBER): Likewise.
3328         * pdp11.h (DBX_REGISTER_NUMBER): Likewise.
3329         * romp.h (DBX_REGISTER_NUMBER): Likewise.
3330         * rs6000.h (DBX_REGISTER_NUMBER): Likewise.
3331         * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
3332         * s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
3333         * stormy16.h (DBX_REGISTER_NUMBER): Likewise.
3334         * v850.h (DBX_REGISTER_NUMBER): Likewise.
3335         * vax.h (DBX_REGISTER_NUMBER): Likewise.
3336         * we32k.h (DBX_REGISTER_NUMBER): Likewise.
3337
3338         * defaults.h (DBX_REGISTER_NUMBER): Provide a default.
3339         * doc/tm.texi (DBX_REGISTER_NUMBER): Update.
3340
3341 2001-11-21  H.J. Lu <hjl@gnu.org>
3342
3343         * config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.
3344
3345 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3346
3347         * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
3348         emit_cmp_and_jump_insns.
3349
3350         * stormy16.c (xstormy16_expand_builtin_va_arg,
3351         xstormy16_expand_casesi): Likewise.
3352
3353 Wed Nov 21 17:37:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3354
3355         * function.c (keep_stack_depressed): Major rework.
3356         (handle_epilogue_set, emit_equiv_load): New functions.
3357         (thread_prologue_and_epilogue_insns): keep_stack_depressed now
3358         has return value.
3359         * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
3360         * rtl.h (SET_IS_RETURN_P): New macro.
3361
3362         * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
3363         and also support TREE_ADDRESSABLE.
3364         * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
3365
3366 2001-11-21  David Edelsohn  <edelsohn@gnu.org>
3367
3368         * rs6000.md (cmptf_internal1): Replace %$ with $.
3369
3370 Wed Nov 21 16:44:01 2001  Douglas B. Rupp  <rupp@gnat.com>
3371
3372         * cppfiles.c (STAT_SIZE_TOO_BIG): Define.
3373         (read_include_file): Use STAT_SIZE_TOO_BIG.
3374
3375         * cppinit.c (INO_T_COPY): Define.
3376         (INO_T_EQ): Uppercase parameters.
3377         (append_include_chain): Use INO_T_COPY.
3378
3379 2001-11-21  Richard Sandiford  <rsandifo@redhat.com>
3380
3381         * cfg.c: Fix typos and formatting in the introductory comment.
3382
3383 Wed Nov 21 12:38:37 CET 2001  Jan Hubicka
3384
3385         * profile.c (compute_branch_probabilites):  Compute probabilities
3386         for entry/exit edges; estimate probabilities for zero counts.
3387
3388 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
3389
3390         * explow.c (probe_stack_range): Use LCT_NORMAL as second argument
3391         to emit_library_call.
3392         * function.c (expand_main_function, expand_function_start,
3393         expand_function_end): Likewise.
3394         * profile.c (output_func_start_profiler): Likewise.
3395         * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
3396         second argument to emit_library_call.
3397         * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
3398         as second argument to emit_library_call.
3399         * calls.c (emit_library_call): Update fn_type description.
3400
3401 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
3402
3403         * c-decl.c (c_expand_deferred_function): Only call c_expand_body
3404         if fndecl is still DECL_INLINE and has DECL_RESULT.
3405
3406 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3407
3408         * clipper.c (clipper_movstr): Avoid uninitialized warning.
3409         * i960.c (is_mask, legitimize_address): Likewise.
3410         * m88k.c (m88k_expand_prologue): Likewise.
3411         * m88k.md: Likewise.
3412         * mcore.c (emit_new_cond_insn): Likewise.
3413         * stormy16.c (xstormy16_emit_cbranch): Likewise.
3414
3415 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
3416
3417         * config.gcc: Delete powerpcle-*-solaris2* stanza.
3418         * config/rs6000/eabi.asm, config/rs6000/rs6000.c,
3419         config/rs6000/rs6000.h, config/rs6000/rs6000.md,
3420         config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
3421         config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
3422         config/rs6000/t-ppcos: Expunge all references to Solaris.
3423
3424         * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
3425
3426         * config/rs6000/rs6000.md: Replace '%$' with '$' in all
3427         output templates.
3428         * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
3429         and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
3430
3431 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3432
3433         * sh.md: Avoid uninitialized warnings.
3434         * vax.c (vax_rtx_cost): Likewise.
3435
3436 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
3437
3438         * rs6000.c (direct_return): Check if we are saving altivec
3439         registers.
3440         (first_altivec_reg_to_save): New.
3441         Updated stack frame layout comments.
3442         (rs6000_stack_info): Calculate altivec register save size.
3443         Save link register if we saved some altivec registers.
3444         (rs6000_stack_info): Align save size to 16 if altivec abi or
3445         abi_darwin.
3446         (rs6000_stack_info): Calculate altivec register offsets.
3447         (rs6000_stack_info): Add altivec info to save_size.
3448         (debug_stack_info): Add altivec debug info.
3449         (rs6000_emit_prologue): Save altivec registers and vrsave.
3450         (compute_vrsave_mask): New.
3451         (altivec_expand_builtin): Remove unused variables.
3452         (rs6000_parse_abi_options): Add static qualifier.
3453         (rs6000_expand_builtin): Remove unused parameters.
3454         (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
3455         (altivec_init_builtins): Same.
3456         (is_altivec_return_reg): New.
3457         (vrsave_operation): New.
3458         (ALTIVEC_REG_BIT): New.
3459         (generate_set_vrsave): New.
3460
3461         * rs6000.md (get_vrsave): New.
3462         (set_vrsave): New.
3463         (*set_vrsave_internal): New.
3464
3465         * rs6000.h (rs6000_stack): Add first_altivec_reg_save,
3466         altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
3467         altivec_padding_size, vrsave_mask.
3468         (TOTAL_ALTIVEC_REGS): New.
3469         (EPILOGUE_USES): Add VRSAVE_REGNO.
3470
3471 2001-11-20  Jeff Law <law@redhat.com>
3472
3473         * unroll.c (copy_loop_body): Update LABEL_NUSES for the
3474         exit label as necessary.
3475
3476 2001-11-20  Brad Kaiser  <bkaiser@acelink.net>
3477
3478         * reload1.c (elimination_effects): Use function_invariant_p
3479         instead of CONSTANT_P when considering register equivalences.
3480
3481 2001-11-20  David O'Brien  <obrien@FreeBSD.org>
3482
3483         * config.gcc: Add FreeBSD/PowerPC target.
3484         (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
3485         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
3486         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
3487         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
3488         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
3489         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
3490         freebsd-spec.h to tm_file.
3491         (rs6000-*-lynxos*): Add lynx.h to tm_file.
3492         * config/freebsd.h: Tidy up.
3493         (USING_CONFIG_FREEBSD): Define.
3494         (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
3495         FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
3496         FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
3497         (TARGET_HAS_F_SETLKW): Define.
3498         (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
3499         * config/freebsd-spec.h: New file.
3500         * config/rs6000/freebsd.h: New file.
3501         * config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
3502         * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
3503         USING_SVR4_H to know when to turn on ELF support.
3504         * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
3505         define only if not already defined.
3506         Add FreeBSD support.
3507         * config/rs6000/aix.h (TARGET_VERSION): Define.
3508         * config/rs6000/beos.h: Likewise.
3509         * config/rs6000/darwin.h: Likewise.
3510         * config/rs6000/mach.h: Likewise.
3511         * config/rs6000/lynx.h (TARGET_VERSION): Likewise.
3512         Don't include lynx.h directly.
3513
3514 2001-11-20  Graham Stott  <grahams@redhat.com>
3515
3516         * unwind-dw2-fde.c (__deregister_frame_info_bases):
3517         Fix lossage in last change return OB.
3518
3519 Tue Nov 20 11:56:12 2001  Douglas B. Rupp  <rupp@gnat.com>
3520
3521         * config/alpha/xm-vms.h (_POSIX_EXIT): Define.
3522         Remove unneeded exit related macros.
3523
3524 2001-11-20  David Edelsohn  <edelsohn@gnu.org>
3525
3526         * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
3527
3528         * rs6000.c (rs6000_emit_move): Add TFmode case.
3529         * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
3530         LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
3531         LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
3532         * rs6000.h: ... to here.
3533         * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
3534         trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
3535         fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
3536
3537 Tue Nov 20 06:41:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3538
3539         * emit-rtl.c (get_mem_attrs): Fix typo.
3540
3541 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
3542
3543         * c-lang.c (finish_file): Backout 2001-11-16
3544         changes, instead set DECL_DEFER_OUTPUT for static inline functions
3545         before calling c_expand_deferred_function.
3546
3547 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
3548
3549         * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
3550         Don't register empty .eh_frame sections.
3551         (__deregister_frame_info_bases, __deregister_frame): Don't
3552         unregister them either.
3553
3554 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
3555
3556         * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
3557         (HAVE_AS_GSTABS_DEBUG_FLAG): Define.
3558         * configure: Regenerate.
3559         * config.in: Add dummy definitions of new flags.
3560         * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
3561         * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
3562         * gcc.c (ASM_DEBUG_SPEC): New macro.
3563         (asm_debug): New static variable.
3564         (default_compilers): Add asm_debug when assembling from
3565         user input.
3566         (static_specs): Add asm_debug.
3567
3568 2001-11-20  Loren J. Rittle  <ljrittle@acm.org>
3569
3570         * config.gcc (*-*-freebsd*): Remove configuration block.
3571
3572 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
3573
3574         bootstrap/4422
3575         * configure.in: Setup ability to run ./stage[1234]/xgcc in
3576         fixinc *as if* it were a proper lang subdirectory.
3577         * configure: Rebuilt.
3578
3579 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
3580
3581         * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
3582
3583 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3584
3585         * 1750a.md: Don't use hex format for a const_int.
3586
3587 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
3588
3589         * expmed.c (extract_bit_field): Don't create invalid SUBREGs.
3590
3591 2001-11-19  Zack Weinberg  <zack@codesourcery.com>
3592
3593         * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
3594         defined (prevents link errors when gettext isn't in the system
3595         library).
3596
3597 2001-11-19  DJ Delorie  <dj@redhat.com>
3598
3599         * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
3600         (validate_const_int): New.
3601         (read_rtx): Validate constant integers.
3602         * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
3603
3604 2001-11-19  Jakub Jelinek  <jakub@redhat.com>
3605
3606         * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
3607
3608 Mon Nov 19 16:57:44 2001  Douglas B. Rupp  <rupp@gnat.com>
3609
3610         * toplev.c (DUMPFILE_FORMAT): Define default.
3611         (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
3612         (close_dump_file, compile_file): Likewise.
3613         * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
3614         * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
3615
3616 2001-11-19  Jeff Law <law@redhat.com>
3617
3618         * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
3619         a nop-jump.
3620
3621 2000-11-19  Neil Booth  <neil@daikokuya.demon.co.uk>
3622
3623         * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
3624         Don't fall off the base token run.
3625
3626 2001-11-19  Jason Wilkins <fenix@io.com>
3627
3628         * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
3629
3630 Mon Nov 19 15:13:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3631
3632         * tree.def (VIEW_CONVERT_EXPR): New tree code.
3633         * tree.h (handled_component_p): New declaration.
3634         * alias.c (handled_component_p): Move function from here ...
3635         * expr.c (handled_component_p): ... to here and non longer static.
3636         (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
3637         (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
3638         (get_inner_reference): Handle VIEW_CONVERT_EXPR.
3639         (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
3640         (expand_expr, case VIEW_CONVERT_EXPR): New case.
3641         (expand_expr, cse ADDR_EXPR): No need to copy if already
3642         BIGGEST_ALIGNMENT.
3643         * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
3644         * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
3645         (output_constant): Handle VIEW_CONVERT_EXPR.
3646         * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
3647         Add new case for VIEW_CONVERT_EXPR.
3648
3649 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3650
3651         * a29k/unix.h (ASM_FILE_START): Const-ify.
3652         * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
3653         * i386/isc.h (ASM_FILE_START): Const-ify.
3654         * i386/sun386.h (ASM_FILE_START): Likewise.
3655         * m32r.md: Likewise.
3656         * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
3657         * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
3658         * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
3659         * mn10200.md: Initialize variable.
3660
3661 Mon Nov 19 18:06:21 CET 2001  Jan Hubicka  <jh@suse.cz>
3662
3663         * gcse.c (try_replace_reg): Copy RTX before creating note.
3664
3665         * df.h (df_ref_flags): New uenum.
3666         (DF_REF_FLAGS): New macro.
3667         (struct ref): Add field "flags".
3668         * df.c (HANDLE_SUBREG): Remove.
3669         (df_ref_create): Likewise; set flags field of ref.
3670         (df_def_record_1): Strip down read_write subreg; remove
3671         commented out code; set READ_WRITE flag.
3672         (read_modify_subreg_p): New static function.
3673         (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
3674         new argument "flags".
3675         (df_insn_refs_record): Update call of df_uses_record.
3676         (df_insn_modify): Avoid #if 0 around comment.
3677         (df_dump): Dump the read/write flag.
3678
3679         * predict.c (propagate_freq): Make cyclic_probability and frequency
3680         volatile
3681
3682         * i386.c (ix86_cc_mode): Accept USE.
3683
3684         * cfgrtl.c (purge_dead_edges):  Cleanup EDGE_ABNORMAL flag if computed
3685         jump is turned into simplejump.
3686
3687 2001-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
3688
3689         * doc/fragments.texi, doc/trouble.texi: Remove links to old
3690         installation chapter.
3691         * doc/gcc.texi: Don't claim that this manual documents
3692         installation.  Mark Installation menu entry as being out of date.
3693
3694 Mon Nov 19 07:21:35 2001  Douglas B. Rupp  <rupp@gnat.com>
3695
3696         * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
3697         (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
3698         * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
3699
3700 2001-11-19  Jason Merrill  <jason@redhat.com>
3701
3702         * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
3703         cur_token, not after.
3704
3705         * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
3706         Lose ASM_OUTPUT_CONSTRUCTOR.
3707         * system.h: Poison it and INT_ASM_OP.
3708         * c-lang.c (finish_file): Don't check for it.
3709         * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
3710
3711 2001-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3712
3713         * mmix.c (mmix_cc1_ignored_option): Const-ify.
3714         (mmix_init_machine_status): Make static to match declaration.
3715         (mmix_unique_section): Const-ify.
3716         (mmix_output_quoted_string): Avoid automatic aggregate
3717         initialization.
3718         (mmix_output_register_setting): Likewise.
3719         (mmix_output_shiftvalue_op_from_str): Likewise.
3720
3721         * mmix.h (mmix_cc1_ignored_option): Const-ify.
3722         (ASM_OUTPUT_BYTE): Fix format specifier warning.
3723         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3724
3725 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3726
3727         PR c/4448
3728         * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
3729         name __objc_thread_exit_status so that it matches the
3730         variable defined in objc/thr.h.
3731
3732 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3733
3734         PR bootstrap/4020
3735         * mklibgcc.in: Add missing semi-colons.
3736         * Makefile.in: Same.
3737
3738 Sun Nov 18 16:47:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3739
3740         * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
3741         after re-laying out decl in incomplete case.
3742         (expand_expr, case ADDR_EXPR): Fix typo in copy case.
3743
3744 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
3745
3746         * doc/install-old.texi: Move some sections out to ...
3747         * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
3748         ... here.  New files.  Make into chapters rather than sections.
3749         * doc/gcc.texi: Include the new files and add menu entries for
3750         them.
3751         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
3752
3753 Sun Nov 18 14:13:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3754
3755         * tree.h (TYPE_ALIGN_OK): New flag.
3756         * emit-rtl.c (set_mem_attributes): Handle it.
3757         * expr.c (emit_single_push_insn): Only set to alias set 0 if
3758         doing sibcall optimization.
3759         (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
3760         when make temporary.
3761         (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
3762         (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
3763
3764         * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
3765
3766 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
3767
3768         * c-decl.c (c_decode_option): Give deprecation warning for
3769         -traditional.
3770         * doc/invoke.texi (-traditional): Note that this option is
3771         deprecated.
3772
3773 Sun Nov 18 07:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
3774
3775         * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
3776         arg to HOST_WIDE_INT, not long.
3777
3778         * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
3779         (HAS_INIT_SECTION): Define.
3780         (REAL_ARITHMETIC): Don't undefine.
3781
3782 2001-11-18  Egor Duda  <deo@logos-m.ru>
3783
3784         * config/i386/cygwin.h: Strip leading '*' from name, if any.
3785
3786 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
3787
3788         * Makefile.in (c-parse.o, c-common.o): Update dependencies.
3789         * c-common.c: Include diagnostic.h.
3790         (c_common_finish): New.
3791         * c-common.h (c_common_finish): New.
3792         * c-lang.c (LANG_HOOKS_FINISH): Override.
3793         * c-parse.in: Don't include diagnostic.h.
3794         (finish_parse): Remove.
3795         * langhooks.h: Update comments.
3796         * toplev.c (lang_dependent_init): New prototype.
3797         (finalize): New.
3798         (compile_file): Split cleanup code out to finalize.
3799         (lang_dependent_init): Stop if lang_hooks.init fails.
3800         (toplev_main): Update.
3801         * tree.h (finish_parse): Remove.
3802 objc:
3803         * objc-act.c (LANG_HOOKS_FINISH): Override.
3804
3805 Sat Nov 17 23:30:44 2001  Douglas B. Rupp  <rupp@gnat.com>
3806
3807         * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
3808         * config/alpha/vms_tramp.asm: New file.
3809         * config/alpha/vms-tramp.asm: Removed.
3810
3811 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
3812
3813         * c-common.c (struct disabled_builtin, disabled_builtins,
3814         disable_builtin_function, builtin_function_disabled_p): New.
3815         (builtin_function_2): Check for disabled built-in functions.
3816         * c-common.h (disable_builtin_function): Declare.
3817         * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
3818         * doc/invoke.texi: Document -fno-builtin-FUNCTION.
3819         * doc/extend.texi: Mention -fno-builtin-FUNCTION.
3820
3821 2001-11-17  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3822
3823         PR target/4606
3824         * config.gcc: Remove reference to va-clipper.h.
3825
3826 2001-11-17  Stan Shebs  <shebs@apple.com>
3827
3828         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
3829         AltiVec-related bitfields.
3830
3831 Sat Nov 17 12:06:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3832
3833         * except.c (enum eh_region_type): Add ERT_UNKNOWN.
3834         (mark_eh_region, case ERT_UKNONW): New case.
3835
3836 2001-11-17  Christopher Faylor  <cgf@redhat.com>
3837             Corinna Vinschen  <vinschen@redhat.com>
3838
3839         * config/i386/cygwin.h: Search target specific include directory for
3840         w32api stuff, if appropriate.
3841
3842 Sat Nov 17 08:20:44 2001  Douglas Rupp  <rupp@gnat.com>
3843
3844         * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
3845
3846 2001-11-16  Aldy Hernandez  <aldyh@redhat.com>
3847
3848         * config/rs6000/rs6000.md: Change all ldvx to lvx.
3849
3850 2001-11-16  Alexandre Oliva  <aoliva@redhat.com>
3851
3852         * gensupport.c (process_rtx): Don't assume filename is the first
3853         argument of any rtl.
3854
3855 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3856
3857         * vax-protos.h (reg_was_0_p): New prototype.
3858         * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
3859         * vax.c (follows_p, reg_was_0_p): New functions.
3860
3861 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3862
3863         * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
3864         (casesi1): Likewise.  Define new pattern which arises by simplification
3865         when operand 1 is a constant int.  Correct pattern which arises by
3866         simplification when operand 1 is zero.
3867
3868 2001-11-16  David O'Brien  <obrien@FreeBSD.org>
3869
3870         * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
3871         arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
3872         arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
3873         arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
3874         arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
3875         arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
3876         xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
3877         * config/arm/aof.h: Don't include arm.h.
3878         * config/arm/aout.h: Likewise.
3879         * config/arm/coff.h: Don't include semi.h and aout.h.
3880         * config/arm/elf.h: Don't include aout.h.
3881         * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
3882         (TARGET_VERSION): Undef before defining.
3883         (ARM_OS_NAME): Likewise
3884         (TARGET_DEFAULT): Likewise
3885         (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
3886         * config/arm/pe.h: Don't include arm/coff.h.
3887         * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
3888         SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
3889         * config/arm/riscix1-1.h: Likewise.
3890         * config/arm/rix-gas.h: Don't include riscix.h.
3891         (DBX_CONTIN_LENGTH): Undef before defining.
3892         * config/arm/semi.h: Don't include aout.h.
3893         * config/arm/semiaof.h: Don't include aof.h.
3894         * config/arm/strongarm-coff.h: Don't include coff.h.
3895         * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
3896         * config/arm/vxarm.h: Don't include arm/coff.h.
3897         * config/arm/xscale-coff.h: Don't include coff.h.
3898
3899 Fri Nov 16 15:22:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3900
3901         * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
3902         emit_cmp_insn.
3903
3904 2001-11-16  Andreas Jaeger  <aj@suse.de>
3905
3906         * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
3907         to ....
3908         (fixup_fallthru_exit_predecessor): ... this.
3909         Change callers and prototype.
3910
3911 2001-11-16  Bernd Schmidt  <bernds@redhat.com>
3912
3913         * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
3914         hand; don't use gen_setcc_2.
3915         (ix86_expand_builtin): Fix pshufw.
3916         * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
3917         case UNORDERED to emit the right assembler instruction.
3918         (mmx_pshufw): Lose operand 2.
3919         (cvtsi2ss): Fix representation.
3920         From Graham Stott:
3921         (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
3922
3923 2001-11-16  Joseph S. Myers  <jsm28@cam.ac.uk>
3924
3925         * doc/include/linux-and-gnu.texi: Remove.
3926         * doc/gnu.texi: New.
3927         * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
3928         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
3929
3930 2001-11-16  Kazu Hirata  <kazu@hxi.com>
3931
3932         * config/a29k/a29k.c: Fix comment formatting.
3933         * config/a29k/a29k.h: Likewise.
3934         * config/arc/arc.c: Likewise.
3935         * config/arc/arc.h: Likewise.
3936         * config/vax/vax.c: Likewise.
3937         * config/vax/vax.h: Likewise.
3938         * config/we32k/we32k.c: Likewise.
3939         * config/we32k/we32k.h: Likewise.
3940
3941 2001-11-16  Jeff Law  <law@redhat.com>
3942
3943         * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
3944         creating a new jump insn.
3945
3946 Fri Nov 13 09:06:25 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3947
3948         * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
3949         copy misaligned data.
3950         * varasm.c (assemble_variable): Set alignment into MEM when changed.
3951
3952 2001-11-16  Graham Stott  <grahams@redhat.com>
3953
3954         * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
3955         OPALIGN type.
3956
3957 2001-11-16  Olivier Hainque <hainque@act-europe.fr>
3958
3959         * except.c: Support for catching a list of types with a single handler
3960         (struct eh_region): Change type and filter to lists for catch regions.
3961         (mark_eh_region): Mark the filter list for GC also.
3962         (expand_start_catch): Always build a list if argument not NULL and
3963         register each type of the list through add_type_for_runtime.
3964         (duplicate_eh_region_1): Change type into type_list for catch regions.
3965         (assign_filter_values): Assign a filter to each type associated with a
3966         catch region. Assign filter for NULL types in a unique entry in the
3967         filter list.
3968         (build_post_landing_pads): Emit compare and jump for each filter of
3969         the list associated with a catch region.
3970         (reachable_next_level): When the type thrown is known, stop the search
3971         as soon as one type within a catch list matches. Also, a handler is
3972         potentially reachable only if at least one of the types it catches
3973         has not been previously caught.
3974         (collect_one_action_chain): Retrieve the filter for a NULL type list
3975         from the first filter list entry. For non NULL type lists, add an
3976         action record for every filter assigned.
3977         * except.h: Reflect changes in comment before expand_start_catch.
3978
3979 Fri Nov 16 07:12:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3980
3981         * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
3982         BLKmode.
3983
3984 Fri Nov 16 06:37:05 2001  Andreas Tobler  <a.tobler@schweiz.ch>
3985
3986         * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
3987
3988 2001-11-16  Jakub Jelinek  <jakub@redhat.com>
3989
3990         * c-lang.c (finish_file): Don't emit static inline functions if
3991         they weren't referenced.
3992
3993 2001-11-15  Stan Shebs  <shebs@apple.com>
3994
3995         * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
3996
3997 2001-11-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3998
3999         * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
4000         call.
4001         * config/i386/i386.md: Likewise.
4002
4003 Thu Nov 15 21:40:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4004
4005         * timevar.c (rtl.h): Include so get fancy abort.
4006
4007 2001-11-15  Dale Johannesen  <dalej@apple.com>
4008
4009         * config/darwin.h (SELECT_RTX_SECTION):  Force address
4010         initializers into 'const' section
4011         * config/rs6000/rs6000.c (rs6000_emit_cmove):  Fix mode of
4012         if_then_else to match result, not operands
4013
4014 Thu Nov 15 17:57:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4015
4016         * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
4017         * emit-rtl.c (change_address): Fix typo in default alignment.
4018         (adjust_address_1): Use mode of NEW, not MODE, when setting size.
4019         * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
4020         * rtl.h (REGNO_PTR_FRAME_P): New macro.
4021
4022         * expr.c (store_field): Pass tree instead of max size; callers changed.
4023         Change handling of alignment.
4024         Only copy to_rtx if is TARGET.
4025         (expand_expr_unaligned): Delete; callers now use expand_expr.
4026         (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
4027         (expand_assignment): Change handling of alignment.
4028         Only copy to_rtx if was original.
4029         (get_inner_reference): No longer return alginment; callers changed.
4030         (expand_expr, case COMPONENT_REF): Change handling of alignment.
4031         (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
4032         (compare_from_rtx): Delete ALIGN parm; all callers changed.
4033         (do_compare_rtx_and_jump): Likewise.
4034         * expr.h: Reflect above changes.
4035         * tree.h: Likewise.
4036         * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
4037         to get_inner_reference.
4038         * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
4039         * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
4040         * optabs.c: Likewise.
4041         (prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
4042         (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
4043         * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
4044         compare_rtx_and_jump, and emit_cmp_jump_insns.
4045         * fold-const.c: Remove PALIGN in calls to get_inner_reference.
4046         * function.c (assign_stack_temp_for_type): No longer static.
4047         * optabs.h (emit_cmp_insn): Remove ALIGN parm.
4048         (prepare_cmp_insn): Delete declaration.
4049         * rtl.h (assign_stack_temp_for_type): Add declaration.
4050         * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
4051         * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
4052         * config/i386/i386.c,config/mips/mips.c: Likewise.
4053         * config/i860/i860.c, config/ia64/ia64.c: Likewise.
4054         * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
4055
4056 2001-11-15  Stan Shebs  <shebs@apple.com>
4057
4058         * config/rs6000/rs6000.h: Fix a comment typo.
4059         (RTX_COSTS): Sort processor versions better.
4060
4061 2001-11-15  Kazu Hirata  <kazu@hxi.com>
4062
4063         * config/h8300/h8300.md: Fix insn length of bit insns.
4064
4065 2001-11-15  Jason Merrill  <jason@redhat.com>
4066
4067         * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
4068         DIEs if there were errors in the source.
4069
4070         * config/alpha/alpha-interix.h, config/alpha/elf.h,
4071         config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
4072         config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
4073         config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
4074         config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
4075         config/elfos.h, config/lynx.h, config/netware.h,
4076         config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
4077         config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
4078         uses to use ASM_LONG.
4079
4080 2001-11-15  Alan Matsuoka  <alanm@redhat.com>
4081
4082         * gensupport.c  process_include : Change call to alloca to
4083         xmalloc.
4084
4085 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
4086
4087         * config/rs6000/rs6000.md: Use spaces instead of tabs in output
4088         templates.
4089
4090 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4091
4092         * final.c (alter_subreg): If simplify_subreg can't do anything,
4093         handle REG ourselves and abort for others.
4094
4095 2001-11-15  Richard Hodson  <hodsonr@dionecorp.com>
4096
4097         * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
4098         routines.
4099
4100 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4101
4102         * fix-header.c (read_scan_file): Update.
4103
4104 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4105
4106         * toplev.c (toplev_main): Don't start timing until after
4107         command-line options are parsed.
4108
4109 2001-11-15  Andreas Schwab  <schwab@suse.de>
4110
4111         * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
4112         makefile frag, not host makefile frag.
4113         (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
4114         (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
4115         used.
4116         (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
4117         * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
4118         * config/m88k/t-dgux (STMP_FIXPROTO): Define.
4119         * config/i386/t-cygwin (STMP_FIXPROTO): Define.
4120         * config/i386/t-dgux (STMP_FIXPROTO): Define.
4121         * config/x-interix: Don't define STMP_FIXPROTO and
4122         FIXPROTO_DEFINES.
4123         * config/t-interix: New file, define STMP_FIXPROTO.
4124         * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
4125         * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
4126         * config/t-svr4 (FIXPROTO_DEFINES): Define.
4127         * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
4128         * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
4129         * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
4130         * config/m68k/t-hp3200: Renamed from x-hp3200.
4131         * config/i370/t-oe: Renamed from x-oe.
4132         * config/mips/t-iris: Renamed from x-iris.
4133         * config/pa/t-bsd: Renamed from x-pa.
4134         * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
4135         * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
4136         config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
4137         config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
4138         config/rs6000/x-cygwin: Remove files.
4139
4140         * configure.in: Check for target objdump and use that in eh_frame
4141         optimization test.
4142         * configure: Regenerated.
4143
4144 2001-11-15  Jakub Jelinek  <jakub@redhat.com>
4145
4146         * jump.c (squeeze_notes): Return true if no real insns were found.
4147         * rtl.h (squeeze_notes): Adjust prototype.
4148         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
4149         squeeze_notes finds no real instructions, abort.
4150         (merge_blocks_move_successor_nojumps): Likewise.
4151         * loop.c (find_and_verify_loops): Likewise.
4152         * stmt.c (expand_end_case): Likewise.
4153         * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
4154         find any real instructions.
4155
4156         * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
4157
4158         * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
4159         conditional jump, request updating life into for the block
4160         containing it.  Fix a typo which prevented life info update.
4161         Clear blocks bitmap before using it.
4162
4163 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4164
4165         * c-common.c: Include c-lex.h.
4166         (c_common_lang_init): Change prototype.  Call init_c_lex and
4167         init_pragma from here.
4168         * c-common.h (c_common_lang_init): Change prototype.
4169         * c-decl.c (init_decl_processing): Rename.  Call c_parse_init.
4170         * c-lang.c (c_init): Change prototype.  Update.
4171         (c_init_options): Update.
4172         * c-lex.c (cpp_filename): Remove.
4173         (init_c_lex): Update.  Read the main file, and get the original
4174         file name.
4175         (yyparse): Finish the command line options.
4176         * c-parse.in (c_parse_init): Call init_reswords here.
4177         (init_parse): Remove.
4178         * c-tree.h (c_init_decl_processing): New.
4179         * cpphash.c (_cpp_init_hashtable): After initializing the hash
4180         table, populate it.
4181         * cppinit.c (read_original_filename, cpp_finish_options): New.
4182         (cpp_create_reader): New prototype. Defer hash table initialization.
4183         (cpp_start_read): Rename cpp_read_main_file.  Initialize the
4184         hash table.  Get the original filename.
4185         * cpplib.h (cpp_create_reader): Update.
4186         (cpp_start_read): Remove.
4187         (cpp_read_main_file, cpp_finish_options): New.
4188         * cppmain.c (main, do_preprocessing): Update.
4189         * langhooks.h (struct langhooks): Update init prototype.
4190         * toplev.c (general_init, parse_options_and_default_flags,
4191         process_options, lang_indpendent_init, lang_dependent_init,
4192         init_asm_output): New; perform the bulk of initialization.
4193         (compile_file): Move most of initialization to above functions.
4194         (debug_hooks): Initialize statically.
4195         (set_Wunused): Relocate.
4196         (toplev_main): Move most of initialization to other init functions.
4197         Have a clear logic flow.
4198         * tree.h (init_parse, init_decl_processing): Remove.
4199 objc:
4200         * objc-act.c (objc_init): Update prototype, combine with old
4201         init_parse.
4202         (objc_init_options): Update.
4203
4204
4205 2001-11-15  Andreas Jaeger  <aj@suse.de>
4206
4207         * cfgrtl.c (purge_all_dead_edges): Use int as argument for
4208         portability.
4209         * basic-block.h: Adjust prototype.
4210
4211 2001-11-15  Kazu Hirata  <kazu@hxi.com>
4212
4213         * config/rs6000/aix31.h: Fix comment formatting.
4214         * config/rs6000/beos.h: Likewise.
4215         * config/rs6000/darwin.h: Likewise.
4216         * config/rs6000/eabi.asm: Likewise.
4217         * config/rs6000/linux.h: Likewise.
4218         * config/rs6000/linux64.h: Likewise.
4219         * config/rs6000/lynx.h: Likewise.
4220         * config/rs6000/netbsd.h: Likewise.
4221         * config/rs6000/rs6000.c: Likewise.
4222         * config/rs6000/rs6000.h: Likewise.
4223         * config/rs6000/rs6000.md: Likewise.
4224         * config/rs6000/sol2.h: Likewise.
4225         * config/rs6000/tramp.asm: Likewise.
4226         * config/rs6000/xcoff.h: Likewise.
4227         * config/rs6000/xm-beos.h: Likewise.
4228
4229 2001-11-14  Alan Matsuoka  <alanm@redhat.com>
4230
4231         * rtl.def (INCLUDE) : Define.
4232         * gensupport.c  (init_include_reader, process_include,
4233         save_string) :  New functions to implement an include facility
4234         in .md files.
4235         * gensupport.h : Add prototype for init_md_reader_args.
4236         * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
4237         genextract.c genflags.c genopinit.c genoutput.c
4238         genpeep.c genrecog.c: Change call to init_md_reader to
4239         init_md_reader_args.
4240         * md.texi: Document (include "path") and -I directives for RTL
4241         generation tools.
4242
4243 2001-11-14  DJ Delorie  <dj@redhat.com>
4244
4245         * integrate.c (get_hard_reg_initial_reg): New.
4246         * integrate.h (get_hard_reg_initial_reg): Prototype.
4247         * local-alloc.c (block_alloc): Don't tie pseudos that
4248         represent call-saved hard regs' initial values.
4249
4250 2001-11-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4251
4252         * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
4253         recursion.
4254
4255 2001-11-14  Roger Sayle <roger@eyesopen.com>
4256
4257         * fold-const.c (fold): Optimize strlen comparisons against zero.
4258
4259 2001-11-14  David O'Brien  <obrien@FreeBSD.org>
4260
4261         * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
4262         sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
4263         sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
4264         sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
4265         sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
4266         sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
4267         sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
4268         Include various CPU headers via tm_file.  a.out based platforms now
4269         properly include sparc/aout.h.  sol2.h usage now implies including
4270         elfos.h, svr4.h, and sparc/sysv4.h.
4271         * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
4272         Also define to '1'.
4273         * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
4274         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
4275         DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
4276         Remove.  They are a.out specific and belong in sparc/aout.h.
4277         * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
4278         ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4279         DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define.  Moved here from
4280         sparc/sparc.h.
4281         * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
4282         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
4283         Moved here from sparc/sparc.h.
4284         * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
4285         defining.
4286         * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
4287         * config/sparc/lynx.h:  Don't include lynx.h.
4288         (SELECT_SECTION): Do not undef.
4289         * config/sparc/openbsd.h: Don't include sparc/sparc.h.
4290         * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
4291         and sparc/sysv4.h.
4292         * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
4293         * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define.  Get from
4294         sparc/aout.h now.
4295         * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
4296         Don't undef, there is no need.
4297         * config/sparc/splet.h (CPP_PREDEFINES): Define.
4298         * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
4299         * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
4300         Don't include sparc/sparc.h.
4301         * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
4302         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
4303         DATA_SECTION_ASM_OP): Don't undef, there is no need now.  Don't include
4304         elfos.h and svr4.h.
4305         (TARGET_VERSION): Define.
4306         * config/sparc/vxsim.h (TARGET_VERSION): Define.
4307
4308 Wed Nov 14 19:46:08 CET 2001  Jan Hubicka  <jh@suse.cz>
4309
4310         * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
4311         (cfg_layout_finalize): Use it.
4312         * bb-reorder.c (HAVE_epilogue): Remove.
4313         (make_reorder_chain): Do not care special placement of
4314         last basic block.
4315
4316         * predict.c (expected_value_to_br_prob): Delete the note
4317         once transformed.
4318
4319         * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
4320         measure integration time separately.
4321
4322 Wed Nov 14 12:30:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4323
4324         * function.c (struct temp_slot): ALIGN now unsigned.
4325
4326 2001-11-14  Kazu Hirata  <kazu@hxi.com>
4327
4328         * config/dsp16xx/dsp16xx.c: Fix comment formatting.
4329         * config/dsp16xx/dsp16xx.h: Likewise.
4330         * config/dsp16xx/dsp16xx.md: Likewise.
4331
4332 2001-11-14  Kazu Hirata  <kazu@hxi.com>
4333
4334         * config/h8300/h8300.c (get_shift_alg): Reorganize the code
4335         that deals with 7-bit shifts in HImode.
4336
4337 Wed Nov 14 14:17:05 CET 2001  Jan Hubicka  <jh@suse.cz>
4338
4339         * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
4340         * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
4341         (final_scan_insn): Update call of alter_subreg.
4342         (cleanup_subreg_operands): Likewise.
4343         (alter_subreg): Rewrite using simplify_subreg.
4344         (output_address, output_operand): Update call of alter_subreg.
4345         * output.h (alter_subreg): Update prototype.
4346         * sdbout.c (sdbout_symbol): Update call of alter_subreg.
4347         * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
4348         * Makefile.in (final.o): Add dependency on expr.h
4349
4350 Wed Nov 14 06:37:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4351
4352         * c-lang.c (finish_file): Make I unsigned to eliminate warning.
4353
4354 2001-11-13  Jeff Sturm  <jsturm@one-point.com>
4355
4356         * doc/install.texi (sparc-*-linux*): Mention requirements for
4357         binutils and glibc.
4358
4359 2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
4360
4361         * Makefile.in (POD2MAN): Don't include --section=1.
4362         (manext): Rename to man1ext.  All users changed.
4363         (man7ext): New.
4364         (man7dir): New.
4365         (generated-manpages): Also depend on $(docdir)/gfdl.7,
4366         $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
4367         ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
4368         --section=1 in calls to $(POD2MAN).
4369         ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
4370         (maintainer-clean, install, uninstall): Handle the new man pages.
4371         ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
4372         (installdirs): Create man7dir.
4373         * doc/cpp.texi: Include GFDL in this manual.  In the man page,
4374         refer to gfdl(7) for the GFDL.  Apply Front Cover and Back Cover
4375         texts to man page.  Include gpl(7), gfdl(7) and fsf-funding(7) in
4376         the SEE ALSO man page section.
4377         * doc/gcov.texi: Apply GFDL to man page.  Include gpl(7), gfdl(7)
4378         and fsf-funding(7) in the SEE ALSO man page section.
4379         * doc/invoke.texi: Apply GFDL to man page.  Include gpl(7),
4380         gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
4381         * doc/include/fdl.texi, doc/include/funding.texi,
4382         doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
4383         * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
4384
4385 2001-11-13  Richard Henderson  <rth@redhat.com>
4386
4387         * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
4388         as appropriate for the artificial decl.
4389
4390 2001-11-13  Richard Henderson  <rth@redhat.com>
4391
4392         * loop.c (combine_movables): Turn off combination until
4393         move_movables validation bugs are fixed.
4394
4395 2001-11-13  DJ Delorie  <dj@redhat.com>
4396
4397         * config.gcc (powerpc|rs6000): Set default cpp options based
4398         on --with-cpu settings.
4399         * config/rs6000/softfloat.h: New.
4400
4401 2001-11-13  Kazu Hirata  <kazu@hxi.com>
4402
4403         * config/h8300/h8300.c (shift_alg_si): Use special code for
4404         25-bit shifts on H8/S.
4405         (get_shift_alg): Generate special code for 25-bit shifts on
4406         H8/S.
4407
4408 2001-11-13  Jakub Jelinek  <jakub@redhat.com>
4409
4410         * emit-rtl.c (adjust_address_1): Add ADJUST argument.
4411         (adjust_automodify_address_1): New.
4412         * expr.h (adjust_address, adjust_address_nv): Adjust.
4413         (adjust_automodify_address, adjust_automodify_address_nv): Define.
4414         (adjust_address_1): Update prototype.
4415         (adjust_automodify_address_1): Add prototype.
4416         * expr.c (move_by_pieces_1): Use adjust_automodify_address.
4417         (store_by_pieces_2): Likewise.
4418
4419 Tue Nov 13 05:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4420
4421         * Makefile.in (explow.o): Now depends on ggc.h.
4422         * explow.c (ggc.h): Include.
4423         (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
4424
4425         * Makefile.in (expr.o): Depends on insn-attr.h.
4426         * expr.c (insn-attr.h): New include.
4427         (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
4428         of MEM.
4429         (highest_pow2_factor, case INTEGER_CST): Handle negative values.
4430         (expand_expr): Remove unneeded mark_temp_addr_taken calls and
4431         clean up related usage in ADDR_EXPR.
4432         (expand_expr_unaligned): Likewise.
4433
4434         * emit-rtl.c (change_address): Fix typo in alias setting.
4435
4436 2001-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4437
4438         * Makefile.in (cfgcleanup.o): Depend on insn-config.h
4439
4440 2001-11-12  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4441
4442         PR bootstrap/3451
4443         * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
4444         GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
4445
4446 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
4447
4448         * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
4449         sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
4450         sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
4451         sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
4452         sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
4453         sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
4454         sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
4455         sparc64-*-linux*):  Include various CPU headers via tm_file.
4456         * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
4457         (SELECT_SECTION): Likewise.
4458         (SELECT_RTX_SECTION): Likewise.
4459         * config/sparc/sparc_bi.h: New file.
4460         * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
4461         * config/sparc/linux-aout.h: Likewise.
4462         * config/sparc/linux.h: Don't include sparc/sysv4.h.
4463         * config/sparc/linux64.h: Likewise.
4464         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
4465         * config/sparc/lite.h:  Don't include sparc/sparc.h and gofast.h.
4466         * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
4467         and dbxcoff.h
4468         (ASM_OUTPUT_IDENT): Do not #undef.
4469         (SELECT_SECTION): Likewise.
4470         (SELECT_RTX_SECTION): Likewise.
4471         * config/sparc/liteelf.h: Don't include gofast.h.
4472         * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
4473         * config/sparc/lynx.h: Don't include sparc/sparc.h.
4474         * config/sparc/pbd.h: Likewise.
4475         * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
4476         * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
4477         * config/sparc/rtemself.h: Don't include rtems.h.
4478         * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
4479         * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
4480         sparc_bi.h instead.
4481         * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
4482         * config/sparc/sol2.h: Include sparc/sparc.h directly.
4483         * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
4484         * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
4485         * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
4486         * config/sparc/sp86x-elf.h: Don't include gofast.h.
4487         * config/sparc/splet.h: Don't include sparc/aout.h.
4488         * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
4489         * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
4490         * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
4491         * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
4492         * config/sparc/vxsparc64.h: Don't include gofast.h.
4493         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
4494
4495 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
4496
4497         * doc/standards.texi: Mention C99 TC1.
4498
4499 2001-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4500
4501         * mips-protos.h (mips_output_conditional_branch): Const-ify.
4502         * mips.c (mips_output_conditional_branch): Likewise.
4503
4504 2001-11-12  Kazu Hirata  <kazu@hxi.com>
4505
4506         * config/h8300/h8300.c (shift_alg_si): Use special code for
4507         15-bit logical shifts and 31-bit logical shifts.
4508         (get_shift_alg): Generate special code for 15-bit and 31-bit
4509         logical shifts.
4510
4511 2001-11-12  Kazu Hirata  <kazu@hxi.com>
4512
4513         * config/h8300/h8300.c (shift_alg_qi): Use rotations when
4514         doing 6-bit logical shifts on H8/S.
4515         (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
4516         (get_shift_alg): Generate special code for 21-bit shifts on
4517         H8/S.
4518
4519 2001-11-12  Kazu Hirata  <kazu@hxi.com>
4520
4521         * config/h8300/h8300.c (get_shift_alg): Remove a redundant
4522         label.
4523
4524 Mon Nov 12 11:58:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4525
4526         * alias.c (nonoverlapping_memrefs_p): Only update size from memref
4527         if both size and offset known.
4528
4529 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
4530
4531         * config/ia64/freebsd.h: Fix misspelling.
4532
4533 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
4534
4535         * doc/gcc.texi: Move several chapters out to ...
4536         * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
4537         doc/include/linux-and-gnu.texi, doc/interface.texi,
4538         doc/makefile.texi, doc/passes.texi, doc/portability.texi:
4539         ... here.  New files.
4540         * doc/gcc.texi, doc/contrib.texi: Move section headings into
4541         contrib.texi.
4542         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
4543
4544 2001-11-12  Kazu Hirata  <kazu@hxi.com>
4545
4546         * config/alpha/alpha-interix.h: Fix comment formatting.
4547         * config/alpha/alpha.c: Likewise.
4548         * config/alpha/alpha.h: Likewise.
4549         * config/alpha/alpha32.h: Likewise.
4550         * config/alpha/freebsd.h: Likewise.
4551         * config/alpha/unicosmk.h: Likewise.
4552         * config/alpha/vms.h: Likewise.
4553
4554 2001-11-12  Kazu Hirata  <kazu@hxi.com>
4555
4556         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
4557
4558 2001-11-12  Jakub Jelinek  <jakub@redhat.com>
4559
4560         * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
4561         numbers.
4562
4563 Mon Nov 12 05:18:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4564
4565         * emit-rtl.c (set_mem_attributes): If making object, can set alignment
4566         from type.
4567         (replace_equiv_address): Call update_temp_slot_address.
4568
4569         * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
4570
4571         * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
4572
4573 2001-11-12  Kazu Hirata  <kazu@hxi.com>
4574
4575         * config/h8300/h8300.c (shift_alg_qi): New.
4576         (shift_alg_hi): Likewise.
4577         (shift_alg_si): Likewise.
4578         (get_shift_alg): Change the type of count to unsigned int.
4579         Use the tables.
4580
4581 2001-11-11  Alexandre Oliva  <aoliva@redhat.com>
4582
4583         * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
4584         * c-decl.c (c_expand_body): Take argument can_defer_p.  Use it
4585         to decide whether to defer a function.
4586         (finish_function): Adjust.
4587         (c_expand_deferred_function): New function.
4588         * c-lang.c (deferred_fns): New variable.
4589         (c_init): Initialize it, and mark it as a root.
4590         (defer_fn): New function.
4591         (finish_file): Expand all deferred functions.
4592         * c-tree.h (defer_fn): Declare.
4593         (c_expand_deferred_function): Likewise.
4594         * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
4595         * objc-act.c (deferred_fns): New variable.
4596         (objc_init): Initialize it, and mark it as a root.
4597         (defer_fn): New function.
4598         (finish_file): Expand all deferred functions.
4599
4600 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4601
4602         * alpha.c (unicosmk_special_name): Prototype.
4603         (unicosmk_ssib_name): Delete unused variable.
4604         * alpha/unicosmk.h (common_section, ssib_section): Prototype.
4605         * alpha/vms.h (PREFIX): Undef before defining.
4606         * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
4607         * i370/i370.c (mvs_hash_alias): Prototype.  Wrap with macro
4608         controlling usage.  Const-ify.
4609         (alias_number): Delete unused variable.
4610         * m32r/m32r.c (m32r_sched_init): Add missing argument.
4611         (m32r_expand_block_move): Fix uninitialized warnings.
4612         * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
4613         always true' warnings.
4614         * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
4615         * sh/sh.c: Include "integrate.h".
4616         (output_far_jump): Fix uninitialized warning.
4617         * final.c (shorten_branches): Avoid automatic aggregate
4618         initialization.
4619         * integrate.c (subst_constants): Likewise.
4620
4621 2001-11-11  Kazu Hirata  <kazu@hxi.com>
4622
4623         * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
4624         (get_shift_alg): Remove redundant code.
4625
4626 2001-11-11  Kazu Hirata  <kazu@hxi.com>
4627
4628         * config/pa/milli64.S: Fix comment formatting.
4629         * config/pa/pa-64.h: Likewise.
4630         * config/pa/pa-linux.h: Likewise.
4631         * config/pa/pa-protos.h: Likewise.
4632         * config/pa/pa.c: Likewise.
4633         * config/pa/pa.h: Likewise.
4634         * config/pa/pa32-linux.h: Likewise.
4635         * config/pa/pa32-regs.h: Likewise.
4636         * config/pa/pa64-hpux.h: Likewise.
4637         * config/pa/pa64-regs.h: Likewise.
4638         * config/pa/som.h: Likewise.
4639
4640 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
4641
4642         * doc/gcc.texi: Move several chapters out to ...
4643         * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
4644         doc/service.texi, doc/standards.texi, doc/trouble.texi,
4645         doc/vms.texi: ... here.  New files.
4646         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
4647
4648 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
4649
4650         * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
4651         cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
4652         collect2.c, combine.c, config.in, configure, configure.in,
4653         conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
4654         genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
4655         reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
4656         spelling errors.
4657
4658 Sun Nov 11 05:56:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4659
4660         * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
4661         Adjust operand number in CONST_DOUBLE.
4662
4663         * expmed.c (extract_bit_field): No longer pass in alignment.
4664         (extract_fixed_bit_field, extract_split_bit_field): Likewise.
4665         (store_bit_field, store_fixed_bit_field, store_split_bit_field):
4666         Likewise.
4667         * expr.c (store_constructor, store_constructor_field): Likewise.
4668         (store_field, emit_group_load, emit_group_store): Likewise.
4669         * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
4670         (store_bit_field, extract_bit_field): Likewise.
4671         * calls.c, expr.c, function.c: Change calls to above functions.
4672         * ifcvt.c, stmt.c: Likewise.
4673
4674         * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
4675         constant and one is on frame.
4676         If know memref offset, adjust size from decl.
4677
4678 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4679
4680         * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
4681         format specifier warning.
4682         * convex.h (ASM_OUTPUT_BYTE): Likewise.
4683         * elfos.h (ALIGN_ASM_OP): Undef before defining.
4684         * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
4685         warning.
4686         * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4687         * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4688         * i386-interix.h (gen_stdcall_suffix): Prototype.
4689         * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
4690         * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
4691         ASM_OUTPUT_LONG_DOUBLE): Likewise.
4692         * i386/interix.c (gen_stdcall_suffix): Const-ify.
4693         * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
4694         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
4695         specifier warnings.
4696         * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4697         * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
4698         ASM_OUTPUT_LONG_DOUBLE): Likewise.
4699         * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4700         * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4701         * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4702         * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4703         * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
4704         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
4705         * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
4706         * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
4707         Likewise.
4708         * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
4709         Likewise.
4710         * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
4711         * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
4712         ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
4713         Likewise.
4714         * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
4715         Likewise.
4716         * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
4717         Likewise.
4718         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
4719         * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
4720         * m68k/news.h (PRINT_OPERAND): Likewise.
4721         * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
4722         ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
4723         * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
4724         * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
4725         definition.
4726         * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
4727         ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
4728         ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
4729         * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
4730         * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
4731         ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
4732         PRINT_OPERAND): Likewise.
4733         * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
4734         Likewise.
4735         * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
4736         * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
4737         * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
4738         * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
4739         * mips.c (mips_output_external_libcall): Mark parameter with
4740         ATTRIBUTE_UNUSED.
4741         (mips_asm_file_start): Move variable into the scope where it's
4742         used.
4743         * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
4744         * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
4745         * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
4746         * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4747         * ns32k.c (print_operand): Likewise.
4748         * pa.c (print_operand, output_div_insn): Likewise.
4749         * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
4750         ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
4751         * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
4752         * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
4753         specifier warnings.
4754         * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4755         * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4756         (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
4757         * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
4758         specifier warnings.
4759         * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4760
4761         * sdbout.c (sdbout_end_epilogue): Mark parameter with
4762         ATTRIBUTE_UNUSED.
4763         * varasm.c (assemble_global): Likewise.
4764
4765 2001-11-11  H.J. Lu <hjl@gnu.org>
4766
4767         * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
4768
4769 Sun Nov 11 01:26:00 CET 2001  Jan Hubicka  <jh@suse.cz>
4770
4771         * final.c (*_MAX_SKIP): Use *_max_skip variables.
4772         * flags.h (align_loops_max_skip, align_jumps_max_skip,
4773         align_labels_max_skip): New global variables.
4774         * toplev.c (align_loops_max_skip, align_jumps_max_skip,
4775         align_labels_max_skip): New global variables.
4776         (toplev_main): Set new variables.
4777         * i386.c (override_options): Set max_skip values.
4778
4779 2001-11-10  Geoffrey Keating  <geoffk@redhat.com>
4780
4781         * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
4782         * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
4783         * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
4784         don't print an @fptr for labels either.
4785         (xstormy16_output_addr_vec): Don't print @fptr here.
4786         * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
4787
4788 Sat Nov 10 08:50:50 2001  Jeffrey A Law  (law@cygnus.com)
4789
4790         * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
4791         an ANSI/ISO definitino.
4792         (ssa_const_prop): Likewise.
4793
4794 2001-11-10  Aldy Hernandez  <aldyh@redhat.com>
4795
4796         * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
4797         altivec registers.
4798
4799 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4800
4801         * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
4802         * cpplex.c (hex_digit_value): Use hex_p/hex_value.
4803         * cppmain.c (general_init): Call hex_init.
4804         * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
4805
4806         * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
4807
4808         * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
4809         of dgux.c:output_file_start().
4810
4811         * i386/dgux.c: Delete file.
4812
4813 2001-11-09  Richard Henderson  <rth@redhat.com>
4814
4815         * config/alpha/alpha.c (decl_in_text_section): New.
4816         (current_file_function_operand): Use it.
4817         (alpha_encode_section_info, alpha_end_function): Likewise.
4818
4819 2001-11-07  David O'Brien  <obrien@FreeBSD.org>
4820
4821         * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
4822         * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
4823         they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
4824         so OS specific files and use CPP_PREDEFINES for their needs.
4825         * config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
4826         target headers to tm_file.
4827         * config/ia64/aix.h (TARGET_VERSION): Likewise.
4828         * config/ia64/hpux.h (TARGET_VERSION): Likewise.
4829         * config/ia64/linux.h (TARGET_VERSION): Likewise.
4830         (FUNCTION_PROFILER): Remove.
4831         * config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the
4832         version in config/ia64/linux.h.
4833         * config/ia64/freebsd.h: New file.
4834         * config/freebsd.h: Tidy up.
4835         (_USING_CONFIG_FREEBSD): Define.
4836         (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
4837         (FBSD_CPP_SPEC): Define generic FreeBSD spec.
4838         (FBSD_STARTFILE_SPEC): Likewise.
4839         (FBSD_ENDFILE_SPEC): Likewise.
4840         (FBSD_LIB_SPEC): Likewise.
4841         (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
4842         (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
4843         set an ELF-improper one.
4844
4845 2001-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4846
4847         * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
4848         constant can be loaded in a single instruction to a register.  When
4849         loading immediate constants, use PLUS instead of HIGH/LO_SUM.  Use
4850         depdi for insertion of most significant 32-bits on 64-bit hosts.
4851         * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
4852         with ldil/ldo/depdi instruction sequence on 64-bit hosts.
4853         * pa.md: New addmove pattern for adding constant_int to HImode
4854         register and moving result to HImode register.  Remove HImode HIGH
4855         and LO_SUM patterns.
4856
4857 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
4858
4859         * Makefile.in: Update.
4860         * c-decl.c (print_lang_decl, print_lang_type): Remove.
4861         (print_lang_identifier): Rename c_print_identifier.
4862         * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
4863         (print_lang_statistics, lang_print_xnode): Remove.
4864         * c-parse.in (set_yydebug): Rename c_set_yydebug.
4865         * c-tree.h (c_set_yydebug, c_print_identifier): New.
4866         * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
4867         LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
4868         LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
4869         LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
4870         (LANG_HOOKS_INITIALIZER): Update.
4871         * langhooks.h (struct lang_hooks): New members.
4872         (lang_print_tree_hook): New.
4873         * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
4874         * print-tree.c: Include langhooks.h.
4875         (print_node): Update.
4876         * toplev.c (decode_d_option): Update.
4877         * tree.c: Include langhooks.h.
4878         (dump_tree_statistics): Update.
4879         * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
4880         print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
4881 objc:
4882         * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
4883         LANG_HOOKS_SET_YYDEBUG): Override.
4884         (lang_print_xnode, print_lang_statistics): Remove.
4885
4886 2001-11-09  Richard Henderson  <rth@redhat.com>
4887
4888         * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
4889         on the symbol string.
4890
4891 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4892
4893         * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
4894         ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
4895         * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
4896
4897         * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
4898
4899         * tlink.c (recompile_files): Copy strings passed to `putenv'.
4900
4901 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
4902
4903         * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
4904         (TYPE_READONLY): Likewise.
4905
4906         * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
4907
4908         * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
4909         don't pass --gdwarf2 to the assembler if the compiler will also
4910         provide debug info.
4911
4912         * config/stormy16/stormy16.c (xstormy16_expand_casesi):
4913         Don't change INDEX.
4914
4915 Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4916
4917         * alias.c (nonoverlapping_memrefs_p): New function.
4918         (true_dependence, canon_true_depenence, write_dependence_p): Call it.
4919
4920         * emit-rtl.c (set_mem_attributes): Get alignments for constants.
4921
4922 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
4923
4924         * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
4925         (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
4926         generating altivec code.
4927         (FIXED_REGISTERS): VRSAVE is fixed.
4928         (CALL_USED_REGISTERS): VRSAVE is call used.
4929
4930 2001-11-09  Jason Eckhardt  <jle@rice.edu>
4931
4932         * config/mips/mips.c (mips_output_conditional_branch): Do not hard
4933         code the branch target as ".+16/.+12", but rather use labels.
4934
4935 Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
4936
4937         * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
4938         to work around limitations of certain versions of GAS.
4939
4940         * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
4941         (muldi3): Update due to SUBREG_BYTE changes.
4942         (casesi): Similarly.
4943
4944 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
4945
4946         * doc/invoke.texi: Remove comment referring to -xf77-version.
4947
4948 2001-11-09  Kazu Hirata  <kazu@hxi.com>
4949
4950         * config/convex/convex.c: Fix comment formatting.
4951         * config/convex/convex.h: Likewise.
4952
4953 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
4954
4955         * Makefile.in (.po.pox): Look both in srcdir and builddir
4956         for $(PACKAGE).pot.
4957         (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
4958         to the source directory.
4959
4960 2001-11-09 Ben Elliston  <bje@redhat.com>
4961            Michael Meissner  <meissner@redhat.com>
4962            Andrew MacLeod  <amacleod@redhat.com>
4963            Richard Henderson  <rth@redhat.com>
4964            Nick Clifton  <nickc@redhat.com>
4965            Catherine Moore  <clm@redhat.com>
4966
4967         * m32r.c: Add support for m32rx processor.
4968         * m32r.h: Ditto.
4969         * m32r.md: Ditto.
4970         * t-m32r: Ditto.
4971         * m32r-protos.h: Add prototypes for m32rx functions.
4972         * doc/invoke.texi: Document -m32rx option.
4973
4974 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
4975
4976         * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
4977         or after reload.
4978
4979 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4980
4981         * doc/install.texi2html: Use $MAKEINFO --no-split.
4982
4983 2001-11-09  Andreas Schwab  <schwab@suse.de>
4984
4985         * Makefile.in ($(HOST_PREFIX_1)rtl.o,
4986         $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
4987         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
4988         $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
4989         $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
4990
4991 2001-11-09  H.J. Lu <hjl@gnu.org>
4992
4993         * config/mips/mips.c (mips_output_function_prologues): Cast
4994         `tsize' to long for output.
4995
4996 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
4997
4998         * c-lang.c (LANG_HOOKS_NAME): New.
4999         (lang_hooks): Constify.
5000         (c_init_options): Update.
5001         (lang_identify): Remove.
5002         * c-parse.in (language_string): Remove.
5003         * dbxout.c: Include langhooks.h.
5004         (dbxout_symbol_location): Update.
5005         * dwarf2out.c: Include langhooks.h.
5006         (gen_compile_unit_die): Update.
5007         * dwarfout.c: Include langhooks.h.
5008         (prototyped_attribute, output_compile_unit_die): Update.
5009         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
5010         (LANG_HOOKS_INITIALIZER): Update.
5011         * langhooks.h (struct lang_hooks): New members.  Constify.
5012         * stringpool.c: Don't include toplev.h.
5013         (set_identifier_size): Remove.
5014         * toplev.c (toplev_main): Initialize identifier size.
5015         (print_version): Update.
5016         * tree.h (language_string, init_lex, lang_identify,
5017         set_identifier_size): Remove.
5018         * Makefile.in: Update dependencies.
5019         * config/darwin.c: Include langhooks.h.
5020         (func_name_maybe_scoped): Update.
5021         * config/darwin.h (ASM_END_FILE): Update.
5022         * config/nextstep.h (ASM_END_FILE): Update.
5023         * config/nextstep21.h (ASM_END_FILE): Update.
5024         * config/i386/sun386.h (ASM_END_FILE): Update.
5025         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
5026         (rs6000_output_function_epilogue): Update.
5027 objc:
5028         * objc-act.c (LANG_HOOKS_NAME): Override.
5029         (struct lang_hooks): Constify.
5030         (objc_init_options): Update.
5031         (lang_identify): Remove.
5032
5033 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
5034
5035         * fold-const.c (lshift_double): Honor PREC.
5036         (rshift_double): Likewise.
5037
5038 2001-11-08  Kazu Hirata  <kazu@hxi.com>
5039
5040         * config/1750a/1750a.c: Fix comment formatting.
5041         * config/1750a/1750a.h: Likewise.
5042
5043 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
5044
5045         * configure.in (--enable-languages): Be more permissive about
5046         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
5047         * configure: Regenerated.
5048
5049 2001-11-08  Richard Henderson  <rth@redhat.com>
5050
5051         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
5052
5053 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
5054
5055         * config.gcc: Rename stormy16 to xstormy16.
5056         * config/stormy16/stormy-abi: Likewise.
5057         * config/stormy16/stormy16-protos.h: Likewise.
5058         * config/stormy16/stormy16.c: Likewise.
5059         * config/stormy16/stormy16.h: Likewise.
5060         * config/stormy16/stormy16.md: Likewise.
5061
5062 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
5063
5064         * tree.h (TYPE_VOLATILE): Add enable-checking code.
5065         (TYPE_READONLY): Likewise.
5066
5067 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5068
5069         * reload1.c (reload): Don't delete equiv insn if can throw.
5070
5071         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
5072         (clear_storage): Likewise, for OBJECT.
5073
5074 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
5075
5076         * pa.c (emit_move_sequence): Fix SUBREG expression to
5077         use proper byte offset when extending a constant from
5078         SImode to DImode.
5079
5080 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
5081
5082         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
5083         which cannot throw.
5084
5085 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5086
5087         * explow.c (convert_memory_address, case SUBREG): Only return
5088         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
5089
5090 2001-11-08  Richard Henderson  <rth@redhat.com>
5091
5092         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
5093         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
5094         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
5095
5096 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
5097
5098         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
5099
5100 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
5101
5102         * dwarf2out.c (debug_str_hash): New.
5103         (struct indirect_string_node): New.
5104         (struct dw_val_struct): Change type of val_str to it.
5105         (DEBUG_STR_SECTION_FLAGS): Define.
5106         (add_AT_string): Push string into hashtable, increment reference
5107         counter.
5108         (AT_string): Return string from ht_identifier.
5109         (AT_string_form): New.
5110         (free_AT): For dw_val_class_str, just decrement reference counter.
5111         (size_of_string): Remove.
5112         (size_of_die): Use AT_string_form to decide what size the string
5113         occupies in DIE.
5114         (size_of_pubnames): Use strlen instead of size_of_string.
5115         (value_format): Use AT_string_form for dw_val_class_str.
5116         (output_die): Output DW_FORM_strp strings using
5117         dw2_asm_output_offset.
5118         (indirect_string_alloc, output_indirect_string): New.
5119         (dwarf2out_finish): Emit .debug_str strings if there are any.
5120
5121 2001-11-08  Andreas Franck  <afranck@gmx.de>
5122
5123         * configure.in: Add AC_ARG_PROGRAM to support program name
5124         transformation with --program-prefix, --program-suffix and
5125         --program-transform-name.
5126         * configure: Regenerated.
5127         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
5128         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
5129         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
5130         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
5131         program_transform_name the way suggested by autoconf.
5132         (GCC_TARGET_INSTALL_NAME): Define.
5133         (install-driver): Use the transformed target alias name.
5134
5135 2001-11-08  Richard Henderson  <rth@redhat.com>
5136
5137         * config/mips/mips.c (save_restore_insns): Remove GP from the
5138         restore registers mask early instead of special casing it inside
5139         the loop.
5140
5141 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
5142
5143         * cp/decl.c (shadow_warning): New function.
5144         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
5145         and an error when a block scope decl shadows a parameter.
5146
5147 2001-11-08  Richard Henderson  <rth@redhat.com>
5148
5149         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
5150         case as well.
5151
5152 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5153
5154         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
5155         to implement floating negation on processors prior to PA 2.0.
5156
5157 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
5158
5159         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
5160         (USE_LINKONCE_INDIRECT): Define.
5161         (dw2_output_indirect_constant_1): Try to output indirect constants
5162         into linkonce sections if possible.
5163         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
5164         (dw2_output_indirect_constants): Likewise.
5165
5166 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
5167
5168         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
5169
5170 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
5171
5172         * c-decl.c (pushdecl): Remove file and line.
5173         * c-typeck.c (pop_init_level): Remove size.
5174
5175 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
5176
5177         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
5178         for rs6000.
5179
5180         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
5181         (TARGET_ALTIVEC): New.
5182         (TARGET_SWITCHES): Add altivec.
5183         (FIRST_PSEUDO_REGISTER): Change to 109.
5184         (CALL_USED_REGISTERS): Same.
5185         (FIRST_ALTIVEC_REGNO): New.
5186         (LAST_ALTIVEC_REGNO): New.
5187         (ALTIVEC_REGNO_P): New.
5188         (UNITS_PER_ALTIVEC_WORD): New.
5189         (ALTIVEC_VECTOR_MODE): New.
5190         (FIXED_REGISTERS): Add altivec registers.
5191         (REG_ALLOC_ORDER): Same.
5192         (HARD_REGNO_NREGS): Adjust for altivec registers.
5193         (HARD_REGNO_MODE_OK): Same.
5194         (MODES_TIEABLE_P): Same.
5195         (REGISTER_MOVE_COST): Same.
5196         (REGNO_REG_CLASS): Same.
5197         (reg_class): Add ALTIVEC_REGS.
5198         (REG_CLASS_NAMES): Same.
5199         (REG_CLASS_CONTENTS): Same.
5200         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
5201         (ALTIVEC_ARG_RETURN): New.
5202         (FUNCTION_VALUE): Handle VECTOR_TYPE.
5203         (LIBCALL_VALUE): Handle altivec vector modes.
5204         (VECTOR_MODE_SUPPORTED_P): New.
5205         (ALTIVEC_ARG_MIN_REG): New.
5206         (ALTIVEC_ARG_MAX_REG): New.
5207         (ALTIVEC_ARG_NUM_REG): New.
5208         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
5209         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
5210         (REGISTER_NAMES): Add altivec regs.
5211         (DEBUG_REGISTER_NAMES): Same.
5212         (ADDITIONAL_REGISTER_NAMES): Same.
5213         (rs6000_builtins): New.
5214         (MD_EXPAND_BUILTIN): New.
5215         (MD_INIT_BUILTINS): New.
5216         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
5217         for AltiVec instructions.
5218         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
5219         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
5220         registers.
5221         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
5222         (TARGET_SWITCHES): Add no-altivec.
5223         (DATA_ALIGNMENT): Align vectors to 128 bits.
5224         (TARGET_OPTIONS): Add abi= option.
5225         Add rs6000_abi_string extern.
5226         (LOCAL_ALIGNMENT): New.
5227         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
5228         (MASK_ALTIVEC_ABI): New.
5229         (TARGET_ALTIVEC_ABI): New.
5230         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
5231         call-saved.
5232         (STACK_BOUNDARY): Adjust for altivec.
5233         (BIGGEST_ALIGNMENT): Same.
5234         (rs6000_args): Add vregno.
5235         (USE_ALTIVEC_FOR_ARG_P): New.
5236         (FIXED_REGISTERS): Add vrsave register.
5237         (CALL_USED_REGISTERS): Same.
5238         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
5239         (VRSAVE_REGNO): New.
5240         (reg_class): Add VRSAVE_REGS.
5241         (REG_CLASS_NAMES): Same.
5242         (REG_CLASS_CONTENTS): Same.
5243         (REGNO_REG_CLASS): Same.
5244
5245         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
5246         (ABI_STACK_BOUNDARY): Same.
5247         (BIGGEST_ALIGNMENT): Same.
5248         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
5249         (ROUND_TYPE_ALIGN): Same.
5250
5251         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
5252         to 64.
5253
5254         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
5255         to 64.
5256
5257         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
5258         to 64.
5259
5260         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
5261         (altivec_expand_builtin): New.
5262         (altivec_init_builtins): New.
5263         (TARGET_EXPAND_BUILTIN): New.
5264         (TARGET_INIT_BUILTINS): New.
5265         (rs6000_init_builtins): New.
5266         (struct builtin_description): New.
5267         (bdesc_2arg): New.
5268         (rs6000_reg_names): Add altivec registers.
5269         (alt_reg_names): Same.
5270         (secondary_reload_class): Altivec regs can hold altivec regs and
5271         memory.
5272         (rs6000_emit_move): Force constants into memory for AltiVec moves.
5273         (print_operand): Add 'y' case for printing altivec memory
5274         operands.
5275         (rs6000_legitimize_address): Legitimize vector addresses into
5276         [REG+REG] or [REG].
5277         (altivec_expand_binop_builtin): New.
5278         New string rs6000_current_abi.
5279         (rs6000_override_options): Call rs6000_parse_abi_options.
5280         (rs6000_parse_abi_options): New.
5281         (function_arg_boundary): Vector arguments must be 16
5282         byte aligned.
5283         (function_arg_advance): Handle vector arguments.
5284         (function_arg_partial_nregs): Same.
5285         (init_cumulative_args): Same.
5286         (function_arg): Same.
5287
5288         * config/rs6000/rs6000.md (altivec_lvx): New.
5289         (type): Add altivec attribute.
5290         (movv4si): New.
5291         (*movv4si_internal): New.
5292         (movv16qi): New.
5293         (*movv16qi_internal): New.
5294         (movv8hi): New.
5295         (*movv8hi_internal1): New.
5296         (movv4sf): New.
5297         (*movv4sf_internal1): New.
5298         (altivec_stvx): New.
5299         (vaddubm): New.
5300         (vadduhm): New.
5301         (vadduwm): New.
5302         (vaddfp): New.
5303         (vaddcuw): New.
5304         (vaddubs): New.
5305         (vaddsbs): New.
5306         (vadduhs): New.
5307         (vaddshs): New.
5308         (vadduws): New.
5309         (vaddsws): New.
5310         (vand): New.
5311         (vandc): New.
5312         (vavgub): New.
5313         (vavgsb): New.
5314         (vavguh): New.
5315         (vavgsh): New.
5316         (vavguw): New.
5317         (vavgsw): New.
5318         (vcmpbfp): New.
5319         (vcmpequb): New.
5320         (vcmpequh): New.
5321         (vcmpequw): New.
5322         (vcmpeqfp): New.
5323         (vcmpgefp): New.
5324         (vcmpgtub): New.
5325         (vcmpgtsb): New.
5326         (vcmpgtuh): New.
5327         (vcmpgtsh): New.
5328         (vcmpgtuw): New.
5329         (vcmpgtsw): New.
5330         (vcmpgtfp): New.
5331         (vcmpgefp): New.
5332         (vcmpgtub): New.
5333         (vcmpgtsb): New.
5334         (vcmpgtuh): New.
5335         (vcmpgtsh): New.
5336         (vcmpgtuw): New.
5337         (vcmpgtsw): New.
5338         (vcmpgtfp): New.
5339         (vmaxub): New.
5340         (vmaxsb): New.
5341         (vmaxuh): New.
5342         (vmaxsh): New.
5343         (vmaxuw): New.
5344         (vmaxsw): New.
5345         (vmaxfp): New.
5346         (vmrghb): New.
5347         (vmrghh): New.
5348         (vmrghw): New.
5349         (vmrglb): New.
5350         (vmrglh): New.
5351         (vmrglw): New.
5352         (vminub): New.
5353         (vminsb): New.
5354         (vminuh): New.
5355         (vminsh): New.
5356         (vminuw): New.
5357         (vminsw): New.
5358         (vminfp): New.
5359         (vmuleub): New.
5360         (vmulesb): New.
5361         (vmuleuh): New.
5362         (vmulesh): New.
5363         (vmuloub): New.
5364         (vmulosb): New.
5365         (vmulouh): New.
5366         (vmulosh): New.
5367         (vnor): New.
5368         (vor): New.
5369         (vpkuhum): New.
5370         (vpkuwum): New.
5371         (vpkpx): New.
5372         (vpkuhss): New.
5373         (vpkshss): New.
5374         (vpkuwss): New.
5375         (vpkswss): New.
5376         (vpkuhus): New.
5377         (vpkshus): New.
5378         (vpkuwus): New.
5379         (vpkswus): New.
5380         (vrlb): New.
5381         (vrlh): New.
5382         (vrlw): New.
5383         (vslb): New.
5384         (vslh): New.
5385         (vslw): New.
5386         (vsl): New.
5387         (vslo): New.
5388         (vsrb): New.
5389         (vrsh): New.
5390         (vrsw): New.
5391         (vsrab): New.
5392         (vsrah): New.
5393         (vsraw): New.
5394         (vsr): New.
5395         (vsro): New.
5396         (vsububm): New.
5397         (vsubuhm): New.
5398         (vsubuwm): New.
5399         (vsubfp): New.
5400         (vsubcuw): New.
5401         (vsububs): New.
5402         (vsubsbs): New.
5403         (vsubuhs): New.
5404         (vsubshs): New.
5405         (vsubuws): New.
5406         (vsubsws): New.
5407         (vsum4ubs): New.
5408         (vsum4sbs): New.
5409         (vsum4shs): New.
5410         (vsum2sws): New.
5411         (vsumsws): New.
5412         (vxor): New.
5413
5414 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
5415
5416         * Makefile.in (df.o): Add fibheap.h to dependencies.
5417
5418         * df.h: Add prototypes for transfer functions, iterative_dataflow
5419         functions.
5420         (enum df_flow_dir): New enum.
5421         (enum df_confluence_op): New enum.
5422         (struct df): Add inverse_rts_map.
5423
5424         * df.c: Add sbitmap.h to the list of includes.
5425         (df_rd_global_compute): Removed.
5426         (df_ru_global_compute): Removed.
5427         (df_lr_global_compute): Removed.
5428         (df_rd_transfer_function): New function.
5429         (df_ru_transfer_function): New function.
5430         (df_lr_transfer_function): New function.
5431         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
5432         Use iterative_dataflow_bitmap instead of df_*_global_compute.
5433         (iterative_dataflow_sbitmap): New function.
5434         (iterative_dataflow_bitmap): New function.
5435
5436 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
5437
5438         * doc/gcc.texi: Move terminology and spelling conventions to
5439         htdocs/codingconventions.html.
5440
5441 2001-11-07  Graham Stott  <grahams@redhat.com>
5442
5443         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
5444
5445 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
5446
5447         * expmed.c (expand_mult): Force operand to register before computing
5448         cost.
5449         * i386.c (x86_decompose_lea): New global vairable.
5450         * i386.h (x86_decompose_lea): Declare.
5451         (TARGET_DECOMPOSE_LEA): New macro.
5452         (RTX_COST): Handle leas properly.
5453
5454 2001-11-06  Richard Henderson  <rth@redhat.com>
5455
5456         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
5457         defined for a CONSTRUCTOR; don't check it.
5458
5459 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
5460
5461         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
5462         test for absolute pathnames.
5463
5464 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
5465
5466         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
5467         instructions up to the target pc inclusive.
5468
5469 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
5470
5471         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
5472
5473 2001-11-06  Eric Christopher  <echristo@redhat.com>
5474
5475         * config/mips/mips.md(movdf_internal2): Add constraints for float
5476         to general register move.
5477         * config/mips/elf64.h: Add default ABI.
5478
5479 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
5480
5481         * alias.c:: Include langhooks.h.
5482         * emit-rtl.c: Similarly.
5483         * toplev.c: Similarly.
5484         * tree-inline.c: Similarly.
5485         * langhooks-def.h: New, the old langhooks.h.  Give the default
5486         hooks a common prefix.
5487         * langhooks.h: Contents extracted from toplev.h.
5488         * toplev.h: Move langhook stuff to langhooks.h.
5489         * langhooks.c: Give default hooks a common prefix.
5490
5491         * c-lang.c: Include langhooks-def.h.
5492         * objc/objc-act.c: Similarly.
5493         * Makefile.in: Update.
5494         * objc/Make-lang.in: Update.
5495
5496 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
5497
5498         * doc/install.texi: Document that configure options not listed in
5499         this file are unsupported.  Document --with-system-zlib.
5500
5501 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5502
5503         * rtl.h (mem_for_const_double): New declaration.
5504         * varasm.c (mem_for_const_double): New function.
5505         * config/convex/convex.md (movdf): Use it.
5506         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
5507         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
5508         * config/m68k/m68kv4.h: Likewise.
5509
5510         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
5511         of new GP reg classes.
5512
5513         * expr.c (store_field): When making temp object for unaligned
5514         component, set it to alias set 0.
5515
5516 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
5517
5518         * c-common.c (c_expand_expr_stmt): Apply default conversions to
5519         non-lvalue arrays if C99.
5520         * c-typeck.c (default_conversion): Split out code handling
5521         array-to-pointer and function-to-pointer conversions into a
5522         separate default_function_array_conversion function.
5523         (default_function_array_conversion): New function.  Keep track of
5524         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
5525         arrays unchanged outside C99 mode instead of giving an error for
5526         them.
5527         (build_component_ref): Use pedantic_non_lvalue when handling
5528         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
5529         (convert_arguments): Use default_function_array_conversion.
5530         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
5531         non-lvalues are OK.
5532         (unary_complex_lvalue): Likewise.
5533         (internal_build_compound_expr): Use
5534         default_function_array_conversion.  Apply default conversions to
5535         function in compound expression.
5536         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
5537         Use default_function_array_conversion.
5538         * doc/extend.texi: Update documentation of subscripting non-lvalue
5539         arrays.
5540         Fixes PR c/461.
5541
5542 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
5543
5544         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
5545         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
5546         corresponding to the complete set of .po and .gmo files in
5547         the source directory's po subdir, modified by LINGUAS.  Don't
5548         look at ALL_LINGUAS.
5549         * configure.in: Don't set ALL_LINGUAS.
5550         * configure: Regenerate.
5551
5552         * Makefile.in (.po.gmo): Don't move into source directory.
5553         (.po.pox): Clarify comments.
5554         (install-po): Look for .gmo files in both srcdir and objdir;
5555         don't fail if a file is totally missing.
5556         (distclean): rmdir ada subdirectory too.
5557
5558 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
5559
5560         * config/rs6000/rs6000.c (rs6000_select_section): Handle
5561         CONSTRUCTORs _correctly_.
5562
5563 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
5564
5565         * c-decl.c (delete_block): Remove.
5566         * c-tree.h (delete_block): Remove.
5567
5568 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
5569
5570         * cppexp.c (lex, parse_defined): Update warning about defined.
5571
5572 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
5573
5574         * config/rs6000/rs6000.c (rs6000_select_section): Handle
5575         CONSTRUCTORs too.
5576
5577 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
5578
5579         * config/arm/arm.c (arm_return_in_memory): Cope with
5580         int_size_in_bytes returning -1.
5581
5582         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
5583         DECL being NULL.
5584
5585 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
5586
5587         * Makefile.in (bb-reorder.o): Add dependency on cfglayout.h;
5588         remove unneeded dependencies;
5589         (cfglayout.o): New.
5590         * cfglayout.c, cfglayout.h: New files; break out from ...
5591         * bb-reorder.c: ... here; Remove unneeded includes;
5592
5593 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
5594
5595         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
5596
5597 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
5598
5599         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
5600         mode as well.  Do not explicitly create intermediate regs.
5601
5602 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5603
5604         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
5605         (common_section): Delete unused variable.
5606         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
5607         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
5608         * arm-protos.h (arm_poke_function_name, aof_add_import,
5609         aof_delete_import): Const-ify.
5610         * arm.c (legitimize_pic_address): Wrap variables in the macro
5611         controlling their usage.
5612         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
5613         (arm_poke_function_name, pic_chain, import, aof_add_import,
5614         aof_delete_import): Const-ify.
5615         * i386.c (ix86_osf_output_function_prologue): Const-ify.
5616         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
5617         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
5618         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
5619         * i860/sysv3.h: Add missing comment closure.
5620         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
5621         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
5622         to symbolic_operand.
5623
5624         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
5625         (i960-*-*): Set tmake_file.
5626         (sparc86x-*-elf*): Fix typo in header name.
5627
5628         * sched-rgn.c (schedule_insns): Delete unused variable.
5629
5630 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
5631
5632         PR c/2820
5633         * c-typeck.c (lookup_field): Rework to return a chain down to
5634         the looked-up field.
5635         (build_component_ref): Use the new lookup_field to handle
5636         nested anonymous entities correctly.
5637
5638 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5639
5640         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
5641         Change parameters to gen_rtx_CONST_DOUBLE.
5642         (GEN_INT64, sparc_emit_set_const64): Likewise.
5643         * config/sparc/sparc.md (movdf split): Likewise.
5644
5645 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
5646
5647         * unroll.c (calculate_giv_inc): Use find_last_value rather
5648         than just hoping the last instruction is the right SET.
5649         [Fixes 990604-1.c on stormy16.]
5650
5651         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
5652         library at all if -T is used.
5653
5654         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
5655         some uses of uninitialized variables in error cases.
5656
5657         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
5658         look at 'temp' if we won't be using it.
5659
5660         * config/stormy16/stormy16.h (CONST_COSTS): Define.
5661         (RTX_COSTS): Define.
5662         (ADDRESS_COST): Define.
5663         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
5664
5665         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
5666
5667         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
5668         stormy16_asm_output_mi_thunk.
5669         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
5670         function.
5671         * config/stormy16/stormy16-protos.h
5672         (stormy16_asm_output_mi_thunk): New prototype.
5673
5674 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
5675
5676         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
5677         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
5678         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
5679         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
5680         sched-int.h, toplev.c, config/alpha/alpha.c,
5681         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
5682         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
5683         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
5684         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
5685         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
5686         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
5687         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
5688
5689 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5690
5691         * Makefile.in (dbxout.o): Depend on function.h.
5692         * collect2.c (is_in_list): Hide unused function.
5693         * dbxout.c: Include function.h.
5694         (source_label_number, dbxout_source_line, dbxout_source_file,
5695         dbxout_function_end, dbxout_begin_function): Wrap/move inside
5696         macros controlling usage.
5697         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
5698         * output.h (exports_section): Prototype.
5699
5700         * convex.c (convex_output_function_prologue): Fix format specifier
5701         warning.
5702         (asm_declare_function_name): Fix signed/unsigned warning.
5703         (print_operand): Fix format specifier warning.
5704         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
5705         * dsp16xx-protos.h (uns_comparison_operator,
5706         num_1600_core_shifts): Prototype.
5707         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
5708         (frame_size, frame_pointer_offset): Delete.
5709         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
5710         Make static.  Fix format specifier warnings.
5711         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
5712         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
5713         * dsp16xx.md: Add default case in switches.
5714         * fr30.h (IN_RANGE): Delete.
5715         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
5716         * mcore-protos.h (mcore_output_cmov): Const-ify.
5717         * mcore.c (mcore_output_cmov): Likewise.
5718         * mcore.h (switch_to_section): Make static and prototype.
5719         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
5720         unsigned>=0 warnings.
5721         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
5722         * rs6000-protos.h (read_only_data_section,
5723         read_only_private_data_section): Prototype.
5724         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
5725         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
5726         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
5727
5728 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5729
5730         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
5731         ATTRIBUTE_UNUSED.
5732         * final.c (final_scan_insn): Add brackets around body of if-stmt.
5733         * gcc.c (convert_filename): Add static prototype.  Const-ify.
5734         Wrap variable in macros controlling its use.
5735         * output.h (sdata_section): Add prototype.
5736
5737         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
5738         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
5739         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
5740         (ASM_FILE_START): Const-ify.
5741         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
5742         specifier warning.
5743         * c4x.md: Don't use the 'U' integer suffix.
5744         * clipper.md (clipper_movstr): Delete declaration.
5745         * d30v-protos.h (d30v_move_2words): Const-ify.
5746         (debug_stack_info): Add prototype.
5747         * d30v.c: Include "integrate.h".
5748         (d30v_function_arg_boundary, d30v_function_arg,
5749         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
5750         signed/unsigned warnings.
5751         (d30v_print_operand_memory_reference, d30v_move_2words):
5752         Const-ify.
5753         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
5754         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
5755         * fr30.md: Const-ify.
5756         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
5757         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
5758         (mvs_get_label_page): Hide unused static function.
5759         * i860.c (current_function_original_name): Const-ify.
5760         * i860/sysv3.h (current_function_original_name): Likewise.
5761         * i860/sysv4.h (current_function_original_name): Likewise.
5762         * i960.md: Add default case in switches.  Remove unused variable.
5763         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
5764         * m32r.md: Const-ify.
5765         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
5766         * m68hc11.c: Include "reload.h".
5767         (static_chain_reg, print_options, m68hc11_asm_file_start):
5768         Const-ify.
5769         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
5770         around & in comparison.
5771         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
5772         * mn10200.c (shift_mode): Remove trailing comma.
5773         * mn10300-protos.h (output_tst): Const-ify.
5774         * mn10300.c (output_tst): Likewise.
5775         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
5776         warnings.
5777         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
5778         * pa.c (output_ascii): Likewise.
5779         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
5780         * pdp11.md (expand_unop): Delete declarations.
5781         * pj-protos.h (pj_output_addsi3): Const-ify.
5782         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
5783         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
5784         unique_src_operand): Add prototypes.
5785         (pj_output_store_into_lval): Make definition static.
5786         (pj_function_incoming_arg): Don't use unary plus.
5787         (pj_output_addsi3): Const-ify.
5788         * romp.md (get_symref): Delete declarations.
5789         * v850-c.c (mark_current_function_as_interrupt): Don't return
5790         value from void function.
5791         * v850.c: Include "integrate.h".
5792         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
5793         * vax-protos.h (const_section): Add prototype.
5794
5795 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
5796
5797         * machmode.def: Add documentation for the seventh argument in
5798         vector modes.
5799
5800 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
5801
5802         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
5803         consistently.
5804         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
5805         <-melf>: Don't have markup for ELF acronym.
5806
5807 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
5808
5809         * config.gcc (mmix-*-*): New target.
5810         * doc/invoke.texi: Document MMIX options.
5811         * doc/contrib.texi: Add note about MMIX port to my entry.
5812         * config/mmix/t-mmix: New file.
5813         * config/mmix/mmix.h: New file.
5814         * config/mmix/mmix-protos.h: New file.
5815         * config/mmix/mmix.c: New file.
5816         * config/mmix/mmix.md: New file.
5817         * config/mmix/crti.asm: New file.
5818         * config/mmix/crtn.asm: New file.
5819
5820 2001-11-03  Kazu Hirata  <kazu@hxi.com>
5821
5822         * config/sparc/linux-aout.h: Fix comment formatting.
5823         * config/sparc/linux.h: Likewise.
5824         * config/sparc/linux64.h: Likewise.
5825         * config/sparc/lynx.h: Likewise.
5826         * config/sparc/pbd.h: Likewise.
5827         * config/sparc/sol2-sld-64.h: Likewise.
5828         * config/sparc/sol2.h: Likewise.
5829         * config/sparc/sparc.c: Likewise.
5830         * config/sparc/sparc.h: Likewise.
5831         * config/sparc/sparc.md: Likewise.
5832         * config/sparc/sunos4.h: Likewise.
5833         * config/sparc/vxsim.h: Likewise.
5834         * config/sparc/vxsparc.h: Likewise.
5835         * config/sparc/vxsparc64.h: Likewise.
5836
5837 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5838
5839         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
5840         reference to CONST_DOUBLE_MEM in comment.
5841         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
5842         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
5843         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
5844         * function.c (pop_function_context_from): Don't call
5845         restore_varasm_status.
5846         * function.h (restore_varasm_status): Delete declaration.
5847         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
5848         * rtl.c: Likewise.
5849         * rtl.def (CONST_DOUBLE): Update comment.
5850         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
5851         (CONST_DOUBLE_CHAIN): Likewise.
5852         (CONST_DOUBLE_MEM): Delete.
5853         (gen_rtx_CONST_DOUBLE): Update parameters.
5854         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
5855         Remove reference to CONST_DOUBLE_MEM.
5856         (const_alias_set): New variable.
5857         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
5858         (immed_real_const_1): Adjust tests for 0, 1, and 2.
5859         Don't set CONST_DOUBLE_MEM.
5860         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
5861         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
5862         Put constant in const_alias_set.
5863         (struct pool_constant): ALIGN now unsigned.
5864         OFFSET now HOST_WIDE_INT.
5865         Delete LABEL.
5866         (restore_varasm_status): Deleted.
5867         (mark_pool_constant): Mark desc->rtl.
5868         (force_const_mem): Rework to store rtl in hash table,
5869         not CONST_DOUBLE_MEM.
5870         Put constant in const_alias_set.
5871         (find_pool_constant): Check desc->rtl.
5872         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
5873         (init_varasm_once): Initialize const_alias_set.
5874
5875         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
5876         force_const_mem.
5877
5878         * reload.c (combine_reloads): Don't combine an output reload if there
5879         are other reloads around for part of the output.
5880
5881         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
5882         constant expression.
5883         (set_mem_decl): New function.
5884         * expr.h (set_mem_decl): New declaration.
5885         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
5886         (output_asm_operand_names): Add tab.
5887         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
5888
5889         * builtins.c (get_memory_rtx): Properly set MEM alias set and
5890         attributes.
5891
5892 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
5893
5894         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
5895         Use "invalid" instead of "illegal".  Use @r in comments in
5896         examples.
5897
5898 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
5899
5900         * c-decl.c (pushdecl): Move block inside if conditional to remove
5901         possibility of a segfault.  Lookup block-level extern
5902         variables in enclosing scopes correctly.
5903
5904         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
5905
5906 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
5907
5908         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
5909         SUBREG so we avoid SUBREGing memory.
5910
5911         * expmed.c (store_bit_field): Same.
5912
5913 2001-11-02  DJ Delorie  <dj@redhat.com>
5914
5915         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
5916         using FP registers for DImode mem-mem moves is acceptable.
5917
5918 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
5919
5920         * builtins.c (apply_args_size): Handle vector arguments.
5921         (apply_result_size): Same.
5922
5923         * machmode.def: Set WIDER mode field for all vector entries.
5924
5925 2001-11-02  Graham Stott  <grahams@redhat.com>
5926
5927         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
5928
5929 2001-11-01  Eric Christopher  <echristo@redhat.com>
5930
5931         * config.gcc: Revert part of earlier patch.
5932         * config/mips/linux.h: Ditto.
5933         * df.c: Include tm_p.h to avoid warnings.
5934         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
5935         #if/#endif.
5936         * config/mips/mips.c: Define mips_abi regardless.
5937         (mips_output_function_prologues): Add long casts for .frame
5938         output.
5939         (override_options): Allow use of ABI_32.
5940
5941 2001-11-01  Kazu Hirata  <kazu@hxi.com>
5942
5943         * config/m68hc11/m68hc11.c: Fix comment formatting.
5944         * config/m68hc11/m68hc11.h: Likewise.
5945         * config/m68hc11/m68hc11.md: Likewise.
5946
5947 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
5948
5949         * c-typeck.c (default_conversion): Retain the original expression
5950         codes.
5951         * gcc.dg/Wparentheses.c: New tests.
5952
5953 2001-11-01  David S. Miller  <davem@redhat.com>
5954
5955         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
5956         64-bit Sparc description more in line with reality.
5957
5958 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
5959
5960         * Makefile.in (GCOV_OBJS): Add version.o.
5961         * gcov.c: Include "version.h" and <getopt.h>.
5962         (gcov_version_string): Remove.
5963         (print_usage): Take a parameter to determine whether this is a
5964         call from --help or an error message.  Give fuller output that
5965         follows the GNU Coding Standards for --help.
5966         (print_version): New function.
5967         (options): New.
5968         (process_args): Use getopt_long.  Support long options.  Follow
5969         GNU Coding Standards for --help and --version.
5970         * doc/gcov.texi: Document long options.
5971         Addresses part of PR other/704.
5972
5973 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5974
5975         * pa.c (output_move_double): Fix typo in double load.
5976
5977 2001-11-01  Kazu Hirata  <kazu@hxi.com>
5978
5979         * config/h8300/h8300.c (h8300_encode_label): Compute a string
5980         before passing it to ggc_alloc_string.
5981
5982 2001-11-01  Kazu Hirata  <kazu@hxi.com>
5983
5984         * config/m68k/3b1.h: Fix comment formatting.
5985         * config/m68k/3b1g.h: Likewise.
5986         * config/m68k/a-ux.h: Likewise.
5987         * config/m68k/amix.h: Likewise.
5988         * config/m68k/apollo68.h: Likewise.
5989         * config/m68k/atari.h: Likewise.
5990         * config/m68k/aux-exit.c: Likewise.
5991         * config/m68k/ccur-GAS.h: Likewise.
5992         * config/m68k/crds.h: Likewise.
5993         * config/m68k/dpx2.h: Likewise.
5994         * config/m68k/dpx2g.h: Likewise.
5995         * config/m68k/hp310.h: Likewise.
5996         * config/m68k/hp320.h: Likewise.
5997         * config/m68k/isi.h: Likewise.
5998         * config/m68k/linux.h: Likewise.
5999         * config/m68k/lynx.h: Likewise.
6000         * config/m68k/m68k-psos.h: Likewise.
6001         * config/m68k/m68k.c: Likewise.
6002         * config/m68k/m68k.h: Likewise.
6003         * config/m68k/m68k.md: Likewise.
6004         * config/m68k/m68kelf.h: Likewise.
6005         * config/m68k/m68kv4.h: Likewise.
6006         * config/m68k/mot3300.h: Likewise.
6007         * config/m68k/news.h: Likewise.
6008         * config/m68k/next.h: Likewise.
6009         * config/m68k/pbb.h: Likewise.
6010         * config/m68k/plexus.h: Likewise.
6011         * config/m68k/sgs.h: Likewise.
6012         * config/m68k/sun3.h: Likewise.
6013         * config/m68k/tower.h: Likewise.
6014         * config/m68k/vxm68k.h: Likewise.
6015
6016 2001-10-31  DJ Delorie  <dj@redhat.com>
6017
6018         * config/mips/mips.h (mips_cache_flush_func): Prototype.
6019         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
6020         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
6021         * config/mips/mips.c (mips_cache_flush_func): New.
6022         * doc/invoke.texi: Document the new options.
6023
6024 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
6025
6026         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
6027         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
6028
6029         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
6030
6031         * config/cris/cris.c: Include output.h after tree.h but before
6032         target.h.
6033
6034 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
6035
6036         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
6037         (INTL_SUBDIRS): Just intl.
6038         (.SUFFIXES): Add .gmo .po .pox.
6039         (native): Also depend on build-@POSUB@.
6040         (intl.all, intl.install): Depend on config.h and things it includes.
6041         (po-generated): New target; depend on c-parse.c and tradcif.c.
6042         (install-normal): Also depend on install-@POSUB@.
6043         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
6044         (build-, install-, build-po, update-po, install-po,
6045         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
6046
6047         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
6048         * configure.in: Don't munge XGETTEXT.  Don't generate
6049         po/Makefile.in.
6050         * configure: Regenerate.
6051
6052         * exgettext: Delete.
6053         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
6054         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
6055
6056 2001-10-31  Kazu Hirata  <kazu@hxi.com>
6057
6058         * config/h8300/h8300.md (two anonymous patterns): New.
6059
6060 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
6061
6062         * tree.h (tree_index): Add support for V16QI and V8HI.
6063         (V8HI_type_node): New.
6064         (V16QI_type_node): New.
6065
6066         * tree.c (build_common_tree_nodes_2): Same.
6067
6068         * c-common.c (type_for_mode): Same.
6069
6070 2001-10-31  Kazu Hirata  <kazu@hxi.com>
6071
6072         * config/i386/att.h: Fix comment formatting.
6073         * config/i386/beos-elf.h: Likewise.
6074         * config/i386/bsd.h: Likewise.
6075         * config/i386/bsd386.h: Likewise.
6076         * config/i386/crtdll.h: Likewise.
6077         * config/i386/cygwin.asm: Likewise.
6078         * config/i386/cygwin.h: Likewise.
6079         * config/i386/djgpp.h: Likewise.
6080         * config/i386/freebsd-aout.h: Likewise.
6081         * config/i386/freebsd.h: Likewise.
6082         * config/i386/gas.h: Likewise.
6083         * config/i386/i386-interix.h: Likewise.
6084         * config/i386/i386-protos.h: Likewise.
6085         * config/i386/i386.c: Likewise.
6086         * config/i386/i386.h: Likewise.
6087         * config/i386/i386.md: Likewise.
6088         * config/i386/i386elf.h: Likewise.
6089         * config/i386/interix.c: Likewise.
6090         * config/i386/isc.h: Likewise.
6091         * config/i386/isccoff.h: Likewise.
6092         * config/i386/iscdbx.h: Likewise.
6093         * config/i386/linux.h: Likewise.
6094         * config/i386/lynx.h: Likewise.
6095         * config/i386/mingw32.h: Likewise.
6096         * config/i386/netbsd-elf.h: Likewise.
6097         * config/i386/next.h: Likewise.
6098         * config/i386/osf1elf.h: Likewise.
6099         * config/i386/osfrose.h: Likewise.
6100         * config/i386/sco5.h: Likewise.
6101         * config/i386/seq-gas.h: Likewise.
6102         * config/i386/seq-sysv3.h: Likewise.
6103         * config/i386/sequent.h: Likewise.
6104         * config/i386/sol2.h: Likewise.
6105         * config/i386/sun386.h: Likewise.
6106         * config/i386/uwin.asm: Likewise.
6107         * config/i386/uwin.h: Likewise.
6108         * config/i386/vxi386.h: Likewise.
6109         * config/i386/win32.h: Likewise.
6110         * config/i386/winnt.c: Likewise.
6111         * config/i386/xm-cygwin.h: Likewise.
6112         * config/i386/xm-mingw32.h: Likewise.
6113
6114 2001-10-31  Kazu Hirata  <kazu@hxi.com>
6115
6116         * builtins.def: Fix comment typos.
6117         * config/alpha.c: Likewise.
6118         * config/arm/arm.c: Likewise.
6119         * config/avr/avr.h: Likewise.
6120         * config/d30v/d30v.c: Likewise.
6121         * config/d30v/d30v.h: Likewise.
6122         * config/d30v/d30v.md: Likewise.
6123         * config/dsp16xx/dsp16xx.c: Likewise.
6124         * config/fr30/fr30.c: Likewise.
6125         * config/fr30/fr30.md: Likewise.
6126         * config/i386/i386.c: Likewise.
6127         * config/i860/i860.c: Likewise.
6128         * config/i960/i960.c: Likewise.
6129         * config/ia64/ia64.c: Likewise.
6130         * config/mips/mips.c: Likewise.
6131         * config/pa/pa.c: Likewise.
6132         * config/rs6000/rs6000.c: Likewise.
6133         * config/s390/s390.c: Likewise.
6134         * config/sparc/sparc.c: Likewise.
6135
6136 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6137
6138         * config/mips/elf.h: Fix comment formatting.
6139         * config/mips/elf64.h: Likewise.
6140         * config/mips/iris5.h: Likewise.
6141         * config/mips/iris5gas.h: Likewise.
6142         * config/mips/iris6.h: Likewise.
6143         * config/mips/isa3264.h: Likewise.
6144         * config/mips/linux.h: Likewise.
6145         * config/mips/mips.c: Likewise.
6146         * config/mips/mips.h: Likewise.
6147         * config/mips/mips.md: Likewise.
6148         * config/mips/mips16.S: Likewise.
6149         * config/mips/netbsd.h: Likewise.
6150         * config/mips/osfrose.h: Likewise.
6151         * config/mips/r3900.h: Likewise.
6152         * config/mips/sni-svr4.h: Likewise.
6153         * config/mips/svr4-t.h: Likewise.
6154         * config/mips/ultrix.h: Likewise.
6155
6156 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
6157
6158         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
6159         when we update head->current.
6160
6161 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
6162
6163         * tree.c (id_string_size): Remove.
6164         (dump_tree_statistics): Update.
6165         * toplev.c (compile_file): If dumping stats, dump tree stats too.
6166
6167 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
6168
6169         * sched-rgn.c (schedule_insns): Fix comment.
6170
6171 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
6172
6173         * configure.in: Correct previous change: don't assume that
6174         gas's version number _isn't_ the last thing on the line, or
6175         isn't the only number on the line, either.
6176         * configure: Regenerate.
6177
6178 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6179
6180         * cfgcleanup.c: Fix a comment typo.
6181
6182 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6183
6184         * alias.c: Fix comment formatting.
6185         * recog.c: Likewise.
6186         * config/cris/cris.c: Likewise.
6187         * config/cris/cris.h: Likewise.
6188         * config/i960/i960.c: Likewise.
6189         * config/i960/i960.h: Likewise.
6190
6191 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6192
6193         * config/arm/arm.c: Fix a comment typo.
6194         * config/arm/arm.h: Likewise.
6195         * config/ia64/ia64.c: Likewise.
6196
6197 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
6198
6199         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
6200         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
6201         * rtl.h (set_unique_reg_note): Change return value.
6202         * gcse.c (try_replace_reg): Use set_unique_reg_note.
6203         * cse.c (cse_insn): Likewise.
6204         * expr.c (emit_move_insn): Likewise.
6205         * explow.c (force_reg): Likewise.
6206         * local-alloc (update_equiv_regs): Likewise.
6207         * loop.c (move_moveables, load_mems): Likewise.
6208         * reload (find_reloads): Likewise.
6209
6210 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
6211
6212         Localization fixes.
6213         * c-decl.c (parmlist_tags_warning, start_struct,
6214         check_for_loop_decls): Separate messages for struct, union and
6215         enum cases to allow for languages in which they have different
6216         genders.
6217         * c-format.c (scanf_flag_specs): Separate short and long name of
6218         the assignment suppression feature.
6219         (check_format_types): Localize "pointer" and "different types"
6220         strings.
6221         * c-lex.c (lex_number): Localize "an unsigned long int" and
6222         related strings.
6223         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
6224         warning message.
6225         * c-typeck.c (build_unary_up): Separate messages for increment and
6226         decrement cases to allow for languages in which they use different
6227         articles.  Localize the strings "increment" and "decrement" in one
6228         case.
6229
6230 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
6231
6232         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
6233         when no changes has been made.
6234
6235         * gcse.c (reg_set_bitmap): Turn into reg_set.
6236         (modify_mem_list_set, canon_modify_mem_list_set)
6237         (clear_modify_mem_tables, free_modify_mem_tables): New.
6238         (gcse_main); Use free_modify_mem_tables.
6239         (free_gcse_mem): Likewise; free the bitmaps.
6240         (alloc_gcse_main): Initialize the bitmaps.
6241         (canon_list_insert): Set canon_modify_mem_list_set.
6242         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
6243         (compute_hash_table): Use clear_modify_mem_tables.
6244         (reset_opr_set_tables): Likewise.
6245         (oprs_not_set_p): reg_set_bitmap is regset.
6246         (mark_set, mark_clobber): Likewise.
6247
6248         * df.h (DF_EQUIV_NOTES): New constant.
6249         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
6250         when asked for.
6251
6252         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
6253         (init_regions, schedule_insns): Conditionalize the checking
6254         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
6255
6256 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
6257
6258         * i386.md (movti_rex64 splitter): Fix condition.
6259
6260 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
6261
6262         * configure.in: Do not assume that gas's version number is the
6263         last thing on the first line of as --version output.
6264         * configure: Regenerate.
6265
6266         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
6267         MT_WARNING, MT_ERROR, MT_FATAL.
6268         (main): Call gcc_init_libintl.
6269         (v_message): Call gettext on msgid and "warning: "
6270         * tradcif.y: Include intl.h.
6271         (yyerror): Make parameter definition consistent with
6272         prototype.  Call gettext on msgid argument.
6273
6274 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6275
6276         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
6277         warnings.
6278
6279         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
6280
6281 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6282
6283         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
6284         before referencing it.
6285
6286 2001-10-26  DJ Delorie  <dj@redhat.com>
6287
6288         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
6289         override -G, and force -G0.
6290
6291 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
6292
6293         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
6294         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
6295         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
6296         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
6297
6298         * loop.h (struct induction): Rename ext_dependant to
6299         ext_dependent.
6300         * loop.c: Change all uses.
6301         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
6302         All callers changed.
6303         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
6304
6305 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
6306
6307         * c-parse.in (expr_no_commas, primary), c-typeck.c
6308         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
6309
6310 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
6311
6312         Undo assemble_name change in earlier patch.
6313
6314 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
6315
6316         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
6317         determining the type of the receiver, do not check that TREE_CODE
6318         of receiver is CALL_EXPR before calling receiver_is_class_object().
6319         (receiver_is_class_object): For the GNU runtime: recognize
6320         the case that the receiver is self in a class method context.
6321         Check that TREE_CODE of receiver is CALL_EXPR when checking that
6322         the receiver is a call to objc_get_class.
6323
6324 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6325
6326         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
6327
6328 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6329
6330         * Makefile.in (OBJS): Put all files in alphabetical order.
6331
6332         * dwarf2out.c (add_const_value_attribute): Fix error in last
6333         change.
6334
6335 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
6336
6337         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
6338         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
6339         fix warning.
6340         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
6341         (life_analysis): call purge_all_dead_edges after deleting noops.
6342         (delete_noop_move): Do not purge CFG.
6343         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
6344
6345 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
6346
6347         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
6348         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
6349         (ASM_GLOBALIZE_LABEL): Use assemble_name.
6350         (ASM_OUTPUT_COMMON): Likewise.
6351         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
6352         (rs6000_output_function_epilogue): Likewise.
6353         (output_mi_thunk): Fix typo.
6354         (rs6000_output_symbol_ref): Use assemble_name.
6355         (output_toc): Likewise.
6356         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
6357         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
6358         assemble_name calls STRIP_NAME_ENCODING.
6359         (ASM_OUTPUT_LABEL): Use assemble_name.
6360         (ASM_GLOBALIZE_LABEL): Likewise.
6361         (ASM_DECLARE_FUNCTION_NAME): Likewise.
6362         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
6363         (ASM_OUTPUT_LOCAL): Likewise.
6364
6365 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6366
6367         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
6368         (expand_builtin_apply, expand_builtin_return): Likewise.
6369         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
6370
6371 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
6372
6373         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
6374         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
6375         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
6376         configure, configure.in, except.c, except.h, flow.c, function.c,
6377         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
6378         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
6379         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
6380         unroll.c: Fix spelling errors.
6381
6382         * doc/extend.texi, doc/invoke.texi: Fix spelling.
6383
6384         * doc/gcc.texi: Document use of "dependent" and American spelling.
6385
6386 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
6387
6388         * expr.c (emit_group_load): Support CONCATs by storing them to memory
6389         and reloading.
6390
6391 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6392
6393         * expr.c (store_constructor_field): Only call adjust_address on MEM.
6394
6395 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
6396
6397         * genrecog.c (write_switch):  Output if before switch for
6398         DT_elt_zero_wide_safe.
6399
6400 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6401
6402         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
6403         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
6404         (FUNCTION_PROFILER): Const-ify.
6405         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
6406         (eliminate_constant_term, assemble_name, output_addr_const):
6407         Remove declarations.
6408         (ptr_half_pic_address_p, half_pic_hash): Prototype.
6409         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
6410         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
6411         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
6412         (half_pic_declare, half_pic_external): Const-ify.
6413         * toplev.c: Include "halfpic.h".
6414
6415 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
6416
6417         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
6418         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
6419         config/i386/i386.c, config/i386/i386-interix.h,
6420         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
6421         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
6422         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
6423         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
6424         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
6425         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
6426         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
6427         spelling errors.
6428
6429         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
6430         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
6431         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
6432         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
6433         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
6434         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
6435         system.h, toplev.c: Fix spelling errors.
6436
6437 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6438
6439         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
6440
6441         * dwarf2out.c (reg_number): Abort if pseudo.
6442         (reg_loc_descriptor): Return 0 if pseudo.
6443         (is_based_loc): Return 0 if pseudo.
6444         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
6445         recursive calls.
6446         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
6447         (loc_descriptor): Return 0 if can't find location and handle 0
6448         return from recursive calls.
6449         (loc_descriptor_from_tree): Likewise.
6450         Fix handling of indirect.
6451         Also return 0 for PLACEHOLDER_EXPR.
6452         Clean up COMPONENT_REF cases.
6453         (add_AT_location_descriptor): Simplify, but handle 0 return from
6454         loc_descriptor.
6455         (add_const_value_attribute): Avoid shift count warning.
6456         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
6457         Set comp_unit_die as context if not in function.
6458
6459         * config/mips/mips-protos.h: Break up long lines.
6460         Remove needless #ifdef/#endif blocks.
6461         Don't declare functions declared in file made by genpreds or recog.h.
6462         * config/mips/mips.c (mips_output_function_prologue): TSIZE
6463         is now HOST_WIDE_INT; delete unneeded casts.
6464         * config/mips/mips.h: Don't use #elif.
6465
6466         * expr.c (stor_constructor_field): Always call adjust_address.
6467         Copy TARGET before changing its alias set.
6468         (store_field): Likewise, for TO_RTX.
6469         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
6470         replacement.
6471         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
6472         (find_placeholder): Return 0 if can't find object.
6473         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
6474         returns 0.
6475
6476 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
6477
6478         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
6479
6480 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
6481
6482         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
6483         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
6484         (merge_blocks): Properly udpate life after making edge nonfallthru.
6485         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
6486
6487 2001-10-26  Kazu Hirata  <kazu@hxi.com>
6488
6489         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
6490
6491 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
6492
6493         * c-typeck.c (convert_arguments): When comparing for enumeral
6494         type equality, use TYPE_MAIN_VARIANT.
6495         * gcc.dg/Wconversion.c: New tests.
6496
6497 2001-10-26  Kazu Hirata  <kazu@hxi.com>
6498
6499         * s390/s390.c: Fix comment typos.
6500         * s390/s390.h: Likewise.
6501         * s390/s390.md: Likewise.
6502
6503 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
6504
6505         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
6506         (walk_tree): Use it for tail calls where appropriate.
6507
6508 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
6509
6510         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
6511         non-local label_refs.
6512
6513 2001-10-26  Kazu Hirata  <kazu@hxi.com>
6514
6515         * config/h8300/h8300.md (4 anonymous patterns): New.
6516
6517 2001-10-26  Kazu Hirata  <kazu@hxi.com>
6518
6519         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
6520         algorithm through the shift_info structure.
6521         (emit_a_shift): Update the use of get_shift_alg.
6522
6523 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
6524
6525         * sched-rgn.c: Remove bitset typedef.
6526         Change bitset to sbitmap in prototypes / variable types.
6527         Remove bbset_size.
6528         Remove edgeset_bits.
6529         Remove edgeset_size.
6530         s/BITSET_ADD/SET_BIT/g
6531         s/BITSET_INVERT/sbitmap_ones/g
6532         s/BITSET_INTER/sbitmap_a_and_b/g
6533         s/BITSET_UNION/sbitmap_a_or_b/g
6534         s/BITSET_DIFFER/sbitmap_difference/g
6535         s/bitset_member/TEST_BIT/g
6536         (BITSET_*): Removed.
6537         (bitset_member): Removed.
6538         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
6539         EXECUTE_IF_SET_IN_SBITMAP.
6540         (split_edges): Rewrite, use sbitmap functions instead of bitset
6541         operations.
6542         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
6543
6544 2001-10-26  Andreas Schwab  <schwab@suse.de>
6545
6546         * reload1.c (emit_input_reload_insns): Fix parens in last
6547         (undocumented) change that was supposed to change only whitespace.
6548
6549 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6550
6551         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
6552
6553         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
6554         ASM_OPERANDS.
6555
6556 2001-10-26  Andreas Jaeger  <aj@suse.de>
6557
6558         * flow.c (clear_log_links): Remove unused variable.
6559         * cfgcleanup.c (cleanup_cfg): Likewise.
6560
6561 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
6562
6563         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
6564         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
6565
6566 2001-10-26  Richard Henderson  <rth@redhat.com>
6567
6568         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
6569         rename PV_REG to R27_REG.
6570         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
6571         (REG_CLASS_FROM_LETTER): Update.
6572         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
6573         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
6574         (udivsi3, modsi3, umodsi3): Likewise.
6575         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
6576
6577 2001-10-26  Richard Henderson  <rth@redhat.com>
6578
6579         * cfg.c (clear_aux_for_blocks): Split out of ...
6580         (free_aux_for_blocks): here.
6581         (clear_aux_for_edges): Split from ...
6582         (free_aux_for_edges): here.
6583         * basic-block.h: Declare them.
6584         * lcm.c (compute_antinout_edge): Use them.
6585         (compute_laterin, compute_available, compute_nearerout): Likewise.
6586         (optimize_mode_switching): Likewise.
6587
6588 2001-10-26  Richard Henderson  <rth@redhat.com>
6589
6590         * Makefile.in (unstage*): Remove as, ld, collect-ld before
6591         moving everything back to the main build directory.
6592
6593 2001-10-26  Christopher Faylor  <cgf@redhat.com>
6594
6595         * config/i386/cygwin.h: Search target specific include directory, if
6596         appropriate.
6597
6598 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6599
6600         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
6601         of macro guards. Fix #endif comment.
6602
6603         * output.h (default_exception_section, default_eh_frame_section):
6604         Move prototypes outside of macro guard.
6605
6606         * crtstuff.c: Fix #endif comment.
6607
6608 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
6609
6610         * doc/md.texi (movMM): Clarify semantics of storing into a
6611         non-paradoxical SUBREG.
6612
6613 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
6614
6615         * langhooks.c (lang_hook_default_clear_binding_stack): New.
6616         (lang_hook_default_get_alias_set): Move next to other alias
6617         hooks.
6618         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
6619         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
6620         (LANG_HOOKS_INITIALIZER): Add it.
6621         * toplev.h (struct lang_hooks): Add clear_binding_stack.
6622         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
6623         instead of a loop calling poplevel.
6624
6625 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
6626
6627         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
6628         occurrences of #elif with #if...#endif.
6629
6630 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6631
6632         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
6633
6634 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6635
6636         * alias.c (can_address_p): No longer static.
6637         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
6638         Return 0 if all parameters are default values.
6639         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
6640         (adjust_address_1): Try harder to compute a size.
6641         * expr.c (expand_assignment, store_constructor): If can't address,
6642         set MEM_KEEP_ALIAS_SET_P.
6643         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
6644         (store_field): Likewise.
6645         (store_constructor): Simplify call to store_constructor_field.
6646         * expr.h (can_address_p): New declaration.
6647         * gensupport.c (gen_rtx_CONST_INT): New function.
6648         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
6649         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
6650         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
6651
6652         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
6653
6654 2001-10-24  Christopher Faylor  <cgf@redhat.com>
6655
6656         * config/i386/cygwin.h: Use proper path for mingw crt files when
6657         -mno-cygwin.
6658
6659 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6660
6661         * dwarf2out.c (file_info_cmp): Always return consistent results.
6662
6663 2001-10-24  Roger Sayle <roger@eyesopen.com>
6664
6665         * stmt.c (expand_end_case): Index jumptables from zero for
6666         suitably small values of minval.
6667
6668 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
6669
6670         * stor-layout.c (place_union_field): If any field was aligned with
6671         attribute aligned, set record type's TYPE_USER_ALIGN.
6672         (place_field): Likewise.
6673         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
6674         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
6675
6676 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
6677
6678         * c-common.h (struct c_common_identifier): Remove rid_code field.
6679         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
6680
6681         * c-typeck.c (constructor_designated): New local flag.
6682         (struct constructor_stack): Add "designated" field to match.
6683         (start_init): Clear it.
6684         (really_start_incremental_init, push_init_level): Push and
6685         clear it.
6686         (pop_init_level): Pop it.
6687         (set_designator): Set it.
6688
6689         (pop_init_level): Suppress "missing initializer" warnings if
6690         constructor_designated is true.
6691         (process_init_element): Suppress warning about union
6692         initialization under traditional C, if constructor_designated
6693         is true.
6694
6695 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6696
6697         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
6698         change.
6699
6700 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
6701
6702         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
6703
6704 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
6705
6706         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
6707         the node was already a set to a constant.
6708
6709 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6710
6711         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
6712         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
6713
6714 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6715
6716         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
6717         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
6718         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
6719         * s390.c (s390_final_chunkify): Don't use string concatenation.
6720         (s390_function_prologue, s390_function_epilogue): Const-ify.
6721         * s390.h (FUNCTION_PROFILER): Remove unused variable.
6722
6723 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
6724
6725         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
6726         prototypes.
6727
6728 2001-10-23  Stan Shebs  <shebs@apple.com>
6729
6730         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
6731         -traditional-cpp in first-stage compilation.
6732
6733 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6734
6735         * gensupport.c (target_flags): Add.
6736
6737 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
6738
6739         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
6740         if needed.
6741         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
6742         * except.c (expand_builtin_frob_return_addr): Likewise.
6743         (expand_builtin_eh_return): Likewise.
6744         * stmt.c (expand_computed_goto): Likewise.
6745         * explow.c (memory_address): Likewise.
6746         (allocate_dynamic_stack_space): Clean up predicate testing.
6747         (probe_stack_range): Convert SIZE to Pmode.
6748         * calls.c (rtx_for_function_call): Only call convert_memory_address
6749         if needed.
6750         Pass function call operand as ptr_mode, not Pmode.
6751         * expr.c (expand_assignment): Clean up calls to convert_memory
6752         address by only doing so when needed and making offsets Pmode.
6753         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
6754         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
6755         is in Pmode, not ptr_mode.
6756
6757 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6758
6759         * darwin-protos.h (constructor_section, destructor_section,
6760         mod_init_section, mod_term_section): Prototype.
6761         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
6762         Const-ify.
6763         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
6764         Likewise.
6765         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
6766         objc_section_init declaration.
6767         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
6768         (objc_section_init, try_section_alias): Make static.
6769         (alias_section): Make static and hide unused function.
6770         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
6771
6772 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6773
6774         * alias.c (can_address_p): Compnonents are not addressable if
6775         the containing type has alias set 0.
6776         (get_alias_set): Rework to use STRIP_NOPS.
6777         Only call front-end routine on object, type, or object with
6778         NOPs stripped, not inner values.
6779         Use language hook to call front-end routine.
6780         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
6781         (expand_builtin_apply): Call set_mem_align on MEMs we make.
6782         Don't pass alignment to emit_block_move.
6783         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
6784         (expand_builtin_memset): Likewise, but for clear_storage.
6785         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
6786         and remove C++ specific parts.
6787         * c-common.h (c_common_get_alias_set): Add declaration.
6788         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
6789         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
6790         (save_fixed_argument_area): Call set_mem_align.
6791         Remove alignment in call to emit_block_move.
6792         (emit_library_call_value_1, store_one_arg): Likewise.
6793         (target_for_arg): Remove; disabled long ago.
6794         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
6795         once and similar cleanups.
6796         (offset_address): Use proper introductory comment.
6797         * expr.c (emit_block_move): Use alignment from that of MEM args, not
6798         from explicit operand; all callers changed.
6799         (clear_storage): Likewise.
6800         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
6801         (store_field): Remove kludge on alias set used for to_rtx.
6802         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
6803         (expand_expr_unaligned): Call set_mem_attributes instead of
6804         set_mem_alias_set.
6805         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
6806         * function.c (assign_stack_temp_for_type): Set MEM alignment.
6807         (expand_function_end): Track MEM attributes of trampolines.
6808         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
6809         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
6810         attributes from original.
6811         * langhooks.c (lang_hook_default_get_alias_set): New function.
6812         (hook_get_alias_set_0): New function.
6813         * langhooks.h (hook_get_alias_set_0): New declaration.
6814         (lang_hook_default_get_alias_set): Likewise.
6815         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
6816         * reload1.c (alter_reg): Use adjust_address_nv.
6817         * rtl.c (get_mode_alignment): Moved to here.
6818         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
6819         change default if unknown from 1 to BITS_PER_UNIT.
6820         * stor-layout.c (get_mode_alignment): Remove from here.
6821         * toplev.h (struct lang_hoks): Add get_alias_set field.
6822         * tree.h (lang_get_alias_set): Delete declaration.
6823         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
6824         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
6825         (ix86_va_arg): Likewise.
6826         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
6827         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
6828         * config/sparc/sparc.c (sparc_va_arg): Likewise.
6829         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
6830         (expand_block_move_mem): Remove dead code.
6831
6832 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
6833
6834         * c-common.c (warn_div_by_zero): New.
6835         * c-common.h (warn_div_by_zero): New.
6836         * c-decl.c (c_decode_option): Take it on the command line.
6837         * c-typeck.c (build_binary_op): Warn about division by zero.
6838         * doc/invoke.texi: Document the new command line option, fix
6839         documentation of -Wmultichar.
6840         * testsuite/gcc.dg/divbyzero.c: New tests.
6841         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
6842
6843 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
6844
6845         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
6846
6847         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
6848         to avoid update_life_info call.
6849         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
6850         * cfgcleanup.c (bb_flags): New enum.
6851         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
6852         (notice_new_block, update_forwarder_flag): New functions.
6853         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
6854         (try_forward_edges): Likewise; update flags.
6855         (merge_blocks): Likewise.
6856         (outgoing_edges_match): Likewise.
6857         (try_crossjump_to_edge): Likewise.
6858         (try_optimize_cfg): Likewise; initialize and clear the flags;
6859         recompute life info if needed.
6860         (cleanup_cfg): No need to clear aux pointers.
6861
6862 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
6863
6864         * config/i386/i386.c (override_options): Default to minimum
6865         stack alignment when optimizing for code size.
6866         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
6867         change.
6868
6869         * config/i386/i386.c (override_options): Set upper limit of
6870         -mpreferred-stack-boundary to 12.
6871
6872 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
6873
6874         * recog.c (peephole2_optimize): Add default case to switch.
6875
6876 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
6877
6878         * doc/gcc.texi (Sending Patches): Remove.
6879
6880 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
6881
6882         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
6883         fields when comparing.
6884
6885 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6886
6887         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
6888         * arm.c (HOST_INT, HOST_UINT): Likewise.
6889
6890 2001-10-22  Stan Shebs  <shebs@apple.com>
6891
6892         * config/darwin-protos.h (darwin_exception_section): Declare.
6893         (darwin_eh_frame_section): Declare.
6894
6895 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
6896
6897         * i386.md (movti_rex64): Fix mode.
6898
6899 2001-10-22  Stan Shebs  <shebs@apple.com>
6900
6901         * target.h (struct gcc_target): Add asm_out.exception_section,
6902         asm_out.eh_frame_section.
6903         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
6904         (TARGET_ASM_EH_FRAME_SECTION): New.
6905         (TARGET_INITIALIZER): Update.
6906         * output.h (default_exception_section): Declare.
6907         (default_eh_frame_section): Declare.
6908         * dwarf2out.c: Include target.h.
6909         (output_call_frame_info): Call target hook for eh frames.
6910         (default_eh_frame_section): New function.
6911         * except.c: Include target.h.
6912         (output_function_exception_table): Call target hook for exception
6913         section.
6914         * varasm.c (default_exception_section): Rename from
6915         exception_section, remove EXCEPTION_SECTION macro.
6916
6917         * config/darwin.h (darwin_eh_frame_section): New function.
6918         (EXCEPTION_SECTION): Remove.
6919         (TARGET_ASM_EXCEPTION_SECTION): Define.
6920         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
6921         (nextstep_exception_section): New function.
6922         (nextstep_eh_frame_section): New function.
6923         (TARGET_ASM_EXCEPTION_SECTION): Define.
6924         (TARGET_ASM_EH_FRAME_SECTION): Define.
6925
6926         * config/pa/som.h (EXCEPTION_SECTION): Remove.
6927         (TARGET_ASM_EXCEPTION_SECTION): Define.
6928         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
6929         (EXCEPTION_SECTION): Remove.
6930         (TARGET_ASM_EXCEPTION_SECTION): Define.
6931         * config/stormy16/stormy16.h: Remove comments referencing
6932         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
6933
6934         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
6935         TARGET_ASM_EH_FRAME_SECTION.
6936
6937 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
6938
6939         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
6940         terms.
6941
6942         * c-format.c: Fix spelling typo in comment.
6943
6944         * sched-int.h: Fix typo in GCC preamble.
6945
6946 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
6947
6948         PR debug/4252
6949         * doc/invoke.texi: Remove references to -fdump-translation-unit.
6950
6951 2001-10-22  Richard Henderson  <rth@redhat.com>
6952
6953         * config/i386/i386.c (ix86_expand_clear): New.
6954         * config/i386/i386-protos.h: Declare it.
6955         * config/i386/i386.md (setcc peep2s): Use it.
6956         (movsi_xor): Unexport.
6957
6958 2001-10-22  Richard Henderson  <rth@redhat.com>
6959
6960         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
6961         free_EXPR_LIST_list for LOG_LINKS.
6962
6963 2001-10-21  Robert Lipe  <robertlipe@usa.net>
6964
6965         * config/i386/i386.c (sco_asm_named_section): Delete.
6966         (sco_asm_out_constructor): Delete.
6967         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
6968         (ASM_OUTPUT_DOUBLE_INT): Likewise.
6969         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
6970         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
6971         (EXCEPTION_SECTION): Delete EH scn renaming hack.
6972
6973 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6974
6975         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
6976         and/or fold extra calls into fewer ones.
6977         * collect2.c (dump_file): Likewise.
6978         * cppexp.c (parse_number): Likewise.
6979         * cpplex.c (_cpp_lex_direct): Likewise.
6980         * final.c (output_asm_insn, asm_fprintf): Likewise.
6981         * fix-header.c (inf_scan_ident, main): Likewise.
6982         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
6983         Likewise.
6984         * fold-const.c (real_hex_to_f): Likewise.
6985         * gen-protos.c (parse_fn_proto): Likewise.
6986         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
6987         * genrecog.c (change_state, write_action): Likewise.
6988         * gensupport.c (shift_output_template): Likewise.
6989         * local-alloc.c (requires_inout): Likewise.
6990         * mips-tfile.c (IS_ASM_IDENT): Likewise.
6991         * protoize.c (is_id_char, main): Likewise.
6992         * real.c (asctoeg): Likewise.
6993         * recog.c (asm_operand_ok): Likewise.
6994         * reload.c (find_reloads): Likewise.
6995         * scan.c (scan_identget_token): Likewise.
6996         * sched-vis.c (print_value): Likewise.
6997         * stringpool.c (ggc_alloc_string): Likewise.
6998         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
6999         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
7000         * tradcpp.c (rescan): Likewise.
7001         * tree.c (clean_symbol_name): Likewise.
7002         * varasm.c (decode_reg_name): Likewise.
7003
7004         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
7005         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
7006         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
7007         * m88k.c (output_ascii): Likewise.
7008         * m88k.h (OVERRIDE_OPTIONS): Likewise.
7009         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
7010         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
7011         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
7012
7013 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
7014
7015         * langhooks.c (lang_hook_default_do_nothing,
7016         lang_hook_default_decode_option): New defaults.
7017         * langhooks.h: Make hooks unconditional and non-NULL.
7018         * toplev.c (compile_file, toplev_main): Update.
7019         * toplev.h: Update comments.
7020         * objc/objc-act.c (lang_hooks): Update to new paradigm.
7021
7022 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7023
7024         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
7025
7026         * system.h (IN_RANGE): New macro.
7027
7028 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
7029
7030         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
7031         INTLDEPS variable, which does not include $LIBICONV.
7032         * Makefile.in: Use INTLDEPS in LIBDEPS.
7033         * configure: Regenerate.
7034
7035 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
7036
7037         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
7038         * cpplex.c (lex_percent, lex_dot): Remove.
7039         (get_effective_char, skip_block_comment, skip_line_comment,
7040         parse_identifier_slow, parse_number, parse_string, save_comment,
7041         _cpp_lex_direct): Update to do lookback freely.
7042         (IF_NEXT_IS, BACKUP): New macros.
7043         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
7044         * cppmacro.c (paste_tokens): Update.
7045
7046 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
7047
7048         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
7049
7050 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
7051
7052         * reload1.c (reload): Check CONSTANT_P before calling
7053         LEGITIMATE_PIC_OPERAND_P.
7054         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
7055         workaround of 2001-10-13.
7056
7057 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
7058
7059         * i386.c (split_di): Handle splitting of DFmode.
7060
7061 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7062
7063         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
7064         (adjust_address_1, offset_address): Likewise.
7065
7066         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
7067         (output_asm_insn): Call it for each line output.
7068         Don't record an operand more than once.
7069
7070         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
7071         * main.c: Include config.h and system.h, but not ansidecl.h.
7072         * Makefile.in (main.o): Update accordingly.
7073
7074 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
7075
7076         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
7077
7078 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
7079
7080         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
7081         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
7082         Break out from ...
7083         (find_sub_basic_blocks): ... here;
7084         (find_many_sub_basic_blocks): New.
7085         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
7086
7087         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
7088
7089         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
7090
7091         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
7092
7093         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
7094         * flow.c (update_life_info): Measure time.
7095         * c-decl.c: Include timevar.h
7096         (c_expand_body): Measure time.
7097         * toplev.c (rest_of_compilation): Measure time of mode switching
7098         separately.
7099         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
7100
7101         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
7102         (lang_independent_options): Add asynchronous-unwind-tables
7103         (toplev_main): flag_asynchronous_unwind_tables implies
7104         flag_unwind_tables.
7105         * flags.h (flag_asynchronous_unwind_tables): Declare.
7106         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
7107         flag_asynchronous_unwind_tables.
7108         (output_call_frame_info): Likewise.
7109         * invoke.texi (-fasynchronous-unwind-tables): Document.
7110         * i386.c (optimization_options): Enable
7111         flag_asynchronous_unwind_tables.
7112
7113         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
7114         * i386.md (s* expanders): Destination is QImode.
7115
7116         * toplev.c (rest_of_compilation): Do not call clear_log_links.
7117         * rtl.h (clear_log_links): Kill.
7118         * flow.c (clear_log_links): Make static; accept blocks parameter;
7119         do no clear life info.
7120         (update_life_info): Call clear_log_links.
7121
7122         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
7123
7124 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
7125
7126         * cpplex.c (handle_newline, skip_escaped_newlines,
7127         get_effective_char, skip_block_comment, skip_line_comment,
7128         parse_identifier_slow, parse_number, parse_string,
7129         _cpp_lex_direct): Update to do more stepping back.
7130         (trigraph_ok): Similarly.  Rename trigraph_p.
7131         (SAVE_STATE, RESTORE_STATE): Remove.
7132         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
7133
7134         * cpplib.c (destringize): Rename destringize_and_run, and
7135         call run_directive directly.
7136         (_cpp_do__Pragma): Simplify.
7137
7138 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7139
7140         * pe.c (arm_pe_unique_section): Const-ify.
7141         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
7142         (switch_to_section): Add static prototype.
7143
7144         * output.h (drectve_section): Prototype.
7145
7146 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7147
7148         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
7149         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
7150         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
7151         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
7152         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
7153         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
7154         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
7155         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
7156         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
7157         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
7158         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
7159         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
7160         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
7161         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
7162         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
7163         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
7164         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
7165         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
7166         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
7167         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
7168         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
7169         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
7170         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
7171         cris-*-none, cris-*-linux*: Update ${tmfile} list.
7172         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
7173         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
7174         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
7175         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
7176         v850-*-*): Delete superflous ${cpu_type} setting.
7177         * config/linux.h: Delete svr4.h include.
7178         (SET_ASM_OP): Delete.
7179         * config/netware.h (INT_ASM_OP): Undef before define.
7180         * config/ptx4.h: Delete elfos.h include.
7181         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
7182         * config/svr4.h: Delete elfos.h include. Update commentary.
7183         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
7184         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
7185         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
7186         config/v850/v850.h: Delete svr4.h include.
7187         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
7188         config/m68k/m68kv4.h, config/m88k/sysv4.h,
7189         config/sparc/sysv4.h: Update includes.
7190         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
7191         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
7192         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
7193         config/m88k/dguxbcs.h: Delete includes.
7194         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
7195         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
7196         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
7197         it.
7198         * config/m88k/dgux.h: Delete include.
7199         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
7200         defining it.
7201         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
7202         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
7203         * config/sh/elf.h: Update include.
7204         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
7205         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
7206
7207 2001-10-19  Catherine Moore  <clm@redhat.com>
7208
7209         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
7210         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
7211         base and count fields.
7212         (stormy16_expand_builtin_va_start):  last_reg_count changed to
7213         size_of_reg_args.  Use count + size in first comparison.
7214
7215 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7216
7217         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
7218         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
7219         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
7220         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
7221         Set alignment from type if INDIRECT_REF.
7222         (adjust_address_1, offset_address): Simplify alignment compuitation.
7223         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
7224         here; done by set_mem_attributes.
7225
7226 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7227
7228         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
7229         * arm-protos.h (rdata_section, zero_init_section, common_section):
7230         Prototype.
7231         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
7232         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
7233         traditional mode stringification.
7234         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
7235         in macros controling its use.
7236         * rtlanal.c: Include tm_p.h.
7237         * varasm.c (asm_output_aligned_bss): Mark parameter with
7238         ATTRIBUTE_UNUSED.
7239         (assemble_constant_align, assemble_start_function, assemble_align,
7240         assemble_variable, assemble_trampoline_template,
7241         output_constant_def_contents): Wrap potentially empty if-stmt body
7242         in brackets.
7243
7244 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7245
7246         * a29k-protos.h (literal_section): Prototype.
7247         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
7248         * a29k.md: Ensure function pointers are prototyped.
7249         * genattrtab.c (write_eligible_delay): Mark parameter with
7250         ATTRIBUTE_UNUSED.
7251
7252 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7253
7254         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
7255         * 1750a.c (print_operand): Fix format specifier warning.
7256         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
7257         * 1750a.md: Likewise.
7258         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
7259         * genemit.c (output_add_clobbers): Mark parameter with
7260         ATTRIBUTE_UNUSED.
7261         * genrecog.c (write_subroutine): Likewise.
7262         * integrate.c (expand_inline_function): Delete unused variable.
7263         * varasm.c (remove_from_pending_weak_list): Wrap with
7264         ASM_WEAKEN_LABEL.
7265
7266 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
7267
7268         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
7269         field is different to previous argument's neg field.
7270
7271         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
7272
7273 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7274
7275         * final.c (get_decl_from_op): New function.
7276         (output_asm_insn): Call it; write "*" when item with decl is address.
7277
7278 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
7279
7280         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
7281         about 64-bit support from the 3.0_branch version.
7282
7283 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
7284
7285         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
7286         USE_INCLUDED_LIBINTL when appropriate.
7287         * configure, config.in: Regenerate.
7288         * Makefile.in (datadir): Set to @datadir@.
7289         (intl.o): Also depend on $(CONFIG_H) and system.h.
7290
7291         * intl.c: Factor out common gettext initialization sequence.
7292         (gcc_init_libintl):  New function.
7293         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
7294         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
7295         off NLS.  Add multiple include guard.  No need to #ifdef-guard
7296         an #undef.  Prototype gcc_init_libintl here.
7297
7298         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
7299         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
7300         Use gcc_init_libintl.
7301
7302 2001-10-19  Catherine Moore  <clm@redhat.com>
7303
7304         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
7305
7306         * config/stormy16/stormy16.c (stormy16_split_move):  Make
7307         sure that REG_INC notes are present for auto_inc operands.
7308
7309 2001-10-19  Andreas Jaeger  <aj@suse.de>
7310
7311         * configure: Regenerated.
7312         * configure.in: Add x86_64 to switch statements.
7313
7314 2001-10-18  Richard Henderson  <rth@redhat.com>
7315
7316         * config/alpha/alpha.md (sibcall_osf_1): Load destination
7317         address into $27 explicitly.
7318         (sibcall_value_osf_1): Likewise.
7319
7320 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7321
7322         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
7323         (offset_address): New function.
7324         (free_emit_status): Free regno_decl.
7325         (init_emit): Pass proper number of elements to xcalloc.
7326         Allocate regno_decl.
7327         (mark_emit_status): Mark regno_decl values.
7328         * expr.c (highest_pow2_factor): New function.
7329         (expand_assigment): Use it and offset_address.
7330         Properly handle ptr_mode vs. Pmode in offset calculation.
7331         (store_constructor, expand_expr_unaligned): Likewise.
7332         (expand_expr, case COMPONENT_EXPR): Likewise.
7333         * expr.h (offset_address): New decl.
7334         * function.h (struct emit_status): Add regno_decl.
7335         (REGNO_DECL): New macro.
7336         * final.c (output_asm_name): Move in file and don't conditionalize
7337         on flag_print_asm_name.
7338         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
7339         Output names of operands, if known.
7340         * function.c (assign_parms): Set REGNO_DECL.
7341         * integrate.c (integrate_decl_tree): Likewise.
7342         * stmt.c (expand_decl): Likewise.
7343         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
7344
7345 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
7346
7347         * attribs.c (handle_noinline_attribute): New function.
7348         (handle_used_attribute): Likewise.
7349         (c_common_attribute_table): Added noinline and used.
7350         * doc/extend.texi (Function Attributes): Document them.
7351         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
7352         Warn when merging inline with attribute noinline.
7353         (start_decl, start_function): Warn if inline and attribute
7354         noinline appear in the same declaration.
7355
7356 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
7357
7358         * config.gcc: Update c4x and i370 for C front end-specific
7359         dependencies.
7360         * config/c4x/c4x-c.c: New.
7361         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
7362         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
7363         New declarations.
7364         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
7365         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
7366         Make extern.
7367         (c4x_init_pragma): Remove.
7368         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
7369         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
7370         c4x_pr_ignored): Move to c4x-c.c.
7371         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
7372         * config/c4x/t-c4x: Update.
7373         * config/i370/i370-c.c: New.
7374         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
7375         (i370_pr_map): Move to i370-c.c.
7376         * config/i370/t-i370: New.
7377
7378         * doc/tm.texi: Update.
7379
7380 2001-10-17  Stan Shebs  <shebs@apple.com>
7381
7382         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
7383         typo fixes throughout.
7384         (machopic_output_stub): Remove some dead code.
7385
7386 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
7387
7388         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
7389         leak.
7390
7391 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7392
7393         * Makefile.in (print-rtl.o): Depend on TREE_H.
7394         * alias.c (get_alias_set): Make two passes over objects to first
7395         see if inner object is access via restricted pointer.
7396         Defer allocating alias set for restricted pointer until here.
7397         Call find_placeholder with second arg nonzero.
7398         Minor cleanups.
7399         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
7400         set for restricted pointer types.
7401         * emit-rtl.c (set_mem_attributes): Set more attributes.
7402         (set_mem_align, change_address, adjust_address_1): New functions.
7403         (change_address_1): Now static.
7404         (adjust_address, adjust_address_nv): Deleted.
7405         (replace_equiv_address): Call change_address_1.
7406         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
7407         (find_placeholder): Get starting point from PLIST arg.
7408         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
7409         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
7410         (adjust_address, adjust_address_nv): New macros.
7411         * print-rtl.c (tree.h): New include.
7412         (print_rtx, case MEM): Print all memory attributes.
7413
7414 2001-10-17  Richard Henderson  <rth@redhat.com>
7415
7416         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
7417
7418 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7419
7420         * c-tree.texi: Eliminate duplicated word.
7421         * cpp.texi: Likewise.
7422         * install.texi: Likewise.
7423         * invoke.texi: Likewise.
7424         * tm.texi: Likewise.
7425
7426 2001-10-17  Michael Collison  <collison@isisinc.net>
7427
7428         * dsp16xx.c: Fix comment formatting to match GNU standards.
7429         (dsp16xx_output_function_prologue): Change type of 'size'
7430         parameter from 'int' to HOST_WIDE_INT.
7431         (dsp16xx_output_function_epilogue): Change type of 'size'
7432         parameter from 'int' to HOST_WIDE_INT.
7433
7434 2001-10-16  Richard Henderson  <rth@redhat.com>
7435
7436         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
7437         * configure, config.in: Rebuild.
7438
7439         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
7440         (ix86_output_addr_diff_elt): New.
7441         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
7442         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
7443         (JUMP_TABLES_IN_TEXT_SECTION): New.
7444         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
7445         * config/i386/i386-protos.h: Update.
7446
7447         * config/i386/386bsd.h, config/i386/beos-elf.h,
7448         config/i386/freebsd-aout.h, config/i386/freebsd.h,
7449         config/i386/i386-interix.h, config/i386/i386elf.h,
7450         config/i386/linux.h, config/i386/netbsd-elf.h,
7451         config/i386/netbsd.h, config/i386/openbsd.h,
7452         config/i386/ptx4-i.h, config/i386/rtemself.h,
7453         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
7454         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
7455
7456 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
7457
7458         * stmt.c (expand_asm_operands): Update commentary.
7459
7460 2001-10-16  Stan Shebs  <shebs@apple.com>
7461
7462         * config/darwin.h (GCC_NAME): Remove, no longer used.
7463         (NO_MATH_LIBRARY): Ditto.
7464         (MATH_LIBRARY): Define to emptiness.
7465         (DWARF2_DEBUGGING_INFO): Define.
7466         (PREFERRED_DEBUGGING_TYPE): Define.
7467         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
7468         (EXCEPTION_SECTION): Define.
7469         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7470         * config/darwin.c (darwin_encode_section_info): Handle case of
7471         DECL_INITIAL being error_mark_node.
7472
7473 2001-10-16  Richard Henderson  <rth@redhat.com>
7474
7475         * alpha.c (current_file_function_operand): Don't fail for profiling.
7476         (direct_call_operand): New.
7477         * alpha-protos.h: Declare it.
7478         * alpha.h (EXTRA_CONSTRAINT): Use it.
7479         (PREDICATE_CODES): Add it.
7480         (ASM_OUTPUT_MI_THUNK): Remove.
7481         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
7482         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
7483
7484 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
7485
7486         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
7487         (JUMP_TABLES_IN_TEXT_SECTION): Define.
7488
7489 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
7490
7491         * cfg.c (free_edge): Break out from ....
7492         (remove_edge): ... here.
7493         (clear_edges): Use free_edge.
7494
7495         * att.h (ASM_QUAD): Add comment.
7496         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
7497
7498 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
7499
7500         * i386.c (split_ti): New function.
7501         (ix86_split_to_parts): Support TImodes.
7502         * i386.h (VALID_INT_MODE_P): Add TImode.
7503         * i386.md (movdi splitter): Fix.
7504         (movti): Support 64bit integer registers.
7505         (movti_rex64): New function and splitter.
7506
7507         * i386.c (*_cost): Add movsx/movzx cost.
7508         * i386.h (struct processor_costs): Add movsx/movzx fields.
7509         (RTX_COSTS): Handle zero/sign extend + avoid believing that
7510         64bit operations require split on 64bit machine.
7511         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
7512
7513         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
7514         (ix86_expand_move): Avoid pushes of memory if size does not match;
7515         move long constants to register.
7516         (x86_initialize_trampoline): Fix mode.
7517         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
7518         Use ASM_QUAD on 64bit.
7519         * i386.md (test pattern): Disallow impossible constants.
7520         (tablejump PIC expander): Fix emitting of sum.
7521         (movdicc_rex64): Rename to movdicc.
7522         * linux64.h (LINK_SPEC): Add missing '%'.
7523
7524 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
7525
7526         * tree-inline.c (inlinable_function_p): Leave it up to the
7527         front-end to turn -finline-functions into DECL_INLINE set for all
7528         functions.
7529
7530 2001-10-16  Stan Shebs  <shebs@apple.com>
7531
7532         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
7533
7534 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
7535
7536         * recog.c: Formatting and comment typo fixes.
7537
7538         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
7539         version in single tree build.
7540         * configure: Regenerate.
7541
7542 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
7543
7544         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
7545         MODE arguments to gen_rtx and compare operand with const0_rtx.
7546
7547 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
7548
7549         * system.h: Poison old unused target macros.
7550         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
7551         * config/stormy16/stormy16.c: Update references to obsolete macros.
7552         * config/stormy16/stormy16.h: Similarly.
7553         * config/stormy16/stormy16.md: Similarly.
7554         * config/cris/cris.h: Similarly.
7555
7556 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
7557
7558         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
7559         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
7560         cpp_register_pragma): Update accordingly.
7561
7562 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
7563
7564         * c-pragma.h (cpp_register_pragma_space): Remove.
7565         * cpplib.h (cpp_register_pragma_space): Remove.
7566         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
7567         (cpp_register_pragma_space): Remove.
7568         (cpp_register_pragma): Simplify using lookup_pragma_entry,
7569         add sanity checks.
7570         (do_pragma): Similarly.
7571         (_cpp_init_internal_pragmas): Don't register namespaces.
7572
7573         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
7574         Don't register namespaces.
7575         * cp/lex.c (init_cp_pragma): Similarly.
7576         * doc/tm.texi: Update.
7577
7578 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
7579
7580         PR c/4157
7581         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
7582
7583 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
7584
7585         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
7586         add scheduling support.
7587         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
7588         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
7589         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
7590
7591
7592 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
7593
7594         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
7595         missing CONSTANT_P test in core GCC.
7596
7597 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
7598
7599         * cppmain.c (struct printer): New member source.
7600         (scan_translation_unit): Fix spacing at start of lines.
7601         (cb_line_change): Update.
7602
7603         * gcc.dg/cpp/spacing2.c: New test.
7604
7605 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
7606
7607         * config/cris/arit.c: Use __builtin_labs, not abs.
7608
7609         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
7610
7611         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
7612         misplaced sprintf and fprintf argument.
7613
7614 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
7615
7616         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
7617         * configure.in, Makefile.in: Take out obsolete check-po logic.
7618         * configure, config.in: Regenerate.
7619
7620 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
7621
7622         * objc/objc-act.c (finish_objc): Correct precondition for emitting
7623         symtab declarations.
7624
7625 2001-10-12  Stan Shebs  <shebs@apple.com>
7626
7627         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
7628         declarations of arguments and local variables.
7629
7630 2001-10-12  Christopher Faylor  <cgf@redhat.com>
7631
7632         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
7633         ENDFILE_SPEC definition.
7634
7635 2001-10-12  Kazu Hirata  <kazu@hxi.com>
7636
7637         * gthr-dce.h: Fix comment formatting.
7638         * gthr-posix.h: Likewise.
7639         * gthr-single.h: Likewise.
7640         * gthr-solaris.h: Likewise.
7641         * gthr-vxworks.h: Likewise.
7642         * gthr-win32.h: Likewise.
7643
7644 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
7645
7646         * final.c (output_asm_insn): Make sure assembly dialects are
7647         terminated, not nested.  Output `|' and `}' characters if they
7648         don't appear inside assembly dialect selection.
7649         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
7650         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
7651         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
7652         strsetsi_rex_1): Add {} braces.
7653
7654 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
7655
7656         * toplev.c (compile_file): Ignore return value from yyparse.
7657         Always pop any nested binding levels after yyparse returns.
7658
7659 2001-10-11  Richard Henderson  <rth@redhat.com>
7660
7661         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
7662
7663 2001-10-11  Richard Henderson  <rth@redhat.com>
7664
7665         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
7666         fall back to add_AT_long_long for large CONST_INT.
7667
7668 2001-10-11  Richard Henderson  <rth@redhat.com>
7669
7670         * config/i386/i386.md (setcc splitters): Add four splitters to
7671         simplify compound compares that simplify_comparison can't handle.
7672
7673 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
7674
7675         * cpplex.c (digraph_spellings, token_spellings): Make static.
7676
7677 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7678
7679         * unroll.c (loop_iterations): Fixup last patch.
7680
7681 2001-10-11  Richard Henderson  <rth@redhat.com>
7682
7683         * rtl.h (REG_VTABLE_REF): New.
7684         * rtl.c (reg_note_name): Add it.
7685         * combine.c (distribute_notes): Handle it.
7686         * final.c (final_scan_insn): Handle it.
7687         * tree.def (VTABLE_REF): New.
7688         * expr.c (expand_expr): Handle it.
7689         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
7690         * output.h: Declare them.
7691
7692 2001-10-11  Richard Henderson  <rth@redhat.com>
7693
7694         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
7695         for a DECL_INITIAL.
7696
7697 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
7698
7699         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
7700         available in 64-bit mode.
7701
7702 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
7703
7704         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
7705         cris-*-linux* cases.
7706         * config/cris/cris-protos.h: New file.
7707         * config/cris/cris.c: New file.
7708         * config/cris/cris.h: New file.
7709         * config/cris/cris.md: New file.
7710         * config/cris/linux.h: New file.
7711         * config/cris/aout.h: New file.
7712         * config/cris/arit.c: New file.
7713         * config/cris/cris_abi_symbol.c: New file.
7714         * config/cris/mulsi3.asm: New file.
7715         * config/cris/t-aout: New file.
7716         * config/cris/t-cris: New file.
7717         * config/cris/t-elfmulti: New file.
7718         * config/cris/t-linux: New file.
7719         * doc/invoke.texi: Add CRIS options.
7720         * doc/install.texi (Specific): Add blurb for CRIS.
7721
7722 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
7723
7724         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
7725         before using it.
7726         * config/float/i32.h: Likewise.
7727         * config/float-i386.h: Likewise.
7728         * config/float-i64.h: Likewise.
7729         * config/float-m68k.h: Likewise.
7730         * config/float-sh.h: Likewise.
7731         * config/float-sparc.h: Likewise.
7732
7733 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
7734
7735         * doc/contrib.texi: Add note about CRIS port to my entry.
7736
7737 2001-10-11  Kazu Hirata  <kazu@hxi.com>
7738
7739         * basic-block.h: Fix formatting.
7740         * bitmap.h: Likewise.
7741         * cpplib.h: Likewise.
7742         * c-tree.h: Likewise.
7743         * diagnostic.h: Likewise.
7744         * flags.h: Likewise.
7745         * ggc.h: Likewise.
7746         * longlong.h: Likewise.
7747         * real.h: Likewise.
7748         * reload.h: Likewise.
7749         * rtl.h: Likewise.
7750         * tree.h: Likewise.
7751
7752 2001-10-10  Richard Henderson  <rth@redhat.com>
7753
7754         * c-parse.in (asm_operand): Allow named operands.
7755         * genconfig.c (max_recog_operands): Set to 29.
7756         * local-alloc.c (requires_inout): Skip multiple digits.
7757         * recog.c (asm_operand_ok): Likewise.
7758         (preprocess_constraints): Use strtoul for matching constraints.
7759         (constrain_operands): Likewise.
7760         * regmove.c (find_matches): Likewise.
7761         * reload.c (find_reloads): Likewise.
7762         * stmt.c (parse_output_constraint): Don't reject in-out
7763         constraint on operands > 9.  Reject '[' in constraint.
7764         (expand_asm_operands): Handle named operands.  Use strtoul
7765         for matching constraints.
7766         (check_operand_nalternatives): Split out from expand_asm_operands.
7767         (check_unique_operand_names): New.
7768         (resolve_operand_names, resolve_operand_name_1): New.
7769
7770         * doc/extend.texi (Extended Asm): Document named operands.
7771         * doc/md.texi (Simple Constraints): Document matching constraints
7772         on operands > 9.
7773
7774 2001-10-10  Richard Henderson  <rth@redhat.com>
7775
7776         * combine.c (try_combine): Handle a SEQUENCE of one insn.
7777
7778         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
7779         (jcc splitters): Add two splitters to simplify compound compares
7780         that simplify_comparison can't handle.
7781
7782 2001-10-10  Richard Henderson  <rth@redhat.com>
7783
7784         * langhooks.c: Include langhooks.h.
7785         * Makefile.in (langhooks.o): Depend on it.
7786
7787 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
7788
7789         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
7790         should not be considered as a no-op.
7791         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
7792
7793 2001-10-10  Stan Shebs  <shebs@apple.com>
7794
7795         * alias.c: Remove uses of "register" specifier in declarations
7796         of arguments and local variables.
7797         * c-common.c: Ditto.
7798         * c-convert.c: Ditto.
7799         * c-decl.c: Ditto.
7800         * c-format.c: Ditto.
7801         * c-semantics.c: Ditto.
7802         * c-typeck.c: Ditto.
7803         * caller-save.c: Ditto.
7804         * calls.c: Ditto.
7805         * cfg.c: Ditto.
7806         * cfgbuild.c: Ditto.
7807         * cfgrtl.c: Ditto.
7808         * collect2.c: Ditto.
7809         * combine.c: Ditto.
7810         * convert.c: Ditto.
7811         * cppexp.c: Ditto.
7812         * cppfiles.c: Ditto.
7813         * cse.c: Ditto.
7814         * dbxout.c: Ditto.
7815         * defaults.h: Ditto.
7816         * df.c: Ditto.
7817         * dwarf2out.c: Ditto.
7818         * dwarfout.c: Ditto.
7819         * emit-rtl.c: Ditto.
7820         * explow.c: Ditto.
7821         * expmed.c: Ditto.
7822         * expr.c: Ditto.
7823         * final.c: Ditto.
7824         * fix-header.c: Ditto.
7825         * floatlib.c: Ditto.
7826         * flow.c: Ditto.
7827         * fold-const.c: Ditto.
7828         * function.c: Ditto.
7829         * gcc.c: Ditto.
7830         * gcse.c: Ditto.
7831         * gen-protos.c: Ditto.
7832         * genattrtab.c: Ditto.
7833         * gencheck.c: Ditto.
7834         * genconfig.c: Ditto.
7835         * genemit.c: Ditto.
7836         * genextract.c: Ditto.
7837         * genflags.c: Ditto.
7838         * gengenrtl.c: Ditto.
7839         * genoutput.c: Ditto.
7840         * genpeep.c: Ditto.
7841         * genrecog.c: Ditto.
7842         * gensupport.c: Ditto.
7843         * global.c: Ditto.
7844         * gmon.c: Ditto.
7845         * graph.c: Ditto.
7846         * haifa-sched.c: Ditto.
7847         * hard-reg-set.h: Ditto.
7848         * hash.c: Ditto.
7849         * integrate.c: Ditto.
7850         * jump.c: Ditto.
7851         * lists.c: Ditto.
7852         * local-alloc.c: Ditto.
7853         * loop.c: Ditto.
7854         * mips-tdump.c: Ditto.
7855         * mips-tfile.c: Ditto.
7856         * optabs.c: Ditto.
7857         * prefix.c: Ditto.
7858         * print-rtl.c: Ditto.
7859         * read-rtl.c: Ditto.
7860         * real.c: Ditto.
7861         * recog.c: Ditto.
7862         * reg-stack.c: Ditto.
7863         * regclass.c: Ditto.
7864         * regmove.c: Ditto.
7865         * reload.c: Ditto.
7866         * reload1.c: Ditto.
7867         * reorg.c: Ditto.
7868         * resource.c: Ditto.
7869         * rtl.c: Ditto.
7870         * rtlanal.c: Ditto.
7871         * scan.c: Ditto.
7872         * sched-deps.c: Ditto.
7873         * sched-rgn.c: Ditto.
7874         * sdbout.c: Ditto.
7875         * simplify-rtx.c: Ditto.
7876         * stmt.c: Ditto.
7877         * stor-layout.c: Ditto.
7878         * toplev.c: Ditto.
7879         * tradcif.y: Ditto.
7880         * tradcpp.c: Ditto.
7881         * tree.c: Ditto.
7882         * unroll.c: Ditto.
7883         * varasm.c: Ditto.
7884         * xcoffout.c: Ditto.
7885
7886 2001-10-10  Richard Henderson  <rth@redhat.com>
7887
7888         * rtl.h (can_reverse_comparison_p): Remove.
7889
7890 2001-10-10  Christopher Faylor <cgf@redhat.com>
7891
7892         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
7893         used.
7894
7895 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
7896
7897         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
7898         (Thanks to Chris Faylor for suggesting macro name).
7899         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
7900         WIN32 defines.
7901         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
7902         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
7903         (MATH_LIBRARY): Undef before definition.
7904         (OUTPUT_QUOTED_STRING): Likewise.
7905         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
7906
7907 2001-10-10  Richard Henderson  <rth@redhat.com>
7908
7909         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
7910         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
7911         a tristate comparison value.
7912         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
7913
7914 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7915
7916         PR c++/4512
7917         * unroll.c (loop_iterations): Ignore insns generated by loop
7918         unrolling.
7919
7920         * config.gcc (mips*-*-gnu*): Delete support.
7921         * config/mips/gnu.h: Remove.
7922
7923 2001-10-10  Kazu Hirata  <kazu@hxi.com>
7924
7925         * calls.c: Fix formatting.
7926         * c-decl.c: Likewise.
7927         * cfgcleanup.c: Likewise.
7928         * combine.c: Likewise.
7929         * cppfiles.c: Likewise.
7930         * cpplib.c: Likewise.
7931         * cppmacro.c: Likewise.
7932         * crtstuff.c: Likewise.
7933         * cse.c: Likewise.
7934         * dwarf2out.c: Likewise.
7935         * expmed.c: Likewise.
7936         * expr.c: Likewise.
7937         * fold-const.c: Likewise.
7938         * function.c: Likewise.
7939         * gcse.c: Likewise.
7940         * genattrtab.c: Likewise.
7941         * ggc-page.c: Likewise.
7942         * integrate.c: Likewise.
7943         * libgcc2.c: Likewise.
7944         * loop.c: Likewise.
7945         * optabs.c: Likewise.
7946         * profile.c: Likewise.
7947         * protoize.c: Likewise.
7948         * real.c: Likewise.
7949         * recog.c: Likewise.
7950         * reload1.c: Likewise.
7951         * reload.c: Likewise.
7952         * reorg.c: Likewise.
7953         * resource.c: Likewise.
7954         * sched-rgn.c: Likewise.
7955         * sdbout.c: Likewise.
7956         * stmt.c: Likewise.
7957         * toplev.c: Likewise.
7958         * varasm.c: Likewise.
7959
7960 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
7961
7962         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
7963         * Makefile.in (langhooks.o): Add dependencies.
7964
7965 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
7966
7967         * rs6000.c (rs6000_emit_load_toc_table): Don't
7968         strdup the toc label.
7969         (create_TOC_reference): Likewise.
7970
7971 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
7972
7973         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
7974         version default.
7975
7976 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
7977
7978         * config/i386/i386.c (ix86_attribute_table): Correct
7979         min_len, max_len fields for dllimport, dllexport and shared.
7980
7981 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
7982
7983         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
7984         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
7985         Consistently use "nonzero" instead of "non-zero".
7986
7987 2001-10-09  Kazu Hirata  <kazu@hxi.com>
7988
7989         * acconfig.h: Fix comment formatting.
7990         * c-dump.h: Likewise.
7991         * c-tree.h: Likewise.
7992         * conditions.h: Likewise.
7993         * expr.h: Likewise.
7994         * function.h: Likewise.
7995         * gthr.h: Likewise.
7996         * hwint.h: Likewise.
7997         * integrate.h: Likewise.
7998         * intl.h: Likewise.
7999         * loop.h: Likewise.
8000         * optabs.h: Likewise.
8001
8002 2001-10-09  Kazu Hirata  <kazu@hxi.com>
8003
8004         * c-common.h: Fix comment formatting.
8005         * c-dump.c: Likewise.
8006         * cfg.c: Likewise.
8007         * diagnostic.h: Likewise.
8008         * except.c: Likewise.
8009         * gcc.h: Likewise.
8010         * gcov-io.h: Likewise.
8011         * genattrtab.c: Likewise.
8012         * output.h: Likewise.
8013         * predict.h: Likewise.
8014         * reload1.c: Likewise.
8015         * reload.h: Likewise.
8016         * resource.h: Likewise.
8017         * scan.h: Likewise.
8018         * system.h: Likewise.
8019         * tree.h: Likewise.
8020         * tree-inline.c: Likewise.
8021         * tsystem.h: Likewise.
8022         * varasm.c: Likewise.
8023         * xcoffout.h: Likewise.
8024
8025 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
8026
8027         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
8028
8029 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
8030
8031         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
8032         config/i386/i386elf.h, config/i386/netbsd-elf.h,
8033         config/i386/netware.h, config/mcore/gfloat.h,
8034         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
8035         config/netware.h, gccbug.in: Update FSF address.
8036
8037 2001-10-09  Kazu Hirata  <kazu@hxi.com>
8038
8039         * c-common.c: Fix comment typos.
8040         * cfgrtl.c: Likewise.
8041         * collect2.c: Likewise.
8042         * cpplex.c: Likewise.
8043         * doloop.c: Likewise.
8044         * dwarf2out.c: Likewise.
8045         * dwarfout.c: Likewise.
8046         * expr.c: Likewise.
8047         * fold-const.c: Likewise.
8048         * gcc.c: Likewise.
8049         * gcov.c: Likewise.
8050         * gcse.c: Likewise.
8051         * global.c: Likewise.
8052         * ifcvt.c: Likewise.
8053         * loop.c: Likewise.
8054         * optabs.c: Likewise.
8055         * protoize.c: Likewise.
8056         * regclass.c: Likewise.
8057         * reorg.c: Likewise.
8058         * rtl.h: Likewise.
8059         * stmt.c: Likewise.
8060         * tree.h: Likewise.
8061         * doc/cpp.texi: Likewise.
8062         * doc/c-tree.texi: Likewise.
8063         * doc/extend.texi: Likewise.
8064         * doc/invoke.texi: Likewise.
8065         * doc/objc.texi: Likewise.
8066         * doc/tm.texi: Likewise.
8067
8068 2001-10-08  Richard Henderson  <rth@redhat.com>
8069
8070         * varasm.c (set_named_section_flags): Initialize "declared".
8071
8072 2001-10-08  Robert Lipe  <robertlipe@usa.net>
8073
8074         * varasm.c (struct in_named_entry): Add declared.
8075         (named_section_first_declaration): New function.
8076         (default_elf_asm_named_section): Use it.
8077         * output.h (named_section_first_declaration): New.
8078
8079 2001-10-08  Richard Henderson  <rth@redhat.com>
8080
8081         * i386.md (movsi_xor): Export.
8082         (setcc peep2): Use it when available; add an alternative to
8083         match zero_extendhisi2_and.
8084
8085 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8086
8087         * romp-protos.h (romp_initialize_trampoline): New function.
8088         * romp.c (romp_initialize_trampoline): Likewise.
8089         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
8090         romp_initialize_trampoline.
8091
8092 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8093
8094         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
8095         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
8096         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
8097         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
8098
8099 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8100
8101         * unroll.c (loop_iterations): Extend check for multiple back edges.
8102
8103 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
8104
8105         * langhooks.h: New file.
8106         * Makefile.in (OBJS): Added langhooks.o.
8107         (c-lang.o): Depend on langhooks.h.
8108         (c-common.o): Don't depend on tree-inline.h.
8109         (tree-inline.o): Depend on toplev.h.
8110         (langhooks.o): New rule.
8111         * c-common.c: Don't include tree-inline.h.
8112         (c_mark_lang_decl): Mark argument c as unused.
8113         (c_common_lang_init): Don't initialize hooks here.
8114         * c-lang.c: Include langhooks.h, then override some macros.
8115         (lang_hooks): Initialize with macros in langhooks.h.
8116         (c_init): Don't initialize hooks here.
8117         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
8118         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
8119         * tree-inline.c: Include toplev.h.  Don't define hook variables.
8120         * tree-inline.h: Don't define hook types nor declare hook
8121         variables.  Move macros to...
8122         * langhooks.c: ... new file, as functions.  Adjust all callers.
8123
8124 2001-10-08  Jeffrey A Law  <law@cygnus.com>
8125
8126         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
8127         purge_mem_unchanging_flag on all instructions, not just on those
8128         before NOTE_INSN_FUNCTION_BEG.
8129
8130 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
8131
8132         * cppmacro.c (_cpp_create_definition): Leave comments off.
8133
8134         * doc/cpp.texi: Update.
8135
8136 2001-10-08  DJ Delorie  <dj@redhat.com>
8137
8138         * c-decl.c (grokfield): Make sure the only unnamed fields
8139         we're allowing are either structs or unions.
8140         * doc/extend.texi: Add documentation for the unnamed field
8141         extension.
8142
8143 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
8144
8145         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
8146         * configure.in: Use it.
8147         * configure: Regenerated.
8148         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
8149         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
8150
8151 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
8152
8153         * cppfiles.c (open_file): Don't mark zero-length files
8154         never-reread here.  Don't output diagnostics here either.
8155         (stack_include_file): Mark them never-reread here.
8156         (_cpp_read_file): Update.
8157
8158 2001-10-08  Richard Henderson  <rth@redhat.com>
8159
8160         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
8161
8162 2001-10-08  Richard Henderson  <rth@redhat.com>
8163
8164         * expr.c (store_expr): When converting a CONST_INT for storage
8165         in a SUBREG, convert it to both SUBREG modes before stripping
8166         the SUBREG.
8167
8168 2001-10-08  Richard Henderson  <rth@redhat.com>
8169
8170         * varasm.c (restore_varasm_status): New.
8171         * function.h: Declare it.
8172         * function.c (pop_function_context_from): Call it.
8173
8174 2001-10-08  Richard Henderson  <rth@redhat.com>
8175
8176         * c-common.h (struct c_lang_decl): Add declared_inline.
8177         * c-tree.h (DECL_DECLARED_INLINE_P): New.
8178         * c-lang.c (c_disregard_inline_limits): Use it.
8179         * c-decl.c (duplicate_decls): Likewise.
8180         (pushdecl, redeclaration_error_message): Likewise.
8181         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
8182         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
8183         Set DECL_INLINE if -finline-functions.
8184         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
8185
8186 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
8187
8188         * cppmacro.c (funlike_invocation_p): Move some logic to caller
8189         in enter_macro_context.  Create a padding token in its own context
8190         if necessary when the search for '(' fails.
8191         (enter_macro_context): Update.
8192
8193 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
8194
8195         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
8196         genmultilib, toplev.c: Fix spelling errors of "separate" as
8197         "seperate", and corresponding spelling errors of related words.
8198
8199 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8200
8201         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
8202         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
8203         Likewise.
8204         * c-dump.c (dump_option_value_info): Likewise.
8205         * c-format.c (format_length_info, format_char_info,
8206         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
8207         * collect2.c (names): Likewise.
8208         * cppdefault.h (default_include): Likewise.
8209         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
8210         * flow.c (life_analysis): Likewise.
8211         * gcc.c (dir_separator_str, modify_target, option_map,
8212         target_option_translations, spec_list_1, extra_specs_1,
8213         init_spec): Likewise.
8214         * gcov.c (gcov_version_string): Likewise.
8215         * genattr.c (write_units): Likewise.
8216         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
8217         * gengenrtl.c (rtx_definition, defs): Likewise.
8218         * genrecog.c (pred_table): Likewise.
8219         * global.c (global_alloc): Likewise.
8220         * lcm.c (optimize_mode_switching): Likewise.
8221         * local-alloc.c (find_free_reg): Likewise.
8222         * params.h (param_info): Likewise.
8223         * predict.c (predictor_info): Likewise.
8224         * protoize.c (unexpansion_struct): Likewise.
8225         * real.c (bmask): Likewise.
8226         * recog.h (insn_operand_data, insn_data): Likewise.
8227         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
8228         * stmt.c (expand_nl_goto_receiver): Likewise.
8229         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
8230         target_switches, target_options): Likewise.
8231         * tradcif.y (token, tokentab2, yylex): Likewise.
8232         * tree.h (attribute_spec): Likewise.
8233
8234         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
8235         Likewise.
8236         * arc.c (arc_output_function_epilogue): Likewise.
8237         * arm.c (processors, all_cores, all_architectures,
8238         arm_override_options, isr_attribute_arg, isr_attribute_args,
8239         arm_isr_value): Likewise.
8240         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
8241         Likewise.
8242         * c4x.c (c4x_int_reglist): Likewise.
8243         * d30v.c (override_options): Likewise.
8244         * h8300.c (shift_insn): Likewise.
8245         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
8246         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
8247         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
8248         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
8249         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
8250         * i386.h (processor_costs, ix86_cost): Likewise.
8251         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
8252         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
8253         * m68k.c (codes_68881, codes_FPA): Likewise.
8254         * m88k.c (mode_from_align, max_from_align, all_from_align,
8255         best_from_align, m_options): Likewise.
8256         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
8257         * mcore.c (mode_from_align): Likewise.
8258         * mips/elf64.h (UNIQUE_SECTION): Likewise.
8259         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
8260         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
8261         * mips.h (mips_regno_to_class): Likewise.
8262         * ns32k.c (scales): Likewise.
8263         * pa.c (import_string, magic_milli): Likewise.
8264         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
8265         * sparc.c (leaf_reg_remap, sparc_override_options,
8266         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
8267         Likewise.
8268         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
8269
8270 2001-10-07  Dale Johannesen  <dalej@apple.com>
8271
8272         * reload1.c (reload_reg_free_p): Teach register interference
8273         checking that multiple output reloads are emitted in
8274         reverse order.
8275         reload1.c (reload_reg_reaches_end_p):  Ditto.
8276         reload1.c (reloads_conflict):  Ditto.
8277
8278 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
8279
8280         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
8281         NULL_TREE inside @code.
8282
8283 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
8284
8285         * doc/gcc.texi: Document consistent style of "32-bit",
8286         "Objective-C", and "@code{NULL}".
8287
8288 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
8289
8290         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
8291         (cpp_token_len, cpp_spell_token, cpp_output_token,
8292         _cpp_equiv_tokens): Handle it.
8293         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
8294         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
8295         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
8296         error messages.
8297
8298 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8299
8300         * gcc.c (default_compilers): Remove .ada.
8301
8302 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
8303
8304         * doc/cppinternals.texi: Update.
8305
8306 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
8307
8308         * gcc.c (main): Set this_file_error if the appropriate
8309         compiler for a language has not been installed.
8310
8311 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
8312
8313         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
8314
8315 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
8316
8317         * gccbug.in (CATEGORIES): Add ada.
8318
8319 2001-10-05  Catherine Moore  <clm@redhat.com>
8320
8321         * config/stormy16/stormy-abi:  Document abi changes.
8322         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
8323         (ICALL_REGS): New register class.
8324         (NUM_ARGUMENT_REGISTERS): Now 6.
8325         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
8326         in registers.
8327         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
8328         * config/stormy16.md (call_internal, call_value_internal,
8329         indirect_jump): Use new 'z' constraint.
8330
8331 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
8332
8333         * doc/cppinternals.texi: Update.
8334
8335 2001-10-05  Richard Henderson  <rth@redhat.com>
8336
8337         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
8338         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
8339         the gas section-name-as-label feature.
8340
8341 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
8342
8343         * doc/cppinternals.texi: Update.
8344
8345 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8346
8347         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
8348         to ensure valid SImode constants.
8349
8350 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
8351
8352         * Makefile.in (c-decl.o): Depend on tree-inline.h.
8353         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
8354         * c-decl.c: Include tree-inline.h.
8355         (c_expand_body): Call optimize_inline_calls. Determine whether
8356         a function is inlinable upfront, and only clear
8357         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
8358         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
8359         (c_disregard_inline_limits): New function.
8360         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
8361         (c_post_options): Enable tree inlining if inlining is enabled.
8362         Don't inline trees when instrumenting functions.
8363         (c_init): Initialize lang_disregard_inline_limits and
8364         lang_cannot_inline_tree_fn.
8365         * tree-inline.c (initialize_inlined_parameters): Handle calls
8366         with fewer arguments than declared parameters, and fewer
8367         parameters than passed arguments.  Don't assume value is a
8368         DECL.
8369         (declare_return_variable): Convert return value back to the
8370         original type, if it was promoted.
8371         (tree_inlinable_function_p): New function.
8372         (inlinable_function_p): Don't look at DECL_INLINE if we're
8373         inlining all functions.  Make it work with a NULL id.
8374         Re-check DECL_UNINLINABLE after language-specific checks.
8375         * tree-inline.h (tree_inlinable_function_p): Declare it.
8376         * integrate.c (save_for_inline): Don't bother to prepare argvec
8377         when not inlining.
8378         * cse.c (check_for_label_ref): Don't check deleted labels.
8379
8380         * Makefile.in (tree-inline.o): Depend on newly-included headers.
8381         * tree-inline.c: Include headers needed for the functions moved in.
8382         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
8383         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
8384         (copy_body, initialize_inlined_parameters): Likewise.
8385         (declare_return_variable, inlinable_function_p): Likewise.
8386         (expand_call_inline, expand_calls_inline): Likewise.
8387         (optimize_inline_calls, clone_body): Likewise.
8388         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
8389         (copy_tree_r, remap_save_expr): Likewise.
8390
8391 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
8392
8393         * Makefile.in (OBJS): Added tree-inline.o.
8394         (c-common.o): Depend on tree-inline.h.
8395         (tree-inline.o): New target.
8396         * c-common.c: Include tree-inline.h.
8397         (c_mark_lang_decl): Don't mark saved_tree.
8398         (c_common_lang_init): Set lang_anon_aggr_type_p.
8399         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
8400         (struct c_lang_decl): Moved saved_tree to tree_decl.
8401         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
8402         * integrate.h (function_attribute_inlinable_p): Declare it.
8403         * integrate.c (function_attribute_inlinable_p): Export it.
8404         * tree-inline.c: New file.  Define variables declared in...
8405         * tree-inline.h: New file.  Declare functions to be moved to
8406         tree-inline.c.  Define macros and declare types and hooks for
8407         language-specific tree inlining.
8408         (flag_inline_trees): Moved definition from cp/decl2.c.
8409         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
8410         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
8411         (struct tree_decl): Moved saved_tree from c_lang_decl and
8412         inlined_fns from C++'s lang_decl.
8413
8414 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
8415
8416         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
8417         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
8418
8419 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
8420
8421         * doc/cppinternals.texi: Update.
8422
8423 2001-10-04  Eric Christopher  <echristo@redhat.com>
8424
8425         * config/mips/mips.c (init_cumulative_args): Remember to set
8426         cum->prototype.
8427         * config.gcc: Redo linux configuration. Add target_cpu_default
8428         of soft-float to all mipsisa32 combinations and tx39.
8429         * config/mips/linux.h: Remove include of mips.h.
8430
8431 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
8432
8433         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
8434         HOST_LDFLAGS and HOST_CPPFLAGS.
8435
8436 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
8437
8438         * c-parse.in (objc_inherit_code, objc_pq_context,
8439         objc_public_flag): Make static.
8440         (objc_interface_context, objc_implementation_context,
8441         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
8442         global tree array in objc/objc-act.[ch].
8443         (methoddef): Remove unnecessary code.
8444
8445         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
8446         Hoist struct definitions to objc-act.h.
8447         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
8448         cat_count): Place declaration in objc-act.h.
8449         (objc_tree_index): Move enumeration to objc-act.h.
8450         (objc_global_trees): Place declaration and macro accessors in
8451         objc-act.h.
8452         (implementation_context): Remove duplicate; use
8453         objc_implementation_context instead:
8454         (method_context): Remove duplicate; use objc_method_context
8455         instead.
8456         (objc_ellipsis_node, objc_method_prototype_template,
8457         implemented_classes, function_type): Move global vars to
8458         objc_global_trees.
8459         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
8460         (build_message_expr): Move actual construction of ObjC message
8461         send nodes to finish_message_expr.
8462         (finish_message_expr): New routine, contains code formerly in
8463         build_message_expr.
8464         * objc/objc-act.h (finish_message_expr): New prototype.
8465         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
8466         declarations; these vars are now part of objc_global_trees.
8467         (objc_tree_index, objc_global_trees): Move definitions from
8468         objc-act.c.
8469         * objc/objc-tree.def: Update copyright info.
8470
8471 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
8472
8473         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
8474         op is NULL.
8475         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
8476         only if TARGET_ARCH64.
8477
8478 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
8479
8480         * doc/extend.texi: Fix some problems with previous checkin.
8481         * doc/invoke.texi: Likewise.
8482
8483 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
8484
8485         * cpphash.h: Update comments.
8486         (cpp_context): Update.
8487         (spec_nodes): Remove n__Pragma.
8488         * cppinit.c (cpp_create_reader): Update.
8489         (builtin_array): Add _Pragma.
8490         * cpplib.h: Update comments.
8491         (NODE_DISABLED, BT_PRAGMA): New.
8492         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
8493         * cppmacro.c (struct cpp_macro): Remove disabled.
8494         (builtin_macro): Return int, handle _Pragma, push the new token
8495         on the context stack.
8496         (funlike_invocation_p): Unconstify, update.
8497         (enter_macro_context): Handle builtins here.
8498         (replace_args, push_token_context, push_ptoken_context):
8499         Update for prototype changes.
8500         (_cpp_pop_context): Update.
8501         (cpp_get_token): Don't handle buitins, nor _Pragma here.
8502         (cpp_sys_macro_p): Update.
8503         (_cpp_free_definition): Clear disabled flag.
8504         (_cpp_create_definition): Upate.
8505         * cppmain.c: Update comments.
8506
8507 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
8508                                 Andreas Jaeger <aj@suse.de>,
8509                                 Jan Hubicka    <jh@suse.cz>
8510
8511         * doc/invoke.texi (i386 Options): Document x86-64 options.
8512         (i386 and x86-64 Options): Rename i386 options section.
8513
8514         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
8515         (TARGET_SWITCHES): Add -munwind-info.
8516         (MASK_NO_UNWIND_INFO): New.
8517         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
8518         biarch compilation.
8519         (ASM_OUTPUT_DOUBLE_INT): New.
8520
8521         * config/i386/linux64.h: New spec file for Linux x86-64 support.
8522         * config.gcc: Fix tm_file settings for x86-64.
8523         * config/i386/x86-64.h: New file with OS independent x86-64
8524         definitions.
8525         * config/i386/biarch64.h: New file used to configure compiler
8526         to biarch/64bit compilation.
8527
8528         * config/i386/i386.c: (override_options): Set flags default
8529         for 64bit compilation.
8530
8531 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
8532
8533         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
8534         (ix86_expand_int_movcc): Optimize DImode conditional moves with
8535         constants on x86_64.
8536         (ix86_attr_length_immediate_default): Support MODE_DI.
8537         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
8538         condition.
8539         (indirect_jump, tablejump): Turn into expander.
8540
8541 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
8542
8543         * c-common.c (c_format_attribute_table): Make format and
8544         format_arg attributes apply to function types rather than to
8545         decls.
8546         (is_valid_printf_arglist): Construct an attribute list and pass
8547         that to check_function_format rather than a name.
8548         * c-common.h (check_function_format): Adjust prototype.
8549         * c-decl.c (duplicate_decls): Preserve attributes from type of
8550         built-in decl when allowing for harmless conflict in types.
8551         * c-format.c (record_function_format,
8552         record_international_format, function_format_list,
8553         international_format_info, international_format_list): Remove.
8554         (function_format_info): Remove next, name and assembler_name.
8555         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
8556         (decode_format_attr): New.
8557         (handle_format_attribute): Handle receiving a type rather than a
8558         decl.  Call decode_format_attr.  Store format information in a
8559         function_format_info.
8560         (handle_format_arg_attribute): Correct comment.  Handle receiving
8561         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
8562         arg_num.
8563         (check_format_info_recurse, check_format_info_main): Take argument
8564         numbers as unsigned HOST_WIDE_INT.
8565         (check_function_format): Take a list of attributes from the
8566         function type rather than a name or assembler name.  Check for
8567         format attributes in that list and the attributes on the type of
8568         the current function rather than looking through
8569         function_format_list.
8570         (check_format_info): Use unsigned HOST_WIDE_INT for argument
8571         numbers.
8572         (check_format_info_recurse): Take format_arg attributes from the
8573         type of the function calls rather than using
8574         international_format_list.  Allow for multiple format_arg
8575         attributes.
8576         * c-typeck.c (build_function_call): Pass type attributes to
8577         check_function_format rather than name or assembler name.  Don't
8578         require there to be a name or assembler name to check formats.
8579
8580 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
8581
8582         * attribs.c (decl_attributes): Possibly call
8583         insert_default_attributes to insert default attributes on
8584         functions in a lazy manner.
8585         * builtin-attrs.def: New file; define the default format and
8586         format_arg attributes.
8587         * c-common.c (c_format_attribute_table): Move to earlier in the
8588         file.
8589         (c_common_nodes_and_builtins): Initialize format_attribute_table.
8590         (enum built_in_attribute, built_in_attributes,
8591         c_attrs_initialized, c_init_attributes,
8592         c_common_insert_default_attributes): New.
8593         (c_common_lang_init): Don't initialize format_attribute_table.  Do
8594         call c_init_attributes.
8595         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
8596         * c-common.h (init_function_format_info): Don't declare.
8597         (c_common_insert_default_attributes): Declare.
8598         * c-decl.c (implicitly_declare, builtin_function): Call
8599         decl_attributes.
8600         (init_decl_processing): Don't call init_function_format_info.
8601         (insert_default_attributes): New.
8602         * c-format.c (handle_format_attribute,
8603         handle_format_arg_attribute): Be quiet about inappropriate
8604         declaration when applying default attributes.
8605         (init_function_format_info): Remove.
8606         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
8607         (insert_default_attributes): Declare.
8608
8609 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
8610
8611         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
8612
8613 2001-10-01  Jim Wilson  <wilson@redhat.com>
8614
8615         * sched-deps.c (add_dependence): When elide conditional dependence,
8616         check that insn doesn't modify cond2.
8617
8618 2001-10-01  Dale Johannesen  <dalej@apple.com>
8619
8620         * config/rs6000/rs6000.h (enum processor_type): Add support
8621         for 7400 (G4) and 7450.
8622         (RTX_COSTS): Ditto.
8623         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
8624         (rs6000_issue_rate): Ditto.
8625         (rs6000_adjust_cost): Fix cycle counts for compares.
8626         (debug_stack_info):  Fix an obvious typo.
8627         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
8628         * doc/invoke.texi: Document.
8629         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
8630         for Darwin.
8631         (PROCESSOR_DEFAULT): Ditto.
8632
8633 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
8634
8635         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
8636         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
8637         later recursive make invocation.
8638
8639 2001-10-01  Hans Boehm  <boehm@acm.org>
8640
8641         * optabs.c (emit_libcall_block): When using non-call exceptions,
8642         don't add REG_LIBCALL reg notes to trapping calls.
8643
8644 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
8645
8646         * flow.c (propagate_block_delete_libcall): Remove unused first arg
8647         (propagate_one_insn):  Update for above change
8648
8649 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
8650
8651         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
8652         _Unwind_GetTextRelBase): Argument is unused.
8653
8654 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8655
8656         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
8657         Loop through NOPs, placeholders, and components.
8658         Don't go through NOPs if change mode.
8659         (record_alias_subset): Do nothing if SUBSET and SET are the same.
8660         * emit-rtl.c (set_mem_alias_set): Enable check.
8661         * expr.c (find_placeholder): New function.
8662         (expand_expr, case PLACEHOLDER_EXPR): Use it.
8663         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
8664         to modify it and avoid unneeded copies.
8665         * expr.h (expand_expr): Always define.
8666         (find_placeholder): New declaration.
8667
8668 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8669
8670         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
8671         operand 2 is the stack pointer.
8672         ("addr-peephole"): Fix address computation peephole when operand 2
8673         is the stack pointer.
8674
8675 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8676
8677         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
8678         (ix86_setup_incoming_varargs): Likewise.
8679
8680 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
8681
8682         * stor-layout.c (layout_type): Don't complain about too-large
8683         array here.
8684
8685 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8686
8687         * function.c (keep_stack_depressed): Don't use delete_insn.
8688
8689         * expr.h (set_mem_alias_set): Move decl to here.
8690         * rtl.h (mem_attrs): New typedef and struct.
8691         (union rtunion_def): Add field for mem_attrs.
8692         (X0MEMATTR, MEM_ATTRS): New macros.
8693         (MEM_ALIAS_SET): Use MEM_ATTRS.
8694         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
8695         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
8696         (set_mem_alias_set): Delete decl from here.
8697
8698         * alias.c (set_mem_alias_set): Delete from here.
8699         * emit-rtl.c (mem_attrs_htab): New variable.
8700         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
8701         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
8702         (mem_attrs_mark, get_mem_attrs): Likewise.
8703         (gen_rtx_MEM): Clear MEM_ATTRS.
8704         (set_mem_attributes): Move to here.
8705         (set_mem_alias_set): Likewise, and call get_mem_attrs.
8706         (init_emit_once): const_int_htab now deletable htab.
8707         Initialize mem_attrs_htab.
8708         * explow.c (set_mem_attributes): Delete from here.
8709         * function.c (put_var_into_stack): Clear MEM_ATTRS.
8710         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
8711         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
8712         * reload1.c (reload): Rework changing REG to MEM.
8713
8714 2001-09-30  H.J. Lu <hjl@gnu.org>
8715
8716         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
8717         * config.in: Rebuild.
8718
8719 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8720
8721         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
8722         ("tsthi_1"): Avoid allocation in register y.
8723         ("*movqi_68hc12"): Reorganize and fix constraints.
8724         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
8725         ("addqi3"): Likewise.
8726         ("addhi3"): Fix constraints.
8727         ("*logicalhi3_zexthi"): Disparage soft registers.
8728
8729 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8730
8731         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
8732         to tmp reg.
8733
8734 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8735
8736         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
8737         that we use setjmp/longjmp exceptions.
8738
8739 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
8740
8741         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
8742         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
8743         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
8744         _cpp_pool_alloc, _cpp_next_chunk): Remove.
8745         (_cpp_extend_buff, BUFF_ROOM): Update.
8746         (_cpp_append_extend_buff): New.
8747         (struct cpp_reader): Remove macro_pool, add a_buff.
8748         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
8749         macro_pool.
8750         (cpp_destroy): Free a_buff instead of macro_pool.
8751         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
8752         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
8753         _cpp_pool_alloc, ): Remove.
8754         (parse_number, parse_string): Update use of _cpp_extend_buff.
8755         (_cpp_extend_buff): Update.
8756         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
8757         * cpplib.c (glue_header_name, parse_answer):
8758         Update use of _cpp_extend_buff.
8759         (cpp_register_pragma, cpp_register_pragma_space): Use
8760         _cpp_aligned_alloc.
8761         (do_assert, do_unassert): Check for EOL, update.
8762         * cppmacro.c (stringify_arg, collect_args): Update to use
8763         _cpp_extend_buff and _cpp_append_extend_buff.
8764         (save_parameter, parse_params, alloc_expansion_token,
8765         _cpp_create_definition): Rework memory management.
8766
8767 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
8768
8769         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
8770         update md_exec_prefix.
8771         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
8772         to string constant.
8773
8774 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
8775
8776         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
8777         (SELECT_CC_MODE): Use s390_select_ccmode.
8778         * config/s390/s390-protos.h (s390_select_ccmode): Add.
8779         * config/s390/s390.c (s390_select_ccmode): New.
8780         (s390_match_ccmode): Add CCLmode.
8781         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
8782         (output_branch_condition, output_inverse_branch_condition): Removed.
8783         (print_operand): Use s390_branch_condition_mnemonic.
8784         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
8785         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
8786         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
8787
8788         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
8789         when converting conditional branches to far branches.
8790         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
8791         cmpint_di): Use CCSmode instead of CCUmode.
8792
8793         * config/s390/s390.c (legitimate_la_operand_p): New.
8794         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
8795         * config/s390/s390.md (movsi): Convert load address patterns to
8796         arithmetic operations when necessary.
8797         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
8798         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
8799         (*do_la_reg_0): Don't use before reload.
8800
8801         * config/s390/s390.c (legitimize_address): Make more efficient
8802         use of two-register addressing mode.
8803
8804         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
8805         with -mno-backchain in some corner cases.
8806
8807         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
8808
8809 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
8810
8811         * reload.c (find_reloads): Mark new USE insns with QImode.
8812         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
8813         find_reloads_subreg_address): Likewise.
8814         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
8815         encountered.
8816         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
8817         CLOBBERs.
8818         (reload): Make sure there are no USEs with mode other than
8819         VOIDmode.  At the end, remove those marked with QImode.
8820
8821 2001-09-29  Per Bothner  <per@bothner.com>
8822
8823         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
8824         * Makefile.in (includedir):  Rename to local_includedir.
8825         (includedir):  Define as $(prefix)/include.
8826         * config.in (PREFIX_INCLUDE_DIR):  New variable.
8827         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
8828
8829 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
8830
8831         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
8832         storehps builtins.
8833         * doc/extend.texi (Vector Extensions): New node.
8834         * doc/invoke.texi (Machine Dependent Options): Add documentation for
8835         i386 -mmmx, -msse, -m3dnow.
8836
8837 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
8838
8839         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
8840
8841 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
8842
8843         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
8844
8845         * doc/invoke.texi (Optimize Options): Delete spurious @table.
8846
8847 2001-09-28  Richard Henderson  <rth@redhat.com>
8848
8849         * varasm.c (assemble_integer): Bound alignment check by
8850         BIGGEST_ALIGNMENT.
8851
8852         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
8853
8854 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8855
8856         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
8857
8858 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
8859
8860         Mostly from Graham Stott  <grahams@redhat.com>
8861         * c-common.c (type_for_mode): Add support for V2SFmode.
8862         * tree.c (build_common_tree_nodes_2): Likewise.
8863         * tree.h (enum tree_index, global_trees): Likewise.
8864         * config/i386/i386.c (x86_3dnow_a): New variable.
8865         (override_options): Support 3Dnow extensions.
8866         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
8867         Athlon's version of 3Dnow.
8868         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
8869         (ix86_expand_builtin): Handle them.
8870         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
8871         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
8872         TARGET_3DNOW_A): New macros.
8873         (TARGET_SWITCHES): Add 3Dnow switches.
8874         (VALID_MMX_REG_MODE_3DNOW): New macro.
8875         (VECTOR_MODE_SUPPORTED_P): Use it.
8876         (enum ix86_builtins): Add entries for 3Dnow builtins.
8877         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
8878         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
8879         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
8880         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
8881         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
8882         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
8883         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
8884         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
8885         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
8886         sfence_insn, prefetch): Make these available if TARGET_SSE or
8887         TARGET_3DNOW_A.
8888
8889 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
8890
8891         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
8892         ix86_va_start, ix86_build_va_list): Declare.
8893         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
8894         ix86_va_start, ix86_build_va_list): New global functions.
8895         * i386.md (sse_prologue_save_insn): New insn.
8896         (sse_prologue_save): New expander.
8897         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
8898         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
8899
8900 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
8901
8902         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
8903         Use size_t everywhere, make definitions consistent with
8904         prototypes.
8905
8906 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
8907
8908         * gcse.c (replace_store_insn): Use delete_insn.
8909         * loop.c (move_movables): Likewise; avoid delete_insn
8910         from clobbering notes moved elsewhere.
8911         (check_dbra_loop): Use delete_insn.
8912         * ssa.c (convert_from_ssa): Likewise.
8913         * cse.c (cse_insn): Use delete_insn.
8914
8915 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
8916
8917         * cpphash.h (struct cpp_buff): Make unsigned.
8918         (_cpp_get_buff): Take length of size_t.
8919         (_cpp_unaligned_alloc): New.
8920         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
8921         (struct cpp_reader): Remove ident_pool.  Add u_buff.
8922         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
8923         (cpp_destroy): Destroy u_buff, not ident_pool.
8924         * cpplex.c (parse_number, parse_string, save_comment,
8925         cpp_token_as_text): Update to use the unaligned buffer.
8926         (new_buff): Make unsigned.
8927         (_cpp_unaligned_alloc): New.
8928         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
8929         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
8930         Similarly.
8931         (collect_args): Make unsigned.
8932
8933 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
8934
8935         * cpplex.c (cpp_output_token): Use a putc loop for
8936         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
8937
8938         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
8939         * configure, config.in: Regenerate.
8940         * system.h: Replace fwrite and fprintf with their unlocked
8941         variants if available.
8942
8943 2001-09-27  Richard Henderson  <rth@redhat.com>
8944
8945         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
8946         in favour of .eh_frame.
8947
8948 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
8949
8950         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
8951         to macros.
8952         (LIBCALL_VALUE): Likewise.
8953
8954 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
8955
8956         * cpphash.h: Update comment.
8957         * cpplex.c: Update comments.
8958         (_cpp_can_paste): Remove.
8959         * cpplib.h (_cpp_can_paste): Remove.
8960         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
8961         lexer rather than _cpp_can_paste.
8962
8963 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
8964
8965         * doc/cppinternals.texi: Update.
8966
8967 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
8968
8969         * cpphash.h (struct cpp_pool): Remove locks and locked.
8970         (struct cpp_context): Add member buff.
8971         (struct cpp_reader): Remove member argument_pool.
8972         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
8973         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
8974         * cpplex.c (chunk_suitable): Remove pool argument.
8975         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
8976         (new_buff, _cpp_extend_buff): Update.
8977         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
8978         which buffer is returned.
8979         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
8980         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
8981         * cppmacro.c (lock_pools, unlock_pools): Remove.
8982         (push_ptoken_context): Take a _cpp_buff.
8983         (enter_macro_context): Pool locking removed.
8984         (replace_args): Use a _cpp_buff for the replacement list with
8985         arguments replaced.
8986         (push_token_context): Clear buff.
8987         (expand_arg): Use _cpp_pop_context.
8988         (_cpp_pop_context): Free a context's buffer, if any.
8989
8990 2001-09-26  DJ Delorie  <dj@redhat.com>
8991
8992         * c-typeck.c (digest_init): Check for sizeless arrays.
8993
8994 2001-09-26  Richard Henderson  <rth@redhat.com>
8995
8996         * optabs.c (init_one_libfunc): Create a dummy function type
8997         instead of using error_mark_node.
8998
8999 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
9000
9001         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
9002         _cpp_extend_buff, _cpp_free_buff): New.
9003         (struct cpp_reader): New member free_buffs.
9004         * cppinit.c (cpp_destroy): Free buffers.
9005         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
9006         _cpp_extend_buff, _cpp_free_buff): New.
9007         * cpplib.h (struct cpp_options): Remove unused member.
9008         * cppmacro.c (collect_args): New.  Combines the old parse_arg
9009         and parse_args.  Use _cpp_buff for memory allocation.
9010         (funlike_invocation_p, replace_args): Update.
9011
9012 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
9013
9014         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
9015
9016 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
9017
9018         * except.c (sjlj_mark_call_sites): Change address inside sequence.
9019
9020 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
9021
9022         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
9023         glibc.
9024
9025 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
9026             Jim Wilson  <wilson@redhat.com>
9027
9028         * doc/install.texi (Specific, ia64-*-linux): Document.
9029
9030 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
9031
9032         * Makefile.in (cfgrtl.o): Add.
9033         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
9034         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
9035         free_aux_for_edge): Declare.
9036         * cfg.c
9037         (HAVE_return): Undefine.
9038         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
9039         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
9040         free_aux_for_edge): New global functions.
9041         (first_delete_block): New static variable.
9042         (init_flow): Clear first_delete_block.
9043         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
9044          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
9045          try_redirect_by_replacing_jump, last_loop_beg_note,
9046          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
9047          delete_insn, delete_insn_chain, create_basic_block_structure,
9048          create_basic_block, flow_delete_block, compute_bb_for_insn,
9049          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
9050          set_block_for_new_insns, split_block, merge_blocks_nomove,
9051          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
9052          redirect_edge_and_branch, force_nonfallthru_and_redirect,
9053          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
9054          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
9055          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
9056          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
9057          purge_all_dead_edges): Move to ....
9058         * cfgrtl.c: New file; .... Here.
9059
9060         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
9061         (reroder_basic_block): Use alloc_aux_for_blocks.
9062         * predict.c (estimate_bb_frequencies): Likewise; use
9063         alloc_aux_for_edges.
9064         * profile.c (compute_branch_probabilities): Likewise.
9065         (branch_prob): Likewise.
9066         * reg-stack.c (reg_to_stack): Likewise.
9067
9068         * emit-rtl.c (emit_insns_after): Never return NULL.
9069
9070         * basic-block.h (set_block_for_new_insns): Delete.
9071         * cfgrtl.c (set_block_for_new_insns): Delete.
9072
9073         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
9074         calls when crossjumping.
9075
9076         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
9077         * unroll.c (copy_loop_body): Use delete_insn.
9078
9079         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
9080         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
9081         keep_stack_depressed): Likewise.
9082         * gcse.c (cprop_cc0_jump): Likewise.
9083         * local-alloc.c (update_equiv_regs): Likewise.
9084         * loop.c (scan_loop, loop_delete_insns): Likewise.
9085         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
9086         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
9087         delete_output_reload, delete_address_reloads_1,
9088         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
9089         Likewise.
9090         * sibcall.c (replace_call_placeholder): Likewise.
9091         * cse.c (cse_insn): Likewise.
9092
9093 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
9094
9095         From Graham Stott  <grahams@redhat.com>
9096         (def_builtin): Only define builtins appropriate for target_flags.  All
9097         callers changed.
9098         (builtin_decsription): Add new field mask which is used to determine
9099         when to define the builtin via the macro def_builtin.
9100
9101         (bdesc_comi): Initialise new mask fields.
9102         (bdesc_2srg): Likewise.
9103         (bdesc_1arg): Likewise.
9104
9105         * config/i386/i386.c (ix86_init_builtins): Correct return type
9106         building v4hi_ftype_v4hi_int_int tree node.
9107         (ix86_expand_sse_comi): Fix typo swapping operands.
9108         Don't swap comparision condition, it is already swapped.
9109         (ix86_expand_sse_compare): Before swapping operands
9110         move operand 1 into new rtx and not the target rtx.
9111         Don't swap comparison condition, it is already swapped.
9112         Always check whether we need to create a new TARGET.
9113
9114         * config/i386/i386.md: (sse_comi) Fix typos.
9115         (sse_ucomi): Likewise.
9116         (cvtss2si): Fix operand 0 contraint.
9117         (cvttss2si): Likewise.
9118         (sse_unpckhps): Fix mode for operand 2.
9119         (sse_unpcklps): Likewise.
9120
9121 2001-09-25  Graham Stott  <grahams@redhat.com>
9122
9123         * sibcall.c (skip_copy_to_return_value): Tighten return value
9124         copy check.
9125
9126 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
9127
9128         * rs6000.c (lwa_operand): Address must be word aligned.
9129
9130 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9131
9132         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
9133         number has been set.
9134         (type_hash_mark): Mark type itself.
9135
9136 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
9137
9138         * c-lex.c (cb_def_pragma): Update.
9139         (c_lex): Update, and skip padding.
9140         * cppexp.c (lex, parse_defined): Update, remove unused variable.
9141         * cpphash.h (struct toklist): Delete.
9142         (union utoken): New.
9143         (struct cpp_context): Update.
9144         (struct cpp_reader): New members eof, avoid_paste.
9145         (_cpp_temp_token): New.
9146         * cppinit.c (cpp_create_reader): Update.
9147         * cpplex.c (_cpp_temp_token): New.
9148         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
9149         (cpp_output_token): Don't print leading whitespace.
9150         (cpp_output_line): Update.
9151         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
9152         do_include_common, do_line, do_ident, do_pragma,
9153         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
9154         parse_assertion): Update.
9155         (get_token_no_padding): New.
9156         * cpplib.h (CPP_PADDING): New.
9157         (AVOID_LPASTE): Delete.
9158         (struct cpp_token): New union member source.
9159         (cpp_get_token): Update.
9160         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
9161         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
9162         replace_args, quote_string, stringify_arg, parse_arg, next_context,
9163         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
9164         _cpp_backup_tokens, _cpp_create_definition): Update.
9165         (push_arg_context): Delete.
9166         (padding_token, push_token_context, push_ptoken_context): New.
9167         (make_string_token, make_number_token): Update, rename.
9168         (cpp_get_token): Update to handle tokens as pointers to const,
9169         and insert padding appropriately.
9170         * cppmain.c (struct printer): New member prev.
9171         (check_multiline_token): Constify.
9172         (do_preprocessing, cb_line_change): Update.
9173         (scan_translation_unit): Update to handle spacing.
9174         * scan-decls.c (get_a_token): New.
9175         (skip_to_closing_brace, scan_decls): Update.
9176         * fix-header.c (read_scan_file): Update.
9177
9178         * doc/cpp.texi: Update.
9179
9180 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9181
9182         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
9183         leak by passing malloc'ed pointer to reconcat, not concat.
9184
9185 2001-09-24  DJ Delorie  <dj@redhat.com>
9186
9187         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
9188
9189 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
9190
9191         * flow.c (delete_dead_jumptables): Delete jumptable if the only
9192         reference is from the literal pool.
9193
9194 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
9195
9196         * doc/install.texi (Final install): Request additional information
9197         in mail about successful builds.
9198
9199 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9200
9201         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
9202         initial value of return pointer register instead of value in frame-20.
9203         Revise comments.
9204
9205 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9206
9207         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
9208         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
9209         the libcall if there isn't a referenced identifier for the symbol.
9210
9211 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9212
9213         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
9214         non 64-bit machines.  Use these as a plabel for the trampoline.
9215         (TRAMPOLINE_SIZE): Adjust size for new words.
9216         (INITIALIZE_TRAMPOLINE): Initialize new words.
9217         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
9218         pointer to the plabel in the trampoline.
9219
9220 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9221
9222         * pa.c (function_arg): Pass floating arguments in both general and
9223         floating registers in indirect (dynamic) calls when generating code
9224         for the 32 bit ABI and the HP assembler.
9225
9226 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9227
9228         * doc/install.texi: Markup fixes.
9229         Use Solaris 2, SunOS 4 as appropriate.
9230         (Specific, *-*-solaris2*): Explain this.
9231         Unconditionally warn against /usr/ucb tools.
9232         Remove Sun as warning, obsolete.
9233         Move X11 header bug workaround here, update patches.
9234         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
9235         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
9236
9237 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
9238
9239         * errors.h (warning, error, fatal, internal_error): Don't mark
9240         with ATTRIBUTE_PRINTF_n.
9241         * toplev.h (internal_error, fatal_io_error, warning, error,
9242         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
9243         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
9244         Likewise.
9245
9246 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9247
9248         * function.c (pop_function_context_from): var_refs_queue
9249         and temp slots now in GC memory.
9250         (mark_function_status, free_after_compilation): Likewise;
9251         also struct function now in GC memory.
9252         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
9253         (combine_temp_slots): Likewise.
9254         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
9255         (prepare_function_start): Use GC memory for struct function.
9256         (mark_temp_slot): Deleted.
9257         (gcc_mark_struct_function): struct function now in GC memory.
9258
9259         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
9260         code for division, not modulus.
9261
9262         * rtl.def (MEM): Remove obsolete part of comment.
9263
9264 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
9265
9266         * c-format.c (init_function_format_info): Check __builtin_printf
9267         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
9268         in gnu89 mode.
9269
9270 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9271
9272         * c-common.c (format_attribute_table): Remove decl.
9273         * tree.h (format_attribute_table, lang_attribute_table): New decls.
9274         (lang_attribute_common): Likewise.
9275
9276         * function.c (fix_lexical_address): Use set_mem_alias_set.
9277         (expand_function_start): Likewise.
9278         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
9279
9280         * varasm.c (output_constant): Fix unused variable warning.
9281
9282         * attribs.c: New file, from c-common.c.
9283         (attribute_tables): Now four elements.
9284         (format_attribute_table, lang_attribute_common): New variables.
9285         (init_attributes): Reflect above changes.
9286         (handle_mode_attribute): Delete check for wider than uintmax.
9287         * c-common.c: Delete parts moved to attribs.c.
9288         (enum attrs): Deleted; unused.
9289         (c_format_attribute_table): New variable.
9290         (c_common_lang_init): Initialize format_attribute_table with it.
9291         * c-common.h (decl_attributes): Remove decl.
9292         * tree.h (decl_attribute): Move it to here.
9293         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
9294         (attribs.o): New rule.
9295
9296 2001-09-22  Andreas Jaeger  <aj@suse.de>
9297
9298         * builtins.c (c_getstr): Remove unused variable.
9299
9300 2001-09-21  Richard Henderson  <rth@redhat.com>
9301
9302         * reload1.c (reload): Use delete_insn instead of splatting
9303         NOTE_INSN_DELETED.
9304
9305 2001-09-21  Richard Henderson  <rth@redhat.com>
9306
9307         * reload.c (push_secondary_reload): Don't check for "=" in output
9308         constraint after ""->ALL_REGS check.
9309
9310 2001-09-21  Richard Henderson  <rth@redhat.com>
9311
9312         * predict.c (expected_value_to_br_prob): Use pc_set.
9313
9314         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
9315         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
9316
9317 2001-09-21  Richard Henderson  <rth@redhat.com>
9318
9319         * rtl.h (LCT_RETURNS_TWICE): New.
9320         * calls.c (emit_call_1): Set current_function_calls_setjmp for
9321         ECF_RETURNS_TWICE.
9322         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
9323         to ECF_RETURNS_TWICE.
9324         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
9325         call to setjmp.
9326
9327         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
9328
9329         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
9330         (JMP_BUF_SIZE): New.
9331
9332 2001-09-21  Richard Henderson  <rth@redhat.com>
9333
9334         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
9335         to R8_REGS.
9336
9337 2001-09-21  Richard Henderson  <rth@redhat.com>
9338
9339         * tree.def (FDESC_EXPR): New.
9340         * expr.c (expand_expr): Handle it.
9341         * varasm.c (initializer_constant_valid_p): Likewise.
9342         (output_constant): Likewise.
9343         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
9344         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
9345         (ASM_OUTPUT_FDESC): New.
9346         * doc/tm.texi: Document the new macros.
9347
9348 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
9349
9350         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
9351         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
9352         once merging is complete.
9353
9354 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9355
9356         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
9357
9358 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
9359
9360         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
9361         that would be invalid after a merge.
9362
9363 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
9364
9365         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
9366         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
9367         remove some labels.
9368         (flow_delete_insn): This one.
9369         (delete_insn_chain): Rename from ...; do not care labels.
9370         (flow_delete_insn_chain): ... this one.
9371         (flow_delete_block): Remove the insns one BB has been expunged.
9372         (merge_blocks_nomove): Likewise.
9373         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
9374         updating BB boundaries.
9375         (tidy_fallthru_edge): Likewise.
9376         (commit_one_edge_insertion): Likewise.
9377         * cfgbuild.c (find_basic_block): Likewise.
9378         (find_basic_blocks_1): Likewise.
9379         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
9380         (try_crossjump_to_edge): Likewise.
9381         (try_optimize_cfg): Likewise.
9382         * cse.c (delete_trivially_dead_insns): Likewise.
9383         * df.c (df_insn_delete): Likewise.
9384         * doloop.c (doloop_modify): Use delete_related_insns.
9385         * emit-rtl.c (try_split): Likewise.
9386         (remove_insn): Update BB boundaries.
9387         * expect.c (connect_post_landing_pads): Use delete_related_insns.
9388         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
9389         updating BB boundaries.
9390         (propagate_block_delete_insn): Likewise.
9391         (propagate_block_delete_libcall): Likewise.
9392         * function.c (delete_handlers): Use delete_related_insns.
9393         (thread_prologue_and_epilogue_insns): Likewise.
9394         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
9395         * genpeep.c (gen_peephole): Use delete_related_insns.
9396         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
9397         BB boundaries.
9398         (find_cond_trap): Likewise.
9399         * integrate.c (save_for_inline): Use delete_related_insns.
9400         (copy_insn_list): Likewise.
9401         * jump.c (pruge_linie_number_notes): Likewise.
9402         (duplicate_loop_exit_test): Likewise.
9403         (delete_computation): Likewise.
9404         (delete_related_insn): Rename from ...; use delete_insn
9405         (delete_insn): ... this one.
9406         (redirect_jump): Use delete_related_insns.
9407         * loop.c (scan_loop): Likewise.
9408         (move_movables): Likewise.
9409         (find_and_verify_loops): Likewise.
9410         (check_dbra_loop): Likewise.
9411         * recog.c (peephole2_optimize): Likewise.
9412         * reg-stack.c (delete_insn_for_stacker): Remove.
9413         (move_for_stack_reg): Use delete_insn.
9414         * regmove.c (combine_stack_adjustments_for_block): Likewise.
9415         * reload1.c (delete_address_reloads): Use delete_related_insns.
9416         (fixup_abnormal_edges): Use delete_insn.
9417         * recog.c (emit_delay_sequence): Use delete_related_insns.
9418         (delete_from-delay_slot): Likewise.
9419         (delete_scheduled_jump): likewise.
9420         (optimize_skip): Likewise.
9421         (try_merge_delay_insns): Likewise.
9422         (full_simple_delay_slots): Likewise.
9423         (fill_slots_from_thread): Likewise.
9424         (relax_delay_slots): Likewise.
9425         (make_return_insns): Likewise.
9426         (dbr_schedule): Likewise.
9427         * rtl.h (delete_insn): Rename to delete_related_insns.
9428         (delete_insn, delete_insn_chain): New prototypes.
9429         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
9430         by df_insn_delete already.
9431         * ssa-dce.c (delete_insn_bb): Use delete_insn.
9432         * ssa.c (convert_from_ssa): Use delete_related_insns.
9433         * unroll.c (unroll_loop): Likewise.
9434         (calculate_giv_inc): Likewise.
9435         (copy_loop_body): Likewise.
9436
9437         * i386-protos.h (ix86_libcall_value, ix86_function_value,
9438         ix86_function_arg_regno_p, ix86_function_arg_boundary,
9439         ix86_return_in_memory, ix86_function_value): Declare.
9440         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
9441         new static valurables.
9442         (x86_64_reg_class): New enum
9443         (x86_64_reg_class_name): New array.
9444         (classify_argument, examine_argument, construct_container,
9445          merge_classes): New static functions.
9446         (optimization_options): Enable flag_omit_frame_pointer and disable
9447         flag_pcc_struct_return on 64bit.
9448         (ix86_libcall_value, ix86_function_value,
9449         ix86_function_arg_regno_p, ix86_function_arg_boundary,
9450         ix86_return_in_memory, ix86_function_value): New global functions.
9451         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
9452         (function_arg_advance): Handle x86_64 passing conventions.
9453         (function_arg): Likewise.
9454         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
9455         (RETURN_IN_MEMORY): Move offline.
9456         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
9457         (FUNCTION_VALUE_REGNO_P): New macro.
9458         (FUNCTION_ARG_REGNO_P): Move offline.
9459         (struct ix86_args): Add maybe_vaarg.
9460         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
9461         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
9462
9463 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
9464
9465         * s390.md: Changed attributes for scheduling.
9466         * s390.c: (s390_adjust_cost, s390_adjust_priority)
9467         Changed scheduling
9468
9469 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
9470
9471         Table-driven attributes.
9472         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
9473         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
9474         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
9475         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
9476         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
9477         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
9478         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
9479         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
9480         * tree.h (struct tree_decl): Change machine_attributes to
9481         attributes.
9482         * doc/c-tree.texi: Document that all attributes are now attached
9483         to decls and types.
9484         * c-common.c (add_attribute, attrtab, attrtab_idx,
9485         default_valid_lang_attribute, valid_lang_attribute): Remove.
9486         (attribute_tables, attributes_initialized,
9487         c_common_attribute_table, default_lang_attribute_table): New
9488         variables.
9489         (handle_packed_attribute, handle_nocommon_attribute,
9490         handle_common_attribute, handle_noreturn_attribute,
9491         handle_unused_attribute, handle_const_attribute,
9492         handle_transparent_union_attribute, handle_constructor_attribute,
9493         handle_destructor_attribute, handle_mode_attribute,
9494         handle_section_attribute, handle_aligned_attribute,
9495         handle_weak_attribute, handle_alias_attribute,
9496         handle_no_instrument_function_attribute,
9497         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
9498         handle_no_limit_stack_attribute, handle_pure_attribute): New
9499         functions.
9500         (init_attributes, decl_attributes): Rewrite to implement
9501         table-driven attributes.
9502         * c-common.h (enum attribute_flags): Move to tree.h.
9503         * c-format.c (decl_handle_format_attribute,
9504         decl_handle_format_arg_attribute): Rename to
9505         handle_format_attribute and handle_format_arg_attribute.  Update
9506         for table-driven attributes.
9507         * c-common.h (decl_handle_format_attribute,
9508         decl_handle_format_arg_attribute): Remove prototypes.
9509         (handle_format_attribute, handle_format_arg_attribute): Add
9510         prototypes.
9511         * c-decl.c (grokdeclarator): Handle attributes nested inside
9512         declarators.
9513         * c-parse.in (setattrs, maybe_setattrs): Remove.
9514         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
9515         Update to handle nested attributes properly.
9516         (maybe_resetattrs, after_type_declarator,
9517         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
9518         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
9519         properly.
9520         (make_pointer_declarator): Update to handle nested attributes
9521         properly.
9522         * doc/extend.texi: Update documentation of limits of attributes
9523         syntax.  Warn about problems with attribute semantics in C++.
9524         * target.h (struct target): Remove valid_decl_attribute and
9525         valid_type_attribute.  Add attribute_table and
9526         function_attribute_inlinable_p.
9527         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
9528         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
9529         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
9530         Add.
9531         (TARGET_INITIALIZER): Update.
9532         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
9533         definition.
9534         (function_attribute_inlinable_p): New function.  Check for the
9535         presence of any machine attributes before using
9536         targetm.function_attribute_inlinable_p.
9537         (function_cannot_inline_p): Update.
9538         * Makefile.in (integrate.o): Update dependencies.
9539         * doc/tm.texi: Update documentation of target attributes and
9540         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
9541         * tree.c (default_valid_attribute_p, valid_machine_attribute):
9542         Remove.
9543         (default_target_attribute_table,
9544         default_function_attribute_inlinable_p): New.
9545         (lookup_attribute): Update comment to clarify handling of multiple
9546         attributes with the same name.
9547         (merge_attributes, attribute_list_contained): Allow multiple
9548         attributes with the same name but different arguments to appear in
9549         the same attribute list.
9550         * tree.h (default_valid_attribute_p): Remove prototype.
9551         (struct attribute_spec): New.
9552         (default_target_attribute_table): Declare.
9553         (enum attribute_flags): Move from c-common.h.  Add
9554         ATTR_FLAG_TYPE_IN_PLACE.
9555         (default_function_attribute_inlinable_p): Declare.
9556         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
9557         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9558         (TARGET_ATTRIBUTE_TABLE): Define.
9559         (vms_attribute_table): New.
9560         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
9561         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9562         (TARGET_ATTRIBUTE_TABLE): Define.
9563         (arc_attribute_table, arc_handle_interrupt_attribute): New.
9564         * config/arm/arm.c (arm_valid_type_attribute_p,
9565         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
9566         Remove.
9567         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
9568         define.
9569         (TARGET_ATTRIBUTE_TABLE): Define.
9570         (arm_attribute_table, arm_handle_fndecl_attribute,
9571         arm_handle_isr_attribute): New.
9572         * config/avr/avr.c (avr_valid_type_attribute,
9573         avr_valid_decl_attribute): Remove.
9574         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
9575         define.
9576         (TARGET_ATTRIBUTE_TABLE): Define.
9577         (avr_attribute_table, avr_handle_progmem_attribute,
9578         avr_handle_fndecl_attribute): New.
9579         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
9580         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
9581         (TARGET_ATTRIBUTE_TABLE): Define.
9582         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
9583         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
9584         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9585         (TARGET_ATTRIBUTE_TABLE): Define.
9586         (h8300_attribute_table, h8300_handle_fndecl_attribute,
9587         h8300_handle_eightbit_data_attribute,
9588         h8300_handle_tiny_data_attribute): New.
9589         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
9590         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
9591         Remove prototypes.
9592         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
9593         declarations.
9594         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
9595         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
9596         define.
9597         (TARGET_ATTRIBUTE_TABLE): Define.
9598         (ix86_attribute_table, ix86_handle_cdecl_attribute,
9599         ix86_handle_regparm_attribute): New.
9600         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
9601         i386_pe_valid_type_attribute_p): Remove.
9602         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
9603         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
9604         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
9605         (TARGET_ATTRIBUTE_TABLE): Define.
9606         (ia64_attribute_table): New.
9607         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
9608         interrupt_ident2, model_ident1, model_ident2): Remove.
9609         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9610         (TARGET_ATTRIBUTE_TABLE): Define.
9611         (init_idents): Update.
9612         (m32r_attribute_table, m32r_handle_model_attribute): New.
9613         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
9614         Remove.
9615         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
9616         (TARGET_ATTRIBUTE_TABLE): Define.
9617         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
9618         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
9619         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9620         (TARGET_ATTRIBUTE_TABLE): Define.
9621         (mcore_attribute_table, mcore_handle_naked_attribute): New.
9622         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
9623         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
9624         (TARGET_ATTRIBUTE_TABLE): Define.
9625         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
9626         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
9627         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
9628         (TARGET_ATTRIBUTE_TABLE): Define.
9629         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
9630         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
9631         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9632         (TARGET_ATTRIBUTE_TABLE): Define.
9633         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
9634         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
9635         New.
9636         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
9637         Remove.
9638         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
9639         (TARGET_ATTRIBUTE_TABLE): Define.
9640         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
9641         New.
9642         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
9643         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9644         (TARGET_ATTRIBUTE_TABLE): Define.
9645         (v850_attribute_table, v850_handle_interrupt_attribute,
9646         v850_handle_data_area_attribute): New.
9647         * config/v850/v850-c.c (mark_current_function_as_interrupt):
9648         Return void.  Call decl_attributes instead of
9649         valid_machine_attribute.
9650
9651 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
9652
9653         * sh-protos.h (sh_pr_n_sets): Declare.
9654         * sh.c (calc_live_regs): If the initial value for PR has been copied,
9655         look at the copy to determine if PR needs to be saved.
9656         sh_pr_n_sets: New function.
9657         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
9658         (ALLOCATE_INITIAL_VALUE): Define.
9659
9660         * sh.c (initial_elimination_offset):
9661         Fix RETURN_ADDRESS_POINTER_REGNUM case.
9662
9663 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
9664
9665         * integrate.c (allocate_initial_values): New function.
9666         * integrate.h (allocate_initial_values): Declare.
9667         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
9668         here...
9669         * reload1.c (reload): And initialization of reg_equiv_memory_loc
9670         from here...
9671         * toplev.c (rest_of_compilation): To here.
9672         Call allocate_initial_values.
9673         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
9674
9675 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9676
9677         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
9678
9679 2001-09-20  DJ Delorie  <dj@redhat.com>
9680
9681         * c-typeck.c (really_start_incremental_init): Discriminate
9682         between zero-length arrays and flexible arrays.
9683         (push_init_level): Detect zero-length arrays and handle them
9684         like fixed-sized arrays.
9685         * expr.c (store_constructor): Handle zero-length arrays and
9686         flexible arrays correctly.
9687         * doc/extend.texi: Update zero-length array notes.
9688
9689 2001-09-20  Jim Wilson  <wilson@redhat.com>
9690
9691         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
9692         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
9693         for issue port conflicts.
9694         (cycle_end_fill_slots): TYPE_L instructions take two slots.
9695
9696 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
9697
9698         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
9699         on ia64.
9700
9701 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9702
9703         * fold-const.c (hashtab.h): Include.
9704         (int_const_binop): Remove FORSIZE arg and compute from type; all
9705         callers changed.
9706         Call size_int_type_wide for all single-word constants.
9707         (size_htab_hash, size_htab_eq): New functions.
9708         (size_int_type_wide): Rework to use hash table.
9709         * ggc-common.c (hashtab.h): Include.
9710         (struct d_htab_root): New struct.
9711         (d_htab_roots): New variable.
9712         (ggc_add_deletable_htab, ggc_htab_delete): New functions
9713         (ggc_mark_roots): Handle deletable htabs.
9714         * ggc-page.c (ggc_marked_p): New function.
9715         * ggc-simple.c (ggc_marked_p): Likewise.
9716         * ggc.h: Reformatting throughout.
9717         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
9718         * tree.c (init_obstacks): Make type_hash_table a deletable root.
9719         (type_hash_add): Allocate struct type_hash from GC memory.
9720         (mark_hash_entry, mark_type_hash): Deleted.
9721         (type_hash_marked_p, type_hash_mark): New functions.
9722         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
9723
9724 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
9725
9726         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
9727         than SImode.
9728
9729 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9730
9731         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
9732         array-too-large test for signed sizetype.
9733
9734 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
9735
9736         * i386.md (indirect_jump): Allow Pmode operand.
9737         (tablejump): LIkewise; perform expansion to 64bit mode.
9738         * i386.c (symbolic_operand): Allow 64bit PIC references.
9739         (pic_symbolic_operand): Likewise.
9740         (ix86_find_base_term): Strip the 64bit PIC references.
9741         (legitimate_pic_address_disp_p): Handle 64bit PIC.
9742         (legitimize_pic_address): Likewise.
9743         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
9744         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
9745
9746 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
9747
9748         * stringpool.c (get_identifier_with_length): New function.
9749         * tree.h (get_identifier_with_length): New prototype.
9750
9751 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
9752             David Edelsohn  <edelsohn@gnu.org>
9753
9754         Revert:
9755         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
9756         already sign-extended.
9757
9758         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
9759         * config/rs6000/rs6000.c (logical_operand): Always compare op as
9760         HOST_WIDE_INT.
9761         (rs6000_emit_set_long_const): Avoid unnecessary shift.
9762         (output_profile_hook): Declare label_name const.
9763         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
9764         to match constraints.
9765
9766 2001-09-19  Stan Shebs  <shebs@apple.com>
9767
9768         * alias.c: Fix typos in comments.
9769         * sched-rgn.c (init_ready_list): Ditto.
9770         * unwind-dw2.c (uw_frame_state_for): Ditto.
9771         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
9772         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
9773         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
9774
9775 2001-09-19  Richard Henderson  <rth@redhat.com>
9776
9777         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
9778         to the exit block.
9779         * Makefile.in (cfg.o): Depend on TM_P_H.
9780
9781 2001-09-19  Richard Henderson  <rth@redhat.com>
9782
9783         * config/alpha/alpha.c (local_symbol_p): Split out from ...
9784         (local_symbolic_operand): ... here.
9785         (small_symbolic_operand): Check mode.
9786         (global_symbolic_operand): New.
9787         (input_operand): Reject symbolics if explicit relocs.
9788         (call_operand): Tidy.
9789         (alpha_legitimize_address): Use movdi_er_high_g.
9790         (alpha_expand_mov): Likewise.
9791         * config/alpha/alpha-protos.h: Update.
9792         * config/alpha/alpha.h (PREDICATE_CODES): Update.
9793         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
9794         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
9795         (UNSPECV_LDGP2): Remove.
9796         (all call patterns): Use 's' not 'i' for symbolic constraint.
9797         (call_osf call_value_osf): Use call_operand.
9798         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
9799         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
9800         (prologue_ldgp_1_er): Remove.
9801         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
9802         (builtin_setjmp_receiver_er patterns): Use them.
9803         (exception_receiver_er): Likewise.
9804
9805 2001-09-19  Richard Henderson  <rth@redhat.com>
9806
9807         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
9808
9809         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
9810         and NON_LOCAL_GOTO notes.
9811         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
9812         copy over CALL_INSN_FUNCTION_USAGE.
9813
9814 2001-09-18  Catherine Moore  <clm@redhat.com>
9815
9816         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
9817         Define as 0.
9818
9819 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
9820
9821         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
9822         new-style tm_file specification.  Specify correct tm_p_file,
9823         md_file, and out_file for s390x.
9824
9825         * config/s390/linux.h, linux64.h:  Don't include other target
9826         macro header files.  Now handled via tm_file.
9827
9828         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
9829         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
9830         are defined before use.
9831
9832 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
9833
9834         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
9835         code generation only for Gnu assembler.
9836
9837 2001-09-18  Catherine Moore  <clm@redhat.com>
9838
9839         * config/stormy16 (LIB_SPEC): Remove -lnosys.
9840
9841 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
9842
9843         * config/mips/mips.c (mips_frame_set): New.
9844         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
9845         a parallel frame-related expression with a set for each register.
9846
9847 2001-09-18  Philip Blundell  <philb@gnu.org>
9848
9849         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
9850         header files.
9851
9852 2001-09-17  Dale Johannesen  <dalej@apple.com>
9853
9854         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
9855         * config/rs6000/aix.h (FIXED_R2): Define.
9856         * config/rs6000/darwin.h (FIXED_R2): Define.
9857         * config/rs6000/sysv4.h (FIXED_R2): Define.
9858
9859 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
9860
9861         * except.c (dw2_build_landing_pads): New local
9862         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
9863         barrier after clobbers.  Fixes c++/4012.
9864
9865 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9866
9867         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
9868
9869 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
9870
9871         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
9872         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
9873
9874 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9875
9876         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
9877         alloca/strcpy.
9878
9879 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
9880
9881         * cpphash.h (_cpp_lex_direct): New.
9882         * cpplex.c (_cpp_lex_token): Update.
9883         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
9884         and increment that pointer.
9885         * cppmacro.c (alloc_expansion_token): New.
9886         (lex_expansion_token): Lex macro expansion directly into
9887         macro storage.
9888
9889 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
9890
9891         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
9892
9893 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
9894
9895         * basic-block.h (free_bb_for_insn): Declare.
9896         * bb-reorder.c (label_for_bb): Use block_label.
9897         (emit_jump_to_block_after): Remove.
9898         (insert_intra_1): Do not update block_for_insn.
9899         (insert_inter_bb_scope_notes): Likewise; update bb->end
9900         * cfg.c (free_bb_for_insn): New.
9901         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
9902         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
9903         (commit_one_edge_insertion): Likewise.
9904         (commit_one_edge_insertion): Do not update BB boundary.
9905         (commit_edge_insertions): Do not call compute_bb_for_insn.
9906         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
9907         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
9908         (merge_blocks_move_successor_nojumps): Likewise.
9909         (try_crossjump_to_edge): Do not update block_for_insn.
9910         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
9911         * df.c (df_pattern_emit_later): Do not update BB boundary.
9912         (df_jump_pattern_emit_after): Likewise.
9913         (df_insn_move_before): Use emit_insn_before.
9914         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
9915          properly.
9916         (add_insn_after, add_insn_before, emit_insns_after): Update BB
9917         boundaries and basic_block_for_insn.
9918         (reorder_insns_nobb): Rename from reorder_insns.
9919         (reorder_insns): New.
9920         (emit_block_insn_before, emit_block_insn_after): Kill.
9921         * flow.c (check_function_return_warnings): Do not call
9922         compute_bb_for_insn; Do not free basic_block_for_insn.
9923         (attempt_auto_inc): Do not update basic_block_for_insn.
9924         * function.c (emit_return_into_block): Likewise;
9925         do not update BB boundaries.
9926         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
9927         (insert_insn_end_bb): Use emit_insn_before; Likewise.
9928         (pre_insert_copy_insn): Likewise.
9929         (update_ld_motion_notes): Likewise.
9930         (insert_insn_start_bb): Likewise.
9931         (replace_store_insn): Likewise.
9932         * ifcvt.c (noce_process_if_block): Likewise.
9933         (if_convert): Do not call compute_bb_for_insn.
9934         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
9935         Use emit_insn_before and emit_insn_after.
9936         * recog.c (split_all_insns): Do not update BB boundaries;
9937         Do not call compute_bb_for_insn.
9938         (peephole2_optimize): Do not update BB boundaries.
9939         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
9940         emit_insn_before.
9941         (emit_swap_insn): Likewise.
9942         (convert_regs_1): Likewise.
9943         * reload1.c (reload): Call compute_bb_for_insn.
9944         * rtl.h (reorder_insns_nobb): Declare.
9945         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
9946         * toplev.c (rest_of_compilation): Call free_bb_for_insn
9947         at places CFG is invalidated; do not call compute_bb_for_insn.
9948
9949         * cfg.c (expunge_block): Invalidate BB structure.
9950
9951         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
9952         array.
9953
9954         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
9955
9956 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
9957
9958         * cpphash.h (_cpp_lex_token): Update prototype.
9959         * cpplex.c (_cpp_lex_token): New prototype.
9960         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
9961         lex_macro_node, read_flag, do_pragma_poison): Update.
9962         * cppmacro.c (cpp_get_token, parse_params,
9963         lex_expansion_token): Update.
9964
9965 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
9966
9967         * cppmain.c (scan_translation_unit): Don't worry about
9968         putting a space after hashes.
9969         * cpplib.c (directive_diagnostics): New.
9970         (_cpp_handle_directive): Update to use directive_diagnostics.
9971         (run_directive): Don't toggle prevent_expansion.
9972         (do_line): Backup in case of the line extension.
9973         * cpplib.h (cpp_lexer_pos): Remove.
9974         * cppmacro.c (_cpp_create_definition): Precede a leading #
9975         with whitespace.
9976
9977 2001-09-15  Richard Henderson  <rth@redhat.com>
9978
9979         * c-typeck.c (comptypes): Handle zero-length arrays properly.
9980
9981 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
9982
9983         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
9984
9985 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
9986
9987         PR preprocessor/3571
9988         * tradcpp.c (handle_directive): Skip non-vertical space.
9989
9990 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
9991
9992         * cppmain.c (setup_callbacks): Set line callback only
9993         if outputting preprocessed source.
9994
9995 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9996
9997         * collect2.c (main): Const-ification.
9998         * gcc.c (translate_options, process_command): Use xstrdup in
9999         lieu of xmalloc/strcpy.
10000         (main): Use concat in lieu of xmalloc/strcpy/strcat.
10001
10002 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10003
10004         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
10005         example.
10006
10007 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10008
10009         * scan-decls.c (scan_decls): Fix typo.
10010
10011 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10012
10013         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
10014         Split mlstring_pos into mls_line and mls_col.
10015         * cppinit.c (cpp_create_reader): Initialize line to 1.
10016         (cpp_destroy): Free tokenruns.
10017         (push_include): Don't update lexer_pos.
10018         * cpplex.c (unterminated, parse_string): Update.
10019         (lex_token): Don't update lexer_pos, update.
10020         * cpplib.c (if_stack): Save line instead of line + col.
10021         (start_directive, _cpp_do__Pragma, do_else, do_elif,
10022         push_conditional, _cpp_pop_buffer): Update.
10023         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
10024         (_cpp_create_definition): Update.
10025
10026 2001-09-15  Eric Christopher  <echristo@redhat.com>
10027
10028         * config/mips/abi64.h: Add support for MEABI.
10029
10030 2001-09-15  Eric Christopher  <echristo@redhat.com>
10031
10032         * config/mips/mips.md: Add unspec #2.
10033         (reload_indi): Use.
10034         (reload_outdi): Ditto.
10035         (reload_outsi): Ditto.
10036         (HILO_delay): New.
10037
10038 2001-09-15  Eric Christopher  <echristo@redhat.com>
10039             Jason Eckhardt  <jle@redhat.com>
10040
10041         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
10042         * config/mips/isa32-linux.h: New file.
10043         * config/mips/isa3264.h: Ditto.
10044         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
10045         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
10046         (output_block_mode): Support MEABI.
10047         (function_arg): Ditto. Fix floating point arg passing.
10048         (mips_va_start): Ditto.
10049         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
10050         processors.
10051         (mips_asm_file_start): Add new section to pass abi to gdb.
10052         (function_arg_pass_by_reference): Support MEABI.
10053         (mips_parse_cpu): Support mips32 and mips64 processors.
10054         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
10055         TARGET_MIPS5KC.  Support isa32 and isa64.
10056         (processor_type): Add r4kc, r5kc, r20kc.
10057         (GENERATE_MULT3_SI): New.
10058         (GENERATE_MULT3_DI): Ditto.
10059         (GENERATE_MULT3): Remove.
10060         (ISA_HAS_64BIT_REGS): Add isa == 64.
10061         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
10062         (ISA_HAS_MADD_MSUB): New.
10063         (ISA_HAS_CLZ_CLO): Ditto.
10064         (ISA_HAS_DCLZ_DCLO): Ditto.
10065         (ABI_GAS_ASM_SPEC): New.
10066         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
10067         (ASM_SPEC): Ditto.
10068         (LINK_SPEC): Ditto.
10069         (SUBTARGET_CC1_SPEC): Ditto.
10070         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
10071         (PAD_VARARGS_DOWN): Support MEABI.
10072         (HARD_REGNO_NREGS): Move to mips.c.
10073         (ASM_OUTPUT_IDENT): Add #undef.
10074         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
10075         (mulsi3): Use GENERATE_MULT3_SI.
10076         (mulsi3_mult3): Ditto.  Support mips32, mips64.
10077         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
10078         (mul_sub_si): New pattern.
10079         (unnamed splitters): New.
10080         (muldi3): Use GENERATE_MULT3_DI.
10081         (muldi3_internal2): Ditto.
10082         (movdicc): Support mips32.
10083         * config/mips/t-isa3264: New file.
10084
10085 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
10086
10087         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
10088         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
10089         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
10090
10091         * reorg.c (fill_slots_from_thread): After call to
10092         steal_delay_list_from_target, update own_thread as new_thread may
10093         have branched.
10094
10095 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
10096
10097         * cpperror.c (print_location): Take line and column, for
10098         default positioning use the previously lexed token.
10099         (_cpp_begin_message): Take line and column.
10100         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
10101         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
10102         * cpphash.h (_cpp_begin_message): Update prototype.
10103         * cppinit.c (push_include): Don't set output line.
10104         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
10105         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
10106         (do_pragma): Kludge for front ends.  Don't expand macros at all.
10107         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
10108         (struct cpp_token): Remove output_line.
10109         (struct cpp_callbacks): New member line_change.
10110         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
10111         cpp_get_token): Preserve BOL flag.
10112         (cpp_get_line): Remove.
10113         (_cpp_backup_tokens): Remove useless abort().
10114         * cppmain.c (cb_line_change): New.
10115         (scan_translation_unit): Don't worry about starting new lines here.
10116         * scan-decls.c (scan_decls): Update.
10117         * c-lex.c (c_lex, init_c_lex): Update.
10118         (cb_line_change, src_lineno): New.
10119
10120 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
10121
10122         * tree.c (append_random_chars): Generate the random
10123         characters in a reproducable fashion.
10124
10125 2001-09-14  Richard Henderson  <rth@redhat.com>
10126
10127         * config/i386/i386.c (internal_label_prefix): New.
10128         (internal_label_prefix_len): New.
10129         (override_options): Set them.
10130         (local_symbolic_operand): New.
10131         (legitimate_pic_address_disp_p): Use it.
10132         (legitimize_pic_address): Likewise.
10133
10134 2001-09-14  Marc Espie <espie@openbsd.org>
10135
10136         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
10137         correctly.
10138
10139 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10140
10141         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
10142         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
10143
10144 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
10145
10146         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
10147         invocation of SUBREG_REGNO_OFFSET.
10148
10149         * haifa-sched.c: Fix typo in FSF copyright statement.
10150         * sched-deps.c: Fix typo in FSF copyright statement.
10151         * sched-ebb.c: Fix typo in FSF copyright statement.
10152         * sched-rgn.c: Fix typo in FSF copyright statement.
10153         * sched-vis.c: Fix typo in FSF copyright statement.
10154
10155         * config.gcc: Move inclusion of arm elf specific header files
10156         from the files themselves into the tm_file variable.  Make
10157         sure that elfos.h is included before target specific elf
10158         headers.
10159         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
10160         already defined.
10161         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
10162         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
10163         ASM_OUTPUT_CASE_LABEL): Protect definition.
10164         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
10165         not already defined.
10166         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
10167         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
10168         Remove duplicate definition.
10169         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
10170         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
10171         (RDATA_SECTION_FUNCTION): Remove redundant definition.
10172         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
10173         Remove inclusion of arm/elf.h.
10174         * config/arm/unknown-elf.h: as for conix-elf.h.
10175         (STARTFILE_SPEC): Include crti.o and crtn.o.
10176         * config/arm/linux-elf.h: as for conix-elf.h.
10177         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
10178         * config/arm/strongarm-elf.h: Remove inclusion of
10179         unknown-elf.h.
10180         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
10181         * config/arm/unknown-elf-oabi.h: Remove inclusion of
10182         unknown-elf.h and elf.h.
10183         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
10184         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
10185         ASM_WEAKEN_LABEL): Remove redundant definition.
10186         * config/arm/elf.h: Test for inclusion of elfos.h
10187         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
10188         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
10189         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
10190         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
10191         redundant definition.
10192         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
10193         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
10194         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
10195         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
10196         Add rules to build crti.o and crtn.o
10197         * crti.asm: New file.
10198         * crtn.asm: New file.
10199
10200 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10201
10202         * c-parse.in (_yylex): Use _cpp_backup_tokens.
10203         * cpphash.h (struct tokenrun): Add prev.
10204         (struct lexer_state): Remove bol.
10205         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
10206         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
10207         : Remove.
10208         * cppinit.c (cpp_create_reader): Don't set bol.
10209         (cpp_destroy): Don't free lookaheads.
10210         * cpplex.c (lex_directive): Remove.
10211         (next_tokenrun): Update.
10212         (_cpp_lex_token): Clean up logic.
10213         (lex_token): Update to return a pointer to lexed token, since it
10214         can move to the start of the buffer.  Simpify newline handling.
10215         * cpplib.c (SEEN_EOL): Update.
10216         (skip_rest_of_line): Remove lookahead stuff.
10217         (end_directive): Line numbers are already incremented.  Revert
10218         to start of lexed token buffer if we can.
10219         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
10220         parse_answer): Use _cpp_backup_tokens.
10221         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
10222         instead.  Don't check for EOL.
10223         (do_include_common, do_line, do_pragma_system_header): Use
10224         skip_rest_of_line.
10225         * cpplib.h (BOL, _cpp_backup_tokens): New.
10226         * cppmacro.c (save_lookahead_token, take_lookahead_token,
10227         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
10228         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
10229         (builtin_macro): Don't use cpp_get_line.
10230         (cpp_get_line): Short term kludge.
10231         (parse_arg): Handle directives in arguments here.  Back up when
10232         appropriate.  Store EOF at end of argument list.
10233         (funlike_invocation_p): Use _cpp_backup_tokens.
10234         (push_arg_context): Account for EOF at end of list.
10235         (cpp_get_token): Remove lookahead stuff.  Update.
10236
10237 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10238
10239         * c-parse.in (yyerror): Const-ification and/or static-ization.
10240         * c-typeck.c (push_member_name): Likewise.
10241         * collect2.c (main): Likewise.
10242         * dbxout.c (dbxout_parms): Likewise.
10243         * diagnostic.c (format_with_decl): Likewise.
10244         * dwarf2out.c (output_ranges): Likewise.
10245         * dwarfout.c (fundamental_type_code): Likewise.
10246         * except.c (dw2_output_call_site_table): Likewise.
10247         * gcc.c (do_spec_1): Likewise.
10248         * genopinit.c (optabs): Likewise.
10249         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
10250         gen_declaration_1, handle_impent): Likewise.
10251         * protoize.c (default_include, in_system_include_dir, abspath):
10252         Likewise.
10253         * sched-vis.c (visualize_stall_cycles): Likewise.
10254         * sdbout.c (plain_type_1, sdbout_end_function,
10255         sdbout_end_epilogue): Likewise.
10256         * varasm.c (decode_reg_name): Likewise.
10257
10258         * 1750a.c (mod_regno_adjust): Likewise.
10259         * alpha.c (alpha_write_one_linkage,
10260         unicosmk_output_default_externs): Likewise.
10261         * arm.c (arm_condition_codes): Likewise.
10262         * arm.h (arm_condition_codes): Likewise.
10263         * avr.c (output_movsisf, encode_section_info): Likewise.
10264         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
10265         Likewise.
10266         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
10267         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
10268         * m88k.c (output_function_profiler): Likewise.
10269         * mips.c (mips_output_conditional_branch): Likewise.
10270         * ns32k.c (ns32k_out_reg_names): Likewise.
10271         * ns32k.h (ns32k_out_reg_names): Likewise.
10272         * pj.c (pj_output_rval): Likewise.
10273         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
10274         * sparc.c (sparc_flat_function_prologue,
10275         sparc_flat_function_epilogue): Likewise.
10276
10277 2001-09-13  Markus Werle <numerical.simulation@web.de>
10278             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10279
10280         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
10281         Aachen University of Technology".
10282
10283 2001-09-13  Andreas Schwab  <schwab@suse.de>
10284
10285         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
10286         C99.
10287
10288 2001-09-13  Richard Henderson  <rth@redhat.com>
10289
10290         * config/alpha/alpha.c (small_symbolic_operand): New.
10291         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
10292         (some_operand, input_operand): Don't handle HIGH.
10293         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
10294         (alpha_expand_mov): Likewise.
10295         (print_operand) [H]: Just print HIGH symbol.
10296         (print_operand_address): Handle small data.
10297         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
10298         (TARGET_SWITCHES): Add -msmall-data/large-data.
10299         (PIC_OFFSET_TABLE_REGNUM): New.
10300         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
10301         (PREDICATE_COES): Update.
10302         * config/alpha/alpha.md (adddi_er_high): New.
10303         (adddi_er_low): Handle small data.
10304         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
10305         prefer .sdata to .rodata.
10306         (SELECT_RTX_SECTION): Likewise.
10307
10308 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
10309
10310         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
10311         defining __size_t and leaving size_t undefined.
10312
10313 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
10314
10315         * basic-block.h (expunge_block): Declare.
10316         * cfg.c (expunge_block): Remove static declaration.
10317
10318 2001-09-12  Richard Henderson  <rth@redhat.com>
10319
10320         * integrate.c (copy_insn_list): Copy label name from
10321         NOTE_INSN_DELETED_LABEL.
10322
10323 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10324
10325         * c-common.c (c_tree_code_name): Const-ification.
10326         * c-decl.c (c_decode_option): Likewise.
10327         * c-typeck.c (warn_for_assignment): Likewise.
10328         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
10329         Likewise.
10330         * cppinit.c (output_deps): Likewise.
10331         * dependence.c (dependence_string, direction_string): Likewise.
10332         * dwarf2out.c (output_ranges): Likewise.
10333         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
10334         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
10335         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
10336         standard_startfile_prefix, standard_startfile_prefix_1,
10337         standard_startfile_prefix_2, tooldir_base_prefix,
10338         standard_bindir_prefix, find_a_file): Likewise.
10339         * genattrtab.c (make_length_attrs): Likewise.
10340         * gencheck.c (tree_codes): Likewise.
10341         * genemit.c (gen_split): Likewise.
10342         * genrecog.c (special_mode_pred_table): Likewise.
10343         * graph.c (graph_ext): Likewise.
10344         * protoize (default_include): Likewise.
10345         * reload.c (reload_when_needed_name): Likewise.
10346         * sched-vis.c (visualize_stall_cycles): Likewise.
10347         * tlink.c (recompile_files): Likewise.
10348         * toplev.c (decode_g_option): Likewise.
10349         * tradcpp.c (output_deps): Likewise.
10350         * varasm.c (decode_reg_name): Likewise.
10351
10352         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
10353         Const-ification.
10354         * arm.md: Likewise.
10355         * avr.c (avr_regnames, encode_section_info): Likewise.
10356         * c4x.c (float_reg_names): Likewise.
10357         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
10358         * elfos.h (const_section): Likewise.
10359         * i386.c (ix86_comp_type_attributes): Likewise.
10360         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
10361         * ia64/aix.h (UNIQUE_SECTION): Likewise.
10362         * ia64.c (type_names): Likewise.
10363         * m68hc11.c (reg_class_names): Likewise.
10364         * m88k.c (m_options): Likewise.
10365         * mips.c (mips_output_conditional_branch, mips_unique_section):
10366         Likewise.
10367         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
10368         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
10369         ultra_code_names): Likewise.
10370         * sparc.h (OVERRIDE_OPTIONS): Likewise.
10371
10372 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
10373
10374         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
10375         Use --fatal-warnings option for gas.
10376         * configure: Rebuilt.
10377
10378 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10379
10380         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
10381
10382 2001-09-11  Jim Wilson  <wilson@redhat.com>
10383
10384         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
10385
10386 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
10387
10388         * builtins.c (c_strlen): Treat an offset too large for a
10389         HOST_WIDE_INT as out of range.
10390
10391 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
10392
10393         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
10394         (EDGE_CRITICAL_P): New predicate.
10395         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
10396         handling.
10397         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
10398         (dump_edge_info): Remove "crit".
10399         * cfganal.c (mark_critical_edges): Kill.
10400         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
10401         * cfgcleanup.c (cleanup_cfg): Likewise.
10402         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
10403         (find_spanning_tree): Likewise.
10404         * reg-stack.c (convert_regs_1): Likewise.
10405         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
10406
10407         * basic-block.h (create_basic_block_structure): New.
10408         (create_basic_block): Update prototype.
10409         (force_nonfallthru): New.
10410         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
10411         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
10412         handle updating of block_for_insn, creating of empty BBs and BBs at
10413         the end of INSN chain.
10414         (create_basic_block): New function.
10415         (split_block): Use create_basic_block.
10416         (force_nonfallthru_and_redirect): Break out from ...; cleanup
10417         (redirect_edge_and_branch_force): ... here.
10418         (force_nonfallthru): New.
10419         (split_edge): Rewrite to use force_nonfallthru and create_block.
10420         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
10421         (find_basic_blocks): Free basic_block_for_insn.
10422         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
10423
10424         * cfg.c: Fix formating.
10425         * cfgcleanup.c: Fix formating.
10426         (merge_blocks, tail_recursion_label_p): Return bool.
10427         (merge_blocks_move_predecessor_nojumps,
10428          merge_blocks_move_successor_nojumps): Return void.
10429
10430 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
10431
10432         * configure.in: Check whether assembler supports section merging.
10433         * config.in: Rebuilt.
10434         * configure: Rebuilt.
10435         * varasm.c (variable_section, output_constant_pool): Pass alignment
10436         to SELECT_SECTION and SELECT_RTX_SECTION.
10437         (mergeable_string_section): New.
10438         (mergeable_constant_section): New.
10439         (default_elf_asm_named_section): Output SECTION_MERGE and
10440         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
10441         * output.h (mergeable_string_section): New.
10442         (mergeable_constant_section): New.
10443         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
10444         * toplev.c (flag_merge_constants): New.
10445         (f_options): Add -fmerge-constants and -fmerge-all-constants
10446         options.
10447         (toplev_main): Default to -fno-merge-constants if not optimizing.
10448         * flags.h (flag_merge_constants): Add extern.
10449         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
10450         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
10451         argument.
10452         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
10453         Define if assembler has working .subsection -1 support.
10454         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
10455         Put constant into special SHF_MERGE sections if the linker should
10456         attempt to merge duplicates.
10457         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
10458         macro argument.
10459         Put constant into special SHF_MERGE sections if the linker should
10460         attempt to merge duplicates.
10461         * config/alpha/elf.h: Likewise.
10462         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
10463         has working .subsection -1 support.
10464         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
10465         SELECT_SECTION.
10466         * config/svr3.h: Likewise.
10467         * config/darwin.h: Likewise.
10468         * config/arm/aof.h: Likewise.
10469         * config/arm/linux-elf.h: Likewise.
10470         * config/avr/avr.h: Likewise.
10471         * config/c4x/c4x.h: Likewise.
10472         * config/d30v/d30v.h: Likewise.
10473         * config/i386/dgux.h: Likewise.
10474         * config/i386/osfrose.h: Likewise.
10475         * config/i386/sco5.h: Likewise.
10476         * config/i386/svr3gas.h: Likewise.
10477         * config/ia64/aix.h: Likewise.
10478         * config/m32r/m32r.h: Likewise.
10479         * config/m68k/m68k.h: Likewise.
10480         * config/m88k/dgux.h: Likewise.
10481         * config/m88k/m88k.h: Likewise.
10482         * config/mcore/mcore-pe.h: Likewise.
10483         * config/mips/mips.h: Likewise.
10484         * config/pa/pa.h: Likewise.
10485         * config/pa/pa-linux.h: Likewise.
10486         * config/romp/romp.h: Likewise.
10487         * config/rs6000/sysv4.h: Likewise.
10488         * config/rs6000/xcoff.h: Likewise.
10489         * config/s390/linux.h: Likewise.
10490         * config/sparc/sparc.h: Likewise.
10491         * config/sparc/sysv4.h: Likewise.
10492         * config/stormy16/stormy16.h: Likewise.
10493         * config/v850/v850.h: Likewise.
10494         * config/vax/vms.h: Likewise.
10495         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
10496         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
10497         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
10498         default_elf_asm_named_section for SHF_MERGE sections.
10499
10500 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
10501
10502         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
10503         is OK.
10504
10505 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
10506
10507         * c-common.c (split_specs_attrs): Allow for empty attributes with
10508         empty TREE_PURPOSE.  Fixes PR c/4294.
10509
10510 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
10511
10512         * basic-block.h (cached_make_edge, make_single_succ): New.
10513         (make_edge): Remove first parameter.
10514         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
10515         * cfg.c (cached_make_edge): Rename from make_edge; return newly
10516         created edge; use obstack allocation.
10517         (make_edge, make_single_succ_edge): New.
10518         (first_removed_edge): New static variable.
10519         (init_flow): Initialize first_removed_edge and n_edges.
10520         (clear_edges): Use remove_edge.
10521         (flow_delete_block): Likewise.
10522         (remove_edge): Add removed edges to the removed edges list.
10523         (split_block, redirect_edge_and_branch_force, split_edge):
10524         Use make_edge.
10525         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
10526         (add_noreturn_fake_exit_edges): Likewise.
10527         (connect_infinite_loops_to_exit): Liekwise.
10528         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
10529         Use cached_make_edge.
10530         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
10531         * profile.c (branch_prob): Update make_edge call.
10532         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
10533
10534 2001-09-11  Richard Henderson  <rth@redhat.com>
10535
10536         * config/alpha/alpha.c: Tidy formatting.
10537         (local_symbolic_operand): Verify mode.
10538         (alpha_sa_mask): Ignore unicos for eh_return.
10539         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
10540         * config/alpha/alpha.md (umk divsi patterns): Remove.
10541         (extendsfdf2): Remove unicos check.
10542         (tablejump): Merge vms and unicos code; always use direct set
10543         plus label_ref use.
10544
10545 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10546
10547         * config.gcc (alpha*-*-unicosmk*): New target.
10548
10549         * config/alpha/alpha-protos.h (symbolic_operand,
10550         unicosmk_add_call_info_word, unicosmk_add_extern,
10551         unicosmk_defer_case_vector, unicosmk_unique_section,
10552         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
10553         unicosmk_asm_file_start, unicosmk_asm_file_end,
10554         unicosmk_output_common): Declare.
10555
10556         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
10557         direct_return, function_arg, alpha_va_start, alpha_va_arg,
10558         alpha_does_function_need_gp, alpha_end_function): Support Cray
10559         Unicos/Mk.
10560         (alpha_init_machine_status, alpha_mark_machine_status,
10561         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
10562         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
10563         unicosmk_asm_named_section, unicosmk_insert_attributes,
10564         unicosmk_section_type_flags, symbolic_operand,
10565         unicosmk_output_module_name, unicosmk_output_default_externs,
10566         unicosmk_output_dex, unicosmk_output_externs,
10567         unicosmk_output_addr_vec, unicosmk_ssib_name,
10568         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
10569         unicosmk_asm_file_end, unicosmk_output_common,
10570         unicosmk_section_type_flags, unicosmk_unique_section,
10571         unicosmk_add_call_info_word, unicosmk_text_section,
10572         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
10573         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
10574         unicosmk_dex_count, unicosmk_special_name): New.
10575         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
10576         TARGET_ABI_UNICOSMK.
10577         (get_aligned_mem, alpha_expand_unaligned_load,
10578         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
10579         alpha_expand_unaligned_store_words): Support big-endian mode.
10580         (print_operand): Likewise. New format specifier 't'. Use
10581         TARGET_AS_SLASH_BEFORE_SUFFIX.
10582         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
10583         (alpha_pv_save_size): Update with above change.
10584         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
10585         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
10586         Unicos/Mk.
10587
10588         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
10589         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
10590         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
10591         (EXTRA_CONSTRAINT): New constraint 'U'.
10592         (PREDICATE_CODES): Add symbolic_operand.
10593
10594         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
10595         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
10596         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
10597         (integer division and modulus patterns): Split in default and
10598         Unicos/Mk versions.
10599         (*divmodsi_internal, *divmoddi_internal): Disable for
10600         TARGET_ABI_UNICOSMK.
10601         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
10602         little-endian and big-endian versions.
10603         (ext, ins, msk): Likewise.
10604         (extv, extzv, insv): Support big-endian mode.
10605         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
10606         (call_umk, call_value_umk, *call_umk, tablejump_umk,
10607         *tablejump_umk_internal, *call_value_umk): New.
10608         (*movdi_nofix): Add pattern for loading an address into a register on
10609         TARGET_ABI_UNICOSMK.
10610         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
10611         (umk_mismatch_args, arg_home_umk): New.
10612         (various insns): Don't use mov, fmov, nop, fnop and unop.
10613         (realign): Support TARGET_ABI_UNICOSMK.
10614
10615         * config/alpha/unicosmk.h: New file.
10616         * config/alpha/t-unicosmk: New file.
10617
10618         * fixinc/inclhack.def (unicosmk_restrict): New.
10619         * fixinc/fixincl.x: Regenerate.
10620
10621         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
10622         (wchar_t): Check for and define __WCHAR_T__.
10623
10624 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
10625
10626         * combine.c (simplify_shift_const): Treat shifts by the mode
10627         size as undefined.
10628
10629 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
10630
10631         * cpphash.h (struct tokenrun): New.
10632         (struct cpp_context): New member bol.
10633         (struct cpp_reader): New members.
10634         (_cpp_init_tokenrun): New.
10635         * cppinit.c (cpp_create_reader): Set up the token runs.
10636         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
10637         (lex_token): New internalised version of _cpp_lex_token.  Don't
10638         handle directives or the multiple include optimization here any
10639         more.  Simply lex a token.
10640         * cpplib.c (run_directive): Clear bol.
10641         (_cpp_pop_buffer): Set bol.
10642         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
10643         arguments.
10644
10645 2001-09-11  Michael Meissner  <meissner@redhat.com>
10646
10647         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
10648         give an error if the user uses -mfp32.
10649         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
10650         default options.
10651         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
10652         floating point register size.
10653         (EXTRA_SPECS): Add CPP_FPR_SPEC.
10654
10655         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
10656         HOST_WIDE_INT_PRINT_DEC to properly print the result of
10657         int_size_in_bytes.
10658         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
10659         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
10660
10661 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
10662
10663         * dbxout.c (dbxout_parms): Fix typo in comment.
10664         * unroll.c (loop_find_equiv_value): Ditto.
10665         * toplev.c (rest_of_compilation): Ditto.
10666         * loop.c (scan_loop): Ditto.
10667         * dwarf2out.c (struct dw_fde_struct): Ditto.
10668
10669 2001-09-10  Zack Weinberg  <zackw@panix.com>
10670
10671         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
10672         copying identifier when we're just going to throw it away.
10673         (parse_identifier_slow): New routine to handle abnormal cases.
10674         (_cpp_lex_token): Update call site.
10675
10676         * hashtable.c (ht_lookup): Don't assume that the string we've
10677         been given is NUL-terminated.
10678         * system.h: #define __builtin_expect(a, b) to (a) if not
10679         GCC >=3.0.
10680
10681 2001-09-10  Michael Meissner  <meissner@redhat.com>
10682
10683         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
10684         binutils, gdb.
10685
10686 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
10687
10688         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
10689
10690 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10691
10692         * builtins.c (c_getstr): Correct thinko in last change and further
10693         cleanup.
10694
10695 2001-09-10  Tim Freeman <tim@fungibole.com>
10696
10697         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
10698         into varray's and register them as roots with the garbage
10699         collector so they are not collected too soon.
10700
10701 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
10702
10703         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
10704         New.
10705         * basic-block.h (flow_obstack, label_value_list,
10706         tail_recursion_label_list): Declare
10707         (tidy_fallthru_edges): Declare.
10708         (expunge_block, last_loop_beg_note): Delete.
10709         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
10710         * cfg.c: New file
10711         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
10712         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
10713         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
10714         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
10715         expunge_block, flow_delete_block, compute_bb_for_insn,
10716         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
10717         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
10718         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
10719         try_redirect_by_replacing_jump, last_loop_beg_note,
10720         redirect_edge_and_branch, redirect_edge_and_branch_force,
10721         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
10722         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
10723         commit_edge_insertions, dump_flow_info, debug_flow_info,
10724         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
10725         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
10726         Move here from flow.c
10727         * cfganal.c: New file.
10728         (forwarder_block_p, can_fallthru, mark_critical_edges,
10729          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
10730          find_unreachable_blocks, create_edge_list, free_edge_list,
10731          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
10732          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
10733          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
10734          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
10735          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
10736          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
10737         Move here from flow.c
10738         * cfgbuild.c: New file
10739         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
10740          make_edges, find_basic_blocks_1, find_basic_blocks,
10741          find_sub_basic_blocks): Move here from flow.c
10742         * cfgcleanup.c: New file.
10743         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
10744          merge_blocks_move_predecessor_nojumps,
10745          merge_blocks_move_successor_nojumps, merge_blocks,
10746          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
10747          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
10748         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
10749         if succeeded.
10750         * cfgloop.c: New file
10751         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
10752          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
10753          flow_loop_exit_edges_find, flow_loop_nodes_find,
10754          flow_loop_pre_header_scan, flow_loop_pre_header_find,
10755          flow_loop_tree_node_add, flow_loops_tree_build,
10756          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
10757          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
10758         Move here from flow.c
10759         * flow.c: Remove everything moved elsewhere
10760         * output.h (cleanup_cfg): Return bool.
10761
10762         * bb-reorder.c (reorder_block_def): Remove 'index'.
10763         (insert_intra_1): Add argument BB, set block for new note.
10764         (make_reorder_chain): Do not depdent on BB indexes.
10765         (make_reorder_chain_1): Do not use BB indexes.
10766         (label_for_bb): Likewise; set BB for new insn.
10767         (emit_jump_to_block_after): Likewise.
10768         (fixup_reorder_chain): Sanity check that all basic blocks
10769         are chained; verify newly created insn chain; remove
10770         undocnitional jump simplifying; Do not use BB indexes;
10771         properly initialize count and frequency information;
10772         dump reordered sequence.
10773         (insert_intra_bb_scope_notes): update call of insert_intra_1.
10774         (insert_inter_bb_scope_notes): Set block for new insn.
10775         (reorder_basic_blocks): Dump flow info before reoredering.
10776
10777 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10778
10779         * alias.c (clear_reg_alias_info): Use K&R format definition.
10780         Avoid unsigned warning.
10781         * builtins.c: Use "unsigned int", not "unsigned".
10782         (target_char_cast): Use host_integerp and tree_low_cst.
10783         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
10784         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
10785         (c_getstr): Likewise.
10786         (std_expand_builtin_va_arg): Use int_size_in_bytes.
10787         (builtin_memcpy_read_str): Avoid unsigned warning.
10788         (expand_builtin_memcpy): Alignments are unsigned.
10789         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
10790         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
10791         * predict.c (expensive_function_p): LIMIT now unsigned.
10792         * resource.c (mark_target_live_regs): Make some vars unsigned.
10793         * sdbout.c: Use "unsigned int", not "unsigned".
10794         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
10795         (sdbout_source_line): Likewise.
10796         (sdbout_record_type_name): Remove "const" for NAME declaration.
10797         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
10798
10799 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
10800
10801         * calls.c (store_one_arg): Expand comment.
10802
10803 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10804
10805         * calls.c (store_one_arg): Make sure that the entire argument is
10806         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
10807
10808 2001-09-09  Richard Henderson  <rth@redhat.com>
10809
10810         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
10811
10812 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
10813
10814         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
10815
10816 2001-09-09  Richard Henderson  <rth@redhat.com>
10817
10818         * config/alpha/alpha.c (alpha_next_sequence_number): New.
10819         (alpha_this_literal_sequence_number): New.
10820         (alpha_this_gpdisp_sequence_number): New.
10821         (some_operand, input_operand): Add HIGH.
10822         (local_symbolic_operand): New.
10823         (alpha_encode_section_info): New.
10824         (alpha_legitimate_address_p): Allow LO_SUM.
10825         (alpha_legitimize_address): Generate HIGH+LO_SUM.
10826         (alpha_expand_mov): Likewise.
10827         (secondary_reload_class): Check memory_operand not general_operand
10828         for FP_REGS test.
10829         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
10830         (alpha_expand_unaligned_store): Likewise.
10831         (alpha_expand_unaligned_load_words): Likewise.
10832         (alpha_expand_unaligned_store_words): Likewise.
10833         (alpha_expand_block_clear): Likewise.
10834         (print_operand): Handle %#, %*, %H.
10835         (print_operand_address): Handle LO_SUM.
10836         (find_lo_sum): New.
10837         (alpha_does_function_need_gp): Use it.
10838         (alpha_expand_block_move): Fix signed compare warnings.
10839         (alpha_sa_mask, alpha_align_insns): Likewise.
10840         * config/alpha/alpha-protos.h: Update.
10841         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
10842         (MASK_EXPLICIT_RELOCS): New.
10843         (TARGET_SWITCHES): Add -mexplicit-relocs.
10844         (EXTRA_CONSTRAINT): Add 'T'.
10845         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
10846         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
10847         (ENCODE_SECTION_INFO): Out line.
10848         (REDO_SECTION_INFO_P): New.
10849         (STRIP_NAME_ENCODING): New.
10850         (ASM_OUTPUT_LABELREF): New.
10851         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
10852         (PREDICATE_CODES): Update.
10853         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
10854         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
10855         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
10856         builtin_setjmp_receiver_er, exception_receiver_1_er,
10857         call_value_osf_1_er): New patterns.
10858         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
10859         (movqi, movhi, movsi): Add explicit $31 base register to lda.
10860         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
10861         (FINAL_PRESCAN_INSN): New.
10862
10863 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
10864
10865         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
10866
10867 2001-09-08  Andreas Jaeger  <aj@suse.de>
10868
10869         * i386.h (TARGET_SWITCHES): Fix description.
10870
10871 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
10872
10873         * rs6000.c (num_insns_constant): Compute number of instructions
10874         more accurately.
10875
10876         * doc/install.texi: Explain AIX exception handling work-around.
10877         Update URL for AIX fixes.
10878
10879 2001-09-07  Jim Wilson  <wilson@redhat.com>
10880
10881         * alias.c (clear_reg_alias_info): New.
10882         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
10883         * rtl.h (clear_reg_alias_info): Declare.
10884
10885 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10886
10887         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
10888         available.
10889         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
10890         (m16m,edivm,emulm): Change declaration to match definition.
10891
10892 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
10893
10894         * reload.c (push_reload): Check for subreg_lowpart_p instead of
10895         SUBREG_BYTE being 0 when determining if the inner part of a subreg
10896         can be reloaded.
10897
10898 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10899
10900         * c-common.c (signed_or_unsigned_type): Handle machine mode types
10901         which have no corresponding C type.
10902         * fold_const.c (target_isinf,target_isnan,target_negative): Update
10903         the representation of 64-bit doubles to work with 64-bit ints.
10904
10905 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
10906
10907         * config/mips/mips.c (override_options): Do not override ISA when ABI
10908         specified if MIPS_CPU_STRING_DEFAULT was specified.
10909
10910 2001-09-07  Richard Henderson  <rth@redhat.com>
10911
10912         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
10913         (express_from_1): Wrap lines.
10914         * rtlanal.c (commutative_operand_precedence): Rename from
10915         operand_preference; export.
10916         * rtl.h: Declare it.
10917         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
10918         (simplify_binary_operation): Invoke simplify_plus_minus on
10919         (CONST (PLUS ...)) as well.
10920         (struct simplify_plus_minus_op_data): New.
10921         (simplify_plus_minus_op_data_cmp): New.
10922         (simplify_plus_minus): Use them.  Avoid infinite recursion with
10923         simplify_binary_operation wrt CONST.
10924
10925 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
10926
10927         * h8300-protos.h (general_operand_dst_push): Remove.
10928         * h8300.c (general_operand_dst_push): Likewise.
10929         * h8300.h (OK_FOR_T): Likewise.
10930         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
10931         * h8300.md (pushqi_h8300): New.
10932         (pushqi_h8300hs): Likewise.
10933         (pushqi): Likewise.
10934         (pushhi_h8300): Likewise.
10935         (pushhi_h8300hs): Likewise.
10936         (pushhi): Likewise.
10937
10938 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10939
10940         * genattrtab.c (attr_printf): First arg is unsigned.
10941         Clean up formatting of callers.
10942
10943 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
10944
10945         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
10946         registers.
10947
10948 2001-09-07  Andreas Jaeger  <aj@suse.de>
10949
10950         * i386.h (TARGET_SWITCHES): Fix descriptions.
10951
10952 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
10953
10954         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
10955
10956 2001-09-06  Ira Ruben  <ira@apple.com>
10957
10958         Remove OP_IDENTIFIER.
10959         * tree.def (OP_IDENTIFIER): Remove.
10960         * tree.c (tree_node_kind enum): Remove op_id_kind.
10961         (tree_node_kind_names): Remove "op_identifiers".
10962         (make_node): Remove OP_IDENTIFIER test.
10963         (build_op_identifier): Removed because it isn't being used.
10964         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
10965         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
10966
10967 2001-09-06  Richard Henderson  <rth@redhat.com>
10968
10969         * simplify-rtx.c (simplify_binary_operation): Revert last change.
10970
10971 2001-09-06  Richard Henderson  <rth@redhat.com>
10972
10973         * simplify-rtx.c (simplify_binary_operation): Simplify contents
10974         of CONST.
10975
10976 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10977
10978         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
10979         number used for CR register.
10980
10981 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
10982                           Joern Rennecke (amylaar@cygnus.com)
10983
10984         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
10985         * h8300.c (initial_offset): Handle offset between RP and FP.
10986         (h8300_return_addr_rtx): New function.
10987         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
10988         return register.
10989         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
10990         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
10991         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
10992         (CAN_ELIMINATE, REGISTER_NAMES):
10993         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
10994
10995 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
10996
10997         Remove TYPE_NONCOPIED_PARTS.
10998         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
10999         (struct tree_type): Remove noncopied_parts.
11000         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
11001         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
11002         (fixed_type_p): Remove.
11003         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
11004         (expand_expr, MODIFY_EXPR): Likewise.
11005         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
11006         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
11007
11008 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
11009
11010         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
11011         compiler warnings.
11012         (mask64_operand): Likewise.
11013         (includes_rldic_lshift_p): Likewise.
11014         (includes_rldicr_lshift_p): Likewise.
11015
11016 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
11017
11018         * objc/objc-act.c (build_message_expr): If a class method cannot
11019         be found, do not issue a warning if a corresponding instance
11020         method exists in the root class.
11021
11022 2001-09-05  Richard Henderson  <rth@redhat.com>
11023
11024         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
11025
11026 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
11027
11028         * function.c (ggc_mark_struct_function): Mark f->outer.
11029         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
11030         * integrate.c (output_inline_function): ... not here.
11031
11032 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
11033
11034         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
11035
11036         * i386.c (size_cost): New static variable.
11037         (override_function): Use size_cost when -Os is specified.
11038
11039         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
11040         properly;  Use current_function_calls_eh_return.
11041         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
11042         use leave to avoid dependency chain.
11043
11044         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
11045         get BB loop_depth instead of computing it from LOOP notes.
11046
11047         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
11048
11049 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11050
11051         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
11052         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
11053         UNALIGNED_DOUBLE_INT_ASM_OP): Define
11054
11055 2001-09-05  Jeffrey A Law  (law@cygnus.com)
11056             Jason Merrill (jason@redhat.com)
11057
11058         * stor-layout.c (layout_type): Complain if an array's size can
11059         not be represented in a size_t.
11060
11061         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
11062
11063 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
11064
11065         * gcc.c: (process_command) Add parentheses around assignment
11066         used as truth value.
11067
11068 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
11069
11070         * config/mips/mips.c (save_restore_insns): Don't mark any register
11071         save slots as unchanging if current_function_calls_eh_return.
11072
11073 2001-09-05  Richard Henderson  <rth@redhat.com>
11074
11075         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
11076         * config/alpha/alpha-protos.h: Declare it.
11077         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
11078         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
11079         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
11080         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
11081         (REG_OK_FOR_BASE_P): Select one of the above.
11082
11083 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
11084
11085         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
11086         (crti.o): Prefix name of object file with $(T).
11087         (crtn.o): Likewise.
11088
11089 2001-09-05  David S. Miller  <davem@redhat.com>
11090
11091         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
11092         * config/sparc/linux64.h: Likewise.
11093
11094 2001-09-05  Andreas Jaeger  <aj@suse.de>
11095
11096         * doc/invoke.texi (i386 Options): -mwide-multiply is not
11097         available anymore, remove the documentation.
11098         (i386 Options): Fix typo, cleanup index entries.
11099
11100         * prefix.c (concat): Remove, we can use the version from liberty.
11101
11102 2001-09-05  Richard Henderson  <rth@redhat.com>
11103
11104         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
11105         New functions split out of md file expanders.
11106         * config/alpha/alpha-protos.h: Declare them.
11107         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
11108
11109 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
11110
11111         * cppmacro.c (funlike_invocation_p): No need to restore context.
11112
11113 2001-09-04  Richard Henderson  <rth@redhat.com>
11114
11115         * reload.c (push_reload): Export.
11116         * reload.h (push_reload): Declare it.
11117
11118         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
11119         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
11120         * config/alpha/alpha.c (alpha_legitimize_address): New.
11121         (alpha_legitimize_reload_address): Likewise.
11122         * config/alpha/alpha-protos.h: Declare them.
11123
11124 2001-09-04  Stan Shebs  <shebs@apple.com>
11125
11126         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
11127         * config/darwin.c (machopic_stub_name): Account for internally
11128         generated lib calls such as memcpy.
11129
11130 2001-09-04  Richard Henderson  <rth@redhat.com>
11131
11132         * unwind.h (_UA_END_OF_STACK): New flag.
11133         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
11134
11135 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
11136
11137         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
11138
11139 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
11140
11141         * config/mips/mips.c (save_restore_insns): Change base_offset to
11142         fp_offset in second call to mips_emit_frame_related_store.
11143
11144 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
11145
11146         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
11147         sometimes be represented as a NOTE of type
11148         NOTE_INSN_DELETED_LABEL.
11149         (Insns): Document NOTE_INSN_DELETED_LABEL.
11150
11151 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
11152
11153         * c-common.h (tree_dump_index): Add more comments.
11154         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
11155         (dump_option_value_info): New struct.
11156         (dump_options): New array.
11157         (dump_switch_p): Parse switch options symbolically.
11158         * doc/invoke.texi (-fdump-ast): Rename to ...
11159         (-fdump-tree): ... here. Document that options are symbolic, and
11160         not all are applicable.
11161
11162 2001-09-04  David S. Miller  <davem@redhat.com>
11163
11164         * config/sparc/sparc.md (define_splits): Kill constraints.
11165
11166         Cleanup redundant and unused insn attributes.
11167         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
11168         binary, and move.  Mark ialu as default.
11169         (commented out define_function_unit "alu"): Kill.
11170         (define_attr "use_clobbered"): Kill.
11171         (whole file): Kill address insn type references.  Replace
11172         all unary/binary/move references with ialu.
11173         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
11174         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
11175         TYPE_IALU.
11176
11177         Simplify length insn attribute and make more judicious use
11178         of insn attribute defaulting.
11179         * config/sparc/sparc.md (all insns with length > one): Mark as
11180         insn type multi if real instructions, else use default if
11181         it is a forced splitter.
11182         (all insns with length == one): Use default insn length.
11183         (all insns of type ialu): Use default insn type.
11184
11185         Fix erroneous insn attribute settings.
11186         (addx): Set insn type to misc.
11187         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
11188         const_umulsidi3_sp64): Set insn type to imul.
11189
11190         Track SFmode vs DFmode insns according to UltraSPARC
11191         scheduling rules.
11192         * config/sparc/sparc.md ("fptype"): New attribute, default
11193         to "single".
11194         (all DFmode single insns): Mark as fptype "double".
11195
11196 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
11197
11198         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
11199
11200 2001-09-03  Richard Henderson  <rth@redhat.com>
11201
11202         * function.h (struct function): Add arg_pointer_save_area_init.
11203         * function.c (expand_function_end): Init arg_pointer_save_area.
11204         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
11205         when called from a nested function.
11206
11207 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
11208
11209         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
11210         is enabled.
11211
11212 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
11213
11214         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
11215
11216 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
11217
11218         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
11219         (emit_push_insn): Use specified padding direction when
11220         STACK_PUSH_CODE is POST_INC.
11221
11222         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
11223
11224 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11225
11226         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
11227
11228 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
11229
11230         * cppinit.c (cpp_start_read): Free the imacros list as we
11231         traverse it.  Don't free the chains before returning.
11232         (_cpp_push_next_buffer): Only try pushing buffers if we've
11233         completed -imacros handling.
11234
11235 2001-08-31  Eric Christopher  <echristo@redhat.com>
11236
11237         * gcc.c (handle_braces): Add explaination for abort.
11238
11239 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
11240
11241         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
11242         move adjustment of bitpos instead.
11243
11244 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
11245
11246         * function.c: Remove all_functions.  Make outer_function_chain
11247         static.
11248         (init_function_start): Don't add new function structure to
11249         all_functions.
11250         (find_function_data, push_function_context_to,
11251         pop_function_context_from, put_var_into_stack,
11252         trampoline_address): Update for changed structure element names.
11253         (push_function_context_to): Disentangle.
11254         (free_after_compilation): Also free F.
11255         (expand_dummy_function_end): Don't free cfun here.
11256         (put_var_into_stack): Comment why we can't use find_function_data here.
11257         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
11258         (mark_function_chain): Split into maybe_mark_struct_function and
11259         ggc_mark_struct_function.  Export the latter.
11260         (init_function_once): Mark from cfun and outer_function_chain;
11261         not all_functions.
11262
11263         * function.h (struct function): Kill next_global.  Rename next
11264         to outer.  All users updated to match.
11265         (all_functions, outer_function_chain): Don't declare.
11266
11267         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
11268         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
11269         don't touch f->inlinable, after calling rest_of_compilation.
11270
11271         * tree.h: Forward-declare struct function.  Prototype
11272         ggc_mark_struct_function.
11273
11274 2001-08-31  Kazu Hirata  <kazu@hxi.com>
11275
11276         * config/h8300/h8300.md (*andorhi3): Fix typos.
11277
11278 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11279
11280         * calls.c (emit_library_call_value): Don't use a fixed
11281         argument after VA_CLOSE, i.e. out of scope in traditional C.
11282
11283         * emit-rtl.c (gen_rtvec): Likewise.
11284
11285 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11286
11287         * Makefile.in (c-pragma.o): Depend on output.h.
11288         (reorg.o): Depend on except.h.
11289
11290         * c-pragma.c: Include output.h.
11291
11292         * reorg.c: Include except.h.
11293
11294         * unwind-dw2.c: Call __builtin_alloca, not alloca.
11295
11296 2001-08-31  Richard Henderson  <rth@redhat.com>
11297
11298         * sched-deps.c (add_dependence): Don't elide dependency if the
11299         conditional used by insn is modified in elem.
11300
11301 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
11302
11303         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
11304
11305 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
11306
11307         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
11308         dump_switch_p.
11309
11310 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
11311
11312         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
11313         function.
11314         (stormy16_asm_out_constructor): New function.
11315         (TARGET_ASM_CONSTRUCTOR): Define.
11316         (TARGET_ASM_DESTRUCTOR): Define.
11317
11318 2001-08-31  Andreas Jaeger  <aj@suse.de>
11319
11320         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
11321         * loop.c (add_label_notes): Likewise.
11322         * reload.c (find_reloads): Likewise.
11323         * config/sh/sh.c (machine_dependent_reorg): Likewise.
11324
11325 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
11326
11327         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
11328         code here.  Take _Unwind_{W,Sw}ord*.
11329         (read_encoded_value_with_base): Use them.
11330         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
11331         words.
11332         (extract_cie_info): Simplify read_?leb128 handling.
11333         (execute_stack_op, execute_cfa_program): Likewise.
11334         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
11335
11336 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
11337
11338         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
11339         the frame pointer to pop the stack if convenient.
11340
11341         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
11342         Don't use post-increment before combine.
11343         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
11344         a call-saved register.
11345
11346 2001-08-31  Andreas Jaeger  <aj@suse.de>
11347
11348         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
11349         code was correct.
11350
11351 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
11352
11353         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
11354         not DIV/MOD, of course.
11355
11356 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
11357
11358         * rtl.def: Undo my patch commited 2001-08-27.
11359
11360         * genattrtab.c: Ditto.
11361
11362         * rtl.h: Ditto.
11363
11364         * sched-int.h: Ditto.
11365
11366         * target-def.h: Ditto.
11367
11368         * target.h: Ditto.
11369
11370         * haifa-sched.c: Ditto.
11371
11372         * sched-rgn.c: Ditto.
11373
11374         * sched-vis.c: Ditto.
11375
11376         * Makefile.in: Ditto.
11377
11378         * doc/md.texi: Ditto.
11379
11380         * doc/tm.texi: Ditto.
11381
11382         * doc/contrib.texi: Ditto.
11383
11384         * doc/gcc.texi: Ditto.
11385
11386         * genattrtab.h: Remove it.
11387
11388         * genautomata.c: Remove it.
11389
11390         * genattr.c: Undo my patch and Richard Henderson's patch commited
11391         2001-08-27.
11392
11393 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
11394
11395         * config.gcc (h8300-*-elf*): New case.
11396         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
11397         (SUBTARGET_CPP_SPEC): Define.
11398         (EXTRA_SPECS): Define.
11399         (SUBTARGET_EXTRA_SPECS): Define.
11400         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
11401         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
11402
11403 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
11404
11405         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
11406         (LIB2FUNCS_EXTRA): Define.
11407         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
11408         config/h8300/fixunssfsi.c: New file.
11409
11410 2001-08-30  Kazu Hirata  <kazu@hxi.com>
11411
11412         * config/h8300/h8300.md (zero_extendqihi2): Changes to
11413         define_expand to accommodate target-specific attributes.
11414         (anonymous zero_extendqihi2 patterns): New.
11415
11416 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
11417
11418         * h8300.md (*andorhi3): New pattern.
11419
11420 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
11421
11422         * h8300.c (dosize): Fix test for "sub".
11423
11424 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
11425
11426         * c-typeck.c (pointer_diff): Try to eliminate common term before
11427         doing conversions.
11428
11429 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
11430
11431         * config/arm/arm.c (arm_compute_initial_elimination_offset):
11432         Account for the saves of the FP registers.
11433
11434         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
11435         (TEXT_SECTION_ASM_OP): Define.
11436         (INIT_SECTION_ASM_OP): Define.
11437         (FINI_SECTION_ASM_OP): Define.
11438         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
11439         (RDATA_SECTION_FUNCITON): Provide prototype.
11440
11441 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
11442
11443         * reload1.c (move2add_note_store): Correct typo checking for
11444         argument pushes.
11445
11446 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
11447
11448         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
11449         note should not be considered outside the libcall block.
11450
11451 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11452
11453         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
11454
11455 2001-08-29  Kazu Hirata  <kazu@hxi.com>
11456
11457         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
11458
11459 2001-08-29  Kazu Hirata  <kazu@hxi.com>
11460
11461         * config/h8300/h8300-protos.h: Add a prototype for
11462         emit_logical_op.
11463         * config/h8300/h8300.c (emit_logical_op): New.
11464         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
11465         (andsi3): Likewise.
11466         (iorhi3): Likewise.
11467         (iorsi3): Likewise.
11468         (xorhi3): Likewise.
11469         (xorsi3): Likewise.
11470
11471 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11472
11473         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
11474         comparison with rtx INTVAL.
11475         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
11476         expression.
11477         * pa.h (FUNCTION_ARG_SIZE): Likewise.
11478
11479 2001-08-29  Kazu Hirata  <kazu@hxi.com>
11480
11481         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
11482         comment typos.
11483
11484 2001-08-29  Kazu Hirata  <kazu@hxi.com>
11485
11486         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
11487         (reg n) to (mem (pre_dec (reg n))
11488         (anonymous movsi pattern): Likewise.
11489
11490 2001-08-29  Kazu Hirata  <kazu@hxi.com>
11491
11492         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
11493
11494 2001-08-29  Kazu Hirata  <kazu@hxi.com>
11495
11496         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
11497         several special constants.
11498
11499 2001-08-29  Kazu Hirata  <kazu@hxi.com>
11500
11501         * config/h8300/lib1funcs.asm: Fix comment typos.
11502
11503 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11504
11505         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
11506         Fix format specifier warnings.
11507
11508         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
11509         inet_makeaddr, semctl): Prototype.
11510
11511         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
11512         (save_restore_insns): Use base_offset, not gp_offset.
11513
11514         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
11515         (ASM_OUTPUT_BYTE): Fix format specifier warning.
11516
11517 2001-08-29  Richard Henderson  <rth@redhat.com>
11518
11519         * bb-reorder.c (function_tail_eff_head): New.
11520         (record_effective_endpoints): Set it.
11521         (fixup_reorder_chain): Use it.
11522
11523 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11524
11525         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
11526
11527 2001-08-28  Dale Johannesen  <dalej@apple.com>
11528
11529         * config/darwin.c (machopic_function_base_name): Add const
11530         qualifier to a string.
11531         (darwin_encode_section_info): Ditto.
11532
11533 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11534
11535         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
11536         function definition.
11537
11538 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
11539
11540         * df.h (struct df): Add rts_order variable.
11541
11542         * df.c (df_visit_next_rts): New function.
11543         (df_visit_next): Renamed to df_visit_next_rc
11544         (df_analyse_1): Allocate/compute/free rts_order as well.
11545         (df_rd_global_compute): Use df_visit_next_rc instead of
11546         df_visit_next.
11547         (df_ru_global_compute): Use df_visit_next_rts instead of
11548         df_visit_next.
11549
11550         * flow.c (flow_reverse_top_sort_order_compute): New function.
11551
11552         * basic-block.h: Add prototype.
11553
11554 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
11555
11556         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
11557         blocks, the BB_REACHABLE is now set, rather than aux being
11558         non-NULL. Update the test to reflect this.
11559
11560 2001-08-28  Eric Christopher  <echristo@redhat.com>
11561
11562         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
11563         config/mips/crti.asm: Ditto.
11564
11565 2001-08-28  Eric Christopher <echristo@redhat.com>
11566             Richard Henderson <rth@redhat.com>
11567
11568         * c-pragma.h (add_weak): Move prototype from here...
11569         * output.h (add_weak): ... to here.
11570         * varasm.c (add_weak): Fix typo.
11571         * config/mips/crti.asm: New file.
11572         * config/mips/crtn.asm: Ditto.
11573         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
11574         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
11575         (INVOKE__main): Ditto.
11576         (INIT_SECTION_ASM_OP): New.
11577         (FINI_SECTION_ASM_OP): Ditto.
11578         (STARTFILE_SPEC): Add crti.
11579         (ENDFILE_SPEC): Add crtn.
11580         * config/mips/elf64.h: Same.
11581         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
11582         Remove.
11583         * config/mips/vxworks.h: Ditto.
11584         * config/mips/t-elf: Support crti and crtn.
11585
11586 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
11587
11588         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
11589         INSN_LIST.
11590
11591 2001-08-28  Richard Henderson  <rth@redhat.com>
11592
11593         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
11594         (one_cmplbi2 splitter): Remove redundant test.
11595
11596 2001-08-28  Dale Johannesen  <dalej@apple.com>
11597
11598         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
11599
11600 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
11601
11602         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
11603
11604 2001-08-28  Stan Shebs  <shebs@apple.com>
11605
11606         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
11607         (UNALIGNED_SHORT_ASM_OP): Define.
11608         (UNALIGNED_INT_ASM_OP): Define.
11609
11610 2001-08-28  Will Cohen  <wcohen@redhat.com>
11611
11612         * config/rs6000/rs6000.md (store_multiple): Correct RTL
11613         generation for first set.
11614
11615 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
11616
11617         * flow.c (redirect_edge_succ_nodup): Return new edge.
11618         (try_simplify_condjump): Use new edge.
11619         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
11620
11621         * cse.c (cse_basic_block): Skip note instructions.
11622
11623 2001-08-27  Richard Henderson  <rth@redhat.com>
11624
11625         * combine.c (combine_simplify_rtx): Don't reverse condition
11626         if there is no reverse for the condition.
11627         (simplify_comparison): Don't simplify subregs from INT to FP.
11628
11629         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
11630         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
11631         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
11632         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
11633         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
11634         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
11635
11636 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
11637
11638         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
11639         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
11640         (pushqi1): New.
11641         (adddi_dilshr32, adddi_dishl32): Only data register can be
11642         source for mem destination.
11643
11644         * expmed.c (store_bit_field): Ignore adjustment to bitpos
11645         and use bitnum to decide about register move.
11646
11647 2001-08-27  Richard Henderson  <rth@redhat.com>
11648
11649         * genattr.c (main): Emit state_t even when not doing scheduling.
11650
11651 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
11652             Richard Henderson  <rth@redhat.com>
11653
11654         * gcse.c (reg_first_set, reg_last_set): Replace with ...
11655         (reg_avail_info, current_bb): ... these.
11656         (oprs_unchanged_p, record_last_reg_set_info): Use them.
11657         (compute_hash_table): Likewise.
11658
11659 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
11660
11661         * flow.c (verify_flow_info): Use checksums to verify edges.
11662
11663 2001-08-27  Richard Henderson  <rth@redhat.com>
11664
11665         * genautomata.c (expand_automata): Always create a description.
11666
11667 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
11668
11669         * optabs.c (expand_binop): Correctly handle the carry in multiword
11670         add/subtract operations.
11671
11672 2001-08-27  Fred Fish  <fnf@be.com>
11673
11674         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
11675         __SIZE_TYPE__.
11676
11677 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
11678
11679         * reload.c (find_reloads_toplev): Back out this change:
11680
11681         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
11682
11683         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
11684         mem if the address is a mode_dependent_address_p.
11685
11686 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
11687
11688         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
11689         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
11690         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
11691         RTL constructions.
11692
11693         * genattr.c (main): New variable num_insn_reservations.  Increase
11694         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
11695         pipeline hazard recognizer interface.
11696
11697         * genattrtab.h: New file.
11698
11699         * genattrtab.c: Include genattrtab.h.
11700         (attr_printf, check_attr_test, make_internal_attr,
11701         make_numeric_value): Move protypes into genattrtab.h.  Define them
11702         as external.
11703         (num_dfa_decls): New global variable.
11704         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
11705         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
11706         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
11707         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
11708
11709         * genautomata.c: New file.
11710
11711         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
11712
11713         * sched-int.h: (curr_state): Add the external definition for
11714         automaton pipeline interface.
11715         (haifa_insn_data): Add comments for members blockage and units.
11716
11717         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
11718         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
11719         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
11720         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
11721         TARGET_SCHED_DFA_POST_CYCLE_INSN,
11722         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
11723         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
11724         macros.
11725         (TARGET_SCHED): Use the new macros.
11726
11727         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
11728         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
11729         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
11730         dfa_bubble): New members in gcc_target.sched.
11731
11732         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
11733         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
11734         (insn_queue): Redefine it as pointer to array.
11735         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
11736         INSN_QUEUE_SIZE.
11737         (max_insn_queue_index_macro_value): New variable.
11738         (curr_state, dfa_state_size, ready_try): New varaibles for
11739         automaton interface.
11740         (ready_element, ready_remove, max_issue): New function prototypes
11741         for automaton interface.
11742         (choose_ready): New function prototype.
11743         (insn_unit, blockage_range): Add comments.
11744         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
11745         FUNCTION_UNITS_SIZE == 0.
11746         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
11747         actual_hazard, potential_hazard): Add comments.
11748         (insn_cost): Use cost -1 as undefined value.  Remove
11749         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
11750         pipeline interface.
11751         (ready_element, ready_remove): New functions for automaton
11752         interface.
11753         (schedule_insn): Add new code for automaton pipeline interface.
11754         (queue_to_ready): Add new code for automaton pipeline interface.
11755         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
11756         (debug_ready_list): Print newline when the queue is empty.
11757         (max_issue): New function for automaton pipeline interface.
11758         (choose_ready): New function.
11759         (schedule_block): Add new code for automaton pipeline interface.
11760         Print ready list before scheduling each insn.
11761         (sched_init): Add new code for automaton pipeline interface.
11762         Initiate insn cost by -1.
11763         (sched_finish): Free the current automaton state and finalize
11764         automaton pipeline interface.
11765
11766         * sched-rgn.c: Include target.h.
11767         (init_ready_list, new_ready, debug_dependencies): Add new code for
11768         automaton pipeline interface.
11769
11770         * sched-vis.c: Include target.h.
11771         (get_visual_tbl_length): Add code for automaton interface.
11772         (target_units, print_block_visualization):  Add comments.
11773
11774         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
11775         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
11776         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
11777         (getruntime.o, genautomata.o): New entries.
11778         (genattrtab.o): Add new dependency file genattrtab.h.
11779         (genattrtab): Add new dependencies.  Link it with `libm.a'.
11780         (getruntime.o, hashtab.o): New entries for canadian cross.
11781
11782         * doc/md.texi: Description of automaton based model.
11783
11784         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
11785         Add comments.
11786         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
11787         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
11788         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
11789         TARGET_SCHED_DFA_POST_CYCLE_INSN,
11790         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
11791         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
11792         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
11793         hook descriptions.
11794         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
11795         MAX_DFA_ISSUE_RATE): New macro descriptions.
11796
11797         * doc/contrib.texi: Add dfa based scheduler contribution.
11798
11799         * doc/gcc.texi: Add more information about genattrtab.
11800
11801 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
11802
11803         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
11804         an RTL basic block.
11805
11806 2001-08-27  Richard Henderson  <rth@redhat.com>
11807
11808         * function.c (expand_function_end): Don't init arg_pointer_save_area.
11809         (get_arg_pointer_save_area): New.  Create an init it here.
11810         (fix_lexical_addr): Use it.
11811         * function.h: Declare it.
11812         * builtins.c (expand_builtin_setjmp_receiver): Use it.
11813         * stmt.c (expand_nl_goto_receiver): Use it.
11814
11815 2001-08-27  Richard Henderson  <rth@redhat.com>
11816
11817         * final.c (final_scan_insn): Don't enter APP_ON mode for
11818         empty asm strings.
11819
11820         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
11821         alignment for assemble_integer for DW_EH_PE_aligned.
11822         * except.c (output_function_exception_table): Likewise.
11823
11824 2001-08-26  Andreas Jaeger  <aj@suse.de>
11825
11826         * c-tree.h: Add prototyp for c_sizeof_nowarn.
11827
11828 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
11829
11830         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
11831
11832 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
11833
11834         * config/rs6000/rs6000.c (mask_operand): Rewrite without
11835         bit-shifting loop.
11836         (mask64_operand): Likewise.
11837         (rldic_operand): Delete.
11838         (includes_lshift64_p): Delete.
11839         (includes_rldic_lshift_p): New function.
11840         (includes_rldicr_lshift_p): New function.
11841         (print_operand): Don't call rldic_operand in case 'W'.
11842         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
11843         (includes_lshift64_p): Remove.
11844         (includes_rldic_lshift_p): Declare.
11845         (includes_rldicr_lshift_p): Declare.
11846         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
11847         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
11848         Replace match_operand rldic_operand predicate with
11849         const_int_operand.  Replace includes_lshift64_p condition with
11850         includes_rldic_lshift_p.
11851         <ashldi3_internal 64 bit rldicr patterns>: New.
11852
11853 2001-08-27  Andreas Jaeger  <aj@suse.de>
11854
11855         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
11856         * errors.c: Likewise.
11857         * final.c: Likewise.
11858         * dwarf2asm.c: Likewise.
11859         * doprint.c (checkit): Likewise.
11860         * diagnostic.c: Likewise.
11861         * collect2.c: Likewise.
11862         * calls.c: Likewise.
11863         * c-semantics.c (build_stmt): Likewise.
11864         * c-format.c (status_warning): Likewise.
11865         * c-errors.c (pedwarn_c99): Likewise.
11866         * builtins.c (validate_arglist): Likewise.
11867         * config/pj/pj.c (pj_printf): Likewise.
11868         * fix-header.c: Likewise.
11869         * gcc.c: Likewise.
11870         * gcov.c (fnotice): Likewise.
11871         * gensupport.c (message_with_line): Likewise.
11872         * mips-tfile.c: Likewise.
11873         * protoize.c (notice): Likewise.
11874         * read-rtl.c (fatal_with_file_and_line): Likewise.
11875         * rtl-error.c: Likewise.
11876         * tradcpp.c: Likewise.
11877         * tree.c: Likewise.
11878         * cp/tree.c (build_min_nt): Likewise.
11879         (build_min): Likewise.
11880         * cp/lex.c: Likewise.
11881         * cp/errfn.c: Likewise.
11882         * cp/rtti.c (create_pseudo_type_info): Likewise.
11883
11884 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
11885
11886         * df.c (df_uses_record): Return after recording all uses
11887         in ASM_OPERANDS.
11888
11889 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
11890
11891         * df.c (df_insn_modify): Realloc the INSN table here, if
11892         necessary, here, too.
11893
11894 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
11895
11896         * config/mips/mips.c (mips_function_value): Handle complex return
11897         values.
11898
11899 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
11900
11901         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
11902         unshared.
11903         * reload.c (make_memloc): Copy result if it is still
11904         reg_equiv_memory_loc[regno] on return.
11905         (subst_reloads) [ENABLE_CHECKING]: Check that none of
11906         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
11907         reg_equiv_mem are modified by the substitutions.
11908
11909 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
11910
11911         * predict.c (expensive_function_p): New.
11912         * rtl.h (expensive_function_p): Declare.
11913         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
11914         (use_fast_prologue_epilogue): New static variable.
11915         (expand_prologue): Set it; emit short prologues if unset.
11916         (expand_epilogue): Likewise.
11917
11918 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
11919
11920         * config.gcc: Add stormy16-*-elf case.
11921         * config/stormy16/stormy-abi: New file.
11922         * config/stormy16/stormy16-lib2.c: New file.
11923         * config/stormy16/stormy16-protos.h: New file.
11924         * config/stormy16/stormy16.c: New file.
11925         * config/stormy16/stormy16.h: New file.
11926         * config/stormy16/stormy16.md: New file.
11927         * config/stormy16/t-stormy16: New file.
11928
11929 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
11930
11931         * i386.h (no-accumulate-outgoing-args): Use proper mask.
11932
11933 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
11934
11935         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
11936         descriptor members are pointer size, not constant 4.
11937         * config/rs6000/rs6000.md (define_splits): Remove more unused
11938         constraints.
11939
11940 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11941
11942         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
11943
11944 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
11945
11946         * cp/rtti.c (VPARAMS): Fix parameter.
11947
11948 2001-08-24  Zack Weinberg  <zackw@panix.com>
11949
11950         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
11951         to zero.
11952         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
11953         to switch.
11954         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
11955         in if controlling use of insv.
11956         (extract_bit_field): Likewise, for extv and extzv.
11957
11958 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
11959
11960         * i386.md (movcc peep2): Fix load of 0.
11961
11962 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11963
11964         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
11965         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
11966
11967 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
11968
11969         * c-pragma.h: Move weak_syms and weak_decls...
11970         * varasm.c: ...here.  Now static.
11971         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
11972         depend on HANDLE_PRAGMA_WEAK.
11973
11974         * c-common.c (c_alignof, c_alignof_expr): Move here...
11975         * c-typeck.c: ...from here.
11976         * c-tree.h, c-common.h: Adjust.
11977
11978 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
11979
11980         * config/ia64/ia64.c (rws_update): If !pred, set write_count
11981         instead of incrementing it.
11982
11983         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
11984         asm ready, don't try to move them all into the same array element.
11985
11986 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
11987
11988         * function.c (thread_prologue_and_epilogue_insns): Avoid
11989         fallthru flag on edge to exit.
11990
11991         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
11992
11993         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
11994         dead edges.
11995
11996 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
11997
11998         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
11999         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
12000         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
12001         Remove prototype.
12002
12003 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
12004
12005         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
12006         replace "GNU CC" with "GCC".
12007
12008 2001-08-23  Richard Henderson  <rth@redhat.com>
12009
12010         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
12011         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
12012         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
12013         Need GR between FR and not GR_AND_FR.
12014         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
12015         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
12016         AR regs before GR regs.
12017         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
12018         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
12019         (REGISTER_MOVE_COST): Update.
12020         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
12021
12022 2001-08-23  Richard Henderson  <rth@redhat.com>
12023
12024         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
12025         a register class.
12026
12027 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
12028
12029         * reload1.c (emit_reload_insns): Don't look for notes
12030         on a NULL store_insn.
12031
12032 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12033
12034         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
12035         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
12036         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
12037         format specifier warnings.
12038         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
12039
12040 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
12041
12042         * config/i386/i386-protos.h: Correct declaration of
12043         i386_pe_asm_named_section.
12044
12045 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12046
12047         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
12048         variable i.
12049         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
12050
12051 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
12052
12053         * cpperror.c (print_location): Don't show _Pragma.
12054         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
12055         and file change callback generation here.
12056         (stack_include_file): Update use of cpp_push_buffer.
12057         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
12058         (struct cpp_buffer): Remove type, pfile members.
12059         * cppinit.c (cpp_handle_option): Use free_chain.
12060         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
12061         (skip_escaped_newlines, get_effective_char, lex_percent): Take
12062         a cpp_reader rather than a cpp_buffer.
12063         (skip_escaped_newlines, get_effective_char, skip_block_comment,
12064         skip_line_comment, parse_string, lex_percent, lex_dot,
12065         _cpp_lex_token): Update accordingly.
12066         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
12067         generation here.
12068         (cpp_push_buffer): Update prototype.
12069         (run_directive): Update use of cpp_push_buffer.
12070         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
12071         handle_assertion): Update use of run_directive.
12072         * cpplib.h (enum cpp_buffer_type): Remove.
12073         (cpp_push_buffer): Update prototype.
12074         * fix-header.c (read_scan_file): Update.
12075
12076 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12077
12078         * gcc.c (struct prefix_list): Change prefix to const char *.
12079
12080 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12081
12082         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
12083
12084 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
12085
12086         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
12087         from a new MEM.
12088
12089         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
12090         a squeezable note.
12091         * rtl.h: Adjust.
12092         * ifcvt.c (dead_or_predicable): Adjust.
12093         * loop.c (find_and_verify_loops): Adjust.
12094         * stmt.c (expand_end_case): Adjust.
12095         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
12096         head and end insn pointers in the basic block, not just local copies.
12097         (merge_blocks_move_predecessor_nojumps): Likewise.
12098
12099 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
12100
12101         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
12102         bitmap.h, builtin-types.def, builtins.c, builtins.def,
12103         c-aux-info.c, c-common.c, c-common.def, c-common.h,
12104         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
12105         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
12106         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
12107         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
12108         conditions.h, config.gcc, configure.frag, configure.in,
12109         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
12110         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
12111         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
12112         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
12113         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
12114         emit-rtl.c, errors.c, errors.h, except.c, except.h,
12115         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
12116         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
12117         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
12118         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
12119         gencheck.c, gencodes.c, genconfig.c, genemit.c,
12120         genextract.c, genflags.c, gengenrtl.c, genmultilib,
12121         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
12122         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
12123         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
12124         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
12125         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
12126         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
12127         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
12128         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
12129         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
12130         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
12131         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
12132         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
12133         params.h, predict.c, predict.def, predict.h, prefix.c,
12134         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
12135         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
12136         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
12137         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
12138         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
12139         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
12140         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
12141         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
12142         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
12143         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
12144         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
12145         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
12146         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
12147         xcoffout.h: replace "GNU CC" with "GCC".
12148
12149 2001-08-21  Richard Henderson  <rth@redhat.com>
12150
12151         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
12152         (final_scan_insn): Consider jump tables data even if we have no
12153         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
12154         ADDR_VEC_ALIGN.
12155         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
12156         (ASM_OUTPUT_CASE_END): Remove.
12157         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
12158         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
12159         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
12160
12161 2001-08-21  Richard Henderson  <rth@redhat.com>
12162
12163         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
12164         at barrier insns.  Emit stop bits before barriers.
12165
12166         * flow.c (flow_find_cross_jump): Don't consider unconditional
12167         return insns for commoning.
12168
12169         * final.c (compute_alignments): Fix typo.
12170
12171         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
12172         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
12173         (store_bit_field): Use mode_for_extraction more places.
12174         (extract_bit_field): Likewise.
12175
12176 2001-08-21  Zack Weinberg  <zackw@panix.com>
12177
12178         * caller-save.c: Don't include insn-codes.h.
12179         (reg_save_code, reg_restore_code): Make arrays of int.
12180         All uses updated to match.
12181         (insert_save, insert_restore): No need to initialize "code"
12182         variable upon declaration.
12183         * Makefile.in: update dependencies; fix typo in clean rule.
12184
12185 2001-08-21  Richard Henderson  <rth@redhat.com>
12186
12187         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
12188         (merge_if_block): Handle fallout from same.
12189
12190 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12191
12192         * builtins.c (type_to_class): Fix typo in last change.
12193
12194 2001-08-21  Richard Henderson  <rth@redhat.com>
12195
12196         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
12197         ia64_asm_output_label.
12198
12199         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
12200         copy of gp while the real gp register contains garbage.
12201
12202 2001-08-21  Zack Weinberg  <zackw@panix.com>
12203
12204         * expmed.c (mode_for_extraction): New function.
12205         (store_bit_field, extract_bit_field): Use it.
12206         * expr.h: Prototype it and provide an enum for its first argument.
12207
12208         * combine.c, function.c, recog.c: Don't include insn-codes.h.
12209         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
12210         and digging through the insn_data tables.
12211         * Makefile.in: Update dependencies.
12212
12213 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
12214
12215         * cppfiles.c (stack_include_file): line-map.c now handles include
12216         depth.
12217         (handle_missing_handler): Similarly.
12218         (_cpp_execute_include): Similarly.
12219         (_cpp_pop_file_buffer): Similarly.
12220         * cpphash.h (struct cpp_reader): Remove system_include_depth,
12221         buffer_stack_depth and include_depth.
12222         * cpplib.c (do_include_common): line-map.c now handles include depth.
12223         (cpp_push_buffer): Similarly.
12224         (_cpp_pop_buffer): Similarly.
12225         * cppmacro.c (builtin_macro): Update.
12226         * line-map.c (init_line_maps): Set depth.
12227         (add_line_map): Increment "used" earlier.  Update and use the
12228         include depth.
12229         (trace_include): Use the include depth.
12230         * line-map.h (struct line_maps): New member depth.
12231
12232 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
12233
12234         * cppfiles.c (stack_include_file): Don't handle -H here.
12235         * cppinit.c (cpp_start_read): Set include tracing after
12236         cpp_post_options and after stacking the main file.
12237         * line-map.c (trace_include): New.
12238         (init_line_maps, add_line_map): Update.
12239         * line-map.h (struct line_maps): New member trace_includes.
12240
12241 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
12242
12243         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
12244         * cppfiles.c (stack_include_file): Only stack a file if there
12245         is something to do.  Return a boolean indicating whether a
12246         buffer was stacked or not.
12247         (_cpp_execute_include): Similarly.
12248         (_cpp_read_file): Similarly.
12249         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
12250
12251 2001-08-21  Sam Steingold  <sds@gnu.org>
12252
12253         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
12254         (RECACHE): keep obufp_before_macroname up to date
12255
12256 2001-08-21  Zack Weinberg  <zackw@panix.com>
12257
12258         * stmt.c: Don't include insn-codes.h.
12259         (expand_end_case): Machine specific logic moved to expr.c.
12260         No need to worry about __builtin_classify_type.
12261         (check_for_full_enumeration_handling, emit_case_nodes):
12262         Kill #if 0 blocks.
12263
12264         * builtins.o (expand_builtin_classify_type): Split up so code
12265         can be shared with fold_builtin_classify_type.
12266         (type_to_class, fold_builtin_classify_type): New functions.
12267         (fold_builtins): Handle __builtin_classify_type.
12268
12269         * expr.c (do_tablejump): Now static.
12270         (case_values_threshold, try_casesi, try_tablejump): New;
12271         code mostly from stmt.c (expand_end_case).
12272         (expr.h): Update prototypes.
12273
12274         * Makefile.in (stmt.o): Update dependencies.
12275
12276 2001-08-21  Will Cohen  <wcohen@redhat.com>
12277
12278         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
12279         declaration of variable i.
12280         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
12281         declaration of variable i.
12282
12283 2001-08-21  Richard Henderson  <rth@redhat.com>
12284
12285         * crtstuff.c: Fix thinko last change.  Move list tails to start
12286         of CRT_END section.  Tidy ifdefs.
12287         (__EH_FRAME_BEGIN__): Always static for ELF.
12288         (__do_global_ctors_1): Rename from __frame_dummy.
12289         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
12290         name change; don't hide __EH_FRAME_BEGIN__.
12291
12292 2001-08-21  Richard Henderson  <rth@redhat.com>
12293
12294         * gdbinit.in: Move break on exit after break on fancy_abort.
12295
12296         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
12297         sized types.
12298
12299 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
12300
12301         * cpphash.h (_cpp_push_next_buffer): New.
12302         * cppinit.c (do_includes): Remove.
12303         (push_include, free_chain, _cpp_push_next_buffer): New.
12304         (cpp_start_read): Use them to rework command line option handling.
12305         (cpp_handle_option): Combine handling of -include and -imacros.
12306         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
12307         appropriate.  Always insert missing \n at EOF.
12308         * cpplib.c (start_directive): Get the directive position right.
12309         * cppmain.c (cb_file_change): Always print the first line, unless
12310         preprocessed.
12311
12312 2001-08-20  Andreas Jaeger  <aj@suse.de>
12313
12314         * profile.c (compute_branch_probabilities): Remove extra new-line
12315         in error message.
12316         * flow.c (verify_flow_info): Likewise.
12317
12318 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
12319
12320         * basic-block.h (basic_block): Add new field 'flags'.
12321         (BB_REACHABLE): Define.
12322         (expunge_block): Declare.
12323         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
12324         (EXIT_BLOCK_PTR): Ditto.
12325         (expunge_block): Remove static declaration.
12326         (cleanup_cfg): Clear bb->aux on every basic block.
12327         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
12328         computing reachability.
12329         (delete_unreachable_blocks): Delete block b if b->flags has
12330         BB_REACHABLE unset.
12331
12332 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
12333
12334         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
12335
12336 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12337
12338         * sparc.c (sparc_variable_issue): Fix typo in last change.
12339
12340 2001-08-20  Richard Henderson  <rth@redhat.com>
12341
12342         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
12343
12344 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12345
12346         * pa.h (RETURN_IN_MEMORY): Improve comment.
12347
12348 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
12349
12350         * doc/invoke.texi (Profiling options): Clarify the interactions
12351         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
12352
12353 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
12354
12355         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
12356         command.
12357
12358 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12359
12360         * gcc.c (make_relative_prefix): Allocate a sufficiently large
12361         buffer.
12362
12363 2001-08-20  Richard Henderson  <rth@redhat.com>
12364
12365         * final.c (end_final): Fix typo last change.
12366
12367 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
12368
12369         * cppinit.c (init_standard_includes): The returned buffer
12370         is already malloc-ed.
12371         * gcc.c (add_prefix): Similarly.
12372         * prefix.c (translate_name): Update to support clear buffer
12373         ownership rules.
12374         (update_path): Similarly.  Be sure to free any newly allocated
12375         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
12376         (tr): New function.
12377         * prefix.h (update_path): Update prototype and document.
12378         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
12379         up and update to new buffer ownership rules.
12380         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
12381
12382 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
12383
12384         * final.c (compute_alignments): New function.
12385         (init_insn_lengths): Do not care label_align.
12386         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
12387         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
12388         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
12389         (shorted_branches): Realloc label_align array; do
12390         not call init_insn_lengths; Do not care about loop alignments.
12391         * output.h (compute_alignments): Declare.
12392         * toplev.c (rest_of_compilation): Call compute_alignments.
12393         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
12394
12395         * predict.c (block_info_def): Add npredecesors, remove nvisited;
12396         change visited to tovisit.
12397         (propagate_freq): Use faster traversing algorithm.
12398         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
12399         to tovisit; reverse meaning.
12400
12401         * predict.c (struct block_info_def): Remove nvisited.
12402         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
12403         (estimate_bb_frequencies): Call mark_dfs_back_edges.
12404
12405 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
12406
12407         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
12408         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
12409         (TARGET_FUSED_MADD): New.
12410         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
12411         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
12412         the multiply-add instructions.
12413
12414 2001-08-19  Richard Henderson  <rth@redhat.com>
12415
12416         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
12417         is aligned to pointer size.
12418
12419 2001-08-19  Richard Henderson  <rth@redhat.com>
12420
12421         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
12422         display markers during final schedule.
12423
12424 2001-08-19  Richard Henderson  <rth@redhat.com>
12425
12426         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
12427
12428 2001-08-19  Richard Henderson  <rth@redhat.com>
12429
12430         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
12431         in the same string.
12432         (ASM_NAME_TO_STRING): Remove.
12433         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
12434         in the same string.  Remove support for expressions.
12435
12436 2001-08-19  Richard Henderson  <rth@redhat.com>
12437
12438         * config/i386/i386.md (tablejump): Make an expander; handle
12439         pic relative addressing here.
12440         (tablejump_1): Rename from tablejump_pic.
12441         (casesi): Remove.
12442
12443 2001-08-19  Richard Henderson  <rth@redhat.com>
12444
12445         * regclass.c (fix_register): Fix typo.
12446
12447 2001-08-18  Richard Henderson  <rth@redhat.com>
12448
12449         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
12450         (struct _Unwind_Context): Expand br_loc to hold it.
12451         (uw_frame_state_for): Handle leaf functions better.
12452         (uw_update_reg_address): Update for br_loc change.
12453
12454 2001-08-18  Richard Henderson  <rth@redhat.com>
12455
12456         * crtstuff.c: Move list heads before code that uses them.
12457         (__JCR_LIST__): Remove initial null.
12458         (frame_dummy, __frame_dummy): Do java registration here ...
12459         (__do_global_ctors_aux): ... not here.
12460
12461         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
12462         (__do_global_dtors_aux): Update to match.
12463         (__JCR_LIST__, __do_jv_register_classes): New.
12464         (.init): Call it.
12465         * config/ia64/crtend.asm (__JCR_END__): New.
12466         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
12467         instead of an indirect LTOFF22 reloc.
12468
12469 2001-08-18  Richard Henderson  <rth@redhat.com>
12470
12471         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
12472         * regclass.c (init_reg_sets_1): Fix typo.
12473         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
12474         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
12475         (ia64_compute_frame_size): Make ar.unat live when in use.
12476         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
12477         for ar.pfs; remove ar.unat handling.
12478         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
12479         call-saved.
12480         (PREDICATE_CODES): Add ar_pfs_reg_operand.
12481         * config/ia64/ia64-protos.h: Update decls.
12482         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
12483         (sibcall_pic): Likewise.
12484
12485 2001-08-18  Richard Henderson  <rth@redhat.com>
12486
12487         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
12488         pred_rel_mutex when searching for insn_group_barrier.
12489         * config/ia64/ia64.md (cycle_display): Combine the expander
12490         and insn patterns.
12491
12492         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
12493         bit before asm as needed.
12494
12495 2001-08-18  Richard Henderson  <rth@redhat.com>
12496
12497         * timevar.def (TV_MACH_DEP): New.
12498         * toplev.c (rest_of_compilation): Use it.
12499         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
12500
12501 2001-08-18  Zack Weinberg  <zackw@panix.com>
12502
12503         * unwind-dw2.c (execute_stack_op): Add default aborts to
12504         the inner switches to prevent warnings.
12505
12506 2001-08-18  Richard Henderson  <rth@redhat.com>
12507
12508         * timevar.h (struct timevar_time_def): Change element type to float.
12509         (ticks_to_msec, clocks_to_msec): Likewise.
12510         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
12511         (get_time): Likewise.
12512         (timevar_print): Adjust zero check and printing to match.
12513
12514 2001-08-18  Zack Weinberg  <zackw@panix.com>
12515
12516         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
12517         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
12518         Eliminate overfull or underfull hboxes.
12519
12520 2001-08-18  Zack Weinberg  <zackw@panix.com>
12521
12522         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
12523
12524 2001-08-18  Zack Weinberg  <zackw@panix.com>
12525
12526         * haifa-sched.c: Convert to target hooks.  Macros replaced
12527         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
12528         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
12529         MD_SCHED_FINISH, and HAVE_cycle_display.
12530         * target-def.h (TARGET_SCHED_ADJUST_COST,
12531         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
12532         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
12533         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
12534         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
12535         New hook #defines to be overridden.
12536         (TARGET_SCHED): Bring them all together.
12537         (TARGET_INITIALIZER): Update.
12538         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
12539         instead of 'struct rtx_def *' throughout.
12540         (struct sched): New set of hooks for the scheduler.
12541         * Makefile.in (haifa-sched.o): Depend on target.h.
12542         * doc/tm.texi: Document the new scheduler hooks, together in
12543         their own section, instead of scattered around.
12544         Fix a bunch of underfull/overfull hboxes.
12545
12546         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
12547         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
12548         sparc.h: Don't define any of the old scheduler macros.
12549
12550         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
12551         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
12552         sparc.c: Create hook functions from code extracted from
12553         corresponding target header, or make existing hooks static, as
12554         appropriate.  Set the appropriate entries in targetm.
12555
12556         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
12557         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
12558         rs6000-protos.h, s390-protos.h, sparc-protos.h:
12559         Remove prototypes for functions which are now static.
12560
12561         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
12562         related gunk; the Haifa scheduler is now the only choice.
12563
12564 2001-08-18  Zack Weinberg  <zackw@panix.com>
12565
12566         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
12567         * genopinit.c: Put floating point divide insns in sdiv_optab.
12568         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
12569         * config/gofast.h, config/c4x/c4x.h,
12570         config/ia64/hpux_longdouble.h, config/mips/mips.h,
12571         config/pa/long_double.h, config/rs6000/sysv4.h,
12572         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
12573         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
12574         (init_optabs): Use init_optabv for overflow-trapping optabs.
12575         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
12576         cmp_optab RTX codes so have_insn_for can find them.
12577
12578         * optabs.c (expand_simple_binop, expand_simple_unop,
12579         have_insn_for, gen_sub3_insn): New interfaces.
12580         * expr.h: Prototype new functions.
12581         (enum optab_methods): Move here from optabs.h.
12582
12583         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
12584         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
12585         Use new functions instead of working directly with optabs.
12586         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
12587         unroll.c: Don't include optabs.h.
12588         * caller-save.c, combine.c, function.c, stmt.c: Just include
12589         insn-codes.h, not optabs.h.
12590         * Makefile.in: Update dependencies.
12591
12592         * combine.c (make_compound_operation, simplify_comparison):
12593         Fix typos testing for this or that instruction.
12594
12595 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
12596
12597         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
12598         generating libgcc.a.
12599
12600 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12601
12602         * except.c (TYPE_HASH): Delete.
12603
12604         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
12605         HOST_WIDE_INT.
12606
12607         * tree.c (TYPE_HASH): Delete.
12608
12609         * tree.h (TYPE_HASH): Define.
12610
12611 2001-08-18  Graham Stott  <grahams@redhat.com>
12612
12613         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
12614         define_split.
12615         (adddi3_internal_2+2): Likewise.
12616         (eh_set_lr_di+1): Likewise.
12617
12618 2001-08-17  Richard Henderson  <rth@redhat.com>
12619
12620         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
12621         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
12622         * dwarf2asm.c: ... here.
12623         * dwarfout.c: Remove them.
12624
12625         * varasm.c (assemble_integer): Add align parameter.
12626         (assemble_real, output_constant, output_constructor): Likewise.
12627         * output.h: Update decls.
12628         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
12629         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
12630         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
12631         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
12632         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
12633         Update all callers.
12634
12635         * final.c (end_final): Abort profile block generation if we
12636         haven't layed it out properly.
12637         * output.h (assemble_eh_integer): Remove stale decl.
12638         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
12639         (min_align): New.
12640         (assemble_integer): Handle unaligned data.
12641         (assemble_real): Abort on unaligned data.
12642         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
12643         anything useful.
12644         (default_dtor_section_asm_out_destructor): Use assemble_align.
12645         (default_named_section_asm_out_constructor): Likewise.
12646         (default_ctor_section_asm_out_constructor): Likewise.
12647         * config/darwin.c (machopic_asm_out_constructor): Likewise.
12648         (machopic_asm_out_destructor): Likewise.
12649         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
12650         (nextstep_asm_out_destructor): Likewise.
12651         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
12652         (vms_asm_out_destructor): Likewise.
12653
12654 2001-08-17  Richard Henderson  <rth@redhat.com>
12655
12656         * config/mips/iris6.h (TARGET_IRIX6): New.
12657         (current_section_name, current_section_flags): New.
12658         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
12659         (MAX_OFILE_ALIGNMENT): New.
12660         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
12661         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
12662         (copy_file_data): Split out from
12663         (mips_asm_file_end): ... here.
12664         (mips_asm_file_start): Remove extra .section directive.  Use
12665         tmpfile instead of mips_make_temp_file.
12666         (mips_unique_section): Use const char * as needed for warnings.
12667         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
12668         re-add align parameter.
12669         (iris6_asm_named_section): New.
12670         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
12671         (iris6_asm_output_align, iris6_section_align_1): New.
12672         (iris6_asm_file_start, iris6_asm_file_end): New.
12673         * config/mips/mips-protos.h: Update decls.
12674
12675 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
12676
12677         * doc/install.texi (Install GCC): Add links to build status pages.
12678         (Specific): Ditto.
12679         (Final install): Ditto; request updates for specific info
12680
12681 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
12682
12683         * cpperror.c (print_location):  Don't take a file name; use the
12684         line map instead.
12685         (_cpp_begin_message): Similarly.
12686         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
12687         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
12688         (cpp_pedwarn_with_file_and_line): Remove.
12689         * cppfiles.c (stack_include_file): Update; set filename to stdin
12690         here when appropriate.
12691         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
12692         (_cpp_begin_message): Don't take a file name.
12693         * cppinit.c: Add comment.
12694         * cpplex.c: Fix end-of-directive indicator.
12695         * cpplib.c: Don't include intl.h.
12696         (run_directive, do_diagnostic): Update.
12697         (do_line): Update to not use nominal_fname.
12698         (cpp_push_buffer): Don't take a filename.
12699         * cpplib.h (struct ht): Remove.
12700         (cpp_push_buffer): Don't take a filename.
12701         (cpp_pedwarn_with_file_and_line): Remove.
12702         * cppmacro.c (struct cpp_macro): Remove file.
12703         (builtin_macro): Update.
12704         (_cpp_create_definition): Update.
12705         * cppmain.c: Correct comment.
12706         * fix-header.c (read_scan_file): Update.
12707
12708 2001-08-17  Kazu Hirata  <kazu@hxi.com>
12709
12710         * sbitmap.c: Fix comment formatting.
12711         * sched-deps.c: Likewise.
12712         * sibcall.c: Likewise.
12713         * simplify-rtx.c: Likewise.
12714         * ssa.c: Likewise.
12715         * ssa-ccp.c: Likewise.
12716         * stor-layout.c: Likewise.
12717         * timevar.c: Likewise.
12718         * toplev.c: Likewise.
12719         * unwind-dw2.c: Likewise.
12720         * unwind-dw2-fde.c: Likewise.
12721         * varasm.c: Likewise.
12722
12723 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12724
12725         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
12726         or larger than an integer in memory.
12727
12728 2001-08-17  Zack Weinberg  <zackw@panix.com>
12729
12730         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
12731         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
12732         * rtl.h: Don't forward-declare union tree_node here.  Don't
12733         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
12734         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
12735         and tree respectively.
12736         * tree.h: Don't forward-declare struct rtx_def here.  Don't
12737         typedef tree here.  Change all uses of struct rtx_def *,
12738         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
12739         and tree respectively.
12740
12741 2001-08-17  Richard Henderson  <rth@redhat.com>
12742
12743         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
12744         config/mips/openbsd.h: Fix typos last change.
12745
12746 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12747
12748         * doc/invoke.texi (Optimize Options): The default for
12749         -finline-limit is 600.
12750
12751 2001-08-17  Richard Henderson  <rth@redhat.com>
12752
12753         * varasm.c (text_section): Allow TEXT_SECTION to override the
12754         printing of TEXT_SECTION_ASM_OP.
12755         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
12756         (DATA_SECTION, BSS_SECTION): Remove.
12757         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
12758         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
12759         Rename from s/_NAME//.
12760         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
12761         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
12762         (TEXT_SECTION): ... here.  New.
12763         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
12764         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
12765         * config/mips/openbsd.h: Likewise.
12766         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
12767         (mips_asm_file_end): Likewise test.
12768         (mips_output_function_epilogue): Likewise.  Switch back to data
12769         section after emitting the function.
12770
12771         * doc/tm.texi (Sections): Document TEXT_SECTION.
12772
12773 2001-08-17  Richard Henderson  <rth@redhat.com>
12774
12775         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
12776         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
12777
12778 2001-08-17  Richard Henderson  <rth@redhat.com>
12779
12780         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
12781         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
12782         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
12783         Add aligned attribute.
12784
12785 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
12786
12787         * config/sh/sh.md: Add modes to unspecs in first insn to match
12788         those in the second.
12789
12790         * Makefile.in: Fix collect2 copy for Cygwin.
12791
12792 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
12793
12794         Install the proper patch.
12795         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
12796         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
12797         (expand_function_start): Likewise.
12798         * stmt.c (expand_decl): Likewise.
12799         * varasm.c (make_decl_rtx): Likewise.
12800
12801 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
12802
12803         * final.c: Undo my previous accidental checkin.
12804         * output.h: Likewise.
12805         * tm.texi: Likewise.
12806
12807 2001-08-16  Richard Henderson  <rth@redhat.com>
12808
12809         * varasm.c (named_section_flags): Remove align parameter.
12810         * varasm.c, dwarf2out.c: Update all callers.
12811         * output.h: Update prototypes.
12812
12813         * target.h (target.asm_out.named_section): Remove align parameter.
12814         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
12815         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
12816         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
12817         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
12818         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
12819
12820         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
12821         (get_named_section_flags, set_named_section_flags): New.
12822         (named_section_flags): Use them.
12823         (named_section): Do decl vs section flags check here...
12824         (default_section_type_flags): ... not here.
12825         (init_varasm_once): Create in_named_htab.
12826         (resolve_unique_section): Mark reloc unused.
12827
12828 2001-08-16  Richard Henderson  <rth@redhat.com>
12829
12830         * varasm.c (force_const_mem): Keep pool alignment in bits.
12831         (output_constant_pool): Use assemble_align.
12832
12833 2001-08-16  Zack Weinberg  <zackw@panix.com>
12834
12835         * doc/tm.texi: Remove extra @table command.
12836
12837 2001-08-16  Zack Weinberg  <zackw@panix.com>
12838
12839         * final.c (shorten_branches): Clear the end of the label_align
12840         array only if we made it larger.  Break up messy expressions
12841         for clarity.
12842
12843         * diagnostic.c (internal_error): Check for error recursion
12844         before doing ICE suppression.
12845
12846         * timevar.c: Timing variables now count in milliseconds.
12847         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
12848         (get_time): Not here.
12849         (timevar_print): Don't print any timer whose user, cpu, and
12850         wall times are all zero as displayed.
12851         * timevar.h: Update comment aboout units.  Make timevar
12852         counters unsigned.
12853
12854 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
12855
12856         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
12857         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
12858         (expand_function_start): Likewise.
12859         * stmt.c (expand_decl): Likewise.
12860         * varasm.c (make_decl_rtx): Likewise.
12861
12862 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
12863
12864         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
12865         (finalize_record_size): Don't set TYPE_USER_ALIGN.
12866
12867 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12868
12869         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
12870         variables.
12871
12872 2001-08-16  Andreas Jaeger  <aj@suse.de>
12873
12874         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
12875         prototype.
12876
12877 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
12878
12879         * rtl.h (only_sets_cc0_p): New prototype.
12880         * jump.c (sets_cc0_p): Handle INSN.
12881         (only_sets_cc0_p): New function.
12882         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
12883         (tidy_fallthru_edge): Likewise.
12884         * integrate.c (copy_insn_list): Likewise.
12885         * unroll.c (unroll_loop): Likewise.
12886         (copy_loop_body): Likewise.
12887
12888 2001-08-15  Jason Eckhardt  <jle@redhat.com>
12889
12890         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
12891
12892 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
12893
12894         * predict.c (struct block_info_def): Remove nvisited.
12895         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
12896         (estimate_bb_frequencies): Call mark_dfs_back_edges.
12897
12898         * i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium
12899         (ix86_adjust_cost): Teach scheduler that latency to load operand can
12900         be masked.
12901
12902 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
12903
12904         * predict.def: Update hitrates.
12905
12906 2001-08-15  Richard Henderson  <rth@redhat.com>
12907
12908         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
12909
12910 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
12911
12912         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
12913         note from its associated jump.
12914
12915 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
12916
12917         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
12918         also on 64-bit s390x targets.
12919
12920 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
12921
12922         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
12923         function.
12924         (arm_expand_prologue): Handled nested functions which take a
12925         variable argument list.
12926         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
12927         macro with an invocation of
12928         arm_compute_initial_elimination_offset.
12929         * config/arm/arm-protos.h: Prototype
12930         arm_compute_initial_elimination_offset.
12931
12932 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12933
12934         * doc/install.texi (Specific, avr): Fix markup.
12935         (Specific, c4x): Ditto.
12936
12937 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12938
12939         * predict.c (dump_prediction): Change `bool' parameter to `int'.
12940
12941 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
12942
12943         * Makefile.in (OBJS): Add rtl-error.o
12944         (rtl-error.o): New rule.
12945         (diagnostic.o): Adjust dependency.
12946         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
12947         error_for_asm, _fatal_insn, _fatal_insn_not_found,
12948         warning_for_asm): Move to...
12949         rtl-error.c: ...here.  New file.
12950
12951 2001-08-14  Richard Henderson  <rth@redhat.com>
12952
12953         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
12954         if USING_SJLJ_EXCEPTIONS.
12955
12956 2001-08-14  Steve Ellcey <sje@cup.hp.com>
12957
12958         * tlink.c (scan_linker_output): Check string for unsatisfied in
12959         addition to undefined and unresolved.
12960
12961 2001-08-14  Graham Stott  <grahams@redhat.com>
12962
12963         * libgcc2.c (*): Replace EH_FRAME_SECTION with
12964         EH_FRAME_SECTION_NAME.
12965
12966 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
12967
12968         * genattrtab.c (simplify_test_exp_in_temp): New function.
12969         (simplify_test_exp): Avoid explicit use of temporary obstack.
12970         (simplify_cond, insert_right_side, evaluate_eq_attr,
12971         simplify_and_tree, simplify_or_tree, eliminate_known_true):
12972         Use simplify_test_exp_in_temp.
12973         (optimize_attrs): Iterate until expression stabilizes.
12974
12975 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
12976
12977         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
12978         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
12979
12980 2001-08-13  Richard Henderson  <rth@redhat.com>
12981
12982         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
12983         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
12984         * config/arm/conix-elf.h: Likewise.
12985
12986 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
12987
12988         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
12989         in gcc.c.
12990         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
12991
12992         * gcse.c (hash_scan_set): Expressions that are set as part of
12993         jump instructions are not available.
12994
12995 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
12996
12997         * config/s390/s390.c (print_operand, s390_function_prologue,
12998         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
12999
13000 2001-08-13  Richard Henderson  <rth@redhat.com>
13001
13002         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
13003         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
13004         * doc/tm.texi (Exception Region Output): Document it.
13005
13006 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
13007
13008         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
13009         DWARF2 instead of stabs by default.
13010
13011 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
13012
13013         * config/rs6000/rs6000.c: Include optabs.h.
13014
13015 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
13016
13017         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
13018         save/restore routines.
13019         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
13020
13021 2001-08-13  Andreas Jaeger  <aj@suse.de>
13022
13023         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
13024         the english is correct.
13025
13026 2001-08-13  Zack Weinberg  <zackw@panix.com>
13027
13028         * expr.h: Split out optab- and libfunc-related code to...
13029         * optabs.h, libfuncs.h: ... these new headers.
13030
13031         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
13032         (OPTABS_H): New.
13033         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
13034         dependencies.
13035         * mkconfig.sh: Don't include insn-codes.h from config.h.
13036
13037         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
13038         enum insn_code is available.  Move reload_in_optab and
13039         reload_out_optab array declarations to optabs.h.
13040         * regmove.c (gen_add3_insn): Move to optabs.c, export from
13041         there, prototype in expr.h.
13042         * gencodes.c: Cleanup: zap global variables, don't use
13043         printf where puts will do, don't bother defining MAX_INSN_CODE
13044         which nothing uses, let CODE_FOR_nothing get its value implicitly.
13045
13046         * genemit.c, genopinit.c: Include optabs.h in generated file.
13047         * genoutput.c: Include insn-codes.h in generated file.
13048         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
13049         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
13050         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
13051         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
13052         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
13053         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
13054         Include optabs.h.
13055         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
13056         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
13057         config/m88k/m88k.c, config/sparc/sparc.c:
13058         Include libfuncs.h.
13059         * reload.c: Include expr.h and optabs.h before reload.h.
13060         * config/alpha/alpha.c: Include tree.h before reload.h.
13061         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
13062         and reload.h in that order.
13063         * config/sparc/sparc.c: Include debug.h.
13064         * recog.c: Include insn-codes.h.
13065
13066 2001-08-13  Andreas Jaeger  <aj@suse.de>
13067
13068         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
13069         s390*linux.
13070
13071 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
13072
13073         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
13074         * gcc.c (init_spec): Fix typo in comment.
13075         * varasm.c (data_section): Fix typo in comment.
13076
13077 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
13078
13079         * predict.c (dump_prediction): New argument "USED".
13080         (combine_predictions_for_insn): Determine the used heuristics,
13081         output the case no heuristic applied.
13082         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
13083
13084 2001-08-13  Andreas Jaeger  <aj@suse.de>
13085
13086         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
13087         register %rip.
13088
13089 2001-08-13  Kazu Hirata  <kazu@hxi.com>
13090
13091         * jump.c: Fix formatting.
13092
13093 2001-08-13  Kazu Hirata  <kazu@hxi.com>
13094
13095         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
13096         length.
13097
13098 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
13099
13100         * loop.c (check_dbra_loop): Use condjump_label to compute
13101         jump_label.
13102
13103         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
13104         to better document the files they're in.
13105
13106 2001-08-12  Zack Weinberg  <zackw@panix.com>
13107
13108         * recog.h (struct insn_operand_data): Shrink 'mode' field
13109         to 16 bits.
13110
13111 2001-08-12  Kazu Hirata  <kazu@hxi.com>
13112
13113         * gcc.c: Fix comment formatting.
13114         * gccspec.c: Likewise.
13115         * gcov.c: Likewise.
13116         * gcse.c: Likewise.
13117         * genemit.c: Likewise.
13118         * gengenrtl.c: Likewise.
13119         * genrecog.c: Likewise.
13120         * gensupport.c: Likewise.
13121         * ggc-page.c: Likewise.
13122         * global.c: Likewise.
13123         * graph.c: Likewise.
13124         * ifcvt.c: Likewise.
13125         * integrate.c: Likewise.
13126         * lcm.c: Likewise.
13127         * libgcc2.c: Likewise.
13128         * loop.c: Likewise.
13129         * mbchar.c: Likewise.
13130         * optabs.c: Likewise.
13131         * predict.c: Likewise.
13132         * prefix.c: Likewise.
13133         * profile.c: Likewise.
13134         * protoize.c: Likewise.
13135         * real.c: Likewise.
13136         * recog.c: Likewise.
13137         * regclass.c: Likewise.
13138         * regmove.c: Likewise.
13139         * reg-stack.c: Likewise.
13140         * reload1.c: Likewise.
13141         * resource.c: Likewise.
13142         * rtlanal.c: Likewise.
13143         * rtl.c: Likewise.
13144
13145 2001-08-12  Kazu Hirata  <kazu@hxi.com>
13146
13147         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
13148         a tree representing a constant is passed to the macro.
13149
13150 2001-08-12  Richard Henderson  <rth@redhat.com>
13151
13152         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
13153         (rs6000_elf_asm_out_destructor): New.
13154         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
13155         (DTORS_SECTION_ASM_OP): Remove.
13156         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13157         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
13158
13159 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
13160
13161         Revert:
13162         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13163         * gcc.c (set_collect_gcc_options): New function, split out from
13164         main.
13165         Ignore elided switches.
13166         (do_spec_1): Invoke before executing command.
13167         (set_input): Export.
13168         Move declaration ...
13169         * gcc.h (set_input): ... here.
13170         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
13171         file.
13172
13173 2001-08-12  Richard Henderson  <rth@redhat.com>
13174
13175         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
13176         thinko wrt TARGET_RELOCATABLE.
13177
13178 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
13179
13180         * fix-header.c (cb_file_change): Update prototype.
13181
13182 2001-08-11  Zack Weinberg  <zackw@panix.com>
13183
13184         * toplev.c (set_float_handler): Make static.
13185         * toplev.h: Don't prototype set_float_handler.
13186
13187         * simplify-rtx.c: Don't include setjmp.h.
13188         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
13189         New functions.
13190         (simplify_unary_operation, simplify_binary_operation): Use them,
13191         via do_float_handler.
13192
13193         * fold-const.c: Don't include setjmp.h.
13194         (exact_real_inverse_1): New function.
13195         (exact_real_inverse): Use it, via do_float_handler.
13196
13197         * varasm.c: Don't include setjmp.h.
13198         (assemble_real_1): New function.
13199         (assemble_real): Use it, via do_float_handler.
13200         Call internal_error if we get a trap here.
13201
13202         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
13203         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
13204
13205 2001-08-11  Zack Weinberg  <zackw@panix.com>
13206
13207         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
13208         STACK_BOUNDARY if not already defined.
13209
13210         * calls.c, function.c, reload1.c, explow.c: Don't default
13211         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
13212         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
13213
13214         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
13215         to run-time test.
13216
13217         * doc/tm.texi: Document that STACK_BOUNDARY is required;
13218         clarify difference between it and PREFERRED_STACK_BOUNDARY.
13219
13220 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
13221
13222         * cppmacro.c (enter_macro_context): Push macro expansions even
13223         if empty.
13224
13225 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13226
13227         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
13228         (rs6000_elf_section_type_flags): Actually return a value.
13229
13230 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
13231
13232         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
13233         Clean up code: add missing comments and prototypes, fix warnings,
13234         remove obsolete code, fix spacing to conform to coding style.
13235
13236 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
13237
13238         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
13239         and TARGET_ASM_CLOSE_PAREN.
13240         (regclass_map): CC register belongs to class NO_REGS.
13241         (legitimize_pic_address): Don't generate unnecessary moves
13242         (to avoid confusing loop optimization).
13243         (check_and_change_labels): Replace jump_long by indirect_jump.
13244         (s390_final_chunkify): Don't start a new literal pool on section
13245         switch in 64-bit code.
13246         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
13247
13248         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
13249         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
13250         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
13251         modes correctly.
13252         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
13253         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
13254         (CONST_COSTS): Fixed incorrect costs.
13255
13256         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
13257         Use emit_jump instead of emit_jump_insn (gen_jump).
13258         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
13259         (to avoid confusing flow analysis).
13260         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
13261         (casesi, casesi_jump): New.
13262         (jump_long): Removed.  Functionality merged into indirect_jump.
13263         (indirect_jump): Accept address_operand, not just register_operand.
13264         (cjump_long, icjump_long): Use same logic as indirect_jump.
13265         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
13266         Fixed broken setjmp/longjmp handling.
13267         (do_builtin_setjmp_setup): Removed.
13268
13269         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
13270         broken GNU as versions that don't accept .quad with large
13271         negative values.  Use hexadecimal output instead.
13272         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
13273         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
13274         FUNCTION_EPILOGUE): Removed.  Now in targetm.
13275
13276         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
13277
13278         * config/s390/fixdfdi.h: Add missing copyright statement.
13279         Fix type conflicts on 64-bit.  Add missing SFmode routines.
13280
13281         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
13282         email address.
13283
13284 2001-08-11  Richard Henderson  <rth@redhat.com>
13285
13286         * rtl.h (REG_EH_RETHROW): Remove.
13287         * rtl.c (reg_note_name): Update.
13288         * combine.c (distribute_notes): Don't check for it.
13289
13290 2001-08-11  Richard Henderson  <rth@redhat.com>
13291
13292         * combine.c (distribute_notes): Place REG_SETJMP.
13293
13294 2001-08-11  Richard Henderson  <rth@redhat.com>
13295
13296         * doc/extend.texi (Arrays and pointers implementation): Discourage
13297         relying on sign-extension of pointers.
13298
13299 2001-08-11  H.J. Lu <hjl@gnu.org>
13300
13301         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
13302         in_dtors.
13303         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
13304         RDATA_SECTION_ASM_OP.
13305
13306 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13307
13308         * doc/install.texi (Specific, c4x): Fix cross-reference to the
13309         main manual to work both for info and HTML versions.
13310
13311 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
13312             Matt Kraai <kraai@alumni.carnegiemellon.edu>
13313
13314         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
13315         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
13316         (struct cpp_pool): New member first.
13317         * cppinit.c (append_include_chain): Plug memory leaks.
13318         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
13319         Allocate pragma structures from the (aligned) macro pool to
13320         avoid leaking memory.
13321         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
13322         so we don't leak memory.
13323         * hashtable.c (ht_destroy): New.
13324         * hashtable.h (ht_destroy): New.
13325
13326 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
13327             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13328
13329         * c-lex.c (map): Make const.
13330         (cb_file_change): Update for callback passing a line map.
13331         Don't assume we have a previous map.  Remove sanity check
13332         about popping too many files.
13333         * cpperror.c (print_location): Make map const.
13334         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
13335         (cpp_make_system_header): Similarly.
13336         (search_from): Similarly.
13337         (_cpp_execute_include): Don't remember where we came from.
13338         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
13339         (struct cpp_reader): Make map const.
13340         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
13341         * cpplib.c (do_line): Update; line maps now hold sysp.
13342         (cpp_push_buffer): Similarly.
13343         (_cpp_do_file_change): Similarly; callback with map instead.
13344         (cpp_get_line_maps): Constify return value.
13345         (_cpp_pop_buffer): Update.
13346         * cpplib.h (struct cpp_file_change): Remove.
13347         (struct cpp_callbacks): Update.
13348         (cpp_get_line_maps): Constify return value.
13349         * cppmacro.c (_cpp_create_definition): Update.
13350         * cppmain.c (struct printer): Constify map.
13351         (maybe_print_line): Similarly.
13352         (print_line): Similarly.  Deduce flags 1 and 2 here.
13353         (cb_file_change): Update.
13354         * line-map.c (free_line_maps): Warn regardless.
13355         (add_line_map): Return pointer to const.  When passed NULL to_file
13356         with LC_LEAVE, use the obvious values for the return point so the
13357         caller doesn't have to figure them out.
13358         (lookup_line): Return pointer to const.
13359         (print_containing_files): Take pointer to const.
13360         * line-map.h (struct line_map): New members reason, sysp.
13361         (add_line_map): Return pointer to const.
13362         (lookup_line): Similarly.
13363         (print_containing_files): Take pointer to const.
13364
13365 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
13366             Richard Henderson  <rth@redhat.com>
13367
13368         * regmove.c (regmove_optimize): Avoid setting a register twice in
13369         a parallel set.
13370
13371 2001-08-10  Richard Henderson  <rth@redhat.com>
13372
13373         * doc/extend.texi (Arrays and pointers implementation): Document
13374         behavior of pointer/integer conversion.
13375
13376 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
13377
13378         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
13379
13380 2001-08-10  Richard Henderson  <rth@redhat.com>
13381
13382         * doc/extend.texi (C Implementation): New chapter.
13383         * doc/gcc.texi (Top): Link it in.
13384
13385 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
13386
13387         * doc/install.texi (Specific): Fix CVS merge botch.
13388
13389 2001-08-10  Richard Henderson  <rth@redhat.com>
13390
13391         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
13392         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
13393
13394 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
13395
13396         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
13397         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
13398         this macro is now required.
13399
13400         * cselib.c (cselib_process_insn), flow.c (propagate_block),
13401         loop.c (find_and_verify_loops), reload.c (reload): Check
13402         for rtx code of CALL_INSN, not CALL, when deciding if we
13403         need to check for REG_SETJMP note.
13404
13405         * gcse.c (compute_hash_table, compute_store_table): Update
13406         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
13407         logic.
13408
13409         * config/avr/avr.c: Fix typo.
13410         * config/convex/convex.c (expand_movstr): Use adjust_address.
13411         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
13412         variable.
13413         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
13414         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
13415         Fix typo.
13416         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
13417         Do define STACK_BOUNDARY.
13418         * config/i370/i370.c: Include expr.h.
13419         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
13420         config/pa/som.h, config/v850/v850.h: Take in_ctors and
13421         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
13422         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
13423         * config/m88k/m88k.c: Include c-tree.h after expr.h.
13424         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
13425         * config/romp/romp.c: Include expr.h after tree.h.
13426         Include toplev.h.
13427         (output_fpop): Use xmalloc, not oballoc.
13428         * config/we32k/we32k.c: Include expr.h.
13429
13430 2001-08-10  Kazu Hirata  <kazu@hxi.com>
13431
13432         * config/h8300/h8300.h: Fix formatting.
13433
13434 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
13435
13436         * c-common.h (RETURN_NULLIFIED_P): Lose.
13437         * c-semantics.c (genrtl_return_stmt): Don't check it.
13438
13439 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
13440
13441         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
13442         (mips_annotate_frame_insn): New function.
13443         (mips_emit_frame_related_store): New function.
13444         (save_restore_insns): Don't mark instructions that set up the base
13445         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
13446         the store instructions instead.
13447         (mips_expand_prologue): If the stack size is moved into a temporary
13448         register, do not mark that move as frame-related.  Add a
13449         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
13450
13451 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
13452
13453         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
13454         stack slot as unchanging if current_function_calls_eh_return.
13455
13456 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
13457
13458         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
13459         access the second half of the TFmode scratch operand.
13460
13461 2001-08-10  Anthony Green  <green@redhat.com>
13462
13463         * java/class.c (emit_register_classes): Conditionalize code on
13464         JCR_SECTION_NAME.
13465
13466 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13467
13468         * doc/install.texi (Specific, avr): Fix cross-reference to the
13469         main manual to work both for info and HTML versions.
13470
13471 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13472
13473         * stmt.c (expand_null_return_1): Remove code to generate simple returns
13474         and "use_goto" argument.
13475         (expand_null_return, expand_value_return): Update all callers.
13476         * function.c (expand_function_end): Remove code to generate simple
13477         return.
13478         * config/vax/vax.md (epilogue): New expander for function return.
13479         * doc/md.texi (epilogue): Remove "if defined".
13480
13481 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
13482
13483         * Makefile.in: Partially revert my previous change:
13484         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
13485         of the hashtab.o and safe-ctype.o rules.
13486
13487 2001-08-09  Richard Henderson  <rth@redhat.com>
13488
13489         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
13490         (USE_COLLECT2): Remove duplicate definition.
13491         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
13492         (use_collect2): Remove dead code.
13493         * configure.in (use_collect2): Remove will_use_collect2 and
13494         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
13495         * configure: Rebuild.
13496
13497         * target.h (targetm.asm_out.constructor): New.
13498         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
13499         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
13500         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
13501         * varasm.c (in_ctors, in_dtors): New.
13502         (assemble_constructor, assemble_destructor): Remove.
13503         (default_stabs_asm_out_destructor): New.
13504         (default_named_section_asm_out_destructor): New.
13505         (dtors_section, default_dtor_section_asm_out_destructor): New.
13506         (default_stabs_asm_out_constructor): New.
13507         (default_named_section_asm_out_constructor): New.
13508         (ctors_section, default_ctor_section_asm_out_constructor): New.
13509         * output.h: Update declarations.
13510         * c-decl.c (c_expand_body): Use target hooks instead of
13511         assemble_constructor and assemble_destructor.
13512         * profile.c (output_func_start_profiler): Likewise.
13513         * objc/objc-act.c (finish_objc): Likewise.
13514         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
13515         for the constructor.
13516         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
13517
13518         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
13519         (DTORS_SECTION_ASM_OP): Likewise.
13520         (__CTOR_LIST__): Use attribute section when possible.
13521         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
13522
13523         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
13524         ASM_OUTPUT_CONSTRUCTOR.
13525
13526         * config/darwin.c (machopic_asm_out_constructor): New.
13527         (machopic_asm_out_destructor): New.
13528         * config/darwin-protos.h: Update declarations.
13529         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13530         (ASM_OUTPUT_DESTRUCTOR): Remove.
13531         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13532         * config/nextstep.c (nextstep_asm_out_constructor): New.
13533         (nextstep_asm_out_destructor): New.
13534         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13535         (ASM_OUTPUT_DESTRUCTOR): Remove.
13536         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13537         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
13538         ASM_OUTPUT_*STRUCTOR.
13539         * config/i386/aix386ng.h: Likewise.
13540
13541         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
13542         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
13543         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
13544         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
13545         * config/lynx.h: Likewise.
13546         * config/netware.h: Likewise.
13547         * config/psos.h: Likewise.
13548         * config/alpha/alpha-interix.h: Likewise.
13549         * config/alpha/elf.h: Likewise.
13550         * config/arc/arc.h: Likewise.
13551         * config/arm/aof.h: Likewise.
13552         * config/arm/coff.h: Likewise.
13553         * config/arm/elf.h: Likewise.
13554         * config/c4x/c4x.h: Likewise.
13555         * config/h8300/h8300.h: Likewise.
13556         * config/i386/cygwin.h: Likewise.
13557         * config/i386/djgpp.h: Likewise.
13558         * config/i386/i386-coff.h: Likewise.
13559         * config/i386/i386-interix.h: Likewise.
13560         * config/i386/sco5.h: Likewise.
13561         * config/i386/vsta.h: Likewise.
13562         * config/i386/win32.h: Likewise.
13563         * config/i960/i960-coff.h: Likewise.
13564         * config/ia64/sysv4.h: Likewise.
13565         * config/m68hc11/m68hc11.h: Likewise.
13566         * config/m68k/coff.h: Likewise.
13567         * config/m68k/mot3300.h: Likewise.
13568         * config/m88k/m88k.h: Likewise.
13569         * config/mcore/mcore-pe.h: Likewise.
13570         * config/mcore/mcore.h: Likewise.
13571         * config/mips/elf.h: Likewise.
13572         * config/mips/elf64.h: Likewise.
13573         * config/mips/iris6.h: Likewise.
13574         * config/pa/pa64-hpux.h: Likewise.
13575         * config/rs6000/sysv4.h: Likewise.
13576         * config/sh/sh.h: Likewise.
13577         * config/sparc/litecoff.h: Likewise.
13578
13579         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
13580         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
13581         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
13582         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13583         (ASM_OUTPUT_DESTRUCTOR): Remove.
13584         * config/a29k/a29k.c: Move include of tree.h.
13585         * config/a29k/udi.h: Delete file.
13586         * config/alpha/alpha.c (vms_asm_out_constructor): New.
13587         (vms_asm_out_destructor): New.
13588         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
13589         (EXTRA_SECTION_FUNCTIONS): Likewise.
13590         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
13591         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13592         * config/c4x/c4x.c: Move include of tree.h.
13593         * config/clipper/clipper.c (clix_asm_out_constructor): New.
13594         (clix_asm_out_destructor): New.
13595         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13596         (ASM_OUTPUT_DESTRUCTOR): Remove.
13597         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13598         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13599         (TARGET_ASM_CONSTRUCTOR): New.
13600         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
13601         (sco_asm_out_constructor): New.
13602         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
13603         * config/i386/svr3gas.h: Remove stack grows up code.
13604         Remove code duplicated from i386/sysv3.h.
13605         (TARGET_ASM_CONSTRUCTOR): New.
13606         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
13607         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
13608         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13609         (TARGET_ASM_CONSTRUCTOR): New.
13610         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
13611         (m68hc11_asm_out_destructor): New.
13612         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
13613         (TARGET_ASM_DESTRUCTOR): New.
13614         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
13615         * config/m68k/dpx2.h: Properly undef all the bits inherited from
13616         config/svr3.h pertaining to section manipulation.
13617         * config/m68k/dpx2g.h: Remove #if 0 code.
13618         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
13619         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
13620         (ASM_OUTPUT_CONSTRUCTOR): Remove.
13621         (TARGET_ASM_CONSTRUCTOR): New.
13622         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
13623         (m88k_svr3_asm_out_constructor): New.
13624         (m88k_svr3_asm_out_destructor): New.
13625         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13626         (ASM_OUTPUT_DESTRUCTOR): Remove.
13627         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13628         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
13629         * config/rs6000/aix.h: Likewise.
13630         * config/mips/rtems64.h: Don't undef removed constructor related bits.
13631         * config/mips/vxworks.h: Likewise.
13632         * config/rs6000/lynx.h: Likewise.
13633         * config/sh/elf.h: Likewise.
13634         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
13635         (DTORS_SECTION_ASM_OP): New.
13636         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13637         (ASM_OUTPUT_DESTRUCTOR): Remove.
13638         * config/sparc/sol2-sld-64.h: Likewise.
13639         * config/vax/vax.c (vms_asm_out_constructor): New.
13640         (vms_asm_out_destructor): New.
13641         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13642         (ASM_OUTPUT_DESTRUCTOR): Remove.
13643         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13644
13645         * doc/tm.texi (@node Initialization): Update.
13646
13647 2001-08-09  Richard Henderson  <rth@redhat.com>
13648
13649         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
13650         (__do_global_dtors_aux): Use gp-relative static data to avoid
13651         one dynamic relocation.
13652         (__do_frame_setup): Register Java classes.
13653         * config/alpha/crtend.asm (__JCR_END__): New.
13654
13655 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
13656
13657         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
13658         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
13659         (GEN, STAGESTUFF): Add new files.
13660         (insn-constants.h, s-constants, tm-preds.h, s-preds,
13661         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
13662         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
13663         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
13664         as well as insn-codes.h and insn-flags.h in config.h; and no
13665         extra headers in tconfig.h and hconfig.h.
13666
13667         * gencodes.c: Eliminate code to generate predicate declarations
13668         or #defines for md-file constants.
13669         * genconstants.c, genpreds.c: New files.
13670
13671         * i386.md: Re-order guard expressions such that TARGET_64BIT
13672         comes first, when this permits better optimization.  Add
13673         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
13674         why this is desirable.
13675
13676 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
13677
13678         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
13679         (find_fde_for_dso): Remove.
13680         (_Unwind_IteratePhdrCallback): New.
13681         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
13682         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
13683
13684 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13685
13686         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
13687         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
13688
13689 2001-08-09  Graham Stott  <grahams@redhat.com>
13690
13691         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
13692         (vis_no_unit): Use it.
13693         (visualize_no_unit): Add the insn only if room exists.
13694
13695 2001-08-09  Graham Stott  <grahams@redhat.com>
13696
13697         * predict.c (estimate_probability): Replace magic numbers with
13698         appropriate enumeration.
13699
13700 2001-08-09  Graham Stott  <grahams@redhat.com>
13701
13702         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
13703         parameter.
13704         (EXTRACT_FLAGS): Likewise.
13705
13706 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
13707
13708         * config/mips/mips.c    (mips_legitimate_address_p): Check for
13709         CONST_INT in last patch.
13710
13711 2001-08-08  Anthony Green  <green@redhat.com>
13712
13713         * java/class.c (emit_register_classes): Use assemble_jcr if
13714         possible.  Keep the original mechanism as a fallback.
13715         * defaults.h (JCR_SECTION_NAME): Define if we have named section
13716         and weak symbol support.
13717         * crtstuff.c (__JCR_LIST__): Define.
13718         (__JCR_END__): Define.
13719         (_Jv_RegiserClasses): Define weak symbol if possible.
13720         (__do_global_ctors_aux): Register classes for ELF targets with
13721         weak symbol support.
13722
13723 2001-08-08  Kazu Hirata  <kazu@hxi.com>
13724
13725         * dbxout.c: Fix comment formatting.
13726         * dependence.c: Likewise.
13727         * df.c: Likewise.
13728         * diagnostic.c: Likewise.
13729         * dominance.c: Likewise.
13730         * doprint.c: Likewise.
13731         * dwarf2out.c: Likewise.
13732         * dwarfout.c: Likewise.
13733         * emit-rtl.c: Likewise.
13734         * except.c: Likewise.
13735         * explow.c: Likewise.
13736         * expmed.c: Likewise.
13737         * expr.c: Likewise.
13738         * flow.c: Likewise.
13739         * fold-const.c: Likewise.
13740         * function.c: Likewise.
13741
13742 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13743
13744         * global.c (retry_global_alloc): Avoid shadowing allocno.
13745
13746 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
13747
13748         * except.c (remove_fixup_regions): Fix typo.
13749
13750 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
13751
13752         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
13753         unsigned HOST_WIDE_INT to avoid warning.
13754         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
13755         * flow.c (set_block_for_new_insns): Likewise.
13756
13757 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
13758
13759         * sibcall.c (return_value_pseudo): New static variable.
13760         (skip_copy_to_return_value): Handle return_value_pseudo.
13761         (call_ends_block_p): Ensure that return_value_pseudo is set.
13762         (optimize_sibling_and_tail_recursive_call): Discover the
13763         load of pseudo return value in alternate exit block.
13764
13765 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
13766
13767         * calls.c (ECF_ALWAYS_RETURN): New constant.
13768         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
13769         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
13770         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
13771         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
13772         * rtl.c (reg_note_name): New name.
13773         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
13774
13775 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
13776
13777         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
13778
13779 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
13780
13781         * alias.c (get_alias_set): Return a previously calculated
13782         alias set for a VAR_DECL.
13783         * function.c (gen_mem_addressof): Calculate the alias set before
13784         touching the RTL.
13785
13786 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
13787
13788         * predict.def: Set hitrates according our experimental run.
13789
13790 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
13791
13792         * i386.h (HARD_REGNO_RENAME_OK): New macro.
13793
13794 2001-08-08  H.J. Lu <hjl@gnu.org>
13795
13796         * config/mips/mips.c (mips_unique_section): New. Copied from
13797         config/mips/elf.h.
13798
13799         * config/mips/mips-protos.h (mips_unique_section): New
13800         prototype.
13801
13802         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
13803
13804         * config/mips/little.h: New. Generic little endian mips
13805         targets. Only mips*-*-linux* is converted to use it so far.
13806
13807         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
13808         (WCHAR_TYPE): Defined
13809         (WCHAR_TYPE_SIZE): Likewise.
13810         (INIT_SUBTARGET_OPTABS): Likewise.
13811         (BSS_SECTION_ASM_OP): Likewise.
13812         (SBSS_SECTION_ASM_OP): Likewise.
13813         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
13814         (ASM_DECLARE_OBJECT_NAME): Likewise.
13815         (UNIQUE_SECTION): Likewise.
13816         (EXTRA_SECTIONS): Likewise.
13817         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
13818         (ASM_OUTPUT_DESTRUCTOR): Likewise.
13819         (ASM_OUTPUT_DEF): Likewise.
13820         (HANDLE_SYSV_PRAGMA): Removed.
13821         (NO_IMPLICIT_EXTERN_C): Likewise.
13822         (TARGET_MEM_FUNCTIONS): Likewise.
13823         (STARTFILE_SPEC): Likewise.
13824         (ENDFILE_SPEC): Likewise.
13825         (LIB_SPEC): Likewise.
13826         (INVOKE__main): Likewise.
13827         (CTOR_LIST_BEGIN): Likewise.
13828         (CTOR_LIST_END): Likewise.
13829         (DTOR_LIST_BEGIN): Likewise.
13830         (DTOR_LIST_END): Likewise.
13831         (SET_ASM_OP): Likewise.
13832         (ASM_OUTPUT_SOURCE_LINE): Likewise.
13833         (ASM_OUTPUT_DEF): Likewise.
13834         (ASM_OUTPUT_IDENT): Likewise.
13835
13836         * config/mips/mips.h (ASM_SPEC): Undefine before define.
13837         (CPLUSPLUS_CPP_SPEC): Likewise.
13838         (ASM_APP_ON) Redefine only if not defined.
13839         (ASM_APP_OFF): Likewise.
13840         (ASM_OUTPUT_SOURCE_LINE): Likewise.
13841         (ASM_OUTPUT_IDENT): Likewise.
13842
13843         * config.gcc: Update tm_file for Linux/mips.
13844
13845 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
13846
13847         * cselib.c (cselib_record_sets): If insn is predicated, turn
13848         sources into IF_THEN_ELSEs.
13849
13850         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
13851         Turn into define_insn_and_split.
13852
13853         * sched-deps.c: Include "cselib.h".
13854         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
13855         Use cselib to turn memory addresses into VALUEs.
13856         (sched_analyze): Call cselib_init/cselib_finish if necessary.
13857         * sched-int.h (struct sched_info): New member USE_CSELIB.
13858         * sched-ebb.c (ebb_sched_info): Initialize it.
13859         * sched-rgn.c (rgn_sched_info): Likewise.
13860         * Makefile.in (sched-deps.o): Update dependencies.
13861
13862         * cselib.h (cselib_subst_to_values): Declare.
13863         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
13864         that have no value and autoincs to be handled by generating a new
13865         dummy value.
13866
13867 2001-08-08  Graham Stott  <grahams@redhat.com>
13868
13869         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
13870         within fixed length SEQUENCE.
13871
13872 2001-08-08  Graham Stott  <grahams@redhat.com>
13873
13874         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
13875         (diagnostic_prefixing_rule): Likewise.
13876         (diagnostic_line_cutoff): Likewise.
13877         (diagnostic_kind_count): Likewise.
13878
13879 2001-08-08  Graham Stott  <grahams@redhat.com>
13880
13881         * alias.c (find_base_decl): Delete redundent assignment.
13882
13883 2001-08-08  Graham Stott  <grahams@redhat.com>
13884
13885         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
13886         (abs): Uppercase and paranthesize macro parameter.
13887         (MEM_DEPENDENCY): Add whitespace.
13888
13889 2001-08-08  Graham Stott  <grahams@redhat.com>
13890
13891         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
13892         failure check for CONST_INT
13893
13894 2001-08-08  Graham Stott  <grahams@redhat.com>
13895
13896         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
13897         (libcall_dead_p): Likewise.
13898
13899         (mark_used_regs): Constify fmt.
13900         (find_use_as_address): Likewise.
13901
13902 2001-08-08  Graham Stott  <grahams@redhat.com>
13903
13904         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
13905          parameter.
13906
13907 2001-08-08  Graham Stott  <grahams@redhat.com>
13908
13909         * combine.c (combine_simplify_rtx): Update comment and
13910         remove erroneous test.
13911
13912 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
13913
13914         * cppinit.c (cpp_finish): Pop the final buffer without comment.
13915         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
13916         take care to avoid multiple no-newline at EOF warnings in that
13917         case.
13918
13919 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
13920
13921         * calls.c (expand_call): Do not emit INSN_SETJMP note.
13922         (emit_library_call_value_1): Likewise.
13923         (emit_call_1): Emit REG_SETJMP note.
13924         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
13925         of INSN_SETJMP
13926         * cselib.c (cselib_process_insn): Likewise.
13927         * flow.c (propagate_block): Likewise.
13928         * loop.c (find_and_verify_loops): Likewise.
13929         * reload.c (find_equiv_regs): Likewise.
13930         * reload1.c (reload): Likewise.
13931         * resource.c (mark_referenced_resources,
13932         mark_set_resources): Likewise.
13933         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
13934         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
13935         * haifa-sched.c (unlink_other_notes): Likewise.
13936         (reemit_notes): Likewise.
13937         * sched-ebb.c (sched_ebb): Likewise.
13938         * sched-rgc.c (sched_region): Likewise.
13939         * rtl.c (note_insn_name): Likewise.
13940         (reg_note_name): Add REG_SETJMP
13941         * rtl.h (reg_note): Add REG_SETJMP.
13942         (insn_note): Remove NOTE_INSN_SETJMP.
13943
13944         * profile.c (branch_prob): Add fake edges for setjmp.
13945
13946 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
13947
13948         * config.gcc: Quote target_cpu_default2 correctly for
13949         powerpc*-*-* targets.
13950
13951 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
13952
13953         * cpplib.h, line-map.h: Update comments.
13954         * cppmain.c (printer_init): Move inline.
13955         (maybe_print_line, print_line): Take a map pointer.
13956         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
13957         (cb_file_change): Don't use prior value of print.map.
13958
13959 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
13960
13961         * doc/install.texi: Document fine-grained multilib configuration.
13962
13963 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
13964
13965         * rtlanal.c (find_first_parameter_load): Call note_stores
13966         only on the instructions.
13967
13968 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
13969
13970         * alias.c (nonlocal_mentioned_p):
13971         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
13972         * calls.c (emit_call_1): Likewise.
13973         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
13974         * cselib.c (cselib_process_insn): Likewise.
13975         * df.c (df_insns_modify): Likewise.
13976         * flow.c (need_fake_edge_p): Likewise.
13977         (propagate_one_insn): Likewise.
13978         * haifa-sched.c (reemit_notes): Likewise.
13979         * integrate.c (copy_insn_list): Likewise.
13980         * jump.c (delete_prior_computation): Likewise.
13981         * local-alloc.c (validate_equiv_mem): Likewise.
13982         * loop.c (scan_loop): Likewise.
13983         * predict.c (estimate_probability): Likewise.
13984         * reload.c (reload): Likewise.
13985         * sched-deps (sched_analyze): Likewise.
13986         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
13987         * gcse.c (compute_hash_table): Likewise.
13988         (mark_call): Likewise.
13989         (store_killed_in_insn): Likewise.
13990
13991 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
13992
13993         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
13994
13995 2001-08-06  Richard Henderson  <rth@redhat.com>
13996
13997         * varasm.c (assemble_gc_entry): Remove.
13998         * output.h: Likewise.
13999
14000 2001-08-06  Richard Henderson  <rth@redhat.com>
14001
14002         * varasm.c (assemble_constructor): Take a symbol_ref and a
14003         priority instead of a bare string.  Move priority handling
14004         here from cp/decl2.c.
14005         * output.h: Update decls.
14006
14007         * c-decl.c (c_expand_body): Update calls to assemble_constructor
14008         and assemble_destructor.
14009         * profile.c (output_func_start_profiler): Likewise.
14010         * objc/objc-act.c (finish_objc): Likewise.
14011         (build_module_descriptor): Return the symbol not the symbol name.
14012
14013 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
14014
14015         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
14016         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
14017         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
14018         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
14019         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
14020         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
14021
14022 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
14023
14024         * cpperror.c (print_containing_files): Moved to line-map.c.
14025         (print_location): line-map.c handles re-listing or otherwise.
14026         * cpphash.h (struct lexer_state): Remove next_bol.
14027         (struct cpp_buffer): Remove include_stack_listed.
14028         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
14029         Remove faked buffer handling.
14030         (_cpp_do_file_change): Tweak.
14031         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
14032         * cppmain.c (struct printer): Remove filename.
14033         (print_line, cb_file_change): Update accordingly.
14034         * line-map.c: Include intl.h.
14035         (init_line_maps): Initialize last_listed.
14036         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
14037         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
14038         (print_containing_files): New.
14039         * line-map.h (struct line_maps): New member last_listed.
14040         (print_containing_files, INCLUDED_FROM): New.
14041         * Makefile.in: Update.
14042         * po/POTFILES.in: Add line-map.c.
14043
14044 2001-08-06  Richard Henderson  <rth@redhat.com>
14045
14046         * except.c (convert_from_eh_region_ranges_1): Never mark
14047         USE or CLOBBER insns as throwing.
14048
14049         * expr.c (store_constructor): Don't clobber memory targets.
14050
14051 2001-08-06  Andreas Jaeger  <aj@suse.de>
14052
14053         * profile.c (branch_prob): Remove unused variable insn.
14054
14055         * Makefile.in (local-alloc.o): Add dependency on except.h.
14056
14057         * local-alloc.c: Include except.h for can_throw_internal prototype.
14058
14059 2001-08-06  Richard Henderson  <rth@redhat.com>
14060
14061         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
14062         * function.c (expand_main_function): Implement it.
14063         * doc/tm.texi: Document it.
14064
14065 2001-08-06  Stan Shebs  <shebs@apple.com>
14066
14067         * doc/install.texi: Document powerpc-*-darwin* details.
14068
14069 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
14070
14071         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
14072         (ASM_CPU_SPEC): Move back to rs6000.h
14073         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
14074
14075         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
14076
14077         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
14078         readded.
14079
14080         * config/rs6000/linux64.h: Ditto.
14081
14082         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
14083         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
14084         nothing.
14085
14086         Remove accidently readded definitions of FUNCTION_PROLOGUE,
14087         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
14088
14089         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
14090         to rs6000.h
14091
14092 2001-08-05  Richard Henderson  <rth@redhat.com>
14093
14094         * local-alloc.c (update_equiv_regs): Do not move insns that
14095         can throw.
14096
14097 2001-08-05  Jan Hubicka  <jh@suse.cz>
14098
14099         * Makefile.in (reload1.o): Add dedendancy on except.h
14100         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
14101         prototypes.
14102         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
14103         indicating wehther edges has been cleaned up.
14104         * reload1.c: Inlucde except.h
14105         (fixup_abnormal_edges): Accept deleted insns.
14106         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
14107         after combine.
14108
14109 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
14110
14111         * cpplib.c (do_line): Correct line number after pop_buffer.
14112
14113 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
14114
14115         PR preprocessor/3824
14116         * line-map.c: Update comments.
14117         * line-map.h: Update comments.
14118         * tradcif.y: Don't consider large numbers unsigned.
14119
14120 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
14121
14122         PR preprocessor/3081
14123         * c-lex.c (map): New.
14124         (cb_file_change): Update map and use it.
14125         (cb_def_pragma, cb_define, cb_undef): Use map and line.
14126         (c_lex): Update to use map.
14127         * cpperror.c (print_location): Move to using logical line numbers.
14128         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
14129         (cpp_make_system_header): Similarly.
14130         (_cpp_execute_include): Stop line numbering hacks.  Store the
14131         line we will return to.
14132         * cpphash.h (CPP_BUF_LINE): Remove.
14133         (struct cpp_buffer): Remove lineno and pseudo_newlines.
14134         Add map and return_to_line.
14135         (_cpp_do_file_change): Update.
14136         * cppinit.c (cpp_start_read): Update line kludge.
14137         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
14138         (trigraph_ok): Use logical line numbers for diagnostics.
14139         (skip_block_comment): Likewise.
14140         (skip_whitespace): Likewise.
14141         (skip_line_comment): Use pfile->line instead.
14142         (_cpp_lex_token): Update to use logical line numbering exclusively.
14143         Handle BOL locally.  Accept new lines in directives, but keep
14144         pfile->line decremented.  Diagnostics use logical lines.  Update
14145         directive handling.
14146         * cpplib.c (SEEN_EOL): New.
14147         (skip_rest_of_line, check_eol): Use it.
14148         (end_directive): Increase line number when accepting the newline
14149         at the end of a directive.
14150         (run_directive): Simplify.
14151         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
14152         (_cpp_do_file_change): Update to take buffer line number as an
14153         argument, and store the current map in the cpp_reader.  Remove
14154         line number kludges.
14155         (_cpp_do__Pragma): Restore output position after a _Pragma.
14156         (cpp_push_buffer): Don't set output line or lineno.
14157         (_cpp_pop_buffer): Transfer more info from a faked buffer.
14158         Remove line kludge.  Set output_line.
14159         * cppmacro.c (builtin_macro): Update handling of __LINE__.
14160         (parse_arg): Use logical lines.
14161         (save_lookahead_token): Save EOFs too now.
14162         * cppmain.c (struct printer): Fix comments.
14163         (printer_init): Simplify, let caller do errors.
14164         (scan_translation_unit, check_multiline_token, dump_macro): Update.
14165         (maybe_print_line): Simplify.
14166         (print_line): Don't print a linemarker if -P.
14167         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
14168         (cb_file_change): Simplify.
14169         * line-map.h (LAST_SOURCE_LINE): Fix.
14170         (CURRENT_LINE_MAP): New.
14171
14172 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
14173
14174         * doloop.c (doloop_modify_runtime): Properly compute number of
14175         iterations if loop was unrolled.
14176
14177         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
14178         if their CSELIB_VAL_PTRs are.
14179
14180         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
14181         (setup_spill_pointers): Initialize it.
14182         (spill_restore_mem): Set it.
14183         (do_spill, do_restore): Use it to add REG_INC note.
14184         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
14185
14186         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
14187         asms if other insns are available.
14188
14189         * config/ia64/ia64.c (condop_operator): New predicate.
14190         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
14191         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
14192         patterns.
14193
14194         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
14195         temporary register than directly using a MEM.
14196
14197 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
14198
14199         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
14200         parameter in last change.
14201
14202 2001-08-04  Zack Weinberg  <zackw@panix.com>
14203
14204         * sparc.md: Don't use #if inside C test expression.
14205
14206 2001-08-04  Richard Henderson  <rth@redhat.com>
14207
14208         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
14209
14210 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
14211
14212         * cpphash.h (struct cpp_reader): New member directive_line.
14213         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
14214         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
14215         do_pragma): Pass line to callbacks.
14216         (start_directive): Record line of directive.
14217         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
14218         cb_include): Similarly.
14219         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
14220         Similarly.
14221
14222 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
14223
14224         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
14225         comment.
14226
14227 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
14228
14229         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
14230
14231         * reload1.c (fixup_abnormal_edges): New static function.
14232         (reload): Use it.
14233
14234         * flow.c (need_fake_edge_p): New function.
14235         (flow_call_edges_add): Fix handling of noreturn and sibling calls;
14236         avoid call insn to be very last insn in the insn stream.
14237
14238         * profile.c (branch_prob): Call flow_call_edges_add instead of
14239         doing that by hand; cleanup cfg to re-merge basic blocks once
14240         we are done.
14241
14242 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
14243
14244         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
14245         are also on line-map.h.
14246         * cppfiles.c (stack_include_file): Update.
14247         * cpphash.h (struct cpp_buffer): New member return_at_eof.
14248         (_cpp_pop_buffer): New.
14249         * cppinit.c (cpp_destroy, cpp_finish): Update.
14250         (do_includes): Mark each buffer to return at EOF.
14251         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
14252         return as requested.
14253         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
14254         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
14255         * cpplib.h (cpp_pop_buffer): Remove.
14256         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
14257         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
14258         buffers.
14259         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
14260         to pop buffers.
14261         (do_preprocessing): Update.
14262         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
14263         * c-parse.in (_yylex): Similarly.
14264         * scan-decls.c (scan_decls): Similarly.
14265         * line-map.h: Update comments.
14266
14267         * objc/Make-lang.in (objc-act.o): Update dependencies.
14268
14269 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14270
14271         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
14272         and soft register for operand 0.
14273         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
14274
14275 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14276
14277         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
14278         register for operand 0.
14279         ("bitcmpqi_z_used"): Allow memory for operand 0.
14280         (split "bitcmpqi"): New split to handle address reg as operand 1.
14281
14282 2001-08-04  Andreas Jaeger  <aj@suse.de>
14283
14284         * gcse.c: Revert Daniel's last patch.
14285
14286 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
14287
14288         * sparc-protos.h: Add prototypes for fp_zero_operand and
14289         reg_or_0_operand.
14290         * sh-protos.h: Add prototype for fpul_operand.
14291
14292 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
14293
14294         * doc/extend.texi (Other Builtins): Fix typo in last change.
14295
14296 2001-08-03  Richard Henderson  <rth@redhat.com>
14297
14298         * target.h (gcc_target): Add asm_out.named_section,
14299         section_type_flags, have_named_sections.
14300         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
14301         (TARGET_HAVE_NAMED_SECTIONS): New.
14302         (TARGET_SECTION_TYPE_FLAGS): New.
14303
14304         * Makefile.in (toplev.o): Depend on TARGET_H.
14305         (varasm.o, dbxout.o): Likewise.
14306         * c-common.c (decl_attributes): Check targetm.have_named_sections
14307         instead of ifdef ASM_OUTPUT_SECTION_NAME.
14308         * dbxout.c (dbxout_function_decl): Likewise.
14309         (dbxout_function_end): Likewise.
14310         * toplev.c (compile_file): Likewise.
14311         * varasm.c (exception_section): Likewise.
14312         * cp/decl2.c (finish_objects): Likewise.
14313
14314         * defaults.h (EH_FRAME_SECTION): Remove.
14315         (EH_FRAME_SECTION_ASM_OP): Remove.
14316         (EH_FRAME_SECTION_NAME): New.
14317         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
14318         (UNIQUE_SECTION_P): Remove.
14319         * dwarf2out.c (SECTION_FORMAT): Remove.
14320         (ASM_OUTPUT_SECTION): Remove.
14321         (output_call_frame_info): Use named_section_flags.
14322         (output_comp_unit, dwarf2out_start_source_file): Likewise.
14323         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
14324         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
14325         * varasm.c (in_eh_frame, eh_frame_section): Remove.
14326         (named_section_flags): New.
14327         (named_section): Use it and targetm.section_type_flags.
14328         (resolve_unique_section): New.
14329         (assemble_start_function): Use it.
14330         (asm_emit_uninitialised, assemble_variable): Likewise.
14331         (default_section_type_flags): New.
14332         (default_no_named_section, default_elf_asm_named_section): New.
14333         (default_coff_asm_named_section, default_pe_asm_named_section): New.
14334         * output.h: Update varasm.c decls.
14335         (SECTION_*): New flags.
14336
14337         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
14338         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
14339
14340         * config/elfos.h (UNIQUE_SECTION_P): Remove.
14341         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
14342         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
14343         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
14344         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
14345         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
14346         * config/mips/elf.h, config/mips/elf64.h: Likewise.
14347         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
14348         * config/pa/pa64-hpux.h,
14349
14350         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
14351         (TARGET_ASM_NAMED_SECTION): New.
14352         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
14353         * config/alpha/vms.h, config/arm/coff.h: Likewise.
14354         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
14355         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
14356         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
14357         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
14358         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
14359         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
14360         * config/i386/sco5.h, config/i386/win32.h: Likewise.
14361         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
14362         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
14363         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
14364         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
14365         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
14366         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
14367         * config/sparc/sysv4.h: Likewise.
14368
14369         * config/nextstep.h: Error until named sections implemented.
14370
14371         * config/a29k/a29k.c (a29k_asm_named_section): New.
14372         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
14373         (vms_section_type_flags, vms_asm_named_section): New.
14374         * config/arm/arm.c (arm_elf_asm_named_section): New.
14375         * config/avr/avr.c (asm_output_section_name): Remove.
14376         * config/avr/avr-protos.h: Update.
14377         * config/c4x/c4x.c (c4x_asm_named_section): New.
14378         * config/h8300/h8300.c (h8300_asm_named_section): New.
14379         * config/i386/i386.c (sco_asm_named_section): New.
14380         * config/i386/winnt.c (SECTION_PE_SHARED): New.
14381         (i386_pe_section_type_flags): New.
14382         (i386_pe_asm_named_section): New.
14383         * config/i386/i386-protos.h: Update.
14384         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
14385         * config/mcore/mcore.c (mcore_asm_named_section): New.
14386         * config/mips/mips.c (iris6_asm_named_section): New.
14387         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
14388         instead of UNIQUE_SECTION_P.
14389         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
14390         (xcoff_asm_named_section): New.
14391         * config/sh/sh.c (sh_asm_named_section): New.
14392         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
14393
14394         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
14395         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
14396         (EH_FRAME_SECTION_NAME): New.
14397         (EXCEPTION_SECTION): New.
14398         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
14399         (DEBUG_*_SECTION): Remove.
14400         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
14401         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
14402         (EH_FRAME_SECTION_ASM_OP): Remove.
14403
14404         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
14405         (ASM_OUTPUT_SECTION_NAME): Remove.
14406         (TARGET_ASM_NAMED_SECTION): New.
14407         (TARGET_HAVE_NAMED_SECTIONS): New.
14408         (TARGET_SECTION_TYPE_FLAGS): New.
14409         (EH_FRAME_SECTION_ASM_OP): Remove.
14410         (EH_FRAME_SECTION_NAME): New.
14411
14412 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
14413
14414         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
14415         for complex expressions when cfun == 0.
14416         * doc/extend.texi: Document that __builtin_constant_p can be
14417         used in data initializers as well as functions.
14418
14419 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
14420
14421         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
14422         variable I locally, instead of expecting a declaration in the
14423         calling context.
14424
14425 2001-08-03  Richard Henderson  <rth@redhat.com>
14426
14427         * except.c (collect_one_action_chain): Add an explicit cleanup
14428         action if regions surrounding a catch were encoded entirely
14429         within the call-site entry.
14430
14431 2001-08-03  Richard Henderson  <rth@redhat.com>
14432
14433         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
14434         don't take REGNO of a non-register.
14435
14436 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14437
14438         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
14439         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
14440         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
14441         (__gthread_mutex_init_function): New function for mutex initialization.
14442
14443 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
14444
14445         * Makefile.in: Revert screwed up commit.
14446
14447 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14448
14449         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
14450         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
14451         merged by linker script to get a final _exit().
14452         (__do_global_dtors): New for destructor handling in specific exit
14453         section.
14454         (__do_global_ctors): New for constructors in specific install section.
14455         (__map_data_section): Map data sections before running constructors.
14456         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
14457         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
14458         (DTORS_SECTION_ASM_OP): Likewise.
14459         (CTORS_SECTION_FUNCTION): Define to force a reference to
14460         __do_global_ctors.
14461         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
14462
14463 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
14464
14465         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
14466
14467         * Makefile.in: Add df.h to gcse.c dependencies.
14468
14469 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14470
14471         * varasm.c (output_constant_def_contents): Use for the length of a
14472         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
14473         depending on which is larger.
14474
14475 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
14476
14477         * gcse.c: Include df.h for use as a dataflow analyzer.
14478         Remove regvec.
14479         Declaration of reg_set_info: gone.
14480         New df_analyzer variable used by store motion.
14481         (reg_set_info): Deleted.
14482         (mark_mem_regs): New function, analyze regs used by a mem.
14483         (store_ops_ok): Use dataflow analyzer results to determine if
14484         necessary regs are changed in the block.
14485         (find_moveable_store): Remove check for symbol ref, we can handle
14486         much more complex expressions now.
14487         (compute_store_table): Remove most of the code, it's unnecessary
14488         now that the dataflow analyzer records the info for us.
14489         (store_killed_after): Add parameter to say whether to do the
14490         store_ops_okay test, used to speed up testing when we already know
14491         the answer, and just want to know if the store itself was killed.
14492         (build_store_vector): Largely rewritten to calculate the various
14493         vectors properly, and somewhat optimized.
14494         (store_motion): Init the df_analyzer, get REG_DEF chains.
14495         Also handle trapping expressions (since mems almost always trap)
14496         (simple_mem): Redefine what a simple mem is.
14497
14498 2001-08-03  DJ Delorie  <dj@redhat.com>
14499
14500         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
14501         set from a constant part of the condition.
14502
14503 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
14504
14505         * mkdeps.c (deps_add_default_target): Make local variable
14506         ``start'' a const char pointer.
14507         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
14508
14509 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14510
14511         * doc/install.texi (Configuration): Fix markup.
14512         (Specific, i?86-*-udk): Likewise.
14513         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
14514         --with-gnu-ld.
14515         Document --enable-threads and --enable-libgcj status.
14516         (Specific, mips-sgi-irix*): Canonicalize triples.
14517         (Specific, mips-sgi-irix5): Warn about problems with this config.
14518         Mention required GNU as patch.
14519         Native assembler problems are fixed.
14520         (Specific, mips-sgi-irix6): Update O32 ABI support status.
14521         Document --enable-threads and --enable-libgcj status.
14522
14523 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
14524
14525         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
14526         of mkinstalldirs.
14527
14528 2001-08-03  Richard Henderson  <rth@redhat.com>
14529
14530         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
14531         constant data.
14532
14533 2001-08-03  Richard Henderson  <rth@redhat.com>
14534
14535         * rtlanal.c (find_first_parameter_load): Stop if we
14536         reach a CODE_LABEL at BOUNDARY.
14537
14538 2001-08-03  Richard Henderson  <rth@redhat.com>
14539
14540         * config/alpha/alpha.md (force_movdi): New insn.
14541         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
14542         Tweek FRP marking of VMS prologue insns.
14543         * config/alpha/vms.h (EPILOGUE_USES): New.
14544
14545 2001-08-02  Richard Henderson  <rth@redhat.com>
14546
14547         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
14548
14549 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
14550
14551         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
14552         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
14553         config/convex/convex.h, config/d30v/d30v.c,
14554         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
14555         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
14556         config/mips/mips.h, config/mn10200/mn10200.h,
14557         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
14558         config/v850/v850.h, config/vax/openbsd.h,
14559         config/vax/openbsd1.h, config/vax/ultrix.h,
14560         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
14561         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
14562         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
14563         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
14564         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
14565         in comments and documentation.
14566
14567 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
14568
14569         * line-map.c: New.
14570         * line-map.h: New.
14571         * Makefile.in (line-map.o): New.
14572         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
14573         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
14574         * cpperror.c (print_containing_files): Similarly.
14575         (print_location): Update.  Don't output a space before _Pragma.
14576         * cppfiles.c (stack_include_file): Set to line 1 immediately.
14577         (stack_include_filee, cpp_make_system_header): Update.
14578         (_cpp_execute_include): Get logical line number right for calling
14579         as-yet-unterminated #include.
14580         * cpphash.h (struct cpp_reader): Add line_maps.
14581         (_cpp_do_file_change): Update.
14582         * cppinit.c (cpp_create_reader): Initialize line maps.
14583         (cpp_destroy): Destroy line maps.
14584         (cpp_start_read): Get logical line number right.
14585         * cpplex.c (parse_string): Only warn once for multi-line strings.
14586         Use boolean variable for null warning.
14587         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
14588         already.
14589         (do_include_common): End the directive early.
14590         (do_line): Don't warn about out-of-range lines in preprocessed
14591         source.  Update.  Remove unused variables.
14592         (_cpp_do_file_change): Update for new line mapping.
14593         (pragma_cb): New typedef.
14594         (cpp_register_pragma): Stop looking ahead before calling the
14595         handler.  Clean up.
14596         (do_pragma_system_header): End directive early.
14597         (cpp_get_line_maps): New.
14598         (cpp_pop_buffer): Fudge logical line.  Update.
14599         * cpplib.h: Include line-map.h
14600         (enum cpp_fc_reason): Remove.
14601         (struct cpp_file_change): Update.
14602         (cpp_get_line_maps): New.
14603         * cppmain.c (struct_printer): New member map.
14604         (cb_file_change): Update for new mappings.
14605         * fix-header.c (cb_file_change): Similarly.
14606
14607 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
14608
14609         * Makefile.in (libgcc.mk): Define mkinstalldirs.
14610         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
14611
14612 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
14613
14614         * config/vax/vax.c: include expr.h.
14615
14616 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
14617
14618         * Makefile.in ($(srcdir)/configure): Only rebuild in
14619         maintainer mode.
14620         ($(srcdir)/config.in): Only define in maintainer mode.
14621         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
14622
14623 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
14624
14625         * doc/install.texi (Install GCC: Binaries): Update Bull info.
14626
14627 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14628
14629         * gcc.c (set_collect_gcc_options): New function, split out from
14630         main.
14631         Ignore elided switches.
14632         (do_spec_1): Invoke before executing command.
14633         (set_input): Export.
14634         Move declaration ...
14635         * gcc.h (set_input): ... here.
14636         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
14637         file.
14638
14639 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
14640
14641         Kill -fhonor-std.
14642         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
14643         interaction.
14644         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
14645
14646 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
14647
14648         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
14649         for the unnamed instructions it expands to.
14650
14651 2001-08-02  Richard Henderson  <rth@redhat.com>
14652
14653         * regclass.c (call_really_used_regs): Conditionally define.
14654         (init_reg_sets_1): Don't use it if not defined.
14655         (fix_register): Similarly, don't set it.
14656
14657 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14658
14659         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
14660         Correct comment that had been missed in the previous change.
14661
14662 2001-08-01  Stan Shebs  <shebs@apple.com>
14663
14664         * config/darwin.c (machopic_stub_name): Try matching by name.
14665         (update_stubs): New function.
14666         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
14667         unconditionally.
14668
14669 2001-08-01  Richard Henderson  <rth@redhat.com>
14670
14671         * except.c (output_function_exception_table): Use assemble_align.
14672         * varasm.c (assemble_eh_label): Remove.
14673         (assemble_eh_align, assemble_eh_integer): Remove.
14674
14675 2001-08-01  Robert Lipe  <robertl@caldera.com>
14676
14677         * dwarfout.c: Remove reference to README.DWARF.
14678
14679 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
14680
14681         * regclass.c (call_really_used_regs): New array for registers which
14682         are actually used by a call.
14683         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
14684         new array.
14685         (fix_register): Set call_really_used too.
14686         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
14687         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
14688
14689 2001-08-01  Richard Henderson  <rth@redhat.com>
14690
14691         * read-rtl.c (read_name): Consider \r whitespace.
14692
14693 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
14694
14695         * config.gcc: Recognize powerpc-*-netbsd*.
14696
14697         * doc/install.texi (Host/target specific installation notes for
14698         GCC): Mention powerpc-*-netbsd*.
14699
14700         * config/rs6000/netbsd.h: New file.
14701         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
14702         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
14703         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
14704         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
14705         (TARGET_VERSION): Redefine.
14706
14707         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
14708         mcall-netbsd as a match for mcall-sysv.
14709         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
14710         (ncrti.S, ncrtn.S): New targets.
14711         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
14712
14713         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
14714         "netbsd' as a V4 ABI.
14715         (ASM_SPEC): Check for -mcall-netbsd.
14716         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
14717         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
14718         (LIB_SPEC, ENDFILE_SPEC): Ditto.
14719         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
14720         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
14721         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
14722         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
14723
14724         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
14725         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
14726
14727 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
14728
14729         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
14730         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
14731         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
14732         including "unwind-pe.h".
14733
14734 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
14735
14736         * rs6000.md (define_splits): Kill unused constraints.
14737
14738 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
14739                               Jan Hubicka  <jh@suse.cz>
14740
14741         * function.c (thread_prologue_and_epilogue_insns): Kill code
14742         dealing with non-existent CFG.
14743
14744 2001-08-01  Kazu Hirata  <kazu@hxi.com>
14745
14746         * alias.c: Fix comment formatting.
14747         * bitmap.c: Likewise.
14748         * builtins.c: Likewise.
14749         * calls.c: Likewise.
14750         * c-common.c: Likewise.
14751         * c-decl.c: Likewise.
14752         * c-dump.c: Likewise.
14753         * c-lex.c: Likewise.
14754         * collect2.c: Likewise.
14755         * combine.c: Likewise.
14756         * conflict.c: Likewise.
14757         * cppfiles.c: Likewise.
14758         * cppinit.c: Likewise.
14759         * cpplex.c: Likewise.
14760         * cpplib.c: Likewise.
14761         * cppmacro.c: Likewise.
14762         * cppspec.c: Likewise.
14763         * c-pragma.c: Likewise.
14764         * crtstuff.c: Likewise.
14765         * cse.c: Likewise.
14766         * cselib.c: Likewise.
14767         * c-semantics.c: Likewise.
14768         * c-typeck.c: Likewise.
14769
14770 2001-08-01  H.J. Lu <hjl@gnu.org>
14771
14772         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
14773
14774 2001-08-01  H.J. Lu <hjl@gnu.org>
14775
14776         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
14777
14778 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
14779
14780         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
14781         contextualizing Objective-C class name lookup by the lexer.
14782         (typespec_reserved_nonattr): Disable ObjC class name lookup after
14783         seeing a TYPESPEC.
14784         (protocoldef): Add support for forward @protocol declarations.
14785         (yylexname): Suppress ObjC class name lookup in certain contexts;
14786         re-enable after lookup is complete.
14787         (_yylex): Re-enable ObjC class name lookup when certain
14788         punctuation marks are seen.
14789
14790         * objc/objc-act.c (check_protocol_recursively): New function used
14791         for finding circular dependencies in protocols.
14792         (objc_declare_protocols): New function for handling forward
14793         @protocol declarations.
14794         (receiver_is_class_object): Detect the case when 'self' is used
14795         inside of a class method.
14796         (build_message_expr): Issue a warning if class method is desired
14797         but instance method is found instead.
14798         (conforms_to_protocol): Streamline.
14799         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
14800         protocol Foo, even if 'Bar foo' does not.
14801         (check_protocols): Streamline.
14802         (start_protocol): Add checks for circular and duplicate protocol
14803         definitions.
14804         (encode_aggregate_within): For typedefs of structs, encode the
14805         underlying struct.
14806         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
14807         (objc_declare_protocols): New prototype.
14808
14809 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
14810
14811         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
14812         * cpplex.c (handle_newline): Update prototype.  Maintain logical
14813         line number.
14814         (skip_escaped_newlines, skip_block_comment, parse_string):
14815         Update accordingly.
14816         (_cpp_lex_token): Update, and store token position within the token.
14817         * cpplib.h (struct cpp_token): Add line and column entries.
14818         * cppmacro.c (replace_args): Position stringified tokens correctly.
14819
14820 2001-08-01  Andreas Jaeger  <aj@suse.de>
14821
14822         * basic-block.h: Add prototype for last_loop_beg_note.
14823
14824 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
14825
14826         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
14827         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
14828         comment.
14829         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
14830         while handling WITH_CLEANUP_EXPR node. Use second operand calling
14831         expand_decl_cleanup.
14832         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
14833         the first RTX.
14834         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
14835         operand while calling simple_cst_equal.
14836         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
14837         operand is the cleanup expression, the third is the RTL_EXPR.
14838         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
14839
14840 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
14841
14842         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
14843
14844 2001-07-31  matthew green  <mrg@eterna.com.au>
14845
14846         * config.gcc (i386-*-netbsdelf): New description.
14847         * config/i386/netbsd-elf.h: New file.
14848
14849 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
14850
14851         * loop.c (check_dbra_loop): Use single_set to compute
14852         jump_label.
14853
14854 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
14855
14856         PowerPC reorg and support for powerpc64-*-linux*.
14857
14858         Also fixes emitting of constants on 32 bit and 64 bit
14859         platforms.
14860
14861         * config.gcc: powerpc64-*-linux* is a new target.
14862         Things that needed aix.h now also include xcoff.h
14863
14864         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
14865         xcoff.h.
14866         Move AIX specific stuff into aix.h.
14867         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
14868         with more than just XCOFF now.
14869         (SET_ASM_OP): Remove, now defined where needed.
14870         (FUNCTION_PROLOGUE): New macro definition.
14871         (FUNCTION_EPILOGUE): New macro definition.
14872         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
14873
14874         * config/rs6000/xcoff.h: New file.
14875
14876         * config/rs6000/linux64.h: New file.
14877
14878         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
14879
14880 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
14881
14882         * rs6000.c (print_operand_address): Handle ELF syntax.
14883         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
14884         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
14885         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
14886
14887 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
14888
14889         * rs6000.c (rs6000_override_options): Only disable
14890         flag_function_sections for XCOFF.
14891         (exact_log2_cint_operand): New predicate.
14892         (reg_or_{add,sub}_cint64_operand): New predicates.
14893         (add_operand): Compare CONST_INT with fewer function calls.
14894         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
14895         (print_operand, case 'p'): Ensure positive operand.
14896         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
14897         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
14898         (PREDICATE_CODES): Add new predicates.
14899         * rs6000.md (addsi3): Split 32-bit constants more correctly.
14900         (divsi3, modsi3): Ensure positive power-of-2.
14901         (adddi3): Use new predicate.  Split 32-bit constants more
14902         correctly.  Re-arrange splitter to handle any constant.
14903         (subdi3): Use new predicate.
14904         (divdi3, moddi3): Ensure positive power-of-2.
14905         (movdi): Use rs6000_emit_set_const.
14906         (load_toc_v4_pic_di): Delete.
14907
14908 2001-07-31  Graham Stott <grahams@redhat.com>
14909
14910         * function.c (pad_below): Revert 2001-07-26 patch.
14911
14912 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
14913
14914         * reg-stack (convert_regs_1): Fix best edge condition.
14915
14916 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
14917
14918         * jump.c (duplicate_loop_exit_test): Better test for jumps
14919         entering the loop; create loop pre_header.
14920
14921 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
14922
14923         * doc/install.texi: Add s390 and s390x as new targets.
14924         * doc/invoke.texi: Add documentation of S/390 and zSeries
14925         target options.
14926         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
14927
14928 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
14929
14930         * config/m68k/m68k.md: Replace all general_operand with
14931         nonimmediate_operand for all destinations.
14932         * config/m68k/m68k.c (not_sp_operand): Likewise.
14933
14934 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
14935
14936         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
14937
14938 2001-07-30  Richard Henderson  <rth@redhat.com>
14939
14940         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
14941         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
14942
14943 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
14944
14945         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
14946         Add missing doc strings
14947         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
14948         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
14949
14950 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
14951
14952         * i386.c (ix86_output_main_function_alignment_hack): New function.
14953         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
14954
14955         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
14956         edges by EDGE_DFS_BACK flag.
14957         (dump_edge_info): Add dfs_back flag.
14958         * basic-block.h (EDGE_DFS_BACK): New constant.
14959         (mark_dfs_back_edges): Declare.
14960         * alias.c (loop_p): Remove.
14961         (mark_constant_function): Use mark_dfs_back_edges.
14962
14963         * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
14964         (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
14965         (compensate_edge): Break out from ...
14966         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
14967         (convert_regs_2): Set block_done once block is really done;
14968         Do updating of the predecessors counts.
14969
14970         * toplev.c (rest_of_compilation): Recompute block_for_insn
14971         before post-reload cfg_cleanup.
14972         * function.c (thread_prologue_epilogue_insns):
14973         Call set_block_for_new_insns when emitting prologue directly.
14974
14975 2001-07-30  Andreas Jaeger  <aj@suse.de>
14976
14977         * jump.c: Add prototype for mark_modified_reg.
14978
14979         * cse.c (set_live_p): Add unused attribute.
14980
14981         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
14982         overflow.
14983         (scan_for_source_files): Use long for count to avoid overflow.
14984         (output_data): Likewise.
14985         (output_data): Don't use string concatatenation to silence gcc
14986         -traditional.
14987
14988         * predict.c: Fix typos and grammar.
14989
14990         * gcse.c (insert_insn_end_bb): Remove unused variables.
14991
14992 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
14993
14994         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
14995         (attempt_auto_inc): LIkewise.
14996         (mark_used_reg): Likewise.
14997         (try_pre_increment_1): Likewise.
14998         * regclass.c (regclass): Likewise.
14999         * global.c (allocno_compare): Update comment; change scaling factor.
15000         * local-alloc.c (QTY_CMP_PRI): Likewise.
15001         * regs.h (REG_FREQ_FROM_BB): New.
15002         (REG_FREQ_MAX): Likewise.
15003
15004 2001-07-30  H.J. Lu <hjl@gnu.org>
15005
15006         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
15007         -D_GNU_SOURCE.
15008
15009 2001-07-30  H.J. Lu  (hjl@gnu.org)
15010
15011         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
15012         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
15013         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
15014
15015 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
15016
15017         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
15018         as -mthumb-interwork when -mcpu=arm7 is specified.
15019
15020 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
15021
15022         * predict.def (noreturn, loop branch, loop exit): Mark as first
15023         match heuristics.
15024
15025 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
15026
15027         * combine.c (try_combine): Avoid barrier after noop jumps.
15028
15029 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15030
15031         * cpphash.h (struct cpp_reader): Remove import_warning.
15032         * cpplib.c (skip_rest_of_line): Don't bother turning off
15033         macro expansion.
15034         (parse_include): Move include handling to...
15035         (do_include_common): ... here.  Move import warning from...
15036         (do_import): ... here.
15037         (do_pragma_poison): Don't do a callback for poison identifiers.
15038         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
15039         * cppmain.c (setup_callbacks): Similarly.
15040
15041 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
15042
15043         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
15044         handle multiple sets.
15045         * except.c (sjlj_mark_call_sites): .... here.
15046         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
15047
15048 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
15049
15050         Suggested by Richard Henderson and Richard Kenner:
15051         * combine.c (recog_for_combine): Use the fake recog
15052         only if instruction does not match.
15053         * rtl.h (NOOP_MOVE_INSN_CODE): New.
15054         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
15055
15056         * combine.c (try_combine): Discover noop jump as direct jump.
15057
15058 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
15059
15060         * df.c (df_rd_global_compute): Add successors to worklist, not
15061         current item.
15062         (df_ru_global_compute): Ditto.
15063
15064 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
15065
15066         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
15067         increment REG_N_SETS.
15068
15069 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
15070
15071         * sbitmap.h: New prototype for sbitmap_a_xor_b.
15072
15073         * sbitmap.c (sbitmap_a_xor_b): New function.
15074         ifdef the basic block stuff on IN_GCC.
15075
15076 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15077
15078         * cppexp.c (parse_defined): Always record the macro name.
15079         (lex): Don't worry about identifiers, or special-case
15080         CPP_NOT here.
15081         (_cpp_parse_expr): Figure out at the end of the routine
15082         whether we saw a valid !defined() expression.
15083         * cppfiles.c (stack_include_file): Update for mi_valid.
15084         (_cpp_pop_file_buffer): Similarly.
15085         * cpplex.c (_cpp_lex_token): Similarly.
15086         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
15087         mi_if_not_defined, mi_lexed): Remove.
15088         (mi_valid): New.
15089         * cpplib.c (do_if): Simplify.
15090         (do_endif, push_conditional, _cpp_handle_directive): Update
15091         for renaming of mi_state to mi_valid.
15092 doc:
15093         * cpp.texi: Add index entries for digraphs, and add comment
15094         that C++ refers to them as alternative tokens.
15095
15096 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
15097
15098         * basic-block.h (CLEANUP_PRE_LOOP): New.
15099         * except.c (finish_eh_generation): Update call of cleanup_cfg.
15100         * sibcall.c (optimize_sibling_calls): Likewise.
15101         * toplev.c (rest_of_compilation): Likewise.
15102         * flow.c (try_forward_edges): Take argument MODE;
15103         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
15104         (try_optimize_cfg): Update call of try_forward_edges.
15105
15106 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
15107                                 Jan Hubicka  <jh@suse.cz>
15108
15109         * (validate_replace_rtx_1): Fix simplification of MINUS.
15110
15111 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
15112
15113         PR preprocessor/3669
15114         * cppinit.c (init_dependency_output): Turn off dump requests
15115         if sending dependencies to stdout.
15116
15117 2001-07-28  Richard Henderson  <rth@redhat.com>
15118
15119         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
15120         not optimizing.
15121
15122 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
15123
15124         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
15125
15126 2001-07-28  Kazu Hirata  <kazu@hxi.com>
15127
15128         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
15129         is VAR_DECL first to prevent an ICE.
15130
15131 2001-07-28  Richard Henderson  <rth@redhat.com>
15132
15133         * varasm.c (immed_real_const_1): Don't elide special cases for
15134         nested functions.
15135         (clear_const_double_mem): Clear const_tiny_rtx too.
15136
15137 2001-07-28  Richard Henderson  <rth@redhat.com>
15138
15139         * dwarf2out.c (dw_val_class_offset): New.
15140         (struct dw_ranges_struct, dw_ranges_ref): New.
15141         (ranges_table, ranges_table_allocated): New.
15142         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
15143         (add_AT_offset, add_ranges, output_ranges): New.
15144         (print_die, output_die): Handle dw_val_class_offset.
15145         (attr_checksum, size_of_die, value_format): Likewise.
15146         (gen_lexical_block_die): Handle non-contiguous blocks.
15147         (gen_block_die): Likewise.
15148         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
15149         if needed.  Dump the ranges table.
15150         * final.c (final_start_function): Remove unnecessary notes and
15151         rebuild the block tree before numbering the blocks.
15152         * function.c (reorder_blocks_0): Walk the existing block tree
15153         to unmark all blocks.
15154         (reorder_blocks_1): Create block fragments when duplicate block
15155         notes are seen.
15156         (reorder_fix_fragments): New.
15157         (reorder_blocks): Call it.
15158         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
15159
15160 2001-07-28  Richard Henderson  <rth@redhat.com>
15161
15162         * emit-rtl.c (adjust_address): Make a copy of the memory address.
15163
15164 2001-07-28  Richard Henderson  <rth@redhat.com>
15165
15166         * flow.c (add_to_mem_set_list): New function.
15167         (init_propagate_block_info): Use it.
15168         (mark_set_1): Likewise.
15169         (insn_dead_p): Canonicalize memory address for dead store
15170         comparison.  Allow wider mode stores to kill narrower mode stores.
15171         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
15172         (invalidate_mems_from_set): Don't handle MEMs.
15173
15174 2001-07-28  Kazu Hirata  <kazu@hxi.com>
15175
15176         * config/h8300/h8300.h: Fix formatting.
15177
15178 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
15179
15180         * basic-block.h (EDGE_FREQUENCY): New macro.
15181         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
15182         for new BB/edges.
15183         * flow.c (find_sub_basic_blocks): Likewise.
15184         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
15185         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
15186
15187         * predict.c (DEF_PREDICTOR): New argument FLAGS.
15188         (HITRATE): New macro.
15189         (PRED_FLAG_FIRST_MATCH): New constant.
15190         (predictor_info): New field flgags.
15191         (combine_predictions_for_insn): Use DS theory to combine
15192         probabilities; set the edge probabilities when finished.
15193         (estimate_probability): Avoid duplicated matches
15194         of LOOP_BRANCH heuristics for nested loops; update comment.
15195         * predict.def: Add flags for each prediction, set probabilities
15196         according to B&L paper.
15197         * predict.h (DEF_PREDICTOR): New argument FLAGS.
15198
15199         * profile.c (compute_branch_probabilities):  Cleanup way the edge
15200         probabilities are computed and REG_BR_PROB notes are dropped; if
15201         values does not match, emit error.
15202         (init_branch_prob): Do error instead of warning when profile driven
15203         feedback is missing or corrupt.
15204
15205 2001-07-27  DJ Delorie  <dj@redhat.com>
15206
15207         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
15208         against a constant, try to adjust the compare to have the desired
15209         constant in it so that min/max optimizations happen more often.
15210
15211 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
15212
15213         * flow.c (last_loop_beg_note): New function.
15214         (redirect_edge_and_branch): Use it.
15215         (split_edge): Likewise.
15216
15217         * alias.c (loop_p): Avoid uninitialized memory access.
15218
15219         * flow.c (try_forward_edges): Avoid accessing freed memory.
15220
15221         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
15222         variable access.
15223
15224 2001-07-26  Andrew Haley  <aph@redhat.com>
15225         Joern Rennecke <amylaar@redhat.com>
15226
15227         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
15228         (SUBTARGET_CPP_ENDIAN_SPEC): New.
15229         (SUBTARGET_CPP_SPEC): New.
15230         (CPP_SPEC): Remove.
15231         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
15232         (SUBTARGET_CPP_PTR_SPEC): New.
15233         (CPP_DEFAULT_CPU_SPEC): New.
15234         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
15235         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
15236         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
15237         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
15238         (SUBTARGET_CPP_SPEC): Define as an empty string.
15239
15240 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
15241
15242         * doc/install.texi (Configuration): Properly link the host
15243         specific instructions also when generating HTML.
15244
15245 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
15246
15247         * flow.c (redirect_edge_and_branch_force): Test
15248         target->global_live_at_start.
15249
15250 2001-07-26  Richard Henderson  <rth@redhat.com>
15251
15252         * simplify-rtx.c (avoid_constant_pool_reference): Export.
15253         * rtl.h (avoid_constant_pool_reference): Declare it.
15254         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
15255         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
15256
15257 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
15258
15259         * rtl.h (cleanup_barriers): Declare.
15260         * jump.c (cleanup_barriers): New function.
15261         * toplev.c (rest_of_compilation): Call cleanup_barriers
15262         before loop optimizer and after bb_reorder.
15263
15264         * flow.c (back_edge_of_syntactic_loop_p): New.
15265         (split_edge): Use it.
15266
15267 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15268
15269         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
15270
15271 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
15272
15273         * cse.c (cse_process_notes): Replace any registers if the address
15274         remains valid.
15275
15276 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
15277
15278         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
15279         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
15280         (propagate_block): Update prototype.
15281         * flow.c (update_life_info): Simplify the CFG and
15282         recalculate the global regs which are alive when
15283         removing dead code during a global update.
15284         (propagate_block): Return non-zero if an INSN is
15285         deleted.
15286
15287 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15288
15289         * Makefile.in (LIBICONV): Define.
15290
15291 2001-07-26  Catherine Moore  <clm@redhat.com>
15292
15293         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
15294         of conditional to avoid tree checking errors.
15295
15296 2001-07-26  Kazu Hirata  <kazu@hxi.com>
15297
15298         * regmove.c (regmove_optimize): Don't replace a reg with
15299         another reg of a different mode.
15300
15301 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
15302
15303         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
15304         limit length of dependency flush list.
15305         * params.h (MAX_PENDING_LIST_LENGTH): Define.
15306         * sched-int.h  (struct deps): Add pending_flush_length field.
15307         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
15308         has 1 element in it.
15309         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
15310         (sched_analyze): After a jump, if the pending memory flush list is too
15311         large, flush the pending lists.
15312         (init_deps): Initialize pending_flush_length to 0.
15313         * doc/invoke.texi (max_pending_list_length): Document parameter.
15314
15315 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
15316
15317         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
15318         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
15319         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
15320
15321 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15322
15323         * cpphash.h (struct_lexer_state): Delete was_skipping.
15324         Move skipping here from struct cpp_reader.
15325         * cpplex.c (parse_identifier): Update.
15326         (_cpp_lex_token): Don't skip tokens in a directive.
15327         * cpplib.c (struct if_stack): Update.
15328         (start_directive, end_directive): Don't change skipping state.
15329         (_cpp_handle_directive): Update.
15330         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
15331         (do_else, do_endif): Update; only check for excess tokens if not
15332         in a skipped conditional block.
15333         (push_conditional): Update for new struct if_stack.
15334
15335 2001-07-26  Graham Stott  <grahams@redhat.com>
15336
15337         * function.c (locate_and_pad_parm): Also pad initial offset
15338         so that the total argument size also includes the padding.
15339
15340 2001-07-26  Graham Stott <grahams@redhat.com>
15341
15342         * gensupport.c (alter_output_for_insn): Correct enable checking failure
15343         change XSTR to XTMPL.
15344
15345         (process_one_cond_exec): Likewise
15346
15347 2001-07-25  Richard Henderson  <rth@redhat.com>
15348
15349         * varasm.c (assemble_variable): Create DECL_RTL before setting
15350         TREE_ASM_WRITTEN.
15351
15352 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
15353
15354         * predict.c (estimate_probability): Avoid duplicated predictions.
15355
15356         * loop.c (find_and_verify_loops): Grok multiple barriers.
15357
15358 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15359
15360         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
15361
15362         * dbxout.c: Consistently use putc instead of fputc.
15363         (print_wide_int): New function; call instead of direct fprintf.
15364         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
15365         (dbxout_type_fields, dbxout_type_method_1): Likewise.
15366         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
15367         (print_int_cst_octal): Likewise.
15368         (print_octal): Show we wrote characters.
15369         (dbxout_type): Set have_used_extensions in more places.
15370
15371 2001-07-25  Catherine Moore  <clm@redhat.com>
15372
15373         * config/v850/v850.c (v850_va_arg):  Use addr
15374         instead of valist to build incr.
15375
15376 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
15377
15378         * flow.c (delete_dead_jumptables): New function.
15379         (life_analyzis): Call it.
15380         * bb-reorder.c (skip_insns_after_block): Handle contradictory
15381         sequences.
15382
15383 2001-07-25  Richard Henderson  <rth@redhat.com>
15384
15385         * except.c (reachable_handlers): Handle a region being removed
15386         out from under a RESX.
15387
15388 2001-07-25  Richard Henderson  <rth@redhat.com>
15389
15390         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
15391         swap GE/GT if it is an fp comparison.
15392
15393 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
15394
15395         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
15396         operands.
15397
15398 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
15399
15400         * ssa.c (rename_insn_1): Do not wrap an assignment to a
15401         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
15402         glitch.
15403
15404         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
15405         throw an exception.
15406         (visit_expression): When attempting to simplify an expression,
15407         retrieve any modes for arguments before they are simplified
15408         to constants.
15409
15410 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
15411             Janis Johnson  <janis@us.ibm.com>
15412
15413         * stmt.c (expand_goto): A nonlocal goto can be a call too.
15414         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
15415         pointer parameters to match documented usage of nonlocal_goto.
15416         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
15417         parameters to their correct order.
15418         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
15419         parameters to their correct order.
15420
15421 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
15422
15423         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
15424
15425 2001-07-25  Jan Hubicka  <jh@suse.cz>
15426             Richard Henderson  <rth@redhat.com>
15427
15428         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
15429         the sequence.
15430         (make_edges): New argument update_p; populate the edge cache if set.
15431         (find_basic_blocks): Update make_edges invocation.
15432
15433 2001-07-24  Joel Sherrill <joel@OARcorp.com>
15434
15435         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
15436
15437 2001-07-24  Joel Sherrill <joel@OARcorp.com>
15438
15439         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
15440         -Acpu and -Amachine.h.
15441         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
15442         Corrected header to say ELF not a.out.
15443         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
15444         when given -msoft-float.
15445
15446 2001-07-24  Joel Sherrill <joel@OARcorp.com>
15447
15448         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
15449         extra multilib parts like arm-elf.
15450         (i960-*-coff*, i960-*-rtems): Should not use collect2.
15451         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
15452         crtfini.o as extra multilib parts.
15453
15454 2001-07-24  Joel Sherrill <joel@OARcorp.com>
15455
15456         * configure.in: Add rtems as a supported thread model.
15457         * gthr-rtems.h: Add missing entry point __gthread_active_p.
15458         * configure: Rebuilt.
15459
15460 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
15461
15462         * stor-layout.c (get_mode_alignment): make it work when
15463         BITS_PER_UNIT is not a power of two.
15464         * builtins.c (get_pointer_alignment): Likewise.
15465
15466 2001-07-24  Richard Henderson  <rth@redhat.com>
15467
15468         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
15469         the retrieved constant into the expected mode.
15470
15471 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
15472
15473         * flow.c (try_simplify_condjump): Avoid duplicated edges.
15474         (verify_flow_info): Check for duplicated edges; clarify
15475         error reporting.
15476
15477         * flow.c (block_label): Update basic_block_for_insn.
15478         (commit_edge_insertions): Call compute_bb_for_insn.
15479
15480         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
15481         returns too.
15482
15483         * flow.c (redirect_edge_and_branch,
15484         try_optimize_cfg): Use redirect_edge_succ_nodup
15485         (redirect_edge_succ_nodup): New.
15486         * basic_block.h (redirect_edge_succ_nodup): Declare.
15487
15488         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
15489         after gcse.
15490
15491 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
15492
15493         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
15494         (try_crossjump_to_edge): Update commetns.
15495         (try_crossjump_bb): Likewise.
15496
15497 2001-07-24  Richard Henderson  <rth@redhat.com>
15498
15499         * combine.c (distribute_notes): Move set of need_refresh
15500         for noop_move_p down to catch all cases.
15501
15502 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
15503
15504         * recog.c (split_all_insns_noflow): New.
15505         * rtl.h (split_all_insns_noflow): Declare.
15506         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
15507         * m68hc11.c (m68hc11_reorg): Likewise.
15508         * sh.c (machine_dependent_reorg): Likewise.
15509         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
15510         call.
15511
15512 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
15513
15514         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
15515         (ashlsi3_n splitter): Likewise.
15516         (lshrsi3_n splitter): Likewise.
15517
15518         (GOTaddr2picreg): Make const SImode.
15519         (sym_label2reg): Likewise.
15520         (symGOT2reg): Likewise.
15521         (symGOTOFF2reg) Likewise.
15522
15523         (casesi_worker_0): Make unspec SImode.
15524
15525 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
15526
15527         * config/sh/sh.c (barrier_align): Check that an operand really is
15528         an insn before extracting its INSN_CODE.
15529
15530 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
15531
15532         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
15533         dangling else.
15534
15535         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
15536         for SImode to prevent overflow.
15537
15538 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15539
15540         * config/mips/irix6-libc-compat.c: New file.
15541         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
15542         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
15543         passing workaround.
15544
15545 2001-07-24  lars brinkhoff  <lars@nocrew.org>
15546
15547         * rtl.texi (REG_POINTER): Document.
15548         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
15549         QFmode, HFmode, TQFmode, QCmode, and HCmode.
15550
15551 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
15552
15553         * flow.c (delete_noop_moves): Do not confuse libcall regions.
15554
15555 2001-07-23  Richard Henderson  <rth@redhat.com>
15556
15557         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
15558
15559 2001-07-23  Kazu Hirata  <kazu@hxi.com>
15560
15561         * config/h8300/h8300-protos.h: Add a prototype for
15562         general_operand_dst_push.
15563         * config/h8300/h8300.c (general_operand_dst_push): New.
15564         * config/h8300/h8300.h (OK_FOR_T): New.
15565         (EXTRA_CONSTRAINT): Use it.
15566         * config/h8300/h8300.md (movqi_push): Remove and integrate into
15567         the existing movqi pattern.
15568         (movhi_push): Likewise.
15569
15570         * reload.c: Fix comment typos.
15571
15572 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
15573
15574         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
15575
15576 2001-07-23  H.J. Lu  (hjl@gnu.org)
15577
15578         * doc/extend.texi: Update __builtin_return_address and
15579         __builtin_frame_address.
15580
15581 2001-07-23  Richard Henderson  <rth@redhat.com>
15582
15583         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
15584         before CSE.
15585         * config/i386/i386.md: New setcc+movzbl peephole2.
15586
15587 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15588
15589         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
15590         * objc/objc-act.c: Include debug.h.
15591         (synth_module_prologue): Save and restore debug hooks too.
15592
15593 2001-07-23  lars brinkhoff  <lars@nocrew.org>
15594
15595         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
15596         and C4X_FLOAT_FORMAT.
15597         (BOOL_TYPE_SIZE): Document.
15598
15599 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
15600
15601         * unroll.c (loop_iterations): Fix miscalculation of initial
15602         giv offset.
15603
15604 2001-07-13  Andrew Haley  <aph@redhat.com>
15605
15606         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
15607         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
15608         * config/sh/sh.c (sh_can_redirect_branch): New function.
15609         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
15610         * reorg.c (steal_delay_list_from_target): Use
15611         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
15612
15613 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
15614
15615         * flow.c (try_simplify_condjump): Unlink insn chain on
15616         fallthru edge; use can_fallthru.
15617
15618 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
15619
15620         * basic-block.h (find_sub_basic_block): Declare.
15621         * flow.c (make_edges): New arguments MIN and MAX;
15622         (find_sub_basic_blocks): Revamp to use make_edges
15623         and purge_dead_edges.
15624         (find_basic_blocks): Update call of find_sub_basic_block.
15625
15626         * recog.c (split_all_insns): Always expect CFG to be consistent;
15627         call find_sub_basic_blocks in case something has changed.
15628         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
15629         has been built.
15630
15631         * basic-block.h (delete_noop_moves): Declare.
15632         * combine.c (combine_instructions): Call it.
15633         (recog_for_combine): Tolerate noop moves
15634         (distribute_notes): Force refresh when register dies at noop move.
15635         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
15636         too.
15637         (life_analysis): Update delete_noop_moves call.
15638         (set_noop_p): Move too ...
15639         * rtlanal.c (noop_move_p): ... here.
15640         * rtl.h (noop_move_p): Declare.
15641
15642         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
15643         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
15644         after combine.
15645         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
15646         (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
15647
15648 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
15649
15650         * reload.c (push_reload): Fix typo in comment.
15651         (find_reloads_address): Ditto.
15652         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
15653
15654 2001-07-22  Richard Henderson  <rth@redhat.com>
15655
15656         * flow.c: Grammar check and clarify a lot of comments.
15657         (try_simplify_condjump): Rename variables to be clearer.
15658         (try_forward_edges): Skip complex and fallthru edges.
15659         Rearrange tests to avoid duplicate checks.
15660         (flow_find_cross_jump): Likewise.
15661         (outgoing_edges_match): Allow match if neither branch has
15662         probability data.  Loosen probability match to 5%.
15663         (try_crossjump_to_edge): Hoist repeated indirection into
15664         local variables.
15665         (try_crossjump_bb): Don't check complex edges.  Eliminate
15666         redundant crossjump tests.
15667         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
15668         checks before more expensive checks.
15669
15670 2001-07-22  Richard Henderson  <rth@redhat.com>
15671
15672         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
15673         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
15674         arguments.
15675
15676 2001-07-22  Richard Henderson  <rth@redhat.com>
15677
15678         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
15679         (const_sint32_operand): Likewise.
15680         * m68k.md (anon mulsi pattern): Use const_int_operand not
15681         const_sint32_operand.
15682         (umulsi3_highpart): Zero extend a constant input.
15683         (smulsi3_highpart): Don't bother checking SImode constant.
15684         (const_umulsi3_highpart): Give op3 DImode.
15685         (const_smulsi3_highpart): Likewise.
15686
15687 2001-07-22  Richard Henderson  <rth@redhat.com>
15688
15689         * flow.c (split_block): Make sure bb_note is included in the
15690         new block when splitting before a label.
15691
15692 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
15693
15694         * basic-block.h (redirect_edge_and_branch_force,
15695         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
15696         * flow.c (redirect_edge_and_branch_force,
15697         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
15698         (redirect_edge_and_branch_force): Fix copying of lifeness information.
15699         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
15700         * ifcvt.c (dead_or_predictable): Take BB as an new destination
15701         instead of label; update CFG after transformation.
15702         (find_if_case_1): Update call, use redirect_edge_and_branch_force
15703         for finishing the transformation; handle even case where ELSE
15704         does not follow THEN.
15705         (find_if_case_2): Update call of dead_or_predictable; simplify
15706         CFG update.
15707
15708         * emit-rtl.c (split_branch_probability): New global variable.
15709         (try_split): Take care to set split_branch_probability and
15710         create REG_BR_PROB note for new jump insns.
15711         * md.texi (define_split): Document new feature.
15712
15713         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
15714
15715 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
15716
15717         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
15718         (asm_out_file): Remove redundant declaration.
15719         (assemble_asm): Remove old #if 0 block.
15720         (assemble_variable): Remove end of function; debug output is
15721         now handled with global_decl.  Remove old #if 0 block.  Update.
15722         Remove saved_in_section and associated no-op code.
15723         * Makefile.in (varasm.o): Correct dependencies.
15724
15725 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
15726
15727         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
15728         the definition in defaults.h.
15729
15730 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
15731
15732         * jump.c: Update comments.
15733         (delete_barrier_successors, delete_unreferenced_labels,
15734         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
15735         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
15736         jump_optimize, jump_optimize_minimal): Kill.
15737         (rebuild_jump_labels): Move code from jump_optimize_1.
15738         (purge_line_number_notes): Likewise.
15739         (copy_loop_headers): Likewise.
15740         * reg-stack.c: Update comment.
15741         * stmt.c: Likewise.
15742         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
15743         JUMP_AFTER_REGSCAN): Kill.
15744         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
15745         purge_line_number_notes and copy_loop_headers.
15746
15747 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
15748            Richard Henderson  <rth@redhat.com>
15749
15750         * dbxout.c (dbxout_global_decl): New.
15751         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
15752         * sdbout.c (sdbout_finish): New.
15753         (sdbout_debug_hooks): Use it, add comments.
15754         (sdbout_global_decl): Defer initialised public vars to
15755         sdbout_finish.
15756         * varasm.c (assemble_variable): Don't output debug information
15757         for file-scope variables.
15758
15759 2001-07-22  Richard Henderson  <rth@redhat.com>
15760
15761         * config/alpha/alpha.c (get_trap_mode_suffix): New.
15762         (get_round_mode_suffix): New.
15763         (print_operand): Use them for [/].  Remove support for [&'`()+].
15764         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
15765         * config/alpha/alpha.md (attr round_suffix): New.
15766         (attr trap_suffix): New.
15767         (all insns): Set them appropriately.  Use %/ instead of the
15768         myriad punctuators.
15769
15770 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15771
15772         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
15773
15774 2001-07-22  Richard Henderson  <rth@redhat.com>
15775
15776         * regrename.c (regrename_optimize): Compute nregs for each
15777         potential target register.
15778
15779 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
15780            Richard Henderson  <rth@redhat.com>
15781
15782         * dbxout.c (dbxout_global_decl): New.
15783         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
15784         * sdbout.c (sdbout_finish): New.
15785         (sdbout_debug_hooks): Use it, add comments.
15786         (sdbout_global_decl): Defer initialised public vars to
15787         sdbout_finish.
15788         * varasm.c (assemble_variable): Don't output debug information
15789         for file-scope variables.
15790
15791 2001-07-21  H.J. Lu  (hjl@gnu.org)
15792
15793         * config/mips/mips.c (mips_cpu): Moved into ...
15794         (override_options): Here.
15795
15796         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
15797         mips_tune.
15798         (mips_cpu): Removed.
15799
15800 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15801
15802         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
15803         ("iorqi3"): Likewise.
15804         ("xorqi3"): Likewise.
15805         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
15806         ("*subhi3_sp): Likewise.
15807         ("*subhi3"): Likewise.
15808         ("extendhisi2"): Accept D, X and Y as source operand to avoid
15809         reload problems.
15810
15811 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
15812
15813         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
15814         * config/freebsd.h: Likewise.
15815         * config/linux.h: Likewise.
15816         * config/openbsd.h: Likewise.
15817         * config/alpha/linux-elf.h: Likewise.
15818         * config/arm/linux-elf.h: Likewise.
15819         * config/d30v/d30v.h: Likewise.
15820         * config/fr30/fr30.h: Likewise.
15821         * config/ia64/aix.h: Likewise.
15822         * config/ia64/ia64.h: Likewise.
15823         * config/mips/linux.h: Likewise.
15824         * config/pj/pj.h: Likewise.
15825         * config/rs6000/linux.h: Likewise.
15826         * config/sparc/linux.h: Likewise.
15827         * config/sparc/linux64.h: Likewise.
15828
15829 2001-07-20  Bruce Korb  <bkorb@gnu.org>
15830
15831         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
15832         because getc() and char* may disagree on signedness.
15833
15834 2001-07-20  Richard Henderson  <rth@redhat.com>
15835
15836         * doc/rtl.texi (REG_DEAD): Update for current semantics.
15837
15838         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
15839         insns to delete in the presence of cc0 in a jump insn.
15840
15841 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
15842                                 Jan Hubicka  <jh@suse.cz>
15843
15844         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
15845         of doing the change by hand.
15846
15847 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
15848
15849         * rtlanal.c (set_noop_p): Return true for noop jumps.
15850
15851         * expr.c (emit_single_push_insn): Add call to push expander.
15852         * expr.h (optab_index): Add OTI_push
15853         (push_optab): New constant.
15854         * genopinit.c (optabs): Add push_optab.
15855         * optabs.c (init_optab): Init push optab.
15856         * md.texi (push??1): Document
15857
15858 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15859
15860         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
15861         expand to emit the pattern; put a REG_INC note for push/pop
15862         instructions.
15863         ("movdf", "movdf_internal"): Likewise.
15864         ("movsi", "movsi_internal"): Likewise.
15865         ("movsf", "movsf_internal"): Likewise.
15866         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
15867
15868 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15869
15870         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
15871         gen_highpart.
15872
15873 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
15874
15875         * params.def: Change default max inline insns to 100.
15876
15877 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
15878
15879         * combine.c (combine_simplify_rtx): Generate a new shift operation
15880         when simplifying the first operand of a (neg (ashift)) expression.
15881
15882 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
15883
15884         * regclass.c (N_REG_INTS): Use only 32 bits per element.
15885
15886 2001-07-20  Kelley Cook  <kelley.cook@home.com>
15887
15888         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
15889         information.   Move rest into ...
15890         (*-*-solaris): ... here.  Eliminate redundant information and
15891         reword necessary packages section.  Delete 4.x assembler bug info.
15892         (sparc-sun-*): Merge into ...
15893         (sparc-sun-sunos*): here.
15894
15895 2001-07-20  Catherine Moore  <clm@redhat.com>
15896
15897         * config/v850/v850.md (casesi): Generate LABEL_REF
15898         with Pmode.
15899
15900 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
15901
15902         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
15903         * i386.c (ix86_zero_extend_to_Pmode): Make global.
15904         * i386.md (strclrsi expander): Use it.
15905
15906 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
15907
15908         * integrate.c (copy_insn_list): handle
15909         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
15910         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
15911         identically as to CODE_LABEL.
15912
15913         * fold-const (fold): Convert A/B/C to A/(B*C) and
15914         A/(B/C) to (A/B)*C
15915
15916         * except.c (connect_post_landing_pads): Delete the RESX insns.
15917
15918 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
15919
15920         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
15921
15922         * config/mips/mips.md (nmadd/nmsub): Use macro.
15923
15924 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
15925
15926         * cppinit.c (remove_dup_dir): Make static.
15927         (remove_dup_dirs): Make static. Only warn about preempting a
15928         system directory with a non-system directory.
15929
15930 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
15931
15932         * ifcvt.c (noce_try_store_flag_constants): Correct order
15933         of parameters to trunc_int_for_mode.
15934
15935 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
15936
15937         * reorg.c (fill_simple_delay_slots): If an instruction might throw
15938         an exception that will be caught within this function, do not fill
15939         its delay slot with any subsequent instruction.
15940
15941 2001-07-19  Steve Ellcey <sje@cup.hp.com>
15942
15943         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
15944         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
15945         pointer extension instruction.
15946         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
15947         * simplify-rtx.c (simplify_unary_operation) Likewise.
15948         * explow.c (convert_memory_address) Check value of
15949         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
15950         less than zero.
15951         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
15952         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
15953         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
15954         Add Multilib Support.
15955         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
15956         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
15957         Add Multilib Support.
15958         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
15959         support.
15960         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
15961         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
15962         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
15963
15964 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
15965
15966         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
15967         old and new operands in `<', `3' and `b'.
15968
15969 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
15970
15971         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
15972         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
15973         (toplev.o): Don't depend on xcoffout.h.
15974         * c-decl.c: Include debug.h
15975         (duplicate_decls): Use debug hook.
15976         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
15977         (dbx_debug_hooks, xcoff_debug_hooks): Update.
15978         (dbxout_types): Remove.
15979         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
15980         * debug.c (do_nothing_debug_hooks): Update.
15981         (debug_true_tree, debug_nothing_rtx): New.
15982         * debug.h (struct rtx_def): New.
15983         (struct gcc_debug_hooks): New hooks ignore_block,
15984         outlining_inline_function and label.
15985         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
15986         dwarf2out_frame_finish): New.
15987         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
15988         Make static, update prototype.
15989         (dwarf2_debug_hooks): Update.
15990         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
15991         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
15992         * dwarfout.c (dwarf_debug_hooks): Update.
15993         * emit-rtl.c: Include debug.h.
15994         (remove_unnecessary_notes): Use debug hook.
15995         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
15996         (final_scan_insn): Use debug hook.
15997         * integrate.c (output_inline_function): Use debug hook.
15998         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
15999         (sdb_debug_hooks): Update.
16000         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
16001         * toplev.c: Don't include xcoffout.h.
16002         (note_outlining_of_inline_function, debug_ignore_block): Remove.
16003         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
16004         Remove.
16005         * tree.h (dwarf2out_do_frame): Remove.
16006
16007 2001-07-19  Catherine Moore  <clm@cygnus.com>
16008
16009         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
16010
16011 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
16012
16013         * reload1.c (eliminate_regs_in_insn): When updating a set
16014         to the frame pointer to the hardware frame pointer, perform
16015         the update always not just when REPLACE is set.
16016
16017         * reload1.c (choose_reload_regs): Don't inherit a reload
16018         that crosses multiple registers if registers past the first
16019         don't fit in the desired class.
16020
16021         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
16022         when negating constants.
16023
16024 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
16025
16026         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
16027         * doc/tree.texi: Ditto.
16028
16029 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
16030             Jakub Jelinek  <jakub@redhat.com>
16031
16032         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
16033         (extract_cie_info): Handle "eh" augmentation properly,
16034         remember eh_ptr.
16035         (struct frame_state, __frame_state_for): New.
16036
16037 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16038
16039         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
16040         HANDLE_SYSV_PRAGMA): Define.
16041         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
16042         previous args.
16043         (copy_object): Caller changed.
16044
16045 2001-07-19  Andreas Schwab  <schwab@suse.de>
16046
16047         * configure.in (assembler dwarf2 debug_line support): Define nop
16048         insn for m68k.
16049         * configure: Regenerated.
16050
16051 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
16052
16053         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
16054         dwarfout.h.
16055         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
16056         to conditionally compiled block.
16057         (dbx_debug_hooks, xcoff_debug_hooks): Update.
16058         * dbxout.h (dbxout_function): Remove.
16059         * debug.c (do_nothing_debug_hooks): Update.
16060         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
16061         global_decl, deferred_inline_function.
16062         * dwarf2out.c (dwarf2_debug_hooks): Update.
16063         (dwarf2out_global_decl): New.
16064         * dwarfout.c: Don't include dwarfout.h.
16065         (dwarfout_global_decl, dwarfout_function_decl,
16066         dwarfout_deferred_inline_function): New.
16067         (dwarf_debug_hooks): Update.
16068         * dwarfout.h: Remove.
16069         * final.c: Don't include dwarfout.h.
16070         * sdbout.c (sdbout_global_decl): New.
16071         (sdbout_debug_hooks): Update.
16072         * toplev.c: Don't include dwarfout.h.
16073         (check_global_declarations, rest_of_compilation): Use new debug hooks.
16074         (note_deferral_of_defined_inline_function): Remove.
16075         * toplev.h (note_deferral_of_defined_inline_function): Remove.
16076         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
16077         * ch/lex.c: Don't include dwarfout.h.
16078         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
16079         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
16080         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
16081         * cp/optimize.c: Include debug.h.
16082         (maybe_clone_body): Use debug hook.
16083         * cp/semantics.c: Include debug.h.
16084         (expand_body): Use debug hook.
16085         * po/POTFILES.in: Remove dwarfout.h.
16086
16087 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
16088
16089         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
16090         * c-parse.in (yyerror, _yylex): Similarly.
16091         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
16092         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
16093         Update comments.
16094         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
16095         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
16096
16097 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
16098
16099         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
16100         in-class declaration at -g1.  Fixes c++/2814.
16101
16102 2001-07-18  Richard Henderson  <rth@redhat.com>
16103
16104         * doc/md.texi (reload_in/out): Document restrictions in predicates
16105         and constraints for these patterns.  Document empty string matching
16106         ALL_REGS.
16107
16108 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16109
16110         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
16111
16112 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
16113
16114         * cse.c: Undo my previous patch.
16115
16116 2001-07-18  Tom Tromey  <tromey@redhat.com>
16117
16118         For PR java/2812:
16119         * configure: Rebuilt.
16120         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
16121         instead.
16122         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
16123
16124 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
16125                                 Jan Hubicka  <jh@suse.cz>
16126
16127         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
16128         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
16129         * jump.c (mark_jump_label): Do not forward branches.
16130
16131 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
16132
16133         * cse.c (delete_trivially_dead_insns): Delete the libcall block
16134         when return value is unused.
16135
16136 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
16137
16138         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
16139
16140 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
16141
16142         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
16143         on error.  We can't blindly return the result of
16144         pthread_mutex_trylock because it returns a positive number on
16145         error, while we must return -1 on error.
16146         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
16147         fixes.
16148         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
16149
16150 2001-07-18  Andreas Jaeger  <aj@suse.de>
16151
16152         * integrate.c (output_inline_function): Correct type of debug_hooks.
16153
16154 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
16155
16156         * combine.c (combine_simplify_rtx): DIV can be treated
16157         associatively for floats if unsafe math optimisations are enabled.
16158
16159 2001-07-17  Richard Henderson  <rth@redhat.com>
16160
16161         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
16162
16163 2001-07-17  Richard Henderson  <rth@redhat.com>
16164
16165         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
16166         don't force the function address into a register.
16167         (expand_call, emit_library_call_value_1): Update callers.
16168         * builtins.c (expand_builtin_apply): Likewise.
16169         * expr.h (prepare_call_address): Update decl.
16170
16171 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
16172
16173         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
16174         config directory.
16175         * config/i386/chorus.h: Move up.
16176         * config/sparc/chorus.h: Likewise.
16177         * config/rs6000/chorus.h: Likewise.
16178         * config/chorus.h: Moved here.
16179
16180 2001-07-17  Andreas Schwab  <schwab@suse.de>
16181
16182         * configure.in  (assembler eh_frame optimization): Handle big
16183         endian.
16184         * configure: Regenerated.
16185
16186 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
16187
16188         * expr.c (epxand_expr): Convert divisions into multiplications by
16189         reciprocals if -ffast-math.
16190
16191 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
16192
16193         * dbxout.c (dbxout_really_begin_function): Rename to
16194         dbxout_begin_function.
16195         (dbx_debug_hooks, xcoff_debug_hooks): Update.
16196         (dbxout_begin_function): Remove.
16197         (dbxout_function): Update.
16198         (dbxout_source_line): Update prototype.
16199         * dbxout.h (dbxout_begin_function): Remove.
16200         * debug.c (do_nothing_debug_hooks): Update.
16201         (debug_nothing_tree): Update.
16202         (debug_nothing_charstar_rtx): Remove.
16203         * debug.h (union tree_node): Declare.
16204         (struct rtx_def): Remove.
16205         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
16206         begin_function.  Change source_line prototype.
16207         (debug_nothing_tree): New.
16208         (debug_nothing_charstar_rtx): Delete.
16209         (dwarf2out_begin_prologue): Moved from ...
16210         * tree.h: ... here.
16211         * dwarf2out.c (dwarf2_debug_hooks): Update.
16212         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
16213         debug info, call dwarf2out_source_line.
16214         (dwarf2out_souce_line): Update prototype.
16215         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
16216         Change prototype, make static.
16217         (dwarfout_source_line): Update prototype.
16218         (dwarf_debug_hooks): Update.
16219         * dwarfout.h (dwarfout_begin_function): Remove.
16220         * final.c (final_start_function, final_scan_insn): Use appropriate
16221         debug hooks, update to use notice_source_line.
16222         (output_source_line): Rename notice_source_line.  Don't call the
16223         source_line debug hook.
16224         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
16225         make static, update prototype.
16226         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
16227         prototype.
16228         (sdbout_end_prologue): New.
16229         (sdbout_source_line): Update prototype.
16230         (sdbout_debug_hooks): Update.
16231         (sdbout_symbol): Remove unused var.
16232         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
16233         Delete.
16234         * varasm.c: Include debug.h.
16235         (assemble_start_function): Use begin_function debug_hook.
16236         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
16237         update with prototype.
16238         (xcoffout_source_line): Update prototype.
16239         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
16240         update prototype.
16241         (xcoffout_source_line): Update prototype.
16242
16243 2001-07-17  Richard Henderson  <rth@redhat.com>
16244
16245         * c-typeck.c (build_binary_op): Do not shorten unsigned
16246         right shift after sign extension.
16247
16248 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
16249
16250         * combine.c (combine_simplify_rtx): Attempt to simplify
16251         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
16252
16253         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
16254         (simplify_binary_operation, simplify_unary_operation,
16255          simplify_relational_operation): Use it.
16256
16257         * combine.c (combine_simplify_rtx): Don't do associative law
16258         on divisions; allow associative law on floats.
16259
16260 2001-07-17  H.J. Lu <hjl@gnu.org>
16261             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16262
16263         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
16264         ASM_OUTPUT_WEAK_ALIAS are defined.
16265         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
16266         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
16267         Moved ...
16268         * config/mips/iris5.h: ... here.
16269         (HANDLE_SYSV_PRAGMA): Defined as 1.
16270         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
16271         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
16272         symbol.
16273
16274 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
16275
16276         * c-parse.in (all_prefix_attributes): New variable.
16277         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
16278         (maybe_resetattrs): New production.
16279         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
16280         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
16281         notype_initdcl, nested_function, notype_nested_function,
16282         component_decl, components, components_notype,
16283         component_declarator, component_notype_declarator,
16284         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
16285         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
16286         after a comma being applied to more than one declarator.
16287         * doc/extend.texi (Attribute Syntax): Update.  Remove
16288         documentation of bugs that are no longer present.
16289
16290 2001-07-13  Eric Christopher  <echristo@redhat.com>
16291
16292         * config/mips/mips.h: Change TUNE_MIPS* options to use
16293         mips_tune.
16294         (EXTRA_SPECS): Add cc1_cpu_spec.
16295         * config/mips/mips.md (muldf3): Fix typo.
16296
16297 2001-07-16  Richard Henderson  <rth@redhat.com>
16298
16299         * config/m68k/m68k.c: Include expr.h and reload.h.
16300         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
16301         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
16302
16303 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
16304             Richard Henderson  <rth@redhat.com>
16305
16306         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
16307         (insn_live_p): Fix fall off end of function.
16308         (dead_libcall_p): Remove COUNTS argument; update callers.
16309         (delete_trivially_dead_insns): Remove unused variables.
16310
16311 2001-07-17  Andreas Jaeger  <aj@suse.de>
16312
16313         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
16314         x86-64 pic support.
16315
16316         * lcm.c (optimize_mode_switching): Avoid warning for unused
16317         variable if !NORMAL_MODE.
16318
16319         * flow.c (try_crossjump_to_edge): Remove unused variable.
16320
16321 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16322
16323         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
16324         atexit declaration in stdlib.h.
16325
16326 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
16327
16328         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
16329
16330 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
16331
16332         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
16333         * except.c (finish_eh_generation): Update call of cleanup_cfg;
16334         do rebuild_jump_labels instead of jump_optimize
16335         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
16336         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
16337         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
16338
16339         * flow.c: Include timevar.h
16340         (find_basic_block): Push/pop timevar;
16341         (cleanup_cfg): Likewise.
16342         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
16343         * Makefile: Add dependencies on timevar.h
16344
16345         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
16346         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
16347
16348         * rtl.h (delete_trivially_dead_insns): Add new parameter.
16349         * toplev.c (rest_of_compilation): Update calls.
16350         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
16351         (delete_trivially_dead_insns): ... here; accept new argument
16352         preserve_basic_blocks; preserve basic blocks if set.
16353
16354         * reg-stack.c (stack_regs_mentioned): Return 0 if
16355         stack_regs_mentioned_data is not initialized.
16356         (reg_to_stack): Make stack_regs_mentioned survive after the
16357         reg-stack is completted; do not call cleanup_cfg.
16358         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
16359         make cleanup_cfg after bb-reorder to output to debug file.
16360
16361 2001-07-16  Richard Henderson  <rth@redhat.com>
16362
16363         * regclass.c (init_reg_sets): Use only 32 bits per initializer
16364         from int_reg_class_contents.
16365
16366 2001-07-16  Richard Henderson  <rth@redhat.com>
16367
16368         * hard-reg-set.h (regs_invalidated_by_call): Declare.
16369         * regclass.c (regs_invalidated_by_call): Move from cse.c.
16370         (init_reg_sets_1): Move initialization from cse_main.
16371         * cse.c (regs_invalidated_by_call): Move to regclass.c.
16372         (cse_main): Move its initialization also.
16373         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
16374         * flow.c (propagate_one_insn): Likewise.
16375         * gcse.c (compute_hash_table): Likewise.
16376         (compute_kill_rd, compute_store_table): Likewise.
16377         * sched-deps.c (sched_analyze_1): Likewise.
16378
16379 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
16380
16381         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
16382         gen_rtx_SET.
16383
16384 2001-07-16  Steve Ellcey <sje@cup.hp.com>
16385
16386         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
16387         in if statement so we don't access undefined memory.
16388
16389 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
16390
16391         * gcse.c: Update comment at top.
16392         Update comment on mem handling.
16393         mem_last_set, mem_first_set, mem_set_in_block: gone.
16394         Declaration of reg_set_info: gone.
16395         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
16396         pointless with load_killed_in_block_p (they are *more*
16397         conservative then it, not less, and less accurate).
16398         (oprs_not_set_p): Ditto.
16399         (alloc_gcse_mem): Don't allocate mem_set_in_block
16400         (free_gcse_mem): Don't free it, either.
16401         (record_last_mem_set_info): Update comment in front, remove
16402         mem_*set_* stuff. Note the reason we don't handle stores directly
16403         here.
16404         (compute_hash_table): Update comments to reflect reality. Remove
16405         mem_*set_* references.
16406         (reset_opr_set_tables): Remove mem_*set_* references.
16407         (mark_call): Ditto.
16408         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
16409         (mark_clobber): Ditto (on both parts, we double set here too).
16410         (expr_killed_p): Remove mem_set_in_block test.
16411         (compute_transp): Remove mem_set_in_block test.
16412
16413         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
16414         of edge, and removal of phi alternative to dump file.
16415         (ssa_ccp_substitute_constants): Add note about register now being
16416         constant, and which uses were replaced in what insns to dump file.
16417
16418 2001-07-16  Andreas Jaeger  <aj@suse.de>
16419
16420         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
16421         variables of type HOST_WIDEST_INT.
16422
16423         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
16424         (__bb_exit_func): Correct type of count_max to avoid overflow.
16425         (num_digits): Handle long long argument.
16426
16427         * combine.c (gen_lowpart_for_combine): Remove unused variable.
16428
16429 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16430
16431         * output.h (sdb_begin_function_line): Restore as an extern
16432         variable.
16433         * sdbout.c (sdb_begin_function_line): Make extern.
16434
16435 2001-07-15  Richard Henderson  <rth@redhat.com>
16436
16437         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
16438         * genrecog.c (maybe_both_true_mode): New.
16439         (maybe_both_true_2): Use it.
16440         (write_switch): Don't put Pmode in a switch.
16441         * rtl.c (mode arrays): Don't explicitly size them.
16442
16443 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
16444
16445         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
16446         handling; move unconditional splitting before mode switching.
16447
16448         * i386.md (type): Add fistp type.
16449         (i387, length_attr, scheduling definitions): Handle this type.
16450         (fix_trunc?f?i2): Revamp to use mode switching.
16451         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
16452         * i386.h (fp_cw_mode): New enum
16453         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
16454         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
16455
16456 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16457
16458         * Makefile.in (integrate.o): Add debug.h.
16459         * integrate.c (debug.h): Add.
16460         (output_inline_function): Save, reset, and restore debug_hooks.
16461
16462 2001-07-15  Richard Henderson  <rth@redhat.com>
16463
16464         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
16465         instead of COMPARE for the EQUIV expression.
16466
16467 2001-07-15  Richard Henderson  <rth@redhat.com>
16468
16469         * flow.c (redirect_edge_and_branch_force): Initialize
16470         global_live_at_start and global_live_at_end.
16471         (allocate_bb_life_data): Export.
16472         * basic-block.h (allocate_bb_life_data): Declare.
16473         * toplev.c (rest_of_compilation): Call it.
16474
16475 2001-07-15  Richard Henderson  <rth@redhat.com>
16476
16477         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
16478         (alpha_tablejump_best_label): New.
16479         * config/alpha/alpha-protos.h: Declare them.
16480         * config/alpha/alpha.md: Use braced strings for code blocks.
16481         (tablejump_osf): Break out add with r29.
16482         (tablejump_osf_internal): Remove.
16483         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
16484         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
16485
16486 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
16487
16488         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
16489         of the movable.
16490
16491         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
16492
16493         * i386-protos.h (ix86_split_fp_branch): Update prototype.
16494         (ix86_fp_jump_nontrivial_p): New.
16495         * i386.md (fp_jcc_?): Update call of split_fp_branch;
16496         use ix86_fp_jump_nontrivial_p.
16497         * i386.c (ix86_fp_jump_nontrivial_p): New.
16498         (ix86_split_fp_branch): Accept code instead of rtx.
16499         (ix86_expand_compare): Expand comparison early in case
16500         doing so is resonably cheap.
16501
16502 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
16503
16504         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
16505         not 'machine'.
16506         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
16507         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
16508
16509 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
16510
16511         * dbxout.c (dbxout_source_line): Make static, update prototype.
16512         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
16513         (dbxout_init, dbxout_finish, dbxout_source_line,
16514         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
16515         * dbxout.h (dbxout_source_line): Delete.
16516         * debug.c (debug_nothing_file, debug_nothing_file_int,
16517         debug_nothing_file_charstar_rtx): New.
16518         (do_nothing_debug_hooks): Update.
16519         (debug_nothing_void, debug_nothing_charstar_rtx,
16520         dwarf2out_end_epilogue): New.
16521         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
16522         * debug.h (struct rtx_def): Declare.
16523         (gcc_debug_hooks): New hooks source_line, end_epilogue
16524         and end_function.
16525         (debug_nothing_void, debug_nothing_charstar_rtx,
16526         dwarf2out_end_epilogue): New.
16527         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
16528         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
16529         (dwarf2_debug_hooks): Update.
16530         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
16531         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
16532         * dwarf2out.h (dwarf2out_source_line): Remove.
16533         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
16534         Make static, update prototype.
16535         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
16536         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
16537         (dwarf_debug_hooks): Update.
16538         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
16539         dwarfout_end_function): Remove.
16540         * final.c (profile_function): Use debug hooks for ending functions
16541         and epilogues.
16542         (output_source_line, final_end_function): Update prototype,
16543         use debug hooks.
16544         (final_start_function, final_scan_insn): Update.
16545         * output.h (sdb_begin_function_line): Remove.
16546         (final_end_function): Update prototype.
16547         * sdbout.c (sdb_begin_function_line): Make static.
16548         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
16549         (sdbout_source_line): New.
16550         (sdbout_end_epilogue, sdbout_end_function): Make static, update
16551         prototypes.
16552         (sdb_debug_hooks): Update.
16553         (sdbout_init, sdbout_source_line,
16554         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
16555         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
16556         * toplev.c (compile_file, rest_of_compilation): Update.
16557         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
16558         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
16559         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
16560         Update for prototype changes.
16561         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
16562         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
16563
16564 2001-07-15  Richard Henderson  <rth@redhat.com>
16565
16566         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
16567         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
16568         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
16569         * config/alpha/alpha.c: Likewise.
16570         * config/alpha/alpha.md: Likewise.
16571         * config/alpha/alpha32.h: Likewise.
16572         * config/alpha/vms.h: Likewise.
16573         (OPEN_VMS): Remove.
16574
16575 2001-07-14  Richard Henderson  <rth@redhat.com>
16576
16577         * config/alpha/alpha.md: Use define_constants for unspec values.
16578         Substitute throughout.
16579
16580 2001-07-14  Tim Josling  <tej@melbpc.org.au>
16581
16582         * tree.def (EXPON_EXPR) remove. Never supported anyway.
16583
16584 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16585
16586         * pa.md: Remove unused constraints from define_split's.
16587
16588 2001-04-14  Richard Henderson  <rth@redhat.com>
16589
16590         * ifcvt.c (find_cond_trap): Test for exit block.
16591
16592 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
16593
16594         Re-install recently reverted patch.
16595         * emit-rtl.c (try_split): Update mark_jump_label call.
16596         * flow.c (find_sub_basic_blocks): Likewise.
16597         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
16598         jump_back_p): Kill.
16599         (mark_all_labels): Kill second parameter.
16600         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
16601         (rebuild_jump_labels, jump_optimize_minimal): Update call
16602         of jump_optimize_1.
16603         (jump_optimize_1): Kill crossjumping code.
16604         (mark_jump_label): Kill cross_jump parameter.
16605         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
16606         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
16607         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
16608          splitting.
16609         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
16610         DFI_bpro.
16611         (dump_file_info): Likewise.
16612         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
16613         reorganize passes to do reg-stack first, bb-reorder second.
16614         * invoke.texi (-d letters doc): Remove the jump2 pass.
16615
16616 2001-07-14  Richard Henderson  <rth@redhat.com>
16617
16618         * ifcvt.c (find_cond_trap): New.
16619         (find_if_header): Call it.
16620         (merge_if_block): Relax existing jump sanity check.
16621         * jump.c (jump_optimize_1): Remove conditional trap handling.
16622
16623 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
16624
16625         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
16626         millicode.
16627         (insn_refs_are_delayed): Correct comment.
16628         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
16629         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
16630         instead of r31.  Make associated insn !TARGET_64BIT, and
16631         provide an additional 64-bit insn that clobbers r2.
16632         (divsi3): Likewise.
16633         (udivsi3): Likewise.
16634         (modsi3): Likewise.
16635         (umodsi3): Likewise.
16636
16637 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
16638
16639         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
16640
16641         * flow.c (redirect_edge_and_branch_force, split_edge,
16642         try_crossjump_to_edge): Use set_block_for_new_insns.
16643         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
16644
16645 2001-07-13  H.J. Lu  (hjl@gnu.org)
16646
16647         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
16648         the correct patch.
16649
16650 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
16651
16652         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
16653
16654 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
16655
16656         * c-common.c (decl_attributes): Take a pointer to the node to
16657         which attributes are to be attached, and a flags argument.
16658         * c-common.h (enum attribute_flags): New.
16659         (decl_attributes): Update prototype.
16660         * c-decl.c (start_decl, push_parm_decl, finish_struct,
16661         finish_enum, start_function): Update calls to decl_attributes.
16662         * c-parse.in (component_declarator, component_notype_declarator,
16663         label): Update calls to decl_attributes.
16664
16665 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
16666
16667         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
16668         * config/avr/avr.c (legitimate_address_p): Return value changed
16669         from letter to register classes. For better debugging.
16670
16671 2001-07-13  Kazu Hirata  <kazu@hxi.com>
16672
16673         * jump.c (reversed_comparison_code_parts): Fix comment typos.
16674
16675 2001-07-13  H.J. Lu  (hjl@gnu.org)
16676
16677         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
16678
16679 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
16680
16681         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
16682         correctly for shared configurations.
16683         * config/t-libgcc-pic:  New.
16684         * config/{i386,m68k,sparc}/t-openbsd:  New.
16685         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
16686         Support -shared.  Support debugging libraries with -g.
16687         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
16688         frame information does not emit pointer diffs.
16689         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
16690         emit pointer diffs.
16691
16692 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
16693
16694         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
16695
16696 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
16697
16698         * combine.c (try_combine): Ensure const_int pow2 is positive.
16699
16700 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
16701
16702         * config.gcc: Add configuration for s/390.
16703         * config/s390/s390.c: New. Subroutines for code generation.
16704         * config/s390/s390.h: New. Definitions for s/390.
16705         * config/s390/s390-protos.h: New. Prototypes.
16706         * config/s390/linux.h: New. Definitions for linux for s/390.
16707         * config/s390/linux64.h: New. Definitions for linux for zSeries.
16708         * config/s390/t-linux: New. Makefile fragment.
16709         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
16710         * config/s390/fixdfdi.h: New. Fix L_fix*di.
16711
16712 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
16713
16714         * emit-rtl.c (try_split): Update mark_jump_label call.
16715         * flow.c (find_sub_basic_blocks): Likewise.
16716         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
16717         jump_back_p): Kill.
16718         (mark_all_labels): Kill second parameter.
16719         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
16720         (rebuild_jump_labels, jump_optimize_minimal): Update call
16721         of jump_optimize_1.
16722         (jump_optimize_1): Kill crossjumping code.
16723         (mark_jump_label): Kill cross_jump parameter.
16724         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
16725         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
16726         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
16727          splitting.
16728         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
16729         DFI_bpro.
16730         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
16731         reorganize passes to do reg-stack first, bb-reorder second.
16732         * invoke.texi (-d letters doc): Remove the jump2 pass.
16733
16734 2001-07-12  Steve Ellcey <sje@cup.hp.com>
16735
16736         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
16737
16738 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
16739
16740         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
16741         basic blocks.
16742         (verify_flow_info): Make diagnostics prettier.
16743
16744 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
16745
16746         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
16747
16748         * flow.c (outgoing_edges_match): Return early if condition reversal
16749         failed.
16750
16751 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
16752
16753         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
16754         (mips_move_2words): When splitting a move into two instructions,
16755         prefix the second address operand with '%D'.
16756
16757 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
16758
16759         * Makefile.in (final.o): Depend on debug.h.
16760         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
16761         (dbx_debug_hooks): Add new hooks.
16762         (xcoff_debug_hooks): New.
16763         * debug.c (debug_nothing_file_int_int): New.
16764         (do_nothing_debug_hooks): Update.
16765         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
16766         (debug_nothing_file_int_int): New.
16767         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
16768         static, update prototype.
16769         (dwarf2_debug_hooks): Update.
16770         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
16771         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
16772         static, update prototype.
16773         (dwarf_debug_hooks): Update.
16774         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
16775         * final.c: Include debug.h.
16776         (final_scan_insn): Use debug hooks when beginning and ending blocks.
16777         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
16778         static, update prototype.
16779         (sdb_debug_hooks): Update.
16780         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
16781         * toplev.c: Distinguish between xcoff and dbx.
16782
16783         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
16784         Call all debug hooks, not just dwarf ones.
16785
16786 2001-07-11  Timothy Wall  <twall@redhat.com>
16787
16788         * config.gcc: Add configuration for AIX5/IA64.
16789         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
16790         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
16791         support prefix/suffix code.
16792         * config/ia64/t-aix: New.  Makefile fragment.
16793         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
16794
16795 2001-07-11  Kazu Hirata  <kazu@hxi.com>
16796
16797         * recog.c (validate_change): Fix a comment typo.
16798
16799 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
16800
16801         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
16802         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
16803         hooks directly.
16804         * dbxout.c (dbx_debug_hooks): Add new hooks.
16805         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
16806         make static.
16807         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
16808         make static.
16809         * dbxout.h (dbxout_start_new_source_file,
16810         dbxout_resume_previous_source_file): Delete.
16811         * debug.c (do_nothing_debug_hooks): Add new hooks.
16812         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
16813         (debug_nothing_int_charstar, debug_nothing_int): New.
16814         * debug.h (gcc_debug_hooks): New hooks define, undef,
16815         start_source_file and end_source_file.
16816         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
16817         (debug_nothing_int_charstar, debug_nothing_int): New.
16818         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
16819         the conditionally compiled section.
16820         (dwarf2out_start_source_file, dwarf2out_end_source_file,
16821         dwarf2out_define, dwarf2out_undef): Make static.
16822         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
16823         dwarf2out_define, dwarf2out_undef): Remove.
16824         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
16825         (dwarfout_start_source_file, dwarfout_end_source_file,
16826         dwarfout_define, dwarfout_undef): Make static.
16827         (dwarfout_start_source_file_check,
16828         dwarfout_end_source_file_check): New.
16829         (dwarfout_define, dwarfout_finish): Update.
16830         * dwarfout.h (dwarfout_start_new_source_file,
16831         dwarfout_resume_previous_source_file, dwarfout_define,
16832         dwarfout_undef): Remove.
16833         * sdbout.c (sdb_debug_hooks): Add new hooks.
16834         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
16835         make static.
16836         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
16837         make static, take an arg.
16838         * sdbout.h (sdbout_start_new_source_file,
16839         sdbout_resume_previous_source_file): Delete.
16840         * toplev.c (debug_start_source_file, debug_end_source_file,
16841         debug_define, debug_undef): Delete.
16842         * toplev.h (debug_start_source_file, debug_end_source_file,
16843         debug_define, debug_undef): Delete.
16844
16845         * java/jcf-parse.c: Include debug.h.
16846         (parse_class_file): Update to use debug hooks directly.
16847         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
16848
16849 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16850
16851         * alias.c (set_mem_alias_set): New function.
16852         * rtl.h (set_mem_alias_set): Declare it.
16853         * builtins.c (expand_builtin_return_addr): Call it instead of
16854         using MEM_ALIAS_SET accessor.
16855         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
16856         (get_memory_rtx, expand_builtin_va_arg): Likewise.
16857         (expand_builtin_va_copy):Likewise.
16858         * caller-save.c (setup_save_areas): Likewise.
16859         * calls.c (compute_argument_addresses): Likewise.
16860         * explow.c (set_mem_attributes): Likewise.
16861         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
16862         (expand_assignment, store_constructor_field, store_field): Likewise.
16863         (expand_expr_unaligned): Likewise.
16864         * function.c (assign_stack_temp_for_type): Likewise.
16865         (put_reg_into_stack, gen_mem_addressof): Likewise.
16866         * ifcvt.c (noce_try_cmove_arith): Likewise.
16867         * reload1.c (reload, alter_reg): Likewise.
16868         * config/alpha/alpha.c (get_aligned_mem): Likewise.
16869         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
16870         (alpha_expand_unaligned_store): Likewise
16871         (alpha_expand_unaligned_load_words): Likewise.
16872         (alpha_expand_unaligned_store_words): Likewise.
16873         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
16874         (alpha_expand_epilogue): Likewise.
16875         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
16876         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
16877         * config/i386/i386.c (legitimize_pic_address): Likewise.
16878         * config/i960/i960.c (setup_incoming_varargs): Likewise.
16879         * config/ia64/ia64.c (spill_restore_mem): Likewise.
16880         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
16881         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
16882         * config/mips/mips.c (mips_va_arg): Likewise.
16883         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
16884         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
16885         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
16886         (setup_incoming_varargs, rs6000_va_arg): Likewise.
16887         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
16888         (rs6000_emit_epilogue): Likewise.
16889         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
16890         * config/sparc/sparc.c (sparc_va_arg): Likewise.
16891         * config/v850/v850.c (v850_va_arg): Likewise.
16892
16893 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
16894
16895         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
16896         when fallthru edge is present.
16897         (mege_blocks): Handle case where creation of jump insn
16898         is required.
16899
16900         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
16901         CLEANUP_POST_REGSTACK): New constants.
16902         * except.c (finish_eh_generation): Update call of cleanup_cfg,
16903         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
16904         * output.h (cleanup_cfg): Update prototype.
16905         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
16906         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
16907         cleanup_cfg call; kill missleading comment.
16908         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
16909         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
16910         parameter; control optimizations performed using it.
16911         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
16912         try_crossjump_bb): New functions.
16913
16914 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16915
16916         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
16917         extern.
16918         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
16919         pa_output_function_prologue.
16920         * pa-protos.h (pa_output_function_prologue): New prototype.
16921
16922 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16923
16924         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
16925         and low to get correct sign extension in low+high test.
16926
16927 2001-07-11  Janis Johnson <janis@us.ibm.com>
16928
16929         * gcov.c (arcdata): Use gcov_type to fix branch percentage
16930         for large hit count.
16931
16932         * profile.c (branch_prob): Fix .bbg info for computed gotos
16933         and C++ EH code.
16934
16935 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
16936
16937         * stmt.c (parse_output_constraint): New function, split out
16938         from ...
16939         (expand_asm_operands): ... here.  Use parse_output_constraint.
16940         * tree.h (parse_output_constraint): Declare it.
16941
16942 2001-07-11  Richard Henderson  <rth@redhat.com>
16943
16944         * bitmap.c: Comment some functions; fiddle whitespace.
16945         (bitmap_free): Don't export.
16946         (bitmap_element_allocate): Use memset.
16947         * bitmap.h (bitmap_free): Don't declare.
16948
16949 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
16950
16951         * gcse.c, lcm.c, sched-deps.c:
16952         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
16953
16954         * flow.c (flow_loops_find): Free dom if we found no loops, since
16955         we aren't going to save it.
16956
16957         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
16958         done.
16959
16960 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
16961
16962         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
16963
16964 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16965
16966         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
16967         #ifndef DWARF2_DEBUGGING_INFO.
16968
16969 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
16970
16971         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
16972
16973 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
16974
16975         * config/mips/mips.c (gen_int_relational): Tell the caller not to
16976         reverse a branch if a NE comparison is implemented with GTU.
16977
16978 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
16979             H.J. Lu  <hjl@gnu.org>
16980
16981         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
16982         constant addresses.
16983         (call_internal2): Likewise.
16984         (call_value_internal1): Likewise.
16985         (call_value_internal2): Likewise.
16986         (call_value_multiple_internal1): Likewise.
16987         (call_value_multiple_internal2): Likewise.
16988
16989 2001-07-10  Kazu Hirata  <kazu@hxi.com>
16990
16991         * calls.c (emit_library_call_value_1): Fix a comment typo.
16992         * dwarf2out.c (mem_loc_descriptor): Likewise.
16993         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
16994
16995 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
16996
16997         * simplify-rtx.c (simplify_subreg): Fix typo in comment
16998
16999 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17000
17001         * recog.c (offsettable_address_p): Handle LO_SUM case.
17002         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
17003         instead of plus_constant.
17004
17005 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
17006
17007         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
17008         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
17009
17010 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17011
17012         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
17013         adjust_address_nv instead of plus_constant.
17014
17015 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
17016
17017         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
17018         dwarf2out.o): Depend on debug.h, wrap long lines.
17019         * dbxout.c: Include debug.h.
17020         (dbx_debug_hooks): New.
17021         (dbxout_init): Make static, take just 2 args.
17022         (dbxout_finish): Make static.
17023         * dbxout.h (dbxout_init, dbxout_finish): Delete.
17024         * debug.c: New file.
17025         * debug.h: New file.
17026         * dwarf2out.c: Include debug.h.
17027         (dwarf2_debug_hooks): New.
17028         (dwarf2out_init): Make static.
17029         (dwarf2out_finish): Make static, take 2 args.
17030         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
17031         * dwarfout.c: Include debug.h.
17032         (dwarf_debug_hooks): New.
17033         (dwarfout_init): Make static.
17034         (dwarfout_finish): Make static, take 2 args.
17035         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
17036         * sdbout.c: Include debug.h.
17037         (sdb_debug_hooks): New.
17038         (sdbout_init): Make static, take 2 args.
17039         * sdbout.h (sdbout_init): Delete.
17040         * toplev.c: Include debug.h.
17041         (debug_hooks): New.
17042         (compile_file): Set deubg_hooks based on command line options.
17043         Use the hooks unconditionally rather than conditional compilation.
17044
17045 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
17046
17047         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
17048         first_insn_after_basic_block_note instead.
17049
17050         * df.c (df_bb_refs_unlink): #if 0 out for now.
17051
17052 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
17053
17054         * ssa.h: Add prototype for ssa_const_prop
17055         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
17056         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
17057         (ssa_fast_dce): Remove unused variable
17058
17059 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
17060
17061         * diagnostic.c (finish_diagnostic): Rename to
17062         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
17063         calls thourghout.
17064
17065 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
17066
17067         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
17068         .loc support.
17069
17070         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
17071         (dump_file): Only pad the demangled name with spaces if the
17072         mangled name was padded with spaces.
17073
17074 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
17075
17076         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
17077         edge detection.
17078
17079 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17080
17081         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
17082         extraction if no direct load if either EXPAND_CONST_ADDRESS or
17083         EXPAND_INITIALIZER.
17084
17085         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
17086         whether can put offset inside LO_SUM to check mode alignment, not size.
17087
17088 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
17089
17090         * doc/tm.texi (Misc): Fix thinko.
17091
17092 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
17093
17094         * regmove.c (replace_in_call_usage): Fix warnings.
17095         * sched-deps.c (add_dependence): Fix warnings.
17096         * simplify-rtx.c (simplify_subreg): Likewise.
17097         Return NULL_RTX instead of NULL.
17098
17099         * reg-stack.c (emit_swap_insn): Eliminate warnings.
17100         (subst_asm_stack_regs): Likewise.
17101
17102         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
17103         warnings.
17104
17105         * dwarf2out.c (output_call_frame_info): Declare i as int.
17106         (build_abbrev_table): Declare n_alloc as int.
17107         (dwarf2out_finish): Initialize die.
17108         * except.c: Declare sjlj_funcdef_number as unsigned.
17109         (connect_post_landing_pads): Declare j as unsigned.
17110         (convert_to_eh_region_ranges): Initialize call_site.
17111         (output_function_exception_table): Initialize tt_format_size.
17112         * expr.c (move_by_pieces_1): Initialize to1.
17113         (store_constructor): Initialize minelt and maxelt.
17114         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
17115         * function.c (instantiate_decls): Avoid signed/unsigned warning.
17116
17117         * c-decl.c (combine_parm_decls): Unused, remove.
17118         * c-tree.h: Remove prototype for combine_parm_decls.
17119
17120         * reload.c (push_reload): Fix warning.
17121         (regno_clobbered_p): Likewise.
17122         * reload1.c (replace_pseudos_in_call_usage): Likewise.
17123         (reload_combine): Likewise.
17124
17125         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
17126         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
17127         warnings.
17128         * bitmap.c (bitmap_operation): Change user.
17129         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
17130
17131 2001-07-10  Eric Christopher  <echristo@redhat.com>
17132
17133         * config/mips/mips.c (override_options): Fix typo.
17134
17135 2001-07-09  Stan Shebs  <shebs@apple.com>
17136
17137         * target.h (struct gcc_target): New fields init_builtins and
17138         expand_builtin.
17139         * target-def.h (TARGET_INIT_BUILTINS): New macro.
17140         (TARGET_EXPAND_BUILTIN): New macro.
17141         (TARGET_INITIALIZER): Add them.
17142         * builtins.c: Include target.h.
17143         (expand_builtin): Use targetm.expand_builtin.
17144         (default_init_builtins): New function.
17145         (default_expand_builtin): New function.
17146         * expr.h (default_init_builtins): Declare.
17147         (default_expand_builtin): Declare.
17148         * c-common.c (c_common_nodes_and_builtins): Use
17149         targetm.init_builtins.
17150         * defaults.h (MD_INIT_BUILTINS): Remove.
17151         * Makefile.in (builtins.o): Depend on target.h.
17152
17153         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
17154         (TARGET_EXPAND_BUILTIN): Define.
17155         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
17156         (MD_EXPAND_BUILTIN): Remove.
17157
17158         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
17159         (TARGET_EXPAND_BUILTIN): Define.
17160         (c4x_init_builtins): Make endlink arg a local.
17161         (c4x_print_operand): Fix typos in adjust_address usages.
17162         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
17163         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
17164         (MD_EXPAND_BUILTIN): Remove.
17165
17166         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
17167         (TARGET_EXPAND_BUILTIN): Define.
17168         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
17169         (ix86_init_builtins): Call new function only if TARGET_MMX.
17170         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
17171         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
17172         (MD_EXPAND_BUILTIN): Remove.
17173
17174         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
17175         (TARGET_EXPAND_BUILTIN): Define.
17176         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
17177         (MD_EXPAND_BUILTIN): Remove.
17178
17179         * doc/tm.texi: Document these changes.
17180
17181 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
17182
17183         * basic-block.h (tree_node): Forward declare if needed.
17184         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
17185         (BLOCK_HEAD_TREE): Define.
17186         (BLOCK_END_TREE): Define.
17187         (struct loops): Rename field 'tree' to 'tree_root'.
17188         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
17189         'end_tree'.
17190         (flow_loops_tree_build): Rename reference to field 'tree' to
17191         'tree_root'.
17192         (flow_loops_level_compute): Ditto.
17193         * predict.c (estimate_bb_frequencies): Ditto.
17194         * tree.h (struct tree_common): Add field 'aux'.
17195
17196 2001-07-09  Stan Shebs  <shebs@apple.com>
17197
17198         * config/darwin.c (darwin_encode_section_info): Don't mark any
17199         DECL_EXTERNAL node as defined.
17200
17201 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17202
17203         * pa.c (pa_init_machine_status, pa_mark_machine_status,
17204         pa_free_machine_status, hppa_init_pic_save): Delete.
17205         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
17206         (hppa_profile_hook): Use hppa_pic_save_rtx.
17207         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
17208         hppa_init_pic_save): Delete.
17209         (hppa_pic_save_rtx): Declare.
17210         * pa.md (call, call_value, sibcall, sibcall_value,
17211         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
17212
17213 2001-07-09  Kazu Hirata  <kazu@hxi.com>
17214
17215         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
17216         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
17217
17218 2001-07-09  Andreas Jaeger  <aj@suse.de>
17219
17220         * output.h: Add declaration of final_forward_branch_p.
17221
17222         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
17223
17224         * varray.c: Include errors.h for internal_error and trim_filename
17225         declarations.
17226
17227         * Makefile.in (varray.o): Add errors.h.
17228
17229 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
17230
17231         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
17232         * optabs.c (have_add2_insn): Check whether the add insn chosen
17233         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
17234         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
17235
17236 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
17237
17238         * Makefile.in (OBJS): Add ssa-ccp.o
17239         (ssa-ccp.o): Add dependencies.
17240         * toplev.c (DFI_ssa_ccp): New dump file enum.
17241         (dump_file): Add entry for dumping after SSA CCP.
17242         (flag_ssa_ccp): New flag variable.
17243         (f_options): Add -fssa-ccp.
17244         (rest_of_compilation): Run SSA CCP if requested.
17245         * timevar.def (TV_SSA_CCP): New timevar.
17246         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
17247         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
17248         Fix minor typo in SSA DCE documentation.
17249         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
17250         Add documentation for new dump option.  Renumber dump files
17251         appropriately.
17252
17253 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
17254
17255         * emit-rtl.c (gen_highpart_mode): New.
17256         * rtl.h (gen_highpart_mode): Declare.
17257         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
17258         operand can be VOIDmode constant.
17259
17260 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
17261
17262         * flow.c (redirect_edge_and_branch_force): New.
17263         (can_fallthru): Ensure that basic blocks are succeeding.
17264         (try_optimize_cfg): Do not delete basic block if it is the last one.
17265
17266         * flow.c (try_redirect_by_replacing_jump): Do not remove
17267         jumps with side effects, unlink chain on fallthru edge;
17268         set block for new jump instruction; avoid basic block to
17269         over by line number note.
17270
17271         * flow.c (try_simplify_condjump): Verify that the condjump
17272         is not always falling through.
17273
17274         Re-install patch:
17275         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
17276
17277         * flow.c (forwarder_block_p): Fix for fallthru blocks.
17278         (try_redirect_by_replacing_jump): Update properly the count
17279         and frequency information.
17280
17281 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17282
17283         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
17284         address that is a LO_SUM specially.
17285         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
17286
17287         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
17288
17289         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
17290         (operand_subword): Use them.
17291         (change_address_1): Renamed from change_address; new arg VALIDATE.
17292         * expr.h: Reflect above changes; change_address now macro.
17293         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
17294         making MEM.
17295         * cselib.c (add_mem_for_addr): Likewise.
17296         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
17297         * regmove.c (try_apply_stack_adjustment): Likewise.
17298         * reload.c (push_reload, make_memloc): Likewise.
17299         * reload1.c (eliminate_regs): Likewise.
17300         * simplify-rtx.c (simplify_replace_rtx): Likewise.
17301         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
17302         adjust_addess.
17303         * combine.c (make_extraction, simplify_shift_const): Likewise.
17304         (gen_lowpart_for_combine): Likewise.
17305         * cse.c (gen_lowpart_if_possible): Likewise.
17306         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
17307         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
17308         * optabs.c (gen_move_insn): Likewise.
17309         * reload1.c (alter_reg): Likewise.
17310         * simplify-rtx.c (simplify_subreg): Likewise.
17311         * stmt.c (expand_anon_union_decl): Likewise.
17312         * recog.c (validate_replace_rtx_1): Likewise.
17313         (expr.h): Include.
17314         * Makefile.in (recog.o): Add $(EXPR_H).
17315         * explow.c (stabilize): Call replace_equiv_address.
17316         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
17317         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
17318
17319 2001-07-03  Andrew Haley  <aph@redhat.com>
17320
17321         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
17322         the mode of the memory location.
17323
17324 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
17325
17326         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
17327
17328 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
17329
17330         * final.c (output_addr_const): Use target opening and
17331         closing parentheses.
17332         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
17333         defaults, add to TARGET_ASM_OUT.
17334         * target.h (struct gcc_target): Add open_paren and close_paren.
17335         * doc/md.texi: Update.
17336         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
17337         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
17338         TARGET_ASM_CLOSE_PAREN.
17339         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
17340         Override.
17341         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
17342         Override.
17343         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
17344         * config/a29k/a29k.h: Similarly.
17345         * config/alpha/alpha.h: Similarly.
17346         * config/arc/arc.h: Similarly.
17347         * config/arm/aof.h: Similarly.
17348         * config/arm/aout.h: Similarly.
17349         * config/avr/avr.h: Similarly.
17350         * config/c4x/c4x.h: Similarly.
17351         * config/clipper/clipper.h: Similarly.
17352         * config/convex/convex.h: Similarly.
17353         * config/d30v/d30v.h: Similarly.
17354         * config/dsp16xx/dsp16xx.h: Similarly.
17355         * config/elxsi/elxsi.h: Similarly.
17356         * config/fr30/fr30.h: Similarly.
17357         * config/h8300/h8300.h: Similarly.
17358         * config/i370/i370.h: Similarly.
17359         * config/i386/i386.h: Similarly.
17360         * config/i860/i860.h: Similarly.
17361         * config/i960/i960.h: Similarly.
17362         * config/ia64/ia64.h: Similarly.
17363         * config/m32r/m32r.h: Similarly.
17364         * config/m68hc11/m68hc11.h: Similarly.
17365         * config/m68k/m68k.h: Similarly.
17366         * config/m88k/m88k.h: Similarly.
17367         * config/mcore/mcore.h: Similarly.
17368         * config/mips/mips.h: Similarly.
17369         * config/mn10200/mn10200.h: Similarly.
17370         * config/mn10300/mn10300.h: Similarly.
17371         * config/ns32k/ns32k.h: Similarly.
17372         * config/pa/pa.h: Similarly.
17373         * config/pdp11/pdp11.h: Similarly.
17374         * config/pj/pj.h: Similarly.
17375         * config/romp/romp.h: Similarly.
17376         * config/rs6000/rs6000.h: Similarly.
17377         * config/sh/sh.h: Similarly.
17378         * config/sparc/sparc.h: Similarly.
17379         * config/v850/v850.h: Similarly.
17380         * config/vax/vax.h: Similarly.
17381         * config/we32k/we32k.h: Similarly.
17382
17383 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
17384
17385         * doc/c-tree.texi: Document representation of attributes.
17386
17387 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
17388
17389         * doc/tm.texi: Update some places for the rename of target to
17390         targetm.  Fix typo.
17391
17392 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
17393
17394         * target.h (struct gcc_target): Add insert_attributes.
17395         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
17396         (TARGET_INITIALIZER): Update.
17397         * tree.c, tree.h (default_insert_attributes): New function.
17398         Update comments on other default functions to refer to targetm,
17399         not target.
17400         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
17401         TARGET_INSERT_ATTRIBUTES.
17402         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
17403         * c-common.c (decl_attributes): Use targetm.insert_attributes.
17404         Don't use PRAGMA_INSERT_ATTRIBUTES.
17405         * Makefile.in (c-common.o): Depend on $(TARGET_H).
17406         * c-decl.c (start_decl, start_function): Don't call
17407         SET_DEFAULT_DECL_ATTRIBUTES.
17408         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
17409         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
17410         declare.
17411         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
17412         (c4x_check_attribute): Avoid modifying attribute list itself.
17413         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
17414         Make static.
17415         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
17416         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
17417         declare.
17418         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
17419         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
17420         Make static.
17421         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
17422         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
17423         declare.
17424         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
17425         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
17426         Adjust parameters.  Make static.
17427
17428 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
17429
17430         * c-common.c (decl_attributes): Only take a single attributes
17431         parameter.
17432         * c-common.h (decl_attributes): Update prototype.
17433         * c-decl.c (start_decl, start_function): Only take a single
17434         attributes parameter.  Update calls to decl_attributes.
17435         (finish_struct, finish_enum): Update calls to decl_attributes.
17436         (push_parm_decl): Expect unified list of attributes.  Update call
17437         to decl_attributes.
17438         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
17439         notype_nested_function, component_declarator,
17440         component_notype_declarator, label): Update calls to
17441         decl_attributes.
17442         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
17443         lists that are passed to push_parm_decl.
17444         * c-tree.h (start_function, start_decl): Update prototypes.
17445         * config/sh/sh-protos.h, config/sh/sh.c
17446         (sh_pragma_insert_attributes): Only take a single attributes
17447         parameter.
17448         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
17449         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
17450         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
17451         build_module_descriptor, generate_static_references,
17452         generate_strings, build_selector_translation_table,
17453         generate_descriptor_table, generate_protocols,
17454         generate_ivars_list, generate_dispatch_table,
17455         generate_protocol_list, generate_category,
17456         generate_shared_structures, really_start_method, add_objc_decls,
17457         generate_classref_translation_entry): Update calls to start_decl
17458         and start_function.
17459         (build_tmp_function_decl, start_method_def): Unify attribute lists
17460         that are passed to push_parm_decl.
17461
17462 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
17463
17464         * final.c (no_asm_to_stream): New.
17465         (final_scan_insn): Use target structures for prologue ends
17466         and epilogue starts.
17467         * output.h (no_asm_to_stream): New.
17468         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
17469         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
17470         (TARGET_ASM_OUT): Update.
17471         * target.h (struct gcc_target): New members function_end_prologue
17472         and function_begin_epilogue.
17473         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
17474         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
17475         * config/alpha/alpha.c (output_end_prologue): Rename to
17476         alpha_output_function_end_prologue.  Use in target struct
17477         and make static.
17478         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
17479         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
17480         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
17481         ia64_output_function_end_prologue.  Use in target struct
17482         and make static.
17483         (ia64_function_prologue, ia64_funciton_epilogue): Rename
17484         mistyped prototypes.
17485         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
17486         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
17487         Delete.
17488         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
17489         an use in target struct, make static.
17490         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
17491         Delete.
17492
17493 2001-07-08  Richard Henderson  <rth@redhat.com>
17494
17495         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
17496
17497 2001-07-08  Richard Henderson  <rth@redhat.com>
17498
17499         * config/i386/i386.md: Remove constraints strings from define_split
17500         and define_peephole2 patterns.
17501         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
17502         (eh_return): Use them.
17503
17504 2001-07-08  Richard Henderson  <rth@redhat.com>
17505
17506         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
17507         Document MD_FALLBACK_FRAME_STATE_FOR.
17508
17509 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
17510
17511         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
17512         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
17513         elimination.
17514         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
17515
17516 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
17517
17518         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
17519         of the label inside NAME as opposed to just the end of NAME.
17520
17521 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
17522
17523         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
17524         * config/alpha/alpha.c (alpha_init_machine_status,
17525         alpha_mark_machine_status, alpha_free_machine_status): Delete.
17526         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
17527         (vms_valid_decl_attribute_p): Make static, conditionally compile.
17528         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
17529
17530 2001-07-06  Stan Shebs  <shebs@apple.com>
17531
17532         * target.h (targetm): Rename global from "target", so as not to
17533         conflict with local variables.
17534         * c-decl.c: Ditto.
17535         * c-typeck.c: Ditto.
17536         * final.c: Ditto.
17537         * tree.c: Ditto.
17538         * cp/decl.c: Ditto.
17539         * cp/decl2.c: Ditto.
17540         * cp/typeck.c: Ditto.
17541         * 1750a/1750a.c: Ditto.
17542         * a29k/a29k.c: Ditto.
17543         * arc/arc.c: Ditto.
17544         * arm/arm.c: Ditto.
17545         * avr/avr.c: Ditto.
17546         * clipper/clipper.c: Ditto.
17547         * convex/convex.c: Ditto.
17548         * d30v/d30v.c: Ditto.
17549         * dsp16xx/dsp16xx.c: Ditto.
17550         * elxsi/elxsi.c: Ditto.
17551         * fr30/fr30.c: Ditto.
17552         * h8300/h8300.c: Ditto.
17553         * i370/i370.c: Ditto.
17554         * i386/i386.c: Ditto.
17555         * i860/i860.c: Ditto.
17556         * i960/i960.c: Ditto.
17557         * ia64/ia64.c: Ditto.
17558         * m32r/m32r.c: Ditto.
17559         * m68hc11/m68hc11.c: Ditto.
17560         * m68k/m68k.c: Ditto.
17561         * m88k/m88k.c: Ditto.
17562         * mips/mips.c: Ditto.
17563         * ns32k/ns32k.c: Ditto.
17564         * pa/pa.c: Ditto.
17565         * pdp11/pdp11.c: Ditto.
17566         * romp/romp.c: Ditto.
17567         * rs6000/rs6000.c: Ditto.
17568         * sh/sh.c: Ditto.
17569         * sparc/sparc.c: Ditto.
17570         * vax/vax.c: Ditto.
17571         * we32k/we32k.c: Ditto.
17572         * doc/tm.texi: Update the manual to match.
17573
17574 2001-07-06  Richard Henderson  <rth@redhat.com>
17575
17576         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
17577         DWARF2_UNWIND_INFO not just whether it is defined.
17578
17579 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
17580
17581         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
17582         call to simplify_binary_operation returns a new pattern.
17583
17584 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
17585
17586         * glimits.h (__SHRT_MAX__): New.
17587         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
17588         (SHRT_MAX): Define in terms of __SHRT_MAX__.
17589
17590 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
17591
17592         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
17593         avoid warnings.
17594
17595 2001-07-06  Richard Henderson  <rth@redhat.com>
17596
17597         * bitmap.c (bitmap_release_memory): Move adjacent to the
17598         allocation functions.
17599         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
17600         the implementation.  Binary search for the set bit.
17601         (bitmap_union_of_diff): Allocate the temporary on the stack
17602         instead of using xmalloc.
17603
17604 2001-07-06  Richard Henderson  <rth@redhat.com>
17605
17606         * genrecog.c (validate_pattern): Warn for constraints in
17607         define_{expand,split,peephole2}.  Remove strict_low_part
17608         before looking up match_dup.
17609
17610 2001-07-06  DJ Delorie  <dj@redhat.com>
17611
17612         * doc/gcc.texi (Makefile): Rename to be a more general purpose
17613         chapter about various build hints and history.  Add section
17614         talking about the various types of native and cross builds.
17615
17616 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
17617
17618         * Makefile.in (final.o): Depend on target.h.
17619         * final.c: Include target.h.
17620         (default_function_pro_epilogue): New.
17621         (final_start_function): Use target structure for function prologues.
17622         (final_end_function): Use target structure for function epilogues.
17623         * fold-const.c (real_hex_to_f): Constify s and p.
17624         * output.h (default_function_pro_epilogue): New.
17625         * real.h (real_hex_to_f): Update prototype.
17626         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
17627         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
17628         (TARGET_INITIALIZER): Update.
17629         * target.h (gcc_target): Add struct asm_out.
17630         * doc/tm.texi: Update.
17631
17632 config:
17633         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
17634         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
17635         in cpu/cpu.c, or rename old functions consistently.  Take
17636         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
17637         redundant macros and prototypes.  Make new functions static.
17638
17639         * 1750a/1750a.c: Similarly.
17640         * 1750a/1750a.h: Similarly.
17641         * a29k/a29k-protos.h: Similarly.
17642         * a29k/a29k.c: Similarly.
17643         * a29k/a29k.h: Similarly.
17644         * arc/arc-protos.h: Similarly.
17645         * arc/arc.c: Similarly.
17646         * arc/arc.h: Similarly.
17647         * arm/arm-protos.h: Similarly.
17648         * arm/arm.c: Similarly.
17649         * arm/arm.h: Similarly.
17650         * avr/avr-protos.h: Similarly.
17651         * avr/avr.c: Similarly.
17652         * avr/avr.h: Similarly.
17653         * clipper/clipper-protos.h: Similarly.
17654         * clipper/clipper.c: Similarly.
17655         * clipper/clipper.h: Similarly.
17656         * convex/convex.c: Similarly.
17657         * convex/convex.h: Similarly.
17658         * d30v/d30v-protos.h: Similarly.
17659         * d30v/d30v.c: Similarly.
17660         * d30v/d30v.h: Similarly.
17661         * d30v/d30v.md: Similarly.
17662         * dsp16xx/dsp16xx-protos.h: Similarly.
17663         * dsp16xx/dsp16xx.c: Similarly.
17664         * dsp16xx/dsp16xx.h: Similarly.
17665         * elxsi/elxsi.c: Similarly.
17666         * elxsi/elxsi.h: Similarly.
17667         * fr30/fr30.c: Similarly.
17668         * fr30/fr30.md: Similarly.
17669         * h8300/h8300-protos.h: Similarly.
17670         * h8300/h8300.c: Similarly.
17671         * h8300/h8300.h: Similarly.
17672         * i370/i370-protos.h: Similarly.
17673         * i370/i370.c: Similarly.
17674         * i370/i370.h: Similarly.
17675         * i386/i386.c: Similarly.
17676         * i386/osf1elf.h: Similarly.
17677         * i386/osfrose.h: Similarly.
17678         * i860/i860-protos.h: Similarly.
17679         * i860/i860.c: Similarly.
17680         * i860/i860.h: Similarly.
17681         * i960/i960-protos.h: Similarly.
17682         * i960/i960.c: Similarly.
17683         * i960/i960.h: Similarly.
17684         * ia64/ia64-protos.h: Similarly.
17685         * ia64/ia64.c: Similarly.
17686         * ia64/ia64.h: Similarly.
17687         * m32r/m32r-protos.h: Similarly.
17688         * m32r/m32r.c: Similarly.
17689         * m32r/m32r.h: Similarly.
17690         * m68hc11/m68hc11-protos.h: Similarly.
17691         * m68hc11/m68hc11.c: Similarly.
17692         * m68hc11/m68hc11.h: Similarly.
17693         * m68k/crds.h: Similarly.
17694         * m68k/dpx2.h: Similarly.
17695         * m68k/m68k-protos.h: Similarly.
17696         * m68k/m68k.c: Similarly.
17697         * m68k/m68k.h: Similarly.
17698         * m68k/news.h: Similarly.
17699         * m88k/m88k-protos.h: Similarly.
17700         * m88k/m88k.c: Similarly.
17701         * m88k/m88k.h: Similarly.
17702         * mips/mips-protos.h: Similarly.
17703         * mips/mips.c: Similarly.
17704         * mips/mips.h: Similarly.
17705         * ns32k/merlin.h: Similarly.
17706         * ns32k/ns32k.c: Similarly.
17707         * ns32k/ns32k.h: Similarly.
17708         * ns32k/tek6000.h: Similarly.
17709         * pa/pa-protos.h: Similarly.
17710         * pa/pa.c: Similarly.
17711         * pa/pa.h: Similarly.
17712         * pdp11/2bsd.h: Similarly.
17713         * pdp11/pdp11-protos.h: Similarly.
17714         * pdp11/pdp11.c: Similarly.
17715         * pdp11/pdp11.h: Similarly.
17716         * romp/romp-protos.h: Similarly.
17717         * romp/romp.c: Similarly.
17718         * romp/romp.h: Similarly.
17719         * rs6000/rs6000-protos.h: Similarly.
17720         * rs6000/rs6000.c: Similarly.
17721         * rs6000/rs6000.h: Similarly.
17722         * rs6000/sysv4.h: Similarly.
17723         * sh/sh-protos.h: Similarly.
17724         * sh/sh.c: Similarly.
17725         * sh/sh.h: Similarly.
17726         * sparc/sparc-protos.h: Similarly.
17727         * sparc/sparc.c: Similarly.
17728         * sparc/sparc.h: Similarly.
17729         * vax/vax.c: Similarly.
17730         * vax/vax.h: Similarly.
17731         * vax/vms.h: Similarly.
17732         * we32k/we32k.c: Similarly.
17733         * we32k/we32k.h: Similarly.
17734
17735 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
17736
17737         * basic-block.h (first_insn_after_basic_block_note): Declare.
17738         * flow.c (first_insn_after_basic_block_note): Define.  Moved
17739         from...
17740         * ssa.c (first_insn_after_basic_block_note): Remove.
17741         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
17742         necessary.
17743         (ssa_eliminate_dead_code): Properly update the CFG and PHI
17744         nodes when we find a dead conditional branch.  Insert BARRIERs
17745         after any blocks with no successors, but which do not have
17746         any BARRIERs.
17747
17748 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
17749
17750         * varray.c (varray_check_failed): Use internal_error.
17751
17752 2001-07-05  Andrew Haley  <aph@redhat.com>
17753
17754         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
17755         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
17756         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
17757
17758 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
17759
17760         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
17761         reference if the target constant is also a SYMBOL_REF.
17762
17763 2001-07-05  Eric Christopher  <echristo@redhat.com>
17764
17765         * config/mips/mips.h (MASK_MIPS3900): Remove.
17766         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
17767         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
17768         (TARGET_MIPS3900): Change to use mips_arch.
17769         (TARGET_MIPS4000): New.
17770         (TARGET_MIPS4100): New.
17771         (TARGET_MIPS4300): New.
17772         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
17773         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
17774         for -mipsX.
17775         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
17776         (ISA_HAS_BRANCHLIKELY): To here.
17777         (CC1_CPU_SPEC):  New.
17778         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
17779         (mips_arch_string): Declare.
17780         (mips_arch): Declare.
17781         (TARGET_OPTIONS): Add -march and -mtune.
17782
17783         * config/mips/mips.c (mips_arch_string): New.
17784         (mips_arch): New.
17785         (override_options): Handle -march for codegen and -mtune
17786         for scheduling. Use mips_arch. Move tx39 target default here.
17787         (mips_parse_cpu): Move error message to override_options.
17788
17789         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
17790
17791         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
17792
17793         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
17794         (MIPS Options): Ditto.  Change mcpu entry to historical text.
17795
17796 2001-07-05  H.J. Lu  (hjl@gnu.org)
17797
17798         * config/mips/mips.c (mips_parse_cpu): New function to parse
17799         -march=*/-mcpu=*.
17800
17801 2001-07-05  Jim Wilson  <wilson@redhat.com>
17802
17803         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
17804         * config/ia64/t-ia64: Likewise.
17805         (LIB1ASMFUNCS): Update comment.
17806
17807 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
17808
17809         * doc/install.texi (Install GCC: Binaries): Fix typo.
17810
17811 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
17812
17813         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
17814         reference using the stack pointer, adjust it since we push Y
17815         temporarily.
17816         ("*ashrsi3"): Likewise.
17817         ("*lshrsi3"): Likewise.
17818
17819 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
17820
17821         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
17822         when -fomit-frame-pointer is used.
17823
17824 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
17825
17826         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
17827         (try_redirect_by_replacing_jump): Reverse updating properly the
17828         count and frequency information.  Reverse removing cc0 setter.
17829         (forwarder_block_p): Reverse fixing for fallthru blocks.
17830
17831 2001-07-05  DJ Delorie  <dj@redhat.com>
17832
17833         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
17834         (translate_options): If the above is defined, use it to map
17835         given options to new options.
17836         * doc/tm.texi: Document it.
17837
17838 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
17839             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
17840
17841         * doc/invoke.texi (Optimize Options): Document that -fgcse may
17842         cause programs using computed gotos to run more slowly.
17843
17844 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17845
17846         * doc/install.texi (Specific): Markup, spelling and typo fixes.
17847         Fixed sorting.
17848         Consistently require binutils 2.11.2, not prereleases.
17849         (Specific, decstation-*): Canonicalize as mips-dec-*.
17850         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
17851         always necessary.
17852         (Specific, m68k-altos): Removed reference to README.altos, deleted.
17853         (Specific, mips-*): Reword MIPS C compiler requirements.
17854         (Specific, powerpc*-*-*): New, mention --with-cpu once.
17855         (Specific, sunv5): Removed, obsolete.
17856
17857 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
17858
17859         * dwarf2out.c (output_loc_list): Use an all ones mask for
17860         .text asm output and don't rely on long long
17861         literals. Reformat some long lines.
17862
17863 2001-07-05  Andreas Jaeger  <aj@suse.de>
17864
17865         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
17866         section.
17867
17868 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
17869
17870         * dwarf2out.c (dwarf2out_define): Update comment.
17871         (dwarf2out_undef): Ditto.
17872         (dwarf2out_start_source_file): Ditto.
17873         (dwarf2out_end_source_file): Ditto.
17874         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
17875         since we never call the start/end debug hook for the primary file.
17876
17877 2001-07-04  Kazu Hirata  <kazu@hxi.com>
17878
17879         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
17880         from shll.
17881
17882 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
17883
17884         * cppinit.c (remove_dup_dirs): Inform if a system include
17885         directory is being reordered.
17886         * doc/invoke.texi (Directory Options): GCC warns if you hide a
17887         system include.
17888         * doc/cpp.texi (Search Paths): Likewise.
17889         * doc/gcc.texi (Interoperation): Remove information about
17890         -I/usr/include.
17891
17892 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
17893
17894         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
17895         (VARRAY_TOP_CHAR_PTR): Likewise.
17896
17897 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17898
17899         * gcc.c (process_command): Don't assign elements of a const char*.
17900
17901 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17902
17903         * emit-rtl.c (change_address): Don't abort if invalid address while
17904         reload is in progress.
17905
17906 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
17907
17908         * c-lex.c (cb_file_change): Pass line number to
17909         debug_start_source_file.
17910         (cb_undefine): Pass correct line number to debug_undef.
17911
17912         * toplev.c (debug_start_source_file): Add line number to
17913         parameters. Pass it along to dwarf2out_start_source_file.
17914         (decode_g_option): Stop resetting debug level back to normal when
17915         we change debug formats, unless the current level is
17916         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
17917         3).
17918
17919         * toplev.h (debug_start_source_file): Add line number to
17920         parameters.
17921
17922         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
17923         parameters.
17924
17925         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
17926         parameters.
17927         Output debug_macinfo data for starting file if requested.
17928         (dwarf2out_end_source_file): Output debug_macinfo data for ending
17929         file if requested.
17930         (dwarf2out_define): Output debug_macinfo data for defining a macro
17931         if requested.
17932         (dwarf2out_undef): Output debug_macinfo data for undefining a
17933         macro if requested.
17934         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
17935         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
17936         (macinfo_section_label): New. DWARF2 macro info section label.
17937         (dwarf2out_init): If we want macro info, output the start label
17938         for the section.
17939         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
17940         attribute to the compilation unit die pointing to the macro info.
17941
17942 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
17943
17944         * dwarf2out.c (new_loc_list): Move to inside #ifdef
17945         DWARF2_DEBUGGING_INFO.
17946         (add_loc_descr_to_loc_list): Ditto.
17947         (output_loc_list): Ditto.
17948         Also, fix thinko in curr not being initialized.
17949         (gen_internal_sym): Ditto.
17950
17951 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17952
17953         * emit-rtl.c (replace_equiv_address): New function.
17954         * expr.h (replace_equiv_address): New declaration.
17955         * explow.c (validize_mem): Call it instead of change_address and
17956         also call if -fforce-addr and address is constant.
17957         * expr.c: Replace more calls to change_address with adjust_address
17958         and/or replace_equiv_address or to validize_mem.
17959         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
17960         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
17961         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
17962         * config/i370/i370.md, config/i860/i860.md: Likewise.
17963         * config/i960/i960.md, config/mips/mips.c: Likewise.
17964         * config/mips/mips.md, config/pa/pa.md: Likewise.
17965         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
17966         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
17967
17968 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17969
17970         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
17971
17972         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
17973         function.
17974
17975 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
17976
17977         * doc/include: New directory.
17978         * doc/fdl.texi: Move to doc/include/fdl.texi.
17979         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
17980         * doc/include/funding.texi, doc/include/gpl.texi: New files.
17981         * doc/gcc.texi: Use funding.texi and gpl.texi.
17982         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
17983         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
17984         Update dependencies and use -I $(docdir)/include.
17985
17986 2001-07-04  Anthony Green  <green@redhat.com>
17987
17988         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
17989
17990 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
17991
17992         * doc/install.texi (sparc64-*-*): Remove garbage.
17993
17994 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
17995
17996         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
17997         Fix typo in last change to use adjust_address.
17998
17999 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18000
18001         * doc/install.texi (Specific): Update information for *-*-solaris*.
18002
18003 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18004
18005         * explow.c (plus_constant_wide): Reinitialize Y for restart.
18006
18007 2001-07-03  Stan Shebs  <shebs@apple.com>
18008
18009         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
18010         case for flag_no_mach_text_sections.
18011         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
18012         * config/darwin.c (flag_no_mach_text_sections): Remove.
18013         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
18014
18015 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18016
18017         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
18018         and avoid checking for constant as first operand.
18019         * recog.c (find_constant_term_loc): No longer static.
18020         (adj_offettable_operand): Delete.
18021         * rtl.h (adj_offsettable_operand): Delete declaration.
18022         (find_constant_term): Add declaration.
18023         * caller-save.c: Replace calls to adj_offsettable_operand with calls
18024         to adjust_address.
18025         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
18026         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
18027         * config/i386/i386.c, config/i386/i386.md: Likewise.
18028         * config/i860/i860.c, config/i960/i960.c: Likewise.
18029         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
18030         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
18031         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
18032         * config/mips/mips.c, config/mips/mips.md: Likewise.
18033         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
18034         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
18035         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
18036         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
18037         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
18038         * config/ns32k/ns32k.md: Likewise.
18039
18040 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
18041
18042         * rtl.c (copy_rtx): Handle 'T' format letter.
18043         * gensupport.c (collect_insn_data): Likewise.
18044         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
18045
18046 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
18047
18048         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
18049         -B option.  Use 'dir' not 'foo' as example directory name.
18050
18051 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18052
18053         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
18054         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
18055
18056 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
18057
18058         * doc/cppinternals.texi: Improve formatting and logical markup.
18059
18060 2001-07-03  Andreas Jaeger  <aj@suse.de>
18061
18062         * Makefile.in (insn-recog.o): Add dependency on reload.h.
18063
18064         * genrecog.c (write_header): Include reload.h for prototypes in
18065         insn-recog.c.
18066
18067 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
18068
18069 config:
18070         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
18071         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
18072         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
18073         i386_pe_valid_type_attribute_p): Add.
18074         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
18075         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
18076
18077 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18078
18079         * explow.c (plus_constant_wide, case LO_SUM): New case.
18080         (plus_constant_for_output_wide): Delete.
18081         * rtl.h (plus_constant_for_output): Delete.
18082         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
18083         instead of plus_constant_for_output.
18084         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
18085         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
18086         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
18087         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
18088         * config/sparc/sparc.md: Likewise.
18089         Convert some change_address calls to adjust_address.
18090
18091 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
18092
18093         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
18094         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
18095         documentation of -std and -Wwrite-strings.
18096
18097 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
18098
18099         * cse.c (canon_hash): Don't register registers in very small
18100         register classes, as extending their lifetime might cause
18101         reload to fail.
18102
18103 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
18104
18105         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
18106
18107         * flow.c (forwarder_block_p): Fix for fallthru blocks.
18108         (try_redirect_by_replacing_jump): Update properly the count
18109         and frequency information.
18110
18111 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
18112
18113         * toplev.c (dump_file_index): Move SSA dumps just after first
18114         jump dump.
18115         (dump_file): Corresponding changes.
18116         (rest_of_compilation): Move SSA path to just after the first
18117         jump pass.
18118         * doc/gcc.texi (Passes): Update due to movement of SSA path.
18119         * doc/invoke.texi: Update dump file #s as they were completely
18120         out of date with reality.
18121
18122 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
18123
18124         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
18125
18126         * expr.c (emit_move_insn_1): Deal with non-default
18127         STACK_PUSH_CODE.
18128
18129         * expr.c (emit_single_push_insn): Fix warning.
18130
18131 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
18132
18133         * expr.c (emit_move_insn_1): Avoid modifying
18134         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
18135
18136 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18137
18138         * emit-rtl.c (adjust_address): New function.
18139         * expr.h (adjust_address): Add declaration.
18140         * builtins.c: Replace some calls to change_address with calls to it
18141         or to validize_mem.
18142         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
18143         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
18144         * config/arm/arm.c, config/convex/convex.c: Likewise.
18145         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
18146         * config/i386/i386.c, config/i386/i386.md: Likewise.
18147         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
18148         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
18149         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
18150         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
18151         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
18152
18153 2001-07-02  Jim Wilson  <wilson@redhat.com>
18154
18155         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
18156
18157 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
18158
18159         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
18160         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
18161
18162 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
18163
18164         * cppinit.c (lang_defaults): New table.
18165         (set_lang): Just read from lang_defaults into the live options
18166         structure.
18167
18168 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
18169
18170         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
18171         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
18172         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
18173
18174 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18175
18176         * doc/install.texi: Various spelling and markup fixes.
18177         (Installing GCC): Component specific installation instructions are
18178         gone.
18179         Fix reference.
18180         Warn about removing old install dir in the presence of shared libs.
18181         (Configuration): Invoke with options target to match configure
18182         --help.
18183         Consistently refer to gas, gld pathnames.
18184         Invert --enable-multilib documentation.
18185         Remove references to old compiler versions.
18186
18187 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18188
18189         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
18190
18191 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18192
18193         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
18194         section.
18195         (Specific, mips*-sgi-irix5): Note IDO download.
18196         Reworded MIPS C hints.
18197         Use GNU as instead of GAS.
18198         Markup fixes.
18199         Removed SGI Freeware reference, IRIX 6 only.
18200         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
18201         Note N64 library requirement/workaround.
18202         Update O32 hints.
18203         Complete list of structure passing bug victims.
18204
18205 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18206
18207         * doc/install.texi: Remove CVS Id.
18208
18209 2001-07-02  Andreas Jaeger  <aj@suse.de>
18210
18211         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
18212         (find_inherently_necessary): Remove unused variable.
18213
18214 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
18215
18216         * c-common.h (TDI_inlined): New ast dump phase.
18217         (dump_flag_name): New function.
18218         * c-dump.c (dump_files): Add inlined phase.
18219         (dump_flag_name): Define.
18220         * doc/invoke.texi (-fdump-ast-inlined): Document.
18221
18222 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18223
18224         * stor-layout.c (layout_decl): Revert change to handling of alignment
18225         in packed types.
18226
18227 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18228
18229         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
18230         for FIELD_DECL.
18231
18232 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
18233
18234         * doc/tm.texi (FUNCTION_ARG): Document that the last call
18235         is special.
18236
18237 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
18238
18239         * tlink.c (recompile_files): Remove COMPILER_PATH and
18240         LIBRARY_PATH from the environment.
18241
18242 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
18243
18244         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
18245         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
18246         enumerators.
18247         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
18248
18249         * c-parse.in (OBJC_STRING): Kill.
18250         (objc_string): Decompose to [objc_string] '@' STRING.
18251         (reswords): Take the leading '@' off all the Objective C keywords.
18252         (objc_rid_sans_at): Kill.
18253         (init_reswords): Don't initialize it.
18254         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
18255         (_yylex): Kill reconsider label.  Look ahead one token after
18256         an '@'; if we get an identifier, check whether it's an
18257         Objective C @-keyword.  If so, return the keyword.  Otherwise,
18258         put back the token and return the '@' as a terminal.
18259
18260         * cpplib.c (lex_macro_node): Remove unnecessary check for
18261         leading '@' on identifier.  Clarify control flow and commentary.
18262
18263 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18264
18265         * cse.c (new_label_ref): Variable deleted.
18266         (insert): Remove set of new_label_ref.
18267         (check_for_label_ref): New function.
18268         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
18269
18270 See ChangeLog.5 for earlier changes.