OSDN Git Service

2001-12-17 Aldy Hernandez <aldyh@redhat.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-12-17  Aldy Hernandez  <aldyh@redhat.com>
2
3         * config/rs6000/rs6000.c: Remove is_gpr_return_reg prototype.
4
5 2001-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
6
7         * doc/cppinternals.texi: Update.
8
9 Mon Dec 17 14:21:21 2001  Jeffrey A Law  (law@redhat.com)
10
11         * expmed.c (emit_store_flag): Extract updated comparison code
12         from the return value of compare_from_rtx.
13         * expr.c (do_store_flag): Similarly.
14
15 2001-12-17  Nick Clifton  <nickc@cambridge.redhat.com>
16
17         * caller-save.c (init_caller_save): Use MODE_BASE_REG_CLASS in
18         preference to BASE_REG_CLASS.
19         * recog.c (preprocess_constraints): Ditto.
20         * regclass.c (record_operand_costs, scan_one_insn, regclass,
21         record_reg_classes, record_address_regs): Ditto.
22         * regrename.c (scan_rtx_address, scan_rtx,
23         replace_oldest_value_addr, replace_oldest_value_mem): Ditto.
24         * reload.c (find_reloads, find_reloads_address,
25         find_reloads_address_1): Ditto.
26         * reload1.c (maybe_fix_stack_asms): Ditto.
27         * defaults.h (MODE_BASE_REG_CLASS): Provide default
28         definition.
29         * doc/tm.texi: Document MODE_BASE_REG_CLASS.
30
31         * config/arm/arm.h (MODE_BASE_REG_CLASS): Define.
32
33 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
34
35         * doc/install.texi2html: Use -I $SOURCEDIR.
36
37         Separate user and internals manuals.
38         * Makefile.in (info, $(docdir)/gcc.info, dvi, gcc.dvi): Update
39         dependencies.
40         ($(docdir)/gccint.info, gccint.dvi): New targets.
41         (maintainer-clean, install-info, uninstall): Update.
42         * doc/.cvsignore: Add gccint.info*.
43         * doc/include/gcc-common.texi: New file.
44         * doc/gcc.texi: Use it.  Adjust to be a user-only manual.  Put
45         copyright notice in a macro.  Don't include ISBN unless FSFPRINT
46         is defined.
47         * doc/gccint.texi: New file.
48         * doc/configfiles.texi, doc/extend.texi, doc/invoke.texi,
49         doc/md.texi, doc/passes.texi, doc/tm.texi, doc/trouble.texi:
50         Update for separate user and internals manuals.
51
52 2001-12-17  Dale Johannesen  <dalej@apple.com>
53
54          * config/rs6000/rs6000.h:  CPP_CPU_SPEC: add mcpu=7400.
55          ASM_CPU_SPEC: Ditto.
56          RTX_COSTS: Fix timing info for 7450 multiply.
57          * config/rs6000/rs6000.md:  Fix timing info for 7450 imul.
58          Allow floats to be kept in int regs in movsf_low,
59          movsf_low_st (Darwin only)
60
61 2001-12-17  Aldy Hernandez  <aldyh@redhat.com>
62
63         * config/rs6000/rs6000.c (vrsave_operation): Recognize SETs in
64         parallel.
65         (is_gpr_return_reg): New.
66         (rs6000_emit_prologue): Call generate_set_vrsave with additional
67         argument.  Save only registers in the mask.  Attach
68         REG_FRAME_RELATED_EXPR note to altivec offsets.  Do not call
69         rs6000_frame_related when saving VRSAVE.
70         (rs6000_emit_epilogue): Call generate_set_vrsave with additional
71         argument.  Restore only registers in the mask.  Restore altivec
72         registers after we restore CR.
73         (generate_set_vrsave): New parameter epiloguep.  Generate unspec
74         sets instead of clobbers for call saved registers.
75         (altivec_frame_fixup): New.
76         
77 2001-12-17  Richard Henderson  <rth@redhat.com>
78
79         * config/sparc/sparc.md (movdi_zero): Remove.
80         (movdi_insn_sp32_v9): New.
81
82 2001-12-17  Richard Henderson  <rth@redhat.com>
83
84         * cfgcleanup.c (outgoing_edges_match): Check for insn match with
85         a single outgoing edge too.
86
87 Mon Dec 17 18:27:52 CET 2001  Jan Hubicka  <jh@suse.cz>
88
89         * cfgrtl.c (redirect_edge_and_branch):  Do simplify abnormal
90         edges resulting from computed jump
91
92 Mon Dec 17 17:57:05 CET 2001  Jan Hubicka  <jh@suse.cz>
93
94         * Makefile.in (cfgcleanup.o): Add cselib.h dependancy.
95         * basic-block.h (CLEANUP_THREADING): New constant.
96         * cfgcleanup.c: Include cselib.h
97         (thread_jump, mark_effect): New functions.
98         (try_forward_edges): Do jump threading when asked for.
99         * jump.c (mark_modified_reg, save_regs, num_same_regs, modified_regs,
100         modified_mem, thread_jumps, rtx_equal_for-thread_p): Kill.
101         * rtl.h (thread_jumps, rtx_equal_for_thread_p): Kill.
102         * toplev.c (rest_of_compilation): Do now call thread_jumps; use
103         CLEANUP_THREAD instead.
104
105 2001-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
106
107         * sparc/linux.h (STARTFILE_SPEC): Fix typo in last change.
108
109 2001-12-17  Tom Rix  <trix@redhat.com>
110
111         * config/rs6000/rs6000.c (expand_block_move): Fix limits on max size 
112         of bytes.
113
114 2001-12-17  Richard Sandiford  <rsandifo@redhat.com>
115
116         * target.h (asm_out.byte_op, asm_out.aligned_op, asm_out.unaligned_op,
117         asm_out.integer): New fields.
118         * target-def.h (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_[HSDT]I_OP,
119         TARGET_ASM_UNALIGNED_[HSDT]I_OP, TARGET_ASM_INTEGER): New initialisers.
120         (TARGET_ASM_ALIGNED_INT_OP, TARGET_ASM_UNALIGNED_INT_OP): Collect
121         the individual initialisers together.
122         (TARGET_ASM_OUT): Add the new initialisers.
123         * output.h (assemble_integer): Return bool.
124         (integer_asm_op): Declare.
125         (default_assemble_integer): Declare.
126         (assemble_aligned_integer): New interface to assemble_integer.
127         * varasm.c (integer_asm_op): New function to select pseudo-op.
128         (default_assemble_integer): Default implementation of asm_out.integer.
129         (assemble_integer): Use the new target hook.  Split objects into
130         words or bytes if the target hook fails.  Return bool.
131         * doc/tm.texi (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_OUTPUT_SHORT,
132         ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_OUTPUT_QUADRUPLE_INT,
133         UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
134         UNALIGNED_DOUBLE_INT_ASM_OP): Undocument.
135         Document new target hooks.
136
137         * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Use integer_asm_op.
138         * dwarf2asm.c (unaligned_integer_asm_op): Remove.
139         (dw2_assemble_integer): New.
140         (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
141         dw2_asm_output_pcrel, dw2_asm_output_addr, dw2_asm_output_addr_rtx,
142         dw2_asm_output_encoded_addr_rtx): Use it.
143         (dw2_asm_output_nstring): Use assemble_integer for the null terminator.
144         (dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128): Use
145         integer_asm_op to get the byte pseudo-op.  Use assemble_integer
146         if it returns NULL.
147         * dwarf2asm.h (dw2_assemble_integer): Declare.
148         * dwarfout.c: Include dwarf2asm.h.  Use dwarf2 functions for the
149         default implementation of most macros.
150         (output_unsigned_leb128): Use dw2_asm_output_data.
151         (output_signed_leb128, dwarfout_source_line): Likewise.
152         (output_reg_number): Use dw2_assemble_integer.
153         (generate_macinfo_entry): Separate the type and offset arguments.
154         Use assemble_integer to write the value.
155         (dwarfout_start_source_file): Update generate_macinfo_entry usage.
156         (dwarfout_end_source_file, dwarfout_define, dwarfout_undef): Likewise.
157         * final.c (output_addr_const): Don't put brackets round a subtracted
158         symbol value or ".".
159         * halfpic.c (half_pic_finish): Use assemble_aligned_integer.
160
161         * config/1750a/1750a.c (assemble_integer_1750a): New,
162         * config/alpha/alpha.h (literal_section): Avoid ASM_OUTPUT_INT.
163         * config/arc/arc.c (arc_assemble_integer): New.
164         * config/arc/arc.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
165         * config/arm/arm.c (arm_poke_function_name): Likewise.
166         (arm_assemble_integer): New, extracted from...
167         * config/arm/arm.h (OUTPUT_INT_ADDR_CONST): ...here, now removed.
168         (ARM_TRAMPOLINE_TEMPLATE, ARM_FUNCTION_PROFILER): Avoid ASM_OUTPUT_INT.
169         (ARM_FUNCTION_PROFILER): Likewise.
170         * config/avr/avr-protos.h (asm_output_byte): Remove.
171         (asm_output_char, asm_output_short): Remove.
172         * config/avr/avr.c (avr_assemble_integer): New.
173         (asm_output_byte, asm_output_char, asm_output_short): Remove.
174         * config/clipper/clipper.h (ASM_LONG): Remove.
175         * config/dsp16xx/dsp16xx-protos.h (asm_output_long): Remove.
176         * config/dsp16xx/dsp16xx.c (asm_output_long): Remove.
177         * config/elxsi/elxsi.c (elxsi_assemble_integer): New.
178         * config/i370/i370.c (i370_hlasm_assemble_integer): New.
179         * config/i370/i370.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
180         (ASM_BYTE, ASM_SHORT, ASM_LONG): Delete.
181         * config/i386/att.h, (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
182         * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
183         ASM_LONG instead of UNALIGNED_INT_ASM_OP.
184         * config/i386/sco5.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
185         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
186         * config/i386/sysv4.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
187         ASM_LONG instead of UNALIGNED_INT_ASM_OP.
188         * config/i860/fx2800.h (ASM_FILE_END): Avoid ASM_LONG.
189         * config/i860/i860.c (i860_output_function_epilogue): Likewise.
190         * config/i860/i860.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
191         (ASM_SHORT, ASM_LONG): Undefine.
192         * config/i860/paragon.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
193         * config/i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise.
194         * config/i960/i960.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
195         * config/ia64/ia64.c (ia64_assemble_integer): New.
196         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Use integer_asm_op.
197         (ASM_OUTPUT_DWARF_PCREL): Likewise.
198         * config/m68hc11/m68hc11.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
199         ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_VEC_ELT): Avoid ASM_LONG.
200         (ASM_SHORT, ASM_LONG): Remove.
201         * config/m68k/m68k.h (INT_OP_GROUP): New macro.
202         (INT_OP_STANDARD, INT_OP_DOT_WORD, INT_OP_NO_DOT, INT_OP_DC): New
203         macros, the allowed values for INT_OP_GROUP.
204         * config/m68k/amix.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP
205         * config/m68k/atari.h (ASM_OUTPUT_ASCII): Likewise
206         * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Likewise
207         * config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
208         (INT_OP_GROUP): Define to INT_OP_NO_DOT.
209         * config/m68k/dpx2.h (ASM_LONG): Undefine.
210         (INT_OP_GROUP): Define to INT_OP_DC.
211         * config/m68k/dpx2g.h (ASM_LONG): Undefine.
212         * config/m68k/hp320.h (INT_OP_GROUP): Define to INT_OP_NO_DOT.
213         * config/m68k/lynx.h (ASM_LONG): Undefine.
214         * config/m68k/dpx2g.h (ASM_LONG): Undefine.
215         * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
216         * config/m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
217         (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_*.
218         * config/m68k/mot3300.h (INT_OP_GROUP): Define to INT_OP_STANDARD
219         for GAS and INT_OP_NO_DOT otherwise.
220         (ASM_CHAR, ASM_BYTE, ASM_SHORT, ASM_LONG): Remove.
221         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
222         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid ASM_LONG.
223         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
224         * config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
225         (INT_OP_GROUP): Define to INT_OP_STANDARD.
226         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
227         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid LONG_ASM_OP.
228         (ASM_OUTPUT_ASCII): Avoid BYTE_ASM_OP.
229         * config/m68k/tower-as.h (ASM_LONG): Remove.
230         (INT_OP_GROUP): Define to INT_OP_NO_DOT.
231         * config/m88k/m88k.c (output_tdesc): Avoid ASM_LONG.
232         * config/m88k/m88k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
233         (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid ASM_LONG.
234         * config/mips/iris5.h (TARGET_IRIX5): Define.
235         * config/mips/mips.c (mips_assemble_integer): New.
236         * config/mips/sni-svr4.h (ASM_LONG): Undefine.
237         * config/mmix/mmix-protos.h (mmix_asm_output_double_int): Remove.
238         * config/mmix/mmix.c (mmix_assemble_integer): New.
239         (mmix_asm_output_double_int): Remove.
240         (mmix_print_operand): Call mmix_output_octa directly.
241         * config/mmix/mmix.h (ASM_LONG): Remove.
242         * config/ns32k/ns32k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
243         * config/pa/pa.c (pa_assemble_integer): New.
244         (pa_override_options): Only use aligned DI ops on 64-bit targets.
245         Only use the unaligned ops if TARGET_GAS.
246         * config/pdp11/pdp11.c (pdp11_assemble_integer): New.
247         * config/pdp11/pdp11.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
248         * config/pj/pj.h (ASM_LONG): Undefine.
249         * config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Undefine.
250         * config/rs6000/rs6000.c (rs6000_assemble_integer): New, mostly
251         extracted from ASM_OUTPUT_INT in sysv4.h.  Use in_text_section()
252         and in_toc_section() rather than the in_section variable.
253         (rs6000_override_options): Only use DI ops when TARGET_POWERPC64.
254         * config/rs6000/sysv4.h (TOC_SECTION_FUNCTION): Add in_toc_section().
255         (RELOCATABLE_NEEDS_FIXUP): Define.
256         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Change space to tab.
257         * config/s390/linux.h (ASM_SHORT, ASM_LONG, ASM_QUAD): Remove.
258         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Use integer_asm_op
259         to get the word directive.
260         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
261         * config/s390/s390.c (s390_assemble_integer): New.
262         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Use
263         integer_asm_op to get the word directive.
264         * config/sparc/sol2.h (ASM_SHORT, ASM_LONG): Remove.
265         * config/sparc/sparc-protos.h (output_double_int): Remove.
266         * config/sparc/sparc.c (output_double_int): Move to...
267         (sparc_assemble_integer): ...this new function.
268         (sparc_override_options): Only use .uaxword if TARGET_ARCH64.
269         * config/sparc/sparc.h (ASM_SHORT, ASM_LONG, ASM_LONGLONG): Remove.
270         * config/sparc/sysv4.h (ASM_LONG): Remove.
271         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid
272         ASM_LONG.
273         * config/vax/vax.h (TRAMPOLINE_TEMPLATE): Use assemble_aligned_integer.
274         * config/we32k/we32k.h (TRAMPOLINE_TEMPLATE): Likewise.
275
276         * config/1750a/1750a.c, config/a29k/a29k.c, config/alpha/alpha.c,
277         config/arc/arc.c, config/arm/arm.c, config/avr/avr.c, config/c4x/c4x.c,
278         config/clipper/clipper.c, config/convex/convex.c, config/cris/cris.c,
279         config/d30v/d30v.c, config/dsp16xx/dsp16xx.c, config/elxsi/elxsi.c,
280         config/fr30/fr30.c, config/h8300/h8300.c, config/i370/i370.c,
281         config/i386/i386.c, config/i860/i860.c, config/i960/i960.c,
282         config/ia64/ia64.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
283         config/m68k/m68k.c, config/m88k/m88k.c, config/mips/mips.c,
284         config/mmix/mmix.c, config/mn10200/mn10200.c, config/mn10300/mn10300.c,
285         config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
286         config/sh/sh.c, config/sparc/sparc.c, config/stormy16/stormy16.c,
287         config/v850/v850.c, config/vax/vax.c, config/we32k/we32k.c
288         (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_HI_OP,
289         TARGET_ASM_ALIGNED_SI_OP, TARGET_ASM_ALIGNED_DI_OP,
290         TARGET_ASM_UNALIGNED_HI_OP, TARGET_ASM_UNALIGNED_SI_OP,
291         TARGET_ASM_UNALIGNED_DI_OP, TARGET_ASM_INTEGER): Redefine as
292         appropriate.
293         
294         * config/defaults.h, config/darwin.h, config/elfos.h, config/svr3.h,
295         config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
296         config/arc/arc.h, config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
297         config/clipper/clipper.h, config/convex/convex.h, config/cris/cris.h,
298         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
299         config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
300         config/i386/bsd.h, config/i386/djgpp.h, config/i386/i386.h,
301         config/i386/sco5.h, config/i386/sol2.h, config/i386/sun386.h,
302         config/i860/i860.h, config/i960/i960.h, config/ia64/ia64.h,
303         config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/auxas.h,
304         config/m68k/dpx2.h, config/m68k/hp320.h, config/m68k/m68k.h,
305         config/m68k/mot3300.h, config/m68k/sgs.h, config/m68k/tower-as.h,
306         config/m88k/m88k.h, config/mcore/mcore-elf.h, config/mcore/mcore.h,
307         config/mips/iris5.h, config/mips/iris6.h, config/mips/mips.h,
308         config/mmix/mmix.h, config/mn10200/mn10200.h, config/mn10300/mn10300.h
309         config/ns32k/encore.h, config/ns32k/ns32k.h, config/pa/pa-64.h,
310         config/pa/pa.h, config/pdp11/pdp11.h, config/pj/pj.h,
311         config/romp/romp.h, config/rs6000/linux64.h, config/rs6000/rs6000.h,
312         config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/linux.h,
313         config/sh/sh.h, config/sparc/linux64.h, config/sparc/sol2.h,
314         config/sparc/sp64-elf.h, config/sparc/sparc.h, config/sparc/sysv4.h,
315         config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
316         config/we32k/we32k.h (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_BYTE_OP,
317         ASM_BYTE, ASM_OUTPUT_SHORT, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT,
318         UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
319         UNALIGNED_DOUBLE_INT_ASM_OP): Undefine, where defined.
320
321 2001-12-17  Stan Shebs  <shebs@apple.com>
322
323         * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
324         (STACK_BOUNDARY): Remove definition.
325         (CPP_PREDEFINES): Define __POWERPC__.
326
327 2001-12-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
328
329         * doc/c-tree.texi (Trees): Only refer to GCC.
330
331 2001-12-17  Andreas Jaeger  <aj@suse.de>
332
333         * c-common.def: Fix typo in comment.
334
335 2001-12-16  David O'Brien  <obrien@FreeBSD.org>
336
337         * config.gcc (sparc64-*-freebsd*): Add target.
338         * config/sparc/freebsd.h: New file.
339         * config/sparc/sparc.h (LIB_SPEC, LINK_SPEC): Don't define.
340         * config/sparc/sunos4.h (LIB_SPEC, LINK_SPEC): Define.
341         * config/sparc/sysv4.h (CPP_PREDEFINES): Undefine before defining.
342
343 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
344
345         * config/rs6000/rs6000.c (rs6000_legitimize_address): Force both
346         PLUS operands into registers for altivec mode.
347
348 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
349
350         * builtins.c (apply_args_size): Change regno to unsigned.
351
352 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
353
354         * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): Change
355         ALTIVEC_ARG_MAX_REG to ALTIVEC_ARG_NUM_REG.
356
357 2001-12-16  Zack Weinberg  <zack@codesourcery.com>
358
359         * c-typeck.c (error_init, pedwarn_init, warning_init): Call
360         gettext on argument before printing.
361
362         * fold-const.c (negate_expr): Always call fold on new
363         NEGATE_EXPR.
364
365 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
366
367         * c-common.def (COMPOUND_LITERAL_EXPR): Contain a DECL_STMT, not
368         a DECL directly.
369         * c-common.h (COMPOUND_LITERAL_EXPR_DECL_STMT): New.
370         (COMPOUND_LITERAL_EXPR_DECL): Adjust definition.
371         * c-decl.c (build_compound_literal): Put the decl inside a
372         DECL_STMT.
373         * doc/c-tree.texi (COMPOUND_LITERAL_EXPR): Update documentation.
374         Fixes PR c/5105.
375
376 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
377
378         * config.gcc: Add powerpc-*-eabisimaltivec*.
379
380 2001-12-16  Neil Booth  <neil@daikokuya.demon.co.uk>
381
382         * c-common.c, c-common.h (back_end_hook): Remove.
383         * c-lang.c (finish_file): Remove back_end_hook.
384
385 Sun Dec 16 13:13:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
386
387         * expr.c (highest_pow2_factor, case INTEGER_CST): Fix error in
388         last change.
389
390 2001-12-16  Richard Henderson  <rth@redhat.com>
391
392         * toplev.c (parse_options_and_default_flags): Don't enable
393         flag_cprop_registers at -O1.
394
395 2001-12-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
396
397         * avr.c (avr_simplify_comparision_p, adjust_insn_length,
398         mask_one_bit_p, output_reload_insisf): Don't use the 'U' suffix.
399         * avr.h (reg_class): Likewise.
400         * avr.md: Likewise.
401         * mcore.c (try_constant_tricks, mcore_byte_offset,
402         mcore_halfword_offset): Likewise.
403         * sh.c (shl_sext_kind, gen_block_redirect, split_branches): Likewise.
404         * v850.c (not_power_of_two_operand): Likewise.
405
406         * clipper/clix.h (ASM_OUTPUT_ASCII): Avoid signed/unsigned
407         warnings.
408         * convex.h (ASM_OUTPUT_ASCII): Likewise.
409         * i370.h (ASM_OUTPUT_ASCII): Likewise.
410         * i386/att.h (ASM_OUTPUT_ASCII): Likewise.
411         * i386/i386-interix.h (ASM_OUTPUT_ASCII): Likewise.
412         * i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise.
413         * i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise.
414         * i386/sco5.h (ASM_OUTPUT_ASCII): Likewise.
415         * i386/sun386.h (ASM_OUTPUT_ASCII): Likewise.
416         * i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise.
417         * i860/bsd.h (ASM_OUTPUT_ASCII): Likewise.
418         * m68k/3b1.h (ASM_OUTPUT_ASCII): Likewise.
419         * m68k/amix.h (ASM_OUTPUT_ASCII): Likewise.
420         * m68k/atari.h (ASM_OUTPUT_ASCII): Likewise.
421         * m68k/crds.h (ASM_OUTPUT_ASCII): Likewise.
422         * m68k/hp320.h (ASM_OUTPUT_ASCII): Likewise.
423         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
424         * m68k/mot3300.h (ASM_OUTPUT_ASCII): Likewise.
425         * m68k/sgs.h (ASM_OUTPUT_ASCII): Likewise.
426         * m68k/tower-as.h (ASM_OUTPUT_ASCII): Likewise.
427         * mips/bsd-5.h (ASM_OUTPUT_ASCII): Likewise.
428         * mips/mips-5.h (ASM_OUTPUT_ASCII): Likewise.
429         * mips/svr3-5.h (ASM_OUTPUT_ASCII): Likewise.
430         * mips/svr4-5.h (ASM_OUTPUT_ASCII): Likewise.
431         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
432         * vax/vaxv.h (ASM_OUTPUT_ASCII): Likewise.
433         * we32k/we32k.h (ASM_OUTPUT_ASCII): Likewise.
434
435         * i386/uwin.h (MD_STARTFILE_PREFIX): Avoid redefinition warnings.
436         * interix.h (TARGET_MEM_FUNCTIONS): Likewise.
437         * psos.h (CPP_PREDEFINES): Likewise.
438         * rs6000/linux64.h (ROUND_TYPE_ALIGN): Likewise.
439         * rs6000/xcoff.h (RS6000_MCOUNT, RS6000_ITRUNC, RS6000_UITRUNC,
440         ASM_OUTPUT_EXTERNAL): Likewise.
441         * sparc/liteelf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
442         Likewise.
443         * sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): Likewise.
444         * sparc/sp86x-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
445         Likewise.
446         * sparc/sunos4.h (SUNOS4_SHARED_LIBRARIES): Likewise.
447
448         * c-lex.c (lex_number): Use ISXDIGIT/hex_value.
449         * vax/xm-vms.h (FILE_NAME_NONDIRECTORY): Use ISUPPER/TOLOWER.
450         * fold-const.c (real_hex_to_f): Use hex_value.
451         * real.c (asctoeg): Use hex_value & ISXDIGIT.
452         * toplev.c (toplev_main): Call hex_init.
453         * tradcpp.c (main): Call hex_init.
454
455         * nextstep-protos.h: New file.
456         * nextstep.c: Include "rtl.h", "output.h" & "tm_p.h".
457         * nextstep.h (INCLUDE_DEFAULTS): Delete LOCAL_INCLUDE_DIR and
458         STANDARD_INCLUDE_DIR from the CROSS_COMPILE clause.
459         (nextstep_asm_out_constructor, nextstep_asm_out_destructor,
460         handle_pragma): Move prototypes to nextstep-protos.h.
461         * config.gcc (i[34567]86-next-*, m68k-next-nextstep2*,
462         m68k-next-nextstep[34]*): Append nextstep-protos.h to tm_p_file.
463
464 2001-12-16  Craig Rodrigues  <rodrigc@gcc.gnu.org>
465
466         PR other/3725
467         * configure.in: Add AC_SUBST(target_alias).
468         * configure: Regenerated.
469
470 2001-12-15  Richard Henderson  <rth@redhat.com>
471
472         * config/alpha/alpha.md (sibcall_osf_1_er): New.
473         (sibcall_value_osf_1_er): New.
474
475 2001-12-15  Dan Nicolaescu  <dann@ics.uci.edu>
476
477         * config/sparc/sparc.c (mems_ok_for_ldd_peep): Rename from
478         addrs_ok_for_ldd_peep_withmem; take MEMs as parameters, not
479         addrs; eliminate restriction of only using fp and sp as base
480         registers.
481         * config/sparc/sparc-protos.h: Update.
482         * config/sparc/sparc.md (movdi): Use TARGET_V9 not TARGET_ARCH64.
483         (*cmp_cc_set, *cmp_ccx_set64, *movdi_zero): New insns derived
484         from old define_peepholes.
485         Convert all the ldd/std peepholes to peephole2.
486
487 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
488
489         * s390.md (prologue, epilogue, *return_si, *return_di): New.
490         s390.c (find_unused_clobbered_reg, s390_frame_info,
491         save_fpr, restore_fpr, s390_emit_prologue, s390_emit_epilogue): New.
492         s390-protos.h (s390_emit_prologue, s390_emit_epilogue): Declare.
493         s390.c (s390_arg_frame_offset): Use s390_frame_info.
494         (leaf_function_flag, cur_is_leaf_function,
495         save_fprs, restore_fprs, force_const_mem_late): Remove.
496         (s390_function_prologue, s390_function_epilogue): Mostly remove.
497         s390.md (lit): New.  Uses ...
498         s390.c (s390_output_constant_pool): ... this, so adapt and make global.
499         s390-protos.h (s390_output_constant_pool): Declare.
500         s390.md (load_multiple, store_multiple): Allow use after reload.
501         s390.c (load_multiple_operation, store_multiple_operation): Likewise.
502         s390.h (INCOMING_FRAME_SP_OFFSET): Define.
503         s390.h (CALL_REALLY_USED_REGISTERS): Define.
504         config/s390/linux64.h (CALL_USED_REGISTERS): Remove, now handled ...
505         s390.h (CONDITIONAL_REGISTER_USAGE): ... here.
506         s390.c (s390_sr_alias_set): New global variable, initialized ...
507         (override_options): ... here.  New.
508         s390-protos.h (override_options): Declare.
509         s390.h (OVERRIDE_OPTIONS): Call it.
510         s390.c (s390_function_profiler): New.
511         s390-protos.h (s390_function_profiler): Declare.
512         s390.h (FUNCTION_PROFILER): Call it.
513         s390.c (s390_profile): Remove.
514
515         * s390.c (reg_used_in_mem_p): PC reload counts as memory access.
516         (addr_generation_dependency_p): Consider literal pool register loads.
517         (s390_adjust_priority): Do not schedule load_multiple.
518         s390.md (attribute "type"): Define some additional types.
519         (function_unit "integer"): Adapt.
520         (many insns): Adapt "type" attribute setting.
521
522         * s390.c (general_s_operand, s_imm_operand): New.
523         (s_operand): Remove old definition, call general_s_operand instead.
524         s390-protos.h (s_imm_operand): Declare.
525         s390.c (base_n_index_p, r_or_s_operand, r_or_s_or_im8_operand,
526         r_or_x_or_im16_operand, r_or_im8_operand): Remove.
527         s390-protos.h (r_or_s_operand, r_or_s_or_im8_operand,
528         r_or_x_or_im16_operand, r_or_im8_operand): Likewise.
529         s390.h (PREDICATE_CODES): Add s_imm_operand, remove r_or_s*_operand.
530         s390.md (many insns): Rework insn predicates.
531
532         * s390.c (legitimate_pic_operand_p, legitimate_constant_p): Accept all
533         non-symbolic constants.  Reload will force them because of ...
534         (s390_preferred_reload_class): ... this.  New.
535         s390-protos.h (s390_preferred_reload_class): Declare.
536         s390.h (PREFERRED_RELOAD_CLASS): Call it.
537         s390.md (movdi, movsi, movdf, movsf, *reload_la_64 splitters,
538         *reload_la_31 splitters): Handle constants after reload.
539         (many insns): no longer force all constants immediately.
540         s390.c (legitimate_reload_constant_p): New helper routine.
541         s390-protos.h (legitimate_reload_constant_p): Declare.
542         s390.c (print_operand): Clean up CONST_INT case, add CONST_DOUBLE case.
543
544         * s390.h (FIRST_PSEUDO_REGISTER, FRAME_POINTER_REGNUM,
545         HARD_FRAME_POINTER_REGNUM, REGISTER_NAMES): Add virtual frame pointer.
546         (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Update.
547         (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Likewise.
548         (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_NONSTRICT_P): Likewise.
549         (DWARF_FRAME_REGISTERS): Define.
550         s390.c (regclass_map): Add virtual frame pointer.
551         (legitimate_la_operand_p): Allow use of virtual frame pointer.
552         s390.md (*la_ccclobber, *addaddr_ccclobber): New.
553         (addaddr, addsi_64): Delete.
554
555         * s390.h (HARD_REGNO_MODE_OK): Allow SImode and DImode values in
556         floating point registers.
557         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Define.
558         (ADDR_FP_REGS, GENERAL_FP_REGS): New register classes.
559         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
560
561         * s390.md (movti): Replace multi-insn output with splitters.
562         (movdi_31, movdf_31): Likewise.
563         (movti_ss, movdi_ss, movsi_ss, movdf_ss, movsf_ss): New.
564         (movdi_lhi, movdi_lli, movdi_larl, movsi_lhi, movsi_lli): New.
565         (movdi_64, movdi_31, movsi, movdf_64, movdf_31): Adapt.
566         (movdf_soft_64, movdf_soft_31, movsf_soft): Remove.
567         (movsf_64, movsf_31): Remove, replace by ...
568         (movsf): ... this.
569         (movqi_64): Use lhi instead of llill.
570         (*movstrictqi, *movstricthi): Don't use (strict_low_part (mem)).
571
572         * s390.md (extendsidi2, *extendsidi2, extendhidi2, *extendhidi2,
573         extendqidi2, extendhisi2, *extendhisi2, extendqisi2,
574         extendqihi2 and associated splitters): Reworked.
575         (zero_extendsidi2, zero_extendsidi2, *zero_extendsidi2,
576         zero_extendhidi2, *zero_extendhidi2, zero_extendqidi2,
577         zero_extendqidi2, *zero_extendqidi2, zero_extendhisi2,
578         *zero_extendhisi2_64, zero_extendhisi2_31, zero_extendqisi2,
579         *zero_extendqisi2_64, *zero_extendqisi2_mem_31,
580         zero_extendqisi2_reg_31, zero_extendqihi2, *zero_extendqisi2_64,
581         zero_extendqihi2, zero_extendqihi2_64, zero_extendqihi2_31,
582         and associated splitters): Likewise.
583         (*sethighqisi, *sethighhisi, *sethighqidi_64, *sethighqidi_31
584         and associated splitters): New.
585         (truncdisi2, truncdihi2, truncdiqi2, truncsihi2, do_truncsihi2,
586         *truncsihi2_64, truncsiqi2, trunchiqi2): Remove.
587         (ashlhi3, ashrhi3, lshrhi3, abshi3): Remove.
588         s390.h (PROMOTE_PROTOTYPES): Remove.
589         config/s390/linux64.h (PROMOTE_PROTOTYPES): Likewise.
590
591         * s390.md (muldi3): Delete, use instead ...
592         (mulsidi3): ... this.
593         (*muldi3_64): Rename to muldi3.
594         (mulsi_6432): Fix template.
595         (divdi3, moddi3): Delete, replace by ...
596         (divmoddi4): ... this.
597         (divmodtidi3): Fix template.
598         (divmodtisi3): New.
599         (udivdi3, umoddi3): Delete, replace by ...
600         (udivmoddi4): ... this.
601         (udivmodtidi3): Fix template.
602         (divsi3, modsi3): Delete, replace by ...
603         (divmodsi4): ... this.
604         (divmoddisi3): Fix template.
605         (udivsi3, umodsi3): Adapt.
606
607         * s390.md (anddi3): Remove SS alternative, use instead ...
608         (anddi3_ss, anddi3_ss_inv): ... these.
609         (anddi3_ni): New.
610         (andsi3*, andhi3*, andqi3*): Likewise.
611         (iordi3): Remove SS alternative, use instead ...
612         (iordi3_ss, iordi3_ss_inv): ... these.
613         (iordi3_oi): New.
614         (iorsi3*, iorhi3*, iorqi3*): Likewise.
615         (iordi3_cc, iordi3_cconly, iorsi3_cc, iorsi3_cconly): New.
616         (xordi3): Remove SS alternative, use instead ...
617         (xordi3_ss, xordi3_ss_inv): ... these.
618         (xordi3_oi): New.
619         (xorsi3*, xorhi3*, xorqi3*): Likewise.
620         (xordi3_cc, xordi3_cconly, xorsi3_cc, xorsi3_cconly): New.
621         (one_cmpldi2, one_cmplsi2, one_cmplhi2, one_cmplqi2):
622         Expand to XOR with -1.
623         (*one_cmpldi2, *one_cmplsi2, *one_cmplhi2): Remove.
624         (cmpdi_tm): Delete, replace by ...
625         (cmpdi_tm_reg, cmpdi_tm_mem): ... these.
626         (cmpsi_cct): Delete, replace by ...
627         (cmpsi_tm_reg, cmpsi_tm_mem): ... these.
628         (cmpdi_tm2, cmpsi_tm2): Improve.
629         (cmphi_tm_sub, cmpqi_tm_sub, cmpqi_tm2, cmpqi_tm): New.
630         s390.c (s390_single_hi, s390_extract_hi,
631         s390_single_qi, s390_extract_qi): New helper routines.
632         s390-protos.h (s390_single_hi, s390_extract_hi,
633         s390_single_qi, s390_extract_qi): Declare.
634         s390.c (tmxx_operand, const1_operand): Remove.
635         s390-protos.h (tmxx_operand, const1_operand): Likewise.
636         s390.h (PREDICATE_CODES): Likewise.
637
638         * s390.md (sqrtdf2, sqrtsf2): New.
639
640         * s390.h (CRT_CALL_STATIC_FUNCTION): Define.
641         (check_and_change_labels): Remove section-change special case.
642
643         * s390.h (RETURN_ADDR_RTX): Fix use of __builtin_return_address
644         in leaf functions.  Needs ...
645         (DYNAMIC_CHAIN_RTX):  ... this.  New.
646
647         * s390.c (emit_pic_move): Don't generate pseudos if no_new_pseudos.
648
649         * s390.md (movstrdix_64, movstrsix_31, movstrdi_64, movstrsi_31,
650         clrstrsi_64, clrstrsi_31, cmpstr_64, cmpstr_31): Do not clobber
651         input operands using a match_dup clause.
652         (movstrdi, movstrsi, clrstrdi, clrstrsi, cmpstrdi, cmpstrsi): Adapt.
653
654         * s390.md (floatdidf2, floatdisf2, floatsidf2, floatsidf2_ieee,
655         floatsisf2, floatsisf2_ieee): Add missing CC clobber.
656
657         * s390.md (floatsidf2_ibm): Use correct operand.
658
659         * s390.md (fixuns_truncdfdi2, fixuns_truncdfsi2, fix_truncdfsi2,
660         fixuns_truncsfdi2, fixuns_truncsfsi2, floatsidf2): Remove use of
661         non-portable constants.
662         s390.c (s390_gen_rtx_const_DI): New helper routine.
663         s390-protos.h (s390_gen_rtx_const_DI): Declare.
664
665         * s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Fix alignment.
666
667         * config/s390/linux.h (ASM_OUTPUT_SHORT, ASM_OUTPUT_CHAR,
668         ASM_OUTPUT_BYTE): Clean up assembly output.
669         (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGN): Remove duplicate definitions.
670         (ASM_OUTPUT_ASCII): Remove.
671
672         * config/s390/t-linux (CRTSTUFF_T_CFLAGS_S): Define.
673
674 2001-12-15  Zack Weinberg  <zack@codesourcery.com>
675
676         * unwind-dw2-fde-glibc.c: #define _Unwind_Find_FDE to itself
677         before including unwind-dw2-fde.c, if we are not using the
678         special code in this file.
679
680 2001-12-15  Richard Henderson  <rth@redhat.com>
681
682         * config/alpha/alpha.h (TARGET_SWITCHES): Turn on
683         MASK_EXPLICIT_RELOCS if the assembler supports it.
684         * configure.in (HAVE_AS_EXPLICIT_RELOCS): New.
685         * configure, config.in: Rebuild.
686
687 Sat Dec 15 17:53:03 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
688
689         * calls.c (emit_call_1): If ECF_SP_DEPRESSED, pretend have adjusted
690         for rounded_stack_size.
691
692 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
693
694         * c-typeck.c, config/i386/i386.h, config/mcore/mcore.h,
695         config/ns32k/ns32k.h, config/rs6000/sysv4.h, fold-const.c,
696         toplev.c, cppinit.c, cppmacro.c, gcc.c: Use "built-in" and
697         "bit-field" spellings in messages.
698         * po/gcc.pot: Regenerate.
699
700 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
701
702         * gcc.c, config/fr30/fr30.c, config/v850/v850-c.c, toplev.c: Use
703         American spelling in messages.
704         * po/gcc.pot: Regenerate.
705
706 2001-12-15  Kazu Hirata  <kazu@hxi.com>
707
708         * config/h8300/h8300.md: Adjust whitespacing.  Remove
709         constraints from expanders.  Replace \@ with @.
710
711 2001-12-15  Richard Earnshaw  <rearnsha@arm.com>
712
713         * arm/unknown-elf.h (CPP_PREDEFINES): Add a suitable default.
714
715 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
716
717         * regrename.c (copyprop_hardreg_forward): Do not keep register
718         value data live across abnormal call or eh egdes.
719
720 Sat Dec 15 08:29:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
721
722         * expr.c (highest_pow2_factor, case INTEGER_CST): Return
723         BIGGEST_ALIGNMENT for 0.
724
725 Sat Dec 15 14:13:03 CET 2001  Jan Hubicka  <jh@suse.cz>
726
727         * predict.def (PRED_NORETURN): Make probabilities match reality.
728         (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL, PRED_ERROR_RETURN):
729         Likewise.
730
731 2001-12-15  Jakub Jelinek  <jakub@redhat.com>
732
733         * configure.in: Check for ld.
734         (HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
735         * configure, config.in: Rebuilt.
736         * config.gcc: Add crtbeginT.o to extra_parts where needed.
737         * config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
738         frame unwinding on Linux.
739         * config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
740         frame unwinding.
741         * config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
742         (LINK_EH_SPEC): Define.
743         * config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
744         * config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
745         * config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
746         iterate further if pc falls into current library, but fde was not
747         found.
748         * config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
749         if using glibc.
750         (LINK_EH_SPEC): Define.
751         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
752         Use crtbeginT.o for -static.
753         (LINK_EH_SPEC): Define.
754         * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
755         * Makefile.in (crtbeginT.o): Add rule.
756         * gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
757         If neither -static-libgcc nor -shared-libgcc is passed and -shared,
758         use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
759         If none of the above switches are passed, use -lgcc -lgcc_eh.
760         (init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
761         * mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
762         creating libgcc_s.so, put them into separate libgcc_eh.a instead.
763         * unwind-dw2-fde.c: Don't include any headers if this file
764         is included from other .c file.
765         * unwind-dw2-fde-glibc.c: New file.
766         * crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
767         Use it instead of EH_FRAME_SECTION_NAME where appropriate.
768
769 2001-12-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
770
771         * builtins.c (expand_builtin_memcmp): Mark parameter with
772         ATTRIBUTE_UNUSED.
773         * cfgcleanup.c (insns_match_p): Likewise.
774         * regrename.c (mode_change_ok): Likewise.
775         * gcc.c (execute): Const-ify.
776
777 2001-12-14  Aldy Hernandez  <aldyh@redhat.com>
778
779         * c-parse.in (typename): Do not split attributes.
780         Remove unsupported attributes warning.
781
782         * c-decl.c (groktypename): Apply attributes.
783
784 2001-12-14  Richard Henderson  <rth@redhat.com>
785
786         * config/ia64/ia64.c (spill_restore_mem): Mark iterator
787         initialization as possibly dead.
788
789 2001-12-14  Richard Henderson  <rth@redhat.com>
790
791         * regrename.c (mode_change_ok): New.
792         (find_oldest_value_reg): Use it.
793
794 2001-12-14  Richard Henderson  <rth@redhat.com>
795
796         * regrename.c (struct value_data): Add max_value_regs.
797         (init_value_data): Initialize it.
798         (kill_value): Kill values that overlap the dying register.
799         (set_value_regno): New.
800         (kill_set_value, kill_autoinc_value, copy_value): Use it.
801         (copyprop_hardreg_forward_1): Kill earlyclobber operands
802         before looking at inputs.
803
804 2001-12-14  David Edelsohn  <edelsohn@gnu.org>
805
806         * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Handle
807         DECL_WEAK for function descriptors.
808         * config/rs6000/xcoff.h (HANDLE_PRAGMA_WEAK): Define if assembler
809         weak support present.
810         (ASM_WEAKEN_LABEL): Same.
811
812 2001-12-14  Kazu Hirata  <kazu@hxi.com>
813
814         * config/h8300/h8300.md (anonymous pattern): Add a missing
815         mode.
816
817 2001-12-14  Kazu Hirata  <kazu@hxi.com>
818
819         * config/h8300/h8300.c (h8300_adjust_insn_length): Fix a
820         comment typo.
821
822 2001-12-14  Kazu Hirata  <kazu@hxi.com>
823
824         * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
825         Remove the initialization requierment.
826         (h8300_handle_tiny_data_attribute): Likewise.
827
828 2001-12-14  Kazu Hirata  <kazu@hxi.com>
829
830         * config/h8300/h8300.md (udivqi3): Remove.
831         (divqi3): Likewise.
832         (udivhi3): Likewise.
833         (divhi3): Likewise.
834         (umodqi3): Likewise.
835         (modqi3): Likewise.
836         (umodhi3): Likewise.
837         (modhi3): Likewise.
838         (udivmodqi3): New.
839         (divmodqi3): Likewise.
840         (udivmodhi3): Likewise.
841         (divmodhi3): Likewise.
842
843 Sat Dec 15 01:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
844
845         * cfgcleanup.c (flow_find_cross_jump): Replace tests for note
846         by active_insn_p; count conditional jump as instruction.
847
848 2001-12-14  DJ Delorie  <dj@redhat.com>
849             Danny Smith  <dannysmith@users.sourceforge.net>
850
851         * config/i386/cygwin.h (I386_PE_STRIP_ENCODING): Handle '*'
852         at SYM_NAME[0] or SYM_NAME[3].
853         (STRIP_NAME_ENCODING): Don't check for leading '*'.
854
855 2001-12-14  Ira Ruben   <ira@apple.com>
856
857         Add -### option (displays driver-generated commands without
858         executing and quotes all arguments).
859         * doc/invoke.texi: Add -###.
860         * gcc.c (verbose_only_flag) - New flag.
861         * (execute): If -### write quoted arguments and return.
862         * (display_help): Print meaning of -###.
863         * (process_command): Handle -###.
864
865 2001-12-14  Ira Ruben   <ira@apple.com>
866
867         Fix to no allow -save-temps to clobber user's source file.
868         * gcc.c: Add static globals input_stat and input_stat_set.
869         (do_spec_1): For 'g', 'u', 'U' case with save_temps_flag
870         set, check that user's input file is not overwritten.
871         (set_input): Reset input_stat_set for each new file.
872
873 Fri Dec 14 22:14:44 CET 2001  Jan Hubicka  <jh@suse.cz>
874
875         * predict.c (estimate_probability): Fix LOOP_EXIT heuristic.
876
877 2001-12-14  Zack Weinberg  <zack@codesourcery.com>
878
879         * combine.c (record_dead_and_set_regs): Use
880         regs_invalidated_by_call.  Don't note stores for CALL_INSNs.
881
882 2001-12-14  Roger Sayle <roger@eyesopen.com>
883
884         * builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and
885         __builtin_fsqrt to __builtin_sqrt.
886
887         * builtins.c (expand_builtin_mathfn,expand_builtin): Same.
888         * doc/extend.texi: Simplify documentation to match patch.
889
890 Fri Dec 14 21:23:54 CET 2001  Jan Hubicka  <jh@suse.cz>
891
892         * config.gcc: Revamp target_cpu_default2 to strings;
893         support new x86 variants.
894         * i386.c (override_options): Default x86_cpu_string and x86_arch_string
895         properly; set prefetch_sse.
896         * i386.h (x86_prefetch_sse): Declare.
897         (TARGET_PREFETCH_SSE): New.
898         (CPP_CPU_DEFAULT_SPEC): Define according to the new macros.
899         (TARGET_CPU_DEFAULT_*): New.
900
901 Thu Dec 13 21:57:13 CET 2001  Janis Johnson <janis187@us.ibm.com>
902                               Jan Hubicka  <jh@suse.cz>
903
904         * config/i386/i386.h (struct processor_costs): Add new members
905           prefetch_block and simultaneous_prefetches.
906           (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): New.
907         * config/i386/i386.c (processor_costs structs): Add values for
908           prefetch_block and simultaneous_prefetches.
909         * config/i386/i386.md (unspec values): Remove values for prefetch
910           operations, which now use the PREFETCH rtx code.
911           (prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new
912           unified prefetch support.
913
914 2001-12-14  Jason Merrill  <jason@redhat.com>
915
916         * diagnostic.c (sorry): Increment sorrycount before saving the
917         buffer state.
918
919 Fri Dec 14 19:53:23 CET 2001  Jan Hubicka  <jh@suse.cz>
920
921         * i386.md (sqrt?f): Fix conditionals.
922
923 Fri Dec 14 07:29:52 2001  Douglas B. Rupp  <rupp@gnat.com>
924
925         * config.gcc (alpha64-dec-*vms*): New case.
926         * config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files.
927         * config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise.
928         * config/alpha/xm-vms64.h: Likewise.
929
930         * config/alpha/alpha.c (vms_attribute_table): Add new attributes.
931         (alpha_write_linkage): Test for null alpha_links.
932         (SECTION_VMS_GLOBAL, SECTION_VMS_INITIALIZE): New section attributes.
933         (vms_section_type_flags, vms_asm_named_section): Handle them.
934
935 Fri Dec 14 12:05:14 CET 2001  Jan Hubicka  <jh@suse.cz>
936
937         * i386.c (ix86_fpmath, ix86_fpmath_string): New.
938         (override_option): Set ix86_fpmath.
939         * i386.h (MASK_MIX_SSE_I387): Remove.
940         (TARGET_SSE_MATH): New.
941         (TARGET_MIX_SSE_I387): Use ix86_fpmath.
942         (TARGET_SWITCHES): Remove "mix-sse-i387".
943         (fpmath_unit): New enum.
944         (ix86_fpmath, ix86_fpmath_string): Declare.
945         * i386.md (swapsf): Fix condition.
946         (add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH.
947         (fp_?f_*_nosse): New.
948         (fp_*): Use TARGET_SSE_MATH.
949         * invoke.texi (-mfpmath): Document.
950         (-msse2): Add.
951
952 2001-12-14  Jason Merrill  <jason@redhat.com>
953
954         * dwarf2out.c (output_die): Print the string in the comment for
955         a DW_FORM_strp.
956
957 2001-12-14  Richard Earnshaw  <rearnsha@arm.com>
958
959         * netbsd.h (COLLECT_SHARED_INIT_FUNC)
960         (COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon.
961         * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
962         (COLLECT_SHARD_FINI_FUNC): Use @code where appropriate.
963
964 2001-12-13  Richard Henderson  <rth@redhat.com>
965
966         * regrename.c (kill_value_regno): Simplify chain removal.
967         (kill_value): Kill all of HARD_REGNO_NREGS.
968         (kill_set_value): Use kill_value not kill_value_regno.
969         (kill_autoinc_value): Likewise.
970         (copyprop_hardreg_forward): Don't collect refresh_blocks.
971         Call delete_noop_moves.
972
973 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
974
975         * attribs.c (c_common_attribute_table): Swap decl_req and type_req
976         for the mode attribute.
977         (handle_mode_attribute): Handle types, not decls.
978
979 2001-12-13  Jason Merrill  <jason@redhat.com>
980
981         * c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
982
983 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
984
985         * config/rs6000/rs6000.md (eh_set_lr_di): Change scratch
986         constraint to base register.
987         (eh_set_lr_si): Same.
988
989 2001-12-13  Hans-Peter Nilsson  <hp@axis.com>
990
991         * expr.c (expand_expr, case ADDR_EXPR): Don't honor
992         flag_force_addr for modifier != EXPAND_CONST_ADDRESS,
993         modifier != EXPAND_INITIALIZER and modifier != EXPAND_SUM.
994
995 Thu Dec 13 20:30:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
996
997         * expr.c (copy_blkmode_from_reg): Add missing braces to eliminate
998         warning and reformat comments.
999         (expand_assignment): Don't pass EXPAND_WRITE if LHS is component.
1000         (highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT
1001         if overflow.
1002
1003 2001-12-12  Aldy Hernandez  <aldyh@redhat.com>
1004
1005         * config/rs6000/rs6000.c (rs6000_override_options): Add
1006         SUBSUBTARGET_OVERRIDE_OPTIONS.
1007
1008         * config/rs6000/eabialtivec.h: New file.
1009
1010         * config/rs6000/linuxaltivec.h: New file.
1011
1012         * config.gcc: Add powerpc-*-eabialtivec and
1013         powerpc-*-linux-gnualtivec.
1014
1015 2001-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
1016
1017         * toplev.c (process_options, parse_options_and_default_flags):
1018         Set flag_no_inline before the post_options hook.
1019
1020 2001-12-13  Richard Henderson  <rth@redhat.com>
1021
1022         * emit-rtl.c (adjust_address_1): Don't adjust address if adjust
1023         is false.
1024
1025 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
1026
1027         * collect2.c (COLLECT_SHARED_INIT_FUNC)
1028         (COLLECT_SHARD_FINI_FUNC): Define default values.
1029         (write_c_file_stat): Use them to call construtor and destructor
1030         functions in shared libraries.
1031         * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
1032         (COLLECT_SHARD_FINI_FUNC): Document them.
1033         * config/netbsd.h (COLLECT_SHARED_INIT_FUNC)
1034         (COLLECT_SHARD_FINI_FUNC): Define.
1035
1036         * config/netbsd.h (LINK_SPEC): Don't pull in estart if creating a
1037         shared library.  Pass -shared through to the linker.
1038         * config/arm/netbsd.h (LINK_SPEC): Likewise.
1039
1040         * config/arm/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -fpic.
1041         (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME, SHLIB_OBJS, SHLIB_LINK)
1042         (SHLIB_INSTALL): Define.
1043
1044 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
1045
1046         * arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially
1047         the same way as we handle SYMBOL_REFS.
1048
1049 Thu Dec 13 07:47:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1050
1051         * loop.c (remove_constant_addition): Fix prototype and whitespace.
1052         (emit_prefetch_instructions): Remove warnings and whitespace
1053         changes.
1054
1055 Thu Dec 13 06:48:38 2001  Douglas B. Rupp  <rupp@gnat.com>
1056
1057         * config/alpha/vms-cc.c (preprocess_args): Fix forward
1058         declaration.
1059
1060 Thu Dec 13 12:31:07 CET 2001  Jan Hubicka  <jh@suse.cz>
1061
1062         * predict.c (estimate_probability): Reorganize opcode heuristics.
1063         * predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL,
1064         PRED_FPOPCODE): New.
1065
1066         * i386.c (override_options): Recognize various CPU variants and set
1067         SSE/MMX/3dNOW flags accordingly.
1068         * i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET,
1069         MASK_3DNOW_A_SET): New.
1070         (MASK_ACCUMULATE_OUTGOING_ARGS_SET): New.
1071         (MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete.
1072         (MASK_*): Renumber.
1073         (TARGET_FLAGS): Use new masks.
1074         (CPP_CPU_SPECS): Recognize new CPU variants.
1075         * invoke.texi (-mcpu): Update documentation.
1076
1077         * flags.h (flag_prefetch_loop_arrays): Declare.
1078         * loop.h (LOOP_PREFETCH): Define new constant.
1079         * loop.c (strength_reduce): Call emit_prefetch_instructions.
1080         (MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX,
1081         PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New
1082         constants.
1083         (check_store_data): New structure.
1084         (check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p):
1085         New functions.
1086         * toplev.c: Include insn-flags.h.
1087         (flag_prefetch_loop_arrays): New global variable.
1088         (lang_independent_option): Add -fprefetch-loop-arrays.
1089         (rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays
1090         is set.
1091         * Makefile.in (toplev.c): Depend on insn-flags.h.
1092         * invoke.texi (-fprefetch-loop-arrays): Document.
1093
1094         * predict.c (estimate_probability): Distribute the loop exit
1095         probability according to number of exit edges.
1096
1097         * cfgcleanup.c (insns_match_p): Break out from ...;
1098         (flow_find_cross_jump): ... here;
1099         (outgoing_edges_match): Add parameter MODE; attempt to match everything
1100         except for tablejumps.
1101         (try_crossjump_to_edge): Accept complex edges.
1102         (try_crossjump_bb): Likewise.
1103
1104 2001-11-29  Corey Minyard <minyard@acm.org>
1105
1106         * recog.c (validate_replace_rtx_1): Use simplify_gen_binary
1107         instead of plus_constant.
1108         * simplify-rtx.c (neg_const_int): New.
1109         (simplify_gen_binary, simplify_plus_minus): Use it.
1110
1111 2001-12-12  Roger Sayle  <roger@eyesopen.com>
1112
1113         * builtins.c (expand_builtin_memset, expand_builtin_memcpy,
1114         expand_builtin_strcpy): Additional arguments TARGET and MODE.
1115         (expand_builtin_bzero, expand_builtin_strcpy,
1116         expand_builtin_strncpy, expand_builtin_bzero): Pass additional
1117         TARGET and MODE parameters to the above functions.
1118         (expand_builtin_memset, expand_builtin_memcpy): Optimize the
1119         case where the LEN parameter is constant zero.
1120         (expand_builtin_memcmp): No longer conditional on
1121         HAVE_cmpstrsi.  Take an additional mode parameter.  Optimize
1122         the cases where len is either constant zero or one.
1123         Optimize to call to memcpy, even if the memcpy isn't inlined.
1124         (expand_builtin_strncpy): Optimize to call memcpy, even if the
1125         memcpy isn't inlined.
1126         (expand_builtin_strcmp, expand_builtin_strncmp): Always attempt
1127         to optimize to a call to memcmp.
1128         (expand_builtin): expand_builtin_memcmp can always be called,
1129         and pass the required parameters to expand_builtin_memcmp,
1130         expand_builtin_memset, expand_builtin_memcpy and
1131         expand_builtin_strcpy.
1132
1133 2001-12-12  David O'Brien  <obrien@FreeBSD.org>
1134
1135         * config.gcc (arm-*-freebsd*): Add target.
1136         * config/arm/freebsd.h: New file.
1137         * config/arm/arm.h (CPP_PREDEFINES): Do not define.
1138         (CPP_SPEC): #undef before defining.
1139         (CPP_CPU_ARCH_SPEC): Add -Acpu=arm -Amachine=arm.
1140         * config/arm/conix-elf.h (CPP_PREDEFINES): Remove -Acpu=arm
1141         -Amachine=arm.
1142         * config/arm/linux-elf.h: Likewise.
1143         * config/arm/netbsd.h: Likewise.
1144         * config/arm/riscix.h: Likewise.
1145         * config/arm/riscix1-1.h: Likewise.
1146         * config/arm/semiaof.h: Likewise.
1147
1148 2001-12-12  Richard Henderson  <rth@redhat.com>
1149
1150         * regrename.c (copyprop_hardreg_forward): New optimization.
1151         (kill_value_regno, kill_value, init_value_data, kill_clobbered_value,
1152         kill_set_value, kill_autoinc_value, copy_value, find_oldest_value_reg,
1153         replace_oldest_value_reg, replace_oldest_value_addr,
1154         replace_oldest_value_mem, copyprop_hardreg_forward_1,
1155         debug_value_data, validate_value_data): New.
1156         * rtl.h (copyprop_hardreg_forward): Declare.
1157         * toplev.c (flag_cprop_registers): New.
1158         (f_options): Add -fcprop-registers
1159         (rest_of_compilation): Invoke it.
1160         (parse_options_and_default_flags): Set it at -O1.
1161         * doc/invoke.texi: Document it.
1162
1163 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
1164
1165         * dwarf2out.c (dw_val_class): Add dw_val_class_range_list.
1166         (DEBUG_RANGES_SECTION_LABEL): Define.
1167         (ranges_section_label): Add.
1168         (add_AT_range_list): New.
1169         (print_die, sizeof_die, value_format): Handle dw_val_class_range_list.
1170         (output_loc_list): Location expression length is always 2-byte.
1171         (output_die): Handle dw_val_class_range_list.
1172         (gen_lexical_block_die): Call add_AT_range_list.
1173         (dwarf2out_init): Initialize ranges_section_label.
1174         (dwarf2out_finish): Emit ranges_section_label.
1175
1176 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
1177
1178         * c-typeck.c (digest_init): Allow initializing
1179         static storage duration objects with compound literals.
1180         * doc/extend.texi (Compound literals): Document the extension.
1181
1182 2001-12-12  Richard Henderson  <rth@redhat.com>
1183
1184         * emit-rtl.c (adjust_address_1): Always copy address to avoid
1185         shared rtl.
1186
1187 Wed Dec 12 07:37:52 2001  Olivier Hainque <hainque@act-europe.fr>
1188
1189         * stmt.c (expand_end_case): Do subtraction of lower bound as trees
1190         to avoid overflow.
1191
1192 Wed Dec 12 07:35:24 2001  Douglas B. Rupp  <rupp@gnat.com>
1193
1194         * cppfiles.c (read_include_file): Set buffer size properly when
1195         file is shorter than expected.
1196
1197 Wed Dec 12 08:35:33 2001  Nicola Pero  <n.pero@mi.flashnet.it>
1198
1199         * objc/objc-act.c (encode_complete_bitfield): Fixed encoding
1200         enumeral types - encode them using 'i'.
1201
1202 2001-12-12  Nathan Sidwell  <nathan@codesourcery.com>
1203
1204         * doc/extend.texi (Deprecated Features): Deprecate implicit
1205         typename. Document that named return and initializer lists are now
1206         removed.
1207
1208 2001-12-11  Roger Sayle <roger@eyesopen.com>
1209
1210         * except.c (reachable_next_level): Handle ERT_UNKNOWN to avoid
1211         compiler warning about enumeration values not being handled.
1212
1213 2001-12-11  Momchil Velikov  <velco@fadata.bg>
1214
1215         * config/fp-bit.c (pack_d): Cast to ``fractype'' for long long
1216         shifts.
1217
1218 2001-12-11  Richard Henderson  <rth@redhat.com>
1219
1220         * config/alpha/alpha.h (TARGET_FIXUP_EV5_PREFETCH): New.
1221         * config/alpha/linux.h (TARGET_FIXUP_EV5_PREFETCH): New.
1222         * config/alpha/alpha.md (prefetch): New.
1223
1224 2001-12-11  Richard Henderson  <rth@redhat.com>
1225
1226         * combine.c (simplify_and_const_int): Simplify (AND (PLUS X Y) C)
1227         if C has only low bits set and doesn't intersect with X or Y.
1228
1229 Tue Dec 11 23:58:39 EST 2001  John Wehle  (john@feith.com)
1230
1231         * basic-block.h (flow_preorder_transversal_compute): Declare.
1232         * cfganal.c (flow_preorder_transversal_compute): Implement.
1233
1234 Tue Dec 11 23:54:27 EST 2001  John Wehle  (john@feith.com)
1235
1236         * cfganal.c (flow_depth_first_order_compute): Always
1237         increment dfsnum.
1238
1239 2001-11-30 Alan Matsuoka <alanm@redhat.com>
1240
1241         * combine.c (combine_simplify_rtx) : Can't simplify
1242         cases that use mode class MODE_CC.
1243
1244 2001-12-11  Richard Henderson  <rth@redhat.com>
1245
1246         * expmed.c (expand_divmod): Ignore sdiv_pow2_cheap for modes in
1247         which there is no divide expander.
1248
1249 2001-12-11  Richard Henderson  <rth@redhat.com>
1250
1251         * except.c (sjlj_find_directly_reachable_regions): Don't
1252         consider RNL_BLOCKED a directly reachable region.
1253         (sjlj_assign_call_site_values): Trust directly_reachable.
1254         (sjlj_emit_dispatch_table): Likewise.
1255
1256 2001-12-11  Richard Henderson  <rth@redhat.com>
1257
1258         * config/alpha/alpha.md (divmodsi_internal_er): Split, so that
1259         we represent the address load's dependency on the gp.
1260         (divmoddi_internal_er): Likewise.
1261         (divmodsi_internal_er_1, divmoddi_internal_er_1): New.
1262
1263 2001-12-11  Richard Henderson  <rth@redhat.com>
1264
1265         * emit-rtl.c (widen_memory_access): New.
1266         * expr.h (widen_memory_access): Declare it.
1267         * config/alpha/alpha.c (get_aligned_mem): Use it.
1268
1269 2001-12-11  Richard Henderson  <rth@redhat.com>
1270
1271         * combine.c (simplify_shift_const): Move SHIFT_COUNT_TRUNCATED
1272         simplification above out of range check.
1273
1274 2001-12-11  Dan Nicolaescu  <dann@ics.uci.edu>
1275
1276         * config/sparc/sparc.md (prefetch): New.
1277
1278 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
1279
1280         * output.h (regno_uninitialized): Make argument unsigned.
1281
1282         * flow.c (regno_uninitialized): Make regno unsigned.
1283
1284 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
1285
1286         * elfos.h (ENDFILE_SPEC, STARTFILE_SPEC): Do not define.
1287         * config/cris/cris.h (ENDFILE_SPEC): Define.
1288         * config/i386/i386elf.h ((ENDFILE_SPEC, STARTFILE_SPEC): Define.
1289         * config/pa/elf.h: Likewise.
1290
1291 2001-12-11  Richard Henderson  <rth@redhat.com>
1292
1293         * objc/objc-act.c (build_string_class_template): New.
1294         (build_objc_string_object): Call it.
1295
1296 2001-12-11  Steve Ellcey  <sje@cup.hp.com>
1297
1298         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
1299         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
1300         * calls.c (store_unaligned_arguments_into_pseudos): Check
1301         FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures
1302         are passed/returned.
1303         * expr.c (move_block_from_reg): Ditto.
1304         (move_block_from_reg): Ditto.
1305         (copy_blkmode_from_reg): Ditto.
1306         * stmt.c (expand_return): Ditto.
1307         * stor-layout.c (compute_record_mode): If
1308         FUNCTION_ARG_REG_LITTLE_ENDIAN is set then check
1309         MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode.
1310         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true
1311         so that Structures of one field are still treated as structures.
1312         (FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true.
1313         (FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding().
1314         (PAD_VARARGS_DOWN): Modify from default to not pad structures down.
1315         * config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New.
1316         * config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function
1317         to special case handling of structure padding.
1318
1319 2001-12-11  Daniel Berlin  <dan@cgsoftware.com>
1320
1321         * sched-rgn.c (CONST_BASED_ADDRESS_P): CONST_INT -> CONSTANT_P.
1322         (may_trap_exp): Stores only are risk if they trap, too, not just
1323         if code == MEM.
1324
1325 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
1326
1327         * flow.c (find_regno_partial): Indent properly.  Add a default to
1328         switch.
1329
1330 2001-12-11  Neil Booth  <neil@daikokuya.demon.co.uk>
1331
1332         * c-common.c (combine_strings): Complain if concatenating
1333         __FUNCTION__.
1334         * c-parse.in (yylexname): Flag artificial strings.
1335         * tree.h (TREE_ARTIFICIAL_STRING_P): New.
1336 doc:
1337         * extend.texi: Update.
1338
1339 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
1340
1341         * c-common.c (type_for_mode): Handle unsigned vectors.
1342         (type_for_mode): Remove redundant calls to TYPE_MODE.
1343
1344         * tree.c (make_vector): New.
1345         (build_common_tree_nodes_2): Use make_vector for vector types.
1346         Add unsigned vector types.
1347
1348         * tree.h (tree_index): Add unsigned types for vectors.
1349         (unsigned_V16QI_type_node): New.
1350         (unsigned_V4SI_type_node): New.
1351         (unsigned_V8QI_type_node): New.
1352         (unsigned_V8HI_type_node): New.
1353         (unsigned_V4HI_type_node): New.
1354         (unsigned_V2SI_type_node): New.
1355
1356 2001-12-11  Stan Shebs  <shebs@apple.com>
1357
1358         * objc/objc-act.c (finish_message_expr): Fix misplaced parens in a
1359         test of class names.
1360
1361 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
1362
1363         * config.gcc (m68020-*-elf*): Expand tm_file to include all needed
1364         cpu configuration headers.
1365         * config/h8300/elf.h: Include dbxelf.h.
1366         * config/m68k/linux.h: Likewise.
1367         * config/m68k/m68020-elf.h: Likewise.
1368         * config/m68k/m68kv4.h: Likewise.
1369         * config/sh/elf.h: Likewise.
1370         * config/m68k/m68kemb.h: Add comment about the its purpose.
1371
1372 2001-12-11  Richard Henderson  <rth@redhat.com>
1373
1374         * objc/objc-act.c (build_constructor): Cast initializer values
1375         to the proper field types.
1376
1377 2001-12-11  Jakub Jelinek  <jakub@redhat.com>
1378
1379         * unwind-dw2.c (execute_cfa_program): Fix DW_CFA_restore handling.
1380
1381 2001-12-10  Roger Sayle <roger@eyesopen.com>
1382
1383         * builtins.c (expand_builtin): Use a switch statement to list
1384         those functions not expanded without optimizations, instead of a
1385         series of equality tests.
1386
1387 Tue Dec 11 07:08:57 2001  Douglas B. Rupp  <rupp@gnat.com>
1388
1389         * config/alpha/vms.h (LIB_SPEC): Define.
1390         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Don't set component field.
1391
1392         * libgcc2.c (_bb): Remove ctime declaration.
1393
1394         * Makefile.in (stage[1234]-start): $(LN_S) utilities in a manner
1395         that works if LN_S = cp.
1396
1397         * config/alpha/x-vms (version): Change "." to "_".
1398
1399         * configure.in: Hardcode that vfork works on VMS host.
1400         * configure: Regenerated.
1401
1402 Mon Dec 10 18:37:31 2001  Douglas B. Rupp  <rupp@gnat.com>
1403
1404         * gcc.c (convert_filename): Add do_obj parameter. Don't convert
1405         unless do_obj true.
1406         (process_command): Modify calls to convert_filename.
1407
1408 2001-12-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1409
1410         * config/sparc/sol2-sld-64.h: Include dbxelf.h again.
1411
1412 Mon Dec 10 15:54:27 2001  Jeffrey A Law  (law@cygnus.com)
1413
1414         * combine.c (known_cond): Check mode of each operand to determine
1415         if COND is comparing floating point values.
1416
1417 2001-12-10  David Edelsohn  <edelsohn@gnu.org>
1418
1419         * rs6000.h (processor_type): Add PPC405.
1420         (RTX_COSTS): Add PPC405.  Correct rs64 and ppc630 multiply costs.
1421         * rs6000.md: Add PPC405 information.  Utilize imul2 and imul3 for
1422         rios1, rs64, and ppc630 processors.
1423         * rs6000.c (processor_target_table): Add PPC405.
1424
1425 2001-12-10  Richard Henderson  <rth@redhat.com>
1426
1427         * config/alpha/alpha.md (unaligned_extendhidi): Call gen_lowpart
1428         instead of hardcoding subregs into the _be and _le patterns.
1429
1430 2001-12-10  Neil Booth  <neil@daikokuya.demon.co.uk>
1431
1432         * c-lex.c, c-parse.in, c-typeck.c: Revert concatenation changes.
1433
1434 Mon Dec 10 09:19:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1435
1436         * config/i386/i386.md (leave, leave_rex64): Adjust pattern to match
1437         what insn does.
1438
1439 2001-12-10  Joseph S. Myers  <jsm28@cam.ac.uk>
1440
1441         * doc/cpp.texi: Don't condition menus on @ifinfo.  Condition the
1442         copyright notice formerly conditioned on @ifinfo on @ifnottex
1443         instead.
1444
1445 Mon Dec 10 06:15:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1446
1447         * vmsdbgout.c (lookup_filename): Remove warning.
1448
1449 Mon Dec 10 06:09:57 2001  Douglas B. Rupp  <rupp@gnat.com>
1450
1451         * Makefile.in: Add $(OUTPUT_OPTION) to compilation rules.
1452
1453         * config.gcc (alpha*-dec-vms*): Change to alpha*-dec-*vms*
1454         (exeext, target_alias, prefix, local_prefix): Define.
1455         * config/alpha/x-vms (USE_COLLECT2): Make empty.
1456         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Use Unix style
1457         file specifications. Remove ".".
1458         (GCC_INCLUDE_DIR): Remove redefinition (redundant).
1459         * fixinc/mkfixinc.sh (alpha*-dec-vms*):  Change to alpha*-dec-*vms*
1460
1461 2001-12-09  Nathan Sidwell  <nathan@codesourcery.com>
1462
1463         * Makefile.in (.po.gmo): Use POSIXLY_CORRECT argument ordering.
1464
1465 Sun Dec  9 21:57:24 2001  Douglas B. Rupp  <rupp@gnat.com>
1466
1467         * config/alpha/t-vms (EXTRA_PARTS): Append $(VMS_EXTRA_PARTS)
1468         Add rules for building [vp]crt0.o
1469         * config/alpha/vms.h (START_FILE_SPEC): Define.
1470         * config/alpha/x-vms (VMS_EXTRA_PARTS): Define
1471         * config/alpha/vms-crt0.c, config/alpha/vms-psxcrt0.c: New files.
1472         * doc/invoke.texi: Document special Alpha/VMS options.
1473
1474 Sun Dec  9 20:25:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1475
1476         * hwint.h (HOST_BITS_PER_LONGLONG): Deal with __int64 type.
1477         * vmsdbg.h (DST_SRC_COMMAND): Test for type of long long or __int64,
1478         not GNUC.
1479
1480 Sun Dec  9 20:19:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1481                           Douglas B. Rupp  <rupp@gnat.com>
1482
1483         * tree.c (append_random_char): Conditionalize INO for VMS.
1484
1485 2001-12-09  Richard Henderson  <rth@redhat.com>
1486
1487         * cfgcleanup.c (label_is_jump_target_p): New function.
1488         (try_optimize_cfg): Use label_is_jump_target_p to check if label is
1489         target of a JUMP_INSN from the preceding block.
1490
1491 Sun Dec  9 18:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
1492
1493         * vmsdbgout.c (lookup_filename): Assign null string instead
1494         of null pointer to fnam.
1495
1496 2001-12-09  Richard Henderson  <rth@redhat.com>
1497
1498         * config/alpha/alpha.c (alpha_align_insns): Suppress realignment
1499         immediately after a call; insert nops before a call.
1500
1501 2001-12-09  Richard Henderson  <rth@redhat.com>
1502
1503         * config/alpha/alpha.c (alpha_align_insns): Use align_functions,
1504         not FUNCTION_BOUNDARY.
1505         * config/alpha/alpha.h (TRAMPOLINE_ALIGNMENT): New.
1506         * config/alpha/alpha32.h, config/alpha/vms.h: Likewise.
1507         * config/alpha/unicosmk.h (FUNCTION_BOUNDARY): Remove.
1508
1509 2001-12-09  Hans-Peter Nilsson  <hp@bitrange.com>
1510
1511         * config/mmix/mmix.c (mmix_function_block_profiler,
1512         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
1513         unused functions.
1514         * config/mmix/mmix-protos.h (mmix_function_block_profiler,
1515         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
1516         prototypes.
1517
1518         * config/cris/cris.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER):
1519         Delete obsoleted macros.
1520
1521 2001-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
1522
1523         * doc/cpp.texi, doc/cppinternals.texi, doc/invoke.texi,
1524         doc/md.texi, doc/rtl.texi, doc/tm.texi: Use American spelling.
1525
1526         * ChangeLog.2, ChangeLog.3, ChangeLog.5, ChangeLog, alias.c,
1527         cfgbuild.c, expmed.c, expr.c, final.c, flow.c, fold-const.c,
1528         function.c, config/alpha/alpha.md, config/alpha/vms-ld.c,
1529         config/arm/arm.c, config/arm/arm.h, config/c4x/libgcc.S,
1530         config/i370/i370.c, config/i386/i386.c,
1531         config/i386/i386-interix.h, config/i386/i386.md,
1532         config/i386/i386.h, config/i386/netbsd-elf.h, config/ia64/ia64.c,
1533         config/m32r/m32r-protos.h, config/mcore/mcore.h,
1534         config/rs6000/rs6000.h, config/sparc/linux64.h,
1535         config/sparc/sparc.c, config/v850/v850-protos.h,
1536         config/cris/cris.h, config/s390/s390.md, config/elfos.h: Fix
1537         spelling errors.
1538
1539 2001-12-09  Daniel Berlin  <dan@cgsoftware.com>
1540
1541         * config/rs6000/rs6000.h (enum rs6000_builtins): Add remaining
1542         altivec builtins (VCF?X, VCT?XS, VSEL, V*EFP, VRFI*).
1543
1544         * config/rs6000/rs6000.c: Ditto.
1545
1546         * config/rs6000/rs6000.md: Ditto.
1547
1548 2001-12-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1549
1550         * 1750a.md: Add default case in switch.
1551         * alpha/vms.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
1552         if-else statement.
1553         * dsp16xx.c (print_operand_address): Likewise.
1554         * i386/osf1elf.h (FUNCTION_PROFILER): Const-ify.
1555         * ia64.md: Add missing braces.
1556         * rs6000-protos.h (s8bit_cint_operand): Prototype.
1557         * s390.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
1558         if-else statement.
1559         * stormy16.h (REG_CLASS_CONTENTS): Add missing braces.
1560         * v850.h (OUTPUT_ADDR_CONST_EXTRA): Don't issue a `return'.
1561         * dbxout.c (dbxout_source_file): Move a variable into the scope
1562         where it is used.
1563         * final.c (profile_function): Mark parameter with
1564         ATTRIBUTE_UNUSED.
1565         * genemit.c (gen_expand): Likewise for generated file.
1566         * insn-addr.h (INSN_ADDRESSES_NEW): Avoid undefined behavior.
1567
1568         * vmsdbg.h: Delete spurious close-comment.
1569         (DST_HEADER): Fix typo in ENUM_BITFIELD parameter.
1570         * vmsdbgout.c (write_modbeg): Define return type.
1571
1572         * m68k/3b1.h (ASM_OUTPUT_ALIGN): Wrap in do-while(0).
1573         * m68k/amix.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1574         * m68k/atari.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1575         * m68k/hp320.h (ASM_OUTPUT_ALIGN): Likewise.
1576         * m68k/m68kelf.h (ASM_OUTPUT_ALIGN): Likewise.
1577         * m68k/sgs.h (ASM_OUTPUT_ALIGN): Likewise.
1578         * m68k/tower-as.h (ASM_OUTPUT_ALIGN): Likewise.
1579
1580 2001-12-08  Tom Rix  <trix@redhat.com>
1581
1582         * config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete MASK_STRING.
1583         * config/rs6000/aix51.h (NON_POWERPC_MASKS): Same.
1584         * config/rs6000/rs6000.md (load_multiple, store_multiple): Do not use
1585         for powerpc64.
1586         * config/rs6000/rs6000.md (movstrsi_8reg, movstrsi_6reg,
1587         movstrsi_4reg, movstrsi_1_reg): Add powerpc64.
1588         * config/rs6000/rs6000.c (expand_block_move): Do not use
1589         gen_movstrsi_2reg and powerpc64.
1590
1591 2001-10-08  Aldy Hernandez  <aldyh@redhat.com>
1592
1593         * c-common.h (rid): Add RID_CHOOSE_EXPR and
1594         RID_TYPES_COMPATIBLE_P.
1595
1596         * c-parse.in (reswords): Add __builtin_choose_expr.
1597         Add __builtin_types_compatible_p.
1598         Add CHOOSE_EXPR token.
1599         Add TYPES_COMPATIBLE_P token.
1600         Add production for CHOOSE_EXPR.
1601         Add production for TYPES_COMPATIBLE_P.
1602
1603         * doc/extend.texi (__builtin_choose_expr): Add documentation.
1604         (__builtin_types_compatible_p): Likewise.
1605
1606 2001-12-08  David Edelsohn  <edelsohn@gnu.org>
1607
1608         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
1609         to unions.
1610
1611 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
1612
1613         * c-parse.in: Take string literals in assembler constructs,
1614         not expressions.
1615         * c-typeck.c (build_asm_stmt, simple_asm_stmt): No need to
1616         check the strings are STRING_CSTs.
1617
1618 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
1619
1620         * c-lex.c (c_lex): Peek a token ahead for a string to concatenate,
1621         using combine_strings to do the concatenation.
1622         * c-parse.in: Replace uses of the string non-terminal with STRING.
1623         Don't attempt string concatenation.
1624         (OBJC_STRING): New terminal.
1625         (string): Remove non-terminal.
1626         (_yylex): Call combine_strings on function names.  Generate
1627         OBJC_STRING terminals; don't pass '@' on to yacc.
1628         * c-typeck.c (simple_asm_stmt): Don't concatenate strings here.
1629         (build_asm_stmt): Similarly.
1630
1631 2001-12-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1632
1633         * rtlanal.c (get_jump_table_offset): Delete unused variable.
1634
1635 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
1636
1637         * arm.md (VUNSPEC_PREFETCH): Delete constant definition.
1638         (prefetch): Rewrite using PREFETCH RTL primitive.
1639         * arm.h (arm_builtins): Delete ARM_BUILTIN_PREFETCH).
1640         * arm.c (arm_init_builtins): Don't initialize a builtin for
1641         __builtin_prefetch here.
1642         (arm_expand_builtin): Don't expand __builtin_prefetch here.
1643
1644 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
1645
1646         * final.c (cleanup_subreg_operands):  Use recog_data.operand_loc
1647         in test for a subreg.
1648
1649 2001-12-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1650
1651         * rtl.c (rtx_equal_p): Check for null pointers when comparing rtx
1652         strings.
1653
1654 2001-12-07  Richard Henderson  <rth@redhat.com>
1655
1656         * doc/extend.texi: Fix typo last change.
1657
1658         * c-decl.c (c_language): Remove duplicate.
1659
1660 2001-12-07  Dale Johannesen  <dalej@apple.com>
1661
1662         * config/rs6000/darwin.h: Set MAX_LONG_TYPE_SIZE to 32.
1663         * config/rs6000/rs6000.c (rs6000_emit_move): In Darwin-
1664         specific codegen, eliminate a register copy.
1665         (print_operand_address): Add support for Darwin's lo16(constant)
1666         syntax.
1667         (rs6000_machopic_legitimize_pic_address): Fix darwin-specific
1668         generation of addresses within very large data objects.
1669         (s8bit_cint_operand):  New.
1670         * config/rs6000/rs6000.md: Remove "iu" reference for 750/7400.
1671         Move "mtjmpr" to correct functional unit for 750/7400/7450.
1672         Add imul2 and imul3 insn types for multiplication by 16- and
1673         8-bit constants.
1674         Change tablejump patterns to strongly discourage using LR
1675         rather than CTR.
1676         Add %lo16 patterns for Darwin loads and stores.
1677
1678 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1679
1680         * alpha.md: Use (HOST_WIDE_INT)1<<63 in lieu of 0x8000000000000000.
1681
1682 2001-12-07  Stephane Carrez  <Stephane.Carrez@sun.com>
1683
1684         * config/sparc/sparc.c (epilogue_renumber): Do not replace %fp
1685         with %sp because it can cause the delayed instruction to load
1686         below the stack.
1687
1688 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1689
1690         * alpha.c (alpha_expand_unaligned_store,
1691         alpha_expand_unaligned_store_words): Use constm1_rtx in place of
1692         call to immed_double_const.
1693
1694 2001-12-07  Aldy Hernandez  <aldyh@redhat.com>
1695
1696         * doc/extend.texi (Variable Attributes): Document vector_size.
1697
1698         * attribs.c (c_common_attribute_table): Add vector_size.
1699         (handle_vector_size_attribute): New.
1700         (vector_size_helper): New.
1701         (decl_attributes): Relayout the decl after calculating attribs.
1702
1703 2001-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1704
1705         * doc/gcc.texi: Don't include install-old.texi.  Adjust menu
1706         description for Trouble section.
1707         * doc/install-old.texi: Adjust for inclusion as chapter of new
1708         installation manual.
1709         * doc/install.texi, doc/include/fdl.texi, doc/install.texi2html:
1710         Adjust to include old installation chapter as chapter of new
1711         installation manual.
1712
1713 Fri Dec  7 11:07:35 EST 2001  John Wehle  (john@feith.com)
1714
1715         * rtl.h (get_jump_table_offset): Declare.
1716         * rtlanal.c (get_jump_table_offset): Implement.
1717
1718 Fri Dec  7 07:06:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1719
1720         * final.c (bb_head, bb_tail, bb_file_label_num, bb_func_label_num):
1721         Deleted; were used only by BB profiler code.
1722         (sbb_head, sbb_tail, sbb_label_num): Likewise.
1723         (end_final): Delete now-unused vars I, PTR, and SPTR.
1724
1725         * expr.c (store_field): Remove warning.
1726         (expand_expr, case COMPONENT_REF, case VIEW_CONVERT_EXPR): Likewise.
1727         (highest_pow2_factor, case MIN_EXPR, case MAX_EXPR): Add cases.
1728         (highest_pow2_factor, case *_DIV_EXPR): Only can do something if
1729         divisor constant power of 2.
1730         (highest_pow2_factor, case COMPOUND_EXPR): Look at operand 1.
1731
1732 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1733
1734         * alpha.c (function_arg): Cast value to HOST_WIDE_INT before
1735         shifting.
1736
1737 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
1738
1739         * rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): New.
1740         (DWARF_FRAME_REGISTERS): Delete.
1741
1742 2001-12-06  Janis Johnson  <janis187@us.ibm.com>
1743
1744         * builtin-types.def (BT_FN_VOID_PTR_VAR): New.
1745         * builtins.def (BUILT_IN_PREFETCH): Change arguments.
1746         * builtins.c (expand_builtin_prefetch): Two arguments are now optional,
1747         with defaults for read prefetch with high degree of locality.
1748         * doc/extend.texi (__builtin_prefetch): Update documentation.
1749         * doc/md.texi (prefetch): Add documentation.
1750
1751 2001-12-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1752
1753         * fixinc/inclhack.def (stdio_va_list): Handle __VA_LIST__ in Tru64
1754         UNIX V5.1A stdio.h.
1755         * fixinc/fixincl.x: Regenerate.
1756         Fixes PR libf2c/4826.
1757
1758 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
1759             Richard Henderson  <rth@redhat.com>
1760
1761         * doc/tm.texi (DWARF_FRAME_REGISTERS): Add documentation.
1762         (PRE_GCC3_DWARF_FRAME_REGISTERS): Same.
1763
1764         * unwind-dw2.c (__frame_state_for): Change DWARF_FRAME_REGISTERS
1765         to PRE_GCC3_DWARF_FRAME_REGISTERS.
1766         (frame_state): Same.
1767         (PRE_GCC3_DWARF_FRAME_REGISTERS): Define if not already defined.
1768
1769 2001-12-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1770
1771         * langhooks.c (lhd_staticp): Mark parameter with
1772         ATTRIBUTE_UNUSED.
1773
1774 2001-12-06  H.J. Lu <hjl@gnu.org>
1775
1776         * Makefile.in (.po.gmo): Use "-test -d po || mkdir po" to
1777         reduce noise.
1778         (.po.pox): Likewise.
1779         (o/$(PACKAGE).pot): Likewise.
1780
1781 2001-12-06  Alexandre Oliva  <aoliva@redhat.com>
1782
1783         * tree.c (get_callee_fndecl): Move DECL_ABSTRACT_ORIGIN-following...
1784         * tree-inline.c (expand_call_inline): ... here.
1785
1786 2001-12-06  H.J. Lu <hjl@gnu.org>
1787
1788         * Makefile.in (.po.gmo): Use "-mkdir po" for parallel build.
1789         (.po.pox): Likewise.
1790         (o/$(PACKAGE).pot): Likewise.
1791
1792 2001-12-06  David O'Brien  <obrien@FreeBSD.org>
1793
1794         * config.gcc: Include dbxelf.h before elfos.h.
1795         * elfos.h: Don't include dbxelf.h, let config.gcc handle it.
1796
1797 2001-12-06  Zack Weinberg  <zack@codesourcery.com>
1798
1799         * cppfiles.c (open_file): If we've opened a directory by
1800         mistake, close it.
1801         (find_include_file): Avoid turning / into // or // into ///.
1802
1803 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
1804
1805         * config/arm/arm.h (STRUCT_VALUE): Suppress definition.
1806         (STRUCT_VALUE_REGNUM): Restore definition.
1807
1808 2001-12-06  Andrew MacLeod <amacleod@redhat.com>
1809
1810         * flow.c (find_regno_partial): Return register, not the expression
1811         the register is in.
1812
1813 Thu Dec  6 09:24:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1814
1815         * function.c (handle_epilogue_set): Check for FP setting case when
1816         SP is set from FP in same insn.
1817
1818 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
1819
1820         * config/arm/arm.c (load_multiple_sequence): Pass pointer to
1821         RTX when calling alter_subreg().
1822         (store_multiple_sequence): Pass pointer to RTX when calling
1823         alter_subreg().
1824
1825 Thu Dec  6 06:55:13 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1826
1827         * function.c (assing_parms): Fix typo in last change.
1828         * config/clipper.c (clipper_builtin_saveregs): Remove Checker code.
1829         * config/m88k/m88k.c (m88k_builtin_saveregs): Likewise.
1830         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
1831         * config/sparc/sparc.c (sparc_builtin_saveregs): Likewise.
1832
1833 2001-12-06  Alan Modra  <amodra@bigpond.net.au>
1834
1835         * config/rs6000/rs6000.c (rs6000_unique_section): Simplify and
1836         correct code selecting section.
1837
1838 Thu Dec  6 12:45:33 CET 2001  Jan Hubicka  <jh@suse.cz>
1839
1840         * final.c (count_basic_block, add_bb, add_bb_string):
1841         Kill.
1842         (end_final, final_start_function, final, final_scan_insn,
1843         leaf_function_p): Kill BB profiler related code.
1844         * flags.h (profile_block_flag): Kill.
1845         * libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE,
1846         BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func,
1847         __bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets,
1848         bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize
1849         reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose,
1850         __bb_exit_trace_func, __bb_init_prg, __bb_trace_func,
1851         __bb_trace_func_ret, __bb_init_file, __bb_trace_ret,
1852         __bb_init_trace_func): Kill.
1853         * toplev.c (profile_block_flag): Kill.
1854         (indepdendent_decode_option, process_options): Kill -a related code.
1855         * alpha.c (direct_call_operand): Likewise.
1856         * arm.c (arm_expand_prologue, thumb_expand_prologue,
1857         thumb_expand_epilogue): Likewise.
1858         * c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise.
1859         * c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1860         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1861         MACHINE_STATE_RESTORE): Kill.
1862         * d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1863         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1864         MACHINE_STATE_RESTORE): Kill.
1865         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
1866         * i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue,
1867         ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related
1868         code.
1869         (ix86_output_function_block_profiler, ix86_output_block_profiler): Kill.
1870         * i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1871         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1872         MACHINE_STATE_RESTORE): Kill.
1873         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
1874         * i960.c (i960_output_function_prologue): Kill BB profiler related
1875         code.
1876         * ia64.c (ia64_compute_frame_size): Likewise.
1877         * ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1878         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1879         MACHINE_STATE_RESTORE): Kill.
1880         * m32r.c (m32r_expand_prolofue): Kill BB profiler related code.
1881         * m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1882         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1883         MACHINE_STATE_RESTORE): Kill.
1884         * m68k.c (m68k_output_function_epilogue): Kill BB profiler related code.
1885         * m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1886         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1887         MACHINE_STATE_RESTORE): Kill.
1888         * m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue):
1889         Kill BB profiler related code.
1890         * m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1891         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1892         MACHINE_STATE_RESTORE): Kill.
1893         * mips.c (mips_expand_prologue): Kill BB profiler related code.
1894         * mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1895         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1896         MACHINE_STATE_RESTORE): Kill.
1897         * rs6000.c (rs6000_override_options): Kill BB profiler related code.
1898         * s960.c (s390_function_prologue): Kill BB profiler related code.
1899         * s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1900         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1901         MACHINE_STATE_RESTORE): Kill.
1902         * linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1903         * linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1904         * linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1905         * sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1906         * sparc.c (sparc_override_options, eligible_for_sibcall_delay,
1907         sparc_nonflat_function_epilogue): Kill BB profiler related code.
1908         (sparc_function_block_profiler, sparc_block_profiler,
1909         sparc_function_block_profiler_exit): Kill.
1910         * sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code.
1911         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1912         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1913         MACHINE_STATE_RESTORE): Kill.
1914         * sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1915         * sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1916         * stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1917         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1918         MACHINE_STATE_RESTORE): Kill.
1919         * doc/invoke.texi: Kill documentation of -a and -ax.
1920         * tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1921         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1922         MACHINE_STATE_RESTORE): Kill.
1923
1924 2001-10-26  Steve Christiansen  <smc@us.ibm.com>
1925
1926         * doc/rtl.texi: Use a table to display RTL format characters.
1927
1928 2001-12-06  Bo Thorsen  <bo@suse.co.uk>
1929
1930         * config/i386/linux64.h (LINK_SPEC): Correct name of dynamic linker.
1931
1932 Wed Dec  5 19:18:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1933
1934         * function.c (keep_stack_depressed): Check global_live_at_start
1935         of EXIT_BLOCK for temp register and verify it isn't in equiv_reg_src.
1936
1937 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
1938
1939         * config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files,
1940         as set by the generic FreeBSD configure framework.
1941
1942 2001-12-04  Jason Merrill  <jason@redhat.com>
1943
1944         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
1945         start_inlining, end_inlining.
1946         * tree-inline.c (expand_call_inline): Call them.
1947         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_START_INLINING): Define.
1948         (LANG_HOOKS_TREE_INLINING_END_INLINING): Define.
1949         (LANG_HOOKS_TREE_INLINING_INITIALIZER): Add them.
1950         * langhooks.c (lhd_tree_inlining_start_inlining): New fn.
1951         (lhd_tree_inlining_end_inlining): New fn.
1952
1953 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
1954
1955         * c-common.c (shadow_warning): New function, moved from cp/decl.c.
1956         * c-common.h (shadow_warning): New.
1957         * c-decl.c: Include c-common.h.
1958         (warn_if_shadowing): New, broken out of pushdecl.
1959         (pushdecl): Use warn_if_shadowing.
1960         (store_parm_decls): Prevent duplicate -Wshadow warnings.
1961
1962 Wed Dec  5 17:59:19 2001  Douglas B. Rupp  <rupp@gnat.com>
1963
1964         * config/alpha/vms.h (SIZE_TYPE, PTRDIFF_TYPE): Remove, were disabled.
1965         (DOLLARS_IN_IDENTIFIERS, LINK_SPEC): Remove duplicate.
1966         (LIB_SPEC): Remove.
1967
1968 Wed Dec  5 16:03:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1969
1970         * doc/c-tree.texi (RECORD_TYPE, UNION_TYPE): Expand on definition.
1971         (QUAL_UNION_TYPE): New type.
1972
1973         * varasm.c (output_constant, case ERROR_MARK): New case.
1974
1975         * attribs.c (handle_no_check_memory_usage_atribute): Deleted.
1976         (c_com): Delete its reference.
1977         * builtins.c: Delete memory checking code.
1978         * calls.c, expr.c, function.c, stmt.c: Likewise.
1979         * builtins.c (expand_builtin_arg_info): Remove reference to
1980         EXPAND_MEMORY_USE_* modifiers.
1981         * explow.c (expr_size): Likewise.
1982         * expr.c (expand_expr, expand_increment): Likewise.
1983         * expr.h (ARGS_SIZE_RTX): Likewise.
1984         * function.c (assign_parms, expand_pending_sizeso): Likewise.
1985         * c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE.
1986         * expr.c (in_check_memory_usage): Delete.
1987         (get_push_address, get_memory_usage_from_modifier): Delete.
1988         (expand_assigment): Use EXPAND_WRITE on destination.
1989         (expand_expr): Delete ro_modifier.
1990         * expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and
1991         add EXPAND_WRITE.
1992         (memory_use_mode): Delete.
1993         * flags.h (flag_check_memory_usage): Deleted.
1994         (flag_prefix_function_name): Likewise.
1995         * function.c (expand_function_start): Don't set
1996         current_function_check_memory_usage.
1997         * function.h (check_memory_usage): Delete.
1998         * libfuncs.h, optabs.c: Delete chkr_* stuff.
1999         * stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to
2000         EXPAND_WRITE.
2001         * toplev.c (flag_check_memory_usage): Deleted.
2002         (flag_prefix_function_name): Likewise.
2003         (f_options, process_options): Delete references to above.
2004         * tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted.
2005         * varasm.c (CHKR_PREFIX): Deleted.
2006         (make_decl_rtl): Remove flag_prefix_function_name handling.
2007         (assemble_name): Likewise.
2008         * doc/extend.texi: Remove no_check_memory_usage attribute.
2009         * doc/invoke.texi: Remove -fcheck-memory-usage
2010         and -fprefix-function-name.
2011
2012 2001-12-05  Andreas Schwab  <schwab@suse.de>
2013
2014         * Makefile.in (STMP_FIXPROTO, STMP_FIXINC): Use substituted values
2015         from autoconf.
2016
2017 2001-12-05  Nick Clifton  <nickc@cambridge.redhat.com>
2018
2019         * config.gcc: Include arm/xscale-coff.h before arm/arm.h.
2020
2021 2001-12-05  William Cohen  <wcohen@redhat.com>
2022
2023         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Correct typo in
2024         instruction.
2025
2026 2001-12-05  Daniel Berlin  <dan@cgsoftware.com>
2027
2028         * config/rs6000/rs6000.h (enum rs6000_builtins): Add more altivec
2029         builtins.
2030
2031         * config/rs6000/rs6000.md: Modeling of 7450 altivec changed to
2032         better reflect reality (change from Apple's tree).
2033         Add more of altivec instructions.
2034         Add ftruncv4sf2 pattern.
2035         Remove more unspecs (vector merge instructions, etc).
2036
2037         * config/rs6000/rs6000.c (bdesc_3arg): New, for 3 argument altivec
2038         builtins.
2039         (bdesc_1arg): New, for 1 argument altivec builtins.
2040         (altivec_expand_builtin): Handle unary and ternary ops.
2041         (altivec_init_builtins): Ditto.
2042
2043 Wed Dec  5 09:33:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2044
2045         * config/alpha/vms.h (ADA_LONG_TYPE_SIZE): New macro.
2046         * doc/tm.texi (ADA_LONG_TYPE_SIZE): Document it.
2047
2048 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2049
2050         * gcse.c (store_killed_in_insn): Consider pure calls
2051         as potential store killers in addition to normal calls.
2052
2053 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2054
2055         * expr.c (expand_expr): When checking promoted value, use
2056         DECL_MODE (exp) and not mode.
2057
2058 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2059
2060         * c-typeck.c (output_init_element): Call digest_init
2061         just once, not in each if branch and check its return value for
2062         error_mark_node.
2063
2064 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2065
2066         * c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's
2067         type is RECORD_TYPE, UNION_TYPE or ARRAY_TYPE thereof.
2068         (finish_struct): Break the loop if n_incomplete went to 0.
2069         For ARRAY_TYPE, if it is not TYPE_DECL, layout the decl too.
2070
2071 Wed Dec  5 07:41:13 2001  Douglas B. Rupp  <rupp@gnat.com>
2072
2073         * config/alpha/alpha.c (alpha_va_start): Update VMS case.
2074
2075 Wed Dec  5 07:27:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2076                           Douglas B. Rupp  <rupp@gnat.com>
2077
2078         * vmsdbg.h, vmsdbgout.c: Add documentation and minor cleanups.
2079         * doc/invoke.texi: Add -gvms.
2080         * doc/passes.texi: Add mention of vmsdbgout.c.
2081         * doc/tm.texi: Document VMS debugging output.
2082
2083 Wed Dec  5 06:26:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2084
2085         * function.h (tree, rtx): Remove no-longer-needed definitions.
2086
2087         * function.c (keep_stack_depressed): Refine check for register
2088         clobbered over call.
2089
2090         * expr.c (store_expr): When copying string constant into array,
2091         use functions that update memrefs instead of computations on
2092         addresses to better track MEMs.  Also properly handle 32/64 pointers.
2093         (expand_expr): Use TARGET even if not reg for multi-word CONSTRUCTOR.
2094         (expand_expr, case CONSTRUCTOR): Fix errors in parms to assign_temp.
2095
2096         * emit-rtl.c (component_ref_for_mem_expr): Try harder to find decl
2097         underneath COMPONENT_REFs.
2098         (set_mem_attributes): Also strip VIEW_CONVERT_EXPR.
2099
2100 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2101
2102         * toplev.c (display_target_options): Don't print twice.
2103
2104 Wed Dec  5 00:42:16 EST 2001  John Wehle  (john@feith.com)
2105
2106         * emit-rtl.c (set_unique_reg_note): Don't set
2107         a REG_EQUAL or REG_EQUIV note if multiple sets
2108         are present.
2109
2110 2001-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2111
2112         * cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if
2113         CASE_DROPS_THROUGH.
2114
2115 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
2116
2117         * rtl.h (initialize_uninitialized_subregs): New prototype.
2118         * toplev.c (rest_of_compilation): Call initialize_uninitialized_subregs
2119         when optimization is on.
2120         * flow.c (find_regno_partial): Find subregs within an expression.
2121         (initialize_uninitialized_subregs): Initialize live on entry registers
2122         which are used in subreg expressions.
2123
2124 2001-12-04  Phil Edwards  <pme@gcc.gnu.org>
2125
2126         * Makefile.in:  Add INSTALL_SCRIPT using INSTALL definition.
2127
2128 2001-12-04  DJ Delorie  <dj@redhat.com>
2129
2130         * fixinc/fixincl.c (initialize): Avoid problemsome macro
2131         parameter names (PR 3388).
2132
2133 2001-12-05  Alan Modra  <amodra@bigpond.net.au>
2134
2135         * config/rs6000/rs6000.c (rs6000_legitimize_address): Fix typo.
2136         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Here too.
2137
2138 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2139
2140         * c-common.def (COMPOUND_LITERAL_EXPR): New.
2141         * c-common.c (c_expand_expr): Handle COMPOUND_LITERAL_EXPR.
2142         (c_staticp): New function.
2143         * c-common.h (COMPOUND_LITERAL_EXPR_DECL): New.
2144         (c_staticp): Declare.
2145         * c-typeck.c (default_function_array_conversion, build_unary_op):
2146         Don't handle CONSTRUCTOR specially.
2147         (lvalue_p, mark_addressable): Handle COMPOUND_LITERAL_EXPR.
2148         * c-decl.c (build_compound_literal): New function.
2149         * c-tree.h (build_compound_literal): Declare.
2150         * c-parse.in (primary): Use build_compound_literal.
2151         * c-lang.c (LANG_HOOKS_STATICP): Define.
2152         * objc/objc-lang.c (LANG_HOOKS_STATICP): Likewise.
2153         * doc/c-tree.texi: Document COMPOUND_LITERAL_EXPR.
2154         * doc/extend.texi: Update documentation of compound literals.
2155         Fixes PR c/4787.
2156
2157 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2158
2159         * langhooks.h (struct lang_hooks): Add staticp.
2160         * langhooks-def.h (lhd_staticp, LANG_HOOKS_STATICP): New.
2161         (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_STATICP.
2162         * langhooks.c (lhd_staticp): New function.
2163         * tree.c (staticp): Call lang_hooks.staticp for language-specific
2164         tree codes.
2165
2166 2001-12-04  Neil Booth  <neil@daikokuya.demon.co.uk>
2167
2168         * cppspec.c (lang_specific_driver): Set is_cpp_driver.
2169         * gcc.c (process_command): Ensure the cpp driver sees
2170         --help and --target-help, and that the help is printed
2171         exactly once.
2172
2173 2001-12-04  David Edelsohn  <edelsohn@gnu.org>
2174
2175         * config/elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Display count unsigned.
2176
2177 2001-12-04  Hans-Peter Nilsson  <hp@axis.com>
2178
2179         * config/cris/cris.h (OPTIMIZATION_OPTIONS): Don't unset
2180         flag_strict_aliasing.  Use separate assignment statements.
2181
2182 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
2183
2184         * build-make, cross-make: Delete file.
2185         * configure.in: Set and substitute CROSS, ALL,
2186         SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
2187         HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
2188         whether build == host and host == target.  Do not
2189         AC_SUBST_FILE build_overrides or cross_overrides.  Do not
2190         AC_SUBST cross_defines or extra_c_flags.
2191         * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
2192         (SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
2193         HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
2194         partially or completely with autoconf-substituted @variable@
2195         notation.
2196         (INSTALL_TARGET, @cross_defines@, @cross_overrides@,
2197         @build_overrides@, @extra_c_flags@, all.build, install-build,
2198         install-cross-rest, install-float-h-cross): Deleted.
2199         (install-normal): Rename to install.  Delete old "install"
2200         indirection rule.
2201
2202 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
2203
2204         * stmt.c (expand_return): Clear destination instead of clobbering it
2205         when setting a return value via bitsets.
2206
2207 2001-12-04  Alexandre Oliva  <aoliva@redhat.com>
2208
2209         * tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if
2210         it has DECL_SAVED_TREE.
2211
2212         * c-decl.c (duplicate_decls): Revert rth's patch.  If newdecl
2213         is in a different binding level, get its abstract origin to be
2214         olddecl.
2215         * tree-inline.c (expand_call_inline): Move DECL_INITIAL sanity
2216         check earlier.
2217         * tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if
2218         DECL_INITIAL is NULL.
2219
2220 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
2221
2222         * flow.c (ior_reg_cond): Return NULL if ! add and rtx wasn't optimized.
2223         Return correct value if one of the subexpressions was optimized to
2224         0 resp. 1.  Optimize (x | A) | x and (x & A) | x.
2225         (and_reg_cond): Similarly.
2226
2227 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
2228
2229         * function.c (assign_parms): Set last_named only for last named
2230         argument.
2231
2232 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2233
2234         * doc/install.texi: Use the GFDL.  Include years from old install
2235         manual in copyright notice.  Include copyright and GFDL notice on
2236         HTML index page.  Include usual footer on testing.html.
2237         * doc/install.texi2html: Build gfdl.html.  Use -I
2238         $SOURCEDIR/include.
2239         * doc/include/fdl.texi: Adapt for use in the install manual.
2240
2241 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2242
2243         * doc/install.texi: Document that installed native compiler for
2244         building cross compilers should be GCC 2.95 or later.
2245
2246 2001-12-03  Eric Christopher  <echristo@redhat.com>
2247
2248         * config/mips/mips.h (CALL_REALLY_USED_REGISTERS): New macro.
2249         * config/mips/mips.md: Check TARGET_DEBUG_D_MODE before split
2250         patterns.
2251
2252 2001-12-03  Janis Johnson  <janis187@us.ibm.com>
2253
2254         * rtl.def (PREFETCH): New rtx code.
2255         * doc/rtl.texi (PREFETCH): Add documentation.
2256         * function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx.
2257         * rtlanal.c (reg_referenced_p): Ditto.
2258         * sched-vis.c (print_exp):  Ditto.
2259         * ssa-dce.c (find_inherently_necessary):  Ditto.
2260
2261         * config/ia64/ia64.h (SIMULTANEOUS PREFETCHES): Define.
2262           (PREFETCH_BLOCK): Define.
2263         * config/ia64/ia64.md (itanium_class): Add lfetch.
2264           (prefetch, prefetch_internal): New.
2265
2266         * builtin-types.def (BT_FN_VOID_PTR_INT_INT): New.
2267         * builtins.def (BUILT_IN_PREFETCH): New.
2268         * builtins.c (expand_builtin_expect): New.
2269           (expand_builtin): Call it.
2270         * doc/extend.texi: Document __builtin_prefetch.
2271
2272         * config/i386/i386.md (prefetch): Rename as prefetch_sse to avoid
2273           conflicts with new generic prefetch functionality.
2274         * config/i386/i386.c (ix86_expand_builtin): Use new name for
2275           prefetch_sse.
2276
2277 2001-12-02  Ziemowit Laski  <zlaski@apple.com>
2278
2279         * objc/Make-lang.in: Update copyright.
2280         (OBJC_OBJS): Add objc-lang.o.
2281         (objc-lang.o): New rule.
2282         * objc/config-lang.in: Fix file description and update
2283         copyright.
2284         * objc/objc-act.c: Do not include langhooks.h and
2285         langhooks-def.h
2286         (lang_hooks): Move (along with LANG_HOOKS...) to objc-lang.c.
2287         (objc_post_options): Move to objc-lang.c.
2288         (objc_init_options): Move to objc-lang.c.
2289         (objc_init): Make non-static.
2290         (objc_decode_option): Make non-static.
2291         (HASHFUNCTION): Remove macro.
2292         (hash_func): New function.
2293         (hash_enter): Replace HASHFUNCTION with hash_func.
2294         (hash_lookup): Replace HASHFUNCTION with hash_func.
2295         (maybe_objc_tree_codes): New function.
2296         (init_objc): Move ObjC tree code initialization to
2297         maybe_objc_tree_codes().
2298         * objc/objc-act.h (GCC_OBJC_ACT_H): New include guard.
2299         (objc_init): New public prototype.
2300         (objc_decode_option): New public prototype.
2301         (maybe_add_objc_tree_codes): New public prototype.
2302         * objc/objc-lang.c: New file.
2303         (lang_hooks): Moved from objc-act.c.
2304         (objc_post_options): Moved from objc-act.c.
2305         (objc_init_options): Moved from objc-act.c.
2306
2307 2001-12-03  Geoff Keating  <geoffk@redhat.com>
2308
2309         * emit-rtl.c (gen_lowpart_common): Avoid unwanted sign-extension
2310         of array elements.
2311
2312 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
2313
2314         PR c/4988
2315         * gcc.c (process_command): Don't add a preprocessor option for
2316         --help and --target-help; cc1 is enough.
2317
2318 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
2319
2320         * c-decl.c (grokdeclarator): Use ISO word.
2321         * cppinit.c: Remove leading capital from diagnostic messages, as
2322         per GNU coding standards.
2323         * emit-rtl.c: Similarly.
2324         * final.c: Similarly.
2325         * gcc.c: Similarly.
2326         * tradcpp.c: Similarly.
2327         * config/arm/arm.c: Similarly.
2328         * config/arm/arm.h: Similarly.
2329         * config/avr/avr.c: Similarly.
2330         * config/avr/avr.h: Similarly.
2331         * config/c4x/c4x.c: Similarly.
2332         * config/cris/cris.c: Similarly.
2333         * config/cris/cris.h: Similarly.
2334         * config/d30v/d30v.c: Similarly.
2335         * config/dsp16xx/dsp16xx.c: Similarly.
2336         * config/dsp16xx/dsp16xx.h: Similarly.
2337         * config/h8300/h8300.c: Similarly.
2338         * config/i386/i386.c: Similarly.
2339         * config/i386/xm-djgpp.h: Similarly.
2340         * config/i960/i960.h: Similarly.
2341         * config/m32r/m32r.c: Similarly.
2342         * config/m68hc11/m68hc11.c: Similarly.
2343         * config/m88k/m88k.c: Similarly.
2344         * config/m88k/m88k.h: Similarly.
2345         * config/mcore/mcore.c: Similarly.
2346         * config/mcore/mcore.h: Similarly.
2347         * config/mips/mips.c: Similarly.
2348         * config/mmix/mmix.c: Similarly.
2349         * config/pa/pa.c: Similarly.
2350         * config/rs6000/rs6000.c: Similarly.
2351         * config/rs6000/sysv4.h: Similarly.
2352         * config/s390/s390.c: Similarly.
2353         * config/sparc/sparc.c: Similarly.
2354         * config/v850/v850-c.c: Similarly.
2355         * config/v850/v850.c: Similarly.
2356
2357 2001-12-03  Zack Weinberg  <zack@codesourcery.com>
2358
2359         * rs6000.h (RETURN_IN_MEMORY): Cast result of
2360         int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8.
2361
2362 Mon Dec  3 09:18:34 2001  Jeffrey A Law  (law@cygnus.com)
2363
2364         * mn10200.md (negsf2): Use -0x8000 instead of 0x8000 for
2365         bit twiddling constant.
2366
2367 Mon Dec  3 16:16:37 CET 2001  Jan Hubicka  <jh@suse.cz>
2368
2369         * gcse.c (delete_null_pointer_checks_1): Do not use delete_list;
2370         call purge_dead_edges after removing.
2371         (delete_null_pointer_checks): Do not handle delete_list.
2372
2373         * cfgbuild.c (inside_basic_block_p, control_flow_insn_p): Break out from ...
2374         (count_basic_blocks): ... here.
2375         (find_basic_blocks, find_bb_boundaries): Cleanup.
2376
2377         * stor-layout.c (fixup_signed_type, fixup_unsigned_type): Avoid
2378         overflow for types greater then 2 * HOST_WIDE_INT.
2379
2380         * reload.c (find_reloads): Update the duplicates after swapingg.
2381
2382 Mon Dec  3 13:52:19 CET 2001  Jan Hubicka  <jh@suse.cz>
2383
2384         * i386.md (movabsqi*): Use 'b' prefix instead of 'q'.
2385
2386 2001-12-02  Zack Weinberg  <zack@codesourcery.com>
2387
2388         * config/rs6000/rs6000.h (MASK_ALTIVEC_ABI,
2389         MASK_LONG_DOUBLE_128): Delete.
2390         (MASK_AIX_STRUCT_RET, MASK_AIX_STRUCT_RET_SET,
2391         TARGET_AIX_STRUCT_RET): New flags.
2392         (TARGET_SWITCHES): Remove entries for -mlong-double-128 and
2393         -mlong-double-64.  Add entries for -m(no-)aix-struct-return
2394         and -m(no-)svr4-struct-return.
2395         (TARGET_OPTIONS): Add entry for -mlong-double-.
2396         (rs6000_long_double_size_string, rs6000_long_double_type_size,
2397         rs6000_altivec_abi): Declare.
2398         (TARGET_LONG_DOUBLE_128, TARGET_ALTIVEC_ABI,
2399         LONG_DOUBLE_TYPE_SIZE): Change definitions to match.
2400         (RETURN_IN_MEMORY): If !TARGET_AIX_STRUCT_RET, return
2401         structures of size <= 8 bytes in registers.
2402         (PRINT_OPERAND_PUNCT_VALID_P): Take out '$' and '*'.
2403
2404         * config/rs6000/rs6000.c (rs6000_long_double_size_string,
2405         rs6000_long_double_type_size, rs6000_altivec_abi): New
2406         globals.
2407         (rs6000_override_options): Set rs6000_long_double_type_size
2408         from rs6000_long_double_size_string, if nonzero.  Set the
2409         MASK_AIX_STRUCT_RET bit in target_flags from DEFAULT_ABI, if
2410         not already set.
2411         (rs6000_parse_abi_options): Set rs6000_altivec_abi, not a
2412         target_flags bit.
2413         (rs6000_init_builtins): This hook now takes no arguments.
2414
2415         * config/rs6000/netbsd.h, config/rs6000/linux.h: Define
2416         DRAFT_V4_STRUCT_RET to 1.
2417
2418 2001-12-03  Joseph S. Myers  <jsm28@cam.ac.uk>
2419
2420         * c-typeck.c (really_start_incremental_init, push_init_level):
2421         Avoid constructor_max_index being other than an INTEGER_CST.
2422
2423 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
2424
2425         * config/rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Display count
2426         unsigned.
2427         (ASM_GENERATE_INTERNAL_LABEL): Same.
2428         (UNIQUE_SECTION): Fix typo.
2429
2430 2001-12-02  Richard Henderson  <rth@redhat.com>
2431
2432         * c-decl.c (duplicate_decls): Conditionalize DECL_SAVED_TREE copy.
2433
2434 2001-12-02  Richard Henderson  <rth@redhat.com>
2435
2436         * rtl.h (mem_attrs): Rename decl to expr; adjust all users.
2437         (MEM_EXPR): Rename from MEM_DECL; adjust all users.
2438         * emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
2439         * expr.h, final.c, reload1.c: Adjust users.
2440
2441         * alias.c (nonoverlapping_component_refs_p): New.
2442         (decl_for_component_ref, adjust_offset_for_component_ref): New.
2443         (nonoverlapping_memrefs_p): Use them.
2444         * emit-rtl.c (component_ref_for_mem_expr): New.
2445         (set_mem_attributes): Use it.
2446         (set_mem_offset): New.
2447         * expr.c (expand_assignment): Call set_mem_attributes for
2448         inner references; adjust the memory offset as needed.
2449         * print-rtl.c (print_mem_expr): New.
2450         (print_rtx): Use it.
2451
2452 Sun Dec  2 09:22:25 2001  Douglas B. Rupp  <rupp@gnat.com>
2453
2454         * config/x-interix3 (SYSTEM_HEADER_DIR): Put back default.
2455
2456         * config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro.
2457         (PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG.
2458         (ASM_SPEC): Don't redefine.
2459         (OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define.
2460         * config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm.
2461         * config/alpha/vms-dwarf2.asm: New file.
2462
2463         * Makefile.in (OBJS): Add vmsdbgout.c and its rule.
2464         * c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG.
2465         * debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks.
2466         (vmsdbgout_after_prologue): New declaration.
2467         * defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE.
2468         * dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address.
2469         * dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG.
2470         (dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG.
2471         (dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address.
2472         (add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO
2473         * final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG.
2474         Test VMS_DEBUGGING_INFO.
2475         (final_end_function): Test for VMS_AND_DWARF2_DEBUG.
2476         (final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG.
2477         * flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG.
2478         * toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and
2479         VMS_AND_DWARF2_DEBUG.
2480         (rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG.
2481         (decode_g_option): Add "vms" to debug_type_names.
2482         (process_options): Set vmsdbg_debug_hooks if -gvms.
2483         (lang_independent_init): Emit line number for VMS unless -g0.
2484         * tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG.
2485         * vmsdbg.h, vmsdbgout.c: New files.
2486
2487 Sun Dec  2 09:03:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2488
2489         * cfgbuild.c (SET_STATE): Add cast to eliminate warning.a
2490
2491 2001-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2492
2493         * cfgrtl.c (purge_all_dead_edges): Initialize variable.
2494         * dwarf2out.c (is_cxx): Prototype.
2495         * local-alloc.c (block_alloc): Avoid 'unsigned>=0 is always true'
2496         warning.
2497         * objc/objc-act.c (defer_fn): Avoid signed/unsigned warning.
2498
2499 Sun Dec  2 07:12:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2500
2501         * libgcc2.c (__bb_exit_func): Fix line wrap problems.
2502
2503 2001-12-02  Geoff Keating  <geoffk@redhat.com>
2504
2505         * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Simplify.
2506         * config/rs6000/rs6000.c (rs6000_emit_move): Use adjust_address
2507         rather than simplify_subreg.  Check for volatile-ness.  Check that
2508         we're not splitting one slow operation into two slow operations.
2509
2510 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
2511
2512         * emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT
2513         before shifting.
2514
2515 2001-12-02  Neil Booth  <neil@daikokuya.demon.co.uk>
2516
2517         * c-decl.c (duplicate_decls, push_parm_decl): Remove leading
2518         capital from diagnostics.
2519         * c-lex.c (cb_file_change): Similarly.
2520         * c-parse.in : Similarly.
2521         * cfgrtl.c (verify_flow_info): Similarly.
2522         * collect2.c: Similarly.
2523         * cppfiles.c (find_include_file): Similarly.
2524         * cppinit.c (cpp_handle_option): Similarly.
2525         * cpplex.c (cpp_spell_token): Similarly.
2526         * cppmain.c (do_preprocessing): Similarly.
2527         * gcc.c (translate_options, process_command, do_spec1,
2528         main, pfatal_execute): Similarly.
2529         * genattr.c (main): Similarly.
2530         * genattrtab.c (check_attr_test, operate_exp, simplify_test_exp,
2531         write_test_expr, main): Similarly.
2532         * gencodes.c (main): Similarly.
2533         * genconfig.c (main): Similarly.
2534         * genconstants.c (main): Similarly.
2535         * genemit.c (main): Similarly.
2536         * genextract.c (main): Similarly.
2537         * genflags.c (main): Similarly.
2538         * genopinit.c (main): Similarly.
2539         * genoutput.c (process_template, main): Similarly.
2540         * genpeep.c (main): Similarly.
2541         * genrecog.c (main): Similarly.
2542         * gensupport.c (is_predicable, identify_predicable_attribute,
2543         alter_predicate_for_insn, init_md_reader_args, main): Similarly.
2544         * ggc-page.c (alloc_anon): Similarly.
2545         * mips-tfile.c (add_string, add_procedure, add_file, read_line,
2546         parse_begin, parse_bend, parse_def, parse_end, parse_file,
2547         parse_stabs_common, parse_stabs, write_varray, write_object,
2548         read_seek, copy_object, main, error): Similarly.
2549         * profile.c (compute_branch_probabilities): Similarly.
2550         * reg-stack.c (check_asm_stack_operands): Similarly.
2551         * reload.c (find_reloads): Similarly.
2552         * reload1.c (spill_failure, failed_reload): Similarly.
2553         * rtl-error.c (_fatal_insn_not_found): Similarly.
2554         * toplev.c (read_integral_parameter, crash_signal,
2555         decode_f_option, set_target_switch, parse_options_and_default_flags)
2556         : Similarly.
2557         * tradcif.y (parse_number, yylex): Similarly.
2558         * tradcpp.c (main, fancy_abort): Similarly.
2559         * tree.c (tree_check_failed): Similarly.
2560         * varray.c (varray_check_failed): Similarly.
2561         * xcoffout.c (xcoff_output_standard_types): Similarly.
2562 objc:
2563         * objc-act.c (get_object_ref, lookup_and_install_protocols,
2564         build_objc_string_object, objc_declare_alias, build_ivar_chain,
2565         finish_message_expr, build_protocol_expr, is_public,
2566         start_class): Similarly.
2567
2568 2001-12-01  Neil Booth  <neil@daikokuya.demon.co.uk>
2569
2570         * c-decl.c (duplicate_decls, parmlist_tags_warning): Remove
2571         trailing period from diagnostics.
2572         * c-lex.c (cb_file_change): Similarly.
2573         * cppmacro.c (check_trad_stringification): Similarly.
2574         * gcc.c (do_spec_1): Similarly.
2575         * genattr.c (main): Similarly.
2576         * genattrtab.c (main, operate_exp, make_length_attrs): Similarly.
2577         * gencodes.c (main): Similarly.
2578         * genconfig.c (main): Similarly.
2579         * genconstants.c (main): Similarly.
2580         * genemit.c (main): Similarly.
2581         * genextract.c (main): Similarly.
2582         * genopinit.c (main): Similarly.
2583         * genoutput.c (main): Similarly.
2584         * genpeep.c (main): Similarly.
2585         * genrecog.c (main): Similarly.
2586         * mips-tfile.c (add_file, error): Similarly.
2587         * profile.c (init_branch_prob): Similarly.
2588         * reload1.c (spill_failure): Similarly.
2589         * stmt.c (parse_output_constraint): Similarly.
2590         * varasm.c (assemble_variable): Similarly.
2591
2592 2001-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2593
2594         * m68k.c (init_FPA_table): Provide static prototype.
2595         * mips/abi64.h (mips_function_value): Move prototype to ...
2596         * mips-protos.h (mips_function_value): ... here.
2597         * mips.c: Include halfpic.h.
2598         * output.h (rdata_section): Prototype.
2599
2600         * h8300.c (h8300_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
2601         * m88k.c (m88k_svr3_asm_out_constructor,
2602         m88k_svr3_asm_out_destructor): Wrap with CTOR_LIST_BEGIN &&
2603         !OBJECT_FORMAT_ELF.
2604         * mcore.c (mcore_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
2605         * sh.c (sh_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
2606         * sparc.c (sparc_elf_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
2607
2608 2001-12-01  Geoff Keating  <geoffk@redhat.com>
2609
2610         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Complex
2611         LO_SUM addresses less than word size are not legitimate,
2612         because they lead to invalid SUBREGs.
2613         * config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.
2614
2615 2001-12-01  Olivier Hainque <hainque@act-europe.fr>
2616
2617         * unroll.c (loop_iterations): Give up on jumps with null JUMP_LABEL
2618         while scanning for multiple back edges.
2619
2620 2001-12-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2621
2622         * ginclude/ppc-asm.h (JUMP_TARGET): New macro.
2623         * config/rs6000/tramp.asm: Use it.
2624
2625 2001-12-01  Zack Weinberg  <zack@codesourcery.com>
2626
2627         * gencheck.c, gengenrtl.c: Don't define xmalloc.
2628         * gensupport.c: Don't define xstrdup, xcalloc, xrealloc,
2629         xmalloc.
2630
2631 2001-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2632
2633         * pa.c (output_ascii): Cast `p' to unsigned char.
2634
2635 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
2636
2637         * config/rs6000/rs6000.c (altivec_expand_builtin): add
2638         ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf,
2639         *_16qi,_8hi, rename existing V4SI ones to *_4si.
2640         (altivec_init_builtins): Ditto.
2641         (bdesc_2arg): Rename CODE_FOR_* to match changes in MD file.
2642
2643         * config/rs6000/rs6000.md: Add attribute types vecsimple,
2644         veccomplex, vecfloat, and vecperm, for altivec instructions.
2645         Modify altivec patterns to use appropriate attribute type.
2646         Modify altivec patterns to match RTL operations where appropriate
2647         (IE no unspec where we can avoid it).
2648         Add vector unit scheduling for ppc7450.
2649         Rename patterns to what they are where appropriate
2650         (altivec_vaddfp->addv4sf3, etc)
2651
2652         * config/rs6000/rs6000.h (enum rs6000_builtins): Change VRS->VSR.
2653         Pass -mppc, and define _ARCH_PPC, if -mcpu=7450 is used.
2654
2655         * config/rs6000/sysv4.h: Add -mcpu=7450.
2656
2657         * testsuite/gcc.dg/altivec-1.c: Update test to take into account renamed
2658         _builtin_altivec_ld_interal function.
2659
2660 2001-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2661
2662         * configure.in (AC_CHECK_FUNCS): Delete strtoul, bsearch, popen,
2663         strchr, strrchr, isascii, gettimeofday.
2664         * config.in, configure: Regenerate.
2665
2666 2001-11-30  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
2667
2668         * unroll.c (unroll_loop): Correct special exit cases.
2669
2670 2001-11-30  Stephane Carrez  <Stephane.Carrez@sun.com>
2671
2672         * config/sparc/sparc.c (DF_MODES_NO_S): Fix pr/3623, define to
2673         accept DFmode and DImode only.
2674
2675 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
2676
2677         * config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Adjust for altivec.
2678         (STACK_DYNAMIC_OFFSET): Same.
2679
2680 2001-11-30  Richard Henderson  <rth@redhat.com>
2681
2682         * c-decl.c (duplicate_decls): Copy DECL_SAVED_TREE.
2683
2684 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
2685
2686         * config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): New.
2687         (CONDITIONAL_REGISTER_USAGE): Set call_really_used_registers to
2688         the values in call_used_registers.
2689
2690 Fri Nov 30 12:48:26 2001  Jeffrey A Law  (law@cygnus.com)
2691
2692         * gthr-dce.h: If _DCE_THREADS is not defined, then just include
2693         gthr-single.
2694
2695 2001-11-30  Jason Merrill  <jason@redhat.com>
2696
2697         * dwarf2out.c (is_cxx): New fn.
2698         (add_data_member_location_attribute): Check it.
2699         * dbxout.c (dbxout_type): Only look at BINFO_VPTR_FIELD for C++.
2700
2701 Fri Nov 30 08:26:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2702
2703         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Handle const1_rtx.
2704
2705 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
2706
2707         * genopinit.c (gen_insn): Handle MODE_VECTOR_INT and
2708         MODE_VECTOR_FLOAT as allowed.
2709
2710 2001-11-29  Zack Weinberg  <zack@codesourcery.com>
2711
2712         Purge cruft now we have build libiberty.
2713
2714         * Makefile.in (OBSTACK, VFPRINTF, DOPRINT, STRSTR,
2715         HOST_OBSTACK, HOST_VFPRINTF, HOST_DOPRINT, HOST_STRSTR,
2716         USE_HOST_OBSTACK, USE_HOST_VFPRINTF, USE_HOST_DOPRINT,
2717         USE_HOST_STRSTR): Delete variables.
2718         (vfprintf.o, doprint.o, strstr.o, splay-tree.o, obstack.o,
2719         hashtab.o, safe-ctype.o, $(HOST_PREFIX_1)obstack.o,
2720         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
2721         $(HOST_PREFIX_1)strstr.o), $(HOST_PREFIX_1)): Delete rules.
2722         (LIBIBERTY, BUILD_LIBIBERTY): New variables.
2723         (LIBDEPS): Now just $(INTLDEPS) $(LIBIBERTY).
2724         (LIBS): Now just $(INTLLIBS) @LIBS@ $(LIBIBERTY).
2725         (HOST_LIBDEPS): Now just $(BUILD_LIBIBERTY).
2726         (HOST_LIBS): Ditto.
2727         (HOST_RTL): Remove hashtab.o safe-ctype.o.
2728         (OBJS): Remove splay-tree.o.
2729         (gen-protos): Depend on $(HOST_LIBS), not ../libiberty/libiberty.a.
2730         (distclean): No need to delete splay-tree.c obstack.c
2731         hashtab.c safe-ctype.c.
2732         (mostlyclean): Delete build copies of print-rtl.c bitmap.c
2733         errors.c ggc-none.c (all prefixed with $(HOST_PREFIX_1).
2734         * aclocal.m4 (gcc_AC_FUNC_VFPRINTF_DOPRNT, gcc_AC_FUNC_STRSTR):
2735         Delete.
2736         * configure.in: Don't use them.
2737         Set and substitute @FORBUILD@.
2738         * config.in, configure: Regenerate.
2739         * doprint.c: Move to libiberty/_doprnt.c.
2740         * doc/configterms.texi: Document that libiberty is now built
2741         up to three times.  Fix typo.
2742
2743 2001-11-30  Jason Merrill  <jason@redhat.com>
2744
2745         * dwarf2out.c (add_data_member_location_attribute): Do the
2746         right thing for virtual bases.
2747         * dbxout.c (dbxout_type): For a virtual base, print the offset
2748         within the vtable.
2749
2750 2001-11-29  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
2751
2752         * doloop.c (doloop_valid_p): Check for LTU and GTU as well.
2753
2754 2001-11-29  Aldy Hernandez  <aldyh@redhat.com>
2755
2756         * config/rs6000/rs6000.c (function_arg): Unnamed vector arguments
2757         go in memory.
2758         Remove unused attribute for named.
2759
2760 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2761
2762         * genattrtab.c (attr_rtx_1): New function containing the
2763         majority of `attr_rtx'.  Move variable declarations into the
2764         scope where they are used.  Eliminate unnecessary gotos.
2765         (attr_rtx): Now just a wrapper for `attr_rtx_1' using VA_OPEN,
2766         VA_FIXEDARG, and VA_CLOSE.
2767
2768 2001-11-30  Hans-Peter Nilsson  <hp@axis.com>
2769
2770         * config/cris/cris.c (cris_notice_update_cc): Check first
2771         destination also against overlap with cc_status.value2 and second
2772         destination against overlap with cc_status.value1.  For overlaps,
2773         clear overlapped value, don't just CC_STATUS_INIT.
2774
2775         * config/cris/cris.h (EXTRA_CONSTRAINT_T): Fix spacing and FIXME.
2776         Fix typo in comment.
2777         (LINK_SPEC): Remove whitespace at end of line.
2778
2779 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
2780
2781         * c-lex.c (init_c_lex): Canonicalize "-" filename to "".
2782
2783 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
2784
2785         * gcc.c (ASM_DEBUG_SPEC): Only check HAVE_AS_G*_DEBUG_FLAG
2786         macros for the supported debugging types.
2787
2788 2001-11-29  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2789
2790         PR other/4932
2791         * config/i386/i386.c (print_operand):  Verify that the
2792           argument to %c is a constant and not a conditional which
2793           needs to be reversed.
2794
2795 Thu Nov 29 11:12:59 2001  Geoffrey Keating (geoffk@redhat.com)
2796
2797         * emit-rtl.c (gen_lowpart_common): Fix conversion of
2798         REAL_VALUE_TYPEs to an array of target integers.  Fix extraction
2799         of low part of those arrays for 32bit and 64bit hosts.
2800
2801 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2802
2803         * Makefile.in (insn-output.o): Depend on insn-codes.h.
2804
2805 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
2806
2807         * configure.in (target_list): Add generated-manpages.
2808         * configure: Regenerate.
2809         * Makefile.in (generated-manpages): Depend on
2810         lang.generated-manpages.
2811         * objc/Make-lang.in (objc.generated-manpages): New dummy target.
2812
2813 2001-11-29  Nick Clifton  <nickc@cambridge.redhat.com>
2814
2815         * config/arm/crti.asm (_init): Add .thumb_func if compiled
2816         with -mthumb.
2817         (_fini): Add .thumb_func if compiled with -mthumb.
2818
2819 2001-11-28  Eric Christopher  <echristo@redhat.com>
2820
2821         * config/mips/mips.c (override_options): Fix thinko in mips_tune
2822         for mips32/mips64. Remove MASK_SOFT_FLOAT configuration bits.
2823
2824 Thu Nov 29 00:24:15 EST 2001  John Wehle  (john@feith.com)
2825
2826         * alpha.md (tablejump): Use pic_offset_table_rtx
2827         instead of gen_rtx_REG.
2828
2829 Wed Nov 28 15:36:13 2001  Jeffrey A Law  (law@cygnus.com)
2830
2831         * expr.c (store_expr): When copying a string constant into an
2832         array, reset the known alignment of the MEM for the section to
2833         be cleared to BITS_PER_UNIT.
2834
2835 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
2836
2837         * config/cris/cris.c: Remove whitespace at end of line.
2838
2839 Wed Nov 28 14:51:23 2001  Douglas B. Rupp  <rupp@gnat.com>
2840
2841         * config.gcc (i[34567]86-*-interix3*): New case.
2842         * config/x-interix3, config/interix3.h, config/i386/i386-interix3.h:
2843         New files.
2844
2845 2001-11-28  Richard Henderson  <rth@redhat.com>
2846
2847         * config/alpha/alpha.md (sibcall_osf_1, sibcall_value_osf_1): Use
2848         symbolic_operand as the predicate.
2849
2850 2001-11-28  Richard Henderson  <rth@redhat.com>
2851
2852         * doloop.c (doloop_modify_runtime): Properly select induction
2853         variable; skip late entry test if biv initializer created by loop.
2854
2855 Wed Nov 28 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2856
2857         * tree.h (EXPR_WFL_LINECOL): Used by Java in node other than
2858         EXPR_WITH_FILE_LOCATION, so change checks and documentation.
2859
2860         * tree.h (TREE_VIA_PROTECTED): Update to show can be in TREE_VEC.
2861
2862         * tree.h: Add missing checks on some macros; make formatting more
2863         consistent.
2864
2865         * stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top
2866         level; only add to pending_sizes if find it.
2867
2868         * langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED.
2869
2870         * df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap):
2871         Add casts to remove warnings.
2872
2873         * Makefile.in (OBJS): Sort alphabetically.
2874
2875         * print-rtl.c (print_rtx): If RTX code is bad, just say so.
2876         Also minor cleanups.
2877
2878 Wed Nov 28 06:52:27 2001  Arnaud Charlet  <charlet@ACT-Europe.FR>
2879
2880         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Remove STAGE_PREFIX.
2881         (FLAGS_TO_PASS): Add STAGE_PREFIX.
2882         (SUBDIR_FLAGS_TO_PASS): Apply PREPEND_DOTDOT_TO_RELATIVE_PATH
2883         to STAGE_PREFIX.
2884
2885 Wed Nov 28 10:42:19 CET 2001  Jan Hubicka  <jh@suse.cz>
2886
2887         * cse.c (true_dependence_in_rtx): New function.
2888         (invalidate): Use it.
2889
2890         * c-common.h (GOTO_FAKE_P): New macro.
2891         * tree-inline.c (GOTO_FAKE_P): Set.
2892         * c-tree.texi (GOTO_FAKE_P): Document.
2893
2894         * varasm.c (assemble_variable): Set reloc to 3 for error_mark
2895         containing pointers.
2896         (output_addressed_constants): Check for local/external relocations.
2897         * elfos.h (SELECT_SECTION): Classify data section.
2898         * tm.texi (SELECT_SECTION): Update documentation.
2899
2900         * cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit.
2901         (flow_dfs_compute_reverse_execute): Add only unvisited blocks.
2902
2903 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2904
2905         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
2906         UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have
2907         OBJECT_FORMAT_ROSE.
2908
2909 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
2910
2911         * config/cris/cris.c: Tweak spacing for prototypes.
2912         (LOSE_AND_RETURN): New macro.
2913         (cris_operand_lossage): New function.
2914         (cris_print_index, cris_print_base): Use cris_operand_lossage
2915         rather than fatal_insn.
2916         (cris_print_operand, cris_print_operand_address): Use
2917         LOSE_AND_RETURN rather than fatal_insn and internal_error.
2918         (cris_output_addr_const): Use LOSE_AND_RETURN and
2919         output_operand_lossage rather than fatal_insn and internal_error
2920         for valid but unexpected rtx expressions.
2921
2922         * config/cris/cris.c (cris_split_movdx): Don't call alter_subreg
2923         for a SUBREG in src or dest, abort instead.
2924
2925 2001-11-28  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2926
2927         * doc/passes.texi: Remove reference to c-dump.c. Update tree inlining
2928         doc.
2929
2930 2001-11-27  Jakub Jelinek  <jakub@redhat.com>
2931
2932         * gcc.c (ASM_DEBUG_SPEC): Use conditional expression rather than
2933         preprocessor define.  If only DBX_DEBUGGING_INFO or only
2934         DWARF2_DEBUGGING_INFO is supported for the target, provide
2935         appropriate definitions.
2936
2937 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
2938
2939         * Makefile.in: Update, and add c-objc-common.o dependencies.
2940         * c-lang.c: Remove unnecessary includes.
2941         (c_init): Move bulk of code to c_objc_common_init, and call it.
2942         (c_tree_printer, c_missing_noreturn_ok_p, c_disregard_inline_limits,
2943         inline_forbidden_p, c_cannot_inline_tree_fn): Move to
2944         c-objc-common.c.
2945         * c-objc-common.c: New.  Mostly pulled from c-lang.c.
2946         * c-tree.h (c_disregard_inline_limits, c_cannot_inline_fn,
2947         c_objc_common_init, c_missing_noreturn_ok_p): New.
2948         * toplev.c: Update comment.
2949         * doc/passes.texi: Update.
2950 objc:
2951         * objc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
2952         LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
2953         LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override.
2954         (objc_init): Update to use c_objc_common_init.
2955
2956 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
2957
2958         * cpphash.c (_cpp_init_hashtable): Update.
2959         * cpphash.h (struct spec_nodes): Remove n_L.
2960         * cpplex.c (_cpp_lex_direct): Check for prefix L separately.
2961
2962 2001-11-17  Richard Henderson  <rth@redhat.com>
2963
2964         * unroll.c (loop_iterations): Move last change ...
2965         * doloop.c (doloop_modify_runtime): ... here.
2966
2967 2001-11-17  Corey Minyard  <minyard@acm.org>
2968             Richard Henderson  <rth@redhat.com>
2969
2970         * unroll.c (loop_iterations): Detect one situation in which we
2971         overestimate the number of iterations.
2972
2973 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2974
2975         * gcc.c (set_input): Export.
2976         Move declaration ...
2977         gcc.h (set_input): ... here.
2978
2979 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2980
2981         * gcc.c (set_collect_gcc_options): New function, split out from
2982         main.
2983         Ignore elided switches.
2984         (do_spec): Invoke before executing command.
2985         (do_spec_1): Likewise.
2986         Fixes PR other/3968.
2987
2988 2001-11-27  Hans-Peter Nilsson  <hp@axis.com>
2989
2990         * config/cris/cris.h (INT_ASM_OP): Remove.
2991
2992 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2993
2994         * config/i386/sol2.h (WINT_TYPE): Redefine.
2995         (WINT_TYPE_SIZE): Likewise.
2996
2997 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2998
2999         * collect2.c: Check HAVE_DUP2 instead of NO_DUP2.
3000         (dup2): Make static and add prototype.
3001         * m68k/plexus.h: Don't define NO_DUP2.
3002         * configure.in (AC_CHECK_FUNCS): Add dup2.
3003         * config.in, configure: Regenerate.
3004
3005         * ia64/aix.h (REG_SIZE): Don't #undef.
3006         * sparc.h (REG_SIZE): Delete.
3007         * flow.c (mark_used_regs): Don't use REG_SIZE.
3008         * regs.h (REG_SIZE): Delete.
3009
3010 2001-11-27  Andreas Schwab  <schwab@suse.de>
3011
3012         * gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT ->
3013         PREFERRED_DEBUGGING_TYPE.
3014
3015 Tue Nov 27 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3016
3017         * Makefile.in (c-lang.o): Depends on langhooks-def.h.
3018         (expr.o, varasm.o): Depends on langhooks.h.
3019         * c-common.c (c_safe_from_p): Always declare.
3020         (c_expand_expr): Refine when declared.
3021         * c-lang.c (c-common.h): Now include.
3022         (LANG_HOOKS_SAFE_FROM_P): Define new hook.
3023         (c_init): Don't set lang_safe_from_expr.
3024         * expr.c (langhooks.h): Now include.
3025         (lang_safe_from_p): No longer define.
3026         (safe_from_p): Use lang hook.
3027         (expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too.
3028         (expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down.
3029         * expr.h (lang_expand_constant, lang_safe_from_p): Delete.
3030         * langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls.
3031         (LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
3032         * langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions.
3033         * langhooks.h (struct lang_hooks): New fields expand_constant
3034         and safe_from_p.
3035         * output.h (output_constant): Size arg is HOST_WIDE_INT.
3036         * stmt.c (expand_decl_init): No longer need to expand constant
3037         for CONST_DECL.
3038         * stor-layout.c (put_pending_size): Don't check for SAVE_EXPR.
3039         * toplev.c (lang_expand_constant): Delete var.
3040         * tree.c (save_expr): Don't put another SAVE_EXPR around simple
3041         operations on SAVE_EXPR.
3042         * varasm.c (langhooks.h): Now include.
3043         (compare_constant_1): Use lang_hooks, not lang_expand_constant.
3044         (record_constant_1, output_addressed_constants): Likewise.
3045         (initializer_constant_valid_p, output_constant): Likewise.
3046         (output_constant_def): Process no-defer of string constant.
3047         (output_addressed_constants, case ADDR_EXPR): Use handled_component_p.
3048         (output_constant): Strip more conversions.
3049         Track our size and pad for the rest.
3050         (array_size_for_constructor): Remove code for non-byte STRING_CST.
3051         (output_constructor): SIZE now HOST_WIDE_INT.
3052
3053 2001-11-27  Richard Henderson  <rth@redhat.com>
3054
3055         * ifcvt.c (noce_try_store_flag_constants): Test for overflow
3056         in computing DIFF.
3057
3058 2001-11-27  Zack Weinberg  <zack@codesourcery.com>
3059
3060         * cppfiles.c (read_include_file): Add comment.
3061
3062 2001-11-26  Richard Henderson  <rth@redhat.com>
3063
3064         * toplev.c (rest_of_compilation): Call free_bb_for_insn before exit.
3065
3066 2001-11-26  Richard Henderson  <rth@redhat.com>
3067
3068         * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Undef.
3069         * config/ia64/aix.h (PREFERRED_DEBUGGING_TYPE): Remove
3070         commented out override.
3071
3072 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3073
3074         * cppfiles.c (stack_include_file): Don't optimize zero-length
3075         files.
3076         (read_include_file): NUL-terminate read files.
3077         * cpplex.c (handle_newline, skip_escaped_newlines,
3078         get_effective_char, skip_whitespace, parse_identifier,
3079         parse_identifier_slow, parse_number, parse_string,
3080         _cpp_lex_direct): Optimize for the fact that buffers are guaranteed
3081         NUL-terminated.
3082         * cpplib.c (destringize_and_run, cpp_define, handle_assertion):
3083         Be sure buffers are NUL terminated.
3084         * cppmacro.c (warn_of_redefinition): Kill compile warning.
3085
3086 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3087
3088         * c-common.c: Include tree-inline.h.
3089         (c_language): Move separate definitions here.
3090         (c_common_init_options, c_common_post_options): New.
3091         (c_common_lang_init): Rename c_common_init.
3092         * c-common.h (c_common_lang_init): Similarly.
3093         (c_common_init_options, c_common_post_options): New.
3094         * c-lang.c (c_post_options): Move body to c_common_post_options.
3095         (c_init_options): Use c_common_init_options.
3096         (c_init): Update.
3097         * langhooks.def: Rearrange.
3098         * langhooks.h: Rearrange, and improve comments.
3099         * toplev.c (do_compile): New function.
3100         (toplev_main): Use it.
3101         (lang_independent_f_options, parse_options_and_default_flags,
3102         process_options): Remove trailing periods.
3103         * Makefile.in: Update.
3104 objc:   * objc-act.c (objc_post_options, objc_init_options): Use c-common.c
3105         functions.
3106         (ojbc_init): Update.
3107
3108 2001-11-26  Richard Henderson  <rth@redhat.com>
3109
3110         * config/alpha/alpha.md (unop): Add 0 offset for some gas versions.
3111
3112 2001-11-26  DJ Delorie  <dj@redhat.com>
3113
3114         * expr.c (store_constructor): Actually use the value computed
3115         if WORD_REGISTER_OPERATIONS.
3116
3117 2001-11-26  Richard Henderson  <rth@redhat.com>
3118
3119         * config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY
3120         for CONSTRUCTOR.
3121
3122 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
3123
3124         * rs6000.c (output_mi_thunk): Handle minimal-toc and call
3125         correct function on AIX.
3126
3127 2001-11-26  Alexandre Oliva  <aoliva@redhat.com>
3128
3129         * toplev.c (process_options): Don't force
3130         flag_optimize_sibling_calls to zero just because exceptions are
3131         enabled.
3132
3133 Mon Nov 26 12:37:05 2001  Jeffrey A Law  (law@cygnus.com)
3134
3135         * df.h (transfer_function_sbitmap): Use PARAMS around argument
3136         list in function prototypes.
3137         (transfer_function_bitmap): Likewise.
3138
3139 2001-11-26  Loren J. Rittle  <ljrittle@acm.org>
3140
3141         * config/stormy16/stormy16.h: Remove DEFAULT_VTABLE_THUNKS.
3142         * config/i386/netbsd-elf.h: Likewise.
3143
3144 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
3145
3146         * doc/trouble.texi: Remove outdated RS/6000 comments.
3147
3148 Mon Nov 26 13:49:41 CET 2001  Jan Hubicka  <jh@suse.cz>
3149
3150         * final.c (walk_alter_subreg): Fix return value.
3151
3152 Mon Nov 26 11:36:20 CET 2001  Jan Hubicka  <jh@suse.cz>
3153
3154         * sparc.c (sparc_absnegfloat_split_legitimate): Do not call
3155         alter_subreg.
3156         * sparc.md (post-reload splitters): Do not call alter_subreg.
3157         * cfgrtl.c (purge_dead_edges): Fix typo in previous fix.
3158
3159 2001-11-25  Aldy Hernandez  <aldyh@redhat.com>
3160
3161         * regclass.c (choose_hard_reg_mode): Handle vector arguments.
3162
3163 2001-11-26  Alan Modra  <amodra@bigpond.net.au>
3164
3165         * final.c: (insn_lengths): Make it an int *, so that large jump
3166         tables don't overflow.
3167
3168 2001-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
3169
3170         * c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New.
3171         (format_types): Use it for scanf.
3172         (dollar_arguments_pointer_p): New.
3173         (init_dollar_format_checking): Store details of which arguments
3174         are pointers.
3175         (maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p.
3176         (finish_dollar_format_checking): Take extra parameter
3177         pointer_gap_ok.  Treat unused arguments differently if
3178         pointer_gap_ok and the unused arguments are pointers.
3179         (check_format_info_main): Pass extra argument to
3180         finish_dollar_format_checking.
3181         * doc/invoke.texi (-Wno-format-extra-args): Document behavior when
3182         unused arguments are present between used arguments with operand
3183         numbers.
3184
3185 2001-11-25  Daniel Berlin  <dan@cgsoftware.com>
3186
3187         * df.c: Add prototypes for hybrid_search_bitmap and
3188         hybrid_search_sbitmap.
3189         (hybrid_search_bitmap): New function.
3190         (hybrid_search_sbitmap): New function.
3191         (iterative_dataflow_sbitmap): Change to use hybrid_search_sbitmap.
3192         (iterative_dataflow_bitmap): Ditto.
3193
3194 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3195
3196         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
3197         address computations.
3198
3199 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3200
3201         * config/m68hc11/m68hc11.c (d_register_operand): Must accept
3202         register b (low part of d).
3203
3204 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3205
3206         * config/m68hc11/m68hc11.h (FUNCTION_PROFILER): Fix label name
3207         passed to mcount.
3208
3209 Sun Nov 25 06:22:09 2001  Douglas B. Rupp  <rupp@gnat.com>
3210
3211         * config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files.
3212         * config/alpha/x-vms: New file, to compile the above.
3213         * config.gcc (alpha*-dec-vms*): Add x-vms.
3214
3215 2001-11-24  Hans-Peter Nilsson  <hp@axis.com>
3216
3217         * genextract.c (main): Set ro_loc for peepholes.
3218
3219 Sat Nov 24 17:04:10 2001  Douglas B. Rupp  <rupp@gnat.com>
3220
3221         * fix-header.c (main): Move inf_buffer termination and inf_limit
3222         calculation to after read.
3223
3224         * config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage.
3225         (__UNIX_FOPEN): Define.
3226
3227 Sat Nov 24 16:11:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3228
3229         * function.c (assign_stack_temp_for_type): Clear alias set before
3230         setting new one.
3231
3232 2001-11-23  David Edelsohn  <edelsohn@gnu.org>
3233
3234         * rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX
3235         format.
3236         * rs6000.md (cmptf): Fix typo.
3237
3238 2001-11-23  Richard Sandiford  <rsandifo@redhat.com>
3239
3240         * final.c (output_addr_const): Output PC as '.' even if !flag_pic.
3241         * varasm.c (output_constructor): Use assemble_integer rather
3242         than ASM_OUTPUT_BYTE.
3243
3244 2001-11-23  Andreas Jaeger  <aj@suse.de>
3245
3246         * cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign
3247         extension.
3248
3249 2001-11-23  Nick Clifton  <nickc@cambridge.redhat.com>
3250
3251         * config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override
3252         default definition.
3253         (SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition.
3254         (MULTILIB_DEFAULTS): Remove previous definition.
3255
3256 2001-11-23  Neil Booth  <neil@daikokuya.demon.co.uk>
3257
3258         * cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
3259         * gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update.
3260
3261 2001-11-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3262
3263         * cris.h: Revert thinko in last patch.
3264
3265 2001-11-23  Joseph S. Myers  <jsm28@cam.ac.uk>
3266
3267         * ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
3268         FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
3269         cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
3270         dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
3271         explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
3272         sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.
3273
3274         * predict.c, reg-stack.c: Fix spelling errors.
3275
3276 2001-10-09  Andrew Haley  <aph@redhat.com>
3277
3278         * calls.c (check_sibcall_argument_overlap): Use slot_offset for
3279         start of stack slot.
3280
3281 2001-11-22  Graham Stott  <grahams@redhat.com>
3282
3283         * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
3284         replacement jump after original jump.
3285
3286         (verify_flow_info): Remove redundent initialisation.
3287         Handle reaching end of insn list before finding a BARRIER.
3288         Only issue one missing barrier diagnostic.
3289
3290 2001-11-22  Graham Stott  <grahams@redhat.com>
3291
3292         * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
3293
3294 Thu Nov 22 06:49:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3295
3296         * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
3297         insn actually does.
3298
3299 2001-11-22  Nick Clifton  <nickc@cambridge.redhat.com>
3300
3301         * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
3302         Fix typo -mm32rx=> -m32rx.
3303
3304         * config/arm/arm.c (arm_elf_asm_named_section): Only build for elf
3305         targets.
3306
3307         * config.gcc (xscale-coff): Add necessary header files to
3308         tm_file variable.
3309
3310 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
3311
3312         * rs6000.c (output_cbranch): Use $, not %$, in output template.
3313
3314 2001-11-21  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3315
3316         * tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
3317         (lang_type_quals): Declare.
3318         (dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
3319         retrieve language-specific qualifiers for a type node, instead of
3320         C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
3321         lang_dump_tree.
3322         * tree-dump.h: Rename from c-dump.h.
3323         * c-common.h (C_TYPE_QUALS): Removed.
3324         Move declarations for tree-dump.c interface to...
3325         * tree.h: ... here. Remove lang_dump_tree.
3326         * langhooks.h (struct lang_hooks_for_tree_dump): New.
3327         (struct lang_hooks): Add tree_dump hooks.
3328         * langhooks.c (lhd_tree_dump_dump_tree): New function.
3329         (lhd_tree_dump_type_quals): New function.
3330         * langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
3331         Declare.
3332         (LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
3333         * Makefile.in: Move tree-dump.o to language-independent back-end.
3334
3335 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3336
3337         * 1750a.h (DBX_REGISTER_NUMBER): Don't define.
3338         * alpha.h (DBX_REGISTER_NUMBER): Likewise.
3339         * arc.h (DBX_REGISTER_NUMBER): Likewise.
3340         * arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
3341         * avr.h (DBX_REGISTER_NUMBER): Likewise.
3342         * c4x.h (DBX_REGISTER_NUMBER): Likewise.
3343         * clipper.h (DBX_REGISTER_NUMBER): Likewise.
3344         * convex.h (DBX_REGISTER_NUMBER): Likewise.
3345         * cris.h (DBX_REGISTER_NUMBER): Likewise.
3346         * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
3347         * elxsi.h (DBX_REGISTER_NUMBER): Likewise.
3348         * fr30.h (DBX_REGISTER_NUMBER): Likewise.
3349         * h8300.h (DBX_REGISTER_NUMBER): Likewise.
3350         * i370.h (DBX_REGISTER_NUMBER): Likewise.
3351         * i860.h (DBX_REGISTER_NUMBER): Likewise.
3352         * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
3353         * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
3354         * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
3355         * m32r.h (DBX_REGISTER_NUMBER): Likewise.
3356         * m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
3357         * m88k.h (DBX_REGISTER_NUMBER): Likewise.
3358         * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
3359         * mcore.h (DBX_REGISTER_NUMBER): Likewise.
3360         * mn10200.h (DBX_REGISTER_NUMBER): Likewise.
3361         * mn10300.h (DBX_REGISTER_NUMBER): Likewise.
3362         * pdp11.h (DBX_REGISTER_NUMBER): Likewise.
3363         * romp.h (DBX_REGISTER_NUMBER): Likewise.
3364         * rs6000.h (DBX_REGISTER_NUMBER): Likewise.
3365         * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
3366         * s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
3367         * stormy16.h (DBX_REGISTER_NUMBER): Likewise.
3368         * v850.h (DBX_REGISTER_NUMBER): Likewise.
3369         * vax.h (DBX_REGISTER_NUMBER): Likewise.
3370         * we32k.h (DBX_REGISTER_NUMBER): Likewise.
3371
3372         * defaults.h (DBX_REGISTER_NUMBER): Provide a default.
3373         * doc/tm.texi (DBX_REGISTER_NUMBER): Update.
3374
3375 2001-11-21  H.J. Lu <hjl@gnu.org>
3376
3377         * config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.
3378
3379 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3380
3381         * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
3382         emit_cmp_and_jump_insns.
3383
3384         * stormy16.c (xstormy16_expand_builtin_va_arg,
3385         xstormy16_expand_casesi): Likewise.
3386
3387 Wed Nov 21 17:37:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3388
3389         * function.c (keep_stack_depressed): Major rework.
3390         (handle_epilogue_set, emit_equiv_load): New functions.
3391         (thread_prologue_and_epilogue_insns): keep_stack_depressed now
3392         has return value.
3393         * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
3394         * rtl.h (SET_IS_RETURN_P): New macro.
3395
3396         * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
3397         and also support TREE_ADDRESSABLE.
3398         * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
3399
3400 2001-11-21  David Edelsohn  <edelsohn@gnu.org>
3401
3402         * rs6000.md (cmptf_internal1): Replace %$ with $.
3403
3404 Wed Nov 21 16:44:01 2001  Douglas B. Rupp  <rupp@gnat.com>
3405
3406         * cppfiles.c (STAT_SIZE_TOO_BIG): Define.
3407         (read_include_file): Use STAT_SIZE_TOO_BIG.
3408
3409         * cppinit.c (INO_T_COPY): Define.
3410         (INO_T_EQ): Uppercase parameters.
3411         (append_include_chain): Use INO_T_COPY.
3412
3413 2001-11-21  Richard Sandiford  <rsandifo@redhat.com>
3414
3415         * cfg.c: Fix typos and formatting in the introductory comment.
3416
3417 Wed Nov 21 12:38:37 CET 2001  Jan Hubicka
3418
3419         * profile.c (compute_branch_probabilites):  Compute probabilities
3420         for entry/exit edges; estimate probabilities for zero counts.
3421
3422 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
3423
3424         * explow.c (probe_stack_range): Use LCT_NORMAL as second argument
3425         to emit_library_call.
3426         * function.c (expand_main_function, expand_function_start,
3427         expand_function_end): Likewise.
3428         * profile.c (output_func_start_profiler): Likewise.
3429         * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
3430         second argument to emit_library_call.
3431         * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
3432         as second argument to emit_library_call.
3433         * calls.c (emit_library_call): Update fn_type description.
3434
3435 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
3436
3437         * c-decl.c (c_expand_deferred_function): Only call c_expand_body
3438         if fndecl is still DECL_INLINE and has DECL_RESULT.
3439
3440 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3441
3442         * clipper.c (clipper_movstr): Avoid uninitialized warning.
3443         * i960.c (is_mask, legitimize_address): Likewise.
3444         * m88k.c (m88k_expand_prologue): Likewise.
3445         * m88k.md: Likewise.
3446         * mcore.c (emit_new_cond_insn): Likewise.
3447         * stormy16.c (xstormy16_emit_cbranch): Likewise.
3448
3449 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
3450
3451         * config.gcc: Delete powerpcle-*-solaris2* stanza.
3452         * config/rs6000/eabi.asm, config/rs6000/rs6000.c,
3453         config/rs6000/rs6000.h, config/rs6000/rs6000.md,
3454         config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
3455         config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
3456         config/rs6000/t-ppcos: Expunge all references to Solaris.
3457
3458         * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
3459
3460         * config/rs6000/rs6000.md: Replace '%$' with '$' in all
3461         output templates.
3462         * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
3463         and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
3464
3465 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3466
3467         * sh.md: Avoid uninitialized warnings.
3468         * vax.c (vax_rtx_cost): Likewise.
3469
3470 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
3471
3472         * rs6000.c (direct_return): Check if we are saving altivec
3473         registers.
3474         (first_altivec_reg_to_save): New.
3475         Updated stack frame layout comments.
3476         (rs6000_stack_info): Calculate altivec register save size.
3477         Save link register if we saved some altivec registers.
3478         (rs6000_stack_info): Align save size to 16 if altivec abi or
3479         abi_darwin.
3480         (rs6000_stack_info): Calculate altivec register offsets.
3481         (rs6000_stack_info): Add altivec info to save_size.
3482         (debug_stack_info): Add altivec debug info.
3483         (rs6000_emit_prologue): Save altivec registers and vrsave.
3484         (compute_vrsave_mask): New.
3485         (altivec_expand_builtin): Remove unused variables.
3486         (rs6000_parse_abi_options): Add static qualifier.
3487         (rs6000_expand_builtin): Remove unused parameters.
3488         (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
3489         (altivec_init_builtins): Same.
3490         (is_altivec_return_reg): New.
3491         (vrsave_operation): New.
3492         (ALTIVEC_REG_BIT): New.
3493         (generate_set_vrsave): New.
3494
3495         * rs6000.md (get_vrsave): New.
3496         (set_vrsave): New.
3497         (*set_vrsave_internal): New.
3498
3499         * rs6000.h (rs6000_stack): Add first_altivec_reg_save,
3500         altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
3501         altivec_padding_size, vrsave_mask.
3502         (TOTAL_ALTIVEC_REGS): New.
3503         (EPILOGUE_USES): Add VRSAVE_REGNO.
3504
3505 2001-11-20  Jeff Law <law@redhat.com>
3506
3507         * unroll.c (copy_loop_body): Update LABEL_NUSES for the
3508         exit label as necessary.
3509
3510 2001-11-20  Brad Kaiser  <bkaiser@acelink.net>
3511
3512         * reload1.c (elimination_effects): Use function_invariant_p
3513         instead of CONSTANT_P when considering register equivalences.
3514
3515 2001-11-20  David O'Brien  <obrien@FreeBSD.org>
3516
3517         * config.gcc: Add FreeBSD/PowerPC target.
3518         (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
3519         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
3520         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
3521         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
3522         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
3523         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
3524         freebsd-spec.h to tm_file.
3525         (rs6000-*-lynxos*): Add lynx.h to tm_file.
3526         * config/freebsd.h: Tidy up.
3527         (USING_CONFIG_FREEBSD): Define.
3528         (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
3529         FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
3530         FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
3531         (TARGET_HAS_F_SETLKW): Define.
3532         (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
3533         * config/freebsd-spec.h: New file.
3534         * config/rs6000/freebsd.h: New file.
3535         * config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
3536         * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
3537         USING_SVR4_H to know when to turn on ELF support.
3538         * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
3539         define only if not already defined.
3540         Add FreeBSD support.
3541         * config/rs6000/aix.h (TARGET_VERSION): Define.
3542         * config/rs6000/beos.h: Likewise.
3543         * config/rs6000/darwin.h: Likewise.
3544         * config/rs6000/mach.h: Likewise.
3545         * config/rs6000/lynx.h (TARGET_VERSION): Likewise.
3546         Don't include lynx.h directly.
3547
3548 2001-11-20  Graham Stott  <grahams@redhat.com>
3549
3550         * unwind-dw2-fde.c (__deregister_frame_info_bases):
3551         Fix lossage in last change return OB.
3552
3553 Tue Nov 20 11:56:12 2001  Douglas B. Rupp  <rupp@gnat.com>
3554
3555         * config/alpha/xm-vms.h (_POSIX_EXIT): Define.
3556         Remove unneeded exit related macros.
3557
3558 2001-11-20  David Edelsohn  <edelsohn@gnu.org>
3559
3560         * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
3561
3562         * rs6000.c (rs6000_emit_move): Add TFmode case.
3563         * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
3564         LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
3565         LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
3566         * rs6000.h: ... to here.
3567         * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
3568         trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
3569         fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
3570
3571 Tue Nov 20 06:41:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3572
3573         * emit-rtl.c (get_mem_attrs): Fix typo.
3574
3575 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
3576
3577         * c-lang.c (finish_file): Backout 2001-11-16
3578         changes, instead set DECL_DEFER_OUTPUT for static inline functions
3579         before calling c_expand_deferred_function.
3580
3581 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
3582
3583         * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
3584         Don't register empty .eh_frame sections.
3585         (__deregister_frame_info_bases, __deregister_frame): Don't
3586         unregister them either.
3587
3588 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
3589
3590         * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
3591         (HAVE_AS_GSTABS_DEBUG_FLAG): Define.
3592         * configure: Regenerate.
3593         * config.in: Add dummy definitions of new flags.
3594         * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
3595         * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
3596         * gcc.c (ASM_DEBUG_SPEC): New macro.
3597         (asm_debug): New static variable.
3598         (default_compilers): Add asm_debug when assembling from
3599         user input.
3600         (static_specs): Add asm_debug.
3601
3602 2001-11-20  Loren J. Rittle  <ljrittle@acm.org>
3603
3604         * config.gcc (*-*-freebsd*): Remove configuration block.
3605
3606 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
3607
3608         bootstrap/4422
3609         * configure.in: Setup ability to run ./stage[1234]/xgcc in
3610         fixinc *as if* it were a proper lang subdirectory.
3611         * configure: Rebuilt.
3612
3613 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
3614
3615         * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
3616
3617 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3618
3619         * 1750a.md: Don't use hex format for a const_int.
3620
3621 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
3622
3623         * expmed.c (extract_bit_field): Don't create invalid SUBREGs.
3624
3625 2001-11-19  Zack Weinberg  <zack@codesourcery.com>
3626
3627         * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
3628         defined (prevents link errors when gettext isn't in the system
3629         library).
3630
3631 2001-11-19  DJ Delorie  <dj@redhat.com>
3632
3633         * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
3634         (validate_const_int): New.
3635         (read_rtx): Validate constant integers.
3636         * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
3637
3638 2001-11-19  Jakub Jelinek  <jakub@redhat.com>
3639
3640         * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
3641
3642 Mon Nov 19 16:57:44 2001  Douglas B. Rupp  <rupp@gnat.com>
3643
3644         * toplev.c (DUMPFILE_FORMAT): Define default.
3645         (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
3646         (close_dump_file, compile_file): Likewise.
3647         * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
3648         * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
3649
3650 2001-11-19  Jeff Law <law@redhat.com>
3651
3652         * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
3653         a nop-jump.
3654
3655 2000-11-19  Neil Booth  <neil@daikokuya.demon.co.uk>
3656
3657         * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
3658         Don't fall off the base token run.
3659
3660 2001-11-19  Jason Wilkins <fenix@io.com>
3661
3662         * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
3663
3664 Mon Nov 19 15:13:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3665
3666         * tree.def (VIEW_CONVERT_EXPR): New tree code.
3667         * tree.h (handled_component_p): New declaration.
3668         * alias.c (handled_component_p): Move function from here ...
3669         * expr.c (handled_component_p): ... to here and non longer static.
3670         (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
3671         (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
3672         (get_inner_reference): Handle VIEW_CONVERT_EXPR.
3673         (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
3674         (expand_expr, case VIEW_CONVERT_EXPR): New case.
3675         (expand_expr, cse ADDR_EXPR): No need to copy if already
3676         BIGGEST_ALIGNMENT.
3677         * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
3678         * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
3679         (output_constant): Handle VIEW_CONVERT_EXPR.
3680         * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
3681         Add new case for VIEW_CONVERT_EXPR.
3682
3683 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3684
3685         * a29k/unix.h (ASM_FILE_START): Const-ify.
3686         * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
3687         * i386/isc.h (ASM_FILE_START): Const-ify.
3688         * i386/sun386.h (ASM_FILE_START): Likewise.
3689         * m32r.md: Likewise.
3690         * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
3691         * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
3692         * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
3693         * mn10200.md: Initialize variable.
3694
3695 Mon Nov 19 18:06:21 CET 2001  Jan Hubicka  <jh@suse.cz>
3696
3697         * gcse.c (try_replace_reg): Copy RTX before creating note.
3698
3699         * df.h (df_ref_flags): New uenum.
3700         (DF_REF_FLAGS): New macro.
3701         (struct ref): Add field "flags".
3702         * df.c (HANDLE_SUBREG): Remove.
3703         (df_ref_create): Likewise; set flags field of ref.
3704         (df_def_record_1): Strip down read_write subreg; remove
3705         commented out code; set READ_WRITE flag.
3706         (read_modify_subreg_p): New static function.
3707         (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
3708         new argument "flags".
3709         (df_insn_refs_record): Update call of df_uses_record.
3710         (df_insn_modify): Avoid #if 0 around comment.
3711         (df_dump): Dump the read/write flag.
3712
3713         * predict.c (propagate_freq): Make cyclic_probability and frequency
3714         volatile
3715
3716         * i386.c (ix86_cc_mode): Accept USE.
3717
3718         * cfgrtl.c (purge_dead_edges):  Cleanup EDGE_ABNORMAL flag if computed
3719         jump is turned into simplejump.
3720
3721 2001-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
3722
3723         * doc/fragments.texi, doc/trouble.texi: Remove links to old
3724         installation chapter.
3725         * doc/gcc.texi: Don't claim that this manual documents
3726         installation.  Mark Installation menu entry as being out of date.
3727
3728 Mon Nov 19 07:21:35 2001  Douglas B. Rupp  <rupp@gnat.com>
3729
3730         * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
3731         (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
3732         * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
3733
3734 2001-11-19  Jason Merrill  <jason@redhat.com>
3735
3736         * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
3737         cur_token, not after.
3738
3739         * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
3740         Lose ASM_OUTPUT_CONSTRUCTOR.
3741         * system.h: Poison it and INT_ASM_OP.
3742         * c-lang.c (finish_file): Don't check for it.
3743         * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
3744
3745 2001-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3746
3747         * mmix.c (mmix_cc1_ignored_option): Const-ify.
3748         (mmix_init_machine_status): Make static to match declaration.
3749         (mmix_unique_section): Const-ify.
3750         (mmix_output_quoted_string): Avoid automatic aggregate
3751         initialization.
3752         (mmix_output_register_setting): Likewise.
3753         (mmix_output_shiftvalue_op_from_str): Likewise.
3754
3755         * mmix.h (mmix_cc1_ignored_option): Const-ify.
3756         (ASM_OUTPUT_BYTE): Fix format specifier warning.
3757         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3758
3759 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3760
3761         PR c/4448
3762         * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
3763         name __objc_thread_exit_status so that it matches the
3764         variable defined in objc/thr.h.
3765
3766 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3767
3768         PR bootstrap/4020
3769         * mklibgcc.in: Add missing semi-colons.
3770         * Makefile.in: Same.
3771
3772 Sun Nov 18 16:47:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3773
3774         * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
3775         after re-laying out decl in incomplete case.
3776         (expand_expr, case ADDR_EXPR): Fix typo in copy case.
3777
3778 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
3779
3780         * doc/install-old.texi: Move some sections out to ...
3781         * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
3782         ... here.  New files.  Make into chapters rather than sections.
3783         * doc/gcc.texi: Include the new files and add menu entries for
3784         them.
3785         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
3786
3787 Sun Nov 18 14:13:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3788
3789         * tree.h (TYPE_ALIGN_OK): New flag.
3790         * emit-rtl.c (set_mem_attributes): Handle it.
3791         * expr.c (emit_single_push_insn): Only set to alias set 0 if
3792         doing sibcall optimization.
3793         (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
3794         when make temporary.
3795         (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
3796         (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
3797
3798         * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
3799
3800 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
3801
3802         * c-decl.c (c_decode_option): Give deprecation warning for
3803         -traditional.
3804         * doc/invoke.texi (-traditional): Note that this option is
3805         deprecated.
3806
3807 Sun Nov 18 07:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
3808
3809         * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
3810         arg to HOST_WIDE_INT, not long.
3811
3812         * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
3813         (HAS_INIT_SECTION): Define.
3814         (REAL_ARITHMETIC): Don't undefine.
3815
3816 2001-11-18  Egor Duda  <deo@logos-m.ru>
3817
3818         * config/i386/cygwin.h: Strip leading '*' from name, if any.
3819
3820 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
3821
3822         * Makefile.in (c-parse.o, c-common.o): Update dependencies.
3823         * c-common.c: Include diagnostic.h.
3824         (c_common_finish): New.
3825         * c-common.h (c_common_finish): New.
3826         * c-lang.c (LANG_HOOKS_FINISH): Override.
3827         * c-parse.in: Don't include diagnostic.h.
3828         (finish_parse): Remove.
3829         * langhooks.h: Update comments.
3830         * toplev.c (lang_dependent_init): New prototype.
3831         (finalize): New.
3832         (compile_file): Split cleanup code out to finalize.
3833         (lang_dependent_init): Stop if lang_hooks.init fails.
3834         (toplev_main): Update.
3835         * tree.h (finish_parse): Remove.
3836 objc:
3837         * objc-act.c (LANG_HOOKS_FINISH): Override.
3838
3839 Sat Nov 17 23:30:44 2001  Douglas B. Rupp  <rupp@gnat.com>
3840
3841         * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
3842         * config/alpha/vms_tramp.asm: New file.
3843         * config/alpha/vms-tramp.asm: Removed.
3844
3845 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
3846
3847         * c-common.c (struct disabled_builtin, disabled_builtins,
3848         disable_builtin_function, builtin_function_disabled_p): New.
3849         (builtin_function_2): Check for disabled built-in functions.
3850         * c-common.h (disable_builtin_function): Declare.
3851         * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
3852         * doc/invoke.texi: Document -fno-builtin-FUNCTION.
3853         * doc/extend.texi: Mention -fno-builtin-FUNCTION.
3854
3855 2001-11-17  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3856
3857         PR target/4606
3858         * config.gcc: Remove reference to va-clipper.h.
3859
3860 2001-11-17  Stan Shebs  <shebs@apple.com>
3861
3862         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
3863         AltiVec-related bitfields.
3864
3865 Sat Nov 17 12:06:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3866
3867         * except.c (enum eh_region_type): Add ERT_UNKNOWN.
3868         (mark_eh_region, case ERT_UKNONW): New case.
3869
3870 2001-11-17  Christopher Faylor  <cgf@redhat.com>
3871             Corinna Vinschen  <vinschen@redhat.com>
3872
3873         * config/i386/cygwin.h: Search target specific include directory for
3874         w32api stuff, if appropriate.
3875
3876 Sat Nov 17 08:20:44 2001  Douglas Rupp  <rupp@gnat.com>
3877
3878         * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
3879
3880 2001-11-16  Aldy Hernandez  <aldyh@redhat.com>
3881
3882         * config/rs6000/rs6000.md: Change all ldvx to lvx.
3883
3884 2001-11-16  Alexandre Oliva  <aoliva@redhat.com>
3885
3886         * gensupport.c (process_rtx): Don't assume filename is the first
3887         argument of any rtl.
3888
3889 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3890
3891         * vax-protos.h (reg_was_0_p): New prototype.
3892         * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
3893         * vax.c (follows_p, reg_was_0_p): New functions.
3894
3895 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3896
3897         * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
3898         (casesi1): Likewise.  Define new pattern which arises by simplification
3899         when operand 1 is a constant int.  Correct pattern which arises by
3900         simplification when operand 1 is zero.
3901
3902 2001-11-16  David O'Brien  <obrien@FreeBSD.org>
3903
3904         * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
3905         arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
3906         arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
3907         arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
3908         arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
3909         arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
3910         xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
3911         * config/arm/aof.h: Don't include arm.h.
3912         * config/arm/aout.h: Likewise.
3913         * config/arm/coff.h: Don't include semi.h and aout.h.
3914         * config/arm/elf.h: Don't include aout.h.
3915         * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
3916         (TARGET_VERSION): Undef before defining.
3917         (ARM_OS_NAME): Likewise
3918         (TARGET_DEFAULT): Likewise
3919         (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
3920         * config/arm/pe.h: Don't include arm/coff.h.
3921         * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
3922         SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
3923         * config/arm/riscix1-1.h: Likewise.
3924         * config/arm/rix-gas.h: Don't include riscix.h.
3925         (DBX_CONTIN_LENGTH): Undef before defining.
3926         * config/arm/semi.h: Don't include aout.h.
3927         * config/arm/semiaof.h: Don't include aof.h.
3928         * config/arm/strongarm-coff.h: Don't include coff.h.
3929         * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
3930         * config/arm/vxarm.h: Don't include arm/coff.h.
3931         * config/arm/xscale-coff.h: Don't include coff.h.
3932
3933 Fri Nov 16 15:22:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3934
3935         * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
3936         emit_cmp_insn.
3937
3938 2001-11-16  Andreas Jaeger  <aj@suse.de>
3939
3940         * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
3941         to ....
3942         (fixup_fallthru_exit_predecessor): ... this.
3943         Change callers and prototype.
3944
3945 2001-11-16  Bernd Schmidt  <bernds@redhat.com>
3946
3947         * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
3948         hand; don't use gen_setcc_2.
3949         (ix86_expand_builtin): Fix pshufw.
3950         * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
3951         case UNORDERED to emit the right assembler instruction.
3952         (mmx_pshufw): Lose operand 2.
3953         (cvtsi2ss): Fix representation.
3954         From Graham Stott:
3955         (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
3956
3957 2001-11-16  Joseph S. Myers  <jsm28@cam.ac.uk>
3958
3959         * doc/include/linux-and-gnu.texi: Remove.
3960         * doc/gnu.texi: New.
3961         * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
3962         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
3963
3964 2001-11-16  Kazu Hirata  <kazu@hxi.com>
3965
3966         * config/a29k/a29k.c: Fix comment formatting.
3967         * config/a29k/a29k.h: Likewise.
3968         * config/arc/arc.c: Likewise.
3969         * config/arc/arc.h: Likewise.
3970         * config/vax/vax.c: Likewise.
3971         * config/vax/vax.h: Likewise.
3972         * config/we32k/we32k.c: Likewise.
3973         * config/we32k/we32k.h: Likewise.
3974
3975 2001-11-16  Jeff Law  <law@redhat.com>
3976
3977         * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
3978         creating a new jump insn.
3979
3980 Fri Nov 13 09:06:25 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3981
3982         * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
3983         copy misaligned data.
3984         * varasm.c (assemble_variable): Set alignment into MEM when changed.
3985
3986 2001-11-16  Graham Stott  <grahams@redhat.com>
3987
3988         * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
3989         OPALIGN type.
3990
3991 2001-11-16  Olivier Hainque <hainque@act-europe.fr>
3992
3993         * except.c: Support for catching a list of types with a single handler
3994         (struct eh_region): Change type and filter to lists for catch regions.
3995         (mark_eh_region): Mark the filter list for GC also.
3996         (expand_start_catch): Always build a list if argument not NULL and
3997         register each type of the list through add_type_for_runtime.
3998         (duplicate_eh_region_1): Change type into type_list for catch regions.
3999         (assign_filter_values): Assign a filter to each type associated with a
4000         catch region. Assign filter for NULL types in a unique entry in the
4001         filter list.
4002         (build_post_landing_pads): Emit compare and jump for each filter of
4003         the list associated with a catch region.
4004         (reachable_next_level): When the type thrown is known, stop the search
4005         as soon as one type within a catch list matches. Also, a handler is
4006         potentially reachable only if at least one of the types it catches
4007         has not been previously caught.
4008         (collect_one_action_chain): Retrieve the filter for a NULL type list
4009         from the first filter list entry. For non NULL type lists, add an
4010         action record for every filter assigned.
4011         * except.h: Reflect changes in comment before expand_start_catch.
4012
4013 Fri Nov 16 07:12:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4014
4015         * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
4016         BLKmode.
4017
4018 Fri Nov 16 06:37:05 2001  Andreas Tobler  <a.tobler@schweiz.ch>
4019
4020         * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
4021
4022 2001-11-16  Jakub Jelinek  <jakub@redhat.com>
4023
4024         * c-lang.c (finish_file): Don't emit static inline functions if
4025         they weren't referenced.
4026
4027 2001-11-15  Stan Shebs  <shebs@apple.com>
4028
4029         * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
4030
4031 2001-11-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
4032
4033         * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
4034         call.
4035         * config/i386/i386.md: Likewise.
4036
4037 Thu Nov 15 21:40:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4038
4039         * timevar.c (rtl.h): Include so get fancy abort.
4040
4041 2001-11-15  Dale Johannesen  <dalej@apple.com>
4042
4043         * config/darwin.h (SELECT_RTX_SECTION):  Force address
4044         initializers into 'const' section
4045         * config/rs6000/rs6000.c (rs6000_emit_cmove):  Fix mode of
4046         if_then_else to match result, not operands
4047
4048 Thu Nov 15 17:57:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4049
4050         * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
4051         * emit-rtl.c (change_address): Fix typo in default alignment.
4052         (adjust_address_1): Use mode of NEW, not MODE, when setting size.
4053         * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
4054         * rtl.h (REGNO_PTR_FRAME_P): New macro.
4055
4056         * expr.c (store_field): Pass tree instead of max size; callers changed.
4057         Change handling of alignment.
4058         Only copy to_rtx if is TARGET.
4059         (expand_expr_unaligned): Delete; callers now use expand_expr.
4060         (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
4061         (expand_assignment): Change handling of alignment.
4062         Only copy to_rtx if was original.
4063         (get_inner_reference): No longer return alginment; callers changed.
4064         (expand_expr, case COMPONENT_REF): Change handling of alignment.
4065         (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
4066         (compare_from_rtx): Delete ALIGN parm; all callers changed.
4067         (do_compare_rtx_and_jump): Likewise.
4068         * expr.h: Reflect above changes.
4069         * tree.h: Likewise.
4070         * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
4071         to get_inner_reference.
4072         * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
4073         * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
4074         * optabs.c: Likewise.
4075         (prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
4076         (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
4077         * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
4078         compare_rtx_and_jump, and emit_cmp_jump_insns.
4079         * fold-const.c: Remove PALIGN in calls to get_inner_reference.
4080         * function.c (assign_stack_temp_for_type): No longer static.
4081         * optabs.h (emit_cmp_insn): Remove ALIGN parm.
4082         (prepare_cmp_insn): Delete declaration.
4083         * rtl.h (assign_stack_temp_for_type): Add declaration.
4084         * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
4085         * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
4086         * config/i386/i386.c,config/mips/mips.c: Likewise.
4087         * config/i860/i860.c, config/ia64/ia64.c: Likewise.
4088         * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
4089
4090 2001-11-15  Stan Shebs  <shebs@apple.com>
4091
4092         * config/rs6000/rs6000.h: Fix a comment typo.
4093         (RTX_COSTS): Sort processor versions better.
4094
4095 2001-11-15  Kazu Hirata  <kazu@hxi.com>
4096
4097         * config/h8300/h8300.md: Fix insn length of bit insns.
4098
4099 2001-11-15  Jason Merrill  <jason@redhat.com>
4100
4101         * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
4102         DIEs if there were errors in the source.
4103
4104         * config/alpha/alpha-interix.h, config/alpha/elf.h,
4105         config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
4106         config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
4107         config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
4108         config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
4109         config/elfos.h, config/lynx.h, config/netware.h,
4110         config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
4111         config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
4112         uses to use ASM_LONG.
4113
4114 2001-11-15  Alan Matsuoka  <alanm@redhat.com>
4115
4116         * gensupport.c  process_include : Change call to alloca to
4117         xmalloc.
4118
4119 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
4120
4121         * config/rs6000/rs6000.md: Use spaces instead of tabs in output
4122         templates.
4123
4124 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4125
4126         * final.c (alter_subreg): If simplify_subreg can't do anything,
4127         handle REG ourselves and abort for others.
4128
4129 2001-11-15  Richard Hodson  <hodsonr@dionecorp.com>
4130
4131         * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
4132         routines.
4133
4134 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4135
4136         * fix-header.c (read_scan_file): Update.
4137
4138 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4139
4140         * toplev.c (toplev_main): Don't start timing until after
4141         command-line options are parsed.
4142
4143 2001-11-15  Andreas Schwab  <schwab@suse.de>
4144
4145         * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
4146         makefile frag, not host makefile frag.
4147         (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
4148         (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
4149         used.
4150         (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
4151         * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
4152         * config/m88k/t-dgux (STMP_FIXPROTO): Define.
4153         * config/i386/t-cygwin (STMP_FIXPROTO): Define.
4154         * config/i386/t-dgux (STMP_FIXPROTO): Define.
4155         * config/x-interix: Don't define STMP_FIXPROTO and
4156         FIXPROTO_DEFINES.
4157         * config/t-interix: New file, define STMP_FIXPROTO.
4158         * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
4159         * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
4160         * config/t-svr4 (FIXPROTO_DEFINES): Define.
4161         * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
4162         * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
4163         * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
4164         * config/m68k/t-hp3200: Renamed from x-hp3200.
4165         * config/i370/t-oe: Renamed from x-oe.
4166         * config/mips/t-iris: Renamed from x-iris.
4167         * config/pa/t-bsd: Renamed from x-pa.
4168         * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
4169         * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
4170         config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
4171         config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
4172         config/rs6000/x-cygwin: Remove files.
4173
4174         * configure.in: Check for target objdump and use that in eh_frame
4175         optimization test.
4176         * configure: Regenerated.
4177
4178 2001-11-15  Jakub Jelinek  <jakub@redhat.com>
4179
4180         * jump.c (squeeze_notes): Return true if no real insns were found.
4181         * rtl.h (squeeze_notes): Adjust prototype.
4182         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
4183         squeeze_notes finds no real instructions, abort.
4184         (merge_blocks_move_successor_nojumps): Likewise.
4185         * loop.c (find_and_verify_loops): Likewise.
4186         * stmt.c (expand_end_case): Likewise.
4187         * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
4188         find any real instructions.
4189
4190         * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
4191
4192         * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
4193         conditional jump, request updating life into for the block
4194         containing it.  Fix a typo which prevented life info update.
4195         Clear blocks bitmap before using it.
4196
4197 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4198
4199         * c-common.c: Include c-lex.h.
4200         (c_common_lang_init): Change prototype.  Call init_c_lex and
4201         init_pragma from here.
4202         * c-common.h (c_common_lang_init): Change prototype.
4203         * c-decl.c (init_decl_processing): Rename.  Call c_parse_init.
4204         * c-lang.c (c_init): Change prototype.  Update.
4205         (c_init_options): Update.
4206         * c-lex.c (cpp_filename): Remove.
4207         (init_c_lex): Update.  Read the main file, and get the original
4208         file name.
4209         (yyparse): Finish the command line options.
4210         * c-parse.in (c_parse_init): Call init_reswords here.
4211         (init_parse): Remove.
4212         * c-tree.h (c_init_decl_processing): New.
4213         * cpphash.c (_cpp_init_hashtable): After initializing the hash
4214         table, populate it.
4215         * cppinit.c (read_original_filename, cpp_finish_options): New.
4216         (cpp_create_reader): New prototype. Defer hash table initialization.
4217         (cpp_start_read): Rename cpp_read_main_file.  Initialize the
4218         hash table.  Get the original filename.
4219         * cpplib.h (cpp_create_reader): Update.
4220         (cpp_start_read): Remove.
4221         (cpp_read_main_file, cpp_finish_options): New.
4222         * cppmain.c (main, do_preprocessing): Update.
4223         * langhooks.h (struct langhooks): Update init prototype.
4224         * toplev.c (general_init, parse_options_and_default_flags,
4225         process_options, lang_indpendent_init, lang_dependent_init,
4226         init_asm_output): New; perform the bulk of initialization.
4227         (compile_file): Move most of initialization to above functions.
4228         (debug_hooks): Initialize statically.
4229         (set_Wunused): Relocate.
4230         (toplev_main): Move most of initialization to other init functions.
4231         Have a clear logic flow.
4232         * tree.h (init_parse, init_decl_processing): Remove.
4233 objc:
4234         * objc-act.c (objc_init): Update prototype, combine with old
4235         init_parse.
4236         (objc_init_options): Update.
4237
4238
4239 2001-11-15  Andreas Jaeger  <aj@suse.de>
4240
4241         * cfgrtl.c (purge_all_dead_edges): Use int as argument for
4242         portability.
4243         * basic-block.h: Adjust prototype.
4244
4245 2001-11-15  Kazu Hirata  <kazu@hxi.com>
4246
4247         * config/rs6000/aix31.h: Fix comment formatting.
4248         * config/rs6000/beos.h: Likewise.
4249         * config/rs6000/darwin.h: Likewise.
4250         * config/rs6000/eabi.asm: Likewise.
4251         * config/rs6000/linux.h: Likewise.
4252         * config/rs6000/linux64.h: Likewise.
4253         * config/rs6000/lynx.h: Likewise.
4254         * config/rs6000/netbsd.h: Likewise.
4255         * config/rs6000/rs6000.c: Likewise.
4256         * config/rs6000/rs6000.h: Likewise.
4257         * config/rs6000/rs6000.md: Likewise.
4258         * config/rs6000/sol2.h: Likewise.
4259         * config/rs6000/tramp.asm: Likewise.
4260         * config/rs6000/xcoff.h: Likewise.
4261         * config/rs6000/xm-beos.h: Likewise.
4262
4263 2001-11-14  Alan Matsuoka  <alanm@redhat.com>
4264
4265         * rtl.def (INCLUDE) : Define.
4266         * gensupport.c  (init_include_reader, process_include,
4267         save_string) :  New functions to implement an include facility
4268         in .md files.
4269         * gensupport.h : Add prototype for init_md_reader_args.
4270         * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
4271         genextract.c genflags.c genopinit.c genoutput.c
4272         genpeep.c genrecog.c: Change call to init_md_reader to
4273         init_md_reader_args.
4274         * md.texi: Document (include "path") and -I directives for RTL
4275         generation tools.
4276
4277 2001-11-14  DJ Delorie  <dj@redhat.com>
4278
4279         * integrate.c (get_hard_reg_initial_reg): New.
4280         * integrate.h (get_hard_reg_initial_reg): Prototype.
4281         * local-alloc.c (block_alloc): Don't tie pseudos that
4282         represent call-saved hard regs' initial values.
4283
4284 2001-11-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4285
4286         * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
4287         recursion.
4288
4289 2001-11-14  Roger Sayle <roger@eyesopen.com>
4290
4291         * fold-const.c (fold): Optimize strlen comparisons against zero.
4292
4293 2001-11-14  David O'Brien  <obrien@FreeBSD.org>
4294
4295         * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
4296         sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
4297         sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
4298         sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
4299         sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
4300         sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
4301         sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
4302         Include various CPU headers via tm_file.  a.out based platforms now
4303         properly include sparc/aout.h.  sol2.h usage now implies including
4304         elfos.h, svr4.h, and sparc/sysv4.h.
4305         * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
4306         Also define to '1'.
4307         * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
4308         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
4309         DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
4310         Remove.  They are a.out specific and belong in sparc/aout.h.
4311         * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
4312         ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4313         DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define.  Moved here from
4314         sparc/sparc.h.
4315         * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
4316         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
4317         Moved here from sparc/sparc.h.
4318         * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
4319         defining.
4320         * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
4321         * config/sparc/lynx.h:  Don't include lynx.h.
4322         (SELECT_SECTION): Do not undef.
4323         * config/sparc/openbsd.h: Don't include sparc/sparc.h.
4324         * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
4325         and sparc/sysv4.h.
4326         * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
4327         * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define.  Get from
4328         sparc/aout.h now.
4329         * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
4330         Don't undef, there is no need.
4331         * config/sparc/splet.h (CPP_PREDEFINES): Define.
4332         * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
4333         * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
4334         Don't include sparc/sparc.h.
4335         * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
4336         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
4337         DATA_SECTION_ASM_OP): Don't undef, there is no need now.  Don't include
4338         elfos.h and svr4.h.
4339         (TARGET_VERSION): Define.
4340         * config/sparc/vxsim.h (TARGET_VERSION): Define.
4341
4342 Wed Nov 14 19:46:08 CET 2001  Jan Hubicka  <jh@suse.cz>
4343
4344         * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
4345         (cfg_layout_finalize): Use it.
4346         * bb-reorder.c (HAVE_epilogue): Remove.
4347         (make_reorder_chain): Do not care special placement of
4348         last basic block.
4349
4350         * predict.c (expected_value_to_br_prob): Delete the note
4351         once transformed.
4352
4353         * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
4354         measure integration time separately.
4355
4356 Wed Nov 14 12:30:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4357
4358         * function.c (struct temp_slot): ALIGN now unsigned.
4359
4360 2001-11-14  Kazu Hirata  <kazu@hxi.com>
4361
4362         * config/dsp16xx/dsp16xx.c: Fix comment formatting.
4363         * config/dsp16xx/dsp16xx.h: Likewise.
4364         * config/dsp16xx/dsp16xx.md: Likewise.
4365
4366 2001-11-14  Kazu Hirata  <kazu@hxi.com>
4367
4368         * config/h8300/h8300.c (get_shift_alg): Reorganize the code
4369         that deals with 7-bit shifts in HImode.
4370
4371 Wed Nov 14 14:17:05 CET 2001  Jan Hubicka  <jh@suse.cz>
4372
4373         * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
4374         * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
4375         (final_scan_insn): Update call of alter_subreg.
4376         (cleanup_subreg_operands): Likewise.
4377         (alter_subreg): Rewrite using simplify_subreg.
4378         (output_address, output_operand): Update call of alter_subreg.
4379         * output.h (alter_subreg): Update prototype.
4380         * sdbout.c (sdbout_symbol): Update call of alter_subreg.
4381         * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
4382         * Makefile.in (final.o): Add dependency on expr.h
4383
4384 Wed Nov 14 06:37:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4385
4386         * c-lang.c (finish_file): Make I unsigned to eliminate warning.
4387
4388 2001-11-13  Jeff Sturm  <jsturm@one-point.com>
4389
4390         * doc/install.texi (sparc-*-linux*): Mention requirements for
4391         binutils and glibc.
4392
4393 2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
4394
4395         * Makefile.in (POD2MAN): Don't include --section=1.
4396         (manext): Rename to man1ext.  All users changed.
4397         (man7ext): New.
4398         (man7dir): New.
4399         (generated-manpages): Also depend on $(docdir)/gfdl.7,
4400         $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
4401         ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
4402         --section=1 in calls to $(POD2MAN).
4403         ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
4404         (maintainer-clean, install, uninstall): Handle the new man pages.
4405         ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
4406         (installdirs): Create man7dir.
4407         * doc/cpp.texi: Include GFDL in this manual.  In the man page,
4408         refer to gfdl(7) for the GFDL.  Apply Front Cover and Back Cover
4409         texts to man page.  Include gpl(7), gfdl(7) and fsf-funding(7) in
4410         the SEE ALSO man page section.
4411         * doc/gcov.texi: Apply GFDL to man page.  Include gpl(7), gfdl(7)
4412         and fsf-funding(7) in the SEE ALSO man page section.
4413         * doc/invoke.texi: Apply GFDL to man page.  Include gpl(7),
4414         gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
4415         * doc/include/fdl.texi, doc/include/funding.texi,
4416         doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
4417         * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
4418
4419 2001-11-13  Richard Henderson  <rth@redhat.com>
4420
4421         * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
4422         as appropriate for the artificial decl.
4423
4424 2001-11-13  Richard Henderson  <rth@redhat.com>
4425
4426         * loop.c (combine_movables): Turn off combination until
4427         move_movables validation bugs are fixed.
4428
4429 2001-11-13  DJ Delorie  <dj@redhat.com>
4430
4431         * config.gcc (powerpc|rs6000): Set default cpp options based
4432         on --with-cpu settings.
4433         * config/rs6000/softfloat.h: New.
4434
4435 2001-11-13  Kazu Hirata  <kazu@hxi.com>
4436
4437         * config/h8300/h8300.c (shift_alg_si): Use special code for
4438         25-bit shifts on H8/S.
4439         (get_shift_alg): Generate special code for 25-bit shifts on
4440         H8/S.
4441
4442 2001-11-13  Jakub Jelinek  <jakub@redhat.com>
4443
4444         * emit-rtl.c (adjust_address_1): Add ADJUST argument.
4445         (adjust_automodify_address_1): New.
4446         * expr.h (adjust_address, adjust_address_nv): Adjust.
4447         (adjust_automodify_address, adjust_automodify_address_nv): Define.
4448         (adjust_address_1): Update prototype.
4449         (adjust_automodify_address_1): Add prototype.
4450         * expr.c (move_by_pieces_1): Use adjust_automodify_address.
4451         (store_by_pieces_2): Likewise.
4452
4453 Tue Nov 13 05:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4454
4455         * Makefile.in (explow.o): Now depends on ggc.h.
4456         * explow.c (ggc.h): Include.
4457         (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
4458
4459         * Makefile.in (expr.o): Depends on insn-attr.h.
4460         * expr.c (insn-attr.h): New include.
4461         (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
4462         of MEM.
4463         (highest_pow2_factor, case INTEGER_CST): Handle negative values.
4464         (expand_expr): Remove unneeded mark_temp_addr_taken calls and
4465         clean up related usage in ADDR_EXPR.
4466         (expand_expr_unaligned): Likewise.
4467
4468         * emit-rtl.c (change_address): Fix typo in alias setting.
4469
4470 2001-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4471
4472         * Makefile.in (cfgcleanup.o): Depend on insn-config.h
4473
4474 2001-11-12  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4475
4476         PR bootstrap/3451
4477         * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
4478         GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
4479
4480 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
4481
4482         * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
4483         sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
4484         sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
4485         sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
4486         sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
4487         sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
4488         sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
4489         sparc64-*-linux*):  Include various CPU headers via tm_file.
4490         * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
4491         (SELECT_SECTION): Likewise.
4492         (SELECT_RTX_SECTION): Likewise.
4493         * config/sparc/sparc_bi.h: New file.
4494         * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
4495         * config/sparc/linux-aout.h: Likewise.
4496         * config/sparc/linux.h: Don't include sparc/sysv4.h.
4497         * config/sparc/linux64.h: Likewise.
4498         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
4499         * config/sparc/lite.h:  Don't include sparc/sparc.h and gofast.h.
4500         * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
4501         and dbxcoff.h
4502         (ASM_OUTPUT_IDENT): Do not #undef.
4503         (SELECT_SECTION): Likewise.
4504         (SELECT_RTX_SECTION): Likewise.
4505         * config/sparc/liteelf.h: Don't include gofast.h.
4506         * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
4507         * config/sparc/lynx.h: Don't include sparc/sparc.h.
4508         * config/sparc/pbd.h: Likewise.
4509         * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
4510         * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
4511         * config/sparc/rtemself.h: Don't include rtems.h.
4512         * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
4513         * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
4514         sparc_bi.h instead.
4515         * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
4516         * config/sparc/sol2.h: Include sparc/sparc.h directly.
4517         * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
4518         * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
4519         * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
4520         * config/sparc/sp86x-elf.h: Don't include gofast.h.
4521         * config/sparc/splet.h: Don't include sparc/aout.h.
4522         * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
4523         * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
4524         * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
4525         * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
4526         * config/sparc/vxsparc64.h: Don't include gofast.h.
4527         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
4528
4529 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
4530
4531         * doc/standards.texi: Mention C99 TC1.
4532
4533 2001-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4534
4535         * mips-protos.h (mips_output_conditional_branch): Const-ify.
4536         * mips.c (mips_output_conditional_branch): Likewise.
4537
4538 2001-11-12  Kazu Hirata  <kazu@hxi.com>
4539
4540         * config/h8300/h8300.c (shift_alg_si): Use special code for
4541         15-bit logical shifts and 31-bit logical shifts.
4542         (get_shift_alg): Generate special code for 15-bit and 31-bit
4543         logical shifts.
4544
4545 2001-11-12  Kazu Hirata  <kazu@hxi.com>
4546
4547         * config/h8300/h8300.c (shift_alg_qi): Use rotations when
4548         doing 6-bit logical shifts on H8/S.
4549         (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
4550         (get_shift_alg): Generate special code for 21-bit shifts on
4551         H8/S.
4552
4553 2001-11-12  Kazu Hirata  <kazu@hxi.com>
4554
4555         * config/h8300/h8300.c (get_shift_alg): Remove a redundant
4556         label.
4557
4558 Mon Nov 12 11:58:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4559
4560         * alias.c (nonoverlapping_memrefs_p): Only update size from memref
4561         if both size and offset known.
4562
4563 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
4564
4565         * config/ia64/freebsd.h: Fix misspelling.
4566
4567 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
4568
4569         * doc/gcc.texi: Move several chapters out to ...
4570         * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
4571         doc/include/linux-and-gnu.texi, doc/interface.texi,
4572         doc/makefile.texi, doc/passes.texi, doc/portability.texi:
4573         ... here.  New files.
4574         * doc/gcc.texi, doc/contrib.texi: Move section headings into
4575         contrib.texi.
4576         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
4577
4578 2001-11-12  Kazu Hirata  <kazu@hxi.com>
4579
4580         * config/alpha/alpha-interix.h: Fix comment formatting.
4581         * config/alpha/alpha.c: Likewise.
4582         * config/alpha/alpha.h: Likewise.
4583         * config/alpha/alpha32.h: Likewise.
4584         * config/alpha/freebsd.h: Likewise.
4585         * config/alpha/unicosmk.h: Likewise.
4586         * config/alpha/vms.h: Likewise.
4587
4588 2001-11-12  Kazu Hirata  <kazu@hxi.com>
4589
4590         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
4591
4592 2001-11-12  Jakub Jelinek  <jakub@redhat.com>
4593
4594         * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
4595         numbers.
4596
4597 Mon Nov 12 05:18:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4598
4599         * emit-rtl.c (set_mem_attributes): If making object, can set alignment
4600         from type.
4601         (replace_equiv_address): Call update_temp_slot_address.
4602
4603         * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
4604
4605         * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
4606
4607 2001-11-12  Kazu Hirata  <kazu@hxi.com>
4608
4609         * config/h8300/h8300.c (shift_alg_qi): New.
4610         (shift_alg_hi): Likewise.
4611         (shift_alg_si): Likewise.
4612         (get_shift_alg): Change the type of count to unsigned int.
4613         Use the tables.
4614
4615 2001-11-11  Alexandre Oliva  <aoliva@redhat.com>
4616
4617         * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
4618         * c-decl.c (c_expand_body): Take argument can_defer_p.  Use it
4619         to decide whether to defer a function.
4620         (finish_function): Adjust.
4621         (c_expand_deferred_function): New function.
4622         * c-lang.c (deferred_fns): New variable.
4623         (c_init): Initialize it, and mark it as a root.
4624         (defer_fn): New function.
4625         (finish_file): Expand all deferred functions.
4626         * c-tree.h (defer_fn): Declare.
4627         (c_expand_deferred_function): Likewise.
4628         * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
4629         * objc-act.c (deferred_fns): New variable.
4630         (objc_init): Initialize it, and mark it as a root.
4631         (defer_fn): New function.
4632         (finish_file): Expand all deferred functions.
4633
4634 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4635
4636         * alpha.c (unicosmk_special_name): Prototype.
4637         (unicosmk_ssib_name): Delete unused variable.
4638         * alpha/unicosmk.h (common_section, ssib_section): Prototype.
4639         * alpha/vms.h (PREFIX): Undef before defining.
4640         * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
4641         * i370/i370.c (mvs_hash_alias): Prototype.  Wrap with macro
4642         controlling usage.  Const-ify.
4643         (alias_number): Delete unused variable.
4644         * m32r/m32r.c (m32r_sched_init): Add missing argument.
4645         (m32r_expand_block_move): Fix uninitialized warnings.
4646         * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
4647         always true' warnings.
4648         * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
4649         * sh/sh.c: Include "integrate.h".
4650         (output_far_jump): Fix uninitialized warning.
4651         * final.c (shorten_branches): Avoid automatic aggregate
4652         initialization.
4653         * integrate.c (subst_constants): Likewise.
4654
4655 2001-11-11  Kazu Hirata  <kazu@hxi.com>
4656
4657         * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
4658         (get_shift_alg): Remove redundant code.
4659
4660 2001-11-11  Kazu Hirata  <kazu@hxi.com>
4661
4662         * config/pa/milli64.S: Fix comment formatting.
4663         * config/pa/pa-64.h: Likewise.
4664         * config/pa/pa-linux.h: Likewise.
4665         * config/pa/pa-protos.h: Likewise.
4666         * config/pa/pa.c: Likewise.
4667         * config/pa/pa.h: Likewise.
4668         * config/pa/pa32-linux.h: Likewise.
4669         * config/pa/pa32-regs.h: Likewise.
4670         * config/pa/pa64-hpux.h: Likewise.
4671         * config/pa/pa64-regs.h: Likewise.
4672         * config/pa/som.h: Likewise.
4673
4674 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
4675
4676         * doc/gcc.texi: Move several chapters out to ...
4677         * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
4678         doc/service.texi, doc/standards.texi, doc/trouble.texi,
4679         doc/vms.texi: ... here.  New files.
4680         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
4681
4682 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
4683
4684         * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
4685         cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
4686         collect2.c, combine.c, config.in, configure, configure.in,
4687         conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
4688         genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
4689         reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
4690         spelling errors.
4691
4692 Sun Nov 11 05:56:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4693
4694         * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
4695         Adjust operand number in CONST_DOUBLE.
4696
4697         * expmed.c (extract_bit_field): No longer pass in alignment.
4698         (extract_fixed_bit_field, extract_split_bit_field): Likewise.
4699         (store_bit_field, store_fixed_bit_field, store_split_bit_field):
4700         Likewise.
4701         * expr.c (store_constructor, store_constructor_field): Likewise.
4702         (store_field, emit_group_load, emit_group_store): Likewise.
4703         * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
4704         (store_bit_field, extract_bit_field): Likewise.
4705         * calls.c, expr.c, function.c: Change calls to above functions.
4706         * ifcvt.c, stmt.c: Likewise.
4707
4708         * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
4709         constant and one is on frame.
4710         If know memref offset, adjust size from decl.
4711
4712 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4713
4714         * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
4715         format specifier warning.
4716         * convex.h (ASM_OUTPUT_BYTE): Likewise.
4717         * elfos.h (ALIGN_ASM_OP): Undef before defining.
4718         * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
4719         warning.
4720         * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4721         * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4722         * i386-interix.h (gen_stdcall_suffix): Prototype.
4723         * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
4724         * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
4725         ASM_OUTPUT_LONG_DOUBLE): Likewise.
4726         * i386/interix.c (gen_stdcall_suffix): Const-ify.
4727         * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
4728         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
4729         specifier warnings.
4730         * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4731         * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
4732         ASM_OUTPUT_LONG_DOUBLE): Likewise.
4733         * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4734         * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4735         * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4736         * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4737         * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
4738         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
4739         * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
4740         * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
4741         Likewise.
4742         * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
4743         Likewise.
4744         * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
4745         * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
4746         ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
4747         Likewise.
4748         * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
4749         Likewise.
4750         * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
4751         Likewise.
4752         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
4753         * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
4754         * m68k/news.h (PRINT_OPERAND): Likewise.
4755         * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
4756         ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
4757         * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
4758         * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
4759         definition.
4760         * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
4761         ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
4762         ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
4763         * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
4764         * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
4765         ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
4766         PRINT_OPERAND): Likewise.
4767         * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
4768         Likewise.
4769         * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
4770         * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
4771         * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
4772         * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
4773         * mips.c (mips_output_external_libcall): Mark parameter with
4774         ATTRIBUTE_UNUSED.
4775         (mips_asm_file_start): Move variable into the scope where it's
4776         used.
4777         * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
4778         * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
4779         * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
4780         * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4781         * ns32k.c (print_operand): Likewise.
4782         * pa.c (print_operand, output_div_insn): Likewise.
4783         * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
4784         ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
4785         * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
4786         * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
4787         specifier warnings.
4788         * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4789         * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4790         (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
4791         * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
4792         specifier warnings.
4793         * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4794
4795         * sdbout.c (sdbout_end_epilogue): Mark parameter with
4796         ATTRIBUTE_UNUSED.
4797         * varasm.c (assemble_global): Likewise.
4798
4799 2001-11-11  H.J. Lu <hjl@gnu.org>
4800
4801         * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
4802
4803 Sun Nov 11 01:26:00 CET 2001  Jan Hubicka  <jh@suse.cz>
4804
4805         * final.c (*_MAX_SKIP): Use *_max_skip variables.
4806         * flags.h (align_loops_max_skip, align_jumps_max_skip,
4807         align_labels_max_skip): New global variables.
4808         * toplev.c (align_loops_max_skip, align_jumps_max_skip,
4809         align_labels_max_skip): New global variables.
4810         (toplev_main): Set new variables.
4811         * i386.c (override_options): Set max_skip values.
4812
4813 2001-11-10  Geoffrey Keating  <geoffk@redhat.com>
4814
4815         * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
4816         * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
4817         * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
4818         don't print an @fptr for labels either.
4819         (xstormy16_output_addr_vec): Don't print @fptr here.
4820         * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
4821
4822 Sat Nov 10 08:50:50 2001  Jeffrey A Law  (law@cygnus.com)
4823
4824         * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
4825         an ANSI/ISO definitino.
4826         (ssa_const_prop): Likewise.
4827
4828 2001-11-10  Aldy Hernandez  <aldyh@redhat.com>
4829
4830         * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
4831         altivec registers.
4832
4833 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4834
4835         * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
4836         * cpplex.c (hex_digit_value): Use hex_p/hex_value.
4837         * cppmain.c (general_init): Call hex_init.
4838         * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
4839
4840         * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
4841
4842         * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
4843         of dgux.c:output_file_start().
4844
4845         * i386/dgux.c: Delete file.
4846
4847 2001-11-09  Richard Henderson  <rth@redhat.com>
4848
4849         * config/alpha/alpha.c (decl_in_text_section): New.
4850         (current_file_function_operand): Use it.
4851         (alpha_encode_section_info, alpha_end_function): Likewise.
4852
4853 2001-11-07  David O'Brien  <obrien@FreeBSD.org>
4854
4855         * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
4856         * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
4857         they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
4858         so OS specific files and use CPP_PREDEFINES for their needs.
4859         * config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
4860         target headers to tm_file.
4861         * config/ia64/aix.h (TARGET_VERSION): Likewise.
4862         * config/ia64/hpux.h (TARGET_VERSION): Likewise.
4863         * config/ia64/linux.h (TARGET_VERSION): Likewise.
4864         (FUNCTION_PROFILER): Remove.
4865         * config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the
4866         version in config/ia64/linux.h.
4867         * config/ia64/freebsd.h: New file.
4868         * config/freebsd.h: Tidy up.
4869         (_USING_CONFIG_FREEBSD): Define.
4870         (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
4871         (FBSD_CPP_SPEC): Define generic FreeBSD spec.
4872         (FBSD_STARTFILE_SPEC): Likewise.
4873         (FBSD_ENDFILE_SPEC): Likewise.
4874         (FBSD_LIB_SPEC): Likewise.
4875         (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
4876         (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
4877         set an ELF-improper one.
4878
4879 2001-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4880
4881         * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
4882         constant can be loaded in a single instruction to a register.  When
4883         loading immediate constants, use PLUS instead of HIGH/LO_SUM.  Use
4884         depdi for insertion of most significant 32-bits on 64-bit hosts.
4885         * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
4886         with ldil/ldo/depdi instruction sequence on 64-bit hosts.
4887         * pa.md: New addmove pattern for adding constant_int to HImode
4888         register and moving result to HImode register.  Remove HImode HIGH
4889         and LO_SUM patterns.
4890
4891 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
4892
4893         * Makefile.in: Update.
4894         * c-decl.c (print_lang_decl, print_lang_type): Remove.
4895         (print_lang_identifier): Rename c_print_identifier.
4896         * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
4897         (print_lang_statistics, lang_print_xnode): Remove.
4898         * c-parse.in (set_yydebug): Rename c_set_yydebug.
4899         * c-tree.h (c_set_yydebug, c_print_identifier): New.
4900         * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
4901         LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
4902         LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
4903         LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
4904         (LANG_HOOKS_INITIALIZER): Update.
4905         * langhooks.h (struct lang_hooks): New members.
4906         (lang_print_tree_hook): New.
4907         * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
4908         * print-tree.c: Include langhooks.h.
4909         (print_node): Update.
4910         * toplev.c (decode_d_option): Update.
4911         * tree.c: Include langhooks.h.
4912         (dump_tree_statistics): Update.
4913         * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
4914         print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
4915 objc:
4916         * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
4917         LANG_HOOKS_SET_YYDEBUG): Override.
4918         (lang_print_xnode, print_lang_statistics): Remove.
4919
4920 2001-11-09  Richard Henderson  <rth@redhat.com>
4921
4922         * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
4923         on the symbol string.
4924
4925 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4926
4927         * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
4928         ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
4929         * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
4930
4931         * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
4932
4933         * tlink.c (recompile_files): Copy strings passed to `putenv'.
4934
4935 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
4936
4937         * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
4938         (TYPE_READONLY): Likewise.
4939
4940         * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
4941
4942         * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
4943         don't pass --gdwarf2 to the assembler if the compiler will also
4944         provide debug info.
4945
4946         * config/stormy16/stormy16.c (xstormy16_expand_casesi):
4947         Don't change INDEX.
4948
4949 Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4950
4951         * alias.c (nonoverlapping_memrefs_p): New function.
4952         (true_dependence, canon_true_depenence, write_dependence_p): Call it.
4953
4954         * emit-rtl.c (set_mem_attributes): Get alignments for constants.
4955
4956 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
4957
4958         * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
4959         (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
4960         generating altivec code.
4961         (FIXED_REGISTERS): VRSAVE is fixed.
4962         (CALL_USED_REGISTERS): VRSAVE is call used.
4963
4964 2001-11-09  Jason Eckhardt  <jle@rice.edu>
4965
4966         * config/mips/mips.c (mips_output_conditional_branch): Do not hard
4967         code the branch target as ".+16/.+12", but rather use labels.
4968
4969 Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
4970
4971         * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
4972         to work around limitations of certain versions of GAS.
4973
4974         * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
4975         (muldi3): Update due to SUBREG_BYTE changes.
4976         (casesi): Similarly.
4977
4978 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
4979
4980         * doc/invoke.texi: Remove comment referring to -xf77-version.
4981
4982 2001-11-09  Kazu Hirata  <kazu@hxi.com>
4983
4984         * config/convex/convex.c: Fix comment formatting.
4985         * config/convex/convex.h: Likewise.
4986
4987 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
4988
4989         * Makefile.in (.po.pox): Look both in srcdir and builddir
4990         for $(PACKAGE).pot.
4991         (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
4992         to the source directory.
4993
4994 2001-11-09 Ben Elliston  <bje@redhat.com>
4995            Michael Meissner  <meissner@redhat.com>
4996            Andrew MacLeod  <amacleod@redhat.com>
4997            Richard Henderson  <rth@redhat.com>
4998            Nick Clifton  <nickc@redhat.com>
4999            Catherine Moore  <clm@redhat.com>
5000
5001         * m32r.c: Add support for m32rx processor.
5002         * m32r.h: Ditto.
5003         * m32r.md: Ditto.
5004         * t-m32r: Ditto.
5005         * m32r-protos.h: Add prototypes for m32rx functions.
5006         * doc/invoke.texi: Document -m32rx option.
5007
5008 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
5009
5010         * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
5011         or after reload.
5012
5013 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5014
5015         * doc/install.texi2html: Use $MAKEINFO --no-split.
5016
5017 2001-11-09  Andreas Schwab  <schwab@suse.de>
5018
5019         * Makefile.in ($(HOST_PREFIX_1)rtl.o,
5020         $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
5021         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
5022         $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
5023         $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
5024
5025 2001-11-09  H.J. Lu <hjl@gnu.org>
5026
5027         * config/mips/mips.c (mips_output_function_prologues): Cast
5028         `tsize' to long for output.
5029
5030 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
5031
5032         * c-lang.c (LANG_HOOKS_NAME): New.
5033         (lang_hooks): Constify.
5034         (c_init_options): Update.
5035         (lang_identify): Remove.
5036         * c-parse.in (language_string): Remove.
5037         * dbxout.c: Include langhooks.h.
5038         (dbxout_symbol_location): Update.
5039         * dwarf2out.c: Include langhooks.h.
5040         (gen_compile_unit_die): Update.
5041         * dwarfout.c: Include langhooks.h.
5042         (prototyped_attribute, output_compile_unit_die): Update.
5043         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
5044         (LANG_HOOKS_INITIALIZER): Update.
5045         * langhooks.h (struct lang_hooks): New members.  Constify.
5046         * stringpool.c: Don't include toplev.h.
5047         (set_identifier_size): Remove.
5048         * toplev.c (toplev_main): Initialize identifier size.
5049         (print_version): Update.
5050         * tree.h (language_string, init_lex, lang_identify,
5051         set_identifier_size): Remove.
5052         * Makefile.in: Update dependencies.
5053         * config/darwin.c: Include langhooks.h.
5054         (func_name_maybe_scoped): Update.
5055         * config/darwin.h (ASM_END_FILE): Update.
5056         * config/nextstep.h (ASM_END_FILE): Update.
5057         * config/nextstep21.h (ASM_END_FILE): Update.
5058         * config/i386/sun386.h (ASM_END_FILE): Update.
5059         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
5060         (rs6000_output_function_epilogue): Update.
5061 objc:
5062         * objc-act.c (LANG_HOOKS_NAME): Override.
5063         (struct lang_hooks): Constify.
5064         (objc_init_options): Update.
5065         (lang_identify): Remove.
5066
5067 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
5068
5069         * fold-const.c (lshift_double): Honor PREC.
5070         (rshift_double): Likewise.
5071
5072 2001-11-08  Kazu Hirata  <kazu@hxi.com>
5073
5074         * config/1750a/1750a.c: Fix comment formatting.
5075         * config/1750a/1750a.h: Likewise.
5076
5077 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
5078
5079         * configure.in (--enable-languages): Be more permissive about
5080         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
5081         * configure: Regenerated.
5082
5083 2001-11-08  Richard Henderson  <rth@redhat.com>
5084
5085         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
5086
5087 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
5088
5089         * config.gcc: Rename stormy16 to xstormy16.
5090         * config/stormy16/stormy-abi: Likewise.
5091         * config/stormy16/stormy16-protos.h: Likewise.
5092         * config/stormy16/stormy16.c: Likewise.
5093         * config/stormy16/stormy16.h: Likewise.
5094         * config/stormy16/stormy16.md: Likewise.
5095
5096 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
5097
5098         * tree.h (TYPE_VOLATILE): Add enable-checking code.
5099         (TYPE_READONLY): Likewise.
5100
5101 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5102
5103         * reload1.c (reload): Don't delete equiv insn if can throw.
5104
5105         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
5106         (clear_storage): Likewise, for OBJECT.
5107
5108 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
5109
5110         * pa.c (emit_move_sequence): Fix SUBREG expression to
5111         use proper byte offset when extending a constant from
5112         SImode to DImode.
5113
5114 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
5115
5116         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
5117         which cannot throw.
5118
5119 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5120
5121         * explow.c (convert_memory_address, case SUBREG): Only return
5122         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
5123
5124 2001-11-08  Richard Henderson  <rth@redhat.com>
5125
5126         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
5127         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
5128         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
5129
5130 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
5131
5132         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
5133
5134 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
5135
5136         * dwarf2out.c (debug_str_hash): New.
5137         (struct indirect_string_node): New.
5138         (struct dw_val_struct): Change type of val_str to it.
5139         (DEBUG_STR_SECTION_FLAGS): Define.
5140         (add_AT_string): Push string into hashtable, increment reference
5141         counter.
5142         (AT_string): Return string from ht_identifier.
5143         (AT_string_form): New.
5144         (free_AT): For dw_val_class_str, just decrement reference counter.
5145         (size_of_string): Remove.
5146         (size_of_die): Use AT_string_form to decide what size the string
5147         occupies in DIE.
5148         (size_of_pubnames): Use strlen instead of size_of_string.
5149         (value_format): Use AT_string_form for dw_val_class_str.
5150         (output_die): Output DW_FORM_strp strings using
5151         dw2_asm_output_offset.
5152         (indirect_string_alloc, output_indirect_string): New.
5153         (dwarf2out_finish): Emit .debug_str strings if there are any.
5154
5155 2001-11-08  Andreas Franck  <afranck@gmx.de>
5156
5157         * configure.in: Add AC_ARG_PROGRAM to support program name
5158         transformation with --program-prefix, --program-suffix and
5159         --program-transform-name.
5160         * configure: Regenerated.
5161         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
5162         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
5163         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
5164         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
5165         program_transform_name the way suggested by autoconf.
5166         (GCC_TARGET_INSTALL_NAME): Define.
5167         (install-driver): Use the transformed target alias name.
5168
5169 2001-11-08  Richard Henderson  <rth@redhat.com>
5170
5171         * config/mips/mips.c (save_restore_insns): Remove GP from the
5172         restore registers mask early instead of special casing it inside
5173         the loop.
5174
5175 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
5176
5177         * cp/decl.c (shadow_warning): New function.
5178         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
5179         and an error when a block scope decl shadows a parameter.
5180
5181 2001-11-08  Richard Henderson  <rth@redhat.com>
5182
5183         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
5184         case as well.
5185
5186 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5187
5188         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
5189         to implement floating negation on processors prior to PA 2.0.
5190
5191 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
5192
5193         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
5194         (USE_LINKONCE_INDIRECT): Define.
5195         (dw2_output_indirect_constant_1): Try to output indirect constants
5196         into linkonce sections if possible.
5197         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
5198         (dw2_output_indirect_constants): Likewise.
5199
5200 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
5201
5202         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
5203
5204 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
5205
5206         * c-decl.c (pushdecl): Remove file and line.
5207         * c-typeck.c (pop_init_level): Remove size.
5208
5209 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
5210
5211         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
5212         for rs6000.
5213
5214         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
5215         (TARGET_ALTIVEC): New.
5216         (TARGET_SWITCHES): Add altivec.
5217         (FIRST_PSEUDO_REGISTER): Change to 109.
5218         (CALL_USED_REGISTERS): Same.
5219         (FIRST_ALTIVEC_REGNO): New.
5220         (LAST_ALTIVEC_REGNO): New.
5221         (ALTIVEC_REGNO_P): New.
5222         (UNITS_PER_ALTIVEC_WORD): New.
5223         (ALTIVEC_VECTOR_MODE): New.
5224         (FIXED_REGISTERS): Add altivec registers.
5225         (REG_ALLOC_ORDER): Same.
5226         (HARD_REGNO_NREGS): Adjust for altivec registers.
5227         (HARD_REGNO_MODE_OK): Same.
5228         (MODES_TIEABLE_P): Same.
5229         (REGISTER_MOVE_COST): Same.
5230         (REGNO_REG_CLASS): Same.
5231         (reg_class): Add ALTIVEC_REGS.
5232         (REG_CLASS_NAMES): Same.
5233         (REG_CLASS_CONTENTS): Same.
5234         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
5235         (ALTIVEC_ARG_RETURN): New.
5236         (FUNCTION_VALUE): Handle VECTOR_TYPE.
5237         (LIBCALL_VALUE): Handle altivec vector modes.
5238         (VECTOR_MODE_SUPPORTED_P): New.
5239         (ALTIVEC_ARG_MIN_REG): New.
5240         (ALTIVEC_ARG_MAX_REG): New.
5241         (ALTIVEC_ARG_NUM_REG): New.
5242         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
5243         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
5244         (REGISTER_NAMES): Add altivec regs.
5245         (DEBUG_REGISTER_NAMES): Same.
5246         (ADDITIONAL_REGISTER_NAMES): Same.
5247         (rs6000_builtins): New.
5248         (MD_EXPAND_BUILTIN): New.
5249         (MD_INIT_BUILTINS): New.
5250         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
5251         for AltiVec instructions.
5252         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
5253         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
5254         registers.
5255         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
5256         (TARGET_SWITCHES): Add no-altivec.
5257         (DATA_ALIGNMENT): Align vectors to 128 bits.
5258         (TARGET_OPTIONS): Add abi= option.
5259         Add rs6000_abi_string extern.
5260         (LOCAL_ALIGNMENT): New.
5261         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
5262         (MASK_ALTIVEC_ABI): New.
5263         (TARGET_ALTIVEC_ABI): New.
5264         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
5265         call-saved.
5266         (STACK_BOUNDARY): Adjust for altivec.
5267         (BIGGEST_ALIGNMENT): Same.
5268         (rs6000_args): Add vregno.
5269         (USE_ALTIVEC_FOR_ARG_P): New.
5270         (FIXED_REGISTERS): Add vrsave register.
5271         (CALL_USED_REGISTERS): Same.
5272         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
5273         (VRSAVE_REGNO): New.
5274         (reg_class): Add VRSAVE_REGS.
5275         (REG_CLASS_NAMES): Same.
5276         (REG_CLASS_CONTENTS): Same.
5277         (REGNO_REG_CLASS): Same.
5278
5279         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
5280         (ABI_STACK_BOUNDARY): Same.
5281         (BIGGEST_ALIGNMENT): Same.
5282         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
5283         (ROUND_TYPE_ALIGN): Same.
5284
5285         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
5286         to 64.
5287
5288         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
5289         to 64.
5290
5291         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
5292         to 64.
5293
5294         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
5295         (altivec_expand_builtin): New.
5296         (altivec_init_builtins): New.
5297         (TARGET_EXPAND_BUILTIN): New.
5298         (TARGET_INIT_BUILTINS): New.
5299         (rs6000_init_builtins): New.
5300         (struct builtin_description): New.
5301         (bdesc_2arg): New.
5302         (rs6000_reg_names): Add altivec registers.
5303         (alt_reg_names): Same.
5304         (secondary_reload_class): Altivec regs can hold altivec regs and
5305         memory.
5306         (rs6000_emit_move): Force constants into memory for AltiVec moves.
5307         (print_operand): Add 'y' case for printing altivec memory
5308         operands.
5309         (rs6000_legitimize_address): Legitimize vector addresses into
5310         [REG+REG] or [REG].
5311         (altivec_expand_binop_builtin): New.
5312         New string rs6000_current_abi.
5313         (rs6000_override_options): Call rs6000_parse_abi_options.
5314         (rs6000_parse_abi_options): New.
5315         (function_arg_boundary): Vector arguments must be 16
5316         byte aligned.
5317         (function_arg_advance): Handle vector arguments.
5318         (function_arg_partial_nregs): Same.
5319         (init_cumulative_args): Same.
5320         (function_arg): Same.
5321
5322         * config/rs6000/rs6000.md (altivec_lvx): New.
5323         (type): Add altivec attribute.
5324         (movv4si): New.
5325         (*movv4si_internal): New.
5326         (movv16qi): New.
5327         (*movv16qi_internal): New.
5328         (movv8hi): New.
5329         (*movv8hi_internal1): New.
5330         (movv4sf): New.
5331         (*movv4sf_internal1): New.
5332         (altivec_stvx): New.
5333         (vaddubm): New.
5334         (vadduhm): New.
5335         (vadduwm): New.
5336         (vaddfp): New.
5337         (vaddcuw): New.
5338         (vaddubs): New.
5339         (vaddsbs): New.
5340         (vadduhs): New.
5341         (vaddshs): New.
5342         (vadduws): New.
5343         (vaddsws): New.
5344         (vand): New.
5345         (vandc): New.
5346         (vavgub): New.
5347         (vavgsb): New.
5348         (vavguh): New.
5349         (vavgsh): New.
5350         (vavguw): New.
5351         (vavgsw): New.
5352         (vcmpbfp): New.
5353         (vcmpequb): New.
5354         (vcmpequh): New.
5355         (vcmpequw): New.
5356         (vcmpeqfp): New.
5357         (vcmpgefp): New.
5358         (vcmpgtub): New.
5359         (vcmpgtsb): New.
5360         (vcmpgtuh): New.
5361         (vcmpgtsh): New.
5362         (vcmpgtuw): New.
5363         (vcmpgtsw): New.
5364         (vcmpgtfp): New.
5365         (vcmpgefp): New.
5366         (vcmpgtub): New.
5367         (vcmpgtsb): New.
5368         (vcmpgtuh): New.
5369         (vcmpgtsh): New.
5370         (vcmpgtuw): New.
5371         (vcmpgtsw): New.
5372         (vcmpgtfp): New.
5373         (vmaxub): New.
5374         (vmaxsb): New.
5375         (vmaxuh): New.
5376         (vmaxsh): New.
5377         (vmaxuw): New.
5378         (vmaxsw): New.
5379         (vmaxfp): New.
5380         (vmrghb): New.
5381         (vmrghh): New.
5382         (vmrghw): New.
5383         (vmrglb): New.
5384         (vmrglh): New.
5385         (vmrglw): New.
5386         (vminub): New.
5387         (vminsb): New.
5388         (vminuh): New.
5389         (vminsh): New.
5390         (vminuw): New.
5391         (vminsw): New.
5392         (vminfp): New.
5393         (vmuleub): New.
5394         (vmulesb): New.
5395         (vmuleuh): New.
5396         (vmulesh): New.
5397         (vmuloub): New.
5398         (vmulosb): New.
5399         (vmulouh): New.
5400         (vmulosh): New.
5401         (vnor): New.
5402         (vor): New.
5403         (vpkuhum): New.
5404         (vpkuwum): New.
5405         (vpkpx): New.
5406         (vpkuhss): New.
5407         (vpkshss): New.
5408         (vpkuwss): New.
5409         (vpkswss): New.
5410         (vpkuhus): New.
5411         (vpkshus): New.
5412         (vpkuwus): New.
5413         (vpkswus): New.
5414         (vrlb): New.
5415         (vrlh): New.
5416         (vrlw): New.
5417         (vslb): New.
5418         (vslh): New.
5419         (vslw): New.
5420         (vsl): New.
5421         (vslo): New.
5422         (vsrb): New.
5423         (vrsh): New.
5424         (vrsw): New.
5425         (vsrab): New.
5426         (vsrah): New.
5427         (vsraw): New.
5428         (vsr): New.
5429         (vsro): New.
5430         (vsububm): New.
5431         (vsubuhm): New.
5432         (vsubuwm): New.
5433         (vsubfp): New.
5434         (vsubcuw): New.
5435         (vsububs): New.
5436         (vsubsbs): New.
5437         (vsubuhs): New.
5438         (vsubshs): New.
5439         (vsubuws): New.
5440         (vsubsws): New.
5441         (vsum4ubs): New.
5442         (vsum4sbs): New.
5443         (vsum4shs): New.
5444         (vsum2sws): New.
5445         (vsumsws): New.
5446         (vxor): New.
5447
5448 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
5449
5450         * Makefile.in (df.o): Add fibheap.h to dependencies.
5451
5452         * df.h: Add prototypes for transfer functions, iterative_dataflow
5453         functions.
5454         (enum df_flow_dir): New enum.
5455         (enum df_confluence_op): New enum.
5456         (struct df): Add inverse_rts_map.
5457
5458         * df.c: Add sbitmap.h to the list of includes.
5459         (df_rd_global_compute): Removed.
5460         (df_ru_global_compute): Removed.
5461         (df_lr_global_compute): Removed.
5462         (df_rd_transfer_function): New function.
5463         (df_ru_transfer_function): New function.
5464         (df_lr_transfer_function): New function.
5465         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
5466         Use iterative_dataflow_bitmap instead of df_*_global_compute.
5467         (iterative_dataflow_sbitmap): New function.
5468         (iterative_dataflow_bitmap): New function.
5469
5470 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
5471
5472         * doc/gcc.texi: Move terminology and spelling conventions to
5473         htdocs/codingconventions.html.
5474
5475 2001-11-07  Graham Stott  <grahams@redhat.com>
5476
5477         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
5478
5479 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
5480
5481         * expmed.c (expand_mult): Force operand to register before computing
5482         cost.
5483         * i386.c (x86_decompose_lea): New global vairable.
5484         * i386.h (x86_decompose_lea): Declare.
5485         (TARGET_DECOMPOSE_LEA): New macro.
5486         (RTX_COST): Handle leas properly.
5487
5488 2001-11-06  Richard Henderson  <rth@redhat.com>
5489
5490         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
5491         defined for a CONSTRUCTOR; don't check it.
5492
5493 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
5494
5495         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
5496         test for absolute pathnames.
5497
5498 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
5499
5500         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
5501         instructions up to the target pc inclusive.
5502
5503 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
5504
5505         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
5506
5507 2001-11-06  Eric Christopher  <echristo@redhat.com>
5508
5509         * config/mips/mips.md(movdf_internal2): Add constraints for float
5510         to general register move.
5511         * config/mips/elf64.h: Add default ABI.
5512
5513 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
5514
5515         * alias.c:: Include langhooks.h.
5516         * emit-rtl.c: Similarly.
5517         * toplev.c: Similarly.
5518         * tree-inline.c: Similarly.
5519         * langhooks-def.h: New, the old langhooks.h.  Give the default
5520         hooks a common prefix.
5521         * langhooks.h: Contents extracted from toplev.h.
5522         * toplev.h: Move langhook stuff to langhooks.h.
5523         * langhooks.c: Give default hooks a common prefix.
5524
5525         * c-lang.c: Include langhooks-def.h.
5526         * objc/objc-act.c: Similarly.
5527         * Makefile.in: Update.
5528         * objc/Make-lang.in: Update.
5529
5530 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
5531
5532         * doc/install.texi: Document that configure options not listed in
5533         this file are unsupported.  Document --with-system-zlib.
5534
5535 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5536
5537         * rtl.h (mem_for_const_double): New declaration.
5538         * varasm.c (mem_for_const_double): New function.
5539         * config/convex/convex.md (movdf): Use it.
5540         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
5541         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
5542         * config/m68k/m68kv4.h: Likewise.
5543
5544         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
5545         of new GP reg classes.
5546
5547         * expr.c (store_field): When making temp object for unaligned
5548         component, set it to alias set 0.
5549
5550 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
5551
5552         * c-common.c (c_expand_expr_stmt): Apply default conversions to
5553         non-lvalue arrays if C99.
5554         * c-typeck.c (default_conversion): Split out code handling
5555         array-to-pointer and function-to-pointer conversions into a
5556         separate default_function_array_conversion function.
5557         (default_function_array_conversion): New function.  Keep track of
5558         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
5559         arrays unchanged outside C99 mode instead of giving an error for
5560         them.
5561         (build_component_ref): Use pedantic_non_lvalue when handling
5562         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
5563         (convert_arguments): Use default_function_array_conversion.
5564         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
5565         non-lvalues are OK.
5566         (unary_complex_lvalue): Likewise.
5567         (internal_build_compound_expr): Use
5568         default_function_array_conversion.  Apply default conversions to
5569         function in compound expression.
5570         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
5571         Use default_function_array_conversion.
5572         * doc/extend.texi: Update documentation of subscripting non-lvalue
5573         arrays.
5574         Fixes PR c/461.
5575
5576 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
5577
5578         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
5579         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
5580         corresponding to the complete set of .po and .gmo files in
5581         the source directory's po subdir, modified by LINGUAS.  Don't
5582         look at ALL_LINGUAS.
5583         * configure.in: Don't set ALL_LINGUAS.
5584         * configure: Regenerate.
5585
5586         * Makefile.in (.po.gmo): Don't move into source directory.
5587         (.po.pox): Clarify comments.
5588         (install-po): Look for .gmo files in both srcdir and objdir;
5589         don't fail if a file is totally missing.
5590         (distclean): rmdir ada subdirectory too.
5591
5592 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
5593
5594         * config/rs6000/rs6000.c (rs6000_select_section): Handle
5595         CONSTRUCTORs _correctly_.
5596
5597 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
5598
5599         * c-decl.c (delete_block): Remove.
5600         * c-tree.h (delete_block): Remove.
5601
5602 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
5603
5604         * cppexp.c (lex, parse_defined): Update warning about defined.
5605
5606 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
5607
5608         * config/rs6000/rs6000.c (rs6000_select_section): Handle
5609         CONSTRUCTORs too.
5610
5611 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
5612
5613         * config/arm/arm.c (arm_return_in_memory): Cope with
5614         int_size_in_bytes returning -1.
5615
5616         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
5617         DECL being NULL.
5618
5619 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
5620
5621         * Makefile.in (bb-reorder.o): Add dependency on cfglayout.h;
5622         remove unneeded dependencies;
5623         (cfglayout.o): New.
5624         * cfglayout.c, cfglayout.h: New files; break out from ...
5625         * bb-reorder.c: ... here; Remove unneeded includes;
5626
5627 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
5628
5629         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
5630
5631 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
5632
5633         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
5634         mode as well.  Do not explicitly create intermediate regs.
5635
5636 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5637
5638         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
5639         (common_section): Delete unused variable.
5640         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
5641         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
5642         * arm-protos.h (arm_poke_function_name, aof_add_import,
5643         aof_delete_import): Const-ify.
5644         * arm.c (legitimize_pic_address): Wrap variables in the macro
5645         controlling their usage.
5646         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
5647         (arm_poke_function_name, pic_chain, import, aof_add_import,
5648         aof_delete_import): Const-ify.
5649         * i386.c (ix86_osf_output_function_prologue): Const-ify.
5650         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
5651         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
5652         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
5653         * i860/sysv3.h: Add missing comment closure.
5654         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
5655         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
5656         to symbolic_operand.
5657
5658         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
5659         (i960-*-*): Set tmake_file.
5660         (sparc86x-*-elf*): Fix typo in header name.
5661
5662         * sched-rgn.c (schedule_insns): Delete unused variable.
5663
5664 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
5665
5666         PR c/2820
5667         * c-typeck.c (lookup_field): Rework to return a chain down to
5668         the looked-up field.
5669         (build_component_ref): Use the new lookup_field to handle
5670         nested anonymous entities correctly.
5671
5672 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5673
5674         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
5675         Change parameters to gen_rtx_CONST_DOUBLE.
5676         (GEN_INT64, sparc_emit_set_const64): Likewise.
5677         * config/sparc/sparc.md (movdf split): Likewise.
5678
5679 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
5680
5681         * unroll.c (calculate_giv_inc): Use find_last_value rather
5682         than just hoping the last instruction is the right SET.
5683         [Fixes 990604-1.c on stormy16.]
5684
5685         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
5686         library at all if -T is used.
5687
5688         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
5689         some uses of uninitialized variables in error cases.
5690
5691         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
5692         look at 'temp' if we won't be using it.
5693
5694         * config/stormy16/stormy16.h (CONST_COSTS): Define.
5695         (RTX_COSTS): Define.
5696         (ADDRESS_COST): Define.
5697         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
5698
5699         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
5700
5701         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
5702         stormy16_asm_output_mi_thunk.
5703         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
5704         function.
5705         * config/stormy16/stormy16-protos.h
5706         (stormy16_asm_output_mi_thunk): New prototype.
5707
5708 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
5709
5710         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
5711         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
5712         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
5713         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
5714         sched-int.h, toplev.c, config/alpha/alpha.c,
5715         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
5716         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
5717         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
5718         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
5719         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
5720         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
5721         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
5722
5723 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5724
5725         * Makefile.in (dbxout.o): Depend on function.h.
5726         * collect2.c (is_in_list): Hide unused function.
5727         * dbxout.c: Include function.h.
5728         (source_label_number, dbxout_source_line, dbxout_source_file,
5729         dbxout_function_end, dbxout_begin_function): Wrap/move inside
5730         macros controlling usage.
5731         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
5732         * output.h (exports_section): Prototype.
5733
5734         * convex.c (convex_output_function_prologue): Fix format specifier
5735         warning.
5736         (asm_declare_function_name): Fix signed/unsigned warning.
5737         (print_operand): Fix format specifier warning.
5738         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
5739         * dsp16xx-protos.h (uns_comparison_operator,
5740         num_1600_core_shifts): Prototype.
5741         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
5742         (frame_size, frame_pointer_offset): Delete.
5743         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
5744         Make static.  Fix format specifier warnings.
5745         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
5746         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
5747         * dsp16xx.md: Add default case in switches.
5748         * fr30.h (IN_RANGE): Delete.
5749         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
5750         * mcore-protos.h (mcore_output_cmov): Const-ify.
5751         * mcore.c (mcore_output_cmov): Likewise.
5752         * mcore.h (switch_to_section): Make static and prototype.
5753         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
5754         unsigned>=0 warnings.
5755         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
5756         * rs6000-protos.h (read_only_data_section,
5757         read_only_private_data_section): Prototype.
5758         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
5759         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
5760         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
5761
5762 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5763
5764         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
5765         ATTRIBUTE_UNUSED.
5766         * final.c (final_scan_insn): Add brackets around body of if-stmt.
5767         * gcc.c (convert_filename): Add static prototype.  Const-ify.
5768         Wrap variable in macros controlling its use.
5769         * output.h (sdata_section): Add prototype.
5770
5771         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
5772         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
5773         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
5774         (ASM_FILE_START): Const-ify.
5775         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
5776         specifier warning.
5777         * c4x.md: Don't use the 'U' integer suffix.
5778         * clipper.md (clipper_movstr): Delete declaration.
5779         * d30v-protos.h (d30v_move_2words): Const-ify.
5780         (debug_stack_info): Add prototype.
5781         * d30v.c: Include "integrate.h".
5782         (d30v_function_arg_boundary, d30v_function_arg,
5783         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
5784         signed/unsigned warnings.
5785         (d30v_print_operand_memory_reference, d30v_move_2words):
5786         Const-ify.
5787         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
5788         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
5789         * fr30.md: Const-ify.
5790         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
5791         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
5792         (mvs_get_label_page): Hide unused static function.
5793         * i860.c (current_function_original_name): Const-ify.
5794         * i860/sysv3.h (current_function_original_name): Likewise.
5795         * i860/sysv4.h (current_function_original_name): Likewise.
5796         * i960.md: Add default case in switches.  Remove unused variable.
5797         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
5798         * m32r.md: Const-ify.
5799         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
5800         * m68hc11.c: Include "reload.h".
5801         (static_chain_reg, print_options, m68hc11_asm_file_start):
5802         Const-ify.
5803         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
5804         around & in comparison.
5805         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
5806         * mn10200.c (shift_mode): Remove trailing comma.
5807         * mn10300-protos.h (output_tst): Const-ify.
5808         * mn10300.c (output_tst): Likewise.
5809         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
5810         warnings.
5811         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
5812         * pa.c (output_ascii): Likewise.
5813         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
5814         * pdp11.md (expand_unop): Delete declarations.
5815         * pj-protos.h (pj_output_addsi3): Const-ify.
5816         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
5817         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
5818         unique_src_operand): Add prototypes.
5819         (pj_output_store_into_lval): Make definition static.
5820         (pj_function_incoming_arg): Don't use unary plus.
5821         (pj_output_addsi3): Const-ify.
5822         * romp.md (get_symref): Delete declarations.
5823         * v850-c.c (mark_current_function_as_interrupt): Don't return
5824         value from void function.
5825         * v850.c: Include "integrate.h".
5826         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
5827         * vax-protos.h (const_section): Add prototype.
5828
5829 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
5830
5831         * machmode.def: Add documentation for the seventh argument in
5832         vector modes.
5833
5834 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
5835
5836         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
5837         consistently.
5838         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
5839         <-melf>: Don't have markup for ELF acronym.
5840
5841 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
5842
5843         * config.gcc (mmix-*-*): New target.
5844         * doc/invoke.texi: Document MMIX options.
5845         * doc/contrib.texi: Add note about MMIX port to my entry.
5846         * config/mmix/t-mmix: New file.
5847         * config/mmix/mmix.h: New file.
5848         * config/mmix/mmix-protos.h: New file.
5849         * config/mmix/mmix.c: New file.
5850         * config/mmix/mmix.md: New file.
5851         * config/mmix/crti.asm: New file.
5852         * config/mmix/crtn.asm: New file.
5853
5854 2001-11-03  Kazu Hirata  <kazu@hxi.com>
5855
5856         * config/sparc/linux-aout.h: Fix comment formatting.
5857         * config/sparc/linux.h: Likewise.
5858         * config/sparc/linux64.h: Likewise.
5859         * config/sparc/lynx.h: Likewise.
5860         * config/sparc/pbd.h: Likewise.
5861         * config/sparc/sol2-sld-64.h: Likewise.
5862         * config/sparc/sol2.h: Likewise.
5863         * config/sparc/sparc.c: Likewise.
5864         * config/sparc/sparc.h: Likewise.
5865         * config/sparc/sparc.md: Likewise.
5866         * config/sparc/sunos4.h: Likewise.
5867         * config/sparc/vxsim.h: Likewise.
5868         * config/sparc/vxsparc.h: Likewise.
5869         * config/sparc/vxsparc64.h: Likewise.
5870
5871 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5872
5873         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
5874         reference to CONST_DOUBLE_MEM in comment.
5875         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
5876         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
5877         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
5878         * function.c (pop_function_context_from): Don't call
5879         restore_varasm_status.
5880         * function.h (restore_varasm_status): Delete declaration.
5881         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
5882         * rtl.c: Likewise.
5883         * rtl.def (CONST_DOUBLE): Update comment.
5884         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
5885         (CONST_DOUBLE_CHAIN): Likewise.
5886         (CONST_DOUBLE_MEM): Delete.
5887         (gen_rtx_CONST_DOUBLE): Update parameters.
5888         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
5889         Remove reference to CONST_DOUBLE_MEM.
5890         (const_alias_set): New variable.
5891         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
5892         (immed_real_const_1): Adjust tests for 0, 1, and 2.
5893         Don't set CONST_DOUBLE_MEM.
5894         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
5895         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
5896         Put constant in const_alias_set.
5897         (struct pool_constant): ALIGN now unsigned.
5898         OFFSET now HOST_WIDE_INT.
5899         Delete LABEL.
5900         (restore_varasm_status): Deleted.
5901         (mark_pool_constant): Mark desc->rtl.
5902         (force_const_mem): Rework to store rtl in hash table,
5903         not CONST_DOUBLE_MEM.
5904         Put constant in const_alias_set.
5905         (find_pool_constant): Check desc->rtl.
5906         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
5907         (init_varasm_once): Initialize const_alias_set.
5908
5909         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
5910         force_const_mem.
5911
5912         * reload.c (combine_reloads): Don't combine an output reload if there
5913         are other reloads around for part of the output.
5914
5915         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
5916         constant expression.
5917         (set_mem_decl): New function.
5918         * expr.h (set_mem_decl): New declaration.
5919         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
5920         (output_asm_operand_names): Add tab.
5921         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
5922
5923         * builtins.c (get_memory_rtx): Properly set MEM alias set and
5924         attributes.
5925
5926 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
5927
5928         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
5929         Use "invalid" instead of "illegal".  Use @r in comments in
5930         examples.
5931
5932 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
5933
5934         * c-decl.c (pushdecl): Move block inside if conditional to remove
5935         possibility of a segfault.  Lookup block-level extern
5936         variables in enclosing scopes correctly.
5937
5938         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
5939
5940 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
5941
5942         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
5943         SUBREG so we avoid SUBREGing memory.
5944
5945         * expmed.c (store_bit_field): Same.
5946
5947 2001-11-02  DJ Delorie  <dj@redhat.com>
5948
5949         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
5950         using FP registers for DImode mem-mem moves is acceptable.
5951
5952 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
5953
5954         * builtins.c (apply_args_size): Handle vector arguments.
5955         (apply_result_size): Same.
5956
5957         * machmode.def: Set WIDER mode field for all vector entries.
5958
5959 2001-11-02  Graham Stott  <grahams@redhat.com>
5960
5961         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
5962
5963 2001-11-01  Eric Christopher  <echristo@redhat.com>
5964
5965         * config.gcc: Revert part of earlier patch.
5966         * config/mips/linux.h: Ditto.
5967         * df.c: Include tm_p.h to avoid warnings.
5968         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
5969         #if/#endif.
5970         * config/mips/mips.c: Define mips_abi regardless.
5971         (mips_output_function_prologues): Add long casts for .frame
5972         output.
5973         (override_options): Allow use of ABI_32.
5974
5975 2001-11-01  Kazu Hirata  <kazu@hxi.com>
5976
5977         * config/m68hc11/m68hc11.c: Fix comment formatting.
5978         * config/m68hc11/m68hc11.h: Likewise.
5979         * config/m68hc11/m68hc11.md: Likewise.
5980
5981 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
5982
5983         * c-typeck.c (default_conversion): Retain the original expression
5984         codes.
5985         * gcc.dg/Wparentheses.c: New tests.
5986
5987 2001-11-01  David S. Miller  <davem@redhat.com>
5988
5989         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
5990         64-bit Sparc description more in line with reality.
5991
5992 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
5993
5994         * Makefile.in (GCOV_OBJS): Add version.o.
5995         * gcov.c: Include "version.h" and <getopt.h>.
5996         (gcov_version_string): Remove.
5997         (print_usage): Take a parameter to determine whether this is a
5998         call from --help or an error message.  Give fuller output that
5999         follows the GNU Coding Standards for --help.
6000         (print_version): New function.
6001         (options): New.
6002         (process_args): Use getopt_long.  Support long options.  Follow
6003         GNU Coding Standards for --help and --version.
6004         * doc/gcov.texi: Document long options.
6005         Addresses part of PR other/704.
6006
6007 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6008
6009         * pa.c (output_move_double): Fix typo in double load.
6010
6011 2001-11-01  Kazu Hirata  <kazu@hxi.com>
6012
6013         * config/h8300/h8300.c (h8300_encode_label): Compute a string
6014         before passing it to ggc_alloc_string.
6015
6016 2001-11-01  Kazu Hirata  <kazu@hxi.com>
6017
6018         * config/m68k/3b1.h: Fix comment formatting.
6019         * config/m68k/3b1g.h: Likewise.
6020         * config/m68k/a-ux.h: Likewise.
6021         * config/m68k/amix.h: Likewise.
6022         * config/m68k/apollo68.h: Likewise.
6023         * config/m68k/atari.h: Likewise.
6024         * config/m68k/aux-exit.c: Likewise.
6025         * config/m68k/ccur-GAS.h: Likewise.
6026         * config/m68k/crds.h: Likewise.
6027         * config/m68k/dpx2.h: Likewise.
6028         * config/m68k/dpx2g.h: Likewise.
6029         * config/m68k/hp310.h: Likewise.
6030         * config/m68k/hp320.h: Likewise.
6031         * config/m68k/isi.h: Likewise.
6032         * config/m68k/linux.h: Likewise.
6033         * config/m68k/lynx.h: Likewise.
6034         * config/m68k/m68k-psos.h: Likewise.
6035         * config/m68k/m68k.c: Likewise.
6036         * config/m68k/m68k.h: Likewise.
6037         * config/m68k/m68k.md: Likewise.
6038         * config/m68k/m68kelf.h: Likewise.
6039         * config/m68k/m68kv4.h: Likewise.
6040         * config/m68k/mot3300.h: Likewise.
6041         * config/m68k/news.h: Likewise.
6042         * config/m68k/next.h: Likewise.
6043         * config/m68k/pbb.h: Likewise.
6044         * config/m68k/plexus.h: Likewise.
6045         * config/m68k/sgs.h: Likewise.
6046         * config/m68k/sun3.h: Likewise.
6047         * config/m68k/tower.h: Likewise.
6048         * config/m68k/vxm68k.h: Likewise.
6049
6050 2001-10-31  DJ Delorie  <dj@redhat.com>
6051
6052         * config/mips/mips.h (mips_cache_flush_func): Prototype.
6053         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
6054         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
6055         * config/mips/mips.c (mips_cache_flush_func): New.
6056         * doc/invoke.texi: Document the new options.
6057
6058 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
6059
6060         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
6061         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
6062
6063         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
6064
6065         * config/cris/cris.c: Include output.h after tree.h but before
6066         target.h.
6067
6068 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
6069
6070         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
6071         (INTL_SUBDIRS): Just intl.
6072         (.SUFFIXES): Add .gmo .po .pox.
6073         (native): Also depend on build-@POSUB@.
6074         (intl.all, intl.install): Depend on config.h and things it includes.
6075         (po-generated): New target; depend on c-parse.c and tradcif.c.
6076         (install-normal): Also depend on install-@POSUB@.
6077         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
6078         (build-, install-, build-po, update-po, install-po,
6079         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
6080
6081         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
6082         * configure.in: Don't munge XGETTEXT.  Don't generate
6083         po/Makefile.in.
6084         * configure: Regenerate.
6085
6086         * exgettext: Delete.
6087         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
6088         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
6089
6090 2001-10-31  Kazu Hirata  <kazu@hxi.com>
6091
6092         * config/h8300/h8300.md (two anonymous patterns): New.
6093
6094 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
6095
6096         * tree.h (tree_index): Add support for V16QI and V8HI.
6097         (V8HI_type_node): New.
6098         (V16QI_type_node): New.
6099
6100         * tree.c (build_common_tree_nodes_2): Same.
6101
6102         * c-common.c (type_for_mode): Same.
6103
6104 2001-10-31  Kazu Hirata  <kazu@hxi.com>
6105
6106         * config/i386/att.h: Fix comment formatting.
6107         * config/i386/beos-elf.h: Likewise.
6108         * config/i386/bsd.h: Likewise.
6109         * config/i386/bsd386.h: Likewise.
6110         * config/i386/crtdll.h: Likewise.
6111         * config/i386/cygwin.asm: Likewise.
6112         * config/i386/cygwin.h: Likewise.
6113         * config/i386/djgpp.h: Likewise.
6114         * config/i386/freebsd-aout.h: Likewise.
6115         * config/i386/freebsd.h: Likewise.
6116         * config/i386/gas.h: Likewise.
6117         * config/i386/i386-interix.h: Likewise.
6118         * config/i386/i386-protos.h: Likewise.
6119         * config/i386/i386.c: Likewise.
6120         * config/i386/i386.h: Likewise.
6121         * config/i386/i386.md: Likewise.
6122         * config/i386/i386elf.h: Likewise.
6123         * config/i386/interix.c: Likewise.
6124         * config/i386/isc.h: Likewise.
6125         * config/i386/isccoff.h: Likewise.
6126         * config/i386/iscdbx.h: Likewise.
6127         * config/i386/linux.h: Likewise.
6128         * config/i386/lynx.h: Likewise.
6129         * config/i386/mingw32.h: Likewise.
6130         * config/i386/netbsd-elf.h: Likewise.
6131         * config/i386/next.h: Likewise.
6132         * config/i386/osf1elf.h: Likewise.
6133         * config/i386/osfrose.h: Likewise.
6134         * config/i386/sco5.h: Likewise.
6135         * config/i386/seq-gas.h: Likewise.
6136         * config/i386/seq-sysv3.h: Likewise.
6137         * config/i386/sequent.h: Likewise.
6138         * config/i386/sol2.h: Likewise.
6139         * config/i386/sun386.h: Likewise.
6140         * config/i386/uwin.asm: Likewise.
6141         * config/i386/uwin.h: Likewise.
6142         * config/i386/vxi386.h: Likewise.
6143         * config/i386/win32.h: Likewise.
6144         * config/i386/winnt.c: Likewise.
6145         * config/i386/xm-cygwin.h: Likewise.
6146         * config/i386/xm-mingw32.h: Likewise.
6147
6148 2001-10-31  Kazu Hirata  <kazu@hxi.com>
6149
6150         * builtins.def: Fix comment typos.
6151         * config/alpha.c: Likewise.
6152         * config/arm/arm.c: Likewise.
6153         * config/avr/avr.h: Likewise.
6154         * config/d30v/d30v.c: Likewise.
6155         * config/d30v/d30v.h: Likewise.
6156         * config/d30v/d30v.md: Likewise.
6157         * config/dsp16xx/dsp16xx.c: Likewise.
6158         * config/fr30/fr30.c: Likewise.
6159         * config/fr30/fr30.md: Likewise.
6160         * config/i386/i386.c: Likewise.
6161         * config/i860/i860.c: Likewise.
6162         * config/i960/i960.c: Likewise.
6163         * config/ia64/ia64.c: Likewise.
6164         * config/mips/mips.c: Likewise.
6165         * config/pa/pa.c: Likewise.
6166         * config/rs6000/rs6000.c: Likewise.
6167         * config/s390/s390.c: Likewise.
6168         * config/sparc/sparc.c: Likewise.
6169
6170 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6171
6172         * config/mips/elf.h: Fix comment formatting.
6173         * config/mips/elf64.h: Likewise.
6174         * config/mips/iris5.h: Likewise.
6175         * config/mips/iris5gas.h: Likewise.
6176         * config/mips/iris6.h: Likewise.
6177         * config/mips/isa3264.h: Likewise.
6178         * config/mips/linux.h: Likewise.
6179         * config/mips/mips.c: Likewise.
6180         * config/mips/mips.h: Likewise.
6181         * config/mips/mips.md: Likewise.
6182         * config/mips/mips16.S: Likewise.
6183         * config/mips/netbsd.h: Likewise.
6184         * config/mips/osfrose.h: Likewise.
6185         * config/mips/r3900.h: Likewise.
6186         * config/mips/sni-svr4.h: Likewise.
6187         * config/mips/svr4-t.h: Likewise.
6188         * config/mips/ultrix.h: Likewise.
6189
6190 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
6191
6192         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
6193         when we update head->current.
6194
6195 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
6196
6197         * tree.c (id_string_size): Remove.
6198         (dump_tree_statistics): Update.
6199         * toplev.c (compile_file): If dumping stats, dump tree stats too.
6200
6201 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
6202
6203         * sched-rgn.c (schedule_insns): Fix comment.
6204
6205 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
6206
6207         * configure.in: Correct previous change: don't assume that
6208         gas's version number _isn't_ the last thing on the line, or
6209         isn't the only number on the line, either.
6210         * configure: Regenerate.
6211
6212 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6213
6214         * cfgcleanup.c: Fix a comment typo.
6215
6216 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6217
6218         * alias.c: Fix comment formatting.
6219         * recog.c: Likewise.
6220         * config/cris/cris.c: Likewise.
6221         * config/cris/cris.h: Likewise.
6222         * config/i960/i960.c: Likewise.
6223         * config/i960/i960.h: Likewise.
6224
6225 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6226
6227         * config/arm/arm.c: Fix a comment typo.
6228         * config/arm/arm.h: Likewise.
6229         * config/ia64/ia64.c: Likewise.
6230
6231 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
6232
6233         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
6234         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
6235         * rtl.h (set_unique_reg_note): Change return value.
6236         * gcse.c (try_replace_reg): Use set_unique_reg_note.
6237         * cse.c (cse_insn): Likewise.
6238         * expr.c (emit_move_insn): Likewise.
6239         * explow.c (force_reg): Likewise.
6240         * local-alloc (update_equiv_regs): Likewise.
6241         * loop.c (move_moveables, load_mems): Likewise.
6242         * reload (find_reloads): Likewise.
6243
6244 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
6245
6246         Localization fixes.
6247         * c-decl.c (parmlist_tags_warning, start_struct,
6248         check_for_loop_decls): Separate messages for struct, union and
6249         enum cases to allow for languages in which they have different
6250         genders.
6251         * c-format.c (scanf_flag_specs): Separate short and long name of
6252         the assignment suppression feature.
6253         (check_format_types): Localize "pointer" and "different types"
6254         strings.
6255         * c-lex.c (lex_number): Localize "an unsigned long int" and
6256         related strings.
6257         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
6258         warning message.
6259         * c-typeck.c (build_unary_up): Separate messages for increment and
6260         decrement cases to allow for languages in which they use different
6261         articles.  Localize the strings "increment" and "decrement" in one
6262         case.
6263
6264 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
6265
6266         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
6267         when no changes has been made.
6268
6269         * gcse.c (reg_set_bitmap): Turn into reg_set.
6270         (modify_mem_list_set, canon_modify_mem_list_set)
6271         (clear_modify_mem_tables, free_modify_mem_tables): New.
6272         (gcse_main); Use free_modify_mem_tables.
6273         (free_gcse_mem): Likewise; free the bitmaps.
6274         (alloc_gcse_main): Initialize the bitmaps.
6275         (canon_list_insert): Set canon_modify_mem_list_set.
6276         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
6277         (compute_hash_table): Use clear_modify_mem_tables.
6278         (reset_opr_set_tables): Likewise.
6279         (oprs_not_set_p): reg_set_bitmap is regset.
6280         (mark_set, mark_clobber): Likewise.
6281
6282         * df.h (DF_EQUIV_NOTES): New constant.
6283         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
6284         when asked for.
6285
6286         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
6287         (init_regions, schedule_insns): Conditionalize the checking
6288         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
6289
6290 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
6291
6292         * i386.md (movti_rex64 splitter): Fix condition.
6293
6294 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
6295
6296         * configure.in: Do not assume that gas's version number is the
6297         last thing on the first line of as --version output.
6298         * configure: Regenerate.
6299
6300         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
6301         MT_WARNING, MT_ERROR, MT_FATAL.
6302         (main): Call gcc_init_libintl.
6303         (v_message): Call gettext on msgid and "warning: "
6304         * tradcif.y: Include intl.h.
6305         (yyerror): Make parameter definition consistent with
6306         prototype.  Call gettext on msgid argument.
6307
6308 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6309
6310         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
6311         warnings.
6312
6313         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
6314
6315 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6316
6317         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
6318         before referencing it.
6319
6320 2001-10-26  DJ Delorie  <dj@redhat.com>
6321
6322         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
6323         override -G, and force -G0.
6324
6325 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
6326
6327         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
6328         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
6329         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
6330         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
6331
6332         * loop.h (struct induction): Rename ext_dependant to
6333         ext_dependent.
6334         * loop.c: Change all uses.
6335         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
6336         All callers changed.
6337         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
6338
6339 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
6340
6341         * c-parse.in (expr_no_commas, primary), c-typeck.c
6342         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
6343
6344 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
6345
6346         Undo assemble_name change in earlier patch.
6347
6348 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
6349
6350         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
6351         determining the type of the receiver, do not check that TREE_CODE
6352         of receiver is CALL_EXPR before calling receiver_is_class_object().
6353         (receiver_is_class_object): For the GNU runtime: recognize
6354         the case that the receiver is self in a class method context.
6355         Check that TREE_CODE of receiver is CALL_EXPR when checking that
6356         the receiver is a call to objc_get_class.
6357
6358 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6359
6360         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
6361
6362 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6363
6364         * Makefile.in (OBJS): Put all files in alphabetical order.
6365
6366         * dwarf2out.c (add_const_value_attribute): Fix error in last
6367         change.
6368
6369 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
6370
6371         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
6372         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
6373         fix warning.
6374         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
6375         (life_analysis): call purge_all_dead_edges after deleting noops.
6376         (delete_noop_move): Do not purge CFG.
6377         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
6378
6379 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
6380
6381         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
6382         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
6383         (ASM_GLOBALIZE_LABEL): Use assemble_name.
6384         (ASM_OUTPUT_COMMON): Likewise.
6385         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
6386         (rs6000_output_function_epilogue): Likewise.
6387         (output_mi_thunk): Fix typo.
6388         (rs6000_output_symbol_ref): Use assemble_name.
6389         (output_toc): Likewise.
6390         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
6391         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
6392         assemble_name calls STRIP_NAME_ENCODING.
6393         (ASM_OUTPUT_LABEL): Use assemble_name.
6394         (ASM_GLOBALIZE_LABEL): Likewise.
6395         (ASM_DECLARE_FUNCTION_NAME): Likewise.
6396         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
6397         (ASM_OUTPUT_LOCAL): Likewise.
6398
6399 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6400
6401         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
6402         (expand_builtin_apply, expand_builtin_return): Likewise.
6403         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
6404
6405 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
6406
6407         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
6408         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
6409         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
6410         configure, configure.in, except.c, except.h, flow.c, function.c,
6411         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
6412         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
6413         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
6414         unroll.c: Fix spelling errors.
6415
6416         * doc/extend.texi, doc/invoke.texi: Fix spelling.
6417
6418         * doc/gcc.texi: Document use of "dependent" and American spelling.
6419
6420 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
6421
6422         * expr.c (emit_group_load): Support CONCATs by storing them to memory
6423         and reloading.
6424
6425 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6426
6427         * expr.c (store_constructor_field): Only call adjust_address on MEM.
6428
6429 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
6430
6431         * genrecog.c (write_switch):  Output if before switch for
6432         DT_elt_zero_wide_safe.
6433
6434 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6435
6436         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
6437         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
6438         (FUNCTION_PROFILER): Const-ify.
6439         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
6440         (eliminate_constant_term, assemble_name, output_addr_const):
6441         Remove declarations.
6442         (ptr_half_pic_address_p, half_pic_hash): Prototype.
6443         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
6444         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
6445         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
6446         (half_pic_declare, half_pic_external): Const-ify.
6447         * toplev.c: Include "halfpic.h".
6448
6449 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
6450
6451         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
6452         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
6453         config/i386/i386.c, config/i386/i386-interix.h,
6454         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
6455         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
6456         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
6457         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
6458         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
6459         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
6460         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
6461         spelling errors.
6462
6463         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
6464         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
6465         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
6466         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
6467         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
6468         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
6469         system.h, toplev.c: Fix spelling errors.
6470
6471 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6472
6473         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
6474
6475         * dwarf2out.c (reg_number): Abort if pseudo.
6476         (reg_loc_descriptor): Return 0 if pseudo.
6477         (is_based_loc): Return 0 if pseudo.
6478         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
6479         recursive calls.
6480         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
6481         (loc_descriptor): Return 0 if can't find location and handle 0
6482         return from recursive calls.
6483         (loc_descriptor_from_tree): Likewise.
6484         Fix handling of indirect.
6485         Also return 0 for PLACEHOLDER_EXPR.
6486         Clean up COMPONENT_REF cases.
6487         (add_AT_location_descriptor): Simplify, but handle 0 return from
6488         loc_descriptor.
6489         (add_const_value_attribute): Avoid shift count warning.
6490         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
6491         Set comp_unit_die as context if not in function.
6492
6493         * config/mips/mips-protos.h: Break up long lines.
6494         Remove needless #ifdef/#endif blocks.
6495         Don't declare functions declared in file made by genpreds or recog.h.
6496         * config/mips/mips.c (mips_output_function_prologue): TSIZE
6497         is now HOST_WIDE_INT; delete unneeded casts.
6498         * config/mips/mips.h: Don't use #elif.
6499
6500         * expr.c (stor_constructor_field): Always call adjust_address.
6501         Copy TARGET before changing its alias set.
6502         (store_field): Likewise, for TO_RTX.
6503         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
6504         replacement.
6505         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
6506         (find_placeholder): Return 0 if can't find object.
6507         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
6508         returns 0.
6509
6510 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
6511
6512         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
6513
6514 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
6515
6516         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
6517         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
6518         (merge_blocks): Properly udpate life after making edge nonfallthru.
6519         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
6520
6521 2001-10-26  Kazu Hirata  <kazu@hxi.com>
6522
6523         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
6524
6525 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
6526
6527         * c-typeck.c (convert_arguments): When comparing for enumeral
6528         type equality, use TYPE_MAIN_VARIANT.
6529         * gcc.dg/Wconversion.c: New tests.
6530
6531 2001-10-26  Kazu Hirata  <kazu@hxi.com>
6532
6533         * s390/s390.c: Fix comment typos.
6534         * s390/s390.h: Likewise.
6535         * s390/s390.md: Likewise.
6536
6537 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
6538
6539         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
6540         (walk_tree): Use it for tail calls where appropriate.
6541
6542 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
6543
6544         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
6545         non-local label_refs.
6546
6547 2001-10-26  Kazu Hirata  <kazu@hxi.com>
6548
6549         * config/h8300/h8300.md (4 anonymous patterns): New.
6550
6551 2001-10-26  Kazu Hirata  <kazu@hxi.com>
6552
6553         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
6554         algorithm through the shift_info structure.
6555         (emit_a_shift): Update the use of get_shift_alg.
6556
6557 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
6558
6559         * sched-rgn.c: Remove bitset typedef.
6560         Change bitset to sbitmap in prototypes / variable types.
6561         Remove bbset_size.
6562         Remove edgeset_bits.
6563         Remove edgeset_size.
6564         s/BITSET_ADD/SET_BIT/g
6565         s/BITSET_INVERT/sbitmap_ones/g
6566         s/BITSET_INTER/sbitmap_a_and_b/g
6567         s/BITSET_UNION/sbitmap_a_or_b/g
6568         s/BITSET_DIFFER/sbitmap_difference/g
6569         s/bitset_member/TEST_BIT/g
6570         (BITSET_*): Removed.
6571         (bitset_member): Removed.
6572         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
6573         EXECUTE_IF_SET_IN_SBITMAP.
6574         (split_edges): Rewrite, use sbitmap functions instead of bitset
6575         operations.
6576         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
6577
6578 2001-10-26  Andreas Schwab  <schwab@suse.de>
6579
6580         * reload1.c (emit_input_reload_insns): Fix parens in last
6581         (undocumented) change that was supposed to change only whitespace.
6582
6583 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6584
6585         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
6586
6587         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
6588         ASM_OPERANDS.
6589
6590 2001-10-26  Andreas Jaeger  <aj@suse.de>
6591
6592         * flow.c (clear_log_links): Remove unused variable.
6593         * cfgcleanup.c (cleanup_cfg): Likewise.
6594
6595 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
6596
6597         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
6598         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
6599
6600 2001-10-26  Richard Henderson  <rth@redhat.com>
6601
6602         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
6603         rename PV_REG to R27_REG.
6604         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
6605         (REG_CLASS_FROM_LETTER): Update.
6606         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
6607         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
6608         (udivsi3, modsi3, umodsi3): Likewise.
6609         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
6610
6611 2001-10-26  Richard Henderson  <rth@redhat.com>
6612
6613         * cfg.c (clear_aux_for_blocks): Split out of ...
6614         (free_aux_for_blocks): here.
6615         (clear_aux_for_edges): Split from ...
6616         (free_aux_for_edges): here.
6617         * basic-block.h: Declare them.
6618         * lcm.c (compute_antinout_edge): Use them.
6619         (compute_laterin, compute_available, compute_nearerout): Likewise.
6620         (optimize_mode_switching): Likewise.
6621
6622 2001-10-26  Richard Henderson  <rth@redhat.com>
6623
6624         * Makefile.in (unstage*): Remove as, ld, collect-ld before
6625         moving everything back to the main build directory.
6626
6627 2001-10-26  Christopher Faylor  <cgf@redhat.com>
6628
6629         * config/i386/cygwin.h: Search target specific include directory, if
6630         appropriate.
6631
6632 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6633
6634         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
6635         of macro guards. Fix #endif comment.
6636
6637         * output.h (default_exception_section, default_eh_frame_section):
6638         Move prototypes outside of macro guard.
6639
6640         * crtstuff.c: Fix #endif comment.
6641
6642 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
6643
6644         * doc/md.texi (movMM): Clarify semantics of storing into a
6645         non-paradoxical SUBREG.
6646
6647 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
6648
6649         * langhooks.c (lang_hook_default_clear_binding_stack): New.
6650         (lang_hook_default_get_alias_set): Move next to other alias
6651         hooks.
6652         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
6653         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
6654         (LANG_HOOKS_INITIALIZER): Add it.
6655         * toplev.h (struct lang_hooks): Add clear_binding_stack.
6656         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
6657         instead of a loop calling poplevel.
6658
6659 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
6660
6661         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
6662         occurrences of #elif with #if...#endif.
6663
6664 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6665
6666         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
6667
6668 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6669
6670         * alias.c (can_address_p): No longer static.
6671         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
6672         Return 0 if all parameters are default values.
6673         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
6674         (adjust_address_1): Try harder to compute a size.
6675         * expr.c (expand_assignment, store_constructor): If can't address,
6676         set MEM_KEEP_ALIAS_SET_P.
6677         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
6678         (store_field): Likewise.
6679         (store_constructor): Simplify call to store_constructor_field.
6680         * expr.h (can_address_p): New declaration.
6681         * gensupport.c (gen_rtx_CONST_INT): New function.
6682         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
6683         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
6684         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
6685
6686         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
6687
6688 2001-10-24  Christopher Faylor  <cgf@redhat.com>
6689
6690         * config/i386/cygwin.h: Use proper path for mingw crt files when
6691         -mno-cygwin.
6692
6693 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6694
6695         * dwarf2out.c (file_info_cmp): Always return consistent results.
6696
6697 2001-10-24  Roger Sayle <roger@eyesopen.com>
6698
6699         * stmt.c (expand_end_case): Index jumptables from zero for
6700         suitably small values of minval.
6701
6702 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
6703
6704         * stor-layout.c (place_union_field): If any field was aligned with
6705         attribute aligned, set record type's TYPE_USER_ALIGN.
6706         (place_field): Likewise.
6707         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
6708         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
6709
6710 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
6711
6712         * c-common.h (struct c_common_identifier): Remove rid_code field.
6713         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
6714
6715         * c-typeck.c (constructor_designated): New local flag.
6716         (struct constructor_stack): Add "designated" field to match.
6717         (start_init): Clear it.
6718         (really_start_incremental_init, push_init_level): Push and
6719         clear it.
6720         (pop_init_level): Pop it.
6721         (set_designator): Set it.
6722
6723         (pop_init_level): Suppress "missing initializer" warnings if
6724         constructor_designated is true.
6725         (process_init_element): Suppress warning about union
6726         initialization under traditional C, if constructor_designated
6727         is true.
6728
6729 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6730
6731         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
6732         change.
6733
6734 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
6735
6736         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
6737
6738 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
6739
6740         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
6741         the node was already a set to a constant.
6742
6743 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6744
6745         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
6746         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
6747
6748 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6749
6750         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
6751         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
6752         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
6753         * s390.c (s390_final_chunkify): Don't use string concatenation.
6754         (s390_function_prologue, s390_function_epilogue): Const-ify.
6755         * s390.h (FUNCTION_PROFILER): Remove unused variable.
6756
6757 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
6758
6759         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
6760         prototypes.
6761
6762 2001-10-23  Stan Shebs  <shebs@apple.com>
6763
6764         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
6765         -traditional-cpp in first-stage compilation.
6766
6767 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6768
6769         * gensupport.c (target_flags): Add.
6770
6771 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
6772
6773         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
6774         if needed.
6775         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
6776         * except.c (expand_builtin_frob_return_addr): Likewise.
6777         (expand_builtin_eh_return): Likewise.
6778         * stmt.c (expand_computed_goto): Likewise.
6779         * explow.c (memory_address): Likewise.
6780         (allocate_dynamic_stack_space): Clean up predicate testing.
6781         (probe_stack_range): Convert SIZE to Pmode.
6782         * calls.c (rtx_for_function_call): Only call convert_memory_address
6783         if needed.
6784         Pass function call operand as ptr_mode, not Pmode.
6785         * expr.c (expand_assignment): Clean up calls to convert_memory
6786         address by only doing so when needed and making offsets Pmode.
6787         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
6788         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
6789         is in Pmode, not ptr_mode.
6790
6791 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6792
6793         * darwin-protos.h (constructor_section, destructor_section,
6794         mod_init_section, mod_term_section): Prototype.
6795         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
6796         Const-ify.
6797         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
6798         Likewise.
6799         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
6800         objc_section_init declaration.
6801         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
6802         (objc_section_init, try_section_alias): Make static.
6803         (alias_section): Make static and hide unused function.
6804         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
6805
6806 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6807
6808         * alias.c (can_address_p): Compnonents are not addressable if
6809         the containing type has alias set 0.
6810         (get_alias_set): Rework to use STRIP_NOPS.
6811         Only call front-end routine on object, type, or object with
6812         NOPs stripped, not inner values.
6813         Use language hook to call front-end routine.
6814         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
6815         (expand_builtin_apply): Call set_mem_align on MEMs we make.
6816         Don't pass alignment to emit_block_move.
6817         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
6818         (expand_builtin_memset): Likewise, but for clear_storage.
6819         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
6820         and remove C++ specific parts.
6821         * c-common.h (c_common_get_alias_set): Add declaration.
6822         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
6823         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
6824         (save_fixed_argument_area): Call set_mem_align.
6825         Remove alignment in call to emit_block_move.
6826         (emit_library_call_value_1, store_one_arg): Likewise.
6827         (target_for_arg): Remove; disabled long ago.
6828         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
6829         once and similar cleanups.
6830         (offset_address): Use proper introductory comment.
6831         * expr.c (emit_block_move): Use alignment from that of MEM args, not
6832         from explicit operand; all callers changed.
6833         (clear_storage): Likewise.
6834         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
6835         (store_field): Remove kludge on alias set used for to_rtx.
6836         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
6837         (expand_expr_unaligned): Call set_mem_attributes instead of
6838         set_mem_alias_set.
6839         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
6840         * function.c (assign_stack_temp_for_type): Set MEM alignment.
6841         (expand_function_end): Track MEM attributes of trampolines.
6842         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
6843         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
6844         attributes from original.
6845         * langhooks.c (lang_hook_default_get_alias_set): New function.
6846         (hook_get_alias_set_0): New function.
6847         * langhooks.h (hook_get_alias_set_0): New declaration.
6848         (lang_hook_default_get_alias_set): Likewise.
6849         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
6850         * reload1.c (alter_reg): Use adjust_address_nv.
6851         * rtl.c (get_mode_alignment): Moved to here.
6852         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
6853         change default if unknown from 1 to BITS_PER_UNIT.
6854         * stor-layout.c (get_mode_alignment): Remove from here.
6855         * toplev.h (struct lang_hoks): Add get_alias_set field.
6856         * tree.h (lang_get_alias_set): Delete declaration.
6857         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
6858         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
6859         (ix86_va_arg): Likewise.
6860         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
6861         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
6862         * config/sparc/sparc.c (sparc_va_arg): Likewise.
6863         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
6864         (expand_block_move_mem): Remove dead code.
6865
6866 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
6867
6868         * c-common.c (warn_div_by_zero): New.
6869         * c-common.h (warn_div_by_zero): New.
6870         * c-decl.c (c_decode_option): Take it on the command line.
6871         * c-typeck.c (build_binary_op): Warn about division by zero.
6872         * doc/invoke.texi: Document the new command line option, fix
6873         documentation of -Wmultichar.
6874         * testsuite/gcc.dg/divbyzero.c: New tests.
6875         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
6876
6877 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
6878
6879         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
6880
6881         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
6882         to avoid update_life_info call.
6883         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
6884         * cfgcleanup.c (bb_flags): New enum.
6885         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
6886         (notice_new_block, update_forwarder_flag): New functions.
6887         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
6888         (try_forward_edges): Likewise; update flags.
6889         (merge_blocks): Likewise.
6890         (outgoing_edges_match): Likewise.
6891         (try_crossjump_to_edge): Likewise.
6892         (try_optimize_cfg): Likewise; initialize and clear the flags;
6893         recompute life info if needed.
6894         (cleanup_cfg): No need to clear aux pointers.
6895
6896 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
6897
6898         * config/i386/i386.c (override_options): Default to minimum
6899         stack alignment when optimizing for code size.
6900         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
6901         change.
6902
6903         * config/i386/i386.c (override_options): Set upper limit of
6904         -mpreferred-stack-boundary to 12.
6905
6906 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
6907
6908         * recog.c (peephole2_optimize): Add default case to switch.
6909
6910 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
6911
6912         * doc/gcc.texi (Sending Patches): Remove.
6913
6914 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
6915
6916         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
6917         fields when comparing.
6918
6919 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6920
6921         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
6922         * arm.c (HOST_INT, HOST_UINT): Likewise.
6923
6924 2001-10-22  Stan Shebs  <shebs@apple.com>
6925
6926         * config/darwin-protos.h (darwin_exception_section): Declare.
6927         (darwin_eh_frame_section): Declare.
6928
6929 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
6930
6931         * i386.md (movti_rex64): Fix mode.
6932
6933 2001-10-22  Stan Shebs  <shebs@apple.com>
6934
6935         * target.h (struct gcc_target): Add asm_out.exception_section,
6936         asm_out.eh_frame_section.
6937         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
6938         (TARGET_ASM_EH_FRAME_SECTION): New.
6939         (TARGET_INITIALIZER): Update.
6940         * output.h (default_exception_section): Declare.
6941         (default_eh_frame_section): Declare.
6942         * dwarf2out.c: Include target.h.
6943         (output_call_frame_info): Call target hook for eh frames.
6944         (default_eh_frame_section): New function.
6945         * except.c: Include target.h.
6946         (output_function_exception_table): Call target hook for exception
6947         section.
6948         * varasm.c (default_exception_section): Rename from
6949         exception_section, remove EXCEPTION_SECTION macro.
6950
6951         * config/darwin.h (darwin_eh_frame_section): New function.
6952         (EXCEPTION_SECTION): Remove.
6953         (TARGET_ASM_EXCEPTION_SECTION): Define.
6954         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
6955         (nextstep_exception_section): New function.
6956         (nextstep_eh_frame_section): New function.
6957         (TARGET_ASM_EXCEPTION_SECTION): Define.
6958         (TARGET_ASM_EH_FRAME_SECTION): Define.
6959
6960         * config/pa/som.h (EXCEPTION_SECTION): Remove.
6961         (TARGET_ASM_EXCEPTION_SECTION): Define.
6962         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
6963         (EXCEPTION_SECTION): Remove.
6964         (TARGET_ASM_EXCEPTION_SECTION): Define.
6965         * config/stormy16/stormy16.h: Remove comments referencing
6966         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
6967
6968         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
6969         TARGET_ASM_EH_FRAME_SECTION.
6970
6971 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
6972
6973         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
6974         terms.
6975
6976         * c-format.c: Fix spelling typo in comment.
6977
6978         * sched-int.h: Fix typo in GCC preamble.
6979
6980 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
6981
6982         PR debug/4252
6983         * doc/invoke.texi: Remove references to -fdump-translation-unit.
6984
6985 2001-10-22  Richard Henderson  <rth@redhat.com>
6986
6987         * config/i386/i386.c (ix86_expand_clear): New.
6988         * config/i386/i386-protos.h: Declare it.
6989         * config/i386/i386.md (setcc peep2s): Use it.
6990         (movsi_xor): Unexport.
6991
6992 2001-10-22  Richard Henderson  <rth@redhat.com>
6993
6994         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
6995         free_EXPR_LIST_list for LOG_LINKS.
6996
6997 2001-10-21  Robert Lipe  <robertlipe@usa.net>
6998
6999         * config/i386/i386.c (sco_asm_named_section): Delete.
7000         (sco_asm_out_constructor): Delete.
7001         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
7002         (ASM_OUTPUT_DOUBLE_INT): Likewise.
7003         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
7004         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
7005         (EXCEPTION_SECTION): Delete EH scn renaming hack.
7006
7007 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7008
7009         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
7010         and/or fold extra calls into fewer ones.
7011         * collect2.c (dump_file): Likewise.
7012         * cppexp.c (parse_number): Likewise.
7013         * cpplex.c (_cpp_lex_direct): Likewise.
7014         * final.c (output_asm_insn, asm_fprintf): Likewise.
7015         * fix-header.c (inf_scan_ident, main): Likewise.
7016         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
7017         Likewise.
7018         * fold-const.c (real_hex_to_f): Likewise.
7019         * gen-protos.c (parse_fn_proto): Likewise.
7020         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
7021         * genrecog.c (change_state, write_action): Likewise.
7022         * gensupport.c (shift_output_template): Likewise.
7023         * local-alloc.c (requires_inout): Likewise.
7024         * mips-tfile.c (IS_ASM_IDENT): Likewise.
7025         * protoize.c (is_id_char, main): Likewise.
7026         * real.c (asctoeg): Likewise.
7027         * recog.c (asm_operand_ok): Likewise.
7028         * reload.c (find_reloads): Likewise.
7029         * scan.c (scan_identget_token): Likewise.
7030         * sched-vis.c (print_value): Likewise.
7031         * stringpool.c (ggc_alloc_string): Likewise.
7032         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
7033         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
7034         * tradcpp.c (rescan): Likewise.
7035         * tree.c (clean_symbol_name): Likewise.
7036         * varasm.c (decode_reg_name): Likewise.
7037
7038         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
7039         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
7040         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
7041         * m88k.c (output_ascii): Likewise.
7042         * m88k.h (OVERRIDE_OPTIONS): Likewise.
7043         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
7044         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
7045         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
7046
7047 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
7048
7049         * langhooks.c (lang_hook_default_do_nothing,
7050         lang_hook_default_decode_option): New defaults.
7051         * langhooks.h: Make hooks unconditional and non-NULL.
7052         * toplev.c (compile_file, toplev_main): Update.
7053         * toplev.h: Update comments.
7054         * objc/objc-act.c (lang_hooks): Update to new paradigm.
7055
7056 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7057
7058         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
7059
7060         * system.h (IN_RANGE): New macro.
7061
7062 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
7063
7064         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
7065         INTLDEPS variable, which does not include $LIBICONV.
7066         * Makefile.in: Use INTLDEPS in LIBDEPS.
7067         * configure: Regenerate.
7068
7069 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
7070
7071         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
7072         * cpplex.c (lex_percent, lex_dot): Remove.
7073         (get_effective_char, skip_block_comment, skip_line_comment,
7074         parse_identifier_slow, parse_number, parse_string, save_comment,
7075         _cpp_lex_direct): Update to do lookback freely.
7076         (IF_NEXT_IS, BACKUP): New macros.
7077         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
7078         * cppmacro.c (paste_tokens): Update.
7079
7080 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
7081
7082         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
7083
7084 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
7085
7086         * reload1.c (reload): Check CONSTANT_P before calling
7087         LEGITIMATE_PIC_OPERAND_P.
7088         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
7089         workaround of 2001-10-13.
7090
7091 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
7092
7093         * i386.c (split_di): Handle splitting of DFmode.
7094
7095 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7096
7097         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
7098         (adjust_address_1, offset_address): Likewise.
7099
7100         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
7101         (output_asm_insn): Call it for each line output.
7102         Don't record an operand more than once.
7103
7104         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
7105         * main.c: Include config.h and system.h, but not ansidecl.h.
7106         * Makefile.in (main.o): Update accordingly.
7107
7108 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
7109
7110         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
7111
7112 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
7113
7114         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
7115         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
7116         Break out from ...
7117         (find_sub_basic_blocks): ... here;
7118         (find_many_sub_basic_blocks): New.
7119         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
7120
7121         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
7122
7123         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
7124
7125         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
7126
7127         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
7128         * flow.c (update_life_info): Measure time.
7129         * c-decl.c: Include timevar.h
7130         (c_expand_body): Measure time.
7131         * toplev.c (rest_of_compilation): Measure time of mode switching
7132         separately.
7133         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
7134
7135         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
7136         (lang_independent_options): Add asynchronous-unwind-tables
7137         (toplev_main): flag_asynchronous_unwind_tables implies
7138         flag_unwind_tables.
7139         * flags.h (flag_asynchronous_unwind_tables): Declare.
7140         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
7141         flag_asynchronous_unwind_tables.
7142         (output_call_frame_info): Likewise.
7143         * invoke.texi (-fasynchronous-unwind-tables): Document.
7144         * i386.c (optimization_options): Enable
7145         flag_asynchronous_unwind_tables.
7146
7147         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
7148         * i386.md (s* expanders): Destination is QImode.
7149
7150         * toplev.c (rest_of_compilation): Do not call clear_log_links.
7151         * rtl.h (clear_log_links): Kill.
7152         * flow.c (clear_log_links): Make static; accept blocks parameter;
7153         do no clear life info.
7154         (update_life_info): Call clear_log_links.
7155
7156         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
7157
7158 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
7159
7160         * cpplex.c (handle_newline, skip_escaped_newlines,
7161         get_effective_char, skip_block_comment, skip_line_comment,
7162         parse_identifier_slow, parse_number, parse_string,
7163         _cpp_lex_direct): Update to do more stepping back.
7164         (trigraph_ok): Similarly.  Rename trigraph_p.
7165         (SAVE_STATE, RESTORE_STATE): Remove.
7166         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
7167
7168         * cpplib.c (destringize): Rename destringize_and_run, and
7169         call run_directive directly.
7170         (_cpp_do__Pragma): Simplify.
7171
7172 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7173
7174         * pe.c (arm_pe_unique_section): Const-ify.
7175         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
7176         (switch_to_section): Add static prototype.
7177
7178         * output.h (drectve_section): Prototype.
7179
7180 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7181
7182         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
7183         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
7184         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
7185         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
7186         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
7187         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
7188         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
7189         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
7190         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
7191         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
7192         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
7193         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
7194         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
7195         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
7196         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
7197         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
7198         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
7199         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
7200         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
7201         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
7202         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
7203         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
7204         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
7205         cris-*-none, cris-*-linux*: Update ${tmfile} list.
7206         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
7207         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
7208         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
7209         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
7210         v850-*-*): Delete superflous ${cpu_type} setting.
7211         * config/linux.h: Delete svr4.h include.
7212         (SET_ASM_OP): Delete.
7213         * config/netware.h (INT_ASM_OP): Undef before define.
7214         * config/ptx4.h: Delete elfos.h include.
7215         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
7216         * config/svr4.h: Delete elfos.h include. Update commentary.
7217         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
7218         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
7219         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
7220         config/v850/v850.h: Delete svr4.h include.
7221         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
7222         config/m68k/m68kv4.h, config/m88k/sysv4.h,
7223         config/sparc/sysv4.h: Update includes.
7224         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
7225         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
7226         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
7227         config/m88k/dguxbcs.h: Delete includes.
7228         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
7229         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
7230         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
7231         it.
7232         * config/m88k/dgux.h: Delete include.
7233         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
7234         defining it.
7235         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
7236         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
7237         * config/sh/elf.h: Update include.
7238         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
7239         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
7240
7241 2001-10-19  Catherine Moore  <clm@redhat.com>
7242
7243         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
7244         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
7245         base and count fields.
7246         (stormy16_expand_builtin_va_start):  last_reg_count changed to
7247         size_of_reg_args.  Use count + size in first comparison.
7248
7249 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7250
7251         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
7252         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
7253         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
7254         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
7255         Set alignment from type if INDIRECT_REF.
7256         (adjust_address_1, offset_address): Simplify alignment compuitation.
7257         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
7258         here; done by set_mem_attributes.
7259
7260 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7261
7262         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
7263         * arm-protos.h (rdata_section, zero_init_section, common_section):
7264         Prototype.
7265         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
7266         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
7267         traditional mode stringification.
7268         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
7269         in macros controling its use.
7270         * rtlanal.c: Include tm_p.h.
7271         * varasm.c (asm_output_aligned_bss): Mark parameter with
7272         ATTRIBUTE_UNUSED.
7273         (assemble_constant_align, assemble_start_function, assemble_align,
7274         assemble_variable, assemble_trampoline_template,
7275         output_constant_def_contents): Wrap potentially empty if-stmt body
7276         in brackets.
7277
7278 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7279
7280         * a29k-protos.h (literal_section): Prototype.
7281         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
7282         * a29k.md: Ensure function pointers are prototyped.
7283         * genattrtab.c (write_eligible_delay): Mark parameter with
7284         ATTRIBUTE_UNUSED.
7285
7286 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7287
7288         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
7289         * 1750a.c (print_operand): Fix format specifier warning.
7290         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
7291         * 1750a.md: Likewise.
7292         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
7293         * genemit.c (output_add_clobbers): Mark parameter with
7294         ATTRIBUTE_UNUSED.
7295         * genrecog.c (write_subroutine): Likewise.
7296         * integrate.c (expand_inline_function): Delete unused variable.
7297         * varasm.c (remove_from_pending_weak_list): Wrap with
7298         ASM_WEAKEN_LABEL.
7299
7300 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
7301
7302         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
7303         field is different to previous argument's neg field.
7304
7305         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
7306
7307 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7308
7309         * final.c (get_decl_from_op): New function.
7310         (output_asm_insn): Call it; write "*" when item with decl is address.
7311
7312 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
7313
7314         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
7315         about 64-bit support from the 3.0_branch version.
7316
7317 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
7318
7319         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
7320         USE_INCLUDED_LIBINTL when appropriate.
7321         * configure, config.in: Regenerate.
7322         * Makefile.in (datadir): Set to @datadir@.
7323         (intl.o): Also depend on $(CONFIG_H) and system.h.
7324
7325         * intl.c: Factor out common gettext initialization sequence.
7326         (gcc_init_libintl):  New function.
7327         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
7328         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
7329         off NLS.  Add multiple include guard.  No need to #ifdef-guard
7330         an #undef.  Prototype gcc_init_libintl here.
7331
7332         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
7333         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
7334         Use gcc_init_libintl.
7335
7336 2001-10-19  Catherine Moore  <clm@redhat.com>
7337
7338         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
7339
7340         * config/stormy16/stormy16.c (stormy16_split_move):  Make
7341         sure that REG_INC notes are present for auto_inc operands.
7342
7343 2001-10-19  Andreas Jaeger  <aj@suse.de>
7344
7345         * configure: Regenerated.
7346         * configure.in: Add x86_64 to switch statements.
7347
7348 2001-10-18  Richard Henderson  <rth@redhat.com>
7349
7350         * config/alpha/alpha.md (sibcall_osf_1): Load destination
7351         address into $27 explicitly.
7352         (sibcall_value_osf_1): Likewise.
7353
7354 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7355
7356         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
7357         (offset_address): New function.
7358         (free_emit_status): Free regno_decl.
7359         (init_emit): Pass proper number of elements to xcalloc.
7360         Allocate regno_decl.
7361         (mark_emit_status): Mark regno_decl values.
7362         * expr.c (highest_pow2_factor): New function.
7363         (expand_assigment): Use it and offset_address.
7364         Properly handle ptr_mode vs. Pmode in offset calculation.
7365         (store_constructor, expand_expr_unaligned): Likewise.
7366         (expand_expr, case COMPONENT_EXPR): Likewise.
7367         * expr.h (offset_address): New decl.
7368         * function.h (struct emit_status): Add regno_decl.
7369         (REGNO_DECL): New macro.
7370         * final.c (output_asm_name): Move in file and don't conditionalize
7371         on flag_print_asm_name.
7372         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
7373         Output names of operands, if known.
7374         * function.c (assign_parms): Set REGNO_DECL.
7375         * integrate.c (integrate_decl_tree): Likewise.
7376         * stmt.c (expand_decl): Likewise.
7377         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
7378
7379 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
7380
7381         * attribs.c (handle_noinline_attribute): New function.
7382         (handle_used_attribute): Likewise.
7383         (c_common_attribute_table): Added noinline and used.
7384         * doc/extend.texi (Function Attributes): Document them.
7385         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
7386         Warn when merging inline with attribute noinline.
7387         (start_decl, start_function): Warn if inline and attribute
7388         noinline appear in the same declaration.
7389
7390 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
7391
7392         * config.gcc: Update c4x and i370 for C front end-specific
7393         dependencies.
7394         * config/c4x/c4x-c.c: New.
7395         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
7396         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
7397         New declarations.
7398         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
7399         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
7400         Make extern.
7401         (c4x_init_pragma): Remove.
7402         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
7403         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
7404         c4x_pr_ignored): Move to c4x-c.c.
7405         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
7406         * config/c4x/t-c4x: Update.
7407         * config/i370/i370-c.c: New.
7408         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
7409         (i370_pr_map): Move to i370-c.c.
7410         * config/i370/t-i370: New.
7411
7412         * doc/tm.texi: Update.
7413
7414 2001-10-17  Stan Shebs  <shebs@apple.com>
7415
7416         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
7417         typo fixes throughout.
7418         (machopic_output_stub): Remove some dead code.
7419
7420 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
7421
7422         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
7423         leak.
7424
7425 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7426
7427         * Makefile.in (print-rtl.o): Depend on TREE_H.
7428         * alias.c (get_alias_set): Make two passes over objects to first
7429         see if inner object is access via restricted pointer.
7430         Defer allocating alias set for restricted pointer until here.
7431         Call find_placeholder with second arg nonzero.
7432         Minor cleanups.
7433         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
7434         set for restricted pointer types.
7435         * emit-rtl.c (set_mem_attributes): Set more attributes.
7436         (set_mem_align, change_address, adjust_address_1): New functions.
7437         (change_address_1): Now static.
7438         (adjust_address, adjust_address_nv): Deleted.
7439         (replace_equiv_address): Call change_address_1.
7440         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
7441         (find_placeholder): Get starting point from PLIST arg.
7442         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
7443         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
7444         (adjust_address, adjust_address_nv): New macros.
7445         * print-rtl.c (tree.h): New include.
7446         (print_rtx, case MEM): Print all memory attributes.
7447
7448 2001-10-17  Richard Henderson  <rth@redhat.com>
7449
7450         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
7451
7452 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7453
7454         * c-tree.texi: Eliminate duplicated word.
7455         * cpp.texi: Likewise.
7456         * install.texi: Likewise.
7457         * invoke.texi: Likewise.
7458         * tm.texi: Likewise.
7459
7460 2001-10-17  Michael Collison  <collison@isisinc.net>
7461
7462         * dsp16xx.c: Fix comment formatting to match GNU standards.
7463         (dsp16xx_output_function_prologue): Change type of 'size'
7464         parameter from 'int' to HOST_WIDE_INT.
7465         (dsp16xx_output_function_epilogue): Change type of 'size'
7466         parameter from 'int' to HOST_WIDE_INT.
7467
7468 2001-10-16  Richard Henderson  <rth@redhat.com>
7469
7470         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
7471         * configure, config.in: Rebuild.
7472
7473         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
7474         (ix86_output_addr_diff_elt): New.
7475         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
7476         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
7477         (JUMP_TABLES_IN_TEXT_SECTION): New.
7478         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
7479         * config/i386/i386-protos.h: Update.
7480
7481         * config/i386/386bsd.h, config/i386/beos-elf.h,
7482         config/i386/freebsd-aout.h, config/i386/freebsd.h,
7483         config/i386/i386-interix.h, config/i386/i386elf.h,
7484         config/i386/linux.h, config/i386/netbsd-elf.h,
7485         config/i386/netbsd.h, config/i386/openbsd.h,
7486         config/i386/ptx4-i.h, config/i386/rtemself.h,
7487         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
7488         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
7489
7490 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
7491
7492         * stmt.c (expand_asm_operands): Update commentary.
7493
7494 2001-10-16  Stan Shebs  <shebs@apple.com>
7495
7496         * config/darwin.h (GCC_NAME): Remove, no longer used.
7497         (NO_MATH_LIBRARY): Ditto.
7498         (MATH_LIBRARY): Define to emptiness.
7499         (DWARF2_DEBUGGING_INFO): Define.
7500         (PREFERRED_DEBUGGING_TYPE): Define.
7501         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
7502         (EXCEPTION_SECTION): Define.
7503         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7504         * config/darwin.c (darwin_encode_section_info): Handle case of
7505         DECL_INITIAL being error_mark_node.
7506
7507 2001-10-16  Richard Henderson  <rth@redhat.com>
7508
7509         * alpha.c (current_file_function_operand): Don't fail for profiling.
7510         (direct_call_operand): New.
7511         * alpha-protos.h: Declare it.
7512         * alpha.h (EXTRA_CONSTRAINT): Use it.
7513         (PREDICATE_CODES): Add it.
7514         (ASM_OUTPUT_MI_THUNK): Remove.
7515         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
7516         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
7517
7518 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
7519
7520         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
7521         (JUMP_TABLES_IN_TEXT_SECTION): Define.
7522
7523 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
7524
7525         * cfg.c (free_edge): Break out from ....
7526         (remove_edge): ... here.
7527         (clear_edges): Use free_edge.
7528
7529         * att.h (ASM_QUAD): Add comment.
7530         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
7531
7532 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
7533
7534         * i386.c (split_ti): New function.
7535         (ix86_split_to_parts): Support TImodes.
7536         * i386.h (VALID_INT_MODE_P): Add TImode.
7537         * i386.md (movdi splitter): Fix.
7538         (movti): Support 64bit integer registers.
7539         (movti_rex64): New function and splitter.
7540
7541         * i386.c (*_cost): Add movsx/movzx cost.
7542         * i386.h (struct processor_costs): Add movsx/movzx fields.
7543         (RTX_COSTS): Handle zero/sign extend + avoid believing that
7544         64bit operations require split on 64bit machine.
7545         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
7546
7547         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
7548         (ix86_expand_move): Avoid pushes of memory if size does not match;
7549         move long constants to register.
7550         (x86_initialize_trampoline): Fix mode.
7551         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
7552         Use ASM_QUAD on 64bit.
7553         * i386.md (test pattern): Disallow impossible constants.
7554         (tablejump PIC expander): Fix emitting of sum.
7555         (movdicc_rex64): Rename to movdicc.
7556         * linux64.h (LINK_SPEC): Add missing '%'.
7557
7558 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
7559
7560         * tree-inline.c (inlinable_function_p): Leave it up to the
7561         front-end to turn -finline-functions into DECL_INLINE set for all
7562         functions.
7563
7564 2001-10-16  Stan Shebs  <shebs@apple.com>
7565
7566         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
7567
7568 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
7569
7570         * recog.c: Formatting and comment typo fixes.
7571
7572         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
7573         version in single tree build.
7574         * configure: Regenerate.
7575
7576 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
7577
7578         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
7579         MODE arguments to gen_rtx and compare operand with const0_rtx.
7580
7581 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
7582
7583         * system.h: Poison old unused target macros.
7584         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
7585         * config/stormy16/stormy16.c: Update references to obsolete macros.
7586         * config/stormy16/stormy16.h: Similarly.
7587         * config/stormy16/stormy16.md: Similarly.
7588         * config/cris/cris.h: Similarly.
7589
7590 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
7591
7592         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
7593         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
7594         cpp_register_pragma): Update accordingly.
7595
7596 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
7597
7598         * c-pragma.h (cpp_register_pragma_space): Remove.
7599         * cpplib.h (cpp_register_pragma_space): Remove.
7600         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
7601         (cpp_register_pragma_space): Remove.
7602         (cpp_register_pragma): Simplify using lookup_pragma_entry,
7603         add sanity checks.
7604         (do_pragma): Similarly.
7605         (_cpp_init_internal_pragmas): Don't register namespaces.
7606
7607         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
7608         Don't register namespaces.
7609         * cp/lex.c (init_cp_pragma): Similarly.
7610         * doc/tm.texi: Update.
7611
7612 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
7613
7614         PR c/4157
7615         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
7616
7617 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
7618
7619         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
7620         add scheduling support.
7621         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
7622         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
7623         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
7624
7625
7626 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
7627
7628         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
7629         missing CONSTANT_P test in core GCC.
7630
7631 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
7632
7633         * cppmain.c (struct printer): New member source.
7634         (scan_translation_unit): Fix spacing at start of lines.
7635         (cb_line_change): Update.
7636
7637         * gcc.dg/cpp/spacing2.c: New test.
7638
7639 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
7640
7641         * config/cris/arit.c: Use __builtin_labs, not abs.
7642
7643         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
7644
7645         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
7646         misplaced sprintf and fprintf argument.
7647
7648 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
7649
7650         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
7651         * configure.in, Makefile.in: Take out obsolete check-po logic.
7652         * configure, config.in: Regenerate.
7653
7654 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
7655
7656         * objc/objc-act.c (finish_objc): Correct precondition for emitting
7657         symtab declarations.
7658
7659 2001-10-12  Stan Shebs  <shebs@apple.com>
7660
7661         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
7662         declarations of arguments and local variables.
7663
7664 2001-10-12  Christopher Faylor  <cgf@redhat.com>
7665
7666         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
7667         ENDFILE_SPEC definition.
7668
7669 2001-10-12  Kazu Hirata  <kazu@hxi.com>
7670
7671         * gthr-dce.h: Fix comment formatting.
7672         * gthr-posix.h: Likewise.
7673         * gthr-single.h: Likewise.
7674         * gthr-solaris.h: Likewise.
7675         * gthr-vxworks.h: Likewise.
7676         * gthr-win32.h: Likewise.
7677
7678 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
7679
7680         * final.c (output_asm_insn): Make sure assembly dialects are
7681         terminated, not nested.  Output `|' and `}' characters if they
7682         don't appear inside assembly dialect selection.
7683         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
7684         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
7685         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
7686         strsetsi_rex_1): Add {} braces.
7687
7688 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
7689
7690         * toplev.c (compile_file): Ignore return value from yyparse.
7691         Always pop any nested binding levels after yyparse returns.
7692
7693 2001-10-11  Richard Henderson  <rth@redhat.com>
7694
7695         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
7696
7697 2001-10-11  Richard Henderson  <rth@redhat.com>
7698
7699         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
7700         fall back to add_AT_long_long for large CONST_INT.
7701
7702 2001-10-11  Richard Henderson  <rth@redhat.com>
7703
7704         * config/i386/i386.md (setcc splitters): Add four splitters to
7705         simplify compound compares that simplify_comparison can't handle.
7706
7707 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
7708
7709         * cpplex.c (digraph_spellings, token_spellings): Make static.
7710
7711 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7712
7713         * unroll.c (loop_iterations): Fixup last patch.
7714
7715 2001-10-11  Richard Henderson  <rth@redhat.com>
7716
7717         * rtl.h (REG_VTABLE_REF): New.
7718         * rtl.c (reg_note_name): Add it.
7719         * combine.c (distribute_notes): Handle it.
7720         * final.c (final_scan_insn): Handle it.
7721         * tree.def (VTABLE_REF): New.
7722         * expr.c (expand_expr): Handle it.
7723         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
7724         * output.h: Declare them.
7725
7726 2001-10-11  Richard Henderson  <rth@redhat.com>
7727
7728         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
7729         for a DECL_INITIAL.
7730
7731 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
7732
7733         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
7734         available in 64-bit mode.
7735
7736 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
7737
7738         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
7739         cris-*-linux* cases.
7740         * config/cris/cris-protos.h: New file.
7741         * config/cris/cris.c: New file.
7742         * config/cris/cris.h: New file.
7743         * config/cris/cris.md: New file.
7744         * config/cris/linux.h: New file.
7745         * config/cris/aout.h: New file.
7746         * config/cris/arit.c: New file.
7747         * config/cris/cris_abi_symbol.c: New file.
7748         * config/cris/mulsi3.asm: New file.
7749         * config/cris/t-aout: New file.
7750         * config/cris/t-cris: New file.
7751         * config/cris/t-elfmulti: New file.
7752         * config/cris/t-linux: New file.
7753         * doc/invoke.texi: Add CRIS options.
7754         * doc/install.texi (Specific): Add blurb for CRIS.
7755
7756 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
7757
7758         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
7759         before using it.
7760         * config/float/i32.h: Likewise.
7761         * config/float-i386.h: Likewise.
7762         * config/float-i64.h: Likewise.
7763         * config/float-m68k.h: Likewise.
7764         * config/float-sh.h: Likewise.
7765         * config/float-sparc.h: Likewise.
7766
7767 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
7768
7769         * doc/contrib.texi: Add note about CRIS port to my entry.
7770
7771 2001-10-11  Kazu Hirata  <kazu@hxi.com>
7772
7773         * basic-block.h: Fix formatting.
7774         * bitmap.h: Likewise.
7775         * cpplib.h: Likewise.
7776         * c-tree.h: Likewise.
7777         * diagnostic.h: Likewise.
7778         * flags.h: Likewise.
7779         * ggc.h: Likewise.
7780         * longlong.h: Likewise.
7781         * real.h: Likewise.
7782         * reload.h: Likewise.
7783         * rtl.h: Likewise.
7784         * tree.h: Likewise.
7785
7786 2001-10-10  Richard Henderson  <rth@redhat.com>
7787
7788         * c-parse.in (asm_operand): Allow named operands.
7789         * genconfig.c (max_recog_operands): Set to 29.
7790         * local-alloc.c (requires_inout): Skip multiple digits.
7791         * recog.c (asm_operand_ok): Likewise.
7792         (preprocess_constraints): Use strtoul for matching constraints.
7793         (constrain_operands): Likewise.
7794         * regmove.c (find_matches): Likewise.
7795         * reload.c (find_reloads): Likewise.
7796         * stmt.c (parse_output_constraint): Don't reject in-out
7797         constraint on operands > 9.  Reject '[' in constraint.
7798         (expand_asm_operands): Handle named operands.  Use strtoul
7799         for matching constraints.
7800         (check_operand_nalternatives): Split out from expand_asm_operands.
7801         (check_unique_operand_names): New.
7802         (resolve_operand_names, resolve_operand_name_1): New.
7803
7804         * doc/extend.texi (Extended Asm): Document named operands.
7805         * doc/md.texi (Simple Constraints): Document matching constraints
7806         on operands > 9.
7807
7808 2001-10-10  Richard Henderson  <rth@redhat.com>
7809
7810         * combine.c (try_combine): Handle a SEQUENCE of one insn.
7811
7812         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
7813         (jcc splitters): Add two splitters to simplify compound compares
7814         that simplify_comparison can't handle.
7815
7816 2001-10-10  Richard Henderson  <rth@redhat.com>
7817
7818         * langhooks.c: Include langhooks.h.
7819         * Makefile.in (langhooks.o): Depend on it.
7820
7821 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
7822
7823         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
7824         should not be considered as a no-op.
7825         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
7826
7827 2001-10-10  Stan Shebs  <shebs@apple.com>
7828
7829         * alias.c: Remove uses of "register" specifier in declarations
7830         of arguments and local variables.
7831         * c-common.c: Ditto.
7832         * c-convert.c: Ditto.
7833         * c-decl.c: Ditto.
7834         * c-format.c: Ditto.
7835         * c-semantics.c: Ditto.
7836         * c-typeck.c: Ditto.
7837         * caller-save.c: Ditto.
7838         * calls.c: Ditto.
7839         * cfg.c: Ditto.
7840         * cfgbuild.c: Ditto.
7841         * cfgrtl.c: Ditto.
7842         * collect2.c: Ditto.
7843         * combine.c: Ditto.
7844         * convert.c: Ditto.
7845         * cppexp.c: Ditto.
7846         * cppfiles.c: Ditto.
7847         * cse.c: Ditto.
7848         * dbxout.c: Ditto.
7849         * defaults.h: Ditto.
7850         * df.c: Ditto.
7851         * dwarf2out.c: Ditto.
7852         * dwarfout.c: Ditto.
7853         * emit-rtl.c: Ditto.
7854         * explow.c: Ditto.
7855         * expmed.c: Ditto.
7856         * expr.c: Ditto.
7857         * final.c: Ditto.
7858         * fix-header.c: Ditto.
7859         * floatlib.c: Ditto.
7860         * flow.c: Ditto.
7861         * fold-const.c: Ditto.
7862         * function.c: Ditto.
7863         * gcc.c: Ditto.
7864         * gcse.c: Ditto.
7865         * gen-protos.c: Ditto.
7866         * genattrtab.c: Ditto.
7867         * gencheck.c: Ditto.
7868         * genconfig.c: Ditto.
7869         * genemit.c: Ditto.
7870         * genextract.c: Ditto.
7871         * genflags.c: Ditto.
7872         * gengenrtl.c: Ditto.
7873         * genoutput.c: Ditto.
7874         * genpeep.c: Ditto.
7875         * genrecog.c: Ditto.
7876         * gensupport.c: Ditto.
7877         * global.c: Ditto.
7878         * gmon.c: Ditto.
7879         * graph.c: Ditto.
7880         * haifa-sched.c: Ditto.
7881         * hard-reg-set.h: Ditto.
7882         * hash.c: Ditto.
7883         * integrate.c: Ditto.
7884         * jump.c: Ditto.
7885         * lists.c: Ditto.
7886         * local-alloc.c: Ditto.
7887         * loop.c: Ditto.
7888         * mips-tdump.c: Ditto.
7889         * mips-tfile.c: Ditto.
7890         * optabs.c: Ditto.
7891         * prefix.c: Ditto.
7892         * print-rtl.c: Ditto.
7893         * read-rtl.c: Ditto.
7894         * real.c: Ditto.
7895         * recog.c: Ditto.
7896         * reg-stack.c: Ditto.
7897         * regclass.c: Ditto.
7898         * regmove.c: Ditto.
7899         * reload.c: Ditto.
7900         * reload1.c: Ditto.
7901         * reorg.c: Ditto.
7902         * resource.c: Ditto.
7903         * rtl.c: Ditto.
7904         * rtlanal.c: Ditto.
7905         * scan.c: Ditto.
7906         * sched-deps.c: Ditto.
7907         * sched-rgn.c: Ditto.
7908         * sdbout.c: Ditto.
7909         * simplify-rtx.c: Ditto.
7910         * stmt.c: Ditto.
7911         * stor-layout.c: Ditto.
7912         * toplev.c: Ditto.
7913         * tradcif.y: Ditto.
7914         * tradcpp.c: Ditto.
7915         * tree.c: Ditto.
7916         * unroll.c: Ditto.
7917         * varasm.c: Ditto.
7918         * xcoffout.c: Ditto.
7919
7920 2001-10-10  Richard Henderson  <rth@redhat.com>
7921
7922         * rtl.h (can_reverse_comparison_p): Remove.
7923
7924 2001-10-10  Christopher Faylor <cgf@redhat.com>
7925
7926         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
7927         used.
7928
7929 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
7930
7931         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
7932         (Thanks to Chris Faylor for suggesting macro name).
7933         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
7934         WIN32 defines.
7935         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
7936         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
7937         (MATH_LIBRARY): Undef before definition.
7938         (OUTPUT_QUOTED_STRING): Likewise.
7939         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
7940
7941 2001-10-10  Richard Henderson  <rth@redhat.com>
7942
7943         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
7944         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
7945         a tristate comparison value.
7946         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
7947
7948 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7949
7950         PR c++/4512
7951         * unroll.c (loop_iterations): Ignore insns generated by loop
7952         unrolling.
7953
7954         * config.gcc (mips*-*-gnu*): Delete support.
7955         * config/mips/gnu.h: Remove.
7956
7957 2001-10-10  Kazu Hirata  <kazu@hxi.com>
7958
7959         * calls.c: Fix formatting.
7960         * c-decl.c: Likewise.
7961         * cfgcleanup.c: Likewise.
7962         * combine.c: Likewise.
7963         * cppfiles.c: Likewise.
7964         * cpplib.c: Likewise.
7965         * cppmacro.c: Likewise.
7966         * crtstuff.c: Likewise.
7967         * cse.c: Likewise.
7968         * dwarf2out.c: Likewise.
7969         * expmed.c: Likewise.
7970         * expr.c: Likewise.
7971         * fold-const.c: Likewise.
7972         * function.c: Likewise.
7973         * gcse.c: Likewise.
7974         * genattrtab.c: Likewise.
7975         * ggc-page.c: Likewise.
7976         * integrate.c: Likewise.
7977         * libgcc2.c: Likewise.
7978         * loop.c: Likewise.
7979         * optabs.c: Likewise.
7980         * profile.c: Likewise.
7981         * protoize.c: Likewise.
7982         * real.c: Likewise.
7983         * recog.c: Likewise.
7984         * reload1.c: Likewise.
7985         * reload.c: Likewise.
7986         * reorg.c: Likewise.
7987         * resource.c: Likewise.
7988         * sched-rgn.c: Likewise.
7989         * sdbout.c: Likewise.
7990         * stmt.c: Likewise.
7991         * toplev.c: Likewise.
7992         * varasm.c: Likewise.
7993
7994 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
7995
7996         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
7997         * Makefile.in (langhooks.o): Add dependencies.
7998
7999 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
8000
8001         * rs6000.c (rs6000_emit_load_toc_table): Don't
8002         strdup the toc label.
8003         (create_TOC_reference): Likewise.
8004
8005 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
8006
8007         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
8008         version default.
8009
8010 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
8011
8012         * config/i386/i386.c (ix86_attribute_table): Correct
8013         min_len, max_len fields for dllimport, dllexport and shared.
8014
8015 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
8016
8017         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
8018         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
8019         Consistently use "nonzero" instead of "non-zero".
8020
8021 2001-10-09  Kazu Hirata  <kazu@hxi.com>
8022
8023         * acconfig.h: Fix comment formatting.
8024         * c-dump.h: Likewise.
8025         * c-tree.h: Likewise.
8026         * conditions.h: Likewise.
8027         * expr.h: Likewise.
8028         * function.h: Likewise.
8029         * gthr.h: Likewise.
8030         * hwint.h: Likewise.
8031         * integrate.h: Likewise.
8032         * intl.h: Likewise.
8033         * loop.h: Likewise.
8034         * optabs.h: Likewise.
8035
8036 2001-10-09  Kazu Hirata  <kazu@hxi.com>
8037
8038         * c-common.h: Fix comment formatting.
8039         * c-dump.c: Likewise.
8040         * cfg.c: Likewise.
8041         * diagnostic.h: Likewise.
8042         * except.c: Likewise.
8043         * gcc.h: Likewise.
8044         * gcov-io.h: Likewise.
8045         * genattrtab.c: Likewise.
8046         * output.h: Likewise.
8047         * predict.h: Likewise.
8048         * reload1.c: Likewise.
8049         * reload.h: Likewise.
8050         * resource.h: Likewise.
8051         * scan.h: Likewise.
8052         * system.h: Likewise.
8053         * tree.h: Likewise.
8054         * tree-inline.c: Likewise.
8055         * tsystem.h: Likewise.
8056         * varasm.c: Likewise.
8057         * xcoffout.h: Likewise.
8058
8059 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
8060
8061         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
8062
8063 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
8064
8065         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
8066         config/i386/i386elf.h, config/i386/netbsd-elf.h,
8067         config/i386/netware.h, config/mcore/gfloat.h,
8068         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
8069         config/netware.h, gccbug.in: Update FSF address.
8070
8071 2001-10-09  Kazu Hirata  <kazu@hxi.com>
8072
8073         * c-common.c: Fix comment typos.
8074         * cfgrtl.c: Likewise.
8075         * collect2.c: Likewise.
8076         * cpplex.c: Likewise.
8077         * doloop.c: Likewise.
8078         * dwarf2out.c: Likewise.
8079         * dwarfout.c: Likewise.
8080         * expr.c: Likewise.
8081         * fold-const.c: Likewise.
8082         * gcc.c: Likewise.
8083         * gcov.c: Likewise.
8084         * gcse.c: Likewise.
8085         * global.c: Likewise.
8086         * ifcvt.c: Likewise.
8087         * loop.c: Likewise.
8088         * optabs.c: Likewise.
8089         * protoize.c: Likewise.
8090         * regclass.c: Likewise.
8091         * reorg.c: Likewise.
8092         * rtl.h: Likewise.
8093         * stmt.c: Likewise.
8094         * tree.h: Likewise.
8095         * doc/cpp.texi: Likewise.
8096         * doc/c-tree.texi: Likewise.
8097         * doc/extend.texi: Likewise.
8098         * doc/invoke.texi: Likewise.
8099         * doc/objc.texi: Likewise.
8100         * doc/tm.texi: Likewise.
8101
8102 2001-10-08  Richard Henderson  <rth@redhat.com>
8103
8104         * varasm.c (set_named_section_flags): Initialize "declared".
8105
8106 2001-10-08  Robert Lipe  <robertlipe@usa.net>
8107
8108         * varasm.c (struct in_named_entry): Add declared.
8109         (named_section_first_declaration): New function.
8110         (default_elf_asm_named_section): Use it.
8111         * output.h (named_section_first_declaration): New.
8112
8113 2001-10-08  Richard Henderson  <rth@redhat.com>
8114
8115         * i386.md (movsi_xor): Export.
8116         (setcc peep2): Use it when available; add an alternative to
8117         match zero_extendhisi2_and.
8118
8119 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8120
8121         * romp-protos.h (romp_initialize_trampoline): New function.
8122         * romp.c (romp_initialize_trampoline): Likewise.
8123         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
8124         romp_initialize_trampoline.
8125
8126 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8127
8128         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
8129         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
8130         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
8131         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
8132
8133 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8134
8135         * unroll.c (loop_iterations): Extend check for multiple back edges.
8136
8137 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
8138
8139         * langhooks.h: New file.
8140         * Makefile.in (OBJS): Added langhooks.o.
8141         (c-lang.o): Depend on langhooks.h.
8142         (c-common.o): Don't depend on tree-inline.h.
8143         (tree-inline.o): Depend on toplev.h.
8144         (langhooks.o): New rule.
8145         * c-common.c: Don't include tree-inline.h.
8146         (c_mark_lang_decl): Mark argument c as unused.
8147         (c_common_lang_init): Don't initialize hooks here.
8148         * c-lang.c: Include langhooks.h, then override some macros.
8149         (lang_hooks): Initialize with macros in langhooks.h.
8150         (c_init): Don't initialize hooks here.
8151         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
8152         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
8153         * tree-inline.c: Include toplev.h.  Don't define hook variables.
8154         * tree-inline.h: Don't define hook types nor declare hook
8155         variables.  Move macros to...
8156         * langhooks.c: ... new file, as functions.  Adjust all callers.
8157
8158 2001-10-08  Jeffrey A Law  <law@cygnus.com>
8159
8160         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
8161         purge_mem_unchanging_flag on all instructions, not just on those
8162         before NOTE_INSN_FUNCTION_BEG.
8163
8164 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
8165
8166         * cppmacro.c (_cpp_create_definition): Leave comments off.
8167
8168         * doc/cpp.texi: Update.
8169
8170 2001-10-08  DJ Delorie  <dj@redhat.com>
8171
8172         * c-decl.c (grokfield): Make sure the only unnamed fields
8173         we're allowing are either structs or unions.
8174         * doc/extend.texi: Add documentation for the unnamed field
8175         extension.
8176
8177 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
8178
8179         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
8180         * configure.in: Use it.
8181         * configure: Regenerated.
8182         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
8183         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
8184
8185 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
8186
8187         * cppfiles.c (open_file): Don't mark zero-length files
8188         never-reread here.  Don't output diagnostics here either.
8189         (stack_include_file): Mark them never-reread here.
8190         (_cpp_read_file): Update.
8191
8192 2001-10-08  Richard Henderson  <rth@redhat.com>
8193
8194         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
8195
8196 2001-10-08  Richard Henderson  <rth@redhat.com>
8197
8198         * expr.c (store_expr): When converting a CONST_INT for storage
8199         in a SUBREG, convert it to both SUBREG modes before stripping
8200         the SUBREG.
8201
8202 2001-10-08  Richard Henderson  <rth@redhat.com>
8203
8204         * varasm.c (restore_varasm_status): New.
8205         * function.h: Declare it.
8206         * function.c (pop_function_context_from): Call it.
8207
8208 2001-10-08  Richard Henderson  <rth@redhat.com>
8209
8210         * c-common.h (struct c_lang_decl): Add declared_inline.
8211         * c-tree.h (DECL_DECLARED_INLINE_P): New.
8212         * c-lang.c (c_disregard_inline_limits): Use it.
8213         * c-decl.c (duplicate_decls): Likewise.
8214         (pushdecl, redeclaration_error_message): Likewise.
8215         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
8216         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
8217         Set DECL_INLINE if -finline-functions.
8218         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
8219
8220 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
8221
8222         * cppmacro.c (funlike_invocation_p): Move some logic to caller
8223         in enter_macro_context.  Create a padding token in its own context
8224         if necessary when the search for '(' fails.
8225         (enter_macro_context): Update.
8226
8227 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
8228
8229         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
8230         genmultilib, toplev.c: Fix spelling errors of "separate" as
8231         "seperate", and corresponding spelling errors of related words.
8232
8233 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8234
8235         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
8236         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
8237         Likewise.
8238         * c-dump.c (dump_option_value_info): Likewise.
8239         * c-format.c (format_length_info, format_char_info,
8240         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
8241         * collect2.c (names): Likewise.
8242         * cppdefault.h (default_include): Likewise.
8243         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
8244         * flow.c (life_analysis): Likewise.
8245         * gcc.c (dir_separator_str, modify_target, option_map,
8246         target_option_translations, spec_list_1, extra_specs_1,
8247         init_spec): Likewise.
8248         * gcov.c (gcov_version_string): Likewise.
8249         * genattr.c (write_units): Likewise.
8250         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
8251         * gengenrtl.c (rtx_definition, defs): Likewise.
8252         * genrecog.c (pred_table): Likewise.
8253         * global.c (global_alloc): Likewise.
8254         * lcm.c (optimize_mode_switching): Likewise.
8255         * local-alloc.c (find_free_reg): Likewise.
8256         * params.h (param_info): Likewise.
8257         * predict.c (predictor_info): Likewise.
8258         * protoize.c (unexpansion_struct): Likewise.
8259         * real.c (bmask): Likewise.
8260         * recog.h (insn_operand_data, insn_data): Likewise.
8261         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
8262         * stmt.c (expand_nl_goto_receiver): Likewise.
8263         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
8264         target_switches, target_options): Likewise.
8265         * tradcif.y (token, tokentab2, yylex): Likewise.
8266         * tree.h (attribute_spec): Likewise.
8267
8268         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
8269         Likewise.
8270         * arc.c (arc_output_function_epilogue): Likewise.
8271         * arm.c (processors, all_cores, all_architectures,
8272         arm_override_options, isr_attribute_arg, isr_attribute_args,
8273         arm_isr_value): Likewise.
8274         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
8275         Likewise.
8276         * c4x.c (c4x_int_reglist): Likewise.
8277         * d30v.c (override_options): Likewise.
8278         * h8300.c (shift_insn): Likewise.
8279         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
8280         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
8281         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
8282         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
8283         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
8284         * i386.h (processor_costs, ix86_cost): Likewise.
8285         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
8286         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
8287         * m68k.c (codes_68881, codes_FPA): Likewise.
8288         * m88k.c (mode_from_align, max_from_align, all_from_align,
8289         best_from_align, m_options): Likewise.
8290         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
8291         * mcore.c (mode_from_align): Likewise.
8292         * mips/elf64.h (UNIQUE_SECTION): Likewise.
8293         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
8294         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
8295         * mips.h (mips_regno_to_class): Likewise.
8296         * ns32k.c (scales): Likewise.
8297         * pa.c (import_string, magic_milli): Likewise.
8298         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
8299         * sparc.c (leaf_reg_remap, sparc_override_options,
8300         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
8301         Likewise.
8302         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
8303
8304 2001-10-07  Dale Johannesen  <dalej@apple.com>
8305
8306         * reload1.c (reload_reg_free_p): Teach register interference
8307         checking that multiple output reloads are emitted in
8308         reverse order.
8309         reload1.c (reload_reg_reaches_end_p):  Ditto.
8310         reload1.c (reloads_conflict):  Ditto.
8311
8312 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
8313
8314         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
8315         NULL_TREE inside @code.
8316
8317 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
8318
8319         * doc/gcc.texi: Document consistent style of "32-bit",
8320         "Objective-C", and "@code{NULL}".
8321
8322 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
8323
8324         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
8325         (cpp_token_len, cpp_spell_token, cpp_output_token,
8326         _cpp_equiv_tokens): Handle it.
8327         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
8328         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
8329         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
8330         error messages.
8331
8332 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8333
8334         * gcc.c (default_compilers): Remove .ada.
8335
8336 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
8337
8338         * doc/cppinternals.texi: Update.
8339
8340 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
8341
8342         * gcc.c (main): Set this_file_error if the appropriate
8343         compiler for a language has not been installed.
8344
8345 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
8346
8347         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
8348
8349 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
8350
8351         * gccbug.in (CATEGORIES): Add ada.
8352
8353 2001-10-05  Catherine Moore  <clm@redhat.com>
8354
8355         * config/stormy16/stormy-abi:  Document abi changes.
8356         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
8357         (ICALL_REGS): New register class.
8358         (NUM_ARGUMENT_REGISTERS): Now 6.
8359         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
8360         in registers.
8361         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
8362         * config/stormy16.md (call_internal, call_value_internal,
8363         indirect_jump): Use new 'z' constraint.
8364
8365 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
8366
8367         * doc/cppinternals.texi: Update.
8368
8369 2001-10-05  Richard Henderson  <rth@redhat.com>
8370
8371         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
8372         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
8373         the gas section-name-as-label feature.
8374
8375 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
8376
8377         * doc/cppinternals.texi: Update.
8378
8379 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8380
8381         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
8382         to ensure valid SImode constants.
8383
8384 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
8385
8386         * Makefile.in (c-decl.o): Depend on tree-inline.h.
8387         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
8388         * c-decl.c: Include tree-inline.h.
8389         (c_expand_body): Call optimize_inline_calls. Determine whether
8390         a function is inlinable upfront, and only clear
8391         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
8392         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
8393         (c_disregard_inline_limits): New function.
8394         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
8395         (c_post_options): Enable tree inlining if inlining is enabled.
8396         Don't inline trees when instrumenting functions.
8397         (c_init): Initialize lang_disregard_inline_limits and
8398         lang_cannot_inline_tree_fn.
8399         * tree-inline.c (initialize_inlined_parameters): Handle calls
8400         with fewer arguments than declared parameters, and fewer
8401         parameters than passed arguments.  Don't assume value is a
8402         DECL.
8403         (declare_return_variable): Convert return value back to the
8404         original type, if it was promoted.
8405         (tree_inlinable_function_p): New function.
8406         (inlinable_function_p): Don't look at DECL_INLINE if we're
8407         inlining all functions.  Make it work with a NULL id.
8408         Re-check DECL_UNINLINABLE after language-specific checks.
8409         * tree-inline.h (tree_inlinable_function_p): Declare it.
8410         * integrate.c (save_for_inline): Don't bother to prepare argvec
8411         when not inlining.
8412         * cse.c (check_for_label_ref): Don't check deleted labels.
8413
8414         * Makefile.in (tree-inline.o): Depend on newly-included headers.
8415         * tree-inline.c: Include headers needed for the functions moved in.
8416         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
8417         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
8418         (copy_body, initialize_inlined_parameters): Likewise.
8419         (declare_return_variable, inlinable_function_p): Likewise.
8420         (expand_call_inline, expand_calls_inline): Likewise.
8421         (optimize_inline_calls, clone_body): Likewise.
8422         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
8423         (copy_tree_r, remap_save_expr): Likewise.
8424
8425 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
8426
8427         * Makefile.in (OBJS): Added tree-inline.o.
8428         (c-common.o): Depend on tree-inline.h.
8429         (tree-inline.o): New target.
8430         * c-common.c: Include tree-inline.h.
8431         (c_mark_lang_decl): Don't mark saved_tree.
8432         (c_common_lang_init): Set lang_anon_aggr_type_p.
8433         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
8434         (struct c_lang_decl): Moved saved_tree to tree_decl.
8435         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
8436         * integrate.h (function_attribute_inlinable_p): Declare it.
8437         * integrate.c (function_attribute_inlinable_p): Export it.
8438         * tree-inline.c: New file.  Define variables declared in...
8439         * tree-inline.h: New file.  Declare functions to be moved to
8440         tree-inline.c.  Define macros and declare types and hooks for
8441         language-specific tree inlining.
8442         (flag_inline_trees): Moved definition from cp/decl2.c.
8443         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
8444         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
8445         (struct tree_decl): Moved saved_tree from c_lang_decl and
8446         inlined_fns from C++'s lang_decl.
8447
8448 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
8449
8450         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
8451         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
8452
8453 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
8454
8455         * doc/cppinternals.texi: Update.
8456
8457 2001-10-04  Eric Christopher  <echristo@redhat.com>
8458
8459         * config/mips/mips.c (init_cumulative_args): Remember to set
8460         cum->prototype.
8461         * config.gcc: Redo linux configuration. Add target_cpu_default
8462         of soft-float to all mipsisa32 combinations and tx39.
8463         * config/mips/linux.h: Remove include of mips.h.
8464
8465 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
8466
8467         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
8468         HOST_LDFLAGS and HOST_CPPFLAGS.
8469
8470 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
8471
8472         * c-parse.in (objc_inherit_code, objc_pq_context,
8473         objc_public_flag): Make static.
8474         (objc_interface_context, objc_implementation_context,
8475         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
8476         global tree array in objc/objc-act.[ch].
8477         (methoddef): Remove unnecessary code.
8478
8479         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
8480         Hoist struct definitions to objc-act.h.
8481         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
8482         cat_count): Place declaration in objc-act.h.
8483         (objc_tree_index): Move enumeration to objc-act.h.
8484         (objc_global_trees): Place declaration and macro accessors in
8485         objc-act.h.
8486         (implementation_context): Remove duplicate; use
8487         objc_implementation_context instead:
8488         (method_context): Remove duplicate; use objc_method_context
8489         instead.
8490         (objc_ellipsis_node, objc_method_prototype_template,
8491         implemented_classes, function_type): Move global vars to
8492         objc_global_trees.
8493         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
8494         (build_message_expr): Move actual construction of ObjC message
8495         send nodes to finish_message_expr.
8496         (finish_message_expr): New routine, contains code formerly in
8497         build_message_expr.
8498         * objc/objc-act.h (finish_message_expr): New prototype.
8499         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
8500         declarations; these vars are now part of objc_global_trees.
8501         (objc_tree_index, objc_global_trees): Move definitions from
8502         objc-act.c.
8503         * objc/objc-tree.def: Update copyright info.
8504
8505 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
8506
8507         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
8508         op is NULL.
8509         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
8510         only if TARGET_ARCH64.
8511
8512 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
8513
8514         * doc/extend.texi: Fix some problems with previous checkin.
8515         * doc/invoke.texi: Likewise.
8516
8517 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
8518
8519         * cpphash.h: Update comments.
8520         (cpp_context): Update.
8521         (spec_nodes): Remove n__Pragma.
8522         * cppinit.c (cpp_create_reader): Update.
8523         (builtin_array): Add _Pragma.
8524         * cpplib.h: Update comments.
8525         (NODE_DISABLED, BT_PRAGMA): New.
8526         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
8527         * cppmacro.c (struct cpp_macro): Remove disabled.
8528         (builtin_macro): Return int, handle _Pragma, push the new token
8529         on the context stack.
8530         (funlike_invocation_p): Unconstify, update.
8531         (enter_macro_context): Handle builtins here.
8532         (replace_args, push_token_context, push_ptoken_context):
8533         Update for prototype changes.
8534         (_cpp_pop_context): Update.
8535         (cpp_get_token): Don't handle buitins, nor _Pragma here.
8536         (cpp_sys_macro_p): Update.
8537         (_cpp_free_definition): Clear disabled flag.
8538         (_cpp_create_definition): Upate.
8539         * cppmain.c: Update comments.
8540
8541 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
8542                                 Andreas Jaeger <aj@suse.de>,
8543                                 Jan Hubicka    <jh@suse.cz>
8544
8545         * doc/invoke.texi (i386 Options): Document x86-64 options.
8546         (i386 and x86-64 Options): Rename i386 options section.
8547
8548         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
8549         (TARGET_SWITCHES): Add -munwind-info.
8550         (MASK_NO_UNWIND_INFO): New.
8551         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
8552         biarch compilation.
8553         (ASM_OUTPUT_DOUBLE_INT): New.
8554
8555         * config/i386/linux64.h: New spec file for Linux x86-64 support.
8556         * config.gcc: Fix tm_file settings for x86-64.
8557         * config/i386/x86-64.h: New file with OS independent x86-64
8558         definitions.
8559         * config/i386/biarch64.h: New file used to configure compiler
8560         to biarch/64bit compilation.
8561
8562         * config/i386/i386.c: (override_options): Set flags default
8563         for 64bit compilation.
8564
8565 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
8566
8567         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
8568         (ix86_expand_int_movcc): Optimize DImode conditional moves with
8569         constants on x86_64.
8570         (ix86_attr_length_immediate_default): Support MODE_DI.
8571         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
8572         condition.
8573         (indirect_jump, tablejump): Turn into expander.
8574
8575 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
8576
8577         * c-common.c (c_format_attribute_table): Make format and
8578         format_arg attributes apply to function types rather than to
8579         decls.
8580         (is_valid_printf_arglist): Construct an attribute list and pass
8581         that to check_function_format rather than a name.
8582         * c-common.h (check_function_format): Adjust prototype.
8583         * c-decl.c (duplicate_decls): Preserve attributes from type of
8584         built-in decl when allowing for harmless conflict in types.
8585         * c-format.c (record_function_format,
8586         record_international_format, function_format_list,
8587         international_format_info, international_format_list): Remove.
8588         (function_format_info): Remove next, name and assembler_name.
8589         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
8590         (decode_format_attr): New.
8591         (handle_format_attribute): Handle receiving a type rather than a
8592         decl.  Call decode_format_attr.  Store format information in a
8593         function_format_info.
8594         (handle_format_arg_attribute): Correct comment.  Handle receiving
8595         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
8596         arg_num.
8597         (check_format_info_recurse, check_format_info_main): Take argument
8598         numbers as unsigned HOST_WIDE_INT.
8599         (check_function_format): Take a list of attributes from the
8600         function type rather than a name or assembler name.  Check for
8601         format attributes in that list and the attributes on the type of
8602         the current function rather than looking through
8603         function_format_list.
8604         (check_format_info): Use unsigned HOST_WIDE_INT for argument
8605         numbers.
8606         (check_format_info_recurse): Take format_arg attributes from the
8607         type of the function calls rather than using
8608         international_format_list.  Allow for multiple format_arg
8609         attributes.
8610         * c-typeck.c (build_function_call): Pass type attributes to
8611         check_function_format rather than name or assembler name.  Don't
8612         require there to be a name or assembler name to check formats.
8613
8614 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
8615
8616         * attribs.c (decl_attributes): Possibly call
8617         insert_default_attributes to insert default attributes on
8618         functions in a lazy manner.
8619         * builtin-attrs.def: New file; define the default format and
8620         format_arg attributes.
8621         * c-common.c (c_format_attribute_table): Move to earlier in the
8622         file.
8623         (c_common_nodes_and_builtins): Initialize format_attribute_table.
8624         (enum built_in_attribute, built_in_attributes,
8625         c_attrs_initialized, c_init_attributes,
8626         c_common_insert_default_attributes): New.
8627         (c_common_lang_init): Don't initialize format_attribute_table.  Do
8628         call c_init_attributes.
8629         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
8630         * c-common.h (init_function_format_info): Don't declare.
8631         (c_common_insert_default_attributes): Declare.
8632         * c-decl.c (implicitly_declare, builtin_function): Call
8633         decl_attributes.
8634         (init_decl_processing): Don't call init_function_format_info.
8635         (insert_default_attributes): New.
8636         * c-format.c (handle_format_attribute,
8637         handle_format_arg_attribute): Be quiet about inappropriate
8638         declaration when applying default attributes.
8639         (init_function_format_info): Remove.
8640         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
8641         (insert_default_attributes): Declare.
8642
8643 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
8644
8645         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
8646
8647 2001-10-01  Jim Wilson  <wilson@redhat.com>
8648
8649         * sched-deps.c (add_dependence): When elide conditional dependence,
8650         check that insn doesn't modify cond2.
8651
8652 2001-10-01  Dale Johannesen  <dalej@apple.com>
8653
8654         * config/rs6000/rs6000.h (enum processor_type): Add support
8655         for 7400 (G4) and 7450.
8656         (RTX_COSTS): Ditto.
8657         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
8658         (rs6000_issue_rate): Ditto.
8659         (rs6000_adjust_cost): Fix cycle counts for compares.
8660         (debug_stack_info):  Fix an obvious typo.
8661         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
8662         * doc/invoke.texi: Document.
8663         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
8664         for Darwin.
8665         (PROCESSOR_DEFAULT): Ditto.
8666
8667 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
8668
8669         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
8670         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
8671         later recursive make invocation.
8672
8673 2001-10-01  Hans Boehm  <boehm@acm.org>
8674
8675         * optabs.c (emit_libcall_block): When using non-call exceptions,
8676         don't add REG_LIBCALL reg notes to trapping calls.
8677
8678 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
8679
8680         * flow.c (propagate_block_delete_libcall): Remove unused first arg
8681         (propagate_one_insn):  Update for above change
8682
8683 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
8684
8685         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
8686         _Unwind_GetTextRelBase): Argument is unused.
8687
8688 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8689
8690         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
8691         Loop through NOPs, placeholders, and components.
8692         Don't go through NOPs if change mode.
8693         (record_alias_subset): Do nothing if SUBSET and SET are the same.
8694         * emit-rtl.c (set_mem_alias_set): Enable check.
8695         * expr.c (find_placeholder): New function.
8696         (expand_expr, case PLACEHOLDER_EXPR): Use it.
8697         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
8698         to modify it and avoid unneeded copies.
8699         * expr.h (expand_expr): Always define.
8700         (find_placeholder): New declaration.
8701
8702 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8703
8704         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
8705         operand 2 is the stack pointer.
8706         ("addr-peephole"): Fix address computation peephole when operand 2
8707         is the stack pointer.
8708
8709 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8710
8711         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
8712         (ix86_setup_incoming_varargs): Likewise.
8713
8714 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
8715
8716         * stor-layout.c (layout_type): Don't complain about too-large
8717         array here.
8718
8719 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8720
8721         * function.c (keep_stack_depressed): Don't use delete_insn.
8722
8723         * expr.h (set_mem_alias_set): Move decl to here.
8724         * rtl.h (mem_attrs): New typedef and struct.
8725         (union rtunion_def): Add field for mem_attrs.
8726         (X0MEMATTR, MEM_ATTRS): New macros.
8727         (MEM_ALIAS_SET): Use MEM_ATTRS.
8728         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
8729         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
8730         (set_mem_alias_set): Delete decl from here.
8731
8732         * alias.c (set_mem_alias_set): Delete from here.
8733         * emit-rtl.c (mem_attrs_htab): New variable.
8734         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
8735         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
8736         (mem_attrs_mark, get_mem_attrs): Likewise.
8737         (gen_rtx_MEM): Clear MEM_ATTRS.
8738         (set_mem_attributes): Move to here.
8739         (set_mem_alias_set): Likewise, and call get_mem_attrs.
8740         (init_emit_once): const_int_htab now deletable htab.
8741         Initialize mem_attrs_htab.
8742         * explow.c (set_mem_attributes): Delete from here.
8743         * function.c (put_var_into_stack): Clear MEM_ATTRS.
8744         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
8745         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
8746         * reload1.c (reload): Rework changing REG to MEM.
8747
8748 2001-09-30  H.J. Lu <hjl@gnu.org>
8749
8750         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
8751         * config.in: Rebuild.
8752
8753 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8754
8755         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
8756         ("tsthi_1"): Avoid allocation in register y.
8757         ("*movqi_68hc12"): Reorganize and fix constraints.
8758         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
8759         ("addqi3"): Likewise.
8760         ("addhi3"): Fix constraints.
8761         ("*logicalhi3_zexthi"): Disparage soft registers.
8762
8763 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8764
8765         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
8766         to tmp reg.
8767
8768 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8769
8770         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
8771         that we use setjmp/longjmp exceptions.
8772
8773 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
8774
8775         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
8776         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
8777         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
8778         _cpp_pool_alloc, _cpp_next_chunk): Remove.
8779         (_cpp_extend_buff, BUFF_ROOM): Update.
8780         (_cpp_append_extend_buff): New.
8781         (struct cpp_reader): Remove macro_pool, add a_buff.
8782         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
8783         macro_pool.
8784         (cpp_destroy): Free a_buff instead of macro_pool.
8785         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
8786         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
8787         _cpp_pool_alloc, ): Remove.
8788         (parse_number, parse_string): Update use of _cpp_extend_buff.
8789         (_cpp_extend_buff): Update.
8790         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
8791         * cpplib.c (glue_header_name, parse_answer):
8792         Update use of _cpp_extend_buff.
8793         (cpp_register_pragma, cpp_register_pragma_space): Use
8794         _cpp_aligned_alloc.
8795         (do_assert, do_unassert): Check for EOL, update.
8796         * cppmacro.c (stringify_arg, collect_args): Update to use
8797         _cpp_extend_buff and _cpp_append_extend_buff.
8798         (save_parameter, parse_params, alloc_expansion_token,
8799         _cpp_create_definition): Rework memory management.
8800
8801 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
8802
8803         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
8804         update md_exec_prefix.
8805         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
8806         to string constant.
8807
8808 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
8809
8810         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
8811         (SELECT_CC_MODE): Use s390_select_ccmode.
8812         * config/s390/s390-protos.h (s390_select_ccmode): Add.
8813         * config/s390/s390.c (s390_select_ccmode): New.
8814         (s390_match_ccmode): Add CCLmode.
8815         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
8816         (output_branch_condition, output_inverse_branch_condition): Removed.
8817         (print_operand): Use s390_branch_condition_mnemonic.
8818         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
8819         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
8820         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
8821
8822         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
8823         when converting conditional branches to far branches.
8824         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
8825         cmpint_di): Use CCSmode instead of CCUmode.
8826
8827         * config/s390/s390.c (legitimate_la_operand_p): New.
8828         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
8829         * config/s390/s390.md (movsi): Convert load address patterns to
8830         arithmetic operations when necessary.
8831         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
8832         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
8833         (*do_la_reg_0): Don't use before reload.
8834
8835         * config/s390/s390.c (legitimize_address): Make more efficient
8836         use of two-register addressing mode.
8837
8838         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
8839         with -mno-backchain in some corner cases.
8840
8841         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
8842
8843 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
8844
8845         * reload.c (find_reloads): Mark new USE insns with QImode.
8846         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
8847         find_reloads_subreg_address): Likewise.
8848         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
8849         encountered.
8850         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
8851         CLOBBERs.
8852         (reload): Make sure there are no USEs with mode other than
8853         VOIDmode.  At the end, remove those marked with QImode.
8854
8855 2001-09-29  Per Bothner  <per@bothner.com>
8856
8857         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
8858         * Makefile.in (includedir):  Rename to local_includedir.
8859         (includedir):  Define as $(prefix)/include.
8860         * config.in (PREFIX_INCLUDE_DIR):  New variable.
8861         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
8862
8863 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
8864
8865         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
8866         storehps builtins.
8867         * doc/extend.texi (Vector Extensions): New node.
8868         * doc/invoke.texi (Machine Dependent Options): Add documentation for
8869         i386 -mmmx, -msse, -m3dnow.
8870
8871 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
8872
8873         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
8874
8875 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
8876
8877         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
8878
8879         * doc/invoke.texi (Optimize Options): Delete spurious @table.
8880
8881 2001-09-28  Richard Henderson  <rth@redhat.com>
8882
8883         * varasm.c (assemble_integer): Bound alignment check by
8884         BIGGEST_ALIGNMENT.
8885
8886         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
8887
8888 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8889
8890         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
8891
8892 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
8893
8894         Mostly from Graham Stott  <grahams@redhat.com>
8895         * c-common.c (type_for_mode): Add support for V2SFmode.
8896         * tree.c (build_common_tree_nodes_2): Likewise.
8897         * tree.h (enum tree_index, global_trees): Likewise.
8898         * config/i386/i386.c (x86_3dnow_a): New variable.
8899         (override_options): Support 3Dnow extensions.
8900         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
8901         Athlon's version of 3Dnow.
8902         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
8903         (ix86_expand_builtin): Handle them.
8904         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
8905         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
8906         TARGET_3DNOW_A): New macros.
8907         (TARGET_SWITCHES): Add 3Dnow switches.
8908         (VALID_MMX_REG_MODE_3DNOW): New macro.
8909         (VECTOR_MODE_SUPPORTED_P): Use it.
8910         (enum ix86_builtins): Add entries for 3Dnow builtins.
8911         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
8912         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
8913         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
8914         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
8915         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
8916         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
8917         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
8918         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
8919         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
8920         sfence_insn, prefetch): Make these available if TARGET_SSE or
8921         TARGET_3DNOW_A.
8922
8923 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
8924
8925         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
8926         ix86_va_start, ix86_build_va_list): Declare.
8927         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
8928         ix86_va_start, ix86_build_va_list): New global functions.
8929         * i386.md (sse_prologue_save_insn): New insn.
8930         (sse_prologue_save): New expander.
8931         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
8932         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
8933
8934 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
8935
8936         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
8937         Use size_t everywhere, make definitions consistent with
8938         prototypes.
8939
8940 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
8941
8942         * gcse.c (replace_store_insn): Use delete_insn.
8943         * loop.c (move_movables): Likewise; avoid delete_insn
8944         from clobbering notes moved elsewhere.
8945         (check_dbra_loop): Use delete_insn.
8946         * ssa.c (convert_from_ssa): Likewise.
8947         * cse.c (cse_insn): Use delete_insn.
8948
8949 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
8950
8951         * cpphash.h (struct cpp_buff): Make unsigned.
8952         (_cpp_get_buff): Take length of size_t.
8953         (_cpp_unaligned_alloc): New.
8954         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
8955         (struct cpp_reader): Remove ident_pool.  Add u_buff.
8956         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
8957         (cpp_destroy): Destroy u_buff, not ident_pool.
8958         * cpplex.c (parse_number, parse_string, save_comment,
8959         cpp_token_as_text): Update to use the unaligned buffer.
8960         (new_buff): Make unsigned.
8961         (_cpp_unaligned_alloc): New.
8962         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
8963         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
8964         Similarly.
8965         (collect_args): Make unsigned.
8966
8967 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
8968
8969         * cpplex.c (cpp_output_token): Use a putc loop for
8970         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
8971
8972         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
8973         * configure, config.in: Regenerate.
8974         * system.h: Replace fwrite and fprintf with their unlocked
8975         variants if available.
8976
8977 2001-09-27  Richard Henderson  <rth@redhat.com>
8978
8979         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
8980         in favour of .eh_frame.
8981
8982 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
8983
8984         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
8985         to macros.
8986         (LIBCALL_VALUE): Likewise.
8987
8988 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
8989
8990         * cpphash.h: Update comment.
8991         * cpplex.c: Update comments.
8992         (_cpp_can_paste): Remove.
8993         * cpplib.h (_cpp_can_paste): Remove.
8994         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
8995         lexer rather than _cpp_can_paste.
8996
8997 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
8998
8999         * doc/cppinternals.texi: Update.
9000
9001 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
9002
9003         * cpphash.h (struct cpp_pool): Remove locks and locked.
9004         (struct cpp_context): Add member buff.
9005         (struct cpp_reader): Remove member argument_pool.
9006         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
9007         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
9008         * cpplex.c (chunk_suitable): Remove pool argument.
9009         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
9010         (new_buff, _cpp_extend_buff): Update.
9011         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
9012         which buffer is returned.
9013         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
9014         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
9015         * cppmacro.c (lock_pools, unlock_pools): Remove.
9016         (push_ptoken_context): Take a _cpp_buff.
9017         (enter_macro_context): Pool locking removed.
9018         (replace_args): Use a _cpp_buff for the replacement list with
9019         arguments replaced.
9020         (push_token_context): Clear buff.
9021         (expand_arg): Use _cpp_pop_context.
9022         (_cpp_pop_context): Free a context's buffer, if any.
9023
9024 2001-09-26  DJ Delorie  <dj@redhat.com>
9025
9026         * c-typeck.c (digest_init): Check for sizeless arrays.
9027
9028 2001-09-26  Richard Henderson  <rth@redhat.com>
9029
9030         * optabs.c (init_one_libfunc): Create a dummy function type
9031         instead of using error_mark_node.
9032
9033 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
9034
9035         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
9036         _cpp_extend_buff, _cpp_free_buff): New.
9037         (struct cpp_reader): New member free_buffs.
9038         * cppinit.c (cpp_destroy): Free buffers.
9039         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
9040         _cpp_extend_buff, _cpp_free_buff): New.
9041         * cpplib.h (struct cpp_options): Remove unused member.
9042         * cppmacro.c (collect_args): New.  Combines the old parse_arg
9043         and parse_args.  Use _cpp_buff for memory allocation.
9044         (funlike_invocation_p, replace_args): Update.
9045
9046 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
9047
9048         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
9049
9050 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
9051
9052         * except.c (sjlj_mark_call_sites): Change address inside sequence.
9053
9054 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
9055
9056         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
9057         glibc.
9058
9059 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
9060             Jim Wilson  <wilson@redhat.com>
9061
9062         * doc/install.texi (Specific, ia64-*-linux): Document.
9063
9064 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
9065
9066         * Makefile.in (cfgrtl.o): Add.
9067         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
9068         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
9069         free_aux_for_edge): Declare.
9070         * cfg.c
9071         (HAVE_return): Undefine.
9072         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
9073         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
9074         free_aux_for_edge): New global functions.
9075         (first_delete_block): New static variable.
9076         (init_flow): Clear first_delete_block.
9077         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
9078          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
9079          try_redirect_by_replacing_jump, last_loop_beg_note,
9080          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
9081          delete_insn, delete_insn_chain, create_basic_block_structure,
9082          create_basic_block, flow_delete_block, compute_bb_for_insn,
9083          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
9084          set_block_for_new_insns, split_block, merge_blocks_nomove,
9085          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
9086          redirect_edge_and_branch, force_nonfallthru_and_redirect,
9087          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
9088          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
9089          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
9090          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
9091          purge_all_dead_edges): Move to ....
9092         * cfgrtl.c: New file; .... Here.
9093
9094         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
9095         (reroder_basic_block): Use alloc_aux_for_blocks.
9096         * predict.c (estimate_bb_frequencies): Likewise; use
9097         alloc_aux_for_edges.
9098         * profile.c (compute_branch_probabilities): Likewise.
9099         (branch_prob): Likewise.
9100         * reg-stack.c (reg_to_stack): Likewise.
9101
9102         * emit-rtl.c (emit_insns_after): Never return NULL.
9103
9104         * basic-block.h (set_block_for_new_insns): Delete.
9105         * cfgrtl.c (set_block_for_new_insns): Delete.
9106
9107         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
9108         calls when crossjumping.
9109
9110         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
9111         * unroll.c (copy_loop_body): Use delete_insn.
9112
9113         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
9114         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
9115         keep_stack_depressed): Likewise.
9116         * gcse.c (cprop_cc0_jump): Likewise.
9117         * local-alloc.c (update_equiv_regs): Likewise.
9118         * loop.c (scan_loop, loop_delete_insns): Likewise.
9119         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
9120         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
9121         delete_output_reload, delete_address_reloads_1,
9122         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
9123         Likewise.
9124         * sibcall.c (replace_call_placeholder): Likewise.
9125         * cse.c (cse_insn): Likewise.
9126
9127 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
9128
9129         From Graham Stott  <grahams@redhat.com>
9130         (def_builtin): Only define builtins appropriate for target_flags.  All
9131         callers changed.
9132         (builtin_decsription): Add new field mask which is used to determine
9133         when to define the builtin via the macro def_builtin.
9134
9135         (bdesc_comi): Initialise new mask fields.
9136         (bdesc_2srg): Likewise.
9137         (bdesc_1arg): Likewise.
9138
9139         * config/i386/i386.c (ix86_init_builtins): Correct return type
9140         building v4hi_ftype_v4hi_int_int tree node.
9141         (ix86_expand_sse_comi): Fix typo swapping operands.
9142         Don't swap comparision condition, it is already swapped.
9143         (ix86_expand_sse_compare): Before swapping operands
9144         move operand 1 into new rtx and not the target rtx.
9145         Don't swap comparison condition, it is already swapped.
9146         Always check whether we need to create a new TARGET.
9147
9148         * config/i386/i386.md: (sse_comi) Fix typos.
9149         (sse_ucomi): Likewise.
9150         (cvtss2si): Fix operand 0 contraint.
9151         (cvttss2si): Likewise.
9152         (sse_unpckhps): Fix mode for operand 2.
9153         (sse_unpcklps): Likewise.
9154
9155 2001-09-25  Graham Stott  <grahams@redhat.com>
9156
9157         * sibcall.c (skip_copy_to_return_value): Tighten return value
9158         copy check.
9159
9160 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
9161
9162         * rs6000.c (lwa_operand): Address must be word aligned.
9163
9164 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9165
9166         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
9167         number has been set.
9168         (type_hash_mark): Mark type itself.
9169
9170 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
9171
9172         * c-lex.c (cb_def_pragma): Update.
9173         (c_lex): Update, and skip padding.
9174         * cppexp.c (lex, parse_defined): Update, remove unused variable.
9175         * cpphash.h (struct toklist): Delete.
9176         (union utoken): New.
9177         (struct cpp_context): Update.
9178         (struct cpp_reader): New members eof, avoid_paste.
9179         (_cpp_temp_token): New.
9180         * cppinit.c (cpp_create_reader): Update.
9181         * cpplex.c (_cpp_temp_token): New.
9182         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
9183         (cpp_output_token): Don't print leading whitespace.
9184         (cpp_output_line): Update.
9185         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
9186         do_include_common, do_line, do_ident, do_pragma,
9187         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
9188         parse_assertion): Update.
9189         (get_token_no_padding): New.
9190         * cpplib.h (CPP_PADDING): New.
9191         (AVOID_LPASTE): Delete.
9192         (struct cpp_token): New union member source.
9193         (cpp_get_token): Update.
9194         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
9195         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
9196         replace_args, quote_string, stringify_arg, parse_arg, next_context,
9197         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
9198         _cpp_backup_tokens, _cpp_create_definition): Update.
9199         (push_arg_context): Delete.
9200         (padding_token, push_token_context, push_ptoken_context): New.
9201         (make_string_token, make_number_token): Update, rename.
9202         (cpp_get_token): Update to handle tokens as pointers to const,
9203         and insert padding appropriately.
9204         * cppmain.c (struct printer): New member prev.
9205         (check_multiline_token): Constify.
9206         (do_preprocessing, cb_line_change): Update.
9207         (scan_translation_unit): Update to handle spacing.
9208         * scan-decls.c (get_a_token): New.
9209         (skip_to_closing_brace, scan_decls): Update.
9210         * fix-header.c (read_scan_file): Update.
9211
9212         * doc/cpp.texi: Update.
9213
9214 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9215
9216         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
9217         leak by passing malloc'ed pointer to reconcat, not concat.
9218
9219 2001-09-24  DJ Delorie  <dj@redhat.com>
9220
9221         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
9222
9223 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
9224
9225         * flow.c (delete_dead_jumptables): Delete jumptable if the only
9226         reference is from the literal pool.
9227
9228 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
9229
9230         * doc/install.texi (Final install): Request additional information
9231         in mail about successful builds.
9232
9233 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9234
9235         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
9236         initial value of return pointer register instead of value in frame-20.
9237         Revise comments.
9238
9239 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9240
9241         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
9242         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
9243         the libcall if there isn't a referenced identifier for the symbol.
9244
9245 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9246
9247         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
9248         non 64-bit machines.  Use these as a plabel for the trampoline.
9249         (TRAMPOLINE_SIZE): Adjust size for new words.
9250         (INITIALIZE_TRAMPOLINE): Initialize new words.
9251         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
9252         pointer to the plabel in the trampoline.
9253
9254 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9255
9256         * pa.c (function_arg): Pass floating arguments in both general and
9257         floating registers in indirect (dynamic) calls when generating code
9258         for the 32 bit ABI and the HP assembler.
9259
9260 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9261
9262         * doc/install.texi: Markup fixes.
9263         Use Solaris 2, SunOS 4 as appropriate.
9264         (Specific, *-*-solaris2*): Explain this.
9265         Unconditionally warn against /usr/ucb tools.
9266         Remove Sun as warning, obsolete.
9267         Move X11 header bug workaround here, update patches.
9268         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
9269         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
9270
9271 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
9272
9273         * errors.h (warning, error, fatal, internal_error): Don't mark
9274         with ATTRIBUTE_PRINTF_n.
9275         * toplev.h (internal_error, fatal_io_error, warning, error,
9276         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
9277         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
9278         Likewise.
9279
9280 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9281
9282         * function.c (pop_function_context_from): var_refs_queue
9283         and temp slots now in GC memory.
9284         (mark_function_status, free_after_compilation): Likewise;
9285         also struct function now in GC memory.
9286         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
9287         (combine_temp_slots): Likewise.
9288         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
9289         (prepare_function_start): Use GC memory for struct function.
9290         (mark_temp_slot): Deleted.
9291         (gcc_mark_struct_function): struct function now in GC memory.
9292
9293         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
9294         code for division, not modulus.
9295
9296         * rtl.def (MEM): Remove obsolete part of comment.
9297
9298 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
9299
9300         * c-format.c (init_function_format_info): Check __builtin_printf
9301         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
9302         in gnu89 mode.
9303
9304 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9305
9306         * c-common.c (format_attribute_table): Remove decl.
9307         * tree.h (format_attribute_table, lang_attribute_table): New decls.
9308         (lang_attribute_common): Likewise.
9309
9310         * function.c (fix_lexical_address): Use set_mem_alias_set.
9311         (expand_function_start): Likewise.
9312         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
9313
9314         * varasm.c (output_constant): Fix unused variable warning.
9315
9316         * attribs.c: New file, from c-common.c.
9317         (attribute_tables): Now four elements.
9318         (format_attribute_table, lang_attribute_common): New variables.
9319         (init_attributes): Reflect above changes.
9320         (handle_mode_attribute): Delete check for wider than uintmax.
9321         * c-common.c: Delete parts moved to attribs.c.
9322         (enum attrs): Deleted; unused.
9323         (c_format_attribute_table): New variable.
9324         (c_common_lang_init): Initialize format_attribute_table with it.
9325         * c-common.h (decl_attributes): Remove decl.
9326         * tree.h (decl_attribute): Move it to here.
9327         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
9328         (attribs.o): New rule.
9329
9330 2001-09-22  Andreas Jaeger  <aj@suse.de>
9331
9332         * builtins.c (c_getstr): Remove unused variable.
9333
9334 2001-09-21  Richard Henderson  <rth@redhat.com>
9335
9336         * reload1.c (reload): Use delete_insn instead of splatting
9337         NOTE_INSN_DELETED.
9338
9339 2001-09-21  Richard Henderson  <rth@redhat.com>
9340
9341         * reload.c (push_secondary_reload): Don't check for "=" in output
9342         constraint after ""->ALL_REGS check.
9343
9344 2001-09-21  Richard Henderson  <rth@redhat.com>
9345
9346         * predict.c (expected_value_to_br_prob): Use pc_set.
9347
9348         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
9349         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
9350
9351 2001-09-21  Richard Henderson  <rth@redhat.com>
9352
9353         * rtl.h (LCT_RETURNS_TWICE): New.
9354         * calls.c (emit_call_1): Set current_function_calls_setjmp for
9355         ECF_RETURNS_TWICE.
9356         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
9357         to ECF_RETURNS_TWICE.
9358         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
9359         call to setjmp.
9360
9361         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
9362
9363         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
9364         (JMP_BUF_SIZE): New.
9365
9366 2001-09-21  Richard Henderson  <rth@redhat.com>
9367
9368         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
9369         to R8_REGS.
9370
9371 2001-09-21  Richard Henderson  <rth@redhat.com>
9372
9373         * tree.def (FDESC_EXPR): New.
9374         * expr.c (expand_expr): Handle it.
9375         * varasm.c (initializer_constant_valid_p): Likewise.
9376         (output_constant): Likewise.
9377         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
9378         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
9379         (ASM_OUTPUT_FDESC): New.
9380         * doc/tm.texi: Document the new macros.
9381
9382 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
9383
9384         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
9385         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
9386         once merging is complete.
9387
9388 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9389
9390         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
9391
9392 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
9393
9394         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
9395         that would be invalid after a merge.
9396
9397 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
9398
9399         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
9400         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
9401         remove some labels.
9402         (flow_delete_insn): This one.
9403         (delete_insn_chain): Rename from ...; do not care labels.
9404         (flow_delete_insn_chain): ... this one.
9405         (flow_delete_block): Remove the insns one BB has been expunged.
9406         (merge_blocks_nomove): Likewise.
9407         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
9408         updating BB boundaries.
9409         (tidy_fallthru_edge): Likewise.
9410         (commit_one_edge_insertion): Likewise.
9411         * cfgbuild.c (find_basic_block): Likewise.
9412         (find_basic_blocks_1): Likewise.
9413         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
9414         (try_crossjump_to_edge): Likewise.
9415         (try_optimize_cfg): Likewise.
9416         * cse.c (delete_trivially_dead_insns): Likewise.
9417         * df.c (df_insn_delete): Likewise.
9418         * doloop.c (doloop_modify): Use delete_related_insns.
9419         * emit-rtl.c (try_split): Likewise.
9420         (remove_insn): Update BB boundaries.
9421         * expect.c (connect_post_landing_pads): Use delete_related_insns.
9422         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
9423         updating BB boundaries.
9424         (propagate_block_delete_insn): Likewise.
9425         (propagate_block_delete_libcall): Likewise.
9426         * function.c (delete_handlers): Use delete_related_insns.
9427         (thread_prologue_and_epilogue_insns): Likewise.
9428         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
9429         * genpeep.c (gen_peephole): Use delete_related_insns.
9430         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
9431         BB boundaries.
9432         (find_cond_trap): Likewise.
9433         * integrate.c (save_for_inline): Use delete_related_insns.
9434         (copy_insn_list): Likewise.
9435         * jump.c (pruge_linie_number_notes): Likewise.
9436         (duplicate_loop_exit_test): Likewise.
9437         (delete_computation): Likewise.
9438         (delete_related_insn): Rename from ...; use delete_insn
9439         (delete_insn): ... this one.
9440         (redirect_jump): Use delete_related_insns.
9441         * loop.c (scan_loop): Likewise.
9442         (move_movables): Likewise.
9443         (find_and_verify_loops): Likewise.
9444         (check_dbra_loop): Likewise.
9445         * recog.c (peephole2_optimize): Likewise.
9446         * reg-stack.c (delete_insn_for_stacker): Remove.
9447         (move_for_stack_reg): Use delete_insn.
9448         * regmove.c (combine_stack_adjustments_for_block): Likewise.
9449         * reload1.c (delete_address_reloads): Use delete_related_insns.
9450         (fixup_abnormal_edges): Use delete_insn.
9451         * recog.c (emit_delay_sequence): Use delete_related_insns.
9452         (delete_from-delay_slot): Likewise.
9453         (delete_scheduled_jump): likewise.
9454         (optimize_skip): Likewise.
9455         (try_merge_delay_insns): Likewise.
9456         (full_simple_delay_slots): Likewise.
9457         (fill_slots_from_thread): Likewise.
9458         (relax_delay_slots): Likewise.
9459         (make_return_insns): Likewise.
9460         (dbr_schedule): Likewise.
9461         * rtl.h (delete_insn): Rename to delete_related_insns.
9462         (delete_insn, delete_insn_chain): New prototypes.
9463         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
9464         by df_insn_delete already.
9465         * ssa-dce.c (delete_insn_bb): Use delete_insn.
9466         * ssa.c (convert_from_ssa): Use delete_related_insns.
9467         * unroll.c (unroll_loop): Likewise.
9468         (calculate_giv_inc): Likewise.
9469         (copy_loop_body): Likewise.
9470
9471         * i386-protos.h (ix86_libcall_value, ix86_function_value,
9472         ix86_function_arg_regno_p, ix86_function_arg_boundary,
9473         ix86_return_in_memory, ix86_function_value): Declare.
9474         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
9475         new static valurables.
9476         (x86_64_reg_class): New enum
9477         (x86_64_reg_class_name): New array.
9478         (classify_argument, examine_argument, construct_container,
9479          merge_classes): New static functions.
9480         (optimization_options): Enable flag_omit_frame_pointer and disable
9481         flag_pcc_struct_return on 64bit.
9482         (ix86_libcall_value, ix86_function_value,
9483         ix86_function_arg_regno_p, ix86_function_arg_boundary,
9484         ix86_return_in_memory, ix86_function_value): New global functions.
9485         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
9486         (function_arg_advance): Handle x86_64 passing conventions.
9487         (function_arg): Likewise.
9488         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
9489         (RETURN_IN_MEMORY): Move offline.
9490         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
9491         (FUNCTION_VALUE_REGNO_P): New macro.
9492         (FUNCTION_ARG_REGNO_P): Move offline.
9493         (struct ix86_args): Add maybe_vaarg.
9494         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
9495         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
9496
9497 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
9498
9499         * s390.md: Changed attributes for scheduling.
9500         * s390.c: (s390_adjust_cost, s390_adjust_priority)
9501         Changed scheduling
9502
9503 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
9504
9505         Table-driven attributes.
9506         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
9507         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
9508         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
9509         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
9510         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
9511         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
9512         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
9513         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
9514         * tree.h (struct tree_decl): Change machine_attributes to
9515         attributes.
9516         * doc/c-tree.texi: Document that all attributes are now attached
9517         to decls and types.
9518         * c-common.c (add_attribute, attrtab, attrtab_idx,
9519         default_valid_lang_attribute, valid_lang_attribute): Remove.
9520         (attribute_tables, attributes_initialized,
9521         c_common_attribute_table, default_lang_attribute_table): New
9522         variables.
9523         (handle_packed_attribute, handle_nocommon_attribute,
9524         handle_common_attribute, handle_noreturn_attribute,
9525         handle_unused_attribute, handle_const_attribute,
9526         handle_transparent_union_attribute, handle_constructor_attribute,
9527         handle_destructor_attribute, handle_mode_attribute,
9528         handle_section_attribute, handle_aligned_attribute,
9529         handle_weak_attribute, handle_alias_attribute,
9530         handle_no_instrument_function_attribute,
9531         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
9532         handle_no_limit_stack_attribute, handle_pure_attribute): New
9533         functions.
9534         (init_attributes, decl_attributes): Rewrite to implement
9535         table-driven attributes.
9536         * c-common.h (enum attribute_flags): Move to tree.h.
9537         * c-format.c (decl_handle_format_attribute,
9538         decl_handle_format_arg_attribute): Rename to
9539         handle_format_attribute and handle_format_arg_attribute.  Update
9540         for table-driven attributes.
9541         * c-common.h (decl_handle_format_attribute,
9542         decl_handle_format_arg_attribute): Remove prototypes.
9543         (handle_format_attribute, handle_format_arg_attribute): Add
9544         prototypes.
9545         * c-decl.c (grokdeclarator): Handle attributes nested inside
9546         declarators.
9547         * c-parse.in (setattrs, maybe_setattrs): Remove.
9548         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
9549         Update to handle nested attributes properly.
9550         (maybe_resetattrs, after_type_declarator,
9551         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
9552         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
9553         properly.
9554         (make_pointer_declarator): Update to handle nested attributes
9555         properly.
9556         * doc/extend.texi: Update documentation of limits of attributes
9557         syntax.  Warn about problems with attribute semantics in C++.
9558         * target.h (struct target): Remove valid_decl_attribute and
9559         valid_type_attribute.  Add attribute_table and
9560         function_attribute_inlinable_p.
9561         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
9562         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
9563         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
9564         Add.
9565         (TARGET_INITIALIZER): Update.
9566         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
9567         definition.
9568         (function_attribute_inlinable_p): New function.  Check for the
9569         presence of any machine attributes before using
9570         targetm.function_attribute_inlinable_p.
9571         (function_cannot_inline_p): Update.
9572         * Makefile.in (integrate.o): Update dependencies.
9573         * doc/tm.texi: Update documentation of target attributes and
9574         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
9575         * tree.c (default_valid_attribute_p, valid_machine_attribute):
9576         Remove.
9577         (default_target_attribute_table,
9578         default_function_attribute_inlinable_p): New.
9579         (lookup_attribute): Update comment to clarify handling of multiple
9580         attributes with the same name.
9581         (merge_attributes, attribute_list_contained): Allow multiple
9582         attributes with the same name but different arguments to appear in
9583         the same attribute list.
9584         * tree.h (default_valid_attribute_p): Remove prototype.
9585         (struct attribute_spec): New.
9586         (default_target_attribute_table): Declare.
9587         (enum attribute_flags): Move from c-common.h.  Add
9588         ATTR_FLAG_TYPE_IN_PLACE.
9589         (default_function_attribute_inlinable_p): Declare.
9590         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
9591         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9592         (TARGET_ATTRIBUTE_TABLE): Define.
9593         (vms_attribute_table): New.
9594         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
9595         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9596         (TARGET_ATTRIBUTE_TABLE): Define.
9597         (arc_attribute_table, arc_handle_interrupt_attribute): New.
9598         * config/arm/arm.c (arm_valid_type_attribute_p,
9599         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
9600         Remove.
9601         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
9602         define.
9603         (TARGET_ATTRIBUTE_TABLE): Define.
9604         (arm_attribute_table, arm_handle_fndecl_attribute,
9605         arm_handle_isr_attribute): New.
9606         * config/avr/avr.c (avr_valid_type_attribute,
9607         avr_valid_decl_attribute): Remove.
9608         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
9609         define.
9610         (TARGET_ATTRIBUTE_TABLE): Define.
9611         (avr_attribute_table, avr_handle_progmem_attribute,
9612         avr_handle_fndecl_attribute): New.
9613         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
9614         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
9615         (TARGET_ATTRIBUTE_TABLE): Define.
9616         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
9617         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
9618         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9619         (TARGET_ATTRIBUTE_TABLE): Define.
9620         (h8300_attribute_table, h8300_handle_fndecl_attribute,
9621         h8300_handle_eightbit_data_attribute,
9622         h8300_handle_tiny_data_attribute): New.
9623         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
9624         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
9625         Remove prototypes.
9626         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
9627         declarations.
9628         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
9629         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
9630         define.
9631         (TARGET_ATTRIBUTE_TABLE): Define.
9632         (ix86_attribute_table, ix86_handle_cdecl_attribute,
9633         ix86_handle_regparm_attribute): New.
9634         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
9635         i386_pe_valid_type_attribute_p): Remove.
9636         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
9637         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
9638         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
9639         (TARGET_ATTRIBUTE_TABLE): Define.
9640         (ia64_attribute_table): New.
9641         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
9642         interrupt_ident2, model_ident1, model_ident2): Remove.
9643         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9644         (TARGET_ATTRIBUTE_TABLE): Define.
9645         (init_idents): Update.
9646         (m32r_attribute_table, m32r_handle_model_attribute): New.
9647         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
9648         Remove.
9649         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
9650         (TARGET_ATTRIBUTE_TABLE): Define.
9651         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
9652         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
9653         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9654         (TARGET_ATTRIBUTE_TABLE): Define.
9655         (mcore_attribute_table, mcore_handle_naked_attribute): New.
9656         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
9657         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
9658         (TARGET_ATTRIBUTE_TABLE): Define.
9659         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
9660         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
9661         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
9662         (TARGET_ATTRIBUTE_TABLE): Define.
9663         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
9664         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
9665         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9666         (TARGET_ATTRIBUTE_TABLE): Define.
9667         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
9668         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
9669         New.
9670         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
9671         Remove.
9672         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
9673         (TARGET_ATTRIBUTE_TABLE): Define.
9674         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
9675         New.
9676         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
9677         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9678         (TARGET_ATTRIBUTE_TABLE): Define.
9679         (v850_attribute_table, v850_handle_interrupt_attribute,
9680         v850_handle_data_area_attribute): New.
9681         * config/v850/v850-c.c (mark_current_function_as_interrupt):
9682         Return void.  Call decl_attributes instead of
9683         valid_machine_attribute.
9684
9685 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
9686
9687         * sh-protos.h (sh_pr_n_sets): Declare.
9688         * sh.c (calc_live_regs): If the initial value for PR has been copied,
9689         look at the copy to determine if PR needs to be saved.
9690         sh_pr_n_sets: New function.
9691         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
9692         (ALLOCATE_INITIAL_VALUE): Define.
9693
9694         * sh.c (initial_elimination_offset):
9695         Fix RETURN_ADDRESS_POINTER_REGNUM case.
9696
9697 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
9698
9699         * integrate.c (allocate_initial_values): New function.
9700         * integrate.h (allocate_initial_values): Declare.
9701         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
9702         here...
9703         * reload1.c (reload): And initialization of reg_equiv_memory_loc
9704         from here...
9705         * toplev.c (rest_of_compilation): To here.
9706         Call allocate_initial_values.
9707         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
9708
9709 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9710
9711         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
9712
9713 2001-09-20  DJ Delorie  <dj@redhat.com>
9714
9715         * c-typeck.c (really_start_incremental_init): Discriminate
9716         between zero-length arrays and flexible arrays.
9717         (push_init_level): Detect zero-length arrays and handle them
9718         like fixed-sized arrays.
9719         * expr.c (store_constructor): Handle zero-length arrays and
9720         flexible arrays correctly.
9721         * doc/extend.texi: Update zero-length array notes.
9722
9723 2001-09-20  Jim Wilson  <wilson@redhat.com>
9724
9725         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
9726         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
9727         for issue port conflicts.
9728         (cycle_end_fill_slots): TYPE_L instructions take two slots.
9729
9730 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
9731
9732         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
9733         on ia64.
9734
9735 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9736
9737         * fold-const.c (hashtab.h): Include.
9738         (int_const_binop): Remove FORSIZE arg and compute from type; all
9739         callers changed.
9740         Call size_int_type_wide for all single-word constants.
9741         (size_htab_hash, size_htab_eq): New functions.
9742         (size_int_type_wide): Rework to use hash table.
9743         * ggc-common.c (hashtab.h): Include.
9744         (struct d_htab_root): New struct.
9745         (d_htab_roots): New variable.
9746         (ggc_add_deletable_htab, ggc_htab_delete): New functions
9747         (ggc_mark_roots): Handle deletable htabs.
9748         * ggc-page.c (ggc_marked_p): New function.
9749         * ggc-simple.c (ggc_marked_p): Likewise.
9750         * ggc.h: Reformatting throughout.
9751         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
9752         * tree.c (init_obstacks): Make type_hash_table a deletable root.
9753         (type_hash_add): Allocate struct type_hash from GC memory.
9754         (mark_hash_entry, mark_type_hash): Deleted.
9755         (type_hash_marked_p, type_hash_mark): New functions.
9756         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
9757
9758 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
9759
9760         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
9761         than SImode.
9762
9763 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9764
9765         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
9766         array-too-large test for signed sizetype.
9767
9768 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
9769
9770         * i386.md (indirect_jump): Allow Pmode operand.
9771         (tablejump): LIkewise; perform expansion to 64bit mode.
9772         * i386.c (symbolic_operand): Allow 64bit PIC references.
9773         (pic_symbolic_operand): Likewise.
9774         (ix86_find_base_term): Strip the 64bit PIC references.
9775         (legitimate_pic_address_disp_p): Handle 64bit PIC.
9776         (legitimize_pic_address): Likewise.
9777         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
9778         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
9779
9780 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
9781
9782         * stringpool.c (get_identifier_with_length): New function.
9783         * tree.h (get_identifier_with_length): New prototype.
9784
9785 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
9786             David Edelsohn  <edelsohn@gnu.org>
9787
9788         Revert:
9789         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
9790         already sign-extended.
9791
9792         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
9793         * config/rs6000/rs6000.c (logical_operand): Always compare op as
9794         HOST_WIDE_INT.
9795         (rs6000_emit_set_long_const): Avoid unnecessary shift.
9796         (output_profile_hook): Declare label_name const.
9797         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
9798         to match constraints.
9799
9800 2001-09-19  Stan Shebs  <shebs@apple.com>
9801
9802         * alias.c: Fix typos in comments.
9803         * sched-rgn.c (init_ready_list): Ditto.
9804         * unwind-dw2.c (uw_frame_state_for): Ditto.
9805         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
9806         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
9807         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
9808
9809 2001-09-19  Richard Henderson  <rth@redhat.com>
9810
9811         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
9812         to the exit block.
9813         * Makefile.in (cfg.o): Depend on TM_P_H.
9814
9815 2001-09-19  Richard Henderson  <rth@redhat.com>
9816
9817         * config/alpha/alpha.c (local_symbol_p): Split out from ...
9818         (local_symbolic_operand): ... here.
9819         (small_symbolic_operand): Check mode.
9820         (global_symbolic_operand): New.
9821         (input_operand): Reject symbolics if explicit relocs.
9822         (call_operand): Tidy.
9823         (alpha_legitimize_address): Use movdi_er_high_g.
9824         (alpha_expand_mov): Likewise.
9825         * config/alpha/alpha-protos.h: Update.
9826         * config/alpha/alpha.h (PREDICATE_CODES): Update.
9827         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
9828         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
9829         (UNSPECV_LDGP2): Remove.
9830         (all call patterns): Use 's' not 'i' for symbolic constraint.
9831         (call_osf call_value_osf): Use call_operand.
9832         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
9833         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
9834         (prologue_ldgp_1_er): Remove.
9835         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
9836         (builtin_setjmp_receiver_er patterns): Use them.
9837         (exception_receiver_er): Likewise.
9838
9839 2001-09-19  Richard Henderson  <rth@redhat.com>
9840
9841         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
9842
9843         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
9844         and NON_LOCAL_GOTO notes.
9845         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
9846         copy over CALL_INSN_FUNCTION_USAGE.
9847
9848 2001-09-18  Catherine Moore  <clm@redhat.com>
9849
9850         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
9851         Define as 0.
9852
9853 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
9854
9855         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
9856         new-style tm_file specification.  Specify correct tm_p_file,
9857         md_file, and out_file for s390x.
9858
9859         * config/s390/linux.h, linux64.h:  Don't include other target
9860         macro header files.  Now handled via tm_file.
9861
9862         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
9863         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
9864         are defined before use.
9865
9866 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
9867
9868         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
9869         code generation only for Gnu assembler.
9870
9871 2001-09-18  Catherine Moore  <clm@redhat.com>
9872
9873         * config/stormy16 (LIB_SPEC): Remove -lnosys.
9874
9875 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
9876
9877         * config/mips/mips.c (mips_frame_set): New.
9878         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
9879         a parallel frame-related expression with a set for each register.
9880
9881 2001-09-18  Philip Blundell  <philb@gnu.org>
9882
9883         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
9884         header files.
9885
9886 2001-09-17  Dale Johannesen  <dalej@apple.com>
9887
9888         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
9889         * config/rs6000/aix.h (FIXED_R2): Define.
9890         * config/rs6000/darwin.h (FIXED_R2): Define.
9891         * config/rs6000/sysv4.h (FIXED_R2): Define.
9892
9893 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
9894
9895         * except.c (dw2_build_landing_pads): New local
9896         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
9897         barrier after clobbers.  Fixes c++/4012.
9898
9899 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9900
9901         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
9902
9903 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
9904
9905         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
9906         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
9907
9908 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9909
9910         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
9911         alloca/strcpy.
9912
9913 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
9914
9915         * cpphash.h (_cpp_lex_direct): New.
9916         * cpplex.c (_cpp_lex_token): Update.
9917         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
9918         and increment that pointer.
9919         * cppmacro.c (alloc_expansion_token): New.
9920         (lex_expansion_token): Lex macro expansion directly into
9921         macro storage.
9922
9923 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
9924
9925         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
9926
9927 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
9928
9929         * basic-block.h (free_bb_for_insn): Declare.
9930         * bb-reorder.c (label_for_bb): Use block_label.
9931         (emit_jump_to_block_after): Remove.
9932         (insert_intra_1): Do not update block_for_insn.
9933         (insert_inter_bb_scope_notes): Likewise; update bb->end
9934         * cfg.c (free_bb_for_insn): New.
9935         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
9936         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
9937         (commit_one_edge_insertion): Likewise.
9938         (commit_one_edge_insertion): Do not update BB boundary.
9939         (commit_edge_insertions): Do not call compute_bb_for_insn.
9940         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
9941         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
9942         (merge_blocks_move_successor_nojumps): Likewise.
9943         (try_crossjump_to_edge): Do not update block_for_insn.
9944         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
9945         * df.c (df_pattern_emit_later): Do not update BB boundary.
9946         (df_jump_pattern_emit_after): Likewise.
9947         (df_insn_move_before): Use emit_insn_before.
9948         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
9949          properly.
9950         (add_insn_after, add_insn_before, emit_insns_after): Update BB
9951         boundaries and basic_block_for_insn.
9952         (reorder_insns_nobb): Rename from reorder_insns.
9953         (reorder_insns): New.
9954         (emit_block_insn_before, emit_block_insn_after): Kill.
9955         * flow.c (check_function_return_warnings): Do not call
9956         compute_bb_for_insn; Do not free basic_block_for_insn.
9957         (attempt_auto_inc): Do not update basic_block_for_insn.
9958         * function.c (emit_return_into_block): Likewise;
9959         do not update BB boundaries.
9960         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
9961         (insert_insn_end_bb): Use emit_insn_before; Likewise.
9962         (pre_insert_copy_insn): Likewise.
9963         (update_ld_motion_notes): Likewise.
9964         (insert_insn_start_bb): Likewise.
9965         (replace_store_insn): Likewise.
9966         * ifcvt.c (noce_process_if_block): Likewise.
9967         (if_convert): Do not call compute_bb_for_insn.
9968         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
9969         Use emit_insn_before and emit_insn_after.
9970         * recog.c (split_all_insns): Do not update BB boundaries;
9971         Do not call compute_bb_for_insn.
9972         (peephole2_optimize): Do not update BB boundaries.
9973         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
9974         emit_insn_before.
9975         (emit_swap_insn): Likewise.
9976         (convert_regs_1): Likewise.
9977         * reload1.c (reload): Call compute_bb_for_insn.
9978         * rtl.h (reorder_insns_nobb): Declare.
9979         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
9980         * toplev.c (rest_of_compilation): Call free_bb_for_insn
9981         at places CFG is invalidated; do not call compute_bb_for_insn.
9982
9983         * cfg.c (expunge_block): Invalidate BB structure.
9984
9985         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
9986         array.
9987
9988         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
9989
9990 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
9991
9992         * cpphash.h (_cpp_lex_token): Update prototype.
9993         * cpplex.c (_cpp_lex_token): New prototype.
9994         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
9995         lex_macro_node, read_flag, do_pragma_poison): Update.
9996         * cppmacro.c (cpp_get_token, parse_params,
9997         lex_expansion_token): Update.
9998
9999 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
10000
10001         * cppmain.c (scan_translation_unit): Don't worry about
10002         putting a space after hashes.
10003         * cpplib.c (directive_diagnostics): New.
10004         (_cpp_handle_directive): Update to use directive_diagnostics.
10005         (run_directive): Don't toggle prevent_expansion.
10006         (do_line): Backup in case of the line extension.
10007         * cpplib.h (cpp_lexer_pos): Remove.
10008         * cppmacro.c (_cpp_create_definition): Precede a leading #
10009         with whitespace.
10010
10011 2001-09-15  Richard Henderson  <rth@redhat.com>
10012
10013         * c-typeck.c (comptypes): Handle zero-length arrays properly.
10014
10015 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10016
10017         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
10018
10019 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10020
10021         PR preprocessor/3571
10022         * tradcpp.c (handle_directive): Skip non-vertical space.
10023
10024 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10025
10026         * cppmain.c (setup_callbacks): Set line callback only
10027         if outputting preprocessed source.
10028
10029 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10030
10031         * collect2.c (main): Const-ification.
10032         * gcc.c (translate_options, process_command): Use xstrdup in
10033         lieu of xmalloc/strcpy.
10034         (main): Use concat in lieu of xmalloc/strcpy/strcat.
10035
10036 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10037
10038         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
10039         example.
10040
10041 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10042
10043         * scan-decls.c (scan_decls): Fix typo.
10044
10045 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10046
10047         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
10048         Split mlstring_pos into mls_line and mls_col.
10049         * cppinit.c (cpp_create_reader): Initialize line to 1.
10050         (cpp_destroy): Free tokenruns.
10051         (push_include): Don't update lexer_pos.
10052         * cpplex.c (unterminated, parse_string): Update.
10053         (lex_token): Don't update lexer_pos, update.
10054         * cpplib.c (if_stack): Save line instead of line + col.
10055         (start_directive, _cpp_do__Pragma, do_else, do_elif,
10056         push_conditional, _cpp_pop_buffer): Update.
10057         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
10058         (_cpp_create_definition): Update.
10059
10060 2001-09-15  Eric Christopher  <echristo@redhat.com>
10061
10062         * config/mips/abi64.h: Add support for MEABI.
10063
10064 2001-09-15  Eric Christopher  <echristo@redhat.com>
10065
10066         * config/mips/mips.md: Add unspec #2.
10067         (reload_indi): Use.
10068         (reload_outdi): Ditto.
10069         (reload_outsi): Ditto.
10070         (HILO_delay): New.
10071
10072 2001-09-15  Eric Christopher  <echristo@redhat.com>
10073             Jason Eckhardt  <jle@redhat.com>
10074
10075         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
10076         * config/mips/isa32-linux.h: New file.
10077         * config/mips/isa3264.h: Ditto.
10078         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
10079         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
10080         (output_block_mode): Support MEABI.
10081         (function_arg): Ditto. Fix floating point arg passing.
10082         (mips_va_start): Ditto.
10083         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
10084         processors.
10085         (mips_asm_file_start): Add new section to pass abi to gdb.
10086         (function_arg_pass_by_reference): Support MEABI.
10087         (mips_parse_cpu): Support mips32 and mips64 processors.
10088         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
10089         TARGET_MIPS5KC.  Support isa32 and isa64.
10090         (processor_type): Add r4kc, r5kc, r20kc.
10091         (GENERATE_MULT3_SI): New.
10092         (GENERATE_MULT3_DI): Ditto.
10093         (GENERATE_MULT3): Remove.
10094         (ISA_HAS_64BIT_REGS): Add isa == 64.
10095         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
10096         (ISA_HAS_MADD_MSUB): New.
10097         (ISA_HAS_CLZ_CLO): Ditto.
10098         (ISA_HAS_DCLZ_DCLO): Ditto.
10099         (ABI_GAS_ASM_SPEC): New.
10100         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
10101         (ASM_SPEC): Ditto.
10102         (LINK_SPEC): Ditto.
10103         (SUBTARGET_CC1_SPEC): Ditto.
10104         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
10105         (PAD_VARARGS_DOWN): Support MEABI.
10106         (HARD_REGNO_NREGS): Move to mips.c.
10107         (ASM_OUTPUT_IDENT): Add #undef.
10108         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
10109         (mulsi3): Use GENERATE_MULT3_SI.
10110         (mulsi3_mult3): Ditto.  Support mips32, mips64.
10111         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
10112         (mul_sub_si): New pattern.
10113         (unnamed splitters): New.
10114         (muldi3): Use GENERATE_MULT3_DI.
10115         (muldi3_internal2): Ditto.
10116         (movdicc): Support mips32.
10117         * config/mips/t-isa3264: New file.
10118
10119 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
10120
10121         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
10122         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
10123         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
10124
10125         * reorg.c (fill_slots_from_thread): After call to
10126         steal_delay_list_from_target, update own_thread as new_thread may
10127         have branched.
10128
10129 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
10130
10131         * cpperror.c (print_location): Take line and column, for
10132         default positioning use the previously lexed token.
10133         (_cpp_begin_message): Take line and column.
10134         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
10135         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
10136         * cpphash.h (_cpp_begin_message): Update prototype.
10137         * cppinit.c (push_include): Don't set output line.
10138         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
10139         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
10140         (do_pragma): Kludge for front ends.  Don't expand macros at all.
10141         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
10142         (struct cpp_token): Remove output_line.
10143         (struct cpp_callbacks): New member line_change.
10144         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
10145         cpp_get_token): Preserve BOL flag.
10146         (cpp_get_line): Remove.
10147         (_cpp_backup_tokens): Remove useless abort().
10148         * cppmain.c (cb_line_change): New.
10149         (scan_translation_unit): Don't worry about starting new lines here.
10150         * scan-decls.c (scan_decls): Update.
10151         * c-lex.c (c_lex, init_c_lex): Update.
10152         (cb_line_change, src_lineno): New.
10153
10154 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
10155
10156         * tree.c (append_random_chars): Generate the random
10157         characters in a reproducable fashion.
10158
10159 2001-09-14  Richard Henderson  <rth@redhat.com>
10160
10161         * config/i386/i386.c (internal_label_prefix): New.
10162         (internal_label_prefix_len): New.
10163         (override_options): Set them.
10164         (local_symbolic_operand): New.
10165         (legitimate_pic_address_disp_p): Use it.
10166         (legitimize_pic_address): Likewise.
10167
10168 2001-09-14  Marc Espie <espie@openbsd.org>
10169
10170         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
10171         correctly.
10172
10173 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10174
10175         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
10176         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
10177
10178 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
10179
10180         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
10181         invocation of SUBREG_REGNO_OFFSET.
10182
10183         * haifa-sched.c: Fix typo in FSF copyright statement.
10184         * sched-deps.c: Fix typo in FSF copyright statement.
10185         * sched-ebb.c: Fix typo in FSF copyright statement.
10186         * sched-rgn.c: Fix typo in FSF copyright statement.
10187         * sched-vis.c: Fix typo in FSF copyright statement.
10188
10189         * config.gcc: Move inclusion of arm elf specific header files
10190         from the files themselves into the tm_file variable.  Make
10191         sure that elfos.h is included before target specific elf
10192         headers.
10193         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
10194         already defined.
10195         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
10196         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
10197         ASM_OUTPUT_CASE_LABEL): Protect definition.
10198         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
10199         not already defined.
10200         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
10201         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
10202         Remove duplicate definition.
10203         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
10204         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
10205         (RDATA_SECTION_FUNCTION): Remove redundant definition.
10206         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
10207         Remove inclusion of arm/elf.h.
10208         * config/arm/unknown-elf.h: as for conix-elf.h.
10209         (STARTFILE_SPEC): Include crti.o and crtn.o.
10210         * config/arm/linux-elf.h: as for conix-elf.h.
10211         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
10212         * config/arm/strongarm-elf.h: Remove inclusion of
10213         unknown-elf.h.
10214         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
10215         * config/arm/unknown-elf-oabi.h: Remove inclusion of
10216         unknown-elf.h and elf.h.
10217         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
10218         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
10219         ASM_WEAKEN_LABEL): Remove redundant definition.
10220         * config/arm/elf.h: Test for inclusion of elfos.h
10221         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
10222         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
10223         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
10224         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
10225         redundant definition.
10226         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
10227         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
10228         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
10229         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
10230         Add rules to build crti.o and crtn.o
10231         * crti.asm: New file.
10232         * crtn.asm: New file.
10233
10234 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10235
10236         * c-parse.in (_yylex): Use _cpp_backup_tokens.
10237         * cpphash.h (struct tokenrun): Add prev.
10238         (struct lexer_state): Remove bol.
10239         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
10240         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
10241         : Remove.
10242         * cppinit.c (cpp_create_reader): Don't set bol.
10243         (cpp_destroy): Don't free lookaheads.
10244         * cpplex.c (lex_directive): Remove.
10245         (next_tokenrun): Update.
10246         (_cpp_lex_token): Clean up logic.
10247         (lex_token): Update to return a pointer to lexed token, since it
10248         can move to the start of the buffer.  Simpify newline handling.
10249         * cpplib.c (SEEN_EOL): Update.
10250         (skip_rest_of_line): Remove lookahead stuff.
10251         (end_directive): Line numbers are already incremented.  Revert
10252         to start of lexed token buffer if we can.
10253         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
10254         parse_answer): Use _cpp_backup_tokens.
10255         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
10256         instead.  Don't check for EOL.
10257         (do_include_common, do_line, do_pragma_system_header): Use
10258         skip_rest_of_line.
10259         * cpplib.h (BOL, _cpp_backup_tokens): New.
10260         * cppmacro.c (save_lookahead_token, take_lookahead_token,
10261         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
10262         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
10263         (builtin_macro): Don't use cpp_get_line.
10264         (cpp_get_line): Short term kludge.
10265         (parse_arg): Handle directives in arguments here.  Back up when
10266         appropriate.  Store EOF at end of argument list.
10267         (funlike_invocation_p): Use _cpp_backup_tokens.
10268         (push_arg_context): Account for EOF at end of list.
10269         (cpp_get_token): Remove lookahead stuff.  Update.
10270
10271 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10272
10273         * c-parse.in (yyerror): Const-ification and/or static-ization.
10274         * c-typeck.c (push_member_name): Likewise.
10275         * collect2.c (main): Likewise.
10276         * dbxout.c (dbxout_parms): Likewise.
10277         * diagnostic.c (format_with_decl): Likewise.
10278         * dwarf2out.c (output_ranges): Likewise.
10279         * dwarfout.c (fundamental_type_code): Likewise.
10280         * except.c (dw2_output_call_site_table): Likewise.
10281         * gcc.c (do_spec_1): Likewise.
10282         * genopinit.c (optabs): Likewise.
10283         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
10284         gen_declaration_1, handle_impent): Likewise.
10285         * protoize.c (default_include, in_system_include_dir, abspath):
10286         Likewise.
10287         * sched-vis.c (visualize_stall_cycles): Likewise.
10288         * sdbout.c (plain_type_1, sdbout_end_function,
10289         sdbout_end_epilogue): Likewise.
10290         * varasm.c (decode_reg_name): Likewise.
10291
10292         * 1750a.c (mod_regno_adjust): Likewise.
10293         * alpha.c (alpha_write_one_linkage,
10294         unicosmk_output_default_externs): Likewise.
10295         * arm.c (arm_condition_codes): Likewise.
10296         * arm.h (arm_condition_codes): Likewise.
10297         * avr.c (output_movsisf, encode_section_info): Likewise.
10298         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
10299         Likewise.
10300         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
10301         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
10302         * m88k.c (output_function_profiler): Likewise.
10303         * mips.c (mips_output_conditional_branch): Likewise.
10304         * ns32k.c (ns32k_out_reg_names): Likewise.
10305         * ns32k.h (ns32k_out_reg_names): Likewise.
10306         * pj.c (pj_output_rval): Likewise.
10307         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
10308         * sparc.c (sparc_flat_function_prologue,
10309         sparc_flat_function_epilogue): Likewise.
10310
10311 2001-09-13  Markus Werle <numerical.simulation@web.de>
10312             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10313
10314         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
10315         Aachen University of Technology".
10316
10317 2001-09-13  Andreas Schwab  <schwab@suse.de>
10318
10319         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
10320         C99.
10321
10322 2001-09-13  Richard Henderson  <rth@redhat.com>
10323
10324         * config/alpha/alpha.c (small_symbolic_operand): New.
10325         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
10326         (some_operand, input_operand): Don't handle HIGH.
10327         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
10328         (alpha_expand_mov): Likewise.
10329         (print_operand) [H]: Just print HIGH symbol.
10330         (print_operand_address): Handle small data.
10331         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
10332         (TARGET_SWITCHES): Add -msmall-data/large-data.
10333         (PIC_OFFSET_TABLE_REGNUM): New.
10334         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
10335         (PREDICATE_COES): Update.
10336         * config/alpha/alpha.md (adddi_er_high): New.
10337         (adddi_er_low): Handle small data.
10338         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
10339         prefer .sdata to .rodata.
10340         (SELECT_RTX_SECTION): Likewise.
10341
10342 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
10343
10344         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
10345         defining __size_t and leaving size_t undefined.
10346
10347 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
10348
10349         * basic-block.h (expunge_block): Declare.
10350         * cfg.c (expunge_block): Remove static declaration.
10351
10352 2001-09-12  Richard Henderson  <rth@redhat.com>
10353
10354         * integrate.c (copy_insn_list): Copy label name from
10355         NOTE_INSN_DELETED_LABEL.
10356
10357 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10358
10359         * c-common.c (c_tree_code_name): Const-ification.
10360         * c-decl.c (c_decode_option): Likewise.
10361         * c-typeck.c (warn_for_assignment): Likewise.
10362         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
10363         Likewise.
10364         * cppinit.c (output_deps): Likewise.
10365         * dependence.c (dependence_string, direction_string): Likewise.
10366         * dwarf2out.c (output_ranges): Likewise.
10367         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
10368         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
10369         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
10370         standard_startfile_prefix, standard_startfile_prefix_1,
10371         standard_startfile_prefix_2, tooldir_base_prefix,
10372         standard_bindir_prefix, find_a_file): Likewise.
10373         * genattrtab.c (make_length_attrs): Likewise.
10374         * gencheck.c (tree_codes): Likewise.
10375         * genemit.c (gen_split): Likewise.
10376         * genrecog.c (special_mode_pred_table): Likewise.
10377         * graph.c (graph_ext): Likewise.
10378         * protoize (default_include): Likewise.
10379         * reload.c (reload_when_needed_name): Likewise.
10380         * sched-vis.c (visualize_stall_cycles): Likewise.
10381         * tlink.c (recompile_files): Likewise.
10382         * toplev.c (decode_g_option): Likewise.
10383         * tradcpp.c (output_deps): Likewise.
10384         * varasm.c (decode_reg_name): Likewise.
10385
10386         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
10387         Const-ification.
10388         * arm.md: Likewise.
10389         * avr.c (avr_regnames, encode_section_info): Likewise.
10390         * c4x.c (float_reg_names): Likewise.
10391         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
10392         * elfos.h (const_section): Likewise.
10393         * i386.c (ix86_comp_type_attributes): Likewise.
10394         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
10395         * ia64/aix.h (UNIQUE_SECTION): Likewise.
10396         * ia64.c (type_names): Likewise.
10397         * m68hc11.c (reg_class_names): Likewise.
10398         * m88k.c (m_options): Likewise.
10399         * mips.c (mips_output_conditional_branch, mips_unique_section):
10400         Likewise.
10401         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
10402         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
10403         ultra_code_names): Likewise.
10404         * sparc.h (OVERRIDE_OPTIONS): Likewise.
10405
10406 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
10407
10408         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
10409         Use --fatal-warnings option for gas.
10410         * configure: Rebuilt.
10411
10412 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10413
10414         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
10415
10416 2001-09-11  Jim Wilson  <wilson@redhat.com>
10417
10418         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
10419
10420 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
10421
10422         * builtins.c (c_strlen): Treat an offset too large for a
10423         HOST_WIDE_INT as out of range.
10424
10425 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
10426
10427         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
10428         (EDGE_CRITICAL_P): New predicate.
10429         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
10430         handling.
10431         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
10432         (dump_edge_info): Remove "crit".
10433         * cfganal.c (mark_critical_edges): Kill.
10434         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
10435         * cfgcleanup.c (cleanup_cfg): Likewise.
10436         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
10437         (find_spanning_tree): Likewise.
10438         * reg-stack.c (convert_regs_1): Likewise.
10439         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
10440
10441         * basic-block.h (create_basic_block_structure): New.
10442         (create_basic_block): Update prototype.
10443         (force_nonfallthru): New.
10444         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
10445         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
10446         handle updating of block_for_insn, creating of empty BBs and BBs at
10447         the end of INSN chain.
10448         (create_basic_block): New function.
10449         (split_block): Use create_basic_block.
10450         (force_nonfallthru_and_redirect): Break out from ...; cleanup
10451         (redirect_edge_and_branch_force): ... here.
10452         (force_nonfallthru): New.
10453         (split_edge): Rewrite to use force_nonfallthru and create_block.
10454         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
10455         (find_basic_blocks): Free basic_block_for_insn.
10456         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
10457
10458         * cfg.c: Fix formating.
10459         * cfgcleanup.c: Fix formating.
10460         (merge_blocks, tail_recursion_label_p): Return bool.
10461         (merge_blocks_move_predecessor_nojumps,
10462          merge_blocks_move_successor_nojumps): Return void.
10463
10464 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
10465
10466         * configure.in: Check whether assembler supports section merging.
10467         * config.in: Rebuilt.
10468         * configure: Rebuilt.
10469         * varasm.c (variable_section, output_constant_pool): Pass alignment
10470         to SELECT_SECTION and SELECT_RTX_SECTION.
10471         (mergeable_string_section): New.
10472         (mergeable_constant_section): New.
10473         (default_elf_asm_named_section): Output SECTION_MERGE and
10474         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
10475         * output.h (mergeable_string_section): New.
10476         (mergeable_constant_section): New.
10477         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
10478         * toplev.c (flag_merge_constants): New.
10479         (f_options): Add -fmerge-constants and -fmerge-all-constants
10480         options.
10481         (toplev_main): Default to -fno-merge-constants if not optimizing.
10482         * flags.h (flag_merge_constants): Add extern.
10483         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
10484         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
10485         argument.
10486         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
10487         Define if assembler has working .subsection -1 support.
10488         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
10489         Put constant into special SHF_MERGE sections if the linker should
10490         attempt to merge duplicates.
10491         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
10492         macro argument.
10493         Put constant into special SHF_MERGE sections if the linker should
10494         attempt to merge duplicates.
10495         * config/alpha/elf.h: Likewise.
10496         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
10497         has working .subsection -1 support.
10498         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
10499         SELECT_SECTION.
10500         * config/svr3.h: Likewise.
10501         * config/darwin.h: Likewise.
10502         * config/arm/aof.h: Likewise.
10503         * config/arm/linux-elf.h: Likewise.
10504         * config/avr/avr.h: Likewise.
10505         * config/c4x/c4x.h: Likewise.
10506         * config/d30v/d30v.h: Likewise.
10507         * config/i386/dgux.h: Likewise.
10508         * config/i386/osfrose.h: Likewise.
10509         * config/i386/sco5.h: Likewise.
10510         * config/i386/svr3gas.h: Likewise.
10511         * config/ia64/aix.h: Likewise.
10512         * config/m32r/m32r.h: Likewise.
10513         * config/m68k/m68k.h: Likewise.
10514         * config/m88k/dgux.h: Likewise.
10515         * config/m88k/m88k.h: Likewise.
10516         * config/mcore/mcore-pe.h: Likewise.
10517         * config/mips/mips.h: Likewise.
10518         * config/pa/pa.h: Likewise.
10519         * config/pa/pa-linux.h: Likewise.
10520         * config/romp/romp.h: Likewise.
10521         * config/rs6000/sysv4.h: Likewise.
10522         * config/rs6000/xcoff.h: Likewise.
10523         * config/s390/linux.h: Likewise.
10524         * config/sparc/sparc.h: Likewise.
10525         * config/sparc/sysv4.h: Likewise.
10526         * config/stormy16/stormy16.h: Likewise.
10527         * config/v850/v850.h: Likewise.
10528         * config/vax/vms.h: Likewise.
10529         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
10530         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
10531         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
10532         default_elf_asm_named_section for SHF_MERGE sections.
10533
10534 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
10535
10536         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
10537         is OK.
10538
10539 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
10540
10541         * c-common.c (split_specs_attrs): Allow for empty attributes with
10542         empty TREE_PURPOSE.  Fixes PR c/4294.
10543
10544 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
10545
10546         * basic-block.h (cached_make_edge, make_single_succ): New.
10547         (make_edge): Remove first parameter.
10548         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
10549         * cfg.c (cached_make_edge): Rename from make_edge; return newly
10550         created edge; use obstack allocation.
10551         (make_edge, make_single_succ_edge): New.
10552         (first_removed_edge): New static variable.
10553         (init_flow): Initialize first_removed_edge and n_edges.
10554         (clear_edges): Use remove_edge.
10555         (flow_delete_block): Likewise.
10556         (remove_edge): Add removed edges to the removed edges list.
10557         (split_block, redirect_edge_and_branch_force, split_edge):
10558         Use make_edge.
10559         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
10560         (add_noreturn_fake_exit_edges): Likewise.
10561         (connect_infinite_loops_to_exit): Liekwise.
10562         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
10563         Use cached_make_edge.
10564         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
10565         * profile.c (branch_prob): Update make_edge call.
10566         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
10567
10568 2001-09-11  Richard Henderson  <rth@redhat.com>
10569
10570         * config/alpha/alpha.c: Tidy formatting.
10571         (local_symbolic_operand): Verify mode.
10572         (alpha_sa_mask): Ignore unicos for eh_return.
10573         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
10574         * config/alpha/alpha.md (umk divsi patterns): Remove.
10575         (extendsfdf2): Remove unicos check.
10576         (tablejump): Merge vms and unicos code; always use direct set
10577         plus label_ref use.
10578
10579 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10580
10581         * config.gcc (alpha*-*-unicosmk*): New target.
10582
10583         * config/alpha/alpha-protos.h (symbolic_operand,
10584         unicosmk_add_call_info_word, unicosmk_add_extern,
10585         unicosmk_defer_case_vector, unicosmk_unique_section,
10586         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
10587         unicosmk_asm_file_start, unicosmk_asm_file_end,
10588         unicosmk_output_common): Declare.
10589
10590         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
10591         direct_return, function_arg, alpha_va_start, alpha_va_arg,
10592         alpha_does_function_need_gp, alpha_end_function): Support Cray
10593         Unicos/Mk.
10594         (alpha_init_machine_status, alpha_mark_machine_status,
10595         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
10596         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
10597         unicosmk_asm_named_section, unicosmk_insert_attributes,
10598         unicosmk_section_type_flags, symbolic_operand,
10599         unicosmk_output_module_name, unicosmk_output_default_externs,
10600         unicosmk_output_dex, unicosmk_output_externs,
10601         unicosmk_output_addr_vec, unicosmk_ssib_name,
10602         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
10603         unicosmk_asm_file_end, unicosmk_output_common,
10604         unicosmk_section_type_flags, unicosmk_unique_section,
10605         unicosmk_add_call_info_word, unicosmk_text_section,
10606         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
10607         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
10608         unicosmk_dex_count, unicosmk_special_name): New.
10609         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
10610         TARGET_ABI_UNICOSMK.
10611         (get_aligned_mem, alpha_expand_unaligned_load,
10612         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
10613         alpha_expand_unaligned_store_words): Support big-endian mode.
10614         (print_operand): Likewise. New format specifier 't'. Use
10615         TARGET_AS_SLASH_BEFORE_SUFFIX.
10616         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
10617         (alpha_pv_save_size): Update with above change.
10618         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
10619         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
10620         Unicos/Mk.
10621
10622         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
10623         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
10624         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
10625         (EXTRA_CONSTRAINT): New constraint 'U'.
10626         (PREDICATE_CODES): Add symbolic_operand.
10627
10628         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
10629         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
10630         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
10631         (integer division and modulus patterns): Split in default and
10632         Unicos/Mk versions.
10633         (*divmodsi_internal, *divmoddi_internal): Disable for
10634         TARGET_ABI_UNICOSMK.
10635         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
10636         little-endian and big-endian versions.
10637         (ext, ins, msk): Likewise.
10638         (extv, extzv, insv): Support big-endian mode.
10639         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
10640         (call_umk, call_value_umk, *call_umk, tablejump_umk,
10641         *tablejump_umk_internal, *call_value_umk): New.
10642         (*movdi_nofix): Add pattern for loading an address into a register on
10643         TARGET_ABI_UNICOSMK.
10644         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
10645         (umk_mismatch_args, arg_home_umk): New.
10646         (various insns): Don't use mov, fmov, nop, fnop and unop.
10647         (realign): Support TARGET_ABI_UNICOSMK.
10648
10649         * config/alpha/unicosmk.h: New file.
10650         * config/alpha/t-unicosmk: New file.
10651
10652         * fixinc/inclhack.def (unicosmk_restrict): New.
10653         * fixinc/fixincl.x: Regenerate.
10654
10655         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
10656         (wchar_t): Check for and define __WCHAR_T__.
10657
10658 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
10659
10660         * combine.c (simplify_shift_const): Treat shifts by the mode
10661         size as undefined.
10662
10663 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
10664
10665         * cpphash.h (struct tokenrun): New.
10666         (struct cpp_context): New member bol.
10667         (struct cpp_reader): New members.
10668         (_cpp_init_tokenrun): New.
10669         * cppinit.c (cpp_create_reader): Set up the token runs.
10670         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
10671         (lex_token): New internalised version of _cpp_lex_token.  Don't
10672         handle directives or the multiple include optimization here any
10673         more.  Simply lex a token.
10674         * cpplib.c (run_directive): Clear bol.
10675         (_cpp_pop_buffer): Set bol.
10676         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
10677         arguments.
10678
10679 2001-09-11  Michael Meissner  <meissner@redhat.com>
10680
10681         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
10682         give an error if the user uses -mfp32.
10683         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
10684         default options.
10685         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
10686         floating point register size.
10687         (EXTRA_SPECS): Add CPP_FPR_SPEC.
10688
10689         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
10690         HOST_WIDE_INT_PRINT_DEC to properly print the result of
10691         int_size_in_bytes.
10692         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
10693         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
10694
10695 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
10696
10697         * dbxout.c (dbxout_parms): Fix typo in comment.
10698         * unroll.c (loop_find_equiv_value): Ditto.
10699         * toplev.c (rest_of_compilation): Ditto.
10700         * loop.c (scan_loop): Ditto.
10701         * dwarf2out.c (struct dw_fde_struct): Ditto.
10702
10703 2001-09-10  Zack Weinberg  <zackw@panix.com>
10704
10705         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
10706         copying identifier when we're just going to throw it away.
10707         (parse_identifier_slow): New routine to handle abnormal cases.
10708         (_cpp_lex_token): Update call site.
10709
10710         * hashtable.c (ht_lookup): Don't assume that the string we've
10711         been given is NUL-terminated.
10712         * system.h: #define __builtin_expect(a, b) to (a) if not
10713         GCC >=3.0.
10714
10715 2001-09-10  Michael Meissner  <meissner@redhat.com>
10716
10717         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
10718         binutils, gdb.
10719
10720 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
10721
10722         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
10723
10724 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10725
10726         * builtins.c (c_getstr): Correct thinko in last change and further
10727         cleanup.
10728
10729 2001-09-10  Tim Freeman <tim@fungibole.com>
10730
10731         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
10732         into varray's and register them as roots with the garbage
10733         collector so they are not collected too soon.
10734
10735 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
10736
10737         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
10738         New.
10739         * basic-block.h (flow_obstack, label_value_list,
10740         tail_recursion_label_list): Declare
10741         (tidy_fallthru_edges): Declare.
10742         (expunge_block, last_loop_beg_note): Delete.
10743         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
10744         * cfg.c: New file
10745         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
10746         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
10747         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
10748         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
10749         expunge_block, flow_delete_block, compute_bb_for_insn,
10750         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
10751         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
10752         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
10753         try_redirect_by_replacing_jump, last_loop_beg_note,
10754         redirect_edge_and_branch, redirect_edge_and_branch_force,
10755         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
10756         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
10757         commit_edge_insertions, dump_flow_info, debug_flow_info,
10758         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
10759         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
10760         Move here from flow.c
10761         * cfganal.c: New file.
10762         (forwarder_block_p, can_fallthru, mark_critical_edges,
10763          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
10764          find_unreachable_blocks, create_edge_list, free_edge_list,
10765          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
10766          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
10767          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
10768          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
10769          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
10770          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
10771         Move here from flow.c
10772         * cfgbuild.c: New file
10773         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
10774          make_edges, find_basic_blocks_1, find_basic_blocks,
10775          find_sub_basic_blocks): Move here from flow.c
10776         * cfgcleanup.c: New file.
10777         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
10778          merge_blocks_move_predecessor_nojumps,
10779          merge_blocks_move_successor_nojumps, merge_blocks,
10780          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
10781          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
10782         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
10783         if succeeded.
10784         * cfgloop.c: New file
10785         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
10786          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
10787          flow_loop_exit_edges_find, flow_loop_nodes_find,
10788          flow_loop_pre_header_scan, flow_loop_pre_header_find,
10789          flow_loop_tree_node_add, flow_loops_tree_build,
10790          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
10791          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
10792         Move here from flow.c
10793         * flow.c: Remove everything moved elsewhere
10794         * output.h (cleanup_cfg): Return bool.
10795
10796         * bb-reorder.c (reorder_block_def): Remove 'index'.
10797         (insert_intra_1): Add argument BB, set block for new note.
10798         (make_reorder_chain): Do not depdent on BB indexes.
10799         (make_reorder_chain_1): Do not use BB indexes.
10800         (label_for_bb): Likewise; set BB for new insn.
10801         (emit_jump_to_block_after): Likewise.
10802         (fixup_reorder_chain): Sanity check that all basic blocks
10803         are chained; verify newly created insn chain; remove
10804         undocnitional jump simplifying; Do not use BB indexes;
10805         properly initialize count and frequency information;
10806         dump reordered sequence.
10807         (insert_intra_bb_scope_notes): update call of insert_intra_1.
10808         (insert_inter_bb_scope_notes): Set block for new insn.
10809         (reorder_basic_blocks): Dump flow info before reoredering.
10810
10811 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10812
10813         * alias.c (clear_reg_alias_info): Use K&R format definition.
10814         Avoid unsigned warning.
10815         * builtins.c: Use "unsigned int", not "unsigned".
10816         (target_char_cast): Use host_integerp and tree_low_cst.
10817         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
10818         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
10819         (c_getstr): Likewise.
10820         (std_expand_builtin_va_arg): Use int_size_in_bytes.
10821         (builtin_memcpy_read_str): Avoid unsigned warning.
10822         (expand_builtin_memcpy): Alignments are unsigned.
10823         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
10824         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
10825         * predict.c (expensive_function_p): LIMIT now unsigned.
10826         * resource.c (mark_target_live_regs): Make some vars unsigned.
10827         * sdbout.c: Use "unsigned int", not "unsigned".
10828         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
10829         (sdbout_source_line): Likewise.
10830         (sdbout_record_type_name): Remove "const" for NAME declaration.
10831         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
10832
10833 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
10834
10835         * calls.c (store_one_arg): Expand comment.
10836
10837 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10838
10839         * calls.c (store_one_arg): Make sure that the entire argument is
10840         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
10841
10842 2001-09-09  Richard Henderson  <rth@redhat.com>
10843
10844         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
10845
10846 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
10847
10848         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
10849
10850 2001-09-09  Richard Henderson  <rth@redhat.com>
10851
10852         * config/alpha/alpha.c (alpha_next_sequence_number): New.
10853         (alpha_this_literal_sequence_number): New.
10854         (alpha_this_gpdisp_sequence_number): New.
10855         (some_operand, input_operand): Add HIGH.
10856         (local_symbolic_operand): New.
10857         (alpha_encode_section_info): New.
10858         (alpha_legitimate_address_p): Allow LO_SUM.
10859         (alpha_legitimize_address): Generate HIGH+LO_SUM.
10860         (alpha_expand_mov): Likewise.
10861         (secondary_reload_class): Check memory_operand not general_operand
10862         for FP_REGS test.
10863         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
10864         (alpha_expand_unaligned_store): Likewise.
10865         (alpha_expand_unaligned_load_words): Likewise.
10866         (alpha_expand_unaligned_store_words): Likewise.
10867         (alpha_expand_block_clear): Likewise.
10868         (print_operand): Handle %#, %*, %H.
10869         (print_operand_address): Handle LO_SUM.
10870         (find_lo_sum): New.
10871         (alpha_does_function_need_gp): Use it.
10872         (alpha_expand_block_move): Fix signed compare warnings.
10873         (alpha_sa_mask, alpha_align_insns): Likewise.
10874         * config/alpha/alpha-protos.h: Update.
10875         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
10876         (MASK_EXPLICIT_RELOCS): New.
10877         (TARGET_SWITCHES): Add -mexplicit-relocs.
10878         (EXTRA_CONSTRAINT): Add 'T'.
10879         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
10880         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
10881         (ENCODE_SECTION_INFO): Out line.
10882         (REDO_SECTION_INFO_P): New.
10883         (STRIP_NAME_ENCODING): New.
10884         (ASM_OUTPUT_LABELREF): New.
10885         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
10886         (PREDICATE_CODES): Update.
10887         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
10888         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
10889         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
10890         builtin_setjmp_receiver_er, exception_receiver_1_er,
10891         call_value_osf_1_er): New patterns.
10892         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
10893         (movqi, movhi, movsi): Add explicit $31 base register to lda.
10894         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
10895         (FINAL_PRESCAN_INSN): New.
10896
10897 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
10898
10899         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
10900
10901 2001-09-08  Andreas Jaeger  <aj@suse.de>
10902
10903         * i386.h (TARGET_SWITCHES): Fix description.
10904
10905 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
10906
10907         * rs6000.c (num_insns_constant): Compute number of instructions
10908         more accurately.
10909
10910         * doc/install.texi: Explain AIX exception handling work-around.
10911         Update URL for AIX fixes.
10912
10913 2001-09-07  Jim Wilson  <wilson@redhat.com>
10914
10915         * alias.c (clear_reg_alias_info): New.
10916         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
10917         * rtl.h (clear_reg_alias_info): Declare.
10918
10919 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10920
10921         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
10922         available.
10923         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
10924         (m16m,edivm,emulm): Change declaration to match definition.
10925
10926 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
10927
10928         * reload.c (push_reload): Check for subreg_lowpart_p instead of
10929         SUBREG_BYTE being 0 when determining if the inner part of a subreg
10930         can be reloaded.
10931
10932 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10933
10934         * c-common.c (signed_or_unsigned_type): Handle machine mode types
10935         which have no corresponding C type.
10936         * fold_const.c (target_isinf,target_isnan,target_negative): Update
10937         the representation of 64-bit doubles to work with 64-bit ints.
10938
10939 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
10940
10941         * config/mips/mips.c (override_options): Do not override ISA when ABI
10942         specified if MIPS_CPU_STRING_DEFAULT was specified.
10943
10944 2001-09-07  Richard Henderson  <rth@redhat.com>
10945
10946         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
10947         (express_from_1): Wrap lines.
10948         * rtlanal.c (commutative_operand_precedence): Rename from
10949         operand_preference; export.
10950         * rtl.h: Declare it.
10951         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
10952         (simplify_binary_operation): Invoke simplify_plus_minus on
10953         (CONST (PLUS ...)) as well.
10954         (struct simplify_plus_minus_op_data): New.
10955         (simplify_plus_minus_op_data_cmp): New.
10956         (simplify_plus_minus): Use them.  Avoid infinite recursion with
10957         simplify_binary_operation wrt CONST.
10958
10959 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
10960
10961         * h8300-protos.h (general_operand_dst_push): Remove.
10962         * h8300.c (general_operand_dst_push): Likewise.
10963         * h8300.h (OK_FOR_T): Likewise.
10964         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
10965         * h8300.md (pushqi_h8300): New.
10966         (pushqi_h8300hs): Likewise.
10967         (pushqi): Likewise.
10968         (pushhi_h8300): Likewise.
10969         (pushhi_h8300hs): Likewise.
10970         (pushhi): Likewise.
10971
10972 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10973
10974         * genattrtab.c (attr_printf): First arg is unsigned.
10975         Clean up formatting of callers.
10976
10977 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
10978
10979         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
10980         registers.
10981
10982 2001-09-07  Andreas Jaeger  <aj@suse.de>
10983
10984         * i386.h (TARGET_SWITCHES): Fix descriptions.
10985
10986 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
10987
10988         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
10989
10990 2001-09-06  Ira Ruben  <ira@apple.com>
10991
10992         Remove OP_IDENTIFIER.
10993         * tree.def (OP_IDENTIFIER): Remove.
10994         * tree.c (tree_node_kind enum): Remove op_id_kind.
10995         (tree_node_kind_names): Remove "op_identifiers".
10996         (make_node): Remove OP_IDENTIFIER test.
10997         (build_op_identifier): Removed because it isn't being used.
10998         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
10999         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
11000
11001 2001-09-06  Richard Henderson  <rth@redhat.com>
11002
11003         * simplify-rtx.c (simplify_binary_operation): Revert last change.
11004
11005 2001-09-06  Richard Henderson  <rth@redhat.com>
11006
11007         * simplify-rtx.c (simplify_binary_operation): Simplify contents
11008         of CONST.
11009
11010 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11011
11012         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
11013         number used for CR register.
11014
11015 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
11016                           Joern Rennecke (amylaar@cygnus.com)
11017
11018         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
11019         * h8300.c (initial_offset): Handle offset between RP and FP.
11020         (h8300_return_addr_rtx): New function.
11021         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
11022         return register.
11023         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
11024         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
11025         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
11026         (CAN_ELIMINATE, REGISTER_NAMES):
11027         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
11028
11029 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
11030
11031         Remove TYPE_NONCOPIED_PARTS.
11032         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
11033         (struct tree_type): Remove noncopied_parts.
11034         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
11035         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
11036         (fixed_type_p): Remove.
11037         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
11038         (expand_expr, MODIFY_EXPR): Likewise.
11039         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
11040         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
11041
11042 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
11043
11044         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
11045         compiler warnings.
11046         (mask64_operand): Likewise.
11047         (includes_rldic_lshift_p): Likewise.
11048         (includes_rldicr_lshift_p): Likewise.
11049
11050 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
11051
11052         * objc/objc-act.c (build_message_expr): If a class method cannot
11053         be found, do not issue a warning if a corresponding instance
11054         method exists in the root class.
11055
11056 2001-09-05  Richard Henderson  <rth@redhat.com>
11057
11058         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
11059
11060 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
11061
11062         * function.c (ggc_mark_struct_function): Mark f->outer.
11063         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
11064         * integrate.c (output_inline_function): ... not here.
11065
11066 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
11067
11068         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
11069
11070         * i386.c (size_cost): New static variable.
11071         (override_function): Use size_cost when -Os is specified.
11072
11073         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
11074         properly;  Use current_function_calls_eh_return.
11075         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
11076         use leave to avoid dependency chain.
11077
11078         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
11079         get BB loop_depth instead of computing it from LOOP notes.
11080
11081         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
11082
11083 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11084
11085         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
11086         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
11087         UNALIGNED_DOUBLE_INT_ASM_OP): Define
11088
11089 2001-09-05  Jeffrey A Law  (law@cygnus.com)
11090             Jason Merrill (jason@redhat.com)
11091
11092         * stor-layout.c (layout_type): Complain if an array's size can
11093         not be represented in a size_t.
11094
11095         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
11096
11097 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
11098
11099         * gcc.c: (process_command) Add parentheses around assignment
11100         used as truth value.
11101
11102 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
11103
11104         * config/mips/mips.c (save_restore_insns): Don't mark any register
11105         save slots as unchanging if current_function_calls_eh_return.
11106
11107 2001-09-05  Richard Henderson  <rth@redhat.com>
11108
11109         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
11110         * config/alpha/alpha-protos.h: Declare it.
11111         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
11112         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
11113         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
11114         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
11115         (REG_OK_FOR_BASE_P): Select one of the above.
11116
11117 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
11118
11119         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
11120         (crti.o): Prefix name of object file with $(T).
11121         (crtn.o): Likewise.
11122
11123 2001-09-05  David S. Miller  <davem@redhat.com>
11124
11125         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
11126         * config/sparc/linux64.h: Likewise.
11127
11128 2001-09-05  Andreas Jaeger  <aj@suse.de>
11129
11130         * doc/invoke.texi (i386 Options): -mwide-multiply is not
11131         available anymore, remove the documentation.
11132         (i386 Options): Fix typo, cleanup index entries.
11133
11134         * prefix.c (concat): Remove, we can use the version from liberty.
11135
11136 2001-09-05  Richard Henderson  <rth@redhat.com>
11137
11138         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
11139         New functions split out of md file expanders.
11140         * config/alpha/alpha-protos.h: Declare them.
11141         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
11142
11143 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
11144
11145         * cppmacro.c (funlike_invocation_p): No need to restore context.
11146
11147 2001-09-04  Richard Henderson  <rth@redhat.com>
11148
11149         * reload.c (push_reload): Export.
11150         * reload.h (push_reload): Declare it.
11151
11152         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
11153         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
11154         * config/alpha/alpha.c (alpha_legitimize_address): New.
11155         (alpha_legitimize_reload_address): Likewise.
11156         * config/alpha/alpha-protos.h: Declare them.
11157
11158 2001-09-04  Stan Shebs  <shebs@apple.com>
11159
11160         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
11161         * config/darwin.c (machopic_stub_name): Account for internally
11162         generated lib calls such as memcpy.
11163
11164 2001-09-04  Richard Henderson  <rth@redhat.com>
11165
11166         * unwind.h (_UA_END_OF_STACK): New flag.
11167         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
11168
11169 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
11170
11171         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
11172
11173 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
11174
11175         * config/mips/mips.c (save_restore_insns): Change base_offset to
11176         fp_offset in second call to mips_emit_frame_related_store.
11177
11178 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
11179
11180         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
11181         sometimes be represented as a NOTE of type
11182         NOTE_INSN_DELETED_LABEL.
11183         (Insns): Document NOTE_INSN_DELETED_LABEL.
11184
11185 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
11186
11187         * c-common.h (tree_dump_index): Add more comments.
11188         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
11189         (dump_option_value_info): New struct.
11190         (dump_options): New array.
11191         (dump_switch_p): Parse switch options symbolically.
11192         * doc/invoke.texi (-fdump-ast): Rename to ...
11193         (-fdump-tree): ... here. Document that options are symbolic, and
11194         not all are applicable.
11195
11196 2001-09-04  David S. Miller  <davem@redhat.com>
11197
11198         * config/sparc/sparc.md (define_splits): Kill constraints.
11199
11200         Cleanup redundant and unused insn attributes.
11201         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
11202         binary, and move.  Mark ialu as default.
11203         (commented out define_function_unit "alu"): Kill.
11204         (define_attr "use_clobbered"): Kill.
11205         (whole file): Kill address insn type references.  Replace
11206         all unary/binary/move references with ialu.
11207         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
11208         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
11209         TYPE_IALU.
11210
11211         Simplify length insn attribute and make more judicious use
11212         of insn attribute defaulting.
11213         * config/sparc/sparc.md (all insns with length > one): Mark as
11214         insn type multi if real instructions, else use default if
11215         it is a forced splitter.
11216         (all insns with length == one): Use default insn length.
11217         (all insns of type ialu): Use default insn type.
11218
11219         Fix erroneous insn attribute settings.
11220         (addx): Set insn type to misc.
11221         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
11222         const_umulsidi3_sp64): Set insn type to imul.
11223
11224         Track SFmode vs DFmode insns according to UltraSPARC
11225         scheduling rules.
11226         * config/sparc/sparc.md ("fptype"): New attribute, default
11227         to "single".
11228         (all DFmode single insns): Mark as fptype "double".
11229
11230 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
11231
11232         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
11233
11234 2001-09-03  Richard Henderson  <rth@redhat.com>
11235
11236         * function.h (struct function): Add arg_pointer_save_area_init.
11237         * function.c (expand_function_end): Init arg_pointer_save_area.
11238         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
11239         when called from a nested function.
11240
11241 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
11242
11243         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
11244         is enabled.
11245
11246 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
11247
11248         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
11249
11250 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
11251
11252         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
11253         (emit_push_insn): Use specified padding direction when
11254         STACK_PUSH_CODE is POST_INC.
11255
11256         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
11257
11258 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11259
11260         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
11261
11262 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
11263
11264         * cppinit.c (cpp_start_read): Free the imacros list as we
11265         traverse it.  Don't free the chains before returning.
11266         (_cpp_push_next_buffer): Only try pushing buffers if we've
11267         completed -imacros handling.
11268
11269 2001-08-31  Eric Christopher  <echristo@redhat.com>
11270
11271         * gcc.c (handle_braces): Add explaination for abort.
11272
11273 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
11274
11275         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
11276         move adjustment of bitpos instead.
11277
11278 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
11279
11280         * function.c: Remove all_functions.  Make outer_function_chain
11281         static.
11282         (init_function_start): Don't add new function structure to
11283         all_functions.
11284         (find_function_data, push_function_context_to,
11285         pop_function_context_from, put_var_into_stack,
11286         trampoline_address): Update for changed structure element names.
11287         (push_function_context_to): Disentangle.
11288         (free_after_compilation): Also free F.
11289         (expand_dummy_function_end): Don't free cfun here.
11290         (put_var_into_stack): Comment why we can't use find_function_data here.
11291         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
11292         (mark_function_chain): Split into maybe_mark_struct_function and
11293         ggc_mark_struct_function.  Export the latter.
11294         (init_function_once): Mark from cfun and outer_function_chain;
11295         not all_functions.
11296
11297         * function.h (struct function): Kill next_global.  Rename next
11298         to outer.  All users updated to match.
11299         (all_functions, outer_function_chain): Don't declare.
11300
11301         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
11302         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
11303         don't touch f->inlinable, after calling rest_of_compilation.
11304
11305         * tree.h: Forward-declare struct function.  Prototype
11306         ggc_mark_struct_function.
11307
11308 2001-08-31  Kazu Hirata  <kazu@hxi.com>
11309
11310         * config/h8300/h8300.md (*andorhi3): Fix typos.
11311
11312 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11313
11314         * calls.c (emit_library_call_value): Don't use a fixed
11315         argument after VA_CLOSE, i.e. out of scope in traditional C.
11316
11317         * emit-rtl.c (gen_rtvec): Likewise.
11318
11319 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11320
11321         * Makefile.in (c-pragma.o): Depend on output.h.
11322         (reorg.o): Depend on except.h.
11323
11324         * c-pragma.c: Include output.h.
11325
11326         * reorg.c: Include except.h.
11327
11328         * unwind-dw2.c: Call __builtin_alloca, not alloca.
11329
11330 2001-08-31  Richard Henderson  <rth@redhat.com>
11331
11332         * sched-deps.c (add_dependence): Don't elide dependency if the
11333         conditional used by insn is modified in elem.
11334
11335 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
11336
11337         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
11338
11339 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
11340
11341         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
11342         dump_switch_p.
11343
11344 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
11345
11346         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
11347         function.
11348         (stormy16_asm_out_constructor): New function.
11349         (TARGET_ASM_CONSTRUCTOR): Define.
11350         (TARGET_ASM_DESTRUCTOR): Define.
11351
11352 2001-08-31  Andreas Jaeger  <aj@suse.de>
11353
11354         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
11355         * loop.c (add_label_notes): Likewise.
11356         * reload.c (find_reloads): Likewise.
11357         * config/sh/sh.c (machine_dependent_reorg): Likewise.
11358
11359 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
11360
11361         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
11362         code here.  Take _Unwind_{W,Sw}ord*.
11363         (read_encoded_value_with_base): Use them.
11364         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
11365         words.
11366         (extract_cie_info): Simplify read_?leb128 handling.
11367         (execute_stack_op, execute_cfa_program): Likewise.
11368         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
11369
11370 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
11371
11372         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
11373         the frame pointer to pop the stack if convenient.
11374
11375         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
11376         Don't use post-increment before combine.
11377         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
11378         a call-saved register.
11379
11380 2001-08-31  Andreas Jaeger  <aj@suse.de>
11381
11382         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
11383         code was correct.
11384
11385 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
11386
11387         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
11388         not DIV/MOD, of course.
11389
11390 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
11391
11392         * rtl.def: Undo my patch commited 2001-08-27.
11393
11394         * genattrtab.c: Ditto.
11395
11396         * rtl.h: Ditto.
11397
11398         * sched-int.h: Ditto.
11399
11400         * target-def.h: Ditto.
11401
11402         * target.h: Ditto.
11403
11404         * haifa-sched.c: Ditto.
11405
11406         * sched-rgn.c: Ditto.
11407
11408         * sched-vis.c: Ditto.
11409
11410         * Makefile.in: Ditto.
11411
11412         * doc/md.texi: Ditto.
11413
11414         * doc/tm.texi: Ditto.
11415
11416         * doc/contrib.texi: Ditto.
11417
11418         * doc/gcc.texi: Ditto.
11419
11420         * genattrtab.h: Remove it.
11421
11422         * genautomata.c: Remove it.
11423
11424         * genattr.c: Undo my patch and Richard Henderson's patch commited
11425         2001-08-27.
11426
11427 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
11428
11429         * config.gcc (h8300-*-elf*): New case.
11430         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
11431         (SUBTARGET_CPP_SPEC): Define.
11432         (EXTRA_SPECS): Define.
11433         (SUBTARGET_EXTRA_SPECS): Define.
11434         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
11435         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
11436
11437 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
11438
11439         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
11440         (LIB2FUNCS_EXTRA): Define.
11441         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
11442         config/h8300/fixunssfsi.c: New file.
11443
11444 2001-08-30  Kazu Hirata  <kazu@hxi.com>
11445
11446         * config/h8300/h8300.md (zero_extendqihi2): Changes to
11447         define_expand to accommodate target-specific attributes.
11448         (anonymous zero_extendqihi2 patterns): New.
11449
11450 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
11451
11452         * h8300.md (*andorhi3): New pattern.
11453
11454 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
11455
11456         * h8300.c (dosize): Fix test for "sub".
11457
11458 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
11459
11460         * c-typeck.c (pointer_diff): Try to eliminate common term before
11461         doing conversions.
11462
11463 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
11464
11465         * config/arm/arm.c (arm_compute_initial_elimination_offset):
11466         Account for the saves of the FP registers.
11467
11468         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
11469         (TEXT_SECTION_ASM_OP): Define.
11470         (INIT_SECTION_ASM_OP): Define.
11471         (FINI_SECTION_ASM_OP): Define.
11472         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
11473         (RDATA_SECTION_FUNCITON): Provide prototype.
11474
11475 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
11476
11477         * reload1.c (move2add_note_store): Correct typo checking for
11478         argument pushes.
11479
11480 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
11481
11482         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
11483         note should not be considered outside the libcall block.
11484
11485 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11486
11487         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
11488
11489 2001-08-29  Kazu Hirata  <kazu@hxi.com>
11490
11491         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
11492
11493 2001-08-29  Kazu Hirata  <kazu@hxi.com>
11494
11495         * config/h8300/h8300-protos.h: Add a prototype for
11496         emit_logical_op.
11497         * config/h8300/h8300.c (emit_logical_op): New.
11498         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
11499         (andsi3): Likewise.
11500         (iorhi3): Likewise.
11501         (iorsi3): Likewise.
11502         (xorhi3): Likewise.
11503         (xorsi3): Likewise.
11504
11505 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11506
11507         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
11508         comparison with rtx INTVAL.
11509         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
11510         expression.
11511         * pa.h (FUNCTION_ARG_SIZE): Likewise.
11512
11513 2001-08-29  Kazu Hirata  <kazu@hxi.com>
11514
11515         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
11516         comment typos.
11517
11518 2001-08-29  Kazu Hirata  <kazu@hxi.com>
11519
11520         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
11521         (reg n) to (mem (pre_dec (reg n))
11522         (anonymous movsi pattern): Likewise.
11523
11524 2001-08-29  Kazu Hirata  <kazu@hxi.com>
11525
11526         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
11527
11528 2001-08-29  Kazu Hirata  <kazu@hxi.com>
11529
11530         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
11531         several special constants.
11532
11533 2001-08-29  Kazu Hirata  <kazu@hxi.com>
11534
11535         * config/h8300/lib1funcs.asm: Fix comment typos.
11536
11537 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11538
11539         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
11540         Fix format specifier warnings.
11541
11542         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
11543         inet_makeaddr, semctl): Prototype.
11544
11545         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
11546         (save_restore_insns): Use base_offset, not gp_offset.
11547
11548         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
11549         (ASM_OUTPUT_BYTE): Fix format specifier warning.
11550
11551 2001-08-29  Richard Henderson  <rth@redhat.com>
11552
11553         * bb-reorder.c (function_tail_eff_head): New.
11554         (record_effective_endpoints): Set it.
11555         (fixup_reorder_chain): Use it.
11556
11557 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11558
11559         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
11560
11561 2001-08-28  Dale Johannesen  <dalej@apple.com>
11562
11563         * config/darwin.c (machopic_function_base_name): Add const
11564         qualifier to a string.
11565         (darwin_encode_section_info): Ditto.
11566
11567 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11568
11569         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
11570         function definition.
11571
11572 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
11573
11574         * df.h (struct df): Add rts_order variable.
11575
11576         * df.c (df_visit_next_rts): New function.
11577         (df_visit_next): Renamed to df_visit_next_rc
11578         (df_analyse_1): Allocate/compute/free rts_order as well.
11579         (df_rd_global_compute): Use df_visit_next_rc instead of
11580         df_visit_next.
11581         (df_ru_global_compute): Use df_visit_next_rts instead of
11582         df_visit_next.
11583
11584         * flow.c (flow_reverse_top_sort_order_compute): New function.
11585
11586         * basic-block.h: Add prototype.
11587
11588 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
11589
11590         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
11591         blocks, the BB_REACHABLE is now set, rather than aux being
11592         non-NULL. Update the test to reflect this.
11593
11594 2001-08-28  Eric Christopher  <echristo@redhat.com>
11595
11596         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
11597         config/mips/crti.asm: Ditto.
11598
11599 2001-08-28  Eric Christopher <echristo@redhat.com>
11600             Richard Henderson <rth@redhat.com>
11601
11602         * c-pragma.h (add_weak): Move prototype from here...
11603         * output.h (add_weak): ... to here.
11604         * varasm.c (add_weak): Fix typo.
11605         * config/mips/crti.asm: New file.
11606         * config/mips/crtn.asm: Ditto.
11607         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
11608         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
11609         (INVOKE__main): Ditto.
11610         (INIT_SECTION_ASM_OP): New.
11611         (FINI_SECTION_ASM_OP): Ditto.
11612         (STARTFILE_SPEC): Add crti.
11613         (ENDFILE_SPEC): Add crtn.
11614         * config/mips/elf64.h: Same.
11615         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
11616         Remove.
11617         * config/mips/vxworks.h: Ditto.
11618         * config/mips/t-elf: Support crti and crtn.
11619
11620 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
11621
11622         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
11623         INSN_LIST.
11624
11625 2001-08-28  Richard Henderson  <rth@redhat.com>
11626
11627         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
11628         (one_cmplbi2 splitter): Remove redundant test.
11629
11630 2001-08-28  Dale Johannesen  <dalej@apple.com>
11631
11632         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
11633
11634 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
11635
11636         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
11637
11638 2001-08-28  Stan Shebs  <shebs@apple.com>
11639
11640         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
11641         (UNALIGNED_SHORT_ASM_OP): Define.
11642         (UNALIGNED_INT_ASM_OP): Define.
11643
11644 2001-08-28  Will Cohen  <wcohen@redhat.com>
11645
11646         * config/rs6000/rs6000.md (store_multiple): Correct RTL
11647         generation for first set.
11648
11649 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
11650
11651         * flow.c (redirect_edge_succ_nodup): Return new edge.
11652         (try_simplify_condjump): Use new edge.
11653         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
11654
11655         * cse.c (cse_basic_block): Skip note instructions.
11656
11657 2001-08-27  Richard Henderson  <rth@redhat.com>
11658
11659         * combine.c (combine_simplify_rtx): Don't reverse condition
11660         if there is no reverse for the condition.
11661         (simplify_comparison): Don't simplify subregs from INT to FP.
11662
11663         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
11664         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
11665         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
11666         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
11667         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
11668         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
11669
11670 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
11671
11672         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
11673         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
11674         (pushqi1): New.
11675         (adddi_dilshr32, adddi_dishl32): Only data register can be
11676         source for mem destination.
11677
11678         * expmed.c (store_bit_field): Ignore adjustment to bitpos
11679         and use bitnum to decide about register move.
11680
11681 2001-08-27  Richard Henderson  <rth@redhat.com>
11682
11683         * genattr.c (main): Emit state_t even when not doing scheduling.
11684
11685 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
11686             Richard Henderson  <rth@redhat.com>
11687
11688         * gcse.c (reg_first_set, reg_last_set): Replace with ...
11689         (reg_avail_info, current_bb): ... these.
11690         (oprs_unchanged_p, record_last_reg_set_info): Use them.
11691         (compute_hash_table): Likewise.
11692
11693 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
11694
11695         * flow.c (verify_flow_info): Use checksums to verify edges.
11696
11697 2001-08-27  Richard Henderson  <rth@redhat.com>
11698
11699         * genautomata.c (expand_automata): Always create a description.
11700
11701 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
11702
11703         * optabs.c (expand_binop): Correctly handle the carry in multiword
11704         add/subtract operations.
11705
11706 2001-08-27  Fred Fish  <fnf@be.com>
11707
11708         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
11709         __SIZE_TYPE__.
11710
11711 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
11712
11713         * reload.c (find_reloads_toplev): Back out this change:
11714
11715         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
11716
11717         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
11718         mem if the address is a mode_dependent_address_p.
11719
11720 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
11721
11722         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
11723         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
11724         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
11725         RTL constructions.
11726
11727         * genattr.c (main): New variable num_insn_reservations.  Increase
11728         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
11729         pipeline hazard recognizer interface.
11730
11731         * genattrtab.h: New file.
11732
11733         * genattrtab.c: Include genattrtab.h.
11734         (attr_printf, check_attr_test, make_internal_attr,
11735         make_numeric_value): Move protypes into genattrtab.h.  Define them
11736         as external.
11737         (num_dfa_decls): New global variable.
11738         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
11739         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
11740         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
11741         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
11742
11743         * genautomata.c: New file.
11744
11745         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
11746
11747         * sched-int.h: (curr_state): Add the external definition for
11748         automaton pipeline interface.
11749         (haifa_insn_data): Add comments for members blockage and units.
11750
11751         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
11752         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
11753         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
11754         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
11755         TARGET_SCHED_DFA_POST_CYCLE_INSN,
11756         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
11757         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
11758         macros.
11759         (TARGET_SCHED): Use the new macros.
11760
11761         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
11762         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
11763         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
11764         dfa_bubble): New members in gcc_target.sched.
11765
11766         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
11767         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
11768         (insn_queue): Redefine it as pointer to array.
11769         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
11770         INSN_QUEUE_SIZE.
11771         (max_insn_queue_index_macro_value): New variable.
11772         (curr_state, dfa_state_size, ready_try): New varaibles for
11773         automaton interface.
11774         (ready_element, ready_remove, max_issue): New function prototypes
11775         for automaton interface.
11776         (choose_ready): New function prototype.
11777         (insn_unit, blockage_range): Add comments.
11778         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
11779         FUNCTION_UNITS_SIZE == 0.
11780         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
11781         actual_hazard, potential_hazard): Add comments.
11782         (insn_cost): Use cost -1 as undefined value.  Remove
11783         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
11784         pipeline interface.
11785         (ready_element, ready_remove): New functions for automaton
11786         interface.
11787         (schedule_insn): Add new code for automaton pipeline interface.
11788         (queue_to_ready): Add new code for automaton pipeline interface.
11789         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
11790         (debug_ready_list): Print newline when the queue is empty.
11791         (max_issue): New function for automaton pipeline interface.
11792         (choose_ready): New function.
11793         (schedule_block): Add new code for automaton pipeline interface.
11794         Print ready list before scheduling each insn.
11795         (sched_init): Add new code for automaton pipeline interface.
11796         Initiate insn cost by -1.
11797         (sched_finish): Free the current automaton state and finalize
11798         automaton pipeline interface.
11799
11800         * sched-rgn.c: Include target.h.
11801         (init_ready_list, new_ready, debug_dependencies): Add new code for
11802         automaton pipeline interface.
11803
11804         * sched-vis.c: Include target.h.
11805         (get_visual_tbl_length): Add code for automaton interface.
11806         (target_units, print_block_visualization):  Add comments.
11807
11808         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
11809         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
11810         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
11811         (getruntime.o, genautomata.o): New entries.
11812         (genattrtab.o): Add new dependency file genattrtab.h.
11813         (genattrtab): Add new dependencies.  Link it with `libm.a'.
11814         (getruntime.o, hashtab.o): New entries for canadian cross.
11815
11816         * doc/md.texi: Description of automaton based model.
11817
11818         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
11819         Add comments.
11820         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
11821         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
11822         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
11823         TARGET_SCHED_DFA_POST_CYCLE_INSN,
11824         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
11825         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
11826         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
11827         hook descriptions.
11828         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
11829         MAX_DFA_ISSUE_RATE): New macro descriptions.
11830
11831         * doc/contrib.texi: Add dfa based scheduler contribution.
11832
11833         * doc/gcc.texi: Add more information about genattrtab.
11834
11835 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
11836
11837         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
11838         an RTL basic block.
11839
11840 2001-08-27  Richard Henderson  <rth@redhat.com>
11841
11842         * function.c (expand_function_end): Don't init arg_pointer_save_area.
11843         (get_arg_pointer_save_area): New.  Create an init it here.
11844         (fix_lexical_addr): Use it.
11845         * function.h: Declare it.
11846         * builtins.c (expand_builtin_setjmp_receiver): Use it.
11847         * stmt.c (expand_nl_goto_receiver): Use it.
11848
11849 2001-08-27  Richard Henderson  <rth@redhat.com>
11850
11851         * final.c (final_scan_insn): Don't enter APP_ON mode for
11852         empty asm strings.
11853
11854         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
11855         alignment for assemble_integer for DW_EH_PE_aligned.
11856         * except.c (output_function_exception_table): Likewise.
11857
11858 2001-08-26  Andreas Jaeger  <aj@suse.de>
11859
11860         * c-tree.h: Add prototyp for c_sizeof_nowarn.
11861
11862 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
11863
11864         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
11865
11866 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
11867
11868         * config/rs6000/rs6000.c (mask_operand): Rewrite without
11869         bit-shifting loop.
11870         (mask64_operand): Likewise.
11871         (rldic_operand): Delete.
11872         (includes_lshift64_p): Delete.
11873         (includes_rldic_lshift_p): New function.
11874         (includes_rldicr_lshift_p): New function.
11875         (print_operand): Don't call rldic_operand in case 'W'.
11876         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
11877         (includes_lshift64_p): Remove.
11878         (includes_rldic_lshift_p): Declare.
11879         (includes_rldicr_lshift_p): Declare.
11880         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
11881         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
11882         Replace match_operand rldic_operand predicate with
11883         const_int_operand.  Replace includes_lshift64_p condition with
11884         includes_rldic_lshift_p.
11885         <ashldi3_internal 64 bit rldicr patterns>: New.
11886
11887 2001-08-27  Andreas Jaeger  <aj@suse.de>
11888
11889         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
11890         * errors.c: Likewise.
11891         * final.c: Likewise.
11892         * dwarf2asm.c: Likewise.
11893         * doprint.c (checkit): Likewise.
11894         * diagnostic.c: Likewise.
11895         * collect2.c: Likewise.
11896         * calls.c: Likewise.
11897         * c-semantics.c (build_stmt): Likewise.
11898         * c-format.c (status_warning): Likewise.
11899         * c-errors.c (pedwarn_c99): Likewise.
11900         * builtins.c (validate_arglist): Likewise.
11901         * config/pj/pj.c (pj_printf): Likewise.
11902         * fix-header.c: Likewise.
11903         * gcc.c: Likewise.
11904         * gcov.c (fnotice): Likewise.
11905         * gensupport.c (message_with_line): Likewise.
11906         * mips-tfile.c: Likewise.
11907         * protoize.c (notice): Likewise.
11908         * read-rtl.c (fatal_with_file_and_line): Likewise.
11909         * rtl-error.c: Likewise.
11910         * tradcpp.c: Likewise.
11911         * tree.c: Likewise.
11912         * cp/tree.c (build_min_nt): Likewise.
11913         (build_min): Likewise.
11914         * cp/lex.c: Likewise.
11915         * cp/errfn.c: Likewise.
11916         * cp/rtti.c (create_pseudo_type_info): Likewise.
11917
11918 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
11919
11920         * df.c (df_uses_record): Return after recording all uses
11921         in ASM_OPERANDS.
11922
11923 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
11924
11925         * df.c (df_insn_modify): Realloc the INSN table here, if
11926         necessary, here, too.
11927
11928 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
11929
11930         * config/mips/mips.c (mips_function_value): Handle complex return
11931         values.
11932
11933 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
11934
11935         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
11936         unshared.
11937         * reload.c (make_memloc): Copy result if it is still
11938         reg_equiv_memory_loc[regno] on return.
11939         (subst_reloads) [ENABLE_CHECKING]: Check that none of
11940         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
11941         reg_equiv_mem are modified by the substitutions.
11942
11943 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
11944
11945         * predict.c (expensive_function_p): New.
11946         * rtl.h (expensive_function_p): Declare.
11947         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
11948         (use_fast_prologue_epilogue): New static variable.
11949         (expand_prologue): Set it; emit short prologues if unset.
11950         (expand_epilogue): Likewise.
11951
11952 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
11953
11954         * config.gcc: Add stormy16-*-elf case.
11955         * config/stormy16/stormy-abi: New file.
11956         * config/stormy16/stormy16-lib2.c: New file.
11957         * config/stormy16/stormy16-protos.h: New file.
11958         * config/stormy16/stormy16.c: New file.
11959         * config/stormy16/stormy16.h: New file.
11960         * config/stormy16/stormy16.md: New file.
11961         * config/stormy16/t-stormy16: New file.
11962
11963 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
11964
11965         * i386.h (no-accumulate-outgoing-args): Use proper mask.
11966
11967 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
11968
11969         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
11970         descriptor members are pointer size, not constant 4.
11971         * config/rs6000/rs6000.md (define_splits): Remove more unused
11972         constraints.
11973
11974 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11975
11976         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
11977
11978 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
11979
11980         * cp/rtti.c (VPARAMS): Fix parameter.
11981
11982 2001-08-24  Zack Weinberg  <zackw@panix.com>
11983
11984         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
11985         to zero.
11986         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
11987         to switch.
11988         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
11989         in if controlling use of insv.
11990         (extract_bit_field): Likewise, for extv and extzv.
11991
11992 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
11993
11994         * i386.md (movcc peep2): Fix load of 0.
11995
11996 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11997
11998         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
11999         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
12000
12001 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
12002
12003         * c-pragma.h: Move weak_syms and weak_decls...
12004         * varasm.c: ...here.  Now static.
12005         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
12006         depend on HANDLE_PRAGMA_WEAK.
12007
12008         * c-common.c (c_alignof, c_alignof_expr): Move here...
12009         * c-typeck.c: ...from here.
12010         * c-tree.h, c-common.h: Adjust.
12011
12012 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
12013
12014         * config/ia64/ia64.c (rws_update): If !pred, set write_count
12015         instead of incrementing it.
12016
12017         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
12018         asm ready, don't try to move them all into the same array element.
12019
12020 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
12021
12022         * function.c (thread_prologue_and_epilogue_insns): Avoid
12023         fallthru flag on edge to exit.
12024
12025         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
12026
12027         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
12028         dead edges.
12029
12030 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
12031
12032         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
12033         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
12034         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
12035         Remove prototype.
12036
12037 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
12038
12039         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
12040         replace "GNU CC" with "GCC".
12041
12042 2001-08-23  Richard Henderson  <rth@redhat.com>
12043
12044         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
12045         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
12046         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
12047         Need GR between FR and not GR_AND_FR.
12048         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
12049         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
12050         AR regs before GR regs.
12051         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
12052         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
12053         (REGISTER_MOVE_COST): Update.
12054         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
12055
12056 2001-08-23  Richard Henderson  <rth@redhat.com>
12057
12058         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
12059         a register class.
12060
12061 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
12062
12063         * reload1.c (emit_reload_insns): Don't look for notes
12064         on a NULL store_insn.
12065
12066 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12067
12068         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
12069         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
12070         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
12071         format specifier warnings.
12072         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
12073
12074 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
12075
12076         * config/i386/i386-protos.h: Correct declaration of
12077         i386_pe_asm_named_section.
12078
12079 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12080
12081         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
12082         variable i.
12083         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
12084
12085 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
12086
12087         * cpperror.c (print_location): Don't show _Pragma.
12088         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
12089         and file change callback generation here.
12090         (stack_include_file): Update use of cpp_push_buffer.
12091         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
12092         (struct cpp_buffer): Remove type, pfile members.
12093         * cppinit.c (cpp_handle_option): Use free_chain.
12094         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
12095         (skip_escaped_newlines, get_effective_char, lex_percent): Take
12096         a cpp_reader rather than a cpp_buffer.
12097         (skip_escaped_newlines, get_effective_char, skip_block_comment,
12098         skip_line_comment, parse_string, lex_percent, lex_dot,
12099         _cpp_lex_token): Update accordingly.
12100         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
12101         generation here.
12102         (cpp_push_buffer): Update prototype.
12103         (run_directive): Update use of cpp_push_buffer.
12104         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
12105         handle_assertion): Update use of run_directive.
12106         * cpplib.h (enum cpp_buffer_type): Remove.
12107         (cpp_push_buffer): Update prototype.
12108         * fix-header.c (read_scan_file): Update.
12109
12110 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12111
12112         * gcc.c (struct prefix_list): Change prefix to const char *.
12113
12114 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12115
12116         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
12117
12118 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
12119
12120         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
12121         from a new MEM.
12122
12123         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
12124         a squeezable note.
12125         * rtl.h: Adjust.
12126         * ifcvt.c (dead_or_predicable): Adjust.
12127         * loop.c (find_and_verify_loops): Adjust.
12128         * stmt.c (expand_end_case): Adjust.
12129         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
12130         head and end insn pointers in the basic block, not just local copies.
12131         (merge_blocks_move_predecessor_nojumps): Likewise.
12132
12133 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
12134
12135         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
12136         bitmap.h, builtin-types.def, builtins.c, builtins.def,
12137         c-aux-info.c, c-common.c, c-common.def, c-common.h,
12138         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
12139         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
12140         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
12141         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
12142         conditions.h, config.gcc, configure.frag, configure.in,
12143         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
12144         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
12145         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
12146         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
12147         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
12148         emit-rtl.c, errors.c, errors.h, except.c, except.h,
12149         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
12150         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
12151         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
12152         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
12153         gencheck.c, gencodes.c, genconfig.c, genemit.c,
12154         genextract.c, genflags.c, gengenrtl.c, genmultilib,
12155         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
12156         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
12157         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
12158         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
12159         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
12160         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
12161         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
12162         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
12163         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
12164         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
12165         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
12166         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
12167         params.h, predict.c, predict.def, predict.h, prefix.c,
12168         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
12169         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
12170         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
12171         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
12172         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
12173         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
12174         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
12175         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
12176         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
12177         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
12178         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
12179         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
12180         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
12181         xcoffout.h: replace "GNU CC" with "GCC".
12182
12183 2001-08-21  Richard Henderson  <rth@redhat.com>
12184
12185         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
12186         (final_scan_insn): Consider jump tables data even if we have no
12187         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
12188         ADDR_VEC_ALIGN.
12189         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
12190         (ASM_OUTPUT_CASE_END): Remove.
12191         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
12192         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
12193         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
12194
12195 2001-08-21  Richard Henderson  <rth@redhat.com>
12196
12197         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
12198         at barrier insns.  Emit stop bits before barriers.
12199
12200         * flow.c (flow_find_cross_jump): Don't consider unconditional
12201         return insns for commoning.
12202
12203         * final.c (compute_alignments): Fix typo.
12204
12205         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
12206         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
12207         (store_bit_field): Use mode_for_extraction more places.
12208         (extract_bit_field): Likewise.
12209
12210 2001-08-21  Zack Weinberg  <zackw@panix.com>
12211
12212         * caller-save.c: Don't include insn-codes.h.
12213         (reg_save_code, reg_restore_code): Make arrays of int.
12214         All uses updated to match.
12215         (insert_save, insert_restore): No need to initialize "code"
12216         variable upon declaration.
12217         * Makefile.in: update dependencies; fix typo in clean rule.
12218
12219 2001-08-21  Richard Henderson  <rth@redhat.com>
12220
12221         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
12222         (merge_if_block): Handle fallout from same.
12223
12224 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12225
12226         * builtins.c (type_to_class): Fix typo in last change.
12227
12228 2001-08-21  Richard Henderson  <rth@redhat.com>
12229
12230         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
12231         ia64_asm_output_label.
12232
12233         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
12234         copy of gp while the real gp register contains garbage.
12235
12236 2001-08-21  Zack Weinberg  <zackw@panix.com>
12237
12238         * expmed.c (mode_for_extraction): New function.
12239         (store_bit_field, extract_bit_field): Use it.
12240         * expr.h: Prototype it and provide an enum for its first argument.
12241
12242         * combine.c, function.c, recog.c: Don't include insn-codes.h.
12243         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
12244         and digging through the insn_data tables.
12245         * Makefile.in: Update dependencies.
12246
12247 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
12248
12249         * cppfiles.c (stack_include_file): line-map.c now handles include
12250         depth.
12251         (handle_missing_handler): Similarly.
12252         (_cpp_execute_include): Similarly.
12253         (_cpp_pop_file_buffer): Similarly.
12254         * cpphash.h (struct cpp_reader): Remove system_include_depth,
12255         buffer_stack_depth and include_depth.
12256         * cpplib.c (do_include_common): line-map.c now handles include depth.
12257         (cpp_push_buffer): Similarly.
12258         (_cpp_pop_buffer): Similarly.
12259         * cppmacro.c (builtin_macro): Update.
12260         * line-map.c (init_line_maps): Set depth.
12261         (add_line_map): Increment "used" earlier.  Update and use the
12262         include depth.
12263         (trace_include): Use the include depth.
12264         * line-map.h (struct line_maps): New member depth.
12265
12266 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
12267
12268         * cppfiles.c (stack_include_file): Don't handle -H here.
12269         * cppinit.c (cpp_start_read): Set include tracing after
12270         cpp_post_options and after stacking the main file.
12271         * line-map.c (trace_include): New.
12272         (init_line_maps, add_line_map): Update.
12273         * line-map.h (struct line_maps): New member trace_includes.
12274
12275 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
12276
12277         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
12278         * cppfiles.c (stack_include_file): Only stack a file if there
12279         is something to do.  Return a boolean indicating whether a
12280         buffer was stacked or not.
12281         (_cpp_execute_include): Similarly.
12282         (_cpp_read_file): Similarly.
12283         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
12284
12285 2001-08-21  Sam Steingold  <sds@gnu.org>
12286
12287         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
12288         (RECACHE): keep obufp_before_macroname up to date
12289
12290 2001-08-21  Zack Weinberg  <zackw@panix.com>
12291
12292         * stmt.c: Don't include insn-codes.h.
12293         (expand_end_case): Machine specific logic moved to expr.c.
12294         No need to worry about __builtin_classify_type.
12295         (check_for_full_enumeration_handling, emit_case_nodes):
12296         Kill #if 0 blocks.
12297
12298         * builtins.o (expand_builtin_classify_type): Split up so code
12299         can be shared with fold_builtin_classify_type.
12300         (type_to_class, fold_builtin_classify_type): New functions.
12301         (fold_builtins): Handle __builtin_classify_type.
12302
12303         * expr.c (do_tablejump): Now static.
12304         (case_values_threshold, try_casesi, try_tablejump): New;
12305         code mostly from stmt.c (expand_end_case).
12306         (expr.h): Update prototypes.
12307
12308         * Makefile.in (stmt.o): Update dependencies.
12309
12310 2001-08-21  Will Cohen  <wcohen@redhat.com>
12311
12312         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
12313         declaration of variable i.
12314         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
12315         declaration of variable i.
12316
12317 2001-08-21  Richard Henderson  <rth@redhat.com>
12318
12319         * crtstuff.c: Fix thinko last change.  Move list tails to start
12320         of CRT_END section.  Tidy ifdefs.
12321         (__EH_FRAME_BEGIN__): Always static for ELF.
12322         (__do_global_ctors_1): Rename from __frame_dummy.
12323         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
12324         name change; don't hide __EH_FRAME_BEGIN__.
12325
12326 2001-08-21  Richard Henderson  <rth@redhat.com>
12327
12328         * gdbinit.in: Move break on exit after break on fancy_abort.
12329
12330         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
12331         sized types.
12332
12333 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
12334
12335         * cpphash.h (_cpp_push_next_buffer): New.
12336         * cppinit.c (do_includes): Remove.
12337         (push_include, free_chain, _cpp_push_next_buffer): New.
12338         (cpp_start_read): Use them to rework command line option handling.
12339         (cpp_handle_option): Combine handling of -include and -imacros.
12340         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
12341         appropriate.  Always insert missing \n at EOF.
12342         * cpplib.c (start_directive): Get the directive position right.
12343         * cppmain.c (cb_file_change): Always print the first line, unless
12344         preprocessed.
12345
12346 2001-08-20  Andreas Jaeger  <aj@suse.de>
12347
12348         * profile.c (compute_branch_probabilities): Remove extra new-line
12349         in error message.
12350         * flow.c (verify_flow_info): Likewise.
12351
12352 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
12353
12354         * basic-block.h (basic_block): Add new field 'flags'.
12355         (BB_REACHABLE): Define.
12356         (expunge_block): Declare.
12357         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
12358         (EXIT_BLOCK_PTR): Ditto.
12359         (expunge_block): Remove static declaration.
12360         (cleanup_cfg): Clear bb->aux on every basic block.
12361         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
12362         computing reachability.
12363         (delete_unreachable_blocks): Delete block b if b->flags has
12364         BB_REACHABLE unset.
12365
12366 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
12367
12368         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
12369
12370 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12371
12372         * sparc.c (sparc_variable_issue): Fix typo in last change.
12373
12374 2001-08-20  Richard Henderson  <rth@redhat.com>
12375
12376         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
12377
12378 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12379
12380         * pa.h (RETURN_IN_MEMORY): Improve comment.
12381
12382 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
12383
12384         * doc/invoke.texi (Profiling options): Clarify the interactions
12385         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
12386
12387 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
12388
12389         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
12390         command.
12391
12392 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12393
12394         * gcc.c (make_relative_prefix): Allocate a sufficiently large
12395         buffer.
12396
12397 2001-08-20  Richard Henderson  <rth@redhat.com>
12398
12399         * final.c (end_final): Fix typo last change.
12400
12401 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
12402
12403         * cppinit.c (init_standard_includes): The returned buffer
12404         is already malloc-ed.
12405         * gcc.c (add_prefix): Similarly.
12406         * prefix.c (translate_name): Update to support clear buffer
12407         ownership rules.
12408         (update_path): Similarly.  Be sure to free any newly allocated
12409         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
12410         (tr): New function.
12411         * prefix.h (update_path): Update prototype and document.
12412         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
12413         up and update to new buffer ownership rules.
12414         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
12415
12416 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
12417
12418         * final.c (compute_alignments): New function.
12419         (init_insn_lengths): Do not care label_align.
12420         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
12421         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
12422         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
12423         (shorted_branches): Realloc label_align array; do
12424         not call init_insn_lengths; Do not care about loop alignments.
12425         * output.h (compute_alignments): Declare.
12426         * toplev.c (rest_of_compilation): Call compute_alignments.
12427         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
12428
12429         * predict.c (block_info_def): Add npredecesors, remove nvisited;
12430         change visited to tovisit.
12431         (propagate_freq): Use faster traversing algorithm.
12432         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
12433         to tovisit; reverse meaning.
12434
12435         * predict.c (struct block_info_def): Remove nvisited.
12436         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
12437         (estimate_bb_frequencies): Call mark_dfs_back_edges.
12438
12439 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
12440
12441         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
12442         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
12443         (TARGET_FUSED_MADD): New.
12444         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
12445         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
12446         the multiply-add instructions.
12447
12448 2001-08-19  Richard Henderson  <rth@redhat.com>
12449
12450         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
12451         is aligned to pointer size.
12452
12453 2001-08-19  Richard Henderson  <rth@redhat.com>
12454
12455         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
12456         display markers during final schedule.
12457
12458 2001-08-19  Richard Henderson  <rth@redhat.com>
12459
12460         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
12461
12462 2001-08-19  Richard Henderson  <rth@redhat.com>
12463
12464         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
12465         in the same string.
12466         (ASM_NAME_TO_STRING): Remove.
12467         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
12468         in the same string.  Remove support for expressions.
12469
12470 2001-08-19  Richard Henderson  <rth@redhat.com>
12471
12472         * config/i386/i386.md (tablejump): Make an expander; handle
12473         pic relative addressing here.
12474         (tablejump_1): Rename from tablejump_pic.
12475         (casesi): Remove.
12476
12477 2001-08-19  Richard Henderson  <rth@redhat.com>
12478
12479         * regclass.c (fix_register): Fix typo.
12480
12481 2001-08-18  Richard Henderson  <rth@redhat.com>
12482
12483         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
12484         (struct _Unwind_Context): Expand br_loc to hold it.
12485         (uw_frame_state_for): Handle leaf functions better.
12486         (uw_update_reg_address): Update for br_loc change.
12487
12488 2001-08-18  Richard Henderson  <rth@redhat.com>
12489
12490         * crtstuff.c: Move list heads before code that uses them.
12491         (__JCR_LIST__): Remove initial null.
12492         (frame_dummy, __frame_dummy): Do java registration here ...
12493         (__do_global_ctors_aux): ... not here.
12494
12495         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
12496         (__do_global_dtors_aux): Update to match.
12497         (__JCR_LIST__, __do_jv_register_classes): New.
12498         (.init): Call it.
12499         * config/ia64/crtend.asm (__JCR_END__): New.
12500         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
12501         instead of an indirect LTOFF22 reloc.
12502
12503 2001-08-18  Richard Henderson  <rth@redhat.com>
12504
12505         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
12506         * regclass.c (init_reg_sets_1): Fix typo.
12507         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
12508         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
12509         (ia64_compute_frame_size): Make ar.unat live when in use.
12510         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
12511         for ar.pfs; remove ar.unat handling.
12512         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
12513         call-saved.
12514         (PREDICATE_CODES): Add ar_pfs_reg_operand.
12515         * config/ia64/ia64-protos.h: Update decls.
12516         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
12517         (sibcall_pic): Likewise.
12518
12519 2001-08-18  Richard Henderson  <rth@redhat.com>
12520
12521         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
12522         pred_rel_mutex when searching for insn_group_barrier.
12523         * config/ia64/ia64.md (cycle_display): Combine the expander
12524         and insn patterns.
12525
12526         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
12527         bit before asm as needed.
12528
12529 2001-08-18  Richard Henderson  <rth@redhat.com>
12530
12531         * timevar.def (TV_MACH_DEP): New.
12532         * toplev.c (rest_of_compilation): Use it.
12533         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
12534
12535 2001-08-18  Zack Weinberg  <zackw@panix.com>
12536
12537         * unwind-dw2.c (execute_stack_op): Add default aborts to
12538         the inner switches to prevent warnings.
12539
12540 2001-08-18  Richard Henderson  <rth@redhat.com>
12541
12542         * timevar.h (struct timevar_time_def): Change element type to float.
12543         (ticks_to_msec, clocks_to_msec): Likewise.
12544         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
12545         (get_time): Likewise.
12546         (timevar_print): Adjust zero check and printing to match.
12547
12548 2001-08-18  Zack Weinberg  <zackw@panix.com>
12549
12550         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
12551         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
12552         Eliminate overfull or underfull hboxes.
12553
12554 2001-08-18  Zack Weinberg  <zackw@panix.com>
12555
12556         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
12557
12558 2001-08-18  Zack Weinberg  <zackw@panix.com>
12559
12560         * haifa-sched.c: Convert to target hooks.  Macros replaced
12561         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
12562         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
12563         MD_SCHED_FINISH, and HAVE_cycle_display.
12564         * target-def.h (TARGET_SCHED_ADJUST_COST,
12565         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
12566         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
12567         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
12568         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
12569         New hook #defines to be overridden.
12570         (TARGET_SCHED): Bring them all together.
12571         (TARGET_INITIALIZER): Update.
12572         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
12573         instead of 'struct rtx_def *' throughout.
12574         (struct sched): New set of hooks for the scheduler.
12575         * Makefile.in (haifa-sched.o): Depend on target.h.
12576         * doc/tm.texi: Document the new scheduler hooks, together in
12577         their own section, instead of scattered around.
12578         Fix a bunch of underfull/overfull hboxes.
12579
12580         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
12581         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
12582         sparc.h: Don't define any of the old scheduler macros.
12583
12584         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
12585         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
12586         sparc.c: Create hook functions from code extracted from
12587         corresponding target header, or make existing hooks static, as
12588         appropriate.  Set the appropriate entries in targetm.
12589
12590         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
12591         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
12592         rs6000-protos.h, s390-protos.h, sparc-protos.h:
12593         Remove prototypes for functions which are now static.
12594
12595         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
12596         related gunk; the Haifa scheduler is now the only choice.
12597
12598 2001-08-18  Zack Weinberg  <zackw@panix.com>
12599
12600         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
12601         * genopinit.c: Put floating point divide insns in sdiv_optab.
12602         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
12603         * config/gofast.h, config/c4x/c4x.h,
12604         config/ia64/hpux_longdouble.h, config/mips/mips.h,
12605         config/pa/long_double.h, config/rs6000/sysv4.h,
12606         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
12607         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
12608         (init_optabs): Use init_optabv for overflow-trapping optabs.
12609         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
12610         cmp_optab RTX codes so have_insn_for can find them.
12611
12612         * optabs.c (expand_simple_binop, expand_simple_unop,
12613         have_insn_for, gen_sub3_insn): New interfaces.
12614         * expr.h: Prototype new functions.
12615         (enum optab_methods): Move here from optabs.h.
12616
12617         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
12618         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
12619         Use new functions instead of working directly with optabs.
12620         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
12621         unroll.c: Don't include optabs.h.
12622         * caller-save.c, combine.c, function.c, stmt.c: Just include
12623         insn-codes.h, not optabs.h.
12624         * Makefile.in: Update dependencies.
12625
12626         * combine.c (make_compound_operation, simplify_comparison):
12627         Fix typos testing for this or that instruction.
12628
12629 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
12630
12631         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
12632         generating libgcc.a.
12633
12634 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12635
12636         * except.c (TYPE_HASH): Delete.
12637
12638         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
12639         HOST_WIDE_INT.
12640
12641         * tree.c (TYPE_HASH): Delete.
12642
12643         * tree.h (TYPE_HASH): Define.
12644
12645 2001-08-18  Graham Stott  <grahams@redhat.com>
12646
12647         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
12648         define_split.
12649         (adddi3_internal_2+2): Likewise.
12650         (eh_set_lr_di+1): Likewise.
12651
12652 2001-08-17  Richard Henderson  <rth@redhat.com>
12653
12654         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
12655         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
12656         * dwarf2asm.c: ... here.
12657         * dwarfout.c: Remove them.
12658
12659         * varasm.c (assemble_integer): Add align parameter.
12660         (assemble_real, output_constant, output_constructor): Likewise.
12661         * output.h: Update decls.
12662         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
12663         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
12664         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
12665         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
12666         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
12667         Update all callers.
12668
12669         * final.c (end_final): Abort profile block generation if we
12670         haven't layed it out properly.
12671         * output.h (assemble_eh_integer): Remove stale decl.
12672         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
12673         (min_align): New.
12674         (assemble_integer): Handle unaligned data.
12675         (assemble_real): Abort on unaligned data.
12676         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
12677         anything useful.
12678         (default_dtor_section_asm_out_destructor): Use assemble_align.
12679         (default_named_section_asm_out_constructor): Likewise.
12680         (default_ctor_section_asm_out_constructor): Likewise.
12681         * config/darwin.c (machopic_asm_out_constructor): Likewise.
12682         (machopic_asm_out_destructor): Likewise.
12683         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
12684         (nextstep_asm_out_destructor): Likewise.
12685         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
12686         (vms_asm_out_destructor): Likewise.
12687
12688 2001-08-17  Richard Henderson  <rth@redhat.com>
12689
12690         * config/mips/iris6.h (TARGET_IRIX6): New.
12691         (current_section_name, current_section_flags): New.
12692         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
12693         (MAX_OFILE_ALIGNMENT): New.
12694         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
12695         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
12696         (copy_file_data): Split out from
12697         (mips_asm_file_end): ... here.
12698         (mips_asm_file_start): Remove extra .section directive.  Use
12699         tmpfile instead of mips_make_temp_file.
12700         (mips_unique_section): Use const char * as needed for warnings.
12701         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
12702         re-add align parameter.
12703         (iris6_asm_named_section): New.
12704         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
12705         (iris6_asm_output_align, iris6_section_align_1): New.
12706         (iris6_asm_file_start, iris6_asm_file_end): New.
12707         * config/mips/mips-protos.h: Update decls.
12708
12709 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
12710
12711         * doc/install.texi (Install GCC): Add links to build status pages.
12712         (Specific): Ditto.
12713         (Final install): Ditto; request updates for specific info
12714
12715 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
12716
12717         * cpperror.c (print_location):  Don't take a file name; use the
12718         line map instead.
12719         (_cpp_begin_message): Similarly.
12720         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
12721         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
12722         (cpp_pedwarn_with_file_and_line): Remove.
12723         * cppfiles.c (stack_include_file): Update; set filename to stdin
12724         here when appropriate.
12725         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
12726         (_cpp_begin_message): Don't take a file name.
12727         * cppinit.c: Add comment.
12728         * cpplex.c: Fix end-of-directive indicator.
12729         * cpplib.c: Don't include intl.h.
12730         (run_directive, do_diagnostic): Update.
12731         (do_line): Update to not use nominal_fname.
12732         (cpp_push_buffer): Don't take a filename.
12733         * cpplib.h (struct ht): Remove.
12734         (cpp_push_buffer): Don't take a filename.
12735         (cpp_pedwarn_with_file_and_line): Remove.
12736         * cppmacro.c (struct cpp_macro): Remove file.
12737         (builtin_macro): Update.
12738         (_cpp_create_definition): Update.
12739         * cppmain.c: Correct comment.
12740         * fix-header.c (read_scan_file): Update.
12741
12742 2001-08-17  Kazu Hirata  <kazu@hxi.com>
12743
12744         * sbitmap.c: Fix comment formatting.
12745         * sched-deps.c: Likewise.
12746         * sibcall.c: Likewise.
12747         * simplify-rtx.c: Likewise.
12748         * ssa.c: Likewise.
12749         * ssa-ccp.c: Likewise.
12750         * stor-layout.c: Likewise.
12751         * timevar.c: Likewise.
12752         * toplev.c: Likewise.
12753         * unwind-dw2.c: Likewise.
12754         * unwind-dw2-fde.c: Likewise.
12755         * varasm.c: Likewise.
12756
12757 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12758
12759         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
12760         or larger than an integer in memory.
12761
12762 2001-08-17  Zack Weinberg  <zackw@panix.com>
12763
12764         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
12765         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
12766         * rtl.h: Don't forward-declare union tree_node here.  Don't
12767         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
12768         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
12769         and tree respectively.
12770         * tree.h: Don't forward-declare struct rtx_def here.  Don't
12771         typedef tree here.  Change all uses of struct rtx_def *,
12772         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
12773         and tree respectively.
12774
12775 2001-08-17  Richard Henderson  <rth@redhat.com>
12776
12777         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
12778         config/mips/openbsd.h: Fix typos last change.
12779
12780 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12781
12782         * doc/invoke.texi (Optimize Options): The default for
12783         -finline-limit is 600.
12784
12785 2001-08-17  Richard Henderson  <rth@redhat.com>
12786
12787         * varasm.c (text_section): Allow TEXT_SECTION to override the
12788         printing of TEXT_SECTION_ASM_OP.
12789         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
12790         (DATA_SECTION, BSS_SECTION): Remove.
12791         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
12792         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
12793         Rename from s/_NAME//.
12794         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
12795         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
12796         (TEXT_SECTION): ... here.  New.
12797         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
12798         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
12799         * config/mips/openbsd.h: Likewise.
12800         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
12801         (mips_asm_file_end): Likewise test.
12802         (mips_output_function_epilogue): Likewise.  Switch back to data
12803         section after emitting the function.
12804
12805         * doc/tm.texi (Sections): Document TEXT_SECTION.
12806
12807 2001-08-17  Richard Henderson  <rth@redhat.com>
12808
12809         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
12810         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
12811
12812 2001-08-17  Richard Henderson  <rth@redhat.com>
12813
12814         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
12815         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
12816         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
12817         Add aligned attribute.
12818
12819 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
12820
12821         * config/sh/sh.md: Add modes to unspecs in first insn to match
12822         those in the second.
12823
12824         * Makefile.in: Fix collect2 copy for Cygwin.
12825
12826 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
12827
12828         Install the proper patch.
12829         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
12830         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
12831         (expand_function_start): Likewise.
12832         * stmt.c (expand_decl): Likewise.
12833         * varasm.c (make_decl_rtx): Likewise.
12834
12835 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
12836
12837         * final.c: Undo my previous accidental checkin.
12838         * output.h: Likewise.
12839         * tm.texi: Likewise.
12840
12841 2001-08-16  Richard Henderson  <rth@redhat.com>
12842
12843         * varasm.c (named_section_flags): Remove align parameter.
12844         * varasm.c, dwarf2out.c: Update all callers.
12845         * output.h: Update prototypes.
12846
12847         * target.h (target.asm_out.named_section): Remove align parameter.
12848         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
12849         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
12850         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
12851         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
12852         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
12853
12854         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
12855         (get_named_section_flags, set_named_section_flags): New.
12856         (named_section_flags): Use them.
12857         (named_section): Do decl vs section flags check here...
12858         (default_section_type_flags): ... not here.
12859         (init_varasm_once): Create in_named_htab.
12860         (resolve_unique_section): Mark reloc unused.
12861
12862 2001-08-16  Richard Henderson  <rth@redhat.com>
12863
12864         * varasm.c (force_const_mem): Keep pool alignment in bits.
12865         (output_constant_pool): Use assemble_align.
12866
12867 2001-08-16  Zack Weinberg  <zackw@panix.com>
12868
12869         * doc/tm.texi: Remove extra @table command.
12870
12871 2001-08-16  Zack Weinberg  <zackw@panix.com>
12872
12873         * final.c (shorten_branches): Clear the end of the label_align
12874         array only if we made it larger.  Break up messy expressions
12875         for clarity.
12876
12877         * diagnostic.c (internal_error): Check for error recursion
12878         before doing ICE suppression.
12879
12880         * timevar.c: Timing variables now count in milliseconds.
12881         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
12882         (get_time): Not here.
12883         (timevar_print): Don't print any timer whose user, cpu, and
12884         wall times are all zero as displayed.
12885         * timevar.h: Update comment aboout units.  Make timevar
12886         counters unsigned.
12887
12888 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
12889
12890         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
12891         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
12892         (expand_function_start): Likewise.
12893         * stmt.c (expand_decl): Likewise.
12894         * varasm.c (make_decl_rtx): Likewise.
12895
12896 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
12897
12898         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
12899         (finalize_record_size): Don't set TYPE_USER_ALIGN.
12900
12901 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12902
12903         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
12904         variables.
12905
12906 2001-08-16  Andreas Jaeger  <aj@suse.de>
12907
12908         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
12909         prototype.
12910
12911 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
12912
12913         * rtl.h (only_sets_cc0_p): New prototype.
12914         * jump.c (sets_cc0_p): Handle INSN.
12915         (only_sets_cc0_p): New function.
12916         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
12917         (tidy_fallthru_edge): Likewise.
12918         * integrate.c (copy_insn_list): Likewise.
12919         * unroll.c (unroll_loop): Likewise.
12920         (copy_loop_body): Likewise.
12921
12922 2001-08-15  Jason Eckhardt  <jle@redhat.com>
12923
12924         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
12925
12926 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
12927
12928         * predict.c (struct block_info_def): Remove nvisited.
12929         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
12930         (estimate_bb_frequencies): Call mark_dfs_back_edges.
12931
12932         * i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium
12933         (ix86_adjust_cost): Teach scheduler that latency to load operand can
12934         be masked.
12935
12936 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
12937
12938         * predict.def: Update hitrates.
12939
12940 2001-08-15  Richard Henderson  <rth@redhat.com>
12941
12942         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
12943
12944 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
12945
12946         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
12947         note from its associated jump.
12948
12949 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
12950
12951         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
12952         also on 64-bit s390x targets.
12953
12954 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
12955
12956         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
12957         function.
12958         (arm_expand_prologue): Handled nested functions which take a
12959         variable argument list.
12960         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
12961         macro with an invocation of
12962         arm_compute_initial_elimination_offset.
12963         * config/arm/arm-protos.h: Prototype
12964         arm_compute_initial_elimination_offset.
12965
12966 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12967
12968         * doc/install.texi (Specific, avr): Fix markup.
12969         (Specific, c4x): Ditto.
12970
12971 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12972
12973         * predict.c (dump_prediction): Change `bool' parameter to `int'.
12974
12975 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
12976
12977         * Makefile.in (OBJS): Add rtl-error.o
12978         (rtl-error.o): New rule.
12979         (diagnostic.o): Adjust dependency.
12980         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
12981         error_for_asm, _fatal_insn, _fatal_insn_not_found,
12982         warning_for_asm): Move to...
12983         rtl-error.c: ...here.  New file.
12984
12985 2001-08-14  Richard Henderson  <rth@redhat.com>
12986
12987         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
12988         if USING_SJLJ_EXCEPTIONS.
12989
12990 2001-08-14  Steve Ellcey <sje@cup.hp.com>
12991
12992         * tlink.c (scan_linker_output): Check string for unsatisfied in
12993         addition to undefined and unresolved.
12994
12995 2001-08-14  Graham Stott  <grahams@redhat.com>
12996
12997         * libgcc2.c (*): Replace EH_FRAME_SECTION with
12998         EH_FRAME_SECTION_NAME.
12999
13000 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
13001
13002         * genattrtab.c (simplify_test_exp_in_temp): New function.
13003         (simplify_test_exp): Avoid explicit use of temporary obstack.
13004         (simplify_cond, insert_right_side, evaluate_eq_attr,
13005         simplify_and_tree, simplify_or_tree, eliminate_known_true):
13006         Use simplify_test_exp_in_temp.
13007         (optimize_attrs): Iterate until expression stabilizes.
13008
13009 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
13010
13011         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
13012         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
13013
13014 2001-08-13  Richard Henderson  <rth@redhat.com>
13015
13016         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
13017         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
13018         * config/arm/conix-elf.h: Likewise.
13019
13020 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
13021
13022         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
13023         in gcc.c.
13024         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
13025
13026         * gcse.c (hash_scan_set): Expressions that are set as part of
13027         jump instructions are not available.
13028
13029 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
13030
13031         * config/s390/s390.c (print_operand, s390_function_prologue,
13032         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
13033
13034 2001-08-13  Richard Henderson  <rth@redhat.com>
13035
13036         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
13037         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
13038         * doc/tm.texi (Exception Region Output): Document it.
13039
13040 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
13041
13042         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
13043         DWARF2 instead of stabs by default.
13044
13045 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
13046
13047         * config/rs6000/rs6000.c: Include optabs.h.
13048
13049 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
13050
13051         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
13052         save/restore routines.
13053         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
13054
13055 2001-08-13  Andreas Jaeger  <aj@suse.de>
13056
13057         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
13058         the english is correct.
13059
13060 2001-08-13  Zack Weinberg  <zackw@panix.com>
13061
13062         * expr.h: Split out optab- and libfunc-related code to...
13063         * optabs.h, libfuncs.h: ... these new headers.
13064
13065         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
13066         (OPTABS_H): New.
13067         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
13068         dependencies.
13069         * mkconfig.sh: Don't include insn-codes.h from config.h.
13070
13071         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
13072         enum insn_code is available.  Move reload_in_optab and
13073         reload_out_optab array declarations to optabs.h.
13074         * regmove.c (gen_add3_insn): Move to optabs.c, export from
13075         there, prototype in expr.h.
13076         * gencodes.c: Cleanup: zap global variables, don't use
13077         printf where puts will do, don't bother defining MAX_INSN_CODE
13078         which nothing uses, let CODE_FOR_nothing get its value implicitly.
13079
13080         * genemit.c, genopinit.c: Include optabs.h in generated file.
13081         * genoutput.c: Include insn-codes.h in generated file.
13082         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
13083         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
13084         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
13085         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
13086         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
13087         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
13088         Include optabs.h.
13089         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
13090         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
13091         config/m88k/m88k.c, config/sparc/sparc.c:
13092         Include libfuncs.h.
13093         * reload.c: Include expr.h and optabs.h before reload.h.
13094         * config/alpha/alpha.c: Include tree.h before reload.h.
13095         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
13096         and reload.h in that order.
13097         * config/sparc/sparc.c: Include debug.h.
13098         * recog.c: Include insn-codes.h.
13099
13100 2001-08-13  Andreas Jaeger  <aj@suse.de>
13101
13102         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
13103         s390*linux.
13104
13105 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
13106
13107         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
13108         * gcc.c (init_spec): Fix typo in comment.
13109         * varasm.c (data_section): Fix typo in comment.
13110
13111 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
13112
13113         * predict.c (dump_prediction): New argument "USED".
13114         (combine_predictions_for_insn): Determine the used heuristics,
13115         output the case no heuristic applied.
13116         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
13117
13118 2001-08-13  Andreas Jaeger  <aj@suse.de>
13119
13120         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
13121         register %rip.
13122
13123 2001-08-13  Kazu Hirata  <kazu@hxi.com>
13124
13125         * jump.c: Fix formatting.
13126
13127 2001-08-13  Kazu Hirata  <kazu@hxi.com>
13128
13129         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
13130         length.
13131
13132 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
13133
13134         * loop.c (check_dbra_loop): Use condjump_label to compute
13135         jump_label.
13136
13137         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
13138         to better document the files they're in.
13139
13140 2001-08-12  Zack Weinberg  <zackw@panix.com>
13141
13142         * recog.h (struct insn_operand_data): Shrink 'mode' field
13143         to 16 bits.
13144
13145 2001-08-12  Kazu Hirata  <kazu@hxi.com>
13146
13147         * gcc.c: Fix comment formatting.
13148         * gccspec.c: Likewise.
13149         * gcov.c: Likewise.
13150         * gcse.c: Likewise.
13151         * genemit.c: Likewise.
13152         * gengenrtl.c: Likewise.
13153         * genrecog.c: Likewise.
13154         * gensupport.c: Likewise.
13155         * ggc-page.c: Likewise.
13156         * global.c: Likewise.
13157         * graph.c: Likewise.
13158         * ifcvt.c: Likewise.
13159         * integrate.c: Likewise.
13160         * lcm.c: Likewise.
13161         * libgcc2.c: Likewise.
13162         * loop.c: Likewise.
13163         * mbchar.c: Likewise.
13164         * optabs.c: Likewise.
13165         * predict.c: Likewise.
13166         * prefix.c: Likewise.
13167         * profile.c: Likewise.
13168         * protoize.c: Likewise.
13169         * real.c: Likewise.
13170         * recog.c: Likewise.
13171         * regclass.c: Likewise.
13172         * regmove.c: Likewise.
13173         * reg-stack.c: Likewise.
13174         * reload1.c: Likewise.
13175         * resource.c: Likewise.
13176         * rtlanal.c: Likewise.
13177         * rtl.c: Likewise.
13178
13179 2001-08-12  Kazu Hirata  <kazu@hxi.com>
13180
13181         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
13182         a tree representing a constant is passed to the macro.
13183
13184 2001-08-12  Richard Henderson  <rth@redhat.com>
13185
13186         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
13187         (rs6000_elf_asm_out_destructor): New.
13188         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
13189         (DTORS_SECTION_ASM_OP): Remove.
13190         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13191         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
13192
13193 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
13194
13195         Revert:
13196         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13197         * gcc.c (set_collect_gcc_options): New function, split out from
13198         main.
13199         Ignore elided switches.
13200         (do_spec_1): Invoke before executing command.
13201         (set_input): Export.
13202         Move declaration ...
13203         * gcc.h (set_input): ... here.
13204         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
13205         file.
13206
13207 2001-08-12  Richard Henderson  <rth@redhat.com>
13208
13209         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
13210         thinko wrt TARGET_RELOCATABLE.
13211
13212 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
13213
13214         * fix-header.c (cb_file_change): Update prototype.
13215
13216 2001-08-11  Zack Weinberg  <zackw@panix.com>
13217
13218         * toplev.c (set_float_handler): Make static.
13219         * toplev.h: Don't prototype set_float_handler.
13220
13221         * simplify-rtx.c: Don't include setjmp.h.
13222         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
13223         New functions.
13224         (simplify_unary_operation, simplify_binary_operation): Use them,
13225         via do_float_handler.
13226
13227         * fold-const.c: Don't include setjmp.h.
13228         (exact_real_inverse_1): New function.
13229         (exact_real_inverse): Use it, via do_float_handler.
13230
13231         * varasm.c: Don't include setjmp.h.
13232         (assemble_real_1): New function.
13233         (assemble_real): Use it, via do_float_handler.
13234         Call internal_error if we get a trap here.
13235
13236         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
13237         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
13238
13239 2001-08-11  Zack Weinberg  <zackw@panix.com>
13240
13241         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
13242         STACK_BOUNDARY if not already defined.
13243
13244         * calls.c, function.c, reload1.c, explow.c: Don't default
13245         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
13246         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
13247
13248         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
13249         to run-time test.
13250
13251         * doc/tm.texi: Document that STACK_BOUNDARY is required;
13252         clarify difference between it and PREFERRED_STACK_BOUNDARY.
13253
13254 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
13255
13256         * cppmacro.c (enter_macro_context): Push macro expansions even
13257         if empty.
13258
13259 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13260
13261         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
13262         (rs6000_elf_section_type_flags): Actually return a value.
13263
13264 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
13265
13266         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
13267         Clean up code: add missing comments and prototypes, fix warnings,
13268         remove obsolete code, fix spacing to conform to coding style.
13269
13270 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
13271
13272         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
13273         and TARGET_ASM_CLOSE_PAREN.
13274         (regclass_map): CC register belongs to class NO_REGS.
13275         (legitimize_pic_address): Don't generate unnecessary moves
13276         (to avoid confusing loop optimization).
13277         (check_and_change_labels): Replace jump_long by indirect_jump.
13278         (s390_final_chunkify): Don't start a new literal pool on section
13279         switch in 64-bit code.
13280         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
13281
13282         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
13283         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
13284         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
13285         modes correctly.
13286         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
13287         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
13288         (CONST_COSTS): Fixed incorrect costs.
13289
13290         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
13291         Use emit_jump instead of emit_jump_insn (gen_jump).
13292         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
13293         (to avoid confusing flow analysis).
13294         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
13295         (casesi, casesi_jump): New.
13296         (jump_long): Removed.  Functionality merged into indirect_jump.
13297         (indirect_jump): Accept address_operand, not just register_operand.
13298         (cjump_long, icjump_long): Use same logic as indirect_jump.
13299         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
13300         Fixed broken setjmp/longjmp handling.
13301         (do_builtin_setjmp_setup): Removed.
13302
13303         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
13304         broken GNU as versions that don't accept .quad with large
13305         negative values.  Use hexadecimal output instead.
13306         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
13307         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
13308         FUNCTION_EPILOGUE): Removed.  Now in targetm.
13309
13310         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
13311
13312         * config/s390/fixdfdi.h: Add missing copyright statement.
13313         Fix type conflicts on 64-bit.  Add missing SFmode routines.
13314
13315         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
13316         email address.
13317
13318 2001-08-11  Richard Henderson  <rth@redhat.com>
13319
13320         * rtl.h (REG_EH_RETHROW): Remove.
13321         * rtl.c (reg_note_name): Update.
13322         * combine.c (distribute_notes): Don't check for it.
13323
13324 2001-08-11  Richard Henderson  <rth@redhat.com>
13325
13326         * combine.c (distribute_notes): Place REG_SETJMP.
13327
13328 2001-08-11  Richard Henderson  <rth@redhat.com>
13329
13330         * doc/extend.texi (Arrays and pointers implementation): Discourage
13331         relying on sign-extension of pointers.
13332
13333 2001-08-11  H.J. Lu <hjl@gnu.org>
13334
13335         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
13336         in_dtors.
13337         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
13338         RDATA_SECTION_ASM_OP.
13339
13340 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13341
13342         * doc/install.texi (Specific, c4x): Fix cross-reference to the
13343         main manual to work both for info and HTML versions.
13344
13345 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
13346             Matt Kraai <kraai@alumni.carnegiemellon.edu>
13347
13348         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
13349         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
13350         (struct cpp_pool): New member first.
13351         * cppinit.c (append_include_chain): Plug memory leaks.
13352         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
13353         Allocate pragma structures from the (aligned) macro pool to
13354         avoid leaking memory.
13355         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
13356         so we don't leak memory.
13357         * hashtable.c (ht_destroy): New.
13358         * hashtable.h (ht_destroy): New.
13359
13360 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
13361             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13362
13363         * c-lex.c (map): Make const.
13364         (cb_file_change): Update for callback passing a line map.
13365         Don't assume we have a previous map.  Remove sanity check
13366         about popping too many files.
13367         * cpperror.c (print_location): Make map const.
13368         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
13369         (cpp_make_system_header): Similarly.
13370         (search_from): Similarly.
13371         (_cpp_execute_include): Don't remember where we came from.
13372         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
13373         (struct cpp_reader): Make map const.
13374         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
13375         * cpplib.c (do_line): Update; line maps now hold sysp.
13376         (cpp_push_buffer): Similarly.
13377         (_cpp_do_file_change): Similarly; callback with map instead.
13378         (cpp_get_line_maps): Constify return value.
13379         (_cpp_pop_buffer): Update.
13380         * cpplib.h (struct cpp_file_change): Remove.
13381         (struct cpp_callbacks): Update.
13382         (cpp_get_line_maps): Constify return value.
13383         * cppmacro.c (_cpp_create_definition): Update.
13384         * cppmain.c (struct printer): Constify map.
13385         (maybe_print_line): Similarly.
13386         (print_line): Similarly.  Deduce flags 1 and 2 here.
13387         (cb_file_change): Update.
13388         * line-map.c (free_line_maps): Warn regardless.
13389         (add_line_map): Return pointer to const.  When passed NULL to_file
13390         with LC_LEAVE, use the obvious values for the return point so the
13391         caller doesn't have to figure them out.
13392         (lookup_line): Return pointer to const.
13393         (print_containing_files): Take pointer to const.
13394         * line-map.h (struct line_map): New members reason, sysp.
13395         (add_line_map): Return pointer to const.
13396         (lookup_line): Similarly.
13397         (print_containing_files): Take pointer to const.
13398
13399 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
13400             Richard Henderson  <rth@redhat.com>
13401
13402         * regmove.c (regmove_optimize): Avoid setting a register twice in
13403         a parallel set.
13404
13405 2001-08-10  Richard Henderson  <rth@redhat.com>
13406
13407         * doc/extend.texi (Arrays and pointers implementation): Document
13408         behavior of pointer/integer conversion.
13409
13410 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
13411
13412         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
13413
13414 2001-08-10  Richard Henderson  <rth@redhat.com>
13415
13416         * doc/extend.texi (C Implementation): New chapter.
13417         * doc/gcc.texi (Top): Link it in.
13418
13419 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
13420
13421         * doc/install.texi (Specific): Fix CVS merge botch.
13422
13423 2001-08-10  Richard Henderson  <rth@redhat.com>
13424
13425         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
13426         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
13427
13428 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
13429
13430         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
13431         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
13432         this macro is now required.
13433
13434         * cselib.c (cselib_process_insn), flow.c (propagate_block),
13435         loop.c (find_and_verify_loops), reload.c (reload): Check
13436         for rtx code of CALL_INSN, not CALL, when deciding if we
13437         need to check for REG_SETJMP note.
13438
13439         * gcse.c (compute_hash_table, compute_store_table): Update
13440         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
13441         logic.
13442
13443         * config/avr/avr.c: Fix typo.
13444         * config/convex/convex.c (expand_movstr): Use adjust_address.
13445         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
13446         variable.
13447         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
13448         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
13449         Fix typo.
13450         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
13451         Do define STACK_BOUNDARY.
13452         * config/i370/i370.c: Include expr.h.
13453         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
13454         config/pa/som.h, config/v850/v850.h: Take in_ctors and
13455         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
13456         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
13457         * config/m88k/m88k.c: Include c-tree.h after expr.h.
13458         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
13459         * config/romp/romp.c: Include expr.h after tree.h.
13460         Include toplev.h.
13461         (output_fpop): Use xmalloc, not oballoc.
13462         * config/we32k/we32k.c: Include expr.h.
13463
13464 2001-08-10  Kazu Hirata  <kazu@hxi.com>
13465
13466         * config/h8300/h8300.h: Fix formatting.
13467
13468 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
13469
13470         * c-common.h (RETURN_NULLIFIED_P): Lose.
13471         * c-semantics.c (genrtl_return_stmt): Don't check it.
13472
13473 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
13474
13475         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
13476         (mips_annotate_frame_insn): New function.
13477         (mips_emit_frame_related_store): New function.
13478         (save_restore_insns): Don't mark instructions that set up the base
13479         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
13480         the store instructions instead.
13481         (mips_expand_prologue): If the stack size is moved into a temporary
13482         register, do not mark that move as frame-related.  Add a
13483         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
13484
13485 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
13486
13487         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
13488         stack slot as unchanging if current_function_calls_eh_return.
13489
13490 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
13491
13492         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
13493         access the second half of the TFmode scratch operand.
13494
13495 2001-08-10  Anthony Green  <green@redhat.com>
13496
13497         * java/class.c (emit_register_classes): Conditionalize code on
13498         JCR_SECTION_NAME.
13499
13500 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13501
13502         * doc/install.texi (Specific, avr): Fix cross-reference to the
13503         main manual to work both for info and HTML versions.
13504
13505 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13506
13507         * stmt.c (expand_null_return_1): Remove code to generate simple returns
13508         and "use_goto" argument.
13509         (expand_null_return, expand_value_return): Update all callers.
13510         * function.c (expand_function_end): Remove code to generate simple
13511         return.
13512         * config/vax/vax.md (epilogue): New expander for function return.
13513         * doc/md.texi (epilogue): Remove "if defined".
13514
13515 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
13516
13517         * Makefile.in: Partially revert my previous change:
13518         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
13519         of the hashtab.o and safe-ctype.o rules.
13520
13521 2001-08-09  Richard Henderson  <rth@redhat.com>
13522
13523         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
13524         (USE_COLLECT2): Remove duplicate definition.
13525         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
13526         (use_collect2): Remove dead code.
13527         * configure.in (use_collect2): Remove will_use_collect2 and
13528         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
13529         * configure: Rebuild.
13530
13531         * target.h (targetm.asm_out.constructor): New.
13532         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
13533         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
13534         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
13535         * varasm.c (in_ctors, in_dtors): New.
13536         (assemble_constructor, assemble_destructor): Remove.
13537         (default_stabs_asm_out_destructor): New.
13538         (default_named_section_asm_out_destructor): New.
13539         (dtors_section, default_dtor_section_asm_out_destructor): New.
13540         (default_stabs_asm_out_constructor): New.
13541         (default_named_section_asm_out_constructor): New.
13542         (ctors_section, default_ctor_section_asm_out_constructor): New.
13543         * output.h: Update declarations.
13544         * c-decl.c (c_expand_body): Use target hooks instead of
13545         assemble_constructor and assemble_destructor.
13546         * profile.c (output_func_start_profiler): Likewise.
13547         * objc/objc-act.c (finish_objc): Likewise.
13548         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
13549         for the constructor.
13550         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
13551
13552         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
13553         (DTORS_SECTION_ASM_OP): Likewise.
13554         (__CTOR_LIST__): Use attribute section when possible.
13555         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
13556
13557         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
13558         ASM_OUTPUT_CONSTRUCTOR.
13559
13560         * config/darwin.c (machopic_asm_out_constructor): New.
13561         (machopic_asm_out_destructor): New.
13562         * config/darwin-protos.h: Update declarations.
13563         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13564         (ASM_OUTPUT_DESTRUCTOR): Remove.
13565         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13566         * config/nextstep.c (nextstep_asm_out_constructor): New.
13567         (nextstep_asm_out_destructor): New.
13568         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13569         (ASM_OUTPUT_DESTRUCTOR): Remove.
13570         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13571         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
13572         ASM_OUTPUT_*STRUCTOR.
13573         * config/i386/aix386ng.h: Likewise.
13574
13575         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
13576         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
13577         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
13578         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
13579         * config/lynx.h: Likewise.
13580         * config/netware.h: Likewise.
13581         * config/psos.h: Likewise.
13582         * config/alpha/alpha-interix.h: Likewise.
13583         * config/alpha/elf.h: Likewise.
13584         * config/arc/arc.h: Likewise.
13585         * config/arm/aof.h: Likewise.
13586         * config/arm/coff.h: Likewise.
13587         * config/arm/elf.h: Likewise.
13588         * config/c4x/c4x.h: Likewise.
13589         * config/h8300/h8300.h: Likewise.
13590         * config/i386/cygwin.h: Likewise.
13591         * config/i386/djgpp.h: Likewise.
13592         * config/i386/i386-coff.h: Likewise.
13593         * config/i386/i386-interix.h: Likewise.
13594         * config/i386/sco5.h: Likewise.
13595         * config/i386/vsta.h: Likewise.
13596         * config/i386/win32.h: Likewise.
13597         * config/i960/i960-coff.h: Likewise.
13598         * config/ia64/sysv4.h: Likewise.
13599         * config/m68hc11/m68hc11.h: Likewise.
13600         * config/m68k/coff.h: Likewise.
13601         * config/m68k/mot3300.h: Likewise.
13602         * config/m88k/m88k.h: Likewise.
13603         * config/mcore/mcore-pe.h: Likewise.
13604         * config/mcore/mcore.h: Likewise.
13605         * config/mips/elf.h: Likewise.
13606         * config/mips/elf64.h: Likewise.
13607         * config/mips/iris6.h: Likewise.
13608         * config/pa/pa64-hpux.h: Likewise.
13609         * config/rs6000/sysv4.h: Likewise.
13610         * config/sh/sh.h: Likewise.
13611         * config/sparc/litecoff.h: Likewise.
13612
13613         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
13614         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
13615         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
13616         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13617         (ASM_OUTPUT_DESTRUCTOR): Remove.
13618         * config/a29k/a29k.c: Move include of tree.h.
13619         * config/a29k/udi.h: Delete file.
13620         * config/alpha/alpha.c (vms_asm_out_constructor): New.
13621         (vms_asm_out_destructor): New.
13622         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
13623         (EXTRA_SECTION_FUNCTIONS): Likewise.
13624         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
13625         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13626         * config/c4x/c4x.c: Move include of tree.h.
13627         * config/clipper/clipper.c (clix_asm_out_constructor): New.
13628         (clix_asm_out_destructor): New.
13629         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13630         (ASM_OUTPUT_DESTRUCTOR): Remove.
13631         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13632         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13633         (TARGET_ASM_CONSTRUCTOR): New.
13634         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
13635         (sco_asm_out_constructor): New.
13636         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
13637         * config/i386/svr3gas.h: Remove stack grows up code.
13638         Remove code duplicated from i386/sysv3.h.
13639         (TARGET_ASM_CONSTRUCTOR): New.
13640         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
13641         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
13642         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13643         (TARGET_ASM_CONSTRUCTOR): New.
13644         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
13645         (m68hc11_asm_out_destructor): New.
13646         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
13647         (TARGET_ASM_DESTRUCTOR): New.
13648         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
13649         * config/m68k/dpx2.h: Properly undef all the bits inherited from
13650         config/svr3.h pertaining to section manipulation.
13651         * config/m68k/dpx2g.h: Remove #if 0 code.
13652         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
13653         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
13654         (ASM_OUTPUT_CONSTRUCTOR): Remove.
13655         (TARGET_ASM_CONSTRUCTOR): New.
13656         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
13657         (m88k_svr3_asm_out_constructor): New.
13658         (m88k_svr3_asm_out_destructor): New.
13659         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13660         (ASM_OUTPUT_DESTRUCTOR): Remove.
13661         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13662         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
13663         * config/rs6000/aix.h: Likewise.
13664         * config/mips/rtems64.h: Don't undef removed constructor related bits.
13665         * config/mips/vxworks.h: Likewise.
13666         * config/rs6000/lynx.h: Likewise.
13667         * config/sh/elf.h: Likewise.
13668         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
13669         (DTORS_SECTION_ASM_OP): New.
13670         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13671         (ASM_OUTPUT_DESTRUCTOR): Remove.
13672         * config/sparc/sol2-sld-64.h: Likewise.
13673         * config/vax/vax.c (vms_asm_out_constructor): New.
13674         (vms_asm_out_destructor): New.
13675         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13676         (ASM_OUTPUT_DESTRUCTOR): Remove.
13677         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13678
13679         * doc/tm.texi (@node Initialization): Update.
13680
13681 2001-08-09  Richard Henderson  <rth@redhat.com>
13682
13683         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
13684         (__do_global_dtors_aux): Use gp-relative static data to avoid
13685         one dynamic relocation.
13686         (__do_frame_setup): Register Java classes.
13687         * config/alpha/crtend.asm (__JCR_END__): New.
13688
13689 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
13690
13691         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
13692         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
13693         (GEN, STAGESTUFF): Add new files.
13694         (insn-constants.h, s-constants, tm-preds.h, s-preds,
13695         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
13696         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
13697         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
13698         as well as insn-codes.h and insn-flags.h in config.h; and no
13699         extra headers in tconfig.h and hconfig.h.
13700
13701         * gencodes.c: Eliminate code to generate predicate declarations
13702         or #defines for md-file constants.
13703         * genconstants.c, genpreds.c: New files.
13704
13705         * i386.md: Re-order guard expressions such that TARGET_64BIT
13706         comes first, when this permits better optimization.  Add
13707         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
13708         why this is desirable.
13709
13710 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
13711
13712         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
13713         (find_fde_for_dso): Remove.
13714         (_Unwind_IteratePhdrCallback): New.
13715         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
13716         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
13717
13718 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13719
13720         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
13721         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
13722
13723 2001-08-09  Graham Stott  <grahams@redhat.com>
13724
13725         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
13726         (vis_no_unit): Use it.
13727         (visualize_no_unit): Add the insn only if room exists.
13728
13729 2001-08-09  Graham Stott  <grahams@redhat.com>
13730
13731         * predict.c (estimate_probability): Replace magic numbers with
13732         appropriate enumeration.
13733
13734 2001-08-09  Graham Stott  <grahams@redhat.com>
13735
13736         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
13737         parameter.
13738         (EXTRACT_FLAGS): Likewise.
13739
13740 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
13741
13742         * config/mips/mips.c    (mips_legitimate_address_p): Check for
13743         CONST_INT in last patch.
13744
13745 2001-08-08  Anthony Green  <green@redhat.com>
13746
13747         * java/class.c (emit_register_classes): Use assemble_jcr if
13748         possible.  Keep the original mechanism as a fallback.
13749         * defaults.h (JCR_SECTION_NAME): Define if we have named section
13750         and weak symbol support.
13751         * crtstuff.c (__JCR_LIST__): Define.
13752         (__JCR_END__): Define.
13753         (_Jv_RegiserClasses): Define weak symbol if possible.
13754         (__do_global_ctors_aux): Register classes for ELF targets with
13755         weak symbol support.
13756
13757 2001-08-08  Kazu Hirata  <kazu@hxi.com>
13758
13759         * dbxout.c: Fix comment formatting.
13760         * dependence.c: Likewise.
13761         * df.c: Likewise.
13762         * diagnostic.c: Likewise.
13763         * dominance.c: Likewise.
13764         * doprint.c: Likewise.
13765         * dwarf2out.c: Likewise.
13766         * dwarfout.c: Likewise.
13767         * emit-rtl.c: Likewise.
13768         * except.c: Likewise.
13769         * explow.c: Likewise.
13770         * expmed.c: Likewise.
13771         * expr.c: Likewise.
13772         * flow.c: Likewise.
13773         * fold-const.c: Likewise.
13774         * function.c: Likewise.
13775
13776 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13777
13778         * global.c (retry_global_alloc): Avoid shadowing allocno.
13779
13780 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
13781
13782         * except.c (remove_fixup_regions): Fix typo.
13783
13784 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
13785
13786         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
13787         unsigned HOST_WIDE_INT to avoid warning.
13788         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
13789         * flow.c (set_block_for_new_insns): Likewise.
13790
13791 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
13792
13793         * sibcall.c (return_value_pseudo): New static variable.
13794         (skip_copy_to_return_value): Handle return_value_pseudo.
13795         (call_ends_block_p): Ensure that return_value_pseudo is set.
13796         (optimize_sibling_and_tail_recursive_call): Discover the
13797         load of pseudo return value in alternate exit block.
13798
13799 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
13800
13801         * calls.c (ECF_ALWAYS_RETURN): New constant.
13802         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
13803         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
13804         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
13805         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
13806         * rtl.c (reg_note_name): New name.
13807         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
13808
13809 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
13810
13811         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
13812
13813 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
13814
13815         * alias.c (get_alias_set): Return a previously calculated
13816         alias set for a VAR_DECL.
13817         * function.c (gen_mem_addressof): Calculate the alias set before
13818         touching the RTL.
13819
13820 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
13821
13822         * predict.def: Set hitrates according our experimental run.
13823
13824 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
13825
13826         * i386.h (HARD_REGNO_RENAME_OK): New macro.
13827
13828 2001-08-08  H.J. Lu <hjl@gnu.org>
13829
13830         * config/mips/mips.c (mips_unique_section): New. Copied from
13831         config/mips/elf.h.
13832
13833         * config/mips/mips-protos.h (mips_unique_section): New
13834         prototype.
13835
13836         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
13837
13838         * config/mips/little.h: New. Generic little endian mips
13839         targets. Only mips*-*-linux* is converted to use it so far.
13840
13841         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
13842         (WCHAR_TYPE): Defined
13843         (WCHAR_TYPE_SIZE): Likewise.
13844         (INIT_SUBTARGET_OPTABS): Likewise.
13845         (BSS_SECTION_ASM_OP): Likewise.
13846         (SBSS_SECTION_ASM_OP): Likewise.
13847         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
13848         (ASM_DECLARE_OBJECT_NAME): Likewise.
13849         (UNIQUE_SECTION): Likewise.
13850         (EXTRA_SECTIONS): Likewise.
13851         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
13852         (ASM_OUTPUT_DESTRUCTOR): Likewise.
13853         (ASM_OUTPUT_DEF): Likewise.
13854         (HANDLE_SYSV_PRAGMA): Removed.
13855         (NO_IMPLICIT_EXTERN_C): Likewise.
13856         (TARGET_MEM_FUNCTIONS): Likewise.
13857         (STARTFILE_SPEC): Likewise.
13858         (ENDFILE_SPEC): Likewise.
13859         (LIB_SPEC): Likewise.
13860         (INVOKE__main): Likewise.
13861         (CTOR_LIST_BEGIN): Likewise.
13862         (CTOR_LIST_END): Likewise.
13863         (DTOR_LIST_BEGIN): Likewise.
13864         (DTOR_LIST_END): Likewise.
13865         (SET_ASM_OP): Likewise.
13866         (ASM_OUTPUT_SOURCE_LINE): Likewise.
13867         (ASM_OUTPUT_DEF): Likewise.
13868         (ASM_OUTPUT_IDENT): Likewise.
13869
13870         * config/mips/mips.h (ASM_SPEC): Undefine before define.
13871         (CPLUSPLUS_CPP_SPEC): Likewise.
13872         (ASM_APP_ON) Redefine only if not defined.
13873         (ASM_APP_OFF): Likewise.
13874         (ASM_OUTPUT_SOURCE_LINE): Likewise.
13875         (ASM_OUTPUT_IDENT): Likewise.
13876
13877         * config.gcc: Update tm_file for Linux/mips.
13878
13879 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
13880
13881         * cselib.c (cselib_record_sets): If insn is predicated, turn
13882         sources into IF_THEN_ELSEs.
13883
13884         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
13885         Turn into define_insn_and_split.
13886
13887         * sched-deps.c: Include "cselib.h".
13888         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
13889         Use cselib to turn memory addresses into VALUEs.
13890         (sched_analyze): Call cselib_init/cselib_finish if necessary.
13891         * sched-int.h (struct sched_info): New member USE_CSELIB.
13892         * sched-ebb.c (ebb_sched_info): Initialize it.
13893         * sched-rgn.c (rgn_sched_info): Likewise.
13894         * Makefile.in (sched-deps.o): Update dependencies.
13895
13896         * cselib.h (cselib_subst_to_values): Declare.
13897         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
13898         that have no value and autoincs to be handled by generating a new
13899         dummy value.
13900
13901 2001-08-08  Graham Stott  <grahams@redhat.com>
13902
13903         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
13904         within fixed length SEQUENCE.
13905
13906 2001-08-08  Graham Stott  <grahams@redhat.com>
13907
13908         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
13909         (diagnostic_prefixing_rule): Likewise.
13910         (diagnostic_line_cutoff): Likewise.
13911         (diagnostic_kind_count): Likewise.
13912
13913 2001-08-08  Graham Stott  <grahams@redhat.com>
13914
13915         * alias.c (find_base_decl): Delete redundent assignment.
13916
13917 2001-08-08  Graham Stott  <grahams@redhat.com>
13918
13919         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
13920         (abs): Uppercase and paranthesize macro parameter.
13921         (MEM_DEPENDENCY): Add whitespace.
13922
13923 2001-08-08  Graham Stott  <grahams@redhat.com>
13924
13925         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
13926         failure check for CONST_INT
13927
13928 2001-08-08  Graham Stott  <grahams@redhat.com>
13929
13930         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
13931         (libcall_dead_p): Likewise.
13932
13933         (mark_used_regs): Constify fmt.
13934         (find_use_as_address): Likewise.
13935
13936 2001-08-08  Graham Stott  <grahams@redhat.com>
13937
13938         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
13939          parameter.
13940
13941 2001-08-08  Graham Stott  <grahams@redhat.com>
13942
13943         * combine.c (combine_simplify_rtx): Update comment and
13944         remove erroneous test.
13945
13946 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
13947
13948         * cppinit.c (cpp_finish): Pop the final buffer without comment.
13949         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
13950         take care to avoid multiple no-newline at EOF warnings in that
13951         case.
13952
13953 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
13954
13955         * calls.c (expand_call): Do not emit INSN_SETJMP note.
13956         (emit_library_call_value_1): Likewise.
13957         (emit_call_1): Emit REG_SETJMP note.
13958         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
13959         of INSN_SETJMP
13960         * cselib.c (cselib_process_insn): Likewise.
13961         * flow.c (propagate_block): Likewise.
13962         * loop.c (find_and_verify_loops): Likewise.
13963         * reload.c (find_equiv_regs): Likewise.
13964         * reload1.c (reload): Likewise.
13965         * resource.c (mark_referenced_resources,
13966         mark_set_resources): Likewise.
13967         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
13968         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
13969         * haifa-sched.c (unlink_other_notes): Likewise.
13970         (reemit_notes): Likewise.
13971         * sched-ebb.c (sched_ebb): Likewise.
13972         * sched-rgc.c (sched_region): Likewise.
13973         * rtl.c (note_insn_name): Likewise.
13974         (reg_note_name): Add REG_SETJMP
13975         * rtl.h (reg_note): Add REG_SETJMP.
13976         (insn_note): Remove NOTE_INSN_SETJMP.
13977
13978         * profile.c (branch_prob): Add fake edges for setjmp.
13979
13980 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
13981
13982         * config.gcc: Quote target_cpu_default2 correctly for
13983         powerpc*-*-* targets.
13984
13985 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
13986
13987         * cpplib.h, line-map.h: Update comments.
13988         * cppmain.c (printer_init): Move inline.
13989         (maybe_print_line, print_line): Take a map pointer.
13990         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
13991         (cb_file_change): Don't use prior value of print.map.
13992
13993 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
13994
13995         * doc/install.texi: Document fine-grained multilib configuration.
13996
13997 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
13998
13999         * rtlanal.c (find_first_parameter_load): Call note_stores
14000         only on the instructions.
14001
14002 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
14003
14004         * alias.c (nonlocal_mentioned_p):
14005         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
14006         * calls.c (emit_call_1): Likewise.
14007         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
14008         * cselib.c (cselib_process_insn): Likewise.
14009         * df.c (df_insns_modify): Likewise.
14010         * flow.c (need_fake_edge_p): Likewise.
14011         (propagate_one_insn): Likewise.
14012         * haifa-sched.c (reemit_notes): Likewise.
14013         * integrate.c (copy_insn_list): Likewise.
14014         * jump.c (delete_prior_computation): Likewise.
14015         * local-alloc.c (validate_equiv_mem): Likewise.
14016         * loop.c (scan_loop): Likewise.
14017         * predict.c (estimate_probability): Likewise.
14018         * reload.c (reload): Likewise.
14019         * sched-deps (sched_analyze): Likewise.
14020         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
14021         * gcse.c (compute_hash_table): Likewise.
14022         (mark_call): Likewise.
14023         (store_killed_in_insn): Likewise.
14024
14025 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
14026
14027         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
14028
14029 2001-08-06  Richard Henderson  <rth@redhat.com>
14030
14031         * varasm.c (assemble_gc_entry): Remove.
14032         * output.h: Likewise.
14033
14034 2001-08-06  Richard Henderson  <rth@redhat.com>
14035
14036         * varasm.c (assemble_constructor): Take a symbol_ref and a
14037         priority instead of a bare string.  Move priority handling
14038         here from cp/decl2.c.
14039         * output.h: Update decls.
14040
14041         * c-decl.c (c_expand_body): Update calls to assemble_constructor
14042         and assemble_destructor.
14043         * profile.c (output_func_start_profiler): Likewise.
14044         * objc/objc-act.c (finish_objc): Likewise.
14045         (build_module_descriptor): Return the symbol not the symbol name.
14046
14047 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
14048
14049         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
14050         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
14051         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
14052         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
14053         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
14054         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
14055
14056 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
14057
14058         * cpperror.c (print_containing_files): Moved to line-map.c.
14059         (print_location): line-map.c handles re-listing or otherwise.
14060         * cpphash.h (struct lexer_state): Remove next_bol.
14061         (struct cpp_buffer): Remove include_stack_listed.
14062         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
14063         Remove faked buffer handling.
14064         (_cpp_do_file_change): Tweak.
14065         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
14066         * cppmain.c (struct printer): Remove filename.
14067         (print_line, cb_file_change): Update accordingly.
14068         * line-map.c: Include intl.h.
14069         (init_line_maps): Initialize last_listed.
14070         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
14071         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
14072         (print_containing_files): New.
14073         * line-map.h (struct line_maps): New member last_listed.
14074         (print_containing_files, INCLUDED_FROM): New.
14075         * Makefile.in: Update.
14076         * po/POTFILES.in: Add line-map.c.
14077
14078 2001-08-06  Richard Henderson  <rth@redhat.com>
14079
14080         * except.c (convert_from_eh_region_ranges_1): Never mark
14081         USE or CLOBBER insns as throwing.
14082
14083         * expr.c (store_constructor): Don't clobber memory targets.
14084
14085 2001-08-06  Andreas Jaeger  <aj@suse.de>
14086
14087         * profile.c (branch_prob): Remove unused variable insn.
14088
14089         * Makefile.in (local-alloc.o): Add dependency on except.h.
14090
14091         * local-alloc.c: Include except.h for can_throw_internal prototype.
14092
14093 2001-08-06  Richard Henderson  <rth@redhat.com>
14094
14095         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
14096         * function.c (expand_main_function): Implement it.
14097         * doc/tm.texi: Document it.
14098
14099 2001-08-06  Stan Shebs  <shebs@apple.com>
14100
14101         * doc/install.texi: Document powerpc-*-darwin* details.
14102
14103 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
14104
14105         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
14106         (ASM_CPU_SPEC): Move back to rs6000.h
14107         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
14108
14109         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
14110
14111         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
14112         readded.
14113
14114         * config/rs6000/linux64.h: Ditto.
14115
14116         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
14117         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
14118         nothing.
14119
14120         Remove accidently readded definitions of FUNCTION_PROLOGUE,
14121         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
14122
14123         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
14124         to rs6000.h
14125
14126 2001-08-05  Richard Henderson  <rth@redhat.com>
14127
14128         * local-alloc.c (update_equiv_regs): Do not move insns that
14129         can throw.
14130
14131 2001-08-05  Jan Hubicka  <jh@suse.cz>
14132
14133         * Makefile.in (reload1.o): Add dedendancy on except.h
14134         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
14135         prototypes.
14136         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
14137         indicating wehther edges has been cleaned up.
14138         * reload1.c: Inlucde except.h
14139         (fixup_abnormal_edges): Accept deleted insns.
14140         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
14141         after combine.
14142
14143 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
14144
14145         * cpplib.c (do_line): Correct line number after pop_buffer.
14146
14147 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
14148
14149         PR preprocessor/3824
14150         * line-map.c: Update comments.
14151         * line-map.h: Update comments.
14152         * tradcif.y: Don't consider large numbers unsigned.
14153
14154 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
14155
14156         PR preprocessor/3081
14157         * c-lex.c (map): New.
14158         (cb_file_change): Update map and use it.
14159         (cb_def_pragma, cb_define, cb_undef): Use map and line.
14160         (c_lex): Update to use map.
14161         * cpperror.c (print_location): Move to using logical line numbers.
14162         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
14163         (cpp_make_system_header): Similarly.
14164         (_cpp_execute_include): Stop line numbering hacks.  Store the
14165         line we will return to.
14166         * cpphash.h (CPP_BUF_LINE): Remove.
14167         (struct cpp_buffer): Remove lineno and pseudo_newlines.
14168         Add map and return_to_line.
14169         (_cpp_do_file_change): Update.
14170         * cppinit.c (cpp_start_read): Update line kludge.
14171         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
14172         (trigraph_ok): Use logical line numbers for diagnostics.
14173         (skip_block_comment): Likewise.
14174         (skip_whitespace): Likewise.
14175         (skip_line_comment): Use pfile->line instead.
14176         (_cpp_lex_token): Update to use logical line numbering exclusively.
14177         Handle BOL locally.  Accept new lines in directives, but keep
14178         pfile->line decremented.  Diagnostics use logical lines.  Update
14179         directive handling.
14180         * cpplib.c (SEEN_EOL): New.
14181         (skip_rest_of_line, check_eol): Use it.
14182         (end_directive): Increase line number when accepting the newline
14183         at the end of a directive.
14184         (run_directive): Simplify.
14185         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
14186         (_cpp_do_file_change): Update to take buffer line number as an
14187         argument, and store the current map in the cpp_reader.  Remove
14188         line number kludges.
14189         (_cpp_do__Pragma): Restore output position after a _Pragma.
14190         (cpp_push_buffer): Don't set output line or lineno.
14191         (_cpp_pop_buffer): Transfer more info from a faked buffer.
14192         Remove line kludge.  Set output_line.
14193         * cppmacro.c (builtin_macro): Update handling of __LINE__.
14194         (parse_arg): Use logical lines.
14195         (save_lookahead_token): Save EOFs too now.
14196         * cppmain.c (struct printer): Fix comments.
14197         (printer_init): Simplify, let caller do errors.
14198         (scan_translation_unit, check_multiline_token, dump_macro): Update.
14199         (maybe_print_line): Simplify.
14200         (print_line): Don't print a linemarker if -P.
14201         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
14202         (cb_file_change): Simplify.
14203         * line-map.h (LAST_SOURCE_LINE): Fix.
14204         (CURRENT_LINE_MAP): New.
14205
14206 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
14207
14208         * doloop.c (doloop_modify_runtime): Properly compute number of
14209         iterations if loop was unrolled.
14210
14211         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
14212         if their CSELIB_VAL_PTRs are.
14213
14214         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
14215         (setup_spill_pointers): Initialize it.
14216         (spill_restore_mem): Set it.
14217         (do_spill, do_restore): Use it to add REG_INC note.
14218         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
14219
14220         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
14221         asms if other insns are available.
14222
14223         * config/ia64/ia64.c (condop_operator): New predicate.
14224         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
14225         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
14226         patterns.
14227
14228         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
14229         temporary register than directly using a MEM.
14230
14231 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
14232
14233         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
14234         parameter in last change.
14235
14236 2001-08-04  Zack Weinberg  <zackw@panix.com>
14237
14238         * sparc.md: Don't use #if inside C test expression.
14239
14240 2001-08-04  Richard Henderson  <rth@redhat.com>
14241
14242         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
14243
14244 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
14245
14246         * cpphash.h (struct cpp_reader): New member directive_line.
14247         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
14248         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
14249         do_pragma): Pass line to callbacks.
14250         (start_directive): Record line of directive.
14251         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
14252         cb_include): Similarly.
14253         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
14254         Similarly.
14255
14256 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
14257
14258         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
14259         comment.
14260
14261 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
14262
14263         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
14264
14265         * reload1.c (fixup_abnormal_edges): New static function.
14266         (reload): Use it.
14267
14268         * flow.c (need_fake_edge_p): New function.
14269         (flow_call_edges_add): Fix handling of noreturn and sibling calls;
14270         avoid call insn to be very last insn in the insn stream.
14271
14272         * profile.c (branch_prob): Call flow_call_edges_add instead of
14273         doing that by hand; cleanup cfg to re-merge basic blocks once
14274         we are done.
14275
14276 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
14277
14278         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
14279         are also on line-map.h.
14280         * cppfiles.c (stack_include_file): Update.
14281         * cpphash.h (struct cpp_buffer): New member return_at_eof.
14282         (_cpp_pop_buffer): New.
14283         * cppinit.c (cpp_destroy, cpp_finish): Update.
14284         (do_includes): Mark each buffer to return at EOF.
14285         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
14286         return as requested.
14287         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
14288         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
14289         * cpplib.h (cpp_pop_buffer): Remove.
14290         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
14291         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
14292         buffers.
14293         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
14294         to pop buffers.
14295         (do_preprocessing): Update.
14296         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
14297         * c-parse.in (_yylex): Similarly.
14298         * scan-decls.c (scan_decls): Similarly.
14299         * line-map.h: Update comments.
14300
14301         * objc/Make-lang.in (objc-act.o): Update dependencies.
14302
14303 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14304
14305         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
14306         and soft register for operand 0.
14307         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
14308
14309 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14310
14311         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
14312         register for operand 0.
14313         ("bitcmpqi_z_used"): Allow memory for operand 0.
14314         (split "bitcmpqi"): New split to handle address reg as operand 1.
14315
14316 2001-08-04  Andreas Jaeger  <aj@suse.de>
14317
14318         * gcse.c: Revert Daniel's last patch.
14319
14320 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
14321
14322         * sparc-protos.h: Add prototypes for fp_zero_operand and
14323         reg_or_0_operand.
14324         * sh-protos.h: Add prototype for fpul_operand.
14325
14326 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
14327
14328         * doc/extend.texi (Other Builtins): Fix typo in last change.
14329
14330 2001-08-03  Richard Henderson  <rth@redhat.com>
14331
14332         * target.h (gcc_target): Add asm_out.named_section,
14333         section_type_flags, have_named_sections.
14334         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
14335         (TARGET_HAVE_NAMED_SECTIONS): New.
14336         (TARGET_SECTION_TYPE_FLAGS): New.
14337
14338         * Makefile.in (toplev.o): Depend on TARGET_H.
14339         (varasm.o, dbxout.o): Likewise.
14340         * c-common.c (decl_attributes): Check targetm.have_named_sections
14341         instead of ifdef ASM_OUTPUT_SECTION_NAME.
14342         * dbxout.c (dbxout_function_decl): Likewise.
14343         (dbxout_function_end): Likewise.
14344         * toplev.c (compile_file): Likewise.
14345         * varasm.c (exception_section): Likewise.
14346         * cp/decl2.c (finish_objects): Likewise.
14347
14348         * defaults.h (EH_FRAME_SECTION): Remove.
14349         (EH_FRAME_SECTION_ASM_OP): Remove.
14350         (EH_FRAME_SECTION_NAME): New.
14351         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
14352         (UNIQUE_SECTION_P): Remove.
14353         * dwarf2out.c (SECTION_FORMAT): Remove.
14354         (ASM_OUTPUT_SECTION): Remove.
14355         (output_call_frame_info): Use named_section_flags.
14356         (output_comp_unit, dwarf2out_start_source_file): Likewise.
14357         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
14358         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
14359         * varasm.c (in_eh_frame, eh_frame_section): Remove.
14360         (named_section_flags): New.
14361         (named_section): Use it and targetm.section_type_flags.
14362         (resolve_unique_section): New.
14363         (assemble_start_function): Use it.
14364         (asm_emit_uninitialised, assemble_variable): Likewise.
14365         (default_section_type_flags): New.
14366         (default_no_named_section, default_elf_asm_named_section): New.
14367         (default_coff_asm_named_section, default_pe_asm_named_section): New.
14368         * output.h: Update varasm.c decls.
14369         (SECTION_*): New flags.
14370
14371         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
14372         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
14373
14374         * config/elfos.h (UNIQUE_SECTION_P): Remove.
14375         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
14376         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
14377         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
14378         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
14379         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
14380         * config/mips/elf.h, config/mips/elf64.h: Likewise.
14381         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
14382         * config/pa/pa64-hpux.h,
14383
14384         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
14385         (TARGET_ASM_NAMED_SECTION): New.
14386         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
14387         * config/alpha/vms.h, config/arm/coff.h: Likewise.
14388         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
14389         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
14390         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
14391         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
14392         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
14393         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
14394         * config/i386/sco5.h, config/i386/win32.h: Likewise.
14395         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
14396         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
14397         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
14398         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
14399         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
14400         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
14401         * config/sparc/sysv4.h: Likewise.
14402
14403         * config/nextstep.h: Error until named sections implemented.
14404
14405         * config/a29k/a29k.c (a29k_asm_named_section): New.
14406         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
14407         (vms_section_type_flags, vms_asm_named_section): New.
14408         * config/arm/arm.c (arm_elf_asm_named_section): New.
14409         * config/avr/avr.c (asm_output_section_name): Remove.
14410         * config/avr/avr-protos.h: Update.
14411         * config/c4x/c4x.c (c4x_asm_named_section): New.
14412         * config/h8300/h8300.c (h8300_asm_named_section): New.
14413         * config/i386/i386.c (sco_asm_named_section): New.
14414         * config/i386/winnt.c (SECTION_PE_SHARED): New.
14415         (i386_pe_section_type_flags): New.
14416         (i386_pe_asm_named_section): New.
14417         * config/i386/i386-protos.h: Update.
14418         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
14419         * config/mcore/mcore.c (mcore_asm_named_section): New.
14420         * config/mips/mips.c (iris6_asm_named_section): New.
14421         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
14422         instead of UNIQUE_SECTION_P.
14423         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
14424         (xcoff_asm_named_section): New.
14425         * config/sh/sh.c (sh_asm_named_section): New.
14426         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
14427
14428         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
14429         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
14430         (EH_FRAME_SECTION_NAME): New.
14431         (EXCEPTION_SECTION): New.
14432         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
14433         (DEBUG_*_SECTION): Remove.
14434         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
14435         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
14436         (EH_FRAME_SECTION_ASM_OP): Remove.
14437
14438         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
14439         (ASM_OUTPUT_SECTION_NAME): Remove.
14440         (TARGET_ASM_NAMED_SECTION): New.
14441         (TARGET_HAVE_NAMED_SECTIONS): New.
14442         (TARGET_SECTION_TYPE_FLAGS): New.
14443         (EH_FRAME_SECTION_ASM_OP): Remove.
14444         (EH_FRAME_SECTION_NAME): New.
14445
14446 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
14447
14448         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
14449         for complex expressions when cfun == 0.
14450         * doc/extend.texi: Document that __builtin_constant_p can be
14451         used in data initializers as well as functions.
14452
14453 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
14454
14455         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
14456         variable I locally, instead of expecting a declaration in the
14457         calling context.
14458
14459 2001-08-03  Richard Henderson  <rth@redhat.com>
14460
14461         * except.c (collect_one_action_chain): Add an explicit cleanup
14462         action if regions surrounding a catch were encoded entirely
14463         within the call-site entry.
14464
14465 2001-08-03  Richard Henderson  <rth@redhat.com>
14466
14467         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
14468         don't take REGNO of a non-register.
14469
14470 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14471
14472         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
14473         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
14474         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
14475         (__gthread_mutex_init_function): New function for mutex initialization.
14476
14477 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
14478
14479         * Makefile.in: Revert screwed up commit.
14480
14481 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14482
14483         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
14484         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
14485         merged by linker script to get a final _exit().
14486         (__do_global_dtors): New for destructor handling in specific exit
14487         section.
14488         (__do_global_ctors): New for constructors in specific install section.
14489         (__map_data_section): Map data sections before running constructors.
14490         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
14491         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
14492         (DTORS_SECTION_ASM_OP): Likewise.
14493         (CTORS_SECTION_FUNCTION): Define to force a reference to
14494         __do_global_ctors.
14495         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
14496
14497 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
14498
14499         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
14500
14501         * Makefile.in: Add df.h to gcse.c dependencies.
14502
14503 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14504
14505         * varasm.c (output_constant_def_contents): Use for the length of a
14506         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
14507         depending on which is larger.
14508
14509 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
14510
14511         * gcse.c: Include df.h for use as a dataflow analyzer.
14512         Remove regvec.
14513         Declaration of reg_set_info: gone.
14514         New df_analyzer variable used by store motion.
14515         (reg_set_info): Deleted.
14516         (mark_mem_regs): New function, analyze regs used by a mem.
14517         (store_ops_ok): Use dataflow analyzer results to determine if
14518         necessary regs are changed in the block.
14519         (find_moveable_store): Remove check for symbol ref, we can handle
14520         much more complex expressions now.
14521         (compute_store_table): Remove most of the code, it's unnecessary
14522         now that the dataflow analyzer records the info for us.
14523         (store_killed_after): Add parameter to say whether to do the
14524         store_ops_okay test, used to speed up testing when we already know
14525         the answer, and just want to know if the store itself was killed.
14526         (build_store_vector): Largely rewritten to calculate the various
14527         vectors properly, and somewhat optimized.
14528         (store_motion): Init the df_analyzer, get REG_DEF chains.
14529         Also handle trapping expressions (since mems almost always trap)
14530         (simple_mem): Redefine what a simple mem is.
14531
14532 2001-08-03  DJ Delorie  <dj@redhat.com>
14533
14534         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
14535         set from a constant part of the condition.
14536
14537 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
14538
14539         * mkdeps.c (deps_add_default_target): Make local variable
14540         ``start'' a const char pointer.
14541         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
14542
14543 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14544
14545         * doc/install.texi (Configuration): Fix markup.
14546         (Specific, i?86-*-udk): Likewise.
14547         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
14548         --with-gnu-ld.
14549         Document --enable-threads and --enable-libgcj status.
14550         (Specific, mips-sgi-irix*): Canonicalize triples.
14551         (Specific, mips-sgi-irix5): Warn about problems with this config.
14552         Mention required GNU as patch.
14553         Native assembler problems are fixed.
14554         (Specific, mips-sgi-irix6): Update O32 ABI support status.
14555         Document --enable-threads and --enable-libgcj status.
14556
14557 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
14558
14559         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
14560         of mkinstalldirs.
14561
14562 2001-08-03  Richard Henderson  <rth@redhat.com>
14563
14564         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
14565         constant data.
14566
14567 2001-08-03  Richard Henderson  <rth@redhat.com>
14568
14569         * rtlanal.c (find_first_parameter_load): Stop if we
14570         reach a CODE_LABEL at BOUNDARY.
14571
14572 2001-08-03  Richard Henderson  <rth@redhat.com>
14573
14574         * config/alpha/alpha.md (force_movdi): New insn.
14575         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
14576         Tweek FRP marking of VMS prologue insns.
14577         * config/alpha/vms.h (EPILOGUE_USES): New.
14578
14579 2001-08-02  Richard Henderson  <rth@redhat.com>
14580
14581         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
14582
14583 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
14584
14585         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
14586         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
14587         config/convex/convex.h, config/d30v/d30v.c,
14588         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
14589         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
14590         config/mips/mips.h, config/mn10200/mn10200.h,
14591         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
14592         config/v850/v850.h, config/vax/openbsd.h,
14593         config/vax/openbsd1.h, config/vax/ultrix.h,
14594         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
14595         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
14596         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
14597         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
14598         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
14599         in comments and documentation.
14600
14601 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
14602
14603         * line-map.c: New.
14604         * line-map.h: New.
14605         * Makefile.in (line-map.o): New.
14606         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
14607         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
14608         * cpperror.c (print_containing_files): Similarly.
14609         (print_location): Update.  Don't output a space before _Pragma.
14610         * cppfiles.c (stack_include_file): Set to line 1 immediately.
14611         (stack_include_filee, cpp_make_system_header): Update.
14612         (_cpp_execute_include): Get logical line number right for calling
14613         as-yet-unterminated #include.
14614         * cpphash.h (struct cpp_reader): Add line_maps.
14615         (_cpp_do_file_change): Update.
14616         * cppinit.c (cpp_create_reader): Initialize line maps.
14617         (cpp_destroy): Destroy line maps.
14618         (cpp_start_read): Get logical line number right.
14619         * cpplex.c (parse_string): Only warn once for multi-line strings.
14620         Use boolean variable for null warning.
14621         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
14622         already.
14623         (do_include_common): End the directive early.
14624         (do_line): Don't warn about out-of-range lines in preprocessed
14625         source.  Update.  Remove unused variables.
14626         (_cpp_do_file_change): Update for new line mapping.
14627         (pragma_cb): New typedef.
14628         (cpp_register_pragma): Stop looking ahead before calling the
14629         handler.  Clean up.
14630         (do_pragma_system_header): End directive early.
14631         (cpp_get_line_maps): New.
14632         (cpp_pop_buffer): Fudge logical line.  Update.
14633         * cpplib.h: Include line-map.h
14634         (enum cpp_fc_reason): Remove.
14635         (struct cpp_file_change): Update.
14636         (cpp_get_line_maps): New.
14637         * cppmain.c (struct_printer): New member map.
14638         (cb_file_change): Update for new mappings.
14639         * fix-header.c (cb_file_change): Similarly.
14640
14641 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
14642
14643         * Makefile.in (libgcc.mk): Define mkinstalldirs.
14644         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
14645
14646 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
14647
14648         * config/vax/vax.c: include expr.h.
14649
14650 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
14651
14652         * Makefile.in ($(srcdir)/configure): Only rebuild in
14653         maintainer mode.
14654         ($(srcdir)/config.in): Only define in maintainer mode.
14655         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
14656
14657 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
14658
14659         * doc/install.texi (Install GCC: Binaries): Update Bull info.
14660
14661 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14662
14663         * gcc.c (set_collect_gcc_options): New function, split out from
14664         main.
14665         Ignore elided switches.
14666         (do_spec_1): Invoke before executing command.
14667         (set_input): Export.
14668         Move declaration ...
14669         * gcc.h (set_input): ... here.
14670         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
14671         file.
14672
14673 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
14674
14675         Kill -fhonor-std.
14676         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
14677         interaction.
14678         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
14679
14680 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
14681
14682         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
14683         for the unnamed instructions it expands to.
14684
14685 2001-08-02  Richard Henderson  <rth@redhat.com>
14686
14687         * regclass.c (call_really_used_regs): Conditionally define.
14688         (init_reg_sets_1): Don't use it if not defined.
14689         (fix_register): Similarly, don't set it.
14690
14691 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14692
14693         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
14694         Correct comment that had been missed in the previous change.
14695
14696 2001-08-01  Stan Shebs  <shebs@apple.com>
14697
14698         * config/darwin.c (machopic_stub_name): Try matching by name.
14699         (update_stubs): New function.
14700         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
14701         unconditionally.
14702
14703 2001-08-01  Richard Henderson  <rth@redhat.com>
14704
14705         * except.c (output_function_exception_table): Use assemble_align.
14706         * varasm.c (assemble_eh_label): Remove.
14707         (assemble_eh_align, assemble_eh_integer): Remove.
14708
14709 2001-08-01  Robert Lipe  <robertl@caldera.com>
14710
14711         * dwarfout.c: Remove reference to README.DWARF.
14712
14713 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
14714
14715         * regclass.c (call_really_used_regs): New array for registers which
14716         are actually used by a call.
14717         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
14718         new array.
14719         (fix_register): Set call_really_used too.
14720         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
14721         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
14722
14723 2001-08-01  Richard Henderson  <rth@redhat.com>
14724
14725         * read-rtl.c (read_name): Consider \r whitespace.
14726
14727 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
14728
14729         * config.gcc: Recognize powerpc-*-netbsd*.
14730
14731         * doc/install.texi (Host/target specific installation notes for
14732         GCC): Mention powerpc-*-netbsd*.
14733
14734         * config/rs6000/netbsd.h: New file.
14735         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
14736         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
14737         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
14738         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
14739         (TARGET_VERSION): Redefine.
14740
14741         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
14742         mcall-netbsd as a match for mcall-sysv.
14743         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
14744         (ncrti.S, ncrtn.S): New targets.
14745         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
14746
14747         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
14748         "netbsd' as a V4 ABI.
14749         (ASM_SPEC): Check for -mcall-netbsd.
14750         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
14751         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
14752         (LIB_SPEC, ENDFILE_SPEC): Ditto.
14753         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
14754         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
14755         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
14756         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
14757
14758         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
14759         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
14760
14761 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
14762
14763         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
14764         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
14765         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
14766         including "unwind-pe.h".
14767
14768 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
14769
14770         * rs6000.md (define_splits): Kill unused constraints.
14771
14772 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
14773                               Jan Hubicka  <jh@suse.cz>
14774
14775         * function.c (thread_prologue_and_epilogue_insns): Kill code
14776         dealing with non-existent CFG.
14777
14778 2001-08-01  Kazu Hirata  <kazu@hxi.com>
14779
14780         * alias.c: Fix comment formatting.
14781         * bitmap.c: Likewise.
14782         * builtins.c: Likewise.
14783         * calls.c: Likewise.
14784         * c-common.c: Likewise.
14785         * c-decl.c: Likewise.
14786         * c-dump.c: Likewise.
14787         * c-lex.c: Likewise.
14788         * collect2.c: Likewise.
14789         * combine.c: Likewise.
14790         * conflict.c: Likewise.
14791         * cppfiles.c: Likewise.
14792         * cppinit.c: Likewise.
14793         * cpplex.c: Likewise.
14794         * cpplib.c: Likewise.
14795         * cppmacro.c: Likewise.
14796         * cppspec.c: Likewise.
14797         * c-pragma.c: Likewise.
14798         * crtstuff.c: Likewise.
14799         * cse.c: Likewise.
14800         * cselib.c: Likewise.
14801         * c-semantics.c: Likewise.
14802         * c-typeck.c: Likewise.
14803
14804 2001-08-01  H.J. Lu <hjl@gnu.org>
14805
14806         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
14807
14808 2001-08-01  H.J. Lu <hjl@gnu.org>
14809
14810         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
14811
14812 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
14813
14814         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
14815         contextualizing Objective-C class name lookup by the lexer.
14816         (typespec_reserved_nonattr): Disable ObjC class name lookup after
14817         seeing a TYPESPEC.
14818         (protocoldef): Add support for forward @protocol declarations.
14819         (yylexname): Suppress ObjC class name lookup in certain contexts;
14820         re-enable after lookup is complete.
14821         (_yylex): Re-enable ObjC class name lookup when certain
14822         punctuation marks are seen.
14823
14824         * objc/objc-act.c (check_protocol_recursively): New function used
14825         for finding circular dependencies in protocols.
14826         (objc_declare_protocols): New function for handling forward
14827         @protocol declarations.
14828         (receiver_is_class_object): Detect the case when 'self' is used
14829         inside of a class method.
14830         (build_message_expr): Issue a warning if class method is desired
14831         but instance method is found instead.
14832         (conforms_to_protocol): Streamline.
14833         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
14834         protocol Foo, even if 'Bar foo' does not.
14835         (check_protocols): Streamline.
14836         (start_protocol): Add checks for circular and duplicate protocol
14837         definitions.
14838         (encode_aggregate_within): For typedefs of structs, encode the
14839         underlying struct.
14840         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
14841         (objc_declare_protocols): New prototype.
14842
14843 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
14844
14845         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
14846         * cpplex.c (handle_newline): Update prototype.  Maintain logical
14847         line number.
14848         (skip_escaped_newlines, skip_block_comment, parse_string):
14849         Update accordingly.
14850         (_cpp_lex_token): Update, and store token position within the token.
14851         * cpplib.h (struct cpp_token): Add line and column entries.
14852         * cppmacro.c (replace_args): Position stringified tokens correctly.
14853
14854 2001-08-01  Andreas Jaeger  <aj@suse.de>
14855
14856         * basic-block.h: Add prototype for last_loop_beg_note.
14857
14858 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
14859
14860         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
14861         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
14862         comment.
14863         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
14864         while handling WITH_CLEANUP_EXPR node. Use second operand calling
14865         expand_decl_cleanup.
14866         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
14867         the first RTX.
14868         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
14869         operand while calling simple_cst_equal.
14870         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
14871         operand is the cleanup expression, the third is the RTL_EXPR.
14872         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
14873
14874 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
14875
14876         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
14877
14878 2001-07-31  matthew green  <mrg@eterna.com.au>
14879
14880         * config.gcc (i386-*-netbsdelf): New description.
14881         * config/i386/netbsd-elf.h: New file.
14882
14883 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
14884
14885         * loop.c (check_dbra_loop): Use single_set to compute
14886         jump_label.
14887
14888 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
14889
14890         PowerPC reorg and support for powerpc64-*-linux*.
14891
14892         Also fixes emitting of constants on 32 bit and 64 bit
14893         platforms.
14894
14895         * config.gcc: powerpc64-*-linux* is a new target.
14896         Things that needed aix.h now also include xcoff.h
14897
14898         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
14899         xcoff.h.
14900         Move AIX specific stuff into aix.h.
14901         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
14902         with more than just XCOFF now.
14903         (SET_ASM_OP): Remove, now defined where needed.
14904         (FUNCTION_PROLOGUE): New macro definition.
14905         (FUNCTION_EPILOGUE): New macro definition.
14906         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
14907
14908         * config/rs6000/xcoff.h: New file.
14909
14910         * config/rs6000/linux64.h: New file.
14911
14912         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
14913
14914 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
14915
14916         * rs6000.c (print_operand_address): Handle ELF syntax.
14917         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
14918         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
14919         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
14920
14921 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
14922
14923         * rs6000.c (rs6000_override_options): Only disable
14924         flag_function_sections for XCOFF.
14925         (exact_log2_cint_operand): New predicate.
14926         (reg_or_{add,sub}_cint64_operand): New predicates.
14927         (add_operand): Compare CONST_INT with fewer function calls.
14928         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
14929         (print_operand, case 'p'): Ensure positive operand.
14930         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
14931         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
14932         (PREDICATE_CODES): Add new predicates.
14933         * rs6000.md (addsi3): Split 32-bit constants more correctly.
14934         (divsi3, modsi3): Ensure positive power-of-2.
14935         (adddi3): Use new predicate.  Split 32-bit constants more
14936         correctly.  Re-arrange splitter to handle any constant.
14937         (subdi3): Use new predicate.
14938         (divdi3, moddi3): Ensure positive power-of-2.
14939         (movdi): Use rs6000_emit_set_const.
14940         (load_toc_v4_pic_di): Delete.
14941
14942 2001-07-31  Graham Stott <grahams@redhat.com>
14943
14944         * function.c (pad_below): Revert 2001-07-26 patch.
14945
14946 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
14947
14948         * reg-stack (convert_regs_1): Fix best edge condition.
14949
14950 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
14951
14952         * jump.c (duplicate_loop_exit_test): Better test for jumps
14953         entering the loop; create loop pre_header.
14954
14955 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
14956
14957         * doc/install.texi: Add s390 and s390x as new targets.
14958         * doc/invoke.texi: Add documentation of S/390 and zSeries
14959         target options.
14960         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
14961
14962 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
14963
14964         * config/m68k/m68k.md: Replace all general_operand with
14965         nonimmediate_operand for all destinations.
14966         * config/m68k/m68k.c (not_sp_operand): Likewise.
14967
14968 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
14969
14970         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
14971
14972 2001-07-30  Richard Henderson  <rth@redhat.com>
14973
14974         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
14975         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
14976
14977 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
14978
14979         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
14980         Add missing doc strings
14981         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
14982         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
14983
14984 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
14985
14986         * i386.c (ix86_output_main_function_alignment_hack): New function.
14987         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
14988
14989         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
14990         edges by EDGE_DFS_BACK flag.
14991         (dump_edge_info): Add dfs_back flag.
14992         * basic-block.h (EDGE_DFS_BACK): New constant.
14993         (mark_dfs_back_edges): Declare.
14994         * alias.c (loop_p): Remove.
14995         (mark_constant_function): Use mark_dfs_back_edges.
14996
14997         * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
14998         (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
14999         (compensate_edge): Break out from ...
15000         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
15001         (convert_regs_2): Set block_done once block is really done;
15002         Do updating of the predecessors counts.
15003
15004         * toplev.c (rest_of_compilation): Recompute block_for_insn
15005         before post-reload cfg_cleanup.
15006         * function.c (thread_prologue_epilogue_insns):
15007         Call set_block_for_new_insns when emitting prologue directly.
15008
15009 2001-07-30  Andreas Jaeger  <aj@suse.de>
15010
15011         * jump.c: Add prototype for mark_modified_reg.
15012
15013         * cse.c (set_live_p): Add unused attribute.
15014
15015         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
15016         overflow.
15017         (scan_for_source_files): Use long for count to avoid overflow.
15018         (output_data): Likewise.
15019         (output_data): Don't use string concatatenation to silence gcc
15020         -traditional.
15021
15022         * predict.c: Fix typos and grammar.
15023
15024         * gcse.c (insert_insn_end_bb): Remove unused variables.
15025
15026 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
15027
15028         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
15029         (attempt_auto_inc): LIkewise.
15030         (mark_used_reg): Likewise.
15031         (try_pre_increment_1): Likewise.
15032         * regclass.c (regclass): Likewise.
15033         * global.c (allocno_compare): Update comment; change scaling factor.
15034         * local-alloc.c (QTY_CMP_PRI): Likewise.
15035         * regs.h (REG_FREQ_FROM_BB): New.
15036         (REG_FREQ_MAX): Likewise.
15037
15038 2001-07-30  H.J. Lu <hjl@gnu.org>
15039
15040         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
15041         -D_GNU_SOURCE.
15042
15043 2001-07-30  H.J. Lu  (hjl@gnu.org)
15044
15045         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
15046         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
15047         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
15048
15049 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
15050
15051         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
15052         as -mthumb-interwork when -mcpu=arm7 is specified.
15053
15054 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
15055
15056         * predict.def (noreturn, loop branch, loop exit): Mark as first
15057         match heuristics.
15058
15059 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
15060
15061         * combine.c (try_combine): Avoid barrier after noop jumps.
15062
15063 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15064
15065         * cpphash.h (struct cpp_reader): Remove import_warning.
15066         * cpplib.c (skip_rest_of_line): Don't bother turning off
15067         macro expansion.
15068         (parse_include): Move include handling to...
15069         (do_include_common): ... here.  Move import warning from...
15070         (do_import): ... here.
15071         (do_pragma_poison): Don't do a callback for poison identifiers.
15072         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
15073         * cppmain.c (setup_callbacks): Similarly.
15074
15075 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
15076
15077         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
15078         handle multiple sets.
15079         * except.c (sjlj_mark_call_sites): .... here.
15080         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
15081
15082 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
15083
15084         Suggested by Richard Henderson and Richard Kenner:
15085         * combine.c (recog_for_combine): Use the fake recog
15086         only if instruction does not match.
15087         * rtl.h (NOOP_MOVE_INSN_CODE): New.
15088         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
15089
15090         * combine.c (try_combine): Discover noop jump as direct jump.
15091
15092 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
15093
15094         * df.c (df_rd_global_compute): Add successors to worklist, not
15095         current item.
15096         (df_ru_global_compute): Ditto.
15097
15098 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
15099
15100         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
15101         increment REG_N_SETS.
15102
15103 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
15104
15105         * sbitmap.h: New prototype for sbitmap_a_xor_b.
15106
15107         * sbitmap.c (sbitmap_a_xor_b): New function.
15108         ifdef the basic block stuff on IN_GCC.
15109
15110 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15111
15112         * cppexp.c (parse_defined): Always record the macro name.
15113         (lex): Don't worry about identifiers, or special-case
15114         CPP_NOT here.
15115         (_cpp_parse_expr): Figure out at the end of the routine
15116         whether we saw a valid !defined() expression.
15117         * cppfiles.c (stack_include_file): Update for mi_valid.
15118         (_cpp_pop_file_buffer): Similarly.
15119         * cpplex.c (_cpp_lex_token): Similarly.
15120         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
15121         mi_if_not_defined, mi_lexed): Remove.
15122         (mi_valid): New.
15123         * cpplib.c (do_if): Simplify.
15124         (do_endif, push_conditional, _cpp_handle_directive): Update
15125         for renaming of mi_state to mi_valid.
15126 doc:
15127         * cpp.texi: Add index entries for digraphs, and add comment
15128         that C++ refers to them as alternative tokens.
15129
15130 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
15131
15132         * basic-block.h (CLEANUP_PRE_LOOP): New.
15133         * except.c (finish_eh_generation): Update call of cleanup_cfg.
15134         * sibcall.c (optimize_sibling_calls): Likewise.
15135         * toplev.c (rest_of_compilation): Likewise.
15136         * flow.c (try_forward_edges): Take argument MODE;
15137         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
15138         (try_optimize_cfg): Update call of try_forward_edges.
15139
15140 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
15141                                 Jan Hubicka  <jh@suse.cz>
15142
15143         * (validate_replace_rtx_1): Fix simplification of MINUS.
15144
15145 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
15146
15147         PR preprocessor/3669
15148         * cppinit.c (init_dependency_output): Turn off dump requests
15149         if sending dependencies to stdout.
15150
15151 2001-07-28  Richard Henderson  <rth@redhat.com>
15152
15153         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
15154         not optimizing.
15155
15156 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
15157
15158         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
15159
15160 2001-07-28  Kazu Hirata  <kazu@hxi.com>
15161
15162         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
15163         is VAR_DECL first to prevent an ICE.
15164
15165 2001-07-28  Richard Henderson  <rth@redhat.com>
15166
15167         * varasm.c (immed_real_const_1): Don't elide special cases for
15168         nested functions.
15169         (clear_const_double_mem): Clear const_tiny_rtx too.
15170
15171 2001-07-28  Richard Henderson  <rth@redhat.com>
15172
15173         * dwarf2out.c (dw_val_class_offset): New.
15174         (struct dw_ranges_struct, dw_ranges_ref): New.
15175         (ranges_table, ranges_table_allocated): New.
15176         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
15177         (add_AT_offset, add_ranges, output_ranges): New.
15178         (print_die, output_die): Handle dw_val_class_offset.
15179         (attr_checksum, size_of_die, value_format): Likewise.
15180         (gen_lexical_block_die): Handle non-contiguous blocks.
15181         (gen_block_die): Likewise.
15182         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
15183         if needed.  Dump the ranges table.
15184         * final.c (final_start_function): Remove unnecessary notes and
15185         rebuild the block tree before numbering the blocks.
15186         * function.c (reorder_blocks_0): Walk the existing block tree
15187         to unmark all blocks.
15188         (reorder_blocks_1): Create block fragments when duplicate block
15189         notes are seen.
15190         (reorder_fix_fragments): New.
15191         (reorder_blocks): Call it.
15192         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
15193
15194 2001-07-28  Richard Henderson  <rth@redhat.com>
15195
15196         * emit-rtl.c (adjust_address): Make a copy of the memory address.
15197
15198 2001-07-28  Richard Henderson  <rth@redhat.com>
15199
15200         * flow.c (add_to_mem_set_list): New function.
15201         (init_propagate_block_info): Use it.
15202         (mark_set_1): Likewise.
15203         (insn_dead_p): Canonicalize memory address for dead store
15204         comparison.  Allow wider mode stores to kill narrower mode stores.
15205         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
15206         (invalidate_mems_from_set): Don't handle MEMs.
15207
15208 2001-07-28  Kazu Hirata  <kazu@hxi.com>
15209
15210         * config/h8300/h8300.h: Fix formatting.
15211
15212 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
15213
15214         * basic-block.h (EDGE_FREQUENCY): New macro.
15215         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
15216         for new BB/edges.
15217         * flow.c (find_sub_basic_blocks): Likewise.
15218         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
15219         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
15220
15221         * predict.c (DEF_PREDICTOR): New argument FLAGS.
15222         (HITRATE): New macro.
15223         (PRED_FLAG_FIRST_MATCH): New constant.
15224         (predictor_info): New field flgags.
15225         (combine_predictions_for_insn): Use DS theory to combine
15226         probabilities; set the edge probabilities when finished.
15227         (estimate_probability): Avoid duplicated matches
15228         of LOOP_BRANCH heuristics for nested loops; update comment.
15229         * predict.def: Add flags for each prediction, set probabilities
15230         according to B&L paper.
15231         * predict.h (DEF_PREDICTOR): New argument FLAGS.
15232
15233         * profile.c (compute_branch_probabilities):  Cleanup way the edge
15234         probabilities are computed and REG_BR_PROB notes are dropped; if
15235         values does not match, emit error.
15236         (init_branch_prob): Do error instead of warning when profile driven
15237         feedback is missing or corrupt.
15238
15239 2001-07-27  DJ Delorie  <dj@redhat.com>
15240
15241         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
15242         against a constant, try to adjust the compare to have the desired
15243         constant in it so that min/max optimizations happen more often.
15244
15245 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
15246
15247         * flow.c (last_loop_beg_note): New function.
15248         (redirect_edge_and_branch): Use it.
15249         (split_edge): Likewise.
15250
15251         * alias.c (loop_p): Avoid uninitialized memory access.
15252
15253         * flow.c (try_forward_edges): Avoid accessing freed memory.
15254
15255         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
15256         variable access.
15257
15258 2001-07-26  Andrew Haley  <aph@redhat.com>
15259         Joern Rennecke <amylaar@redhat.com>
15260
15261         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
15262         (SUBTARGET_CPP_ENDIAN_SPEC): New.
15263         (SUBTARGET_CPP_SPEC): New.
15264         (CPP_SPEC): Remove.
15265         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
15266         (SUBTARGET_CPP_PTR_SPEC): New.
15267         (CPP_DEFAULT_CPU_SPEC): New.
15268         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
15269         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
15270         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
15271         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
15272         (SUBTARGET_CPP_SPEC): Define as an empty string.
15273
15274 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
15275
15276         * doc/install.texi (Configuration): Properly link the host
15277         specific instructions also when generating HTML.
15278
15279 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
15280
15281         * flow.c (redirect_edge_and_branch_force): Test
15282         target->global_live_at_start.
15283
15284 2001-07-26  Richard Henderson  <rth@redhat.com>
15285
15286         * simplify-rtx.c (avoid_constant_pool_reference): Export.
15287         * rtl.h (avoid_constant_pool_reference): Declare it.
15288         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
15289         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
15290
15291 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
15292
15293         * rtl.h (cleanup_barriers): Declare.
15294         * jump.c (cleanup_barriers): New function.
15295         * toplev.c (rest_of_compilation): Call cleanup_barriers
15296         before loop optimizer and after bb_reorder.
15297
15298         * flow.c (back_edge_of_syntactic_loop_p): New.
15299         (split_edge): Use it.
15300
15301 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15302
15303         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
15304
15305 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
15306
15307         * cse.c (cse_process_notes): Replace any registers if the address
15308         remains valid.
15309
15310 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
15311
15312         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
15313         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
15314         (propagate_block): Update prototype.
15315         * flow.c (update_life_info): Simplify the CFG and
15316         recalculate the global regs which are alive when
15317         removing dead code during a global update.
15318         (propagate_block): Return non-zero if an INSN is
15319         deleted.
15320
15321 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15322
15323         * Makefile.in (LIBICONV): Define.
15324
15325 2001-07-26  Catherine Moore  <clm@redhat.com>
15326
15327         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
15328         of conditional to avoid tree checking errors.
15329
15330 2001-07-26  Kazu Hirata  <kazu@hxi.com>
15331
15332         * regmove.c (regmove_optimize): Don't replace a reg with
15333         another reg of a different mode.
15334
15335 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
15336
15337         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
15338         limit length of dependency flush list.
15339         * params.h (MAX_PENDING_LIST_LENGTH): Define.
15340         * sched-int.h  (struct deps): Add pending_flush_length field.
15341         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
15342         has 1 element in it.
15343         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
15344         (sched_analyze): After a jump, if the pending memory flush list is too
15345         large, flush the pending lists.
15346         (init_deps): Initialize pending_flush_length to 0.
15347         * doc/invoke.texi (max_pending_list_length): Document parameter.
15348
15349 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
15350
15351         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
15352         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
15353         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
15354
15355 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15356
15357         * cpphash.h (struct_lexer_state): Delete was_skipping.
15358         Move skipping here from struct cpp_reader.
15359         * cpplex.c (parse_identifier): Update.
15360         (_cpp_lex_token): Don't skip tokens in a directive.
15361         * cpplib.c (struct if_stack): Update.
15362         (start_directive, end_directive): Don't change skipping state.
15363         (_cpp_handle_directive): Update.
15364         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
15365         (do_else, do_endif): Update; only check for excess tokens if not
15366         in a skipped conditional block.
15367         (push_conditional): Update for new struct if_stack.
15368
15369 2001-07-26  Graham Stott  <grahams@redhat.com>
15370
15371         * function.c (locate_and_pad_parm): Also pad initial offset
15372         so that the total argument size also includes the padding.
15373
15374 2001-07-26  Graham Stott <grahams@redhat.com>
15375
15376         * gensupport.c (alter_output_for_insn): Correct enable checking failure
15377         change XSTR to XTMPL.
15378
15379         (process_one_cond_exec): Likewise
15380
15381 2001-07-25  Richard Henderson  <rth@redhat.com>
15382
15383         * varasm.c (assemble_variable): Create DECL_RTL before setting
15384         TREE_ASM_WRITTEN.
15385
15386 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
15387
15388         * predict.c (estimate_probability): Avoid duplicated predictions.
15389
15390         * loop.c (find_and_verify_loops): Grok multiple barriers.
15391
15392 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15393
15394         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
15395
15396         * dbxout.c: Consistently use putc instead of fputc.
15397         (print_wide_int): New function; call instead of direct fprintf.
15398         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
15399         (dbxout_type_fields, dbxout_type_method_1): Likewise.
15400         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
15401         (print_int_cst_octal): Likewise.
15402         (print_octal): Show we wrote characters.
15403         (dbxout_type): Set have_used_extensions in more places.
15404
15405 2001-07-25  Catherine Moore  <clm@redhat.com>
15406
15407         * config/v850/v850.c (v850_va_arg):  Use addr
15408         instead of valist to build incr.
15409
15410 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
15411
15412         * flow.c (delete_dead_jumptables): New function.
15413         (life_analyzis): Call it.
15414         * bb-reorder.c (skip_insns_after_block): Handle contradictory
15415         sequences.
15416
15417 2001-07-25  Richard Henderson  <rth@redhat.com>
15418
15419         * except.c (reachable_handlers): Handle a region being removed
15420         out from under a RESX.
15421
15422 2001-07-25  Richard Henderson  <rth@redhat.com>
15423
15424         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
15425         swap GE/GT if it is an fp comparison.
15426
15427 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
15428
15429         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
15430         operands.
15431
15432 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
15433
15434         * ssa.c (rename_insn_1): Do not wrap an assignment to a
15435         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
15436         glitch.
15437
15438         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
15439         throw an exception.
15440         (visit_expression): When attempting to simplify an expression,
15441         retrieve any modes for arguments before they are simplified
15442         to constants.
15443
15444 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
15445             Janis Johnson  <janis@us.ibm.com>
15446
15447         * stmt.c (expand_goto): A nonlocal goto can be a call too.
15448         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
15449         pointer parameters to match documented usage of nonlocal_goto.
15450         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
15451         parameters to their correct order.
15452         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
15453         parameters to their correct order.
15454
15455 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
15456
15457         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
15458
15459 2001-07-25  Jan Hubicka  <jh@suse.cz>
15460             Richard Henderson  <rth@redhat.com>
15461
15462         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
15463         the sequence.
15464         (make_edges): New argument update_p; populate the edge cache if set.
15465         (find_basic_blocks): Update make_edges invocation.
15466
15467 2001-07-24  Joel Sherrill <joel@OARcorp.com>
15468
15469         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
15470
15471 2001-07-24  Joel Sherrill <joel@OARcorp.com>
15472
15473         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
15474         -Acpu and -Amachine.h.
15475         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
15476         Corrected header to say ELF not a.out.
15477         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
15478         when given -msoft-float.
15479
15480 2001-07-24  Joel Sherrill <joel@OARcorp.com>
15481
15482         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
15483         extra multilib parts like arm-elf.
15484         (i960-*-coff*, i960-*-rtems): Should not use collect2.
15485         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
15486         crtfini.o as extra multilib parts.
15487
15488 2001-07-24  Joel Sherrill <joel@OARcorp.com>
15489
15490         * configure.in: Add rtems as a supported thread model.
15491         * gthr-rtems.h: Add missing entry point __gthread_active_p.
15492         * configure: Rebuilt.
15493
15494 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
15495
15496         * stor-layout.c (get_mode_alignment): make it work when
15497         BITS_PER_UNIT is not a power of two.
15498         * builtins.c (get_pointer_alignment): Likewise.
15499
15500 2001-07-24  Richard Henderson  <rth@redhat.com>
15501
15502         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
15503         the retrieved constant into the expected mode.
15504
15505 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
15506
15507         * flow.c (try_simplify_condjump): Avoid duplicated edges.
15508         (verify_flow_info): Check for duplicated edges; clarify
15509         error reporting.
15510
15511         * flow.c (block_label): Update basic_block_for_insn.
15512         (commit_edge_insertions): Call compute_bb_for_insn.
15513
15514         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
15515         returns too.
15516
15517         * flow.c (redirect_edge_and_branch,
15518         try_optimize_cfg): Use redirect_edge_succ_nodup
15519         (redirect_edge_succ_nodup): New.
15520         * basic_block.h (redirect_edge_succ_nodup): Declare.
15521
15522         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
15523         after gcse.
15524
15525 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
15526
15527         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
15528         (try_crossjump_to_edge): Update commetns.
15529         (try_crossjump_bb): Likewise.
15530
15531 2001-07-24  Richard Henderson  <rth@redhat.com>
15532
15533         * combine.c (distribute_notes): Move set of need_refresh
15534         for noop_move_p down to catch all cases.
15535
15536 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
15537
15538         * recog.c (split_all_insns_noflow): New.
15539         * rtl.h (split_all_insns_noflow): Declare.
15540         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
15541         * m68hc11.c (m68hc11_reorg): Likewise.
15542         * sh.c (machine_dependent_reorg): Likewise.
15543         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
15544         call.
15545
15546 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
15547
15548         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
15549         (ashlsi3_n splitter): Likewise.
15550         (lshrsi3_n splitter): Likewise.
15551
15552         (GOTaddr2picreg): Make const SImode.
15553         (sym_label2reg): Likewise.
15554         (symGOT2reg): Likewise.
15555         (symGOTOFF2reg) Likewise.
15556
15557         (casesi_worker_0): Make unspec SImode.
15558
15559 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
15560
15561         * config/sh/sh.c (barrier_align): Check that an operand really is
15562         an insn before extracting its INSN_CODE.
15563
15564 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
15565
15566         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
15567         dangling else.
15568
15569         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
15570         for SImode to prevent overflow.
15571
15572 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15573
15574         * config/mips/irix6-libc-compat.c: New file.
15575         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
15576         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
15577         passing workaround.
15578
15579 2001-07-24  lars brinkhoff  <lars@nocrew.org>
15580
15581         * rtl.texi (REG_POINTER): Document.
15582         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
15583         QFmode, HFmode, TQFmode, QCmode, and HCmode.
15584
15585 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
15586
15587         * flow.c (delete_noop_moves): Do not confuse libcall regions.
15588
15589 2001-07-23  Richard Henderson  <rth@redhat.com>
15590
15591         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
15592
15593 2001-07-23  Kazu Hirata  <kazu@hxi.com>
15594
15595         * config/h8300/h8300-protos.h: Add a prototype for
15596         general_operand_dst_push.
15597         * config/h8300/h8300.c (general_operand_dst_push): New.
15598         * config/h8300/h8300.h (OK_FOR_T): New.
15599         (EXTRA_CONSTRAINT): Use it.
15600         * config/h8300/h8300.md (movqi_push): Remove and integrate into
15601         the existing movqi pattern.
15602         (movhi_push): Likewise.
15603
15604         * reload.c: Fix comment typos.
15605
15606 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
15607
15608         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
15609
15610 2001-07-23  H.J. Lu  (hjl@gnu.org)
15611
15612         * doc/extend.texi: Update __builtin_return_address and
15613         __builtin_frame_address.
15614
15615 2001-07-23  Richard Henderson  <rth@redhat.com>
15616
15617         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
15618         before CSE.
15619         * config/i386/i386.md: New setcc+movzbl peephole2.
15620
15621 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15622
15623         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
15624         * objc/objc-act.c: Include debug.h.
15625         (synth_module_prologue): Save and restore debug hooks too.
15626
15627 2001-07-23  lars brinkhoff  <lars@nocrew.org>
15628
15629         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
15630         and C4X_FLOAT_FORMAT.
15631         (BOOL_TYPE_SIZE): Document.
15632
15633 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
15634
15635         * unroll.c (loop_iterations): Fix miscalculation of initial
15636         giv offset.
15637
15638 2001-07-13  Andrew Haley  <aph@redhat.com>
15639
15640         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
15641         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
15642         * config/sh/sh.c (sh_can_redirect_branch): New function.
15643         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
15644         * reorg.c (steal_delay_list_from_target): Use
15645         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
15646
15647 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
15648
15649         * flow.c (try_simplify_condjump): Unlink insn chain on
15650         fallthru edge; use can_fallthru.
15651
15652 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
15653
15654         * basic-block.h (find_sub_basic_block): Declare.
15655         * flow.c (make_edges): New arguments MIN and MAX;
15656         (find_sub_basic_blocks): Revamp to use make_edges
15657         and purge_dead_edges.
15658         (find_basic_blocks): Update call of find_sub_basic_block.
15659
15660         * recog.c (split_all_insns): Always expect CFG to be consistent;
15661         call find_sub_basic_blocks in case something has changed.
15662         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
15663         has been built.
15664
15665         * basic-block.h (delete_noop_moves): Declare.
15666         * combine.c (combine_instructions): Call it.
15667         (recog_for_combine): Tolerate noop moves
15668         (distribute_notes): Force refresh when register dies at noop move.
15669         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
15670         too.
15671         (life_analysis): Update delete_noop_moves call.
15672         (set_noop_p): Move too ...
15673         * rtlanal.c (noop_move_p): ... here.
15674         * rtl.h (noop_move_p): Declare.
15675
15676         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
15677         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
15678         after combine.
15679         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
15680         (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
15681
15682 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
15683
15684         * reload.c (push_reload): Fix typo in comment.
15685         (find_reloads_address): Ditto.
15686         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
15687
15688 2001-07-22  Richard Henderson  <rth@redhat.com>
15689
15690         * flow.c: Grammar check and clarify a lot of comments.
15691         (try_simplify_condjump): Rename variables to be clearer.
15692         (try_forward_edges): Skip complex and fallthru edges.
15693         Rearrange tests to avoid duplicate checks.
15694         (flow_find_cross_jump): Likewise.
15695         (outgoing_edges_match): Allow match if neither branch has
15696         probability data.  Loosen probability match to 5%.
15697         (try_crossjump_to_edge): Hoist repeated indirection into
15698         local variables.
15699         (try_crossjump_bb): Don't check complex edges.  Eliminate
15700         redundant crossjump tests.
15701         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
15702         checks before more expensive checks.
15703
15704 2001-07-22  Richard Henderson  <rth@redhat.com>
15705
15706         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
15707         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
15708         arguments.
15709
15710 2001-07-22  Richard Henderson  <rth@redhat.com>
15711
15712         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
15713         (const_sint32_operand): Likewise.
15714         * m68k.md (anon mulsi pattern): Use const_int_operand not
15715         const_sint32_operand.
15716         (umulsi3_highpart): Zero extend a constant input.
15717         (smulsi3_highpart): Don't bother checking SImode constant.
15718         (const_umulsi3_highpart): Give op3 DImode.
15719         (const_smulsi3_highpart): Likewise.
15720
15721 2001-07-22  Richard Henderson  <rth@redhat.com>
15722
15723         * flow.c (split_block): Make sure bb_note is included in the
15724         new block when splitting before a label.
15725
15726 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
15727
15728         * basic-block.h (redirect_edge_and_branch_force,
15729         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
15730         * flow.c (redirect_edge_and_branch_force,
15731         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
15732         (redirect_edge_and_branch_force): Fix copying of lifeness information.
15733         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
15734         * ifcvt.c (dead_or_predictable): Take BB as an new destination
15735         instead of label; update CFG after transformation.
15736         (find_if_case_1): Update call, use redirect_edge_and_branch_force
15737         for finishing the transformation; handle even case where ELSE
15738         does not follow THEN.
15739         (find_if_case_2): Update call of dead_or_predictable; simplify
15740         CFG update.
15741
15742         * emit-rtl.c (split_branch_probability): New global variable.
15743         (try_split): Take care to set split_branch_probability and
15744         create REG_BR_PROB note for new jump insns.
15745         * md.texi (define_split): Document new feature.
15746
15747         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
15748
15749 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
15750
15751         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
15752         (asm_out_file): Remove redundant declaration.
15753         (assemble_asm): Remove old #if 0 block.
15754         (assemble_variable): Remove end of function; debug output is
15755         now handled with global_decl.  Remove old #if 0 block.  Update.
15756         Remove saved_in_section and associated no-op code.
15757         * Makefile.in (varasm.o): Correct dependencies.
15758
15759 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
15760
15761         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
15762         the definition in defaults.h.
15763
15764 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
15765
15766         * jump.c: Update comments.
15767         (delete_barrier_successors, delete_unreferenced_labels,
15768         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
15769         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
15770         jump_optimize, jump_optimize_minimal): Kill.
15771         (rebuild_jump_labels): Move code from jump_optimize_1.
15772         (purge_line_number_notes): Likewise.
15773         (copy_loop_headers): Likewise.
15774         * reg-stack.c: Update comment.
15775         * stmt.c: Likewise.
15776         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
15777         JUMP_AFTER_REGSCAN): Kill.
15778         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
15779         purge_line_number_notes and copy_loop_headers.
15780
15781 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
15782            Richard Henderson  <rth@redhat.com>
15783
15784         * dbxout.c (dbxout_global_decl): New.
15785         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
15786         * sdbout.c (sdbout_finish): New.
15787         (sdbout_debug_hooks): Use it, add comments.
15788         (sdbout_global_decl): Defer initialised public vars to
15789         sdbout_finish.
15790         * varasm.c (assemble_variable): Don't output debug information
15791         for file-scope variables.
15792
15793 2001-07-22  Richard Henderson  <rth@redhat.com>
15794
15795         * config/alpha/alpha.c (get_trap_mode_suffix): New.
15796         (get_round_mode_suffix): New.
15797         (print_operand): Use them for [/].  Remove support for [&'`()+].
15798         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
15799         * config/alpha/alpha.md (attr round_suffix): New.
15800         (attr trap_suffix): New.
15801         (all insns): Set them appropriately.  Use %/ instead of the
15802         myriad punctuators.
15803
15804 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15805
15806         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
15807
15808 2001-07-22  Richard Henderson  <rth@redhat.com>
15809
15810         * regrename.c (regrename_optimize): Compute nregs for each
15811         potential target register.
15812
15813 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
15814            Richard Henderson  <rth@redhat.com>
15815
15816         * dbxout.c (dbxout_global_decl): New.
15817         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
15818         * sdbout.c (sdbout_finish): New.
15819         (sdbout_debug_hooks): Use it, add comments.
15820         (sdbout_global_decl): Defer initialised public vars to
15821         sdbout_finish.
15822         * varasm.c (assemble_variable): Don't output debug information
15823         for file-scope variables.
15824
15825 2001-07-21  H.J. Lu  (hjl@gnu.org)
15826
15827         * config/mips/mips.c (mips_cpu): Moved into ...
15828         (override_options): Here.
15829
15830         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
15831         mips_tune.
15832         (mips_cpu): Removed.
15833
15834 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15835
15836         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
15837         ("iorqi3"): Likewise.
15838         ("xorqi3"): Likewise.
15839         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
15840         ("*subhi3_sp): Likewise.
15841         ("*subhi3"): Likewise.
15842         ("extendhisi2"): Accept D, X and Y as source operand to avoid
15843         reload problems.
15844
15845 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
15846
15847         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
15848         * config/freebsd.h: Likewise.
15849         * config/linux.h: Likewise.
15850         * config/openbsd.h: Likewise.
15851         * config/alpha/linux-elf.h: Likewise.
15852         * config/arm/linux-elf.h: Likewise.
15853         * config/d30v/d30v.h: Likewise.
15854         * config/fr30/fr30.h: Likewise.
15855         * config/ia64/aix.h: Likewise.
15856         * config/ia64/ia64.h: Likewise.
15857         * config/mips/linux.h: Likewise.
15858         * config/pj/pj.h: Likewise.
15859         * config/rs6000/linux.h: Likewise.
15860         * config/sparc/linux.h: Likewise.
15861         * config/sparc/linux64.h: Likewise.
15862
15863 2001-07-20  Bruce Korb  <bkorb@gnu.org>
15864
15865         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
15866         because getc() and char* may disagree on signedness.
15867
15868 2001-07-20  Richard Henderson  <rth@redhat.com>
15869
15870         * doc/rtl.texi (REG_DEAD): Update for current semantics.
15871
15872         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
15873         insns to delete in the presence of cc0 in a jump insn.
15874
15875 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
15876                                 Jan Hubicka  <jh@suse.cz>
15877
15878         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
15879         of doing the change by hand.
15880
15881 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
15882
15883         * rtlanal.c (set_noop_p): Return true for noop jumps.
15884
15885         * expr.c (emit_single_push_insn): Add call to push expander.
15886         * expr.h (optab_index): Add OTI_push
15887         (push_optab): New constant.
15888         * genopinit.c (optabs): Add push_optab.
15889         * optabs.c (init_optab): Init push optab.
15890         * md.texi (push??1): Document
15891
15892 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15893
15894         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
15895         expand to emit the pattern; put a REG_INC note for push/pop
15896         instructions.
15897         ("movdf", "movdf_internal"): Likewise.
15898         ("movsi", "movsi_internal"): Likewise.
15899         ("movsf", "movsf_internal"): Likewise.
15900         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
15901
15902 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15903
15904         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
15905         gen_highpart.
15906
15907 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
15908
15909         * params.def: Change default max inline insns to 100.
15910
15911 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
15912
15913         * combine.c (combine_simplify_rtx): Generate a new shift operation
15914         when simplifying the first operand of a (neg (ashift)) expression.
15915
15916 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
15917
15918         * regclass.c (N_REG_INTS): Use only 32 bits per element.
15919
15920 2001-07-20  Kelley Cook  <kelley.cook@home.com>
15921
15922         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
15923         information.   Move rest into ...
15924         (*-*-solaris): ... here.  Eliminate redundant information and
15925         reword necessary packages section.  Delete 4.x assembler bug info.
15926         (sparc-sun-*): Merge into ...
15927         (sparc-sun-sunos*): here.
15928
15929 2001-07-20  Catherine Moore  <clm@redhat.com>
15930
15931         * config/v850/v850.md (casesi): Generate LABEL_REF
15932         with Pmode.
15933
15934 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
15935
15936         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
15937         * i386.c (ix86_zero_extend_to_Pmode): Make global.
15938         * i386.md (strclrsi expander): Use it.
15939
15940 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
15941
15942         * integrate.c (copy_insn_list): handle
15943         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
15944         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
15945         identically as to CODE_LABEL.
15946
15947         * fold-const (fold): Convert A/B/C to A/(B*C) and
15948         A/(B/C) to (A/B)*C
15949
15950         * except.c (connect_post_landing_pads): Delete the RESX insns.
15951
15952 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
15953
15954         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
15955
15956         * config/mips/mips.md (nmadd/nmsub): Use macro.
15957
15958 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
15959
15960         * cppinit.c (remove_dup_dir): Make static.
15961         (remove_dup_dirs): Make static. Only warn about preempting a
15962         system directory with a non-system directory.
15963
15964 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
15965
15966         * ifcvt.c (noce_try_store_flag_constants): Correct order
15967         of parameters to trunc_int_for_mode.
15968
15969 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
15970
15971         * reorg.c (fill_simple_delay_slots): If an instruction might throw
15972         an exception that will be caught within this function, do not fill
15973         its delay slot with any subsequent instruction.
15974
15975 2001-07-19  Steve Ellcey <sje@cup.hp.com>
15976
15977         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
15978         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
15979         pointer extension instruction.
15980         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
15981         * simplify-rtx.c (simplify_unary_operation) Likewise.
15982         * explow.c (convert_memory_address) Check value of
15983         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
15984         less than zero.
15985         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
15986         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
15987         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
15988         Add Multilib Support.
15989         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
15990         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
15991         Add Multilib Support.
15992         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
15993         support.
15994         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
15995         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
15996         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
15997
15998 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
15999
16000         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
16001         old and new operands in `<', `3' and `b'.
16002
16003 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
16004
16005         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
16006         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
16007         (toplev.o): Don't depend on xcoffout.h.
16008         * c-decl.c: Include debug.h
16009         (duplicate_decls): Use debug hook.
16010         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
16011         (dbx_debug_hooks, xcoff_debug_hooks): Update.
16012         (dbxout_types): Remove.
16013         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
16014         * debug.c (do_nothing_debug_hooks): Update.
16015         (debug_true_tree, debug_nothing_rtx): New.
16016         * debug.h (struct rtx_def): New.
16017         (struct gcc_debug_hooks): New hooks ignore_block,
16018         outlining_inline_function and label.
16019         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
16020         dwarf2out_frame_finish): New.
16021         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
16022         Make static, update prototype.
16023         (dwarf2_debug_hooks): Update.
16024         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
16025         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
16026         * dwarfout.c (dwarf_debug_hooks): Update.
16027         * emit-rtl.c: Include debug.h.
16028         (remove_unnecessary_notes): Use debug hook.
16029         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
16030         (final_scan_insn): Use debug hook.
16031         * integrate.c (output_inline_function): Use debug hook.
16032         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
16033         (sdb_debug_hooks): Update.
16034         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
16035         * toplev.c: Don't include xcoffout.h.
16036         (note_outlining_of_inline_function, debug_ignore_block): Remove.
16037         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
16038         Remove.
16039         * tree.h (dwarf2out_do_frame): Remove.
16040
16041 2001-07-19  Catherine Moore  <clm@cygnus.com>
16042
16043         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
16044
16045 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
16046
16047         * reload1.c (eliminate_regs_in_insn): When updating a set
16048         to the frame pointer to the hardware frame pointer, perform
16049         the update always not just when REPLACE is set.
16050
16051         * reload1.c (choose_reload_regs): Don't inherit a reload
16052         that crosses multiple registers if registers past the first
16053         don't fit in the desired class.
16054
16055         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
16056         when negating constants.
16057
16058 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
16059
16060         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
16061         * doc/tree.texi: Ditto.
16062
16063 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
16064             Jakub Jelinek  <jakub@redhat.com>
16065
16066         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
16067         (extract_cie_info): Handle "eh" augmentation properly,
16068         remember eh_ptr.
16069         (struct frame_state, __frame_state_for): New.
16070
16071 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16072
16073         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
16074         HANDLE_SYSV_PRAGMA): Define.
16075         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
16076         previous args.
16077         (copy_object): Caller changed.
16078
16079 2001-07-19  Andreas Schwab  <schwab@suse.de>
16080
16081         * configure.in (assembler dwarf2 debug_line support): Define nop
16082         insn for m68k.
16083         * configure: Regenerated.
16084
16085 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
16086
16087         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
16088         dwarfout.h.
16089         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
16090         to conditionally compiled block.
16091         (dbx_debug_hooks, xcoff_debug_hooks): Update.
16092         * dbxout.h (dbxout_function): Remove.
16093         * debug.c (do_nothing_debug_hooks): Update.
16094         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
16095         global_decl, deferred_inline_function.
16096         * dwarf2out.c (dwarf2_debug_hooks): Update.
16097         (dwarf2out_global_decl): New.
16098         * dwarfout.c: Don't include dwarfout.h.
16099         (dwarfout_global_decl, dwarfout_function_decl,
16100         dwarfout_deferred_inline_function): New.
16101         (dwarf_debug_hooks): Update.
16102         * dwarfout.h: Remove.
16103         * final.c: Don't include dwarfout.h.
16104         * sdbout.c (sdbout_global_decl): New.
16105         (sdbout_debug_hooks): Update.
16106         * toplev.c: Don't include dwarfout.h.
16107         (check_global_declarations, rest_of_compilation): Use new debug hooks.
16108         (note_deferral_of_defined_inline_function): Remove.
16109         * toplev.h (note_deferral_of_defined_inline_function): Remove.
16110         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
16111         * ch/lex.c: Don't include dwarfout.h.
16112         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
16113         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
16114         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
16115         * cp/optimize.c: Include debug.h.
16116         (maybe_clone_body): Use debug hook.
16117         * cp/semantics.c: Include debug.h.
16118         (expand_body): Use debug hook.
16119         * po/POTFILES.in: Remove dwarfout.h.
16120
16121 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
16122
16123         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
16124         * c-parse.in (yyerror, _yylex): Similarly.
16125         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
16126         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
16127         Update comments.
16128         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
16129         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
16130
16131 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
16132
16133         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
16134         in-class declaration at -g1.  Fixes c++/2814.
16135
16136 2001-07-18  Richard Henderson  <rth@redhat.com>
16137
16138         * doc/md.texi (reload_in/out): Document restrictions in predicates
16139         and constraints for these patterns.  Document empty string matching
16140         ALL_REGS.
16141
16142 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16143
16144         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
16145
16146 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
16147
16148         * cse.c: Undo my previous patch.
16149
16150 2001-07-18  Tom Tromey  <tromey@redhat.com>
16151
16152         For PR java/2812:
16153         * configure: Rebuilt.
16154         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
16155         instead.
16156         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
16157
16158 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
16159                                 Jan Hubicka  <jh@suse.cz>
16160
16161         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
16162         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
16163         * jump.c (mark_jump_label): Do not forward branches.
16164
16165 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
16166
16167         * cse.c (delete_trivially_dead_insns): Delete the libcall block
16168         when return value is unused.
16169
16170 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
16171
16172         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
16173
16174 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
16175
16176         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
16177         on error.  We can't blindly return the result of
16178         pthread_mutex_trylock because it returns a positive number on
16179         error, while we must return -1 on error.
16180         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
16181         fixes.
16182         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
16183
16184 2001-07-18  Andreas Jaeger  <aj@suse.de>
16185
16186         * integrate.c (output_inline_function): Correct type of debug_hooks.
16187
16188 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
16189
16190         * combine.c (combine_simplify_rtx): DIV can be treated
16191         associatively for floats if unsafe math optimisations are enabled.
16192
16193 2001-07-17  Richard Henderson  <rth@redhat.com>
16194
16195         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
16196
16197 2001-07-17  Richard Henderson  <rth@redhat.com>
16198
16199         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
16200         don't force the function address into a register.
16201         (expand_call, emit_library_call_value_1): Update callers.
16202         * builtins.c (expand_builtin_apply): Likewise.
16203         * expr.h (prepare_call_address): Update decl.
16204
16205 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
16206
16207         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
16208         config directory.
16209         * config/i386/chorus.h: Move up.
16210         * config/sparc/chorus.h: Likewise.
16211         * config/rs6000/chorus.h: Likewise.
16212         * config/chorus.h: Moved here.
16213
16214 2001-07-17  Andreas Schwab  <schwab@suse.de>
16215
16216         * configure.in  (assembler eh_frame optimization): Handle big
16217         endian.
16218         * configure: Regenerated.
16219
16220 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
16221
16222         * expr.c (epxand_expr): Convert divisions into multiplications by
16223         reciprocals if -ffast-math.
16224
16225 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
16226
16227         * dbxout.c (dbxout_really_begin_function): Rename to
16228         dbxout_begin_function.
16229         (dbx_debug_hooks, xcoff_debug_hooks): Update.
16230         (dbxout_begin_function): Remove.
16231         (dbxout_function): Update.
16232         (dbxout_source_line): Update prototype.
16233         * dbxout.h (dbxout_begin_function): Remove.
16234         * debug.c (do_nothing_debug_hooks): Update.
16235         (debug_nothing_tree): Update.
16236         (debug_nothing_charstar_rtx): Remove.
16237         * debug.h (union tree_node): Declare.
16238         (struct rtx_def): Remove.
16239         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
16240         begin_function.  Change source_line prototype.
16241         (debug_nothing_tree): New.
16242         (debug_nothing_charstar_rtx): Delete.
16243         (dwarf2out_begin_prologue): Moved from ...
16244         * tree.h: ... here.
16245         * dwarf2out.c (dwarf2_debug_hooks): Update.
16246         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
16247         debug info, call dwarf2out_source_line.
16248         (dwarf2out_souce_line): Update prototype.
16249         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
16250         Change prototype, make static.
16251         (dwarfout_source_line): Update prototype.
16252         (dwarf_debug_hooks): Update.
16253         * dwarfout.h (dwarfout_begin_function): Remove.
16254         * final.c (final_start_function, final_scan_insn): Use appropriate
16255         debug hooks, update to use notice_source_line.
16256         (output_source_line): Rename notice_source_line.  Don't call the
16257         source_line debug hook.
16258         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
16259         make static, update prototype.
16260         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
16261         prototype.
16262         (sdbout_end_prologue): New.
16263         (sdbout_source_line): Update prototype.
16264         (sdbout_debug_hooks): Update.
16265         (sdbout_symbol): Remove unused var.
16266         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
16267         Delete.
16268         * varasm.c: Include debug.h.
16269         (assemble_start_function): Use begin_function debug_hook.
16270         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
16271         update with prototype.
16272         (xcoffout_source_line): Update prototype.
16273         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
16274         update prototype.
16275         (xcoffout_source_line): Update prototype.
16276
16277 2001-07-17  Richard Henderson  <rth@redhat.com>
16278
16279         * c-typeck.c (build_binary_op): Do not shorten unsigned
16280         right shift after sign extension.
16281
16282 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
16283
16284         * combine.c (combine_simplify_rtx): Attempt to simplify
16285         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
16286
16287         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
16288         (simplify_binary_operation, simplify_unary_operation,
16289          simplify_relational_operation): Use it.
16290
16291         * combine.c (combine_simplify_rtx): Don't do associative law
16292         on divisions; allow associative law on floats.
16293
16294 2001-07-17  H.J. Lu <hjl@gnu.org>
16295             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16296
16297         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
16298         ASM_OUTPUT_WEAK_ALIAS are defined.
16299         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
16300         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
16301         Moved ...
16302         * config/mips/iris5.h: ... here.
16303         (HANDLE_SYSV_PRAGMA): Defined as 1.
16304         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
16305         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
16306         symbol.
16307
16308 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
16309
16310         * c-parse.in (all_prefix_attributes): New variable.
16311         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
16312         (maybe_resetattrs): New production.
16313         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
16314         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
16315         notype_initdcl, nested_function, notype_nested_function,
16316         component_decl, components, components_notype,
16317         component_declarator, component_notype_declarator,
16318         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
16319         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
16320         after a comma being applied to more than one declarator.
16321         * doc/extend.texi (Attribute Syntax): Update.  Remove
16322         documentation of bugs that are no longer present.
16323
16324 2001-07-13  Eric Christopher  <echristo@redhat.com>
16325
16326         * config/mips/mips.h: Change TUNE_MIPS* options to use
16327         mips_tune.
16328         (EXTRA_SPECS): Add cc1_cpu_spec.
16329         * config/mips/mips.md (muldf3): Fix typo.
16330
16331 2001-07-16  Richard Henderson  <rth@redhat.com>
16332
16333         * config/m68k/m68k.c: Include expr.h and reload.h.
16334         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
16335         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
16336
16337 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
16338             Richard Henderson  <rth@redhat.com>
16339
16340         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
16341         (insn_live_p): Fix fall off end of function.
16342         (dead_libcall_p): Remove COUNTS argument; update callers.
16343         (delete_trivially_dead_insns): Remove unused variables.
16344
16345 2001-07-17  Andreas Jaeger  <aj@suse.de>
16346
16347         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
16348         x86-64 pic support.
16349
16350         * lcm.c (optimize_mode_switching): Avoid warning for unused
16351         variable if !NORMAL_MODE.
16352
16353         * flow.c (try_crossjump_to_edge): Remove unused variable.
16354
16355 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16356
16357         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
16358         atexit declaration in stdlib.h.
16359
16360 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
16361
16362         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
16363
16364 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
16365
16366         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
16367         * except.c (finish_eh_generation): Update call of cleanup_cfg;
16368         do rebuild_jump_labels instead of jump_optimize
16369         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
16370         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
16371         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
16372
16373         * flow.c: Include timevar.h
16374         (find_basic_block): Push/pop timevar;
16375         (cleanup_cfg): Likewise.
16376         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
16377         * Makefile: Add dependencies on timevar.h
16378
16379         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
16380         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
16381
16382         * rtl.h (delete_trivially_dead_insns): Add new parameter.
16383         * toplev.c (rest_of_compilation): Update calls.
16384         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
16385         (delete_trivially_dead_insns): ... here; accept new argument
16386         preserve_basic_blocks; preserve basic blocks if set.
16387
16388         * reg-stack.c (stack_regs_mentioned): Return 0 if
16389         stack_regs_mentioned_data is not initialized.
16390         (reg_to_stack): Make stack_regs_mentioned survive after the
16391         reg-stack is completted; do not call cleanup_cfg.
16392         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
16393         make cleanup_cfg after bb-reorder to output to debug file.
16394
16395 2001-07-16  Richard Henderson  <rth@redhat.com>
16396
16397         * regclass.c (init_reg_sets): Use only 32 bits per initializer
16398         from int_reg_class_contents.
16399
16400 2001-07-16  Richard Henderson  <rth@redhat.com>
16401
16402         * hard-reg-set.h (regs_invalidated_by_call): Declare.
16403         * regclass.c (regs_invalidated_by_call): Move from cse.c.
16404         (init_reg_sets_1): Move initialization from cse_main.
16405         * cse.c (regs_invalidated_by_call): Move to regclass.c.
16406         (cse_main): Move its initialization also.
16407         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
16408         * flow.c (propagate_one_insn): Likewise.
16409         * gcse.c (compute_hash_table): Likewise.
16410         (compute_kill_rd, compute_store_table): Likewise.
16411         * sched-deps.c (sched_analyze_1): Likewise.
16412
16413 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
16414
16415         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
16416         gen_rtx_SET.
16417
16418 2001-07-16  Steve Ellcey <sje@cup.hp.com>
16419
16420         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
16421         in if statement so we don't access undefined memory.
16422
16423 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
16424
16425         * gcse.c: Update comment at top.
16426         Update comment on mem handling.
16427         mem_last_set, mem_first_set, mem_set_in_block: gone.
16428         Declaration of reg_set_info: gone.
16429         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
16430         pointless with load_killed_in_block_p (they are *more*
16431         conservative then it, not less, and less accurate).
16432         (oprs_not_set_p): Ditto.
16433         (alloc_gcse_mem): Don't allocate mem_set_in_block
16434         (free_gcse_mem): Don't free it, either.
16435         (record_last_mem_set_info): Update comment in front, remove
16436         mem_*set_* stuff. Note the reason we don't handle stores directly
16437         here.
16438         (compute_hash_table): Update comments to reflect reality. Remove
16439         mem_*set_* references.
16440         (reset_opr_set_tables): Remove mem_*set_* references.
16441         (mark_call): Ditto.
16442         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
16443         (mark_clobber): Ditto (on both parts, we double set here too).
16444         (expr_killed_p): Remove mem_set_in_block test.
16445         (compute_transp): Remove mem_set_in_block test.
16446
16447         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
16448         of edge, and removal of phi alternative to dump file.
16449         (ssa_ccp_substitute_constants): Add note about register now being
16450         constant, and which uses were replaced in what insns to dump file.
16451
16452 2001-07-16  Andreas Jaeger  <aj@suse.de>
16453
16454         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
16455         variables of type HOST_WIDEST_INT.
16456
16457         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
16458         (__bb_exit_func): Correct type of count_max to avoid overflow.
16459         (num_digits): Handle long long argument.
16460
16461         * combine.c (gen_lowpart_for_combine): Remove unused variable.
16462
16463 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16464
16465         * output.h (sdb_begin_function_line): Restore as an extern
16466         variable.
16467         * sdbout.c (sdb_begin_function_line): Make extern.
16468
16469 2001-07-15  Richard Henderson  <rth@redhat.com>
16470
16471         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
16472         * genrecog.c (maybe_both_true_mode): New.
16473         (maybe_both_true_2): Use it.
16474         (write_switch): Don't put Pmode in a switch.
16475         * rtl.c (mode arrays): Don't explicitly size them.
16476
16477 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
16478
16479         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
16480         handling; move unconditional splitting before mode switching.
16481
16482         * i386.md (type): Add fistp type.
16483         (i387, length_attr, scheduling definitions): Handle this type.
16484         (fix_trunc?f?i2): Revamp to use mode switching.
16485         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
16486         * i386.h (fp_cw_mode): New enum
16487         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
16488         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
16489
16490 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16491
16492         * Makefile.in (integrate.o): Add debug.h.
16493         * integrate.c (debug.h): Add.
16494         (output_inline_function): Save, reset, and restore debug_hooks.
16495
16496 2001-07-15  Richard Henderson  <rth@redhat.com>
16497
16498         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
16499         instead of COMPARE for the EQUIV expression.
16500
16501 2001-07-15  Richard Henderson  <rth@redhat.com>
16502
16503         * flow.c (redirect_edge_and_branch_force): Initialize
16504         global_live_at_start and global_live_at_end.
16505         (allocate_bb_life_data): Export.
16506         * basic-block.h (allocate_bb_life_data): Declare.
16507         * toplev.c (rest_of_compilation): Call it.
16508
16509 2001-07-15  Richard Henderson  <rth@redhat.com>
16510
16511         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
16512         (alpha_tablejump_best_label): New.
16513         * config/alpha/alpha-protos.h: Declare them.
16514         * config/alpha/alpha.md: Use braced strings for code blocks.
16515         (tablejump_osf): Break out add with r29.
16516         (tablejump_osf_internal): Remove.
16517         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
16518         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
16519
16520 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
16521
16522         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
16523         of the movable.
16524
16525         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
16526
16527         * i386-protos.h (ix86_split_fp_branch): Update prototype.
16528         (ix86_fp_jump_nontrivial_p): New.
16529         * i386.md (fp_jcc_?): Update call of split_fp_branch;
16530         use ix86_fp_jump_nontrivial_p.
16531         * i386.c (ix86_fp_jump_nontrivial_p): New.
16532         (ix86_split_fp_branch): Accept code instead of rtx.
16533         (ix86_expand_compare): Expand comparison early in case
16534         doing so is resonably cheap.
16535
16536 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
16537
16538         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
16539         not 'machine'.
16540         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
16541         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
16542
16543 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
16544
16545         * dbxout.c (dbxout_source_line): Make static, update prototype.
16546         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
16547         (dbxout_init, dbxout_finish, dbxout_source_line,
16548         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
16549         * dbxout.h (dbxout_source_line): Delete.
16550         * debug.c (debug_nothing_file, debug_nothing_file_int,
16551         debug_nothing_file_charstar_rtx): New.
16552         (do_nothing_debug_hooks): Update.
16553         (debug_nothing_void, debug_nothing_charstar_rtx,
16554         dwarf2out_end_epilogue): New.
16555         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
16556         * debug.h (struct rtx_def): Declare.
16557         (gcc_debug_hooks): New hooks source_line, end_epilogue
16558         and end_function.
16559         (debug_nothing_void, debug_nothing_charstar_rtx,
16560         dwarf2out_end_epilogue): New.
16561         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
16562         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
16563         (dwarf2_debug_hooks): Update.
16564         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
16565         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
16566         * dwarf2out.h (dwarf2out_source_line): Remove.
16567         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
16568         Make static, update prototype.
16569         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
16570         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
16571         (dwarf_debug_hooks): Update.
16572         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
16573         dwarfout_end_function): Remove.
16574         * final.c (profile_function): Use debug hooks for ending functions
16575         and epilogues.
16576         (output_source_line, final_end_function): Update prototype,
16577         use debug hooks.
16578         (final_start_function, final_scan_insn): Update.
16579         * output.h (sdb_begin_function_line): Remove.
16580         (final_end_function): Update prototype.
16581         * sdbout.c (sdb_begin_function_line): Make static.
16582         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
16583         (sdbout_source_line): New.
16584         (sdbout_end_epilogue, sdbout_end_function): Make static, update
16585         prototypes.
16586         (sdb_debug_hooks): Update.
16587         (sdbout_init, sdbout_source_line,
16588         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
16589         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
16590         * toplev.c (compile_file, rest_of_compilation): Update.
16591         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
16592         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
16593         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
16594         Update for prototype changes.
16595         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
16596         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
16597
16598 2001-07-15  Richard Henderson  <rth@redhat.com>
16599
16600         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
16601         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
16602         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
16603         * config/alpha/alpha.c: Likewise.
16604         * config/alpha/alpha.md: Likewise.
16605         * config/alpha/alpha32.h: Likewise.
16606         * config/alpha/vms.h: Likewise.
16607         (OPEN_VMS): Remove.
16608
16609 2001-07-14  Richard Henderson  <rth@redhat.com>
16610
16611         * config/alpha/alpha.md: Use define_constants for unspec values.
16612         Substitute throughout.
16613
16614 2001-07-14  Tim Josling  <tej@melbpc.org.au>
16615
16616         * tree.def (EXPON_EXPR) remove. Never supported anyway.
16617
16618 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16619
16620         * pa.md: Remove unused constraints from define_split's.
16621
16622 2001-04-14  Richard Henderson  <rth@redhat.com>
16623
16624         * ifcvt.c (find_cond_trap): Test for exit block.
16625
16626 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
16627
16628         Re-install recently reverted patch.
16629         * emit-rtl.c (try_split): Update mark_jump_label call.
16630         * flow.c (find_sub_basic_blocks): Likewise.
16631         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
16632         jump_back_p): Kill.
16633         (mark_all_labels): Kill second parameter.
16634         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
16635         (rebuild_jump_labels, jump_optimize_minimal): Update call
16636         of jump_optimize_1.
16637         (jump_optimize_1): Kill crossjumping code.
16638         (mark_jump_label): Kill cross_jump parameter.
16639         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
16640         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
16641         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
16642          splitting.
16643         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
16644         DFI_bpro.
16645         (dump_file_info): Likewise.
16646         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
16647         reorganize passes to do reg-stack first, bb-reorder second.
16648         * invoke.texi (-d letters doc): Remove the jump2 pass.
16649
16650 2001-07-14  Richard Henderson  <rth@redhat.com>
16651
16652         * ifcvt.c (find_cond_trap): New.
16653         (find_if_header): Call it.
16654         (merge_if_block): Relax existing jump sanity check.
16655         * jump.c (jump_optimize_1): Remove conditional trap handling.
16656
16657 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
16658
16659         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
16660         millicode.
16661         (insn_refs_are_delayed): Correct comment.
16662         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
16663         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
16664         instead of r31.  Make associated insn !TARGET_64BIT, and
16665         provide an additional 64-bit insn that clobbers r2.
16666         (divsi3): Likewise.
16667         (udivsi3): Likewise.
16668         (modsi3): Likewise.
16669         (umodsi3): Likewise.
16670
16671 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
16672
16673         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
16674
16675         * flow.c (redirect_edge_and_branch_force, split_edge,
16676         try_crossjump_to_edge): Use set_block_for_new_insns.
16677         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
16678
16679 2001-07-13  H.J. Lu  (hjl@gnu.org)
16680
16681         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
16682         the correct patch.
16683
16684 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
16685
16686         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
16687
16688 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
16689
16690         * c-common.c (decl_attributes): Take a pointer to the node to
16691         which attributes are to be attached, and a flags argument.
16692         * c-common.h (enum attribute_flags): New.
16693         (decl_attributes): Update prototype.
16694         * c-decl.c (start_decl, push_parm_decl, finish_struct,
16695         finish_enum, start_function): Update calls to decl_attributes.
16696         * c-parse.in (component_declarator, component_notype_declarator,
16697         label): Update calls to decl_attributes.
16698
16699 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
16700
16701         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
16702         * config/avr/avr.c (legitimate_address_p): Return value changed
16703         from letter to register classes. For better debugging.
16704
16705 2001-07-13  Kazu Hirata  <kazu@hxi.com>
16706
16707         * jump.c (reversed_comparison_code_parts): Fix comment typos.
16708
16709 2001-07-13  H.J. Lu  (hjl@gnu.org)
16710
16711         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
16712
16713 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
16714
16715         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
16716         correctly for shared configurations.
16717         * config/t-libgcc-pic:  New.
16718         * config/{i386,m68k,sparc}/t-openbsd:  New.
16719         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
16720         Support -shared.  Support debugging libraries with -g.
16721         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
16722         frame information does not emit pointer diffs.
16723         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
16724         emit pointer diffs.
16725
16726 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
16727
16728         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
16729
16730 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
16731
16732         * combine.c (try_combine): Ensure const_int pow2 is positive.
16733
16734 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
16735
16736         * config.gcc: Add configuration for s/390.
16737         * config/s390/s390.c: New. Subroutines for code generation.
16738         * config/s390/s390.h: New. Definitions for s/390.
16739         * config/s390/s390-protos.h: New. Prototypes.
16740         * config/s390/linux.h: New. Definitions for linux for s/390.
16741         * config/s390/linux64.h: New. Definitions for linux for zSeries.
16742         * config/s390/t-linux: New. Makefile fragment.
16743         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
16744         * config/s390/fixdfdi.h: New. Fix L_fix*di.
16745
16746 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
16747
16748         * emit-rtl.c (try_split): Update mark_jump_label call.
16749         * flow.c (find_sub_basic_blocks): Likewise.
16750         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
16751         jump_back_p): Kill.
16752         (mark_all_labels): Kill second parameter.
16753         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
16754         (rebuild_jump_labels, jump_optimize_minimal): Update call
16755         of jump_optimize_1.
16756         (jump_optimize_1): Kill crossjumping code.
16757         (mark_jump_label): Kill cross_jump parameter.
16758         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
16759         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
16760         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
16761          splitting.
16762         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
16763         DFI_bpro.
16764         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
16765         reorganize passes to do reg-stack first, bb-reorder second.
16766         * invoke.texi (-d letters doc): Remove the jump2 pass.
16767
16768 2001-07-12  Steve Ellcey <sje@cup.hp.com>
16769
16770         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
16771
16772 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
16773
16774         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
16775         basic blocks.
16776         (verify_flow_info): Make diagnostics prettier.
16777
16778 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
16779
16780         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
16781
16782         * flow.c (outgoing_edges_match): Return early if condition reversal
16783         failed.
16784
16785 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
16786
16787         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
16788         (mips_move_2words): When splitting a move into two instructions,
16789         prefix the second address operand with '%D'.
16790
16791 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
16792
16793         * Makefile.in (final.o): Depend on debug.h.
16794         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
16795         (dbx_debug_hooks): Add new hooks.
16796         (xcoff_debug_hooks): New.
16797         * debug.c (debug_nothing_file_int_int): New.
16798         (do_nothing_debug_hooks): Update.
16799         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
16800         (debug_nothing_file_int_int): New.
16801         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
16802         static, update prototype.
16803         (dwarf2_debug_hooks): Update.
16804         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
16805         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
16806         static, update prototype.
16807         (dwarf_debug_hooks): Update.
16808         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
16809         * final.c: Include debug.h.
16810         (final_scan_insn): Use debug hooks when beginning and ending blocks.
16811         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
16812         static, update prototype.
16813         (sdb_debug_hooks): Update.
16814         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
16815         * toplev.c: Distinguish between xcoff and dbx.
16816
16817         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
16818         Call all debug hooks, not just dwarf ones.
16819
16820 2001-07-11  Timothy Wall  <twall@redhat.com>
16821
16822         * config.gcc: Add configuration for AIX5/IA64.
16823         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
16824         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
16825         support prefix/suffix code.
16826         * config/ia64/t-aix: New.  Makefile fragment.
16827         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
16828
16829 2001-07-11  Kazu Hirata  <kazu@hxi.com>
16830
16831         * recog.c (validate_change): Fix a comment typo.
16832
16833 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
16834
16835         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
16836         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
16837         hooks directly.
16838         * dbxout.c (dbx_debug_hooks): Add new hooks.
16839         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
16840         make static.
16841         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
16842         make static.
16843         * dbxout.h (dbxout_start_new_source_file,
16844         dbxout_resume_previous_source_file): Delete.
16845         * debug.c (do_nothing_debug_hooks): Add new hooks.
16846         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
16847         (debug_nothing_int_charstar, debug_nothing_int): New.
16848         * debug.h (gcc_debug_hooks): New hooks define, undef,
16849         start_source_file and end_source_file.
16850         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
16851         (debug_nothing_int_charstar, debug_nothing_int): New.
16852         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
16853         the conditionally compiled section.
16854         (dwarf2out_start_source_file, dwarf2out_end_source_file,
16855         dwarf2out_define, dwarf2out_undef): Make static.
16856         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
16857         dwarf2out_define, dwarf2out_undef): Remove.
16858         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
16859         (dwarfout_start_source_file, dwarfout_end_source_file,
16860         dwarfout_define, dwarfout_undef): Make static.
16861         (dwarfout_start_source_file_check,
16862         dwarfout_end_source_file_check): New.
16863         (dwarfout_define, dwarfout_finish): Update.
16864         * dwarfout.h (dwarfout_start_new_source_file,
16865         dwarfout_resume_previous_source_file, dwarfout_define,
16866         dwarfout_undef): Remove.
16867         * sdbout.c (sdb_debug_hooks): Add new hooks.
16868         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
16869         make static.
16870         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
16871         make static, take an arg.
16872         * sdbout.h (sdbout_start_new_source_file,
16873         sdbout_resume_previous_source_file): Delete.
16874         * toplev.c (debug_start_source_file, debug_end_source_file,
16875         debug_define, debug_undef): Delete.
16876         * toplev.h (debug_start_source_file, debug_end_source_file,
16877         debug_define, debug_undef): Delete.
16878
16879         * java/jcf-parse.c: Include debug.h.
16880         (parse_class_file): Update to use debug hooks directly.
16881         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
16882
16883 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16884
16885         * alias.c (set_mem_alias_set): New function.
16886         * rtl.h (set_mem_alias_set): Declare it.
16887         * builtins.c (expand_builtin_return_addr): Call it instead of
16888         using MEM_ALIAS_SET accessor.
16889         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
16890         (get_memory_rtx, expand_builtin_va_arg): Likewise.
16891         (expand_builtin_va_copy):Likewise.
16892         * caller-save.c (setup_save_areas): Likewise.
16893         * calls.c (compute_argument_addresses): Likewise.
16894         * explow.c (set_mem_attributes): Likewise.
16895         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
16896         (expand_assignment, store_constructor_field, store_field): Likewise.
16897         (expand_expr_unaligned): Likewise.
16898         * function.c (assign_stack_temp_for_type): Likewise.
16899         (put_reg_into_stack, gen_mem_addressof): Likewise.
16900         * ifcvt.c (noce_try_cmove_arith): Likewise.
16901         * reload1.c (reload, alter_reg): Likewise.
16902         * config/alpha/alpha.c (get_aligned_mem): Likewise.
16903         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
16904         (alpha_expand_unaligned_store): Likewise
16905         (alpha_expand_unaligned_load_words): Likewise.
16906         (alpha_expand_unaligned_store_words): Likewise.
16907         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
16908         (alpha_expand_epilogue): Likewise.
16909         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
16910         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
16911         * config/i386/i386.c (legitimize_pic_address): Likewise.
16912         * config/i960/i960.c (setup_incoming_varargs): Likewise.
16913         * config/ia64/ia64.c (spill_restore_mem): Likewise.
16914         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
16915         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
16916         * config/mips/mips.c (mips_va_arg): Likewise.
16917         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
16918         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
16919         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
16920         (setup_incoming_varargs, rs6000_va_arg): Likewise.
16921         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
16922         (rs6000_emit_epilogue): Likewise.
16923         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
16924         * config/sparc/sparc.c (sparc_va_arg): Likewise.
16925         * config/v850/v850.c (v850_va_arg): Likewise.
16926
16927 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
16928
16929         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
16930         when fallthru edge is present.
16931         (mege_blocks): Handle case where creation of jump insn
16932         is required.
16933
16934         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
16935         CLEANUP_POST_REGSTACK): New constants.
16936         * except.c (finish_eh_generation): Update call of cleanup_cfg,
16937         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
16938         * output.h (cleanup_cfg): Update prototype.
16939         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
16940         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
16941         cleanup_cfg call; kill missleading comment.
16942         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
16943         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
16944         parameter; control optimizations performed using it.
16945         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
16946         try_crossjump_bb): New functions.
16947
16948 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16949
16950         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
16951         extern.
16952         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
16953         pa_output_function_prologue.
16954         * pa-protos.h (pa_output_function_prologue): New prototype.
16955
16956 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16957
16958         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
16959         and low to get correct sign extension in low+high test.
16960
16961 2001-07-11  Janis Johnson <janis@us.ibm.com>
16962
16963         * gcov.c (arcdata): Use gcov_type to fix branch percentage
16964         for large hit count.
16965
16966         * profile.c (branch_prob): Fix .bbg info for computed gotos
16967         and C++ EH code.
16968
16969 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
16970
16971         * stmt.c (parse_output_constraint): New function, split out
16972         from ...
16973         (expand_asm_operands): ... here.  Use parse_output_constraint.
16974         * tree.h (parse_output_constraint): Declare it.
16975
16976 2001-07-11  Richard Henderson  <rth@redhat.com>
16977
16978         * bitmap.c: Comment some functions; fiddle whitespace.
16979         (bitmap_free): Don't export.
16980         (bitmap_element_allocate): Use memset.
16981         * bitmap.h (bitmap_free): Don't declare.
16982
16983 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
16984
16985         * gcse.c, lcm.c, sched-deps.c:
16986         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
16987
16988         * flow.c (flow_loops_find): Free dom if we found no loops, since
16989         we aren't going to save it.
16990
16991         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
16992         done.
16993
16994 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
16995
16996         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
16997
16998 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16999
17000         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
17001         #ifndef DWARF2_DEBUGGING_INFO.
17002
17003 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
17004
17005         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
17006
17007 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
17008
17009         * config/mips/mips.c (gen_int_relational): Tell the caller not to
17010         reverse a branch if a NE comparison is implemented with GTU.
17011
17012 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
17013             H.J. Lu  <hjl@gnu.org>
17014
17015         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
17016         constant addresses.
17017         (call_internal2): Likewise.
17018         (call_value_internal1): Likewise.
17019         (call_value_internal2): Likewise.
17020         (call_value_multiple_internal1): Likewise.
17021         (call_value_multiple_internal2): Likewise.
17022
17023 2001-07-10  Kazu Hirata  <kazu@hxi.com>
17024
17025         * calls.c (emit_library_call_value_1): Fix a comment typo.
17026         * dwarf2out.c (mem_loc_descriptor): Likewise.
17027         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
17028
17029 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
17030
17031         * simplify-rtx.c (simplify_subreg): Fix typo in comment
17032
17033 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17034
17035         * recog.c (offsettable_address_p): Handle LO_SUM case.
17036         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
17037         instead of plus_constant.
17038
17039 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
17040
17041         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
17042         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
17043
17044 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17045
17046         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
17047         adjust_address_nv instead of plus_constant.
17048
17049 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
17050
17051         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
17052         dwarf2out.o): Depend on debug.h, wrap long lines.
17053         * dbxout.c: Include debug.h.
17054         (dbx_debug_hooks): New.
17055         (dbxout_init): Make static, take just 2 args.
17056         (dbxout_finish): Make static.
17057         * dbxout.h (dbxout_init, dbxout_finish): Delete.
17058         * debug.c: New file.
17059         * debug.h: New file.
17060         * dwarf2out.c: Include debug.h.
17061         (dwarf2_debug_hooks): New.
17062         (dwarf2out_init): Make static.
17063         (dwarf2out_finish): Make static, take 2 args.
17064         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
17065         * dwarfout.c: Include debug.h.
17066         (dwarf_debug_hooks): New.
17067         (dwarfout_init): Make static.
17068         (dwarfout_finish): Make static, take 2 args.
17069         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
17070         * sdbout.c: Include debug.h.
17071         (sdb_debug_hooks): New.
17072         (sdbout_init): Make static, take 2 args.
17073         * sdbout.h (sdbout_init): Delete.
17074         * toplev.c: Include debug.h.
17075         (debug_hooks): New.
17076         (compile_file): Set deubg_hooks based on command line options.
17077         Use the hooks unconditionally rather than conditional compilation.
17078
17079 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
17080
17081         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
17082         first_insn_after_basic_block_note instead.
17083
17084         * df.c (df_bb_refs_unlink): #if 0 out for now.
17085
17086 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
17087
17088         * ssa.h: Add prototype for ssa_const_prop
17089         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
17090         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
17091         (ssa_fast_dce): Remove unused variable
17092
17093 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
17094
17095         * diagnostic.c (finish_diagnostic): Rename to
17096         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
17097         calls thourghout.
17098
17099 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
17100
17101         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
17102         .loc support.
17103
17104         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
17105         (dump_file): Only pad the demangled name with spaces if the
17106         mangled name was padded with spaces.
17107
17108 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
17109
17110         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
17111         edge detection.
17112
17113 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17114
17115         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
17116         extraction if no direct load if either EXPAND_CONST_ADDRESS or
17117         EXPAND_INITIALIZER.
17118
17119         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
17120         whether can put offset inside LO_SUM to check mode alignment, not size.
17121
17122 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
17123
17124         * doc/tm.texi (Misc): Fix thinko.
17125
17126 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
17127
17128         * regmove.c (replace_in_call_usage): Fix warnings.
17129         * sched-deps.c (add_dependence): Fix warnings.
17130         * simplify-rtx.c (simplify_subreg): Likewise.
17131         Return NULL_RTX instead of NULL.
17132
17133         * reg-stack.c (emit_swap_insn): Eliminate warnings.
17134         (subst_asm_stack_regs): Likewise.
17135
17136         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
17137         warnings.
17138
17139         * dwarf2out.c (output_call_frame_info): Declare i as int.
17140         (build_abbrev_table): Declare n_alloc as int.
17141         (dwarf2out_finish): Initialize die.
17142         * except.c: Declare sjlj_funcdef_number as unsigned.
17143         (connect_post_landing_pads): Declare j as unsigned.
17144         (convert_to_eh_region_ranges): Initialize call_site.
17145         (output_function_exception_table): Initialize tt_format_size.
17146         * expr.c (move_by_pieces_1): Initialize to1.
17147         (store_constructor): Initialize minelt and maxelt.
17148         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
17149         * function.c (instantiate_decls): Avoid signed/unsigned warning.
17150
17151         * c-decl.c (combine_parm_decls): Unused, remove.
17152         * c-tree.h: Remove prototype for combine_parm_decls.
17153
17154         * reload.c (push_reload): Fix warning.
17155         (regno_clobbered_p): Likewise.
17156         * reload1.c (replace_pseudos_in_call_usage): Likewise.
17157         (reload_combine): Likewise.
17158
17159         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
17160         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
17161         warnings.
17162         * bitmap.c (bitmap_operation): Change user.
17163         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
17164
17165 2001-07-10  Eric Christopher  <echristo@redhat.com>
17166
17167         * config/mips/mips.c (override_options): Fix typo.
17168
17169 2001-07-09  Stan Shebs  <shebs@apple.com>
17170
17171         * target.h (struct gcc_target): New fields init_builtins and
17172         expand_builtin.
17173         * target-def.h (TARGET_INIT_BUILTINS): New macro.
17174         (TARGET_EXPAND_BUILTIN): New macro.
17175         (TARGET_INITIALIZER): Add them.
17176         * builtins.c: Include target.h.
17177         (expand_builtin): Use targetm.expand_builtin.
17178         (default_init_builtins): New function.
17179         (default_expand_builtin): New function.
17180         * expr.h (default_init_builtins): Declare.
17181         (default_expand_builtin): Declare.
17182         * c-common.c (c_common_nodes_and_builtins): Use
17183         targetm.init_builtins.
17184         * defaults.h (MD_INIT_BUILTINS): Remove.
17185         * Makefile.in (builtins.o): Depend on target.h.
17186
17187         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
17188         (TARGET_EXPAND_BUILTIN): Define.
17189         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
17190         (MD_EXPAND_BUILTIN): Remove.
17191
17192         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
17193         (TARGET_EXPAND_BUILTIN): Define.
17194         (c4x_init_builtins): Make endlink arg a local.
17195         (c4x_print_operand): Fix typos in adjust_address usages.
17196         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
17197         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
17198         (MD_EXPAND_BUILTIN): Remove.
17199
17200         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
17201         (TARGET_EXPAND_BUILTIN): Define.
17202         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
17203         (ix86_init_builtins): Call new function only if TARGET_MMX.
17204         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
17205         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
17206         (MD_EXPAND_BUILTIN): Remove.
17207
17208         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
17209         (TARGET_EXPAND_BUILTIN): Define.
17210         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
17211         (MD_EXPAND_BUILTIN): Remove.
17212
17213         * doc/tm.texi: Document these changes.
17214
17215 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
17216
17217         * basic-block.h (tree_node): Forward declare if needed.
17218         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
17219         (BLOCK_HEAD_TREE): Define.
17220         (BLOCK_END_TREE): Define.
17221         (struct loops): Rename field 'tree' to 'tree_root'.
17222         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
17223         'end_tree'.
17224         (flow_loops_tree_build): Rename reference to field 'tree' to
17225         'tree_root'.
17226         (flow_loops_level_compute): Ditto.
17227         * predict.c (estimate_bb_frequencies): Ditto.
17228         * tree.h (struct tree_common): Add field 'aux'.
17229
17230 2001-07-09  Stan Shebs  <shebs@apple.com>
17231
17232         * config/darwin.c (darwin_encode_section_info): Don't mark any
17233         DECL_EXTERNAL node as defined.
17234
17235 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17236
17237         * pa.c (pa_init_machine_status, pa_mark_machine_status,
17238         pa_free_machine_status, hppa_init_pic_save): Delete.
17239         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
17240         (hppa_profile_hook): Use hppa_pic_save_rtx.
17241         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
17242         hppa_init_pic_save): Delete.
17243         (hppa_pic_save_rtx): Declare.
17244         * pa.md (call, call_value, sibcall, sibcall_value,
17245         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
17246
17247 2001-07-09  Kazu Hirata  <kazu@hxi.com>
17248
17249         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
17250         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
17251
17252 2001-07-09  Andreas Jaeger  <aj@suse.de>
17253
17254         * output.h: Add declaration of final_forward_branch_p.
17255
17256         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
17257
17258         * varray.c: Include errors.h for internal_error and trim_filename
17259         declarations.
17260
17261         * Makefile.in (varray.o): Add errors.h.
17262
17263 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
17264
17265         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
17266         * optabs.c (have_add2_insn): Check whether the add insn chosen
17267         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
17268         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
17269
17270 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
17271
17272         * Makefile.in (OBJS): Add ssa-ccp.o
17273         (ssa-ccp.o): Add dependencies.
17274         * toplev.c (DFI_ssa_ccp): New dump file enum.
17275         (dump_file): Add entry for dumping after SSA CCP.
17276         (flag_ssa_ccp): New flag variable.
17277         (f_options): Add -fssa-ccp.
17278         (rest_of_compilation): Run SSA CCP if requested.
17279         * timevar.def (TV_SSA_CCP): New timevar.
17280         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
17281         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
17282         Fix minor typo in SSA DCE documentation.
17283         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
17284         Add documentation for new dump option.  Renumber dump files
17285         appropriately.
17286
17287 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
17288
17289         * emit-rtl.c (gen_highpart_mode): New.
17290         * rtl.h (gen_highpart_mode): Declare.
17291         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
17292         operand can be VOIDmode constant.
17293
17294 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
17295
17296         * flow.c (redirect_edge_and_branch_force): New.
17297         (can_fallthru): Ensure that basic blocks are succeeding.
17298         (try_optimize_cfg): Do not delete basic block if it is the last one.
17299
17300         * flow.c (try_redirect_by_replacing_jump): Do not remove
17301         jumps with side effects, unlink chain on fallthru edge;
17302         set block for new jump instruction; avoid basic block to
17303         over by line number note.
17304
17305         * flow.c (try_simplify_condjump): Verify that the condjump
17306         is not always falling through.
17307
17308         Re-install patch:
17309         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
17310
17311         * flow.c (forwarder_block_p): Fix for fallthru blocks.
17312         (try_redirect_by_replacing_jump): Update properly the count
17313         and frequency information.
17314
17315 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17316
17317         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
17318         address that is a LO_SUM specially.
17319         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
17320
17321         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
17322
17323         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
17324         (operand_subword): Use them.
17325         (change_address_1): Renamed from change_address; new arg VALIDATE.
17326         * expr.h: Reflect above changes; change_address now macro.
17327         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
17328         making MEM.
17329         * cselib.c (add_mem_for_addr): Likewise.
17330         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
17331         * regmove.c (try_apply_stack_adjustment): Likewise.
17332         * reload.c (push_reload, make_memloc): Likewise.
17333         * reload1.c (eliminate_regs): Likewise.
17334         * simplify-rtx.c (simplify_replace_rtx): Likewise.
17335         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
17336         adjust_addess.
17337         * combine.c (make_extraction, simplify_shift_const): Likewise.
17338         (gen_lowpart_for_combine): Likewise.
17339         * cse.c (gen_lowpart_if_possible): Likewise.
17340         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
17341         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
17342         * optabs.c (gen_move_insn): Likewise.
17343         * reload1.c (alter_reg): Likewise.
17344         * simplify-rtx.c (simplify_subreg): Likewise.
17345         * stmt.c (expand_anon_union_decl): Likewise.
17346         * recog.c (validate_replace_rtx_1): Likewise.
17347         (expr.h): Include.
17348         * Makefile.in (recog.o): Add $(EXPR_H).
17349         * explow.c (stabilize): Call replace_equiv_address.
17350         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
17351         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
17352
17353 2001-07-03  Andrew Haley  <aph@redhat.com>
17354
17355         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
17356         the mode of the memory location.
17357
17358 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
17359
17360         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
17361
17362 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
17363
17364         * final.c (output_addr_const): Use target opening and
17365         closing parentheses.
17366         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
17367         defaults, add to TARGET_ASM_OUT.
17368         * target.h (struct gcc_target): Add open_paren and close_paren.
17369         * doc/md.texi: Update.
17370         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
17371         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
17372         TARGET_ASM_CLOSE_PAREN.
17373         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
17374         Override.
17375         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
17376         Override.
17377         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
17378         * config/a29k/a29k.h: Similarly.
17379         * config/alpha/alpha.h: Similarly.
17380         * config/arc/arc.h: Similarly.
17381         * config/arm/aof.h: Similarly.
17382         * config/arm/aout.h: Similarly.
17383         * config/avr/avr.h: Similarly.
17384         * config/c4x/c4x.h: Similarly.
17385         * config/clipper/clipper.h: Similarly.
17386         * config/convex/convex.h: Similarly.
17387         * config/d30v/d30v.h: Similarly.
17388         * config/dsp16xx/dsp16xx.h: Similarly.
17389         * config/elxsi/elxsi.h: Similarly.
17390         * config/fr30/fr30.h: Similarly.
17391         * config/h8300/h8300.h: Similarly.
17392         * config/i370/i370.h: Similarly.
17393         * config/i386/i386.h: Similarly.
17394         * config/i860/i860.h: Similarly.
17395         * config/i960/i960.h: Similarly.
17396         * config/ia64/ia64.h: Similarly.
17397         * config/m32r/m32r.h: Similarly.
17398         * config/m68hc11/m68hc11.h: Similarly.
17399         * config/m68k/m68k.h: Similarly.
17400         * config/m88k/m88k.h: Similarly.
17401         * config/mcore/mcore.h: Similarly.
17402         * config/mips/mips.h: Similarly.
17403         * config/mn10200/mn10200.h: Similarly.
17404         * config/mn10300/mn10300.h: Similarly.
17405         * config/ns32k/ns32k.h: Similarly.
17406         * config/pa/pa.h: Similarly.
17407         * config/pdp11/pdp11.h: Similarly.
17408         * config/pj/pj.h: Similarly.
17409         * config/romp/romp.h: Similarly.
17410         * config/rs6000/rs6000.h: Similarly.
17411         * config/sh/sh.h: Similarly.
17412         * config/sparc/sparc.h: Similarly.
17413         * config/v850/v850.h: Similarly.
17414         * config/vax/vax.h: Similarly.
17415         * config/we32k/we32k.h: Similarly.
17416
17417 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
17418
17419         * doc/c-tree.texi: Document representation of attributes.
17420
17421 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
17422
17423         * doc/tm.texi: Update some places for the rename of target to
17424         targetm.  Fix typo.
17425
17426 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
17427
17428         * target.h (struct gcc_target): Add insert_attributes.
17429         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
17430         (TARGET_INITIALIZER): Update.
17431         * tree.c, tree.h (default_insert_attributes): New function.
17432         Update comments on other default functions to refer to targetm,
17433         not target.
17434         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
17435         TARGET_INSERT_ATTRIBUTES.
17436         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
17437         * c-common.c (decl_attributes): Use targetm.insert_attributes.
17438         Don't use PRAGMA_INSERT_ATTRIBUTES.
17439         * Makefile.in (c-common.o): Depend on $(TARGET_H).
17440         * c-decl.c (start_decl, start_function): Don't call
17441         SET_DEFAULT_DECL_ATTRIBUTES.
17442         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
17443         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
17444         declare.
17445         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
17446         (c4x_check_attribute): Avoid modifying attribute list itself.
17447         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
17448         Make static.
17449         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
17450         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
17451         declare.
17452         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
17453         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
17454         Make static.
17455         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
17456         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
17457         declare.
17458         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
17459         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
17460         Adjust parameters.  Make static.
17461
17462 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
17463
17464         * c-common.c (decl_attributes): Only take a single attributes
17465         parameter.
17466         * c-common.h (decl_attributes): Update prototype.
17467         * c-decl.c (start_decl, start_function): Only take a single
17468         attributes parameter.  Update calls to decl_attributes.
17469         (finish_struct, finish_enum): Update calls to decl_attributes.
17470         (push_parm_decl): Expect unified list of attributes.  Update call
17471         to decl_attributes.
17472         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
17473         notype_nested_function, component_declarator,
17474         component_notype_declarator, label): Update calls to
17475         decl_attributes.
17476         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
17477         lists that are passed to push_parm_decl.
17478         * c-tree.h (start_function, start_decl): Update prototypes.
17479         * config/sh/sh-protos.h, config/sh/sh.c
17480         (sh_pragma_insert_attributes): Only take a single attributes
17481         parameter.
17482         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
17483         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
17484         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
17485         build_module_descriptor, generate_static_references,
17486         generate_strings, build_selector_translation_table,
17487         generate_descriptor_table, generate_protocols,
17488         generate_ivars_list, generate_dispatch_table,
17489         generate_protocol_list, generate_category,
17490         generate_shared_structures, really_start_method, add_objc_decls,
17491         generate_classref_translation_entry): Update calls to start_decl
17492         and start_function.
17493         (build_tmp_function_decl, start_method_def): Unify attribute lists
17494         that are passed to push_parm_decl.
17495
17496 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
17497
17498         * final.c (no_asm_to_stream): New.
17499         (final_scan_insn): Use target structures for prologue ends
17500         and epilogue starts.
17501         * output.h (no_asm_to_stream): New.
17502         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
17503         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
17504         (TARGET_ASM_OUT): Update.
17505         * target.h (struct gcc_target): New members function_end_prologue
17506         and function_begin_epilogue.
17507         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
17508         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
17509         * config/alpha/alpha.c (output_end_prologue): Rename to
17510         alpha_output_function_end_prologue.  Use in target struct
17511         and make static.
17512         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
17513         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
17514         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
17515         ia64_output_function_end_prologue.  Use in target struct
17516         and make static.
17517         (ia64_function_prologue, ia64_funciton_epilogue): Rename
17518         mistyped prototypes.
17519         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
17520         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
17521         Delete.
17522         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
17523         an use in target struct, make static.
17524         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
17525         Delete.
17526
17527 2001-07-08  Richard Henderson  <rth@redhat.com>
17528
17529         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
17530
17531 2001-07-08  Richard Henderson  <rth@redhat.com>
17532
17533         * config/i386/i386.md: Remove constraints strings from define_split
17534         and define_peephole2 patterns.
17535         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
17536         (eh_return): Use them.
17537
17538 2001-07-08  Richard Henderson  <rth@redhat.com>
17539
17540         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
17541         Document MD_FALLBACK_FRAME_STATE_FOR.
17542
17543 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
17544
17545         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
17546         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
17547         elimination.
17548         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
17549
17550 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
17551
17552         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
17553         of the label inside NAME as opposed to just the end of NAME.
17554
17555 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
17556
17557         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
17558         * config/alpha/alpha.c (alpha_init_machine_status,
17559         alpha_mark_machine_status, alpha_free_machine_status): Delete.
17560         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
17561         (vms_valid_decl_attribute_p): Make static, conditionally compile.
17562         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
17563
17564 2001-07-06  Stan Shebs  <shebs@apple.com>
17565
17566         * target.h (targetm): Rename global from "target", so as not to
17567         conflict with local variables.
17568         * c-decl.c: Ditto.
17569         * c-typeck.c: Ditto.
17570         * final.c: Ditto.
17571         * tree.c: Ditto.
17572         * cp/decl.c: Ditto.
17573         * cp/decl2.c: Ditto.
17574         * cp/typeck.c: Ditto.
17575         * 1750a/1750a.c: Ditto.
17576         * a29k/a29k.c: Ditto.
17577         * arc/arc.c: Ditto.
17578         * arm/arm.c: Ditto.
17579         * avr/avr.c: Ditto.
17580         * clipper/clipper.c: Ditto.
17581         * convex/convex.c: Ditto.
17582         * d30v/d30v.c: Ditto.
17583         * dsp16xx/dsp16xx.c: Ditto.
17584         * elxsi/elxsi.c: Ditto.
17585         * fr30/fr30.c: Ditto.
17586         * h8300/h8300.c: Ditto.
17587         * i370/i370.c: Ditto.
17588         * i386/i386.c: Ditto.
17589         * i860/i860.c: Ditto.
17590         * i960/i960.c: Ditto.
17591         * ia64/ia64.c: Ditto.
17592         * m32r/m32r.c: Ditto.
17593         * m68hc11/m68hc11.c: Ditto.
17594         * m68k/m68k.c: Ditto.
17595         * m88k/m88k.c: Ditto.
17596         * mips/mips.c: Ditto.
17597         * ns32k/ns32k.c: Ditto.
17598         * pa/pa.c: Ditto.
17599         * pdp11/pdp11.c: Ditto.
17600         * romp/romp.c: Ditto.
17601         * rs6000/rs6000.c: Ditto.
17602         * sh/sh.c: Ditto.
17603         * sparc/sparc.c: Ditto.
17604         * vax/vax.c: Ditto.
17605         * we32k/we32k.c: Ditto.
17606         * doc/tm.texi: Update the manual to match.
17607
17608 2001-07-06  Richard Henderson  <rth@redhat.com>
17609
17610         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
17611         DWARF2_UNWIND_INFO not just whether it is defined.
17612
17613 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
17614
17615         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
17616         call to simplify_binary_operation returns a new pattern.
17617
17618 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
17619
17620         * glimits.h (__SHRT_MAX__): New.
17621         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
17622         (SHRT_MAX): Define in terms of __SHRT_MAX__.
17623
17624 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
17625
17626         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
17627         avoid warnings.
17628
17629 2001-07-06  Richard Henderson  <rth@redhat.com>
17630
17631         * bitmap.c (bitmap_release_memory): Move adjacent to the
17632         allocation functions.
17633         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
17634         the implementation.  Binary search for the set bit.
17635         (bitmap_union_of_diff): Allocate the temporary on the stack
17636         instead of using xmalloc.
17637
17638 2001-07-06  Richard Henderson  <rth@redhat.com>
17639
17640         * genrecog.c (validate_pattern): Warn for constraints in
17641         define_{expand,split,peephole2}.  Remove strict_low_part
17642         before looking up match_dup.
17643
17644 2001-07-06  DJ Delorie  <dj@redhat.com>
17645
17646         * doc/gcc.texi (Makefile): Rename to be a more general purpose
17647         chapter about various build hints and history.  Add section
17648         talking about the various types of native and cross builds.
17649
17650 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
17651
17652         * Makefile.in (final.o): Depend on target.h.
17653         * final.c: Include target.h.
17654         (default_function_pro_epilogue): New.
17655         (final_start_function): Use target structure for function prologues.
17656         (final_end_function): Use target structure for function epilogues.
17657         * fold-const.c (real_hex_to_f): Constify s and p.
17658         * output.h (default_function_pro_epilogue): New.
17659         * real.h (real_hex_to_f): Update prototype.
17660         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
17661         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
17662         (TARGET_INITIALIZER): Update.
17663         * target.h (gcc_target): Add struct asm_out.
17664         * doc/tm.texi: Update.
17665
17666 config:
17667         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
17668         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
17669         in cpu/cpu.c, or rename old functions consistently.  Take
17670         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
17671         redundant macros and prototypes.  Make new functions static.
17672
17673         * 1750a/1750a.c: Similarly.
17674         * 1750a/1750a.h: Similarly.
17675         * a29k/a29k-protos.h: Similarly.
17676         * a29k/a29k.c: Similarly.
17677         * a29k/a29k.h: Similarly.
17678         * arc/arc-protos.h: Similarly.
17679         * arc/arc.c: Similarly.
17680         * arc/arc.h: Similarly.
17681         * arm/arm-protos.h: Similarly.
17682         * arm/arm.c: Similarly.
17683         * arm/arm.h: Similarly.
17684         * avr/avr-protos.h: Similarly.
17685         * avr/avr.c: Similarly.
17686         * avr/avr.h: Similarly.
17687         * clipper/clipper-protos.h: Similarly.
17688         * clipper/clipper.c: Similarly.
17689         * clipper/clipper.h: Similarly.
17690         * convex/convex.c: Similarly.
17691         * convex/convex.h: Similarly.
17692         * d30v/d30v-protos.h: Similarly.
17693         * d30v/d30v.c: Similarly.
17694         * d30v/d30v.h: Similarly.
17695         * d30v/d30v.md: Similarly.
17696         * dsp16xx/dsp16xx-protos.h: Similarly.
17697         * dsp16xx/dsp16xx.c: Similarly.
17698         * dsp16xx/dsp16xx.h: Similarly.
17699         * elxsi/elxsi.c: Similarly.
17700         * elxsi/elxsi.h: Similarly.
17701         * fr30/fr30.c: Similarly.
17702         * fr30/fr30.md: Similarly.
17703         * h8300/h8300-protos.h: Similarly.
17704         * h8300/h8300.c: Similarly.
17705         * h8300/h8300.h: Similarly.
17706         * i370/i370-protos.h: Similarly.
17707         * i370/i370.c: Similarly.
17708         * i370/i370.h: Similarly.
17709         * i386/i386.c: Similarly.
17710         * i386/osf1elf.h: Similarly.
17711         * i386/osfrose.h: Similarly.
17712         * i860/i860-protos.h: Similarly.
17713         * i860/i860.c: Similarly.
17714         * i860/i860.h: Similarly.
17715         * i960/i960-protos.h: Similarly.
17716         * i960/i960.c: Similarly.
17717         * i960/i960.h: Similarly.
17718         * ia64/ia64-protos.h: Similarly.
17719         * ia64/ia64.c: Similarly.
17720         * ia64/ia64.h: Similarly.
17721         * m32r/m32r-protos.h: Similarly.
17722         * m32r/m32r.c: Similarly.
17723         * m32r/m32r.h: Similarly.
17724         * m68hc11/m68hc11-protos.h: Similarly.
17725         * m68hc11/m68hc11.c: Similarly.
17726         * m68hc11/m68hc11.h: Similarly.
17727         * m68k/crds.h: Similarly.
17728         * m68k/dpx2.h: Similarly.
17729         * m68k/m68k-protos.h: Similarly.
17730         * m68k/m68k.c: Similarly.
17731         * m68k/m68k.h: Similarly.
17732         * m68k/news.h: Similarly.
17733         * m88k/m88k-protos.h: Similarly.
17734         * m88k/m88k.c: Similarly.
17735         * m88k/m88k.h: Similarly.
17736         * mips/mips-protos.h: Similarly.
17737         * mips/mips.c: Similarly.
17738         * mips/mips.h: Similarly.
17739         * ns32k/merlin.h: Similarly.
17740         * ns32k/ns32k.c: Similarly.
17741         * ns32k/ns32k.h: Similarly.
17742         * ns32k/tek6000.h: Similarly.
17743         * pa/pa-protos.h: Similarly.
17744         * pa/pa.c: Similarly.
17745         * pa/pa.h: Similarly.
17746         * pdp11/2bsd.h: Similarly.
17747         * pdp11/pdp11-protos.h: Similarly.
17748         * pdp11/pdp11.c: Similarly.
17749         * pdp11/pdp11.h: Similarly.
17750         * romp/romp-protos.h: Similarly.
17751         * romp/romp.c: Similarly.
17752         * romp/romp.h: Similarly.
17753         * rs6000/rs6000-protos.h: Similarly.
17754         * rs6000/rs6000.c: Similarly.
17755         * rs6000/rs6000.h: Similarly.
17756         * rs6000/sysv4.h: Similarly.
17757         * sh/sh-protos.h: Similarly.
17758         * sh/sh.c: Similarly.
17759         * sh/sh.h: Similarly.
17760         * sparc/sparc-protos.h: Similarly.
17761         * sparc/sparc.c: Similarly.
17762         * sparc/sparc.h: Similarly.
17763         * vax/vax.c: Similarly.
17764         * vax/vax.h: Similarly.
17765         * vax/vms.h: Similarly.
17766         * we32k/we32k.c: Similarly.
17767         * we32k/we32k.h: Similarly.
17768
17769 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
17770
17771         * basic-block.h (first_insn_after_basic_block_note): Declare.
17772         * flow.c (first_insn_after_basic_block_note): Define.  Moved
17773         from...
17774         * ssa.c (first_insn_after_basic_block_note): Remove.
17775         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
17776         necessary.
17777         (ssa_eliminate_dead_code): Properly update the CFG and PHI
17778         nodes when we find a dead conditional branch.  Insert BARRIERs
17779         after any blocks with no successors, but which do not have
17780         any BARRIERs.
17781
17782 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
17783
17784         * varray.c (varray_check_failed): Use internal_error.
17785
17786 2001-07-05  Andrew Haley  <aph@redhat.com>
17787
17788         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
17789         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
17790         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
17791
17792 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
17793
17794         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
17795         reference if the target constant is also a SYMBOL_REF.
17796
17797 2001-07-05  Eric Christopher  <echristo@redhat.com>
17798
17799         * config/mips/mips.h (MASK_MIPS3900): Remove.
17800         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
17801         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
17802         (TARGET_MIPS3900): Change to use mips_arch.
17803         (TARGET_MIPS4000): New.
17804         (TARGET_MIPS4100): New.
17805         (TARGET_MIPS4300): New.
17806         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
17807         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
17808         for -mipsX.
17809         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
17810         (ISA_HAS_BRANCHLIKELY): To here.
17811         (CC1_CPU_SPEC):  New.
17812         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
17813         (mips_arch_string): Declare.
17814         (mips_arch): Declare.
17815         (TARGET_OPTIONS): Add -march and -mtune.
17816
17817         * config/mips/mips.c (mips_arch_string): New.
17818         (mips_arch): New.
17819         (override_options): Handle -march for codegen and -mtune
17820         for scheduling. Use mips_arch. Move tx39 target default here.
17821         (mips_parse_cpu): Move error message to override_options.
17822
17823         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
17824
17825         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
17826
17827         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
17828         (MIPS Options): Ditto.  Change mcpu entry to historical text.
17829
17830 2001-07-05  H.J. Lu  (hjl@gnu.org)
17831
17832         * config/mips/mips.c (mips_parse_cpu): New function to parse
17833         -march=*/-mcpu=*.
17834
17835 2001-07-05  Jim Wilson  <wilson@redhat.com>
17836
17837         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
17838         * config/ia64/t-ia64: Likewise.
17839         (LIB1ASMFUNCS): Update comment.
17840
17841 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
17842
17843         * doc/install.texi (Install GCC: Binaries): Fix typo.
17844
17845 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
17846
17847         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
17848         reference using the stack pointer, adjust it since we push Y
17849         temporarily.
17850         ("*ashrsi3"): Likewise.
17851         ("*lshrsi3"): Likewise.
17852
17853 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
17854
17855         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
17856         when -fomit-frame-pointer is used.
17857
17858 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
17859
17860         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
17861         (try_redirect_by_replacing_jump): Reverse updating properly the
17862         count and frequency information.  Reverse removing cc0 setter.
17863         (forwarder_block_p): Reverse fixing for fallthru blocks.
17864
17865 2001-07-05  DJ Delorie  <dj@redhat.com>
17866
17867         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
17868         (translate_options): If the above is defined, use it to map
17869         given options to new options.
17870         * doc/tm.texi: Document it.
17871
17872 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
17873             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
17874
17875         * doc/invoke.texi (Optimize Options): Document that -fgcse may
17876         cause programs using computed gotos to run more slowly.
17877
17878 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17879
17880         * doc/install.texi (Specific): Markup, spelling and typo fixes.
17881         Fixed sorting.
17882         Consistently require binutils 2.11.2, not prereleases.
17883         (Specific, decstation-*): Canonicalize as mips-dec-*.
17884         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
17885         always necessary.
17886         (Specific, m68k-altos): Removed reference to README.altos, deleted.
17887         (Specific, mips-*): Reword MIPS C compiler requirements.
17888         (Specific, powerpc*-*-*): New, mention --with-cpu once.
17889         (Specific, sunv5): Removed, obsolete.
17890
17891 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
17892
17893         * dwarf2out.c (output_loc_list): Use an all ones mask for
17894         .text asm output and don't rely on long long
17895         literals. Reformat some long lines.
17896
17897 2001-07-05  Andreas Jaeger  <aj@suse.de>
17898
17899         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
17900         section.
17901
17902 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
17903
17904         * dwarf2out.c (dwarf2out_define): Update comment.
17905         (dwarf2out_undef): Ditto.
17906         (dwarf2out_start_source_file): Ditto.
17907         (dwarf2out_end_source_file): Ditto.
17908         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
17909         since we never call the start/end debug hook for the primary file.
17910
17911 2001-07-04  Kazu Hirata  <kazu@hxi.com>
17912
17913         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
17914         from shll.
17915
17916 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
17917
17918         * cppinit.c (remove_dup_dirs): Inform if a system include
17919         directory is being reordered.
17920         * doc/invoke.texi (Directory Options): GCC warns if you hide a
17921         system include.
17922         * doc/cpp.texi (Search Paths): Likewise.
17923         * doc/gcc.texi (Interoperation): Remove information about
17924         -I/usr/include.
17925
17926 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
17927
17928         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
17929         (VARRAY_TOP_CHAR_PTR): Likewise.
17930
17931 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17932
17933         * gcc.c (process_command): Don't assign elements of a const char*.
17934
17935 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17936
17937         * emit-rtl.c (change_address): Don't abort if invalid address while
17938         reload is in progress.
17939
17940 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
17941
17942         * c-lex.c (cb_file_change): Pass line number to
17943         debug_start_source_file.
17944         (cb_undefine): Pass correct line number to debug_undef.
17945
17946         * toplev.c (debug_start_source_file): Add line number to
17947         parameters. Pass it along to dwarf2out_start_source_file.
17948         (decode_g_option): Stop resetting debug level back to normal when
17949         we change debug formats, unless the current level is
17950         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
17951         3).
17952
17953         * toplev.h (debug_start_source_file): Add line number to
17954         parameters.
17955
17956         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
17957         parameters.
17958
17959         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
17960         parameters.
17961         Output debug_macinfo data for starting file if requested.
17962         (dwarf2out_end_source_file): Output debug_macinfo data for ending
17963         file if requested.
17964         (dwarf2out_define): Output debug_macinfo data for defining a macro
17965         if requested.
17966         (dwarf2out_undef): Output debug_macinfo data for undefining a
17967         macro if requested.
17968         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
17969         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
17970         (macinfo_section_label): New. DWARF2 macro info section label.
17971         (dwarf2out_init): If we want macro info, output the start label
17972         for the section.
17973         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
17974         attribute to the compilation unit die pointing to the macro info.
17975
17976 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
17977
17978         * dwarf2out.c (new_loc_list): Move to inside #ifdef
17979         DWARF2_DEBUGGING_INFO.
17980         (add_loc_descr_to_loc_list): Ditto.
17981         (output_loc_list): Ditto.
17982         Also, fix thinko in curr not being initialized.
17983         (gen_internal_sym): Ditto.
17984
17985 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17986
17987         * emit-rtl.c (replace_equiv_address): New function.
17988         * expr.h (replace_equiv_address): New declaration.
17989         * explow.c (validize_mem): Call it instead of change_address and
17990         also call if -fforce-addr and address is constant.
17991         * expr.c: Replace more calls to change_address with adjust_address
17992         and/or replace_equiv_address or to validize_mem.
17993         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
17994         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
17995         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
17996         * config/i370/i370.md, config/i860/i860.md: Likewise.
17997         * config/i960/i960.md, config/mips/mips.c: Likewise.
17998         * config/mips/mips.md, config/pa/pa.md: Likewise.
17999         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
18000         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
18001
18002 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18003
18004         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
18005
18006         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
18007         function.
18008
18009 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
18010
18011         * doc/include: New directory.
18012         * doc/fdl.texi: Move to doc/include/fdl.texi.
18013         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
18014         * doc/include/funding.texi, doc/include/gpl.texi: New files.
18015         * doc/gcc.texi: Use funding.texi and gpl.texi.
18016         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
18017         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
18018         Update dependencies and use -I $(docdir)/include.
18019
18020 2001-07-04  Anthony Green  <green@redhat.com>
18021
18022         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
18023
18024 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18025
18026         * doc/install.texi (sparc64-*-*): Remove garbage.
18027
18028 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
18029
18030         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
18031         Fix typo in last change to use adjust_address.
18032
18033 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18034
18035         * doc/install.texi (Specific): Update information for *-*-solaris*.
18036
18037 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18038
18039         * explow.c (plus_constant_wide): Reinitialize Y for restart.
18040
18041 2001-07-03  Stan Shebs  <shebs@apple.com>
18042
18043         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
18044         case for flag_no_mach_text_sections.
18045         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
18046         * config/darwin.c (flag_no_mach_text_sections): Remove.
18047         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
18048
18049 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18050
18051         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
18052         and avoid checking for constant as first operand.
18053         * recog.c (find_constant_term_loc): No longer static.
18054         (adj_offettable_operand): Delete.
18055         * rtl.h (adj_offsettable_operand): Delete declaration.
18056         (find_constant_term): Add declaration.
18057         * caller-save.c: Replace calls to adj_offsettable_operand with calls
18058         to adjust_address.
18059         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
18060         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
18061         * config/i386/i386.c, config/i386/i386.md: Likewise.
18062         * config/i860/i860.c, config/i960/i960.c: Likewise.
18063         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
18064         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
18065         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
18066         * config/mips/mips.c, config/mips/mips.md: Likewise.
18067         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
18068         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
18069         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
18070         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
18071         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
18072         * config/ns32k/ns32k.md: Likewise.
18073
18074 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
18075
18076         * rtl.c (copy_rtx): Handle 'T' format letter.
18077         * gensupport.c (collect_insn_data): Likewise.
18078         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
18079
18080 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
18081
18082         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
18083         -B option.  Use 'dir' not 'foo' as example directory name.
18084
18085 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18086
18087         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
18088         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
18089
18090 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
18091
18092         * doc/cppinternals.texi: Improve formatting and logical markup.
18093
18094 2001-07-03  Andreas Jaeger  <aj@suse.de>
18095
18096         * Makefile.in (insn-recog.o): Add dependency on reload.h.
18097
18098         * genrecog.c (write_header): Include reload.h for prototypes in
18099         insn-recog.c.
18100
18101 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
18102
18103 config:
18104         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
18105         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
18106         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
18107         i386_pe_valid_type_attribute_p): Add.
18108         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
18109         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
18110
18111 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18112
18113         * explow.c (plus_constant_wide, case LO_SUM): New case.
18114         (plus_constant_for_output_wide): Delete.
18115         * rtl.h (plus_constant_for_output): Delete.
18116         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
18117         instead of plus_constant_for_output.
18118         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
18119         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
18120         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
18121         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
18122         * config/sparc/sparc.md: Likewise.
18123         Convert some change_address calls to adjust_address.
18124
18125 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
18126
18127         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
18128         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
18129         documentation of -std and -Wwrite-strings.
18130
18131 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
18132
18133         * cse.c (canon_hash): Don't register registers in very small
18134         register classes, as extending their lifetime might cause
18135         reload to fail.
18136
18137 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
18138
18139         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
18140
18141         * flow.c (forwarder_block_p): Fix for fallthru blocks.
18142         (try_redirect_by_replacing_jump): Update properly the count
18143         and frequency information.
18144
18145 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
18146
18147         * toplev.c (dump_file_index): Move SSA dumps just after first
18148         jump dump.
18149         (dump_file): Corresponding changes.
18150         (rest_of_compilation): Move SSA path to just after the first
18151         jump pass.
18152         * doc/gcc.texi (Passes): Update due to movement of SSA path.
18153         * doc/invoke.texi: Update dump file #s as they were completely
18154         out of date with reality.
18155
18156 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
18157
18158         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
18159
18160         * expr.c (emit_move_insn_1): Deal with non-default
18161         STACK_PUSH_CODE.
18162
18163         * expr.c (emit_single_push_insn): Fix warning.
18164
18165 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
18166
18167         * expr.c (emit_move_insn_1): Avoid modifying
18168         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
18169
18170 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18171
18172         * emit-rtl.c (adjust_address): New function.
18173         * expr.h (adjust_address): Add declaration.
18174         * builtins.c: Replace some calls to change_address with calls to it
18175         or to validize_mem.
18176         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
18177         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
18178         * config/arm/arm.c, config/convex/convex.c: Likewise.
18179         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
18180         * config/i386/i386.c, config/i386/i386.md: Likewise.
18181         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
18182         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
18183         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
18184         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
18185         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
18186
18187 2001-07-02  Jim Wilson  <wilson@redhat.com>
18188
18189         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
18190
18191 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
18192
18193         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
18194         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
18195
18196 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
18197
18198         * cppinit.c (lang_defaults): New table.
18199         (set_lang): Just read from lang_defaults into the live options
18200         structure.
18201
18202 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
18203
18204         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
18205         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
18206         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
18207
18208 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18209
18210         * doc/install.texi: Various spelling and markup fixes.
18211         (Installing GCC): Component specific installation instructions are
18212         gone.
18213         Fix reference.
18214         Warn about removing old install dir in the presence of shared libs.
18215         (Configuration): Invoke with options target to match configure
18216         --help.
18217         Consistently refer to gas, gld pathnames.
18218         Invert --enable-multilib documentation.
18219         Remove references to old compiler versions.
18220
18221 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18222
18223         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
18224
18225 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18226
18227         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
18228         section.
18229         (Specific, mips*-sgi-irix5): Note IDO download.
18230         Reworded MIPS C hints.
18231         Use GNU as instead of GAS.
18232         Markup fixes.
18233         Removed SGI Freeware reference, IRIX 6 only.
18234         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
18235         Note N64 library requirement/workaround.
18236         Update O32 hints.
18237         Complete list of structure passing bug victims.
18238
18239 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18240
18241         * doc/install.texi: Remove CVS Id.
18242
18243 2001-07-02  Andreas Jaeger  <aj@suse.de>
18244
18245         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
18246         (find_inherently_necessary): Remove unused variable.
18247
18248 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
18249
18250         * c-common.h (TDI_inlined): New ast dump phase.
18251         (dump_flag_name): New function.
18252         * c-dump.c (dump_files): Add inlined phase.
18253         (dump_flag_name): Define.
18254         * doc/invoke.texi (-fdump-ast-inlined): Document.
18255
18256 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18257
18258         * stor-layout.c (layout_decl): Revert change to handling of alignment
18259         in packed types.
18260
18261 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18262
18263         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
18264         for FIELD_DECL.
18265
18266 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
18267
18268         * doc/tm.texi (FUNCTION_ARG): Document that the last call
18269         is special.
18270
18271 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
18272
18273         * tlink.c (recompile_files): Remove COMPILER_PATH and
18274         LIBRARY_PATH from the environment.
18275
18276 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
18277
18278         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
18279         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
18280         enumerators.
18281         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
18282
18283         * c-parse.in (OBJC_STRING): Kill.
18284         (objc_string): Decompose to [objc_string] '@' STRING.
18285         (reswords): Take the leading '@' off all the Objective C keywords.
18286         (objc_rid_sans_at): Kill.
18287         (init_reswords): Don't initialize it.
18288         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
18289         (_yylex): Kill reconsider label.  Look ahead one token after
18290         an '@'; if we get an identifier, check whether it's an
18291         Objective C @-keyword.  If so, return the keyword.  Otherwise,
18292         put back the token and return the '@' as a terminal.
18293
18294         * cpplib.c (lex_macro_node): Remove unnecessary check for
18295         leading '@' on identifier.  Clarify control flow and commentary.
18296
18297 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18298
18299         * cse.c (new_label_ref): Variable deleted.
18300         (insert): Remove set of new_label_ref.
18301         (check_for_label_ref): New function.
18302         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
18303
18304 See ChangeLog.5 for earlier changes.