OSDN Git Service

2001-11-18 Egor Duda <deo@logos-m.ru>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-11-18  Egor Duda  <deo@logos-m.ru>
2
3         * config/i386/cygwin.h: Strip leading '*' from name, if any.
4
5 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
6
7         * Makefile.in (c-parse.o, c-common.o): Update dependencies.
8         * c-common.c: Include diagnostic.h.
9         (c_common_finish): New.
10         * c-common.h (c_common_finish): New.
11         * c-lang.c (LANG_HOOKS_FINISH): Override.
12         * c-parse.in: Don't include diagnostic.h.
13         (finish_parse): Remove.
14         * langhooks.h: Update comments.
15         * toplev.c (lang_dependent_init): New prototype.
16         (finalize): New.
17         (compile_file): Split cleanup code out to finalize.
18         (lang_dependent_init): Stop if lang_hooks.init fails.
19         (toplev_main): Update.
20         * tree.h (finish_parse): Remove.
21 objc:
22         * objc-act.c (LANG_HOOKS_FINISH): Override.
23
24 Sat Nov 17 23:30:44 2001  Douglas B. Rupp  <rupp@gnat.com>
25
26         * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
27         * config/alpha/vms_tramp.asm: New file.
28         * config/alpha/vms-tramp.asm: Removed.
29
30 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
31
32         * c-common.c (struct disabled_builtin, disabled_builtins,
33         disable_builtin_function, builtin_function_disabled_p): New.
34         (builtin_function_2): Check for disabled built-in functions.
35         * c-common.h (disable_builtin_function): Declare.
36         * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
37         * doc/invoke.texi: Document -fno-builtin-FUNCTION.
38         * doc/extend.texi: Mention -fno-builtin-FUNCTION.
39
40 2001-11-17  Craig Rodrigues  <rodrigc@gcc.gnu.org>
41
42         PR target/4606
43         * config.gcc: Remove reference to va-clipper.h.
44
45 2001-11-17  Stan Shebs  <shebs@apple.com>
46
47         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
48         AltiVec-related bitfields.
49
50 Sat Nov 17 12:06:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
51
52         * except.c (enum eh_region_type): Add ERT_UNKNOWN.
53         (mark_eh_region, case ERT_UKNONW): New case.
54
55 2001-11-17  Christopher Faylor  <cgf@redhat.com>
56             Corinna Vinschen  <vinschen@redhat.com>
57
58         * config/i386/cygwin.h: Search target specific include directory for
59         w32api stuff, if appropriate.
60
61 Sat Nov 17 08:20:44 2001  Douglas Rupp  <rupp@gnat.com>
62
63         * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
64
65 2001-11-16  Aldy Hernandez  <aldyh@redhat.com>
66
67         * config/rs6000/rs6000.md: Change all ldvx to lvx.
68
69 2001-11-16  Alexandre Oliva  <aoliva@redhat.com>
70
71         * gensupport.c (process_rtx): Don't assume filename is the first
72         argument of any rtl.
73
74 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
75
76         * vax-protos.h (reg_was_0_p): New prototype.
77         * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
78         * vax.c (follows_p, reg_was_0_p): New functions.
79
80 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
81
82         * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
83         (casesi1): Likewise.  Define new pattern which arises by simplification
84         when operand 1 is a constant int.  Correct pattern which arises by
85         simplification when operand 1 is zero.
86
87 2001-11-16  David O'Brien  <obrien@FreeBSD.org>
88
89         * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
90         arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
91         arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
92         arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
93         arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
94         arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
95         xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
96         * config/arm/aof.h: Don't include arm.h.
97         * config/arm/aout.h: Likewise.
98         * config/arm/coff.h: Don't include semi.h and aout.h.
99         * config/arm/elf.h: Don't include aout.h.
100         * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
101         (TARGET_VERSION): Undef before defining.
102         (ARM_OS_NAME): Likewise
103         (TARGET_DEFAULT): Likewise
104         (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
105         * config/arm/pe.h: Don't include arm/coff.h.
106         * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
107         SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
108         * config/arm/riscix1-1.h: Likewise.
109         * config/arm/rix-gas.h: Don't include riscix.h.
110         (DBX_CONTIN_LENGTH): Undef before defining.
111         * config/arm/semi.h: Don't include aout.h.
112         * config/arm/semiaof.h: Don't include aof.h.
113         * config/arm/strongarm-coff.h: Don't include coff.h.
114         * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
115         * config/arm/vxarm.h: Don't include arm/coff.h.
116         * config/arm/xscale-coff.h: Don't include coff.h.
117
118 Fri Nov 16 15:22:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
119
120         * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
121         emit_cmp_insn.
122
123 2001-11-16  Andreas Jaeger  <aj@suse.de>
124
125         * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
126         to ....
127         (fixup_fallthru_exit_predecessor): ... this.
128         Change callers and prototype.
129
130 2001-11-16  Bernd Schmidt  <bernds@redhat.com>
131
132         * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
133         hand; don't use gen_setcc_2.
134         (ix86_expand_builtin): Fix pshufw.
135         * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
136         case UNORDERED to emit the right assembler instruction.
137         (mmx_pshufw): Lose operand 2.
138         (cvtsi2ss): Fix representation.
139         From Graham Stott:
140         (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
141
142 2001-11-16  Joseph S. Myers  <jsm28@cam.ac.uk>
143
144         * doc/include/linux-and-gnu.texi: Remove.
145         * doc/gnu.texi: New.
146         * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
147         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
148
149 2001-11-16  Kazu Hirata  <kazu@hxi.com>
150
151         * config/a29k/a29k.c: Fix comment formatting.
152         * config/a29k/a29k.h: Likewise.
153         * config/arc/arc.c: Likewise.
154         * config/arc/arc.h: Likewise.
155         * config/vax/vax.c: Likewise.
156         * config/vax/vax.h: Likewise.
157         * config/we32k/we32k.c: Likewise.
158         * config/we32k/we32k.h: Likewise.
159
160 2001-11-16  Jeff Law  <law@redhat.com>
161
162         * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
163         creating a new jump insn.
164
165 Fri Nov 13 09:06:25 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
166
167         * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
168         copy misaligned data.
169         * varasm.c (assemble_variable): Set alignment into MEM when changed.
170
171 2001-11-16  Graham Stott  <grahams@redhat.com>
172
173         * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
174         OPALIGN type.
175
176 2001-11-16  Olivier Hainque <hainque@act-europe.fr>
177
178         * except.c: Support for catching a list of types with a single handler
179         (struct eh_region): Change type and filter to lists for catch regions.
180         (mark_eh_region): Mark the filter list for GC also.
181         (expand_start_catch): Always build a list if argument not NULL and
182         register each type of the list through add_type_for_runtime.
183         (duplicate_eh_region_1): Change type into type_list for catch regions.
184         (assign_filter_values): Assign a filter to each type associated with a
185         catch region. Assign filter for NULL types in a unique entry in the
186         filter list.
187         (build_post_landing_pads): Emit compare and jump for each filter of
188         the list associated with a catch region.
189         (reachable_next_level): When the type thrown is known, stop the search
190         as soon as one type within a catch list matches. Also, a handler is
191         potentially reachable only if at least one of the types it catches
192         has not been previously caught.
193         (collect_one_action_chain): Retrieve the filter for a NULL type list
194         from the first filter list entry. For non NULL type lists, add an
195         action record for every filter assigned.
196         * except.h: Reflect changes in comment before expand_start_catch.
197
198 Fri Nov 16 07:12:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
199
200         * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
201         BLKmode.
202
203 Fri Nov 16 06:37:05 2001  Andreas Tobler  <a.tobler@schweiz.ch>
204
205         * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
206
207 2001-11-16  Jakub Jelinek  <jakub@redhat.com>
208
209         * c-lang.c (finish_file): Don't emit static inline functions if
210         they weren't referenced.
211
212 2001-11-15  Stan Shebs  <shebs@apple.com>
213
214         * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
215
216 2001-11-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
217
218         * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
219         call.
220         * config/i386/i386.md: Likewise.
221
222 Thu Nov 15 21:40:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
223
224         * timevar.c (rtl.h): Include so get fancy abort.
225
226 2001-11-15  Dale Johannesen  <dalej@apple.com>
227
228         * config/darwin.h (SELECT_RTX_SECTION):  Force address
229         initializers into 'const' section
230         * config/rs6000/rs6000.c (rs6000_emit_cmove):  Fix mode of
231         if_then_else to match result, not operands
232
233 Thu Nov 15 17:57:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
234
235         * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
236         * emit-rtl.c (change_address): Fix typo in default alignment.
237         (adjust_address_1): Use mode of NEW, not MODE, when setting size.
238         * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
239         * rtl.h (REGNO_PTR_FRAME_P): New macro.
240
241         * expr.c (store_field): Pass tree instead of max size; callers changed.
242         Change handling of alignment.
243         Only copy to_rtx if is TARGET.
244         (expand_expr_unaligned): Delete; callers now use expand_expr.
245         (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
246         (expand_assignment): Change handling of alignment.
247         Only copy to_rtx if was original.
248         (get_inner_reference): No longer return alginment; callers changed.
249         (expand_expr, case COMPONENT_REF): Change handling of alignment.
250         (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
251         (compare_from_rtx): Delete ALIGN parm; all callers changed.
252         (do_compare_rtx_and_jump): Likewise.
253         * expr.h: Reflect above changes.
254         * tree.h: Likewise.
255         * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
256         to get_inner_reference.
257         * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
258         * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
259         * optabs.c: Likewise.
260         (prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
261         (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
262         * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
263         compare_rtx_and_jump, and emit_cmp_jump_insns.
264         * fold-const.c: Remove PALIGN in calls to get_inner_reference.
265         * function.c (assign_stack_temp_for_type): No longer static.
266         * optabs.h (emit_cmp_insn): Remove ALIGN parm.
267         (prepare_cmp_insn): Delete declaration.
268         * rtl.h (assign_stack_temp_for_type): Add declaration.
269         * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
270         * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
271         * config/i386/i386.c,config/mips/mips.c: Likewise.
272         * config/i860/i860.c, config/ia64/ia64.c: Likewise.
273         * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
274
275 2001-11-15  Stan Shebs  <shebs@apple.com>
276
277         * config/rs6000/rs6000.h: Fix a comment typo.
278         (RTX_COSTS): Sort processor versions better.
279
280 2001-11-15  Kazu Hirata  <kazu@hxi.com>
281
282         * config/h8300/h8300.md: Fix insn length of bit insns.
283
284 2001-11-15  Jason Merrill  <jason@redhat.com>
285
286         * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
287         DIEs if there were errors in the source.
288
289         * config/alpha/alpha-interix.h, config/alpha/elf.h,
290         config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
291         config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
292         config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
293         config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
294         config/elfos.h, config/lynx.h, config/netware.h,
295         config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
296         config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
297         uses to use ASM_LONG.
298
299 2001-11-15  Alan Matsuoka  <alanm@redhat.com>
300
301         * gensupport.c  process_include : Change call to alloca to
302         xmalloc.
303
304 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
305
306         * config/rs6000/rs6000.md: Use spaces instead of tabs in output
307         templates.
308
309 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
310
311         * final.c (alter_subreg): If simplify_subreg can't do anything,
312         handle REG ourselves and abort for others.
313
314 2001-11-15  Richard Hodson  <hodsonr@dionecorp.com>
315
316         * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
317         routines.
318
319 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
320
321         * fix-header.c (read_scan_file): Update.
322
323 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
324
325         * toplev.c (toplev_main): Don't start timing until after
326         command-line options are parsed.
327
328 2001-11-15  Andreas Schwab  <schwab@suse.de>
329
330         * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
331         makefile frag, not host makefile frag.
332         (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
333         (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
334         used.
335         (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
336         * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
337         * config/m88k/t-dgux (STMP_FIXPROTO): Define.
338         * config/i386/t-cygwin (STMP_FIXPROTO): Define.
339         * config/i386/t-dgux (STMP_FIXPROTO): Define.
340         * config/x-interix: Don't define STMP_FIXPROTO and
341         FIXPROTO_DEFINES.
342         * config/t-interix: New file, define STMP_FIXPROTO.
343         * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
344         * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
345         * config/t-svr4 (FIXPROTO_DEFINES): Define.
346         * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
347         * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
348         * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
349         * config/m68k/t-hp3200: Renamed from x-hp3200.
350         * config/i370/t-oe: Renamed from x-oe.
351         * config/mips/t-iris: Renamed from x-iris.
352         * config/pa/t-bsd: Renamed from x-pa.
353         * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
354         * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
355         config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
356         config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
357         config/rs6000/x-cygwin: Remove files.
358
359         * configure.in: Check for target objdump and use that in eh_frame
360         optimization test.
361         * configure: Regenerated.
362
363 2001-11-15  Jakub Jelinek  <jakub@redhat.com>
364
365         * jump.c (squeeze_notes): Return true if no real insns were found.
366         * rtl.h (squeeze_notes): Adjust prototype.
367         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
368         squeeze_notes finds no real instructions, abort.
369         (merge_blocks_move_successor_nojumps): Likewise.
370         * loop.c (find_and_verify_loops): Likewise.
371         * stmt.c (expand_end_case): Likewise.
372         * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
373         find any real instructions.
374
375         * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
376
377         * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
378         conditional jump, request updating life into for the block
379         containing it.  Fix a typo which prevented life info update.
380         Clear blocks bitmap before using it.
381
382 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
383
384         * c-common.c: Include c-lex.h.
385         (c_common_lang_init): Change prototype.  Call init_c_lex and
386         init_pragma from here.
387         * c-common.h (c_common_lang_init): Change prototype.
388         * c-decl.c (init_decl_processing): Rename.  Call c_parse_init.
389         * c-lang.c (c_init): Change prototype.  Update.
390         (c_init_options): Update.
391         * c-lex.c (cpp_filename): Remove.
392         (init_c_lex): Update.  Read the main file, and get the original
393         file name.
394         (yyparse): Finish the command line options.
395         * c-parse.in (c_parse_init): Call init_reswords here.
396         (init_parse): Remove.
397         * c-tree.h (c_init_decl_processing): New.
398         * cpphash.c (_cpp_init_hashtable): After initializing the hash
399         table, populate it.
400         * cppinit.c (read_original_filename, cpp_finish_options): New.
401         (cpp_create_reader): New prototype. Defer hash table initialization.
402         (cpp_start_read): Rename cpp_read_main_file.  Initialize the
403         hash table.  Get the original filename.
404         * cpplib.h (cpp_create_reader): Update.
405         (cpp_start_read): Remove.
406         (cpp_read_main_file, cpp_finish_options): New.
407         * cppmain.c (main, do_preprocessing): Update.
408         * langhooks.h (struct langhooks): Update init prototype.
409         * toplev.c (general_init, parse_options_and_default_flags,
410         process_options, lang_indpendent_init, lang_dependent_init,
411         init_asm_output): New; perform the bulk of initialization.
412         (compile_file): Move most of initialization to above functions.
413         (debug_hooks): Initialize statically.
414         (set_Wunused): Relocate.
415         (toplev_main): Move most of initialization to other init functions.
416         Have a clear logic flow.
417         * tree.h (init_parse, init_decl_processing): Remove.
418 objc:
419         * objc-act.c (objc_init): Update prototype, combine with old
420         init_parse.
421         (objc_init_options): Update.
422
423
424 2001-11-15  Andreas Jaeger  <aj@suse.de>
425
426         * cfgrtl.c (purge_all_dead_edges): Use int as argument for
427         portability.
428         * basic-block.h: Adjust prototype.
429
430 2001-11-15  Kazu Hirata  <kazu@hxi.com>
431
432         * config/rs6000/aix31.h: Fix comment formatting.
433         * config/rs6000/beos.h: Likewise.
434         * config/rs6000/darwin.h: Likewise.
435         * config/rs6000/eabi.asm: Likewise.
436         * config/rs6000/linux.h: Likewise.
437         * config/rs6000/linux64.h: Likewise.
438         * config/rs6000/lynx.h: Likewise.
439         * config/rs6000/netbsd.h: Likewise.
440         * config/rs6000/rs6000.c: Likewise.
441         * config/rs6000/rs6000.h: Likewise.
442         * config/rs6000/rs6000.md: Likewise.
443         * config/rs6000/sol2.h: Likewise.
444         * config/rs6000/tramp.asm: Likewise.
445         * config/rs6000/xcoff.h: Likewise.
446         * config/rs6000/xm-beos.h: Likewise.
447
448 2001-11-14  Alan Matsuoka  <alanm@redhat.com>
449
450         * rtl.def (INCLUDE) : Define.
451         * gensupport.c  (init_include_reader, process_include,
452         save_string) :  New functions to implement an include facility
453         in .md files.
454         * gensupport.h : Add prototype for init_md_reader_args.
455         * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
456         genextract.c genflags.c genopinit.c genoutput.c
457         genpeep.c genrecog.c: Change call to init_md_reader to
458         init_md_reader_args.
459         * md.texi: Document (include "path") and -I directives for RTL
460         generation tools.
461
462 2001-11-14  DJ Delorie  <dj@redhat.com>
463
464         * integrate.c (get_hard_reg_initial_reg): New.
465         * integrate.h (get_hard_reg_initial_reg): Prototype.
466         * local-alloc.c (block_alloc): Don't tie pseudos that
467         represent call-saved hard regs' initial values.
468
469 2001-11-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
470
471         * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
472         recursion.
473
474 2001-11-14  Roger Sayle <roger@eyesopen.com>
475
476         * fold-const.c (fold): Optimize strlen comparisons against zero.
477
478 2001-11-14  David O'Brien  <obrien@FreeBSD.org>
479
480         * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
481         sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
482         sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
483         sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
484         sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
485         sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
486         sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
487         Include various CPU headers via tm_file.  a.out based platforms now
488         properly include sparc/aout.h.  sol2.h usage now implies including
489         elfos.h, svr4.h, and sparc/sysv4.h.
490         * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
491         Also define to '1'.
492         * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
493         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
494         DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
495         Remove.  They are a.out specific and belong in sparc/aout.h.
496         * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
497         ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
498         DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define.  Moved here from
499         sparc/sparc.h.
500         * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
501         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
502         Moved here from sparc/sparc.h.
503         * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
504         defining.
505         * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
506         * config/sparc/lynx.h:  Don't include lynx.h.
507         (SELECT_SECTION): Do not undef.
508         * config/sparc/openbsd.h: Don't include sparc/sparc.h.
509         * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
510         and sparc/sysv4.h.
511         * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
512         * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define.  Get from
513         sparc/aout.h now.
514         * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
515         Don't undef, there is no need.
516         * config/sparc/splet.h (CPP_PREDEFINES): Define.
517         * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
518         * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
519         Don't include sparc/sparc.h.
520         * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
521         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
522         DATA_SECTION_ASM_OP): Don't undef, there is no need now.  Don't include
523         elfos.h and svr4.h.
524         (TARGET_VERSION): Define.
525         * config/sparc/vxsim.h (TARGET_VERSION): Define.
526
527 Wed Nov 14 19:46:08 CET 2001  Jan Hubicka  <jh@suse.cz>
528
529         * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
530         (cfg_layout_finalize): Use it.
531         * bb-reorder.c (HAVE_epilogue): Remove.
532         (make_reorder_chain): Do not care special placement of
533         last basic block.
534
535         * predict.c (expected_value_to_br_prob): Delete the note
536         once transformed.
537
538         * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
539         measure integration time separately.
540
541 Wed Nov 14 12:30:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
542
543         * function.c (struct temp_slot): ALIGN now unsigned.
544
545 2001-11-14  Kazu Hirata  <kazu@hxi.com>
546
547         * config/dsp16xx/dsp16xx.c: Fix comment formatting.
548         * config/dsp16xx/dsp16xx.h: Likewise.
549         * config/dsp16xx/dsp16xx.md: Likewise.
550
551 2001-11-14  Kazu Hirata  <kazu@hxi.com>
552
553         * config/h8300/h8300.c (get_shift_alg): Reorganize the code
554         that deals with 7-bit shifts in HImode.
555
556 Wed Nov 14 14:17:05 CET 2001  Jan Hubicka  <jh@suse.cz>
557
558         * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
559         * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
560         (final_scan_insn): Update call of alter_subreg.
561         (cleanup_subreg_operands): Likewise.
562         (alter_subreg): Rewrite using simplify_subreg.
563         (output_address, output_operand): Update call of alter_subreg.
564         * output.h (alter_subreg): Update prototype.
565         * sdbout.c (sdbout_symbol): Update call of alter_subreg.
566         * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
567         * Makefile.in (final.o): Add depdendancy on expr.h
568
569 Wed Nov 14 06:37:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
570
571         * c-lang.c (finish_file): Make I unsigned to eliminate warning.
572
573 2001-11-13  Jeff Sturm  <jsturm@one-point.com>
574
575         * doc/install.texi (sparc-*-linux*): Mention requirements for
576         binutils and glibc.
577
578 2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
579
580         * Makefile.in (POD2MAN): Don't include --section=1.
581         (manext): Rename to man1ext.  All users changed.
582         (man7ext): New.
583         (man7dir): New.
584         (generated-manpages): Also depend on $(docdir)/gfdl.7,
585         $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
586         ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
587         --section=1 in calls to $(POD2MAN).
588         ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
589         (maintainer-clean, install, uninstall): Handle the new man pages.
590         ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
591         (installdirs): Create man7dir.
592         * doc/cpp.texi: Include GFDL in this manual.  In the man page,
593         refer to gfdl(7) for the GFDL.  Apply Front Cover and Back Cover
594         texts to man page.  Include gpl(7), gfdl(7) and fsf-funding(7) in
595         the SEE ALSO man page section.
596         * doc/gcov.texi: Apply GFDL to man page.  Include gpl(7), gfdl(7)
597         and fsf-funding(7) in the SEE ALSO man page section.
598         * doc/invoke.texi: Apply GFDL to man page.  Include gpl(7),
599         gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
600         * doc/include/fdl.texi, doc/include/funding.texi,
601         doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
602         * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
603
604 2001-11-13  Richard Henderson  <rth@redhat.com>
605
606         * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
607         as appropriate for the artificial decl.
608
609 2001-11-13  Richard Henderson  <rth@redhat.com>
610
611         * loop.c (combine_movables): Turn off combination until
612         move_movables validation bugs are fixed.
613
614 2001-11-13  DJ Delorie  <dj@redhat.com>
615
616         * config.gcc (powerpc|rs6000): Set default cpp options based
617         on --with-cpu settings.
618         * config/rs6000/softfloat.h: New.
619
620 2001-11-13  Kazu Hirata  <kazu@hxi.com>
621
622         * config/h8300/h8300.c (shift_alg_si): Use special code for
623         25-bit shifts on H8/S.
624         (get_shift_alg): Generate special code for 25-bit shifts on
625         H8/S.
626
627 2001-11-13  Jakub Jelinek  <jakub@redhat.com>
628
629         * emit-rtl.c (adjust_address_1): Add ADJUST argument.
630         (adjust_automodify_address_1): New.
631         * expr.h (adjust_address, adjust_address_nv): Adjust.
632         (adjust_automodify_address, adjust_automodify_address_nv): Define.
633         (adjust_address_1): Update prototype.
634         (adjust_automodify_address_1): Add prototype.
635         * expr.c (move_by_pieces_1): Use adjust_automodify_address.
636         (store_by_pieces_2): Likewise.
637
638 Tue Nov 13 05:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
639
640         * Makefile.in (explow.o): Now depends on ggc.h.
641         * explow.c (ggc.h): Include.
642         (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
643
644         * Makefile.in (expr.o): Depends on insn-attr.h.
645         * expr.c (insn-attr.h): New include.
646         (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
647         of MEM.
648         (highest_pow2_factor, case INTEGER_CST): Handle negative values.
649         (expand_expr): Remove unneeded mark_temp_addr_taken calls and
650         clean up related usage in ADDR_EXPR.
651         (expand_expr_unaligned): Likewise.
652
653         * emit-rtl.c (change_address): Fix typo in alias setting.
654
655 2001-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
656
657         * Makefile.in (cfgcleanup.o): Depend on insn-config.h
658
659 2001-11-12  Craig Rodrigues  <rodrigc@gcc.gnu.org>
660
661         PR bootstrap/3451
662         * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
663         GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
664
665 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
666
667         * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
668         sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
669         sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
670         sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
671         sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
672         sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
673         sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
674         sparc64-*-linux*):  Include various CPU headers via tm_file.
675         * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
676         (SELECT_SECTION): Likewise.
677         (SELECT_RTX_SECTION): Likewise.
678         * config/sparc/sparc_bi.h: New file.
679         * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
680         * config/sparc/linux-aout.h: Likewise.
681         * config/sparc/linux.h: Don't include sparc/sysv4.h.
682         * config/sparc/linux64.h: Likewise.
683         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
684         * config/sparc/lite.h:  Don't include sparc/sparc.h and gofast.h.
685         * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
686         and dbxcoff.h
687         (ASM_OUTPUT_IDENT): Do not #undef.
688         (SELECT_SECTION): Likewise.
689         (SELECT_RTX_SECTION): Likewise.
690         * config/sparc/liteelf.h: Don't include gofast.h.
691         * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
692         * config/sparc/lynx.h: Don't include sparc/sparc.h.
693         * config/sparc/pbd.h: Likewise.
694         * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
695         * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
696         * config/sparc/rtemself.h: Don't include rtems.h.
697         * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
698         * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
699         sparc_bi.h instead.
700         * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
701         * config/sparc/sol2.h: Include sparc/sparc.h directly.
702         * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
703         * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
704         * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
705         * config/sparc/sp86x-elf.h: Don't include gofast.h.
706         * config/sparc/splet.h: Don't include sparc/aout.h.
707         * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
708         * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
709         * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
710         * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
711         * config/sparc/vxsparc64.h: Don't include gofast.h.
712         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
713
714 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
715
716         * doc/standards.texi: Mention C99 TC1.
717
718 2001-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
719
720         * mips-protos.h (mips_output_conditional_branch): Const-ify.
721         * mips.c (mips_output_conditional_branch): Likewise.
722
723 2001-11-12  Kazu Hirata  <kazu@hxi.com>
724
725         * config/h8300/h8300.c (shift_alg_si): Use special code for
726         15-bit logical shifts and 31-bit logical shifts.
727         (get_shift_alg): Generate special code for 15-bit and 31-bit
728         logical shifts.
729
730 2001-11-12  Kazu Hirata  <kazu@hxi.com>
731
732         * config/h8300/h8300.c (shift_alg_qi): Use rotations when
733         doing 6-bit logical shifts on H8/S.
734         (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
735         (get_shift_alg): Generate special code for 21-bit shifts on
736         H8/S.
737
738 2001-11-12  Kazu Hirata  <kazu@hxi.com>
739
740         * config/h8300/h8300.c (get_shift_alg): Remove a redundant
741         label.
742
743 Mon Nov 12 11:58:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
744
745         * alias.c (nonoverlapping_memrefs_p): Only update size from memref
746         if both size and offset known.
747
748 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
749
750         * config/ia64/freebsd.h: Fix misspelling.
751
752 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
753
754         * doc/gcc.texi: Move several chapters out to ...
755         * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
756         doc/include/linux-and-gnu.texi, doc/interface.texi,
757         doc/makefile.texi, doc/passes.texi, doc/portability.texi:
758         ... here.  New files.
759         * doc/gcc.texi, doc/contrib.texi: Move section headings into
760         contrib.texi.
761         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
762
763 2001-11-12  Kazu Hirata  <kazu@hxi.com>
764
765         * config/alpha/alpha-interix.h: Fix comment formatting.
766         * config/alpha/alpha.c: Likewise.
767         * config/alpha/alpha.h: Likewise.
768         * config/alpha/alpha32.h: Likewise.
769         * config/alpha/freebsd.h: Likewise.
770         * config/alpha/unicosmk.h: Likewise.
771         * config/alpha/vms.h: Likewise.
772
773 2001-11-12  Kazu Hirata  <kazu@hxi.com>
774
775         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
776
777 2001-11-12  Jakub Jelinek  <jakub@redhat.com>
778
779         * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
780         numbers.
781
782 Mon Nov 12 05:18:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
783
784         * emit-rtl.c (set_mem_attributes): If making object, can set alignment
785         from type.
786         (replace_equiv_address): Call update_temp_slot_address.
787
788         * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
789
790         * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
791
792 2001-11-12  Kazu Hirata  <kazu@hxi.com>
793
794         * config/h8300/h8300.c (shift_alg_qi): New.
795         (shift_alg_hi): Likewise.
796         (shift_alg_si): Likewise.
797         (get_shift_alg): Change the type of count to unsigned int.
798         Use the tables.
799
800 2001-11-11  Alexandre Oliva  <aoliva@redhat.com>
801
802         * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
803         * c-decl.c (c_expand_body): Take argument can_defer_p.  Use it
804         to decide whether to defer a function.
805         (finish_function): Adjust.
806         (c_expand_deferred_function): New function.
807         * c-lang.c (deferred_fns): New variable.
808         (c_init): Initialize it, and mark it as a root.
809         (defer_fn): New function.
810         (finish_file): Expand all deferred functions.
811         * c-tree.h (defer_fn): Declare.
812         (c_expand_deferred_function): Likewise.
813         * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
814         * objc-act.c (deferred_fns): New variable.
815         (objc_init): Initialize it, and mark it as a root.
816         (defer_fn): New function.
817         (finish_file): Expand all deferred functions.
818
819 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
820
821         * alpha.c (unicosmk_special_name): Prototype.
822         (unicosmk_ssib_name): Delete unused variable.
823         * alpha/unicosmk.h (common_section, ssib_section): Prototype.
824         * alpha/vms.h (PREFIX): Undef before defining.
825         * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
826         * i370/i370.c (mvs_hash_alias): Prototype.  Wrap with macro
827         controlling usage.  Const-ify.
828         (alias_number): Delete unused variable.
829         * m32r/m32r.c (m32r_sched_init): Add missing argument.
830         (m32r_expand_block_move): Fix uninitialized warnings.
831         * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
832         always true' warnings.
833         * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
834         * sh/sh.c: Include "integrate.h".
835         (output_far_jump): Fix uninitialized warning.
836         * final.c (shorten_branches): Avoid automatic aggregate
837         initialization.
838         * integrate.c (subst_constants): Likewise.
839
840 2001-11-11  Kazu Hirata  <kazu@hxi.com>
841
842         * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
843         (get_shift_alg): Remove redundant code.
844
845 2001-11-11  Kazu Hirata  <kazu@hxi.com>
846
847         * config/pa/milli64.S: Fix comment formatting.
848         * config/pa/pa-64.h: Likewise.
849         * config/pa/pa-linux.h: Likewise.
850         * config/pa/pa-protos.h: Likewise.
851         * config/pa/pa.c: Likewise.
852         * config/pa/pa.h: Likewise.
853         * config/pa/pa32-linux.h: Likewise.
854         * config/pa/pa32-regs.h: Likewise.
855         * config/pa/pa64-hpux.h: Likewise.
856         * config/pa/pa64-regs.h: Likewise.
857         * config/pa/som.h: Likewise.
858
859 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
860
861         * doc/gcc.texi: Move several chapters out to ...
862         * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
863         doc/service.texi, doc/standards.texi, doc/trouble.texi,
864         doc/vms.texi: ... here.  New files.
865         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
866
867 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
868
869         * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
870         cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
871         collect2.c, combine.c, config.in, configure, configure.in,
872         conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
873         genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
874         reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
875         spelling errors.
876
877 Sun Nov 11 05:56:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
878
879         * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
880         Adjust operand number in CONST_DOUBLE.
881
882         * expmed.c (extract_bit_field): No longer pass in alignment.
883         (extract_fixed_bit_field, extract_split_bit_field): Likewise.
884         (store_bit_field, store_fixed_bit_field, store_split_bit_field):
885         Likewise.
886         * expr.c (store_constructor, store_constructor_field): Likewise.
887         (store_field, emit_group_load, emit_group_store): Likewise.
888         * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
889         (store_bit_field, extract_bit_field): Likewise.
890         * calls.c, expr.c, function.c: Change calls to above functions.
891         * ifcvt.c, stmt.c: Likewise.
892
893         * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
894         constant and one is on frame.
895         If know memref offset, adjust size from decl.
896
897 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
898
899         * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
900         format specifier warning.
901         * convex.h (ASM_OUTPUT_BYTE): Likewise.
902         * elfos.h (ALIGN_ASM_OP): Undef before defining.
903         * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
904         warning.
905         * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
906         * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
907         * i386-interix.h (gen_stdcall_suffix): Prototype.
908         * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
909         * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
910         ASM_OUTPUT_LONG_DOUBLE): Likewise.
911         * i386/interix.c (gen_stdcall_suffix): Const-ify.
912         * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
913         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
914         specifier warnings.
915         * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
916         * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
917         ASM_OUTPUT_LONG_DOUBLE): Likewise.
918         * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
919         * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
920         * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
921         * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
922         * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
923         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
924         * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
925         * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
926         Likewise.
927         * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
928         Likewise.
929         * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
930         * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
931         ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
932         Likewise.
933         * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
934         Likewise.
935         * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
936         Likewise.
937         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
938         * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
939         * m68k/news.h (PRINT_OPERAND): Likewise.
940         * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
941         ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
942         * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
943         * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
944         definition.
945         * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
946         ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
947         ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
948         * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
949         * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
950         ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
951         PRINT_OPERAND): Likewise.
952         * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
953         Likewise.
954         * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
955         * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
956         * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
957         * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
958         * mips.c (mips_output_external_libcall): Mark parameter with
959         ATTRIBUTE_UNUSED.
960         (mips_asm_file_start): Move variable into the scope where it's
961         used.
962         * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
963         * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
964         * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
965         * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
966         * ns32k.c (print_operand): Likewise.
967         * pa.c (print_operand, output_div_insn): Likewise.
968         * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
969         ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
970         * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
971         * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
972         specifier warnings.
973         * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
974         * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
975         (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
976         * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
977         specifier warnings.
978         * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
979
980         * sdbout.c (sdbout_end_epilogue): Mark parameter with
981         ATTRIBUTE_UNUSED.
982         * varasm.c (assemble_global): Likewise.
983
984 2001-11-11  H.J. Lu <hjl@gnu.org>
985
986         * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
987
988 Sun Nov 11 01:26:00 CET 2001  Jan Hubicka  <jh@suse.cz>
989
990         * final.c (*_MAX_SKIP): Use *_max_skip variables.
991         * flags.h (align_loops_max_skip, align_jumps_max_skip,
992         align_labels_max_skip): New global variables.
993         * toplev.c (align_loops_max_skip, align_jumps_max_skip,
994         align_labels_max_skip): New global variables.
995         (toplev_main): Set new variables.
996         * i386.c (override_options): Set max_skip values.
997
998 2001-11-10  Geoffrey Keating  <geoffk@redhat.com>
999
1000         * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
1001         * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
1002         * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
1003         don't print an @fptr for labels either.
1004         (xstormy16_output_addr_vec): Don't print @fptr here.
1005         * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
1006
1007 Sat Nov 10 08:50:50 2001  Jeffrey A Law  (law@cygnus.com)
1008
1009         * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
1010         an ANSI/ISO definitino.
1011         (ssa_const_prop): Likewise.
1012
1013 2001-11-10  Aldy Hernandez  <aldyh@redhat.com>
1014
1015         * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
1016         altivec registers.
1017
1018 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1019
1020         * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
1021         * cpplex.c (hex_digit_value): Use hex_p/hex_value.
1022         * cppmain.c (general_init): Call hex_init.
1023         * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
1024
1025         * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
1026
1027         * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
1028         of dgux.c:output_file_start().
1029
1030         * i386/dgux.c: Delete file.
1031
1032 2001-11-09  Richard Henderson  <rth@redhat.com>
1033
1034         * config/alpha/alpha.c (decl_in_text_section): New.
1035         (current_file_function_operand): Use it.
1036         (alpha_encode_section_info, alpha_end_function): Likewise.
1037
1038 2001-11-07  David O'Brien  <obrien@FreeBSD.org>
1039
1040         * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
1041         * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
1042         they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
1043         so OS specific files and use CPP_PREDEFINES for their needs.
1044         * config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
1045         target headers to tm_file.
1046         * config/ia64/aix.h (TARGET_VERSION): Likewise.
1047         * config/ia64/hpux.h (TARGET_VERSION): Likewise.
1048         * config/ia64/linux.h (TARGET_VERSION): Likewise.
1049         (FUNCTION_PROFILER): Remove.
1050         * config/ia64/ia64.h (FUNCTION_PROFILER): Update defintion using the
1051         version in config/ia64/linux.h.
1052         * config/ia64/freebsd.h: New file.
1053         * config/freebsd.h: Tidy up.
1054         (_USING_CONFIG_FREEBSD): Define.
1055         (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
1056         (FBSD_CPP_SPEC): Define generic FreeBSD spec.
1057         (FBSD_STARTFILE_SPEC): Likewise.
1058         (FBSD_ENDFILE_SPEC): Likewise.
1059         (FBSD_LIB_SPEC): Likewise.
1060         (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
1061         (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
1062         set an ELF-improper one.
1063
1064 2001-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1065
1066         * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
1067         constant can be loaded in a single instruction to a register.  When
1068         loading immediate constants, use PLUS instead of HIGH/LO_SUM.  Use
1069         depdi for insertion of most significant 32-bits on 64-bit hosts.
1070         * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
1071         with ldil/ldo/depdi instruction sequence on 64-bit hosts.
1072         * pa.md: New addmove pattern for adding constant_int to HImode
1073         register and moving result to HImode register.  Remove HImode HIGH
1074         and LO_SUM patterns.
1075
1076 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
1077
1078         * Makefile.in: Update.
1079         * c-decl.c (print_lang_decl, print_lang_type): Remove.
1080         (print_lang_identifier): Rename c_print_identifier.
1081         * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
1082         (print_lang_statistics, lang_print_xnode): Remove.
1083         * c-parse.in (set_yydebug): Rename c_set_yydebug.
1084         * c-tree.h (c_set_yydebug, c_print_identifier): New.
1085         * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
1086         LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
1087         LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
1088         LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
1089         (LANG_HOOKS_INITIALIZER): Update.
1090         * langhooks.h (struct lang_hooks): New members.
1091         (lang_print_tree_hook): New.
1092         * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
1093         * print-tree.c: Include langhooks.h.
1094         (print_node): Update.
1095         * toplev.c (decode_d_option): Update.
1096         * tree.c: Include langhooks.h.
1097         (dump_tree_statistics): Update.
1098         * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
1099         print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
1100 objc:
1101         * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
1102         LANG_HOOKS_SET_YYDEBUG): Override.
1103         (lang_print_xnode, print_lang_statistics): Remove.
1104
1105 2001-11-09  Richard Henderson  <rth@redhat.com>
1106
1107         * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
1108         on the symbol string.
1109
1110 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1111
1112         * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
1113         ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
1114         * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
1115
1116         * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
1117
1118         * tlink.c (recompile_files): Copy strings passed to `putenv'.
1119
1120 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
1121
1122         * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
1123         (TYPE_READONLY): Likewise.
1124
1125         * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
1126
1127         * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
1128         don't pass --gdwarf2 to the assembler if the compiler will also
1129         provide debug info.
1130
1131         * config/stormy16/stormy16.c (xstormy16_expand_casesi):
1132         Don't change INDEX.
1133
1134 Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1135
1136         * alias.c (nonoverlapping_memrefs_p): New function.
1137         (true_dependence, canon_true_depenence, write_dependence_p): Call it.
1138
1139         * emit-rtl.c (set_mem_attributes): Get alignments for constants.
1140
1141 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
1142
1143         * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
1144         (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
1145         generating altivec code.
1146         (FIXED_REGISTERS): VRSAVE is fixed.
1147         (CALL_USED_REGISTERS): VRSAVE is call used.
1148
1149 2001-11-09  Jason Eckhardt  <jle@rice.edu>
1150
1151         * config/mips/mips.c (mips_output_conditional_branch): Do not hard
1152         code the branch target as ".+16/.+12", but rather use labels.
1153
1154 Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
1155
1156         * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
1157         to work around limitations of certain versions of GAS.
1158
1159         * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
1160         (muldi3): Update due to SUBREG_BYTE changes.
1161         (casesi): Similarly.
1162
1163 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
1164
1165         * doc/invoke.texi: Remove comment referring to -xf77-version.
1166
1167 2001-11-09  Kazu Hirata  <kazu@hxi.com>
1168
1169         * config/convex/convex.c: Fix comment formatting.
1170         * config/convex/convex.h: Likewise.
1171
1172 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
1173
1174         * Makefile.in (.po.pox): Look both in srcdir and builddir
1175         for $(PACKAGE).pot.
1176         (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
1177         to the source directory.
1178
1179 2001-11-09 Ben Elliston  <bje@redhat.com>
1180            Michael Meissner  <meissner@redhat.com>
1181            Andrew MacLeod  <amacleod@redhat.com>
1182            Richard Henderson  <rth@redhat.com>
1183            Nick Clifton  <nickc@redhat.com>
1184            Catherine Moore  <clm@redhat.com>
1185
1186         * m32r.c: Add support for m32rx processor.
1187         * m32r.h: Ditto.
1188         * m32r.md: Ditto.
1189         * t-m32r: Ditto.
1190         * m32r-protos.h: Add prototypes for m32rx functions.
1191         * doc/invoke.texi: Document -m32rx option.
1192
1193 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
1194
1195         * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
1196         or after reload.
1197
1198 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1199
1200         * doc/install.texi2html: Use $MAKEINFO --no-split.
1201
1202 2001-11-09  Andreas Schwab  <schwab@suse.de>
1203
1204         * Makefile.in ($(HOST_PREFIX_1)rtl.o,
1205         $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
1206         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
1207         $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
1208         $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
1209
1210 2001-11-09  H.J. Lu <hjl@gnu.org>
1211
1212         * config/mips/mips.c (mips_output_function_prologues): Cast
1213         `tsize' to long for output.
1214
1215 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
1216
1217         * c-lang.c (LANG_HOOKS_NAME): New.
1218         (lang_hooks): Constify.
1219         (c_init_options): Update.
1220         (lang_identify): Remove.
1221         * c-parse.in (language_string): Remove.
1222         * dbxout.c: Include langhooks.h.
1223         (dbxout_symbol_location): Update.
1224         * dwarf2out.c: Include langhooks.h.
1225         (gen_compile_unit_die): Update.
1226         * dwarfout.c: Include langhooks.h.
1227         (prototyped_attribute, output_compile_unit_die): Update.
1228         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
1229         (LANG_HOOKS_INITIALIZER): Update.
1230         * langhooks.h (struct lang_hooks): New members.  Constify.
1231         * stringpool.c: Don't include toplev.h.
1232         (set_identifier_size): Remove.
1233         * toplev.c (toplev_main): Initialize identifier size.
1234         (print_version): Update.
1235         * tree.h (language_string, init_lex, lang_identify,
1236         set_identifier_size): Remove.
1237         * Makefile.in: Update dependencies.
1238         * config/darwin.c: Include langhooks.h.
1239         (func_name_maybe_scoped): Update.
1240         * config/darwin.h (ASM_END_FILE): Update.
1241         * config/nextstep.h (ASM_END_FILE): Update.
1242         * config/nextstep21.h (ASM_END_FILE): Update.
1243         * config/i386/sun386.h (ASM_END_FILE): Update.
1244         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
1245         (rs6000_output_function_epilogue): Update.
1246 objc:
1247         * objc-act.c (LANG_HOOKS_NAME): Override.
1248         (struct lang_hooks): Constify.
1249         (objc_init_options): Update.
1250         (lang_identify): Remove.
1251
1252 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
1253
1254         * fold-const.c (lshift_double): Honor PREC.
1255         (rshift_double): Likewise.
1256
1257 2001-11-08  Kazu Hirata  <kazu@hxi.com>
1258
1259         * config/1750a/1750a.c: Fix comment formatting.
1260         * config/1750a/1750a.h: Likewise.
1261
1262 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
1263
1264         * configure.in (--enable-languages): Be more permissive about
1265         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
1266         * configure: Regenerated.
1267
1268 2001-11-08  Richard Henderson  <rth@redhat.com>
1269
1270         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
1271
1272 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
1273
1274         * config.gcc: Rename stormy16 to xstormy16.
1275         * config/stormy16/stormy-abi: Likewise.
1276         * config/stormy16/stormy16-protos.h: Likewise.
1277         * config/stormy16/stormy16.c: Likewise.
1278         * config/stormy16/stormy16.h: Likewise.
1279         * config/stormy16/stormy16.md: Likewise.
1280
1281 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
1282
1283         * tree.h (TYPE_VOLATILE): Add enable-checking code.
1284         (TYPE_READONLY): Likewise.
1285
1286 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1287
1288         * reload1.c (reload): Don't delete equiv insn if can throw.
1289
1290         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
1291         (clear_storage): Likewise, for OBJECT.
1292
1293 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
1294
1295         * pa.c (emit_move_sequence): Fix SUBREG expression to
1296         use proper byte offset when extending a constant from
1297         SImode to DImode.
1298
1299 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
1300
1301         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
1302         which cannot throw.
1303
1304 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1305
1306         * explow.c (convert_memory_address, case SUBREG): Only return
1307         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
1308
1309 2001-11-08  Richard Henderson  <rth@redhat.com>
1310
1311         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
1312         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
1313         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
1314
1315 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
1316
1317         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
1318
1319 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
1320
1321         * dwarf2out.c (debug_str_hash): New.
1322         (struct indirect_string_node): New.
1323         (struct dw_val_struct): Change type of val_str to it.
1324         (DEBUG_STR_SECTION_FLAGS): Define.
1325         (add_AT_string): Push string into hashtable, increment reference
1326         counter.
1327         (AT_string): Return string from ht_identifier.
1328         (AT_string_form): New.
1329         (free_AT): For dw_val_class_str, just decrement reference counter.
1330         (size_of_string): Remove.
1331         (size_of_die): Use AT_string_form to decide what size the string
1332         occupies in DIE.
1333         (size_of_pubnames): Use strlen instead of size_of_string.
1334         (value_format): Use AT_string_form for dw_val_class_str.
1335         (output_die): Output DW_FORM_strp strings using
1336         dw2_asm_output_offset.
1337         (indirect_string_alloc, output_indirect_string): New.
1338         (dwarf2out_finish): Emit .debug_str strings if there are any.
1339
1340 2001-11-08  Andreas Franck  <afranck@gmx.de>
1341
1342         * configure.in: Add AC_ARG_PROGRAM to support program name
1343         transformation with --program-prefix, --program-suffix and
1344         --program-transform-name.
1345         * configure: Regenerated.
1346         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
1347         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
1348         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
1349         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
1350         program_transform_name the way suggested by autoconf.
1351         (GCC_TARGET_INSTALL_NAME): Define.
1352         (install-driver): Use the transformed target alias name.
1353
1354 2001-11-08  Richard Henderson  <rth@redhat.com>
1355
1356         * config/mips/mips.c (save_restore_insns): Remove GP from the
1357         restore registers mask early instead of special casing it inside
1358         the loop.
1359
1360 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
1361
1362         * cp/decl.c (shadow_warning): New function.
1363         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
1364         and an error when a block scope decl shadows a parameter.
1365
1366 2001-11-08  Richard Henderson  <rth@redhat.com>
1367
1368         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
1369         case as well.
1370
1371 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1372
1373         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
1374         to implement floating negation on processors prior to PA 2.0.
1375
1376 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
1377
1378         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
1379         (USE_LINKONCE_INDIRECT): Define.
1380         (dw2_output_indirect_constant_1): Try to output indirect constants
1381         into linkonce sections if possible.
1382         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
1383         (dw2_output_indirect_constants): Likewise.
1384
1385 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
1386
1387         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
1388
1389 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
1390
1391         * c-decl.c (pushdecl): Remove file and line.
1392         * c-typeck.c (pop_init_level): Remove size.
1393
1394 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
1395
1396         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
1397         for rs6000.
1398
1399         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
1400         (TARGET_ALTIVEC): New.
1401         (TARGET_SWITCHES): Add altivec.
1402         (FIRST_PSEUDO_REGISTER): Change to 109.
1403         (CALL_USED_REGISTERS): Same.
1404         (FIRST_ALTIVEC_REGNO): New.
1405         (LAST_ALTIVEC_REGNO): New.
1406         (ALTIVEC_REGNO_P): New.
1407         (UNITS_PER_ALTIVEC_WORD): New.
1408         (ALTIVEC_VECTOR_MODE): New.
1409         (FIXED_REGISTERS): Add altivec registers.
1410         (REG_ALLOC_ORDER): Same.
1411         (HARD_REGNO_NREGS): Adjust for altivec registers.
1412         (HARD_REGNO_MODE_OK): Same.
1413         (MODES_TIEABLE_P): Same.
1414         (REGISTER_MOVE_COST): Same.
1415         (REGNO_REG_CLASS): Same.
1416         (reg_class): Add ALTIVEC_REGS.
1417         (REG_CLASS_NAMES): Same.
1418         (REG_CLASS_CONTENTS): Same.
1419         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
1420         (ALTIVEC_ARG_RETURN): New.
1421         (FUNCTION_VALUE): Handle VECTOR_TYPE.
1422         (LIBCALL_VALUE): Handle altivec vector modes.
1423         (VECTOR_MODE_SUPPORTED_P): New.
1424         (ALTIVEC_ARG_MIN_REG): New.
1425         (ALTIVEC_ARG_MAX_REG): New.
1426         (ALTIVEC_ARG_NUM_REG): New.
1427         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
1428         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
1429         (REGISTER_NAMES): Add altivec regs.
1430         (DEBUG_REGISTER_NAMES): Same.
1431         (ADDITIONAL_REGISTER_NAMES): Same.
1432         (rs6000_builtins): New.
1433         (MD_EXPAND_BUILTIN): New.
1434         (MD_INIT_BUILTINS): New.
1435         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
1436         for AltiVec instructions.
1437         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
1438         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
1439         registers.
1440         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
1441         (TARGET_SWITCHES): Add no-altivec.
1442         (DATA_ALIGNMENT): Align vectors to 128 bits.
1443         (TARGET_OPTIONS): Add abi= option.
1444         Add rs6000_abi_string extern.
1445         (LOCAL_ALIGNMENT): New.
1446         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
1447         (MASK_ALTIVEC_ABI): New.
1448         (TARGET_ALTIVEC_ABI): New.
1449         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
1450         call-saved.
1451         (STACK_BOUNDARY): Adjust for altivec.
1452         (BIGGEST_ALIGNMENT): Same.
1453         (rs6000_args): Add vregno.
1454         (USE_ALTIVEC_FOR_ARG_P): New.
1455         (FIXED_REGISTERS): Add vrsave register.
1456         (CALL_USED_REGISTERS): Same.
1457         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
1458         (VRSAVE_REGNO): New.
1459         (reg_class): Add VRSAVE_REGS.
1460         (REG_CLASS_NAMES): Same.
1461         (REG_CLASS_CONTENTS): Same.
1462         (REGNO_REG_CLASS): Same.
1463
1464         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
1465         (ABI_STACK_BOUNDARY): Same.
1466         (BIGGEST_ALIGNMENT): Same.
1467         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
1468         (ROUND_TYPE_ALIGN): Same.
1469
1470         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
1471         to 64.
1472
1473         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
1474         to 64.
1475
1476         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
1477         to 64.
1478
1479         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
1480         (altivec_expand_builtin): New.
1481         (altivec_init_builtins): New.
1482         (TARGET_EXPAND_BUILTIN): New.
1483         (TARGET_INIT_BUILTINS): New.
1484         (rs6000_init_builtins): New.
1485         (struct builtin_description): New.
1486         (bdesc_2arg): New.
1487         (rs6000_reg_names): Add altivec registers.
1488         (alt_reg_names): Same.
1489         (secondary_reload_class): Altivec regs can hold altivec regs and
1490         memory.
1491         (rs6000_emit_move): Force constants into memory for AltiVec moves.
1492         (print_operand): Add 'y' case for printing altivec memory
1493         operands.
1494         (rs6000_legitimize_address): Legitimize vector addresses into
1495         [REG+REG] or [REG].
1496         (altivec_expand_binop_builtin): New.
1497         New string rs6000_current_abi.
1498         (rs6000_override_options): Call rs6000_parse_abi_options.
1499         (rs6000_parse_abi_options): New.
1500         (function_arg_boundary): Vector arguments must be 16
1501         byte aligned.
1502         (function_arg_advance): Handle vector arguments.
1503         (function_arg_partial_nregs): Same.
1504         (init_cumulative_args): Same.
1505         (function_arg): Same.
1506
1507         * config/rs6000/rs6000.md (altivec_lvx): New.
1508         (type): Add altivec attribute.
1509         (movv4si): New.
1510         (*movv4si_internal): New.
1511         (movv16qi): New.
1512         (*movv16qi_internal): New.
1513         (movv8hi): New.
1514         (*movv8hi_internal1): New.
1515         (movv4sf): New.
1516         (*movv4sf_internal1): New.
1517         (altivec_stvx): New.
1518         (vaddubm): New.
1519         (vadduhm): New.
1520         (vadduwm): New.
1521         (vaddfp): New.
1522         (vaddcuw): New.
1523         (vaddubs): New.
1524         (vaddsbs): New.
1525         (vadduhs): New.
1526         (vaddshs): New.
1527         (vadduws): New.
1528         (vaddsws): New.
1529         (vand): New.
1530         (vandc): New.
1531         (vavgub): New.
1532         (vavgsb): New.
1533         (vavguh): New.
1534         (vavgsh): New.
1535         (vavguw): New.
1536         (vavgsw): New.
1537         (vcmpbfp): New.
1538         (vcmpequb): New.
1539         (vcmpequh): New.
1540         (vcmpequw): New.
1541         (vcmpeqfp): New.
1542         (vcmpgefp): New.
1543         (vcmpgtub): New.
1544         (vcmpgtsb): New.
1545         (vcmpgtuh): New.
1546         (vcmpgtsh): New.
1547         (vcmpgtuw): New.
1548         (vcmpgtsw): New.
1549         (vcmpgtfp): New.
1550         (vcmpgefp): New.
1551         (vcmpgtub): New.
1552         (vcmpgtsb): New.
1553         (vcmpgtuh): New.
1554         (vcmpgtsh): New.
1555         (vcmpgtuw): New.
1556         (vcmpgtsw): New.
1557         (vcmpgtfp): New.
1558         (vmaxub): New.
1559         (vmaxsb): New.
1560         (vmaxuh): New.
1561         (vmaxsh): New.
1562         (vmaxuw): New.
1563         (vmaxsw): New.
1564         (vmaxfp): New.
1565         (vmrghb): New.
1566         (vmrghh): New.
1567         (vmrghw): New.
1568         (vmrglb): New.
1569         (vmrglh): New.
1570         (vmrglw): New.
1571         (vminub): New.
1572         (vminsb): New.
1573         (vminuh): New.
1574         (vminsh): New.
1575         (vminuw): New.
1576         (vminsw): New.
1577         (vminfp): New.
1578         (vmuleub): New.
1579         (vmulesb): New.
1580         (vmuleuh): New.
1581         (vmulesh): New.
1582         (vmuloub): New.
1583         (vmulosb): New.
1584         (vmulouh): New.
1585         (vmulosh): New.
1586         (vnor): New.
1587         (vor): New.
1588         (vpkuhum): New.
1589         (vpkuwum): New.
1590         (vpkpx): New.
1591         (vpkuhss): New.
1592         (vpkshss): New.
1593         (vpkuwss): New.
1594         (vpkswss): New.
1595         (vpkuhus): New.
1596         (vpkshus): New.
1597         (vpkuwus): New.
1598         (vpkswus): New.
1599         (vrlb): New.
1600         (vrlh): New.
1601         (vrlw): New.
1602         (vslb): New.
1603         (vslh): New.
1604         (vslw): New.
1605         (vsl): New.
1606         (vslo): New.
1607         (vsrb): New.
1608         (vrsh): New.
1609         (vrsw): New.
1610         (vsrab): New.
1611         (vsrah): New.
1612         (vsraw): New.
1613         (vsr): New.
1614         (vsro): New.
1615         (vsububm): New.
1616         (vsubuhm): New.
1617         (vsubuwm): New.
1618         (vsubfp): New.
1619         (vsubcuw): New.
1620         (vsububs): New.
1621         (vsubsbs): New.
1622         (vsubuhs): New.
1623         (vsubshs): New.
1624         (vsubuws): New.
1625         (vsubsws): New.
1626         (vsum4ubs): New.
1627         (vsum4sbs): New.
1628         (vsum4shs): New.
1629         (vsum2sws): New.
1630         (vsumsws): New.
1631         (vxor): New.
1632
1633 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
1634
1635         * Makefile.in (df.o): Add fibheap.h to dependencies.
1636
1637         * df.h: Add prototypes for transfer functions, iterative_dataflow
1638         functions.
1639         (enum df_flow_dir): New enum.
1640         (enum df_confluence_op): New enum.
1641         (struct df): Add inverse_rts_map.
1642
1643         * df.c: Add sbitmap.h to the list of includes.
1644         (df_rd_global_compute): Removed.
1645         (df_ru_global_compute): Removed.
1646         (df_lr_global_compute): Removed.
1647         (df_rd_transfer_function): New function.
1648         (df_ru_transfer_function): New function.
1649         (df_lr_transfer_function): New function.
1650         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
1651         Use iterative_dataflow_bitmap instead of df_*_global_compute.
1652         (iterative_dataflow_sbitmap): New function.
1653         (iterative_dataflow_bitmap): New function.
1654
1655 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1656
1657         * doc/gcc.texi: Move terminology and spelling conventions to
1658         htdocs/codingconventions.html.
1659
1660 2001-11-07  Graham Stott  <grahams@redhat.com>
1661
1662         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
1663
1664 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
1665
1666         * expmed.c (expand_mult): Force operand to register before computing
1667         cost.
1668         * i386.c (x86_decompose_lea): New global vairable.
1669         * i386.h (x86_decompose_lea): Declare.
1670         (TARGET_DECOMPOSE_LEA): New macro.
1671         (RTX_COST): Handle leas properly.
1672
1673 2001-11-06  Richard Henderson  <rth@redhat.com>
1674
1675         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
1676         defined for a CONSTRUCTOR; don't check it.
1677
1678 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
1679
1680         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
1681         test for absolute pathnames.
1682
1683 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
1684
1685         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
1686         instructions up to the target pc inclusive.
1687
1688 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
1689
1690         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
1691
1692 2001-11-06  Eric Christopher  <echristo@redhat.com>
1693
1694         * config/mips/mips.md(movdf_internal2): Add constraints for float
1695         to general register move.
1696         * config/mips/elf64.h: Add default ABI.
1697
1698 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
1699
1700         * alias.c:: Include langhooks.h.
1701         * emit-rtl.c: Similarly.
1702         * toplev.c: Similarly.
1703         * tree-inline.c: Similarly.
1704         * langhooks-def.h: New, the old langhooks.h.  Give the default
1705         hooks a common prefix.
1706         * langhooks.h: Contents extracted from toplev.h.
1707         * toplev.h: Move langhook stuff to langhooks.h.
1708         * langhooks.c: Give default hooks a common prefix.
1709
1710         * c-lang.c: Include langhooks-def.h.
1711         * objc/objc-act.c: Similarly.
1712         * Makefile.in: Update.
1713         * objc/Make-lang.in: Update.
1714
1715 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
1716
1717         * doc/install.texi: Document that configure options not listed in
1718         this file are unsupported.  Document --with-system-zlib.
1719
1720 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1721
1722         * rtl.h (mem_for_const_double): New declaration.
1723         * varasm.c (mem_for_const_double): New function.
1724         * config/convex/convex.md (movdf): Use it.
1725         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
1726         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
1727         * config/m68k/m68kv4.h: Likewise.
1728
1729         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
1730         of new GP reg classes.
1731
1732         * expr.c (store_field): When making temp object for unaligned
1733         component, set it to alias set 0.
1734
1735 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
1736
1737         * c-common.c (c_expand_expr_stmt): Apply default conversions to
1738         non-lvalue arrays if C99.
1739         * c-typeck.c (default_conversion): Split out code handling
1740         array-to-pointer and function-to-pointer conversions into a
1741         separate default_function_array_conversion function.
1742         (default_function_array_conversion): New function.  Keep track of
1743         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
1744         arrays unchanged outside C99 mode instead of giving an error for
1745         them.
1746         (build_component_ref): Use pedantic_non_lvalue when handling
1747         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
1748         (convert_arguments): Use default_function_array_conversion.
1749         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
1750         non-lvalues are OK.
1751         (unary_complex_lvalue): Likewise.
1752         (internal_build_compound_expr): Use
1753         default_function_array_conversion.  Apply default conversions to
1754         function in compound expression.
1755         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
1756         Use default_function_array_conversion.
1757         * doc/extend.texi: Update documentation of subscripting non-lvalue
1758         arrays.
1759         Fixes PR c/461.
1760
1761 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
1762
1763         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
1764         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
1765         corresponding to the complete set of .po and .gmo files in
1766         the source directory's po subdir, modified by LINGUAS.  Don't
1767         look at ALL_LINGUAS.
1768         * configure.in: Don't set ALL_LINGUAS.
1769         * configure: Regenerate.
1770
1771         * Makefile.in (.po.gmo): Don't move into source directory.
1772         (.po.pox): Clarify comments.
1773         (install-po): Look for .gmo files in both srcdir and objdir;
1774         don't fail if a file is totally missing.
1775         (distclean): rmdir ada subdirectory too.
1776
1777 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
1778
1779         * config/rs6000/rs6000.c (rs6000_select_section): Handle
1780         CONSTRUCTORs _correctly_.
1781
1782 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
1783
1784         * c-decl.c (delete_block): Remove.
1785         * c-tree.h (delete_block): Remove.
1786
1787 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
1788
1789         * cppexp.c (lex, parse_defined): Update warning about defined.
1790
1791 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
1792
1793         * config/rs6000/rs6000.c (rs6000_select_section): Handle
1794         CONSTRUCTORs too.
1795
1796 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
1797
1798         * config/arm/arm.c (arm_return_in_memory): Cope with
1799         int_size_in_bytes returning -1.
1800
1801         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
1802         DECL being NULL.
1803
1804 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
1805
1806         * Makefile.in (bb-reoder.o): Add dependency on cfglayout.h;
1807         remove unneeded dependencies;
1808         (cfglayout.o): New.
1809         * cfglayout.c, cfglayout.h: New files; break out from ...
1810         * bb-reorder.c: ... here; Remove unneeded includes;
1811
1812 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
1813
1814         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
1815
1816 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
1817
1818         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
1819         mode as well.  Do not explicitly create intermediate regs.
1820
1821 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1822
1823         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
1824         (common_section): Delete unused variable.
1825         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
1826         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
1827         * arm-protos.h (arm_poke_function_name, aof_add_import,
1828         aof_delete_import): Const-ify.
1829         * arm.c (legitimize_pic_address): Wrap variables in the macro
1830         controlling their usage.
1831         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
1832         (arm_poke_function_name, pic_chain, import, aof_add_import,
1833         aof_delete_import): Const-ify.
1834         * i386.c (ix86_osf_output_function_prologue): Const-ify.
1835         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
1836         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
1837         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
1838         * i860/sysv3.h: Add missing comment closure.
1839         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
1840         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
1841         to symbolic_operand.
1842
1843         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
1844         (i960-*-*): Set tmake_file.
1845         (sparc86x-*-elf*): Fix typo in header name.
1846
1847         * sched-rgn.c (schedule_insns): Delete unused variable.
1848
1849 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
1850
1851         PR c/2820
1852         * c-typeck.c (lookup_field): Rework to return a chain down to
1853         the looked-up field.
1854         (build_component_ref): Use the new lookup_field to handle
1855         nested anonymous entities correctly.
1856
1857 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1858
1859         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
1860         Change parameters to gen_rtx_CONST_DOUBLE.
1861         (GEN_INT64, sparc_emit_set_const64): Likewise.
1862         * config/sparc/sparc.md (movdf split): Likewise.
1863
1864 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
1865
1866         * unroll.c (calculate_giv_inc): Use find_last_value rather
1867         than just hoping the last instruction is the right SET.
1868         [Fixes 990604-1.c on stormy16.]
1869
1870         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
1871         library at all if -T is used.
1872
1873         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
1874         some uses of uninitialized variables in error cases.
1875
1876         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
1877         look at 'temp' if we won't be using it.
1878
1879         * config/stormy16/stormy16.h (CONST_COSTS): Define.
1880         (RTX_COSTS): Define.
1881         (ADDRESS_COST): Define.
1882         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
1883
1884         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
1885
1886         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
1887         stormy16_asm_output_mi_thunk.
1888         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
1889         function.
1890         * config/stormy16/stormy16-protos.h
1891         (stormy16_asm_output_mi_thunk): New prototype.
1892
1893 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
1894
1895         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
1896         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
1897         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
1898         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
1899         sched-int.h, toplev.c, config/alpha/alpha.c,
1900         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
1901         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
1902         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
1903         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
1904         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
1905         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
1906         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
1907
1908 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1909
1910         * Makefile.in (dbxout.o): Depend on function.h.
1911         * collect2.c (is_in_list): Hide unused function.
1912         * dbxout.c: Include function.h.
1913         (source_label_number, dbxout_source_line, dbxout_source_file,
1914         dbxout_function_end, dbxout_begin_function): Wrap/move inside
1915         macros controlling usage.
1916         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
1917         * output.h (exports_section): Prototype.
1918
1919         * convex.c (convex_output_function_prologue): Fix format specifier
1920         warning.
1921         (asm_declare_function_name): Fix signed/unsigned warning.
1922         (print_operand): Fix format specifier warning.
1923         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
1924         * dsp16xx-protos.h (uns_comparison_operator,
1925         num_1600_core_shifts): Prototype.
1926         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
1927         (frame_size, frame_pointer_offset): Delete.
1928         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
1929         Make static.  Fix format specifier warnings.
1930         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
1931         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
1932         * dsp16xx.md: Add default case in switches.
1933         * fr30.h (IN_RANGE): Delete.
1934         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
1935         * mcore-protos.h (mcore_output_cmov): Const-ify.
1936         * mcore.c (mcore_output_cmov): Likewise.
1937         * mcore.h (switch_to_section): Make static and prototype.
1938         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
1939         unsigned>=0 warnings.
1940         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
1941         * rs6000-protos.h (read_only_data_section,
1942         read_only_private_data_section): Prototype.
1943         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
1944         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
1945         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
1946
1947 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1948
1949         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
1950         ATTRIBUTE_UNUSED.
1951         * final.c (final_scan_insn): Add brackets around body of if-stmt.
1952         * gcc.c (convert_filename): Add static prototype.  Const-ify.
1953         Wrap variable in macros controlling its use.
1954         * output.h (sdata_section): Add prototype.
1955
1956         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
1957         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
1958         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
1959         (ASM_FILE_START): Const-ify.
1960         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
1961         specifier warning.
1962         * c4x.md: Don't use the 'U' integer suffix.
1963         * clipper.md (clipper_movstr): Delete declaration.
1964         * d30v-protos.h (d30v_move_2words): Const-ify.
1965         (debug_stack_info): Add prototype.
1966         * d30v.c: Include "integrate.h".
1967         (d30v_function_arg_boundary, d30v_function_arg,
1968         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
1969         signed/unsigned warnings.
1970         (d30v_print_operand_memory_reference, d30v_move_2words):
1971         Const-ify.
1972         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
1973         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
1974         * fr30.md: Const-ify.
1975         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
1976         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
1977         (mvs_get_label_page): Hide unused static function.
1978         * i860.c (current_function_original_name): Const-ify.
1979         * i860/sysv3.h (current_function_original_name): Likewise.
1980         * i860/sysv4.h (current_function_original_name): Likewise.
1981         * i960.md: Add default case in switches.  Remove unused variable.
1982         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
1983         * m32r.md: Const-ify.
1984         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
1985         * m68hc11.c: Include "reload.h".
1986         (static_chain_reg, print_options, m68hc11_asm_file_start):
1987         Const-ify.
1988         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
1989         around & in comparison.
1990         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
1991         * mn10200.c (shift_mode): Remove trailing comma.
1992         * mn10300-protos.h (output_tst): Const-ify.
1993         * mn10300.c (output_tst): Likewise.
1994         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
1995         warnings.
1996         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
1997         * pa.c (output_ascii): Likewise.
1998         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
1999         * pdp11.md (expand_unop): Delete declarations.
2000         * pj-protos.h (pj_output_addsi3): Const-ify.
2001         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
2002         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
2003         unique_src_operand): Add prototypes.
2004         (pj_output_store_into_lval): Make definition static.
2005         (pj_function_incoming_arg): Don't use unary plus.
2006         (pj_output_addsi3): Const-ify.
2007         * romp.md (get_symref): Delete declarations.
2008         * v850-c.c (mark_current_function_as_interrupt): Don't return
2009         value from void function.
2010         * v850.c: Include "integrate.h".
2011         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
2012         * vax-protos.h (const_section): Add prototype.
2013
2014 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
2015
2016         * machmode.def: Add documentation for the seventh argument in
2017         vector modes.
2018
2019 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
2020
2021         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
2022         consistently.
2023         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
2024         <-melf>: Don't have markup for ELF acronym.
2025
2026 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
2027
2028         * config.gcc (mmix-*-*): New target.
2029         * doc/invoke.texi: Document MMIX options.
2030         * doc/contrib.texi: Add note about MMIX port to my entry.
2031         * config/mmix/t-mmix: New file.
2032         * config/mmix/mmix.h: New file.
2033         * config/mmix/mmix-protos.h: New file.
2034         * config/mmix/mmix.c: New file.
2035         * config/mmix/mmix.md: New file.
2036         * config/mmix/crti.asm: New file.
2037         * config/mmix/crtn.asm: New file.
2038
2039 2001-11-03  Kazu Hirata  <kazu@hxi.com>
2040
2041         * config/sparc/linux-aout.h: Fix comment formatting.
2042         * config/sparc/linux.h: Likewise.
2043         * config/sparc/linux64.h: Likewise.
2044         * config/sparc/lynx.h: Likewise.
2045         * config/sparc/pbd.h: Likewise.
2046         * config/sparc/sol2-sld-64.h: Likewise.
2047         * config/sparc/sol2.h: Likewise.
2048         * config/sparc/sparc.c: Likewise.
2049         * config/sparc/sparc.h: Likewise.
2050         * config/sparc/sparc.md: Likewise.
2051         * config/sparc/sunos4.h: Likewise.
2052         * config/sparc/vxsim.h: Likewise.
2053         * config/sparc/vxsparc.h: Likewise.
2054         * config/sparc/vxsparc64.h: Likewise.
2055
2056 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2057
2058         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
2059         reference to CONST_DOUBLE_MEM in comment.
2060         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
2061         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
2062         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
2063         * function.c (pop_function_context_from): Don't call
2064         restore_varasm_status.
2065         * function.h (restore_varasm_status): Delete declaration.
2066         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
2067         * rtl.c: Likewise.
2068         * rtl.def (CONST_DOUBLE): Update comment.
2069         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
2070         (CONST_DOUBLE_CHAIN): Likewise.
2071         (CONST_DOUBLE_MEM): Delete.
2072         (gen_rtx_CONST_DOUBLE): Update parameters.
2073         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
2074         Remove reference to CONST_DOUBLE_MEM.
2075         (const_alias_set): New variable.
2076         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
2077         (immed_real_const_1): Adjust tests for 0, 1, and 2.
2078         Don't set CONST_DOUBLE_MEM.
2079         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
2080         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
2081         Put constant in const_alias_set.
2082         (struct pool_constant): ALIGN now unsigned.
2083         OFFSET now HOST_WIDE_INT.
2084         Delete LABEL.
2085         (restore_varasm_status): Deleted.
2086         (mark_pool_constant): Mark desc->rtl.
2087         (force_const_mem): Rework to store rtl in hash table,
2088         not CONST_DOUBLE_MEM.
2089         Put constant in const_alias_set.
2090         (find_pool_constant): Check desc->rtl.
2091         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
2092         (init_varasm_once): Initialize const_alias_set.
2093
2094         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
2095         force_const_mem.
2096
2097         * reload.c (combine_reloads): Don't combine an output reload if there
2098         are other reloads around for part of the output.
2099
2100         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
2101         constant expression.
2102         (set_mem_decl): New function.
2103         * expr.h (set_mem_decl): New declaration.
2104         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
2105         (output_asm_operand_names): Add tab.
2106         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
2107
2108         * builtins.c (get_memory_rtx): Properly set MEM alias set and
2109         attributes.
2110
2111 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
2112
2113         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
2114         Use "invalid" instead of "illegal".  Use @r in comments in
2115         examples.
2116
2117 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
2118
2119         * c-decl.c (pushdecl): Move block inside if conditional to remove
2120         possibility of a segfault.  Lookup block-level extern
2121         variables in enclosing scopes correctly.
2122
2123         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
2124
2125 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
2126
2127         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
2128         SUBREG so we avoid SUBREGing memory.
2129
2130         * expmed.c (store_bit_field): Same.
2131
2132 2001-11-02  DJ Delorie  <dj@redhat.com>
2133
2134         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
2135         using FP registers for DImode mem-mem moves is acceptable.
2136
2137 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
2138
2139         * builtins.c (apply_args_size): Handle vector arguments.
2140         (apply_result_size): Same.
2141
2142         * machmode.def: Set WIDER mode field for all vector entries.
2143
2144 2001-11-02  Graham Stott  <grahams@redhat.com>
2145
2146         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
2147
2148 2001-11-01  Eric Christopher  <echristo@redhat.com>
2149
2150         * config.gcc: Revert part of earlier patch.
2151         * config/mips/linux.h: Ditto.
2152         * df.c: Include tm_p.h to avoid warnings.
2153         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
2154         #if/#endif.
2155         * config/mips/mips.c: Define mips_abi regardless.
2156         (mips_output_function_prologues): Add long casts for .frame
2157         output.
2158         (override_options): Allow use of ABI_32.
2159
2160 2001-11-01  Kazu Hirata  <kazu@hxi.com>
2161
2162         * config/m68hc11/m68hc11.c: Fix comment formatting.
2163         * config/m68hc11/m68hc11.h: Likewise.
2164         * config/m68hc11/m68hc11.md: Likewise.
2165
2166 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
2167
2168         * c-typeck.c (default_conversion): Retain the original expression
2169         codes.
2170         * gcc.dg/Wparentheses.c: New tests.
2171
2172 2001-11-01  David S. Miller  <davem@redhat.com>
2173
2174         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
2175         64-bit Sparc description more in line with reality.
2176
2177 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
2178
2179         * Makefile.in (GCOV_OBJS): Add version.o.
2180         * gcov.c: Include "version.h" and <getopt.h>.
2181         (gcov_version_string): Remove.
2182         (print_usage): Take a parameter to determine whether this is a
2183         call from --help or an error message.  Give fuller output that
2184         follows the GNU Coding Standards for --help.
2185         (print_version): New function.
2186         (options): New.
2187         (process_args): Use getopt_long.  Support long options.  Follow
2188         GNU Coding Standards for --help and --version.
2189         * doc/gcov.texi: Document long options.
2190         Addresses part of PR other/704.
2191
2192 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2193
2194         * pa.c (output_move_double): Fix typo in double load.
2195
2196 2001-11-01  Kazu Hirata  <kazu@hxi.com>
2197
2198         * config/h8300/h8300.c (h8300_encode_label): Compute a string
2199         before passing it to ggc_alloc_string.
2200
2201 2001-11-01  Kazu Hirata  <kazu@hxi.com>
2202
2203         * config/m68k/3b1.h: Fix comment formatting.
2204         * config/m68k/3b1g.h: Likewise.
2205         * config/m68k/a-ux.h: Likewise.
2206         * config/m68k/amix.h: Likewise.
2207         * config/m68k/apollo68.h: Likewise.
2208         * config/m68k/atari.h: Likewise.
2209         * config/m68k/aux-exit.c: Likewise.
2210         * config/m68k/ccur-GAS.h: Likewise.
2211         * config/m68k/crds.h: Likewise.
2212         * config/m68k/dpx2.h: Likewise.
2213         * config/m68k/dpx2g.h: Likewise.
2214         * config/m68k/hp310.h: Likewise.
2215         * config/m68k/hp320.h: Likewise.
2216         * config/m68k/isi.h: Likewise.
2217         * config/m68k/linux.h: Likewise.
2218         * config/m68k/lynx.h: Likewise.
2219         * config/m68k/m68k-psos.h: Likewise.
2220         * config/m68k/m68k.c: Likewise.
2221         * config/m68k/m68k.h: Likewise.
2222         * config/m68k/m68k.md: Likewise.
2223         * config/m68k/m68kelf.h: Likewise.
2224         * config/m68k/m68kv4.h: Likewise.
2225         * config/m68k/mot3300.h: Likewise.
2226         * config/m68k/news.h: Likewise.
2227         * config/m68k/next.h: Likewise.
2228         * config/m68k/pbb.h: Likewise.
2229         * config/m68k/plexus.h: Likewise.
2230         * config/m68k/sgs.h: Likewise.
2231         * config/m68k/sun3.h: Likewise.
2232         * config/m68k/tower.h: Likewise.
2233         * config/m68k/vxm68k.h: Likewise.
2234
2235 2001-10-31  DJ Delorie  <dj@redhat.com>
2236
2237         * config/mips/mips.h (mips_cache_flush_func): Prototype.
2238         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
2239         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
2240         * config/mips/mips.c (mips_cache_flush_func): New.
2241         * doc/invoke.texi: Document the new options.
2242
2243 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
2244
2245         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
2246         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
2247
2248         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
2249
2250         * config/cris/cris.c: Include output.h after tree.h but before
2251         target.h.
2252
2253 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
2254
2255         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
2256         (INTL_SUBDIRS): Just intl.
2257         (.SUFFIXES): Add .gmo .po .pox.
2258         (native): Also depend on build-@POSUB@.
2259         (intl.all, intl.install): Depend on config.h and things it includes.
2260         (po-generated): New target; depend on c-parse.c and tradcif.c.
2261         (install-normal): Also depend on install-@POSUB@.
2262         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
2263         (build-, install-, build-po, update-po, install-po,
2264         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
2265
2266         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
2267         * configure.in: Don't munge XGETTEXT.  Don't generate
2268         po/Makefile.in.
2269         * configure: Regenerate.
2270
2271         * exgettext: Delete.
2272         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
2273         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
2274
2275 2001-10-31  Kazu Hirata  <kazu@hxi.com>
2276
2277         * config/h8300/h8300.md (two anonymous patterns): New.
2278
2279 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
2280
2281         * tree.h (tree_index): Add support for V16QI and V8HI.
2282         (V8HI_type_node): New.
2283         (V16QI_type_node): New.
2284
2285         * tree.c (build_common_tree_nodes_2): Same.
2286
2287         * c-common.c (type_for_mode): Same.
2288
2289 2001-10-31  Kazu Hirata  <kazu@hxi.com>
2290
2291         * config/i386/att.h: Fix comment formatting.
2292         * config/i386/beos-elf.h: Likewise.
2293         * config/i386/bsd.h: Likewise.
2294         * config/i386/bsd386.h: Likewise.
2295         * config/i386/crtdll.h: Likewise.
2296         * config/i386/cygwin.asm: Likewise.
2297         * config/i386/cygwin.h: Likewise.
2298         * config/i386/djgpp.h: Likewise.
2299         * config/i386/freebsd-aout.h: Likewise.
2300         * config/i386/freebsd.h: Likewise.
2301         * config/i386/gas.h: Likewise.
2302         * config/i386/i386-interix.h: Likewise.
2303         * config/i386/i386-protos.h: Likewise.
2304         * config/i386/i386.c: Likewise.
2305         * config/i386/i386.h: Likewise.
2306         * config/i386/i386.md: Likewise.
2307         * config/i386/i386elf.h: Likewise.
2308         * config/i386/interix.c: Likewise.
2309         * config/i386/isc.h: Likewise.
2310         * config/i386/isccoff.h: Likewise.
2311         * config/i386/iscdbx.h: Likewise.
2312         * config/i386/linux.h: Likewise.
2313         * config/i386/lynx.h: Likewise.
2314         * config/i386/mingw32.h: Likewise.
2315         * config/i386/netbsd-elf.h: Likewise.
2316         * config/i386/next.h: Likewise.
2317         * config/i386/osf1elf.h: Likewise.
2318         * config/i386/osfrose.h: Likewise.
2319         * config/i386/sco5.h: Likewise.
2320         * config/i386/seq-gas.h: Likewise.
2321         * config/i386/seq-sysv3.h: Likewise.
2322         * config/i386/sequent.h: Likewise.
2323         * config/i386/sol2.h: Likewise.
2324         * config/i386/sun386.h: Likewise.
2325         * config/i386/uwin.asm: Likewise.
2326         * config/i386/uwin.h: Likewise.
2327         * config/i386/vxi386.h: Likewise.
2328         * config/i386/win32.h: Likewise.
2329         * config/i386/winnt.c: Likewise.
2330         * config/i386/xm-cygwin.h: Likewise.
2331         * config/i386/xm-mingw32.h: Likewise.
2332
2333 2001-10-31  Kazu Hirata  <kazu@hxi.com>
2334
2335         * builtins.def: Fix comment typos.
2336         * config/alpha.c: Likewise.
2337         * config/arm/arm.c: Likewise.
2338         * config/avr/avr.h: Likewise.
2339         * config/d30v/d30v.c: Likewise.
2340         * config/d30v/d30v.h: Likewise.
2341         * config/d30v/d30v.md: Likewise.
2342         * config/dsp16xx/dsp16xx.c: Likewise.
2343         * config/fr30/fr30.c: Likewise.
2344         * config/fr30/fr30.md: Likewise.
2345         * config/i386/i386.c: Likewise.
2346         * config/i860/i860.c: Likewise.
2347         * config/i960/i960.c: Likewise.
2348         * config/ia64/ia64.c: Likewise.
2349         * config/mips/mips.c: Likewise.
2350         * config/pa/pa.c: Likewise.
2351         * config/rs6000/rs6000.c: Likewise.
2352         * config/s390/s390.c: Likewise.
2353         * config/sparc/sparc.c: Likewise.
2354
2355 2001-10-30  Kazu Hirata  <kazu@hxi.com>
2356
2357         * config/mips/elf.h: Fix comment formatting.
2358         * config/mips/elf64.h: Likewise.
2359         * config/mips/iris5.h: Likewise.
2360         * config/mips/iris5gas.h: Likewise.
2361         * config/mips/iris6.h: Likewise.
2362         * config/mips/isa3264.h: Likewise.
2363         * config/mips/linux.h: Likewise.
2364         * config/mips/mips.c: Likewise.
2365         * config/mips/mips.h: Likewise.
2366         * config/mips/mips.md: Likewise.
2367         * config/mips/mips16.S: Likewise.
2368         * config/mips/netbsd.h: Likewise.
2369         * config/mips/osfrose.h: Likewise.
2370         * config/mips/r3900.h: Likewise.
2371         * config/mips/sni-svr4.h: Likewise.
2372         * config/mips/svr4-t.h: Likewise.
2373         * config/mips/ultrix.h: Likewise.
2374
2375 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
2376
2377         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
2378         when we update head->current.
2379
2380 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
2381
2382         * tree.c (id_string_size): Remove.
2383         (dump_tree_statistics): Update.
2384         * toplev.c (compile_file): If dumping stats, dump tree stats too.
2385
2386 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
2387
2388         * sched-rgn.c (schedule_insns): Fix comment.
2389
2390 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
2391
2392         * configure.in: Correct previous change: don't assume that
2393         gas's version number _isn't_ the last thing on the line, or
2394         isn't the only number on the line, either.
2395         * configure: Regenerate.
2396
2397 2001-10-30  Kazu Hirata  <kazu@hxi.com>
2398
2399         * cfgcleanup.c: Fix a comment typo.
2400
2401 2001-10-30  Kazu Hirata  <kazu@hxi.com>
2402
2403         * alias.c: Fix comment formatting.
2404         * recog.c: Likewise.
2405         * config/cris/cris.c: Likewise.
2406         * config/cris/cris.h: Likewise.
2407         * config/i960/i960.c: Likewise.
2408         * config/i960/i960.h: Likewise.
2409
2410 2001-10-30  Kazu Hirata  <kazu@hxi.com>
2411
2412         * config/arm/arm.c: Fix a comment typo.
2413         * config/arm/arm.h: Likewise.
2414         * config/ia64/ia64.c: Likewise.
2415
2416 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
2417
2418         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
2419         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
2420         * rtl.h (set_unique_reg_note): Change return value.
2421         * gcse.c (try_replace_reg): Use set_unique_reg_note.
2422         * cse.c (cse_insn): Likewise.
2423         * expr.c (emit_move_insn): Likewise.
2424         * explow.c (force_reg): Likewise.
2425         * local-alloc (update_equiv_regs): Likewise.
2426         * loop.c (move_moveables, load_mems): Likewise.
2427         * reload (find_reloads): Likewise.
2428
2429 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
2430
2431         Localization fixes.
2432         * c-decl.c (parmlist_tags_warning, start_struct,
2433         check_for_loop_decls): Separate messages for struct, union and
2434         enum cases to allow for languages in which they have different
2435         genders.
2436         * c-format.c (scanf_flag_specs): Separate short and long name of
2437         the assignment suppression feature.
2438         (check_format_types): Localize "pointer" and "different types"
2439         strings.
2440         * c-lex.c (lex_number): Localize "an unsigned long int" and
2441         related strings.
2442         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
2443         warning message.
2444         * c-typeck.c (build_unary_up): Separate messages for increment and
2445         decrement cases to allow for languages in which they use different
2446         articles.  Localize the strings "increment" and "decrement" in one
2447         case.
2448
2449 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
2450
2451         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
2452         when no changes has been made.
2453
2454         * gcse.c (reg_set_bitmap): Turn into reg_set.
2455         (modify_mem_list_set, canon_modify_mem_list_set)
2456         (clear_modify_mem_tables, free_modify_mem_tables): New.
2457         (gcse_main); Use free_modify_mem_tables.
2458         (free_gcse_mem): Likewise; free the bitmaps.
2459         (alloc_gcse_main): Initialize the bitmaps.
2460         (canon_list_insert): Set canon_modify_mem_list_set.
2461         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
2462         (compute_hash_table): Use clear_modify_mem_tables.
2463         (reset_opr_set_tables): Likewise.
2464         (oprs_not_set_p): reg_set_bitmap is regset.
2465         (mark_set, mark_clobber): Likewise.
2466
2467         * df.h (DF_EQUIV_NOTES): New constant.
2468         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
2469         when asked for.
2470
2471         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
2472         (init_regions, schedule_insns): Conditionalize the checking
2473         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
2474
2475 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
2476
2477         * i386.md (movti_rex64 splitter): Fix condition.
2478
2479 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
2480
2481         * configure.in: Do not assume that gas's version number is the
2482         last thing on the first line of as --version output.
2483         * configure: Regenerate.
2484
2485         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
2486         MT_WARNING, MT_ERROR, MT_FATAL.
2487         (main): Call gcc_init_libintl.
2488         (v_message): Call gettext on msgid and "warning: "
2489         * tradcif.y: Include intl.h.
2490         (yyerror): Make parameter definition consistent with
2491         prototype.  Call gettext on msgid argument.
2492
2493 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2494
2495         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
2496         warnings.
2497
2498         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
2499
2500 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2501
2502         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
2503         before referencing it.
2504
2505 2001-10-26  DJ Delorie  <dj@redhat.com>
2506
2507         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
2508         override -G, and force -G0.
2509
2510 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
2511
2512         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
2513         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
2514         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
2515         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
2516
2517         * loop.h (struct induction): Rename ext_dependant to
2518         ext_dependent.
2519         * loop.c: Change all uses.
2520         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
2521         All callers changed.
2522         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
2523
2524 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
2525
2526         * c-parse.in (expr_no_commas, primary), c-typeck.c
2527         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
2528
2529 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
2530
2531         Undo assemble_name change in earlier patch.
2532
2533 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
2534
2535         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
2536         determining the type of the receiver, do not check that TREE_CODE
2537         of receiver is CALL_EXPR before calling receiver_is_class_object().
2538         (receiver_is_class_object): For the GNU runtime: recognize
2539         the case that the receiver is self in a class method context.
2540         Check that TREE_CODE of receiver is CALL_EXPR when checking that
2541         the receiver is a call to objc_get_class.
2542
2543 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2544
2545         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
2546
2547 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2548
2549         * Makefile.in (OBJS): Put all files in alphabetical order.
2550
2551         * dwarf2out.c (add_const_value_attribute): Fix error in last
2552         change.
2553
2554 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
2555
2556         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
2557         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
2558         fix warning.
2559         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
2560         (life_analysis): call purge_all_dead_edges after deleting noops.
2561         (delete_noop_move): Do not purge CFG.
2562         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
2563
2564 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
2565
2566         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
2567         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
2568         (ASM_GLOBALIZE_LABEL): Use assemble_name.
2569         (ASM_OUTPUT_COMMON): Likewise.
2570         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
2571         (rs6000_output_function_epilogue): Likewise.
2572         (output_mi_thunk): Fix typo.
2573         (rs6000_output_symbol_ref): Use assemble_name.
2574         (output_toc): Likewise.
2575         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
2576         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
2577         assemble_name calls STRIP_NAME_ENCODING.
2578         (ASM_OUTPUT_LABEL): Use assemble_name.
2579         (ASM_GLOBALIZE_LABEL): Likewise.
2580         (ASM_DECLARE_FUNCTION_NAME): Likewise.
2581         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
2582         (ASM_OUTPUT_LOCAL): Likewise.
2583
2584 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2585
2586         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
2587         (expand_builtin_apply, expand_builtin_return): Likewise.
2588         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
2589
2590 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
2591
2592         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
2593         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
2594         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
2595         configure, configure.in, except.c, except.h, flow.c, function.c,
2596         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
2597         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
2598         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
2599         unroll.c: Fix spelling errors.
2600
2601         * doc/extend.texi, doc/invoke.texi: Fix spelling.
2602
2603         * doc/gcc.texi: Document use of "dependent" and American spelling.
2604
2605 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
2606
2607         * expr.c (emit_group_load): Support CONCATs by storing them to memory
2608         and reloading.
2609
2610 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2611
2612         * expr.c (store_constructor_field): Only call adjust_address on MEM.
2613
2614 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
2615
2616         * genrecog.c (write_switch):  Output if before switch for
2617         DT_elt_zero_wide_safe.
2618
2619 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2620
2621         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
2622         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
2623         (FUNCTION_PROFILER): Const-ify.
2624         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
2625         (eliminate_constant_term, assemble_name, output_addr_const):
2626         Remove declarations.
2627         (ptr_half_pic_address_p, half_pic_hash): Prototype.
2628         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
2629         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
2630         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
2631         (half_pic_declare, half_pic_external): Const-ify.
2632         * toplev.c: Include "halfpic.h".
2633
2634 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
2635
2636         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
2637         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
2638         config/i386/i386.c, config/i386/i386-interix.h,
2639         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
2640         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
2641         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
2642         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
2643         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
2644         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
2645         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
2646         spelling errors.
2647
2648         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
2649         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
2650         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
2651         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
2652         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
2653         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
2654         system.h, toplev.c: Fix spelling errors.
2655
2656 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2657
2658         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
2659
2660         * dwarf2out.c (reg_number): Abort if pseudo.
2661         (reg_loc_descriptor): Return 0 if pseudo.
2662         (is_based_loc): Return 0 if pseudo.
2663         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
2664         recursive calls.
2665         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
2666         (loc_descriptor): Return 0 if can't find location and handle 0
2667         return from recursive calls.
2668         (loc_descriptor_from_tree): Likewise.
2669         Fix handling of indirect.
2670         Also return 0 for PLACEHOLDER_EXPR.
2671         Clean up COMPONENT_REF cases.
2672         (add_AT_location_descriptor): Simplify, but handle 0 return from
2673         loc_descriptor.
2674         (add_const_value_attribute): Avoid shift count warning.
2675         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
2676         Set comp_unit_die as context if not in function.
2677
2678         * config/mips/mips-protos.h: Break up long lines.
2679         Remove needless #ifdef/#endif blocks.
2680         Don't declare functions declared in file made by genpreds or recog.h.
2681         * config/mips/mips.c (mips_output_function_prologue): TSIZE
2682         is now HOST_WIDE_INT; delete unneeded casts.
2683         * config/mips/mips.h: Don't use #elif.
2684
2685         * expr.c (stor_constructor_field): Always call adjust_address.
2686         Copy TARGET before changing its alias set.
2687         (store_field): Likewise, for TO_RTX.
2688         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
2689         replacement.
2690         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
2691         (find_placeholder): Return 0 if can't find object.
2692         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
2693         returns 0.
2694
2695 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
2696
2697         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
2698
2699 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
2700
2701         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
2702         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
2703         (merge_blocks): Properly udpate life after making edge nonfallthru.
2704         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
2705
2706 2001-10-26  Kazu Hirata  <kazu@hxi.com>
2707
2708         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
2709
2710 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
2711
2712         * c-typeck.c (convert_arguments): When comparing for enumeral
2713         type equality, use TYPE_MAIN_VARIANT.
2714         * gcc.dg/Wconversion.c: New tests.
2715
2716 2001-10-26  Kazu Hirata  <kazu@hxi.com>
2717
2718         * s390/s390.c: Fix comment typos.
2719         * s390/s390.h: Likewise.
2720         * s390/s390.md: Likewise.
2721
2722 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
2723
2724         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
2725         (walk_tree): Use it for tail calls where appropriate.
2726
2727 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
2728
2729         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
2730         non-local label_refs.
2731
2732 2001-10-26  Kazu Hirata  <kazu@hxi.com>
2733
2734         * config/h8300/h8300.md (4 anonymous patterns): New.
2735
2736 2001-10-26  Kazu Hirata  <kazu@hxi.com>
2737
2738         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
2739         algorithm through the shift_info structure.
2740         (emit_a_shift): Update the use of get_shift_alg.
2741
2742 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
2743
2744         * sched-rgn.c: Remove bitset typedef.
2745         Change bitset to sbitmap in prototypes / variable types.
2746         Remove bbset_size.
2747         Remove edgeset_bits.
2748         Remove edgeset_size.
2749         s/BITSET_ADD/SET_BIT/g
2750         s/BITSET_INVERT/sbitmap_ones/g
2751         s/BITSET_INTER/sbitmap_a_and_b/g
2752         s/BITSET_UNION/sbitmap_a_or_b/g
2753         s/BITSET_DIFFER/sbitmap_difference/g
2754         s/bitset_member/TEST_BIT/g
2755         (BITSET_*): Removed.
2756         (bitset_member): Removed.
2757         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
2758         EXECUTE_IF_SET_IN_SBITMAP.
2759         (split_edges): Rewrite, use sbitmap functions instead of bitset
2760         operations.
2761         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
2762
2763 2001-10-26  Andreas Schwab  <schwab@suse.de>
2764
2765         * reload1.c (emit_input_reload_insns): Fix parens in last
2766         (undocumented) change that was supposed to change only whitespace.
2767
2768 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2769
2770         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
2771
2772         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
2773         ASM_OPERANDS.
2774
2775 2001-10-26  Andreas Jaeger  <aj@suse.de>
2776
2777         * flow.c (clear_log_links): Remove unused variable.
2778         * cfgcleanup.c (cleanup_cfg): Likewise.
2779
2780 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
2781
2782         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
2783         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
2784
2785 2001-10-26  Richard Henderson  <rth@redhat.com>
2786
2787         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
2788         rename PV_REG to R27_REG.
2789         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
2790         (REG_CLASS_FROM_LETTER): Update.
2791         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
2792         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
2793         (udivsi3, modsi3, umodsi3): Likewise.
2794         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
2795
2796 2001-10-26  Richard Henderson  <rth@redhat.com>
2797
2798         * cfg.c (clear_aux_for_blocks): Split out of ...
2799         (free_aux_for_blocks): here.
2800         (clear_aux_for_edges): Split from ...
2801         (free_aux_for_edges): here.
2802         * basic-block.h: Declare them.
2803         * lcm.c (compute_antinout_edge): Use them.
2804         (compute_laterin, compute_available, compute_nearerout): Likewise.
2805         (optimize_mode_switching): Likewise.
2806
2807 2001-10-26  Richard Henderson  <rth@redhat.com>
2808
2809         * Makefile.in (unstage*): Remove as, ld, collect-ld before
2810         moving everything back to the main build directory.
2811
2812 2001-10-26  Christopher Faylor  <cgf@redhat.com>
2813
2814         * config/i386/cygwin.h: Search target specific include directory, if
2815         appropriate.
2816
2817 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2818
2819         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
2820         of macro guards. Fix #endif comment.
2821
2822         * output.h (default_exception_section, default_eh_frame_section):
2823         Move prototypes outside of macro guard.
2824
2825         * crtstuff.c: Fix #endif comment.
2826
2827 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
2828
2829         * doc/md.texi (movMM): Clarify semantics of storing into a
2830         non-paradoxical SUBREG.
2831
2832 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
2833
2834         * langhooks.c (lang_hook_default_clear_binding_stack): New.
2835         (lang_hook_default_get_alias_set): Move next to other alias
2836         hooks.
2837         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
2838         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
2839         (LANG_HOOKS_INITIALIZER): Add it.
2840         * toplev.h (struct lang_hooks): Add clear_binding_stack.
2841         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
2842         instead of a loop calling poplevel.
2843
2844 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
2845
2846         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
2847         occurrences of #elif with #if...#endif.
2848
2849 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2850
2851         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
2852
2853 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2854
2855         * alias.c (can_address_p): No longer static.
2856         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
2857         Return 0 if all parameters are default values.
2858         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
2859         (adjust_address_1): Try harder to compute a size.
2860         * expr.c (expand_assignment, store_constructor): If can't address,
2861         set MEM_KEEP_ALIAS_SET_P.
2862         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
2863         (store_field): Likewise.
2864         (store_constructor): Simplify call to store_constructor_field.
2865         * expr.h (can_address_p): New declaration.
2866         * gensupport.c (gen_rtx_CONST_INT): New function.
2867         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
2868         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
2869         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
2870
2871         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
2872
2873 2001-10-24  Christopher Faylor  <cgf@redhat.com>
2874
2875         * config/i386/cygwin.h: Use proper path for mingw crt files when
2876         -mno-cygwin.
2877
2878 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2879
2880         * dwarf2out.c (file_info_cmp): Always return consistent results.
2881
2882 2001-10-24  Roger Sayle <roger@eyesopen.com>
2883
2884         * stmt.c (expand_end_case): Index jumptables from zero for
2885         suitably small values of minval.
2886
2887 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
2888
2889         * stor-layout.c (place_union_field): If any field was aligned with
2890         attribute aligned, set record type's TYPE_USER_ALIGN.
2891         (place_field): Likewise.
2892         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
2893         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
2894
2895 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
2896
2897         * c-common.h (struct c_common_identifier): Remove rid_code field.
2898         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
2899
2900         * c-typeck.c (constructor_designated): New local flag.
2901         (struct constructor_stack): Add "designated" field to match.
2902         (start_init): Clear it.
2903         (really_start_incremental_init, push_init_level): Push and
2904         clear it.
2905         (pop_init_level): Pop it.
2906         (set_designator): Set it.
2907
2908         (pop_init_level): Suppress "missing initializer" warnings if
2909         constructor_designated is true.
2910         (process_init_element): Suppress warning about union
2911         initialization under traditional C, if constructor_designated
2912         is true.
2913
2914 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2915
2916         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
2917         change.
2918
2919 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
2920
2921         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
2922
2923 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
2924
2925         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
2926         the node was already a set to a constant.
2927
2928 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2929
2930         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
2931         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
2932
2933 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2934
2935         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
2936         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
2937         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
2938         * s390.c (s390_final_chunkify): Don't use string concatenation.
2939         (s390_function_prologue, s390_function_epilogue): Const-ify.
2940         * s390.h (FUNCTION_PROFILER): Remove unused variable.
2941
2942 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
2943
2944         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
2945         prototypes.
2946
2947 2001-10-23  Stan Shebs  <shebs@apple.com>
2948
2949         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
2950         -traditional-cpp in first-stage compilation.
2951
2952 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2953
2954         * gensupport.c (target_flags): Add.
2955
2956 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
2957
2958         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
2959         if needed.
2960         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
2961         * except.c (expand_builtin_frob_return_addr): Likewise.
2962         (expand_builtin_eh_return): Likewise.
2963         * stmt.c (expand_computed_goto): Likewise.
2964         * explow.c (memory_address): Likewise.
2965         (allocate_dynamic_stack_space): Clean up predicate testing.
2966         (probe_stack_range): Convert SIZE to Pmode.
2967         * calls.c (rtx_for_function_call): Only call convert_memory_address
2968         if needed.
2969         Pass function call operand as ptr_mode, not Pmode.
2970         * expr.c (expand_assignment): Clean up calls to convert_memory
2971         address by only doing so when needed and making offsets Pmode.
2972         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
2973         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
2974         is in Pmode, not ptr_mode.
2975
2976 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2977
2978         * darwin-protos.h (constructor_section, destructor_section,
2979         mod_init_section, mod_term_section): Prototype.
2980         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
2981         Const-ify.
2982         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
2983         Likewise.
2984         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
2985         objc_section_init declaration.
2986         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
2987         (objc_section_init, try_section_alias): Make static.
2988         (alias_section): Make static and hide unused function.
2989         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
2990
2991 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2992
2993         * alias.c (can_address_p): Compnonents are not addressable if
2994         the containing type has alias set 0.
2995         (get_alias_set): Rework to use STRIP_NOPS.
2996         Only call front-end routine on object, type, or object with
2997         NOPs stripped, not inner values.
2998         Use language hook to call front-end routine.
2999         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
3000         (expand_builtin_apply): Call set_mem_align on MEMs we make.
3001         Don't pass alignment to emit_block_move.
3002         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
3003         (expand_builtin_memset): Likewise, but for clear_storage.
3004         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
3005         and remove C++ specific parts.
3006         * c-common.h (c_common_get_alias_set): Add declaration.
3007         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
3008         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
3009         (save_fixed_argument_area): Call set_mem_align.
3010         Remove alignment in call to emit_block_move.
3011         (emit_library_call_value_1, store_one_arg): Likewise.
3012         (target_for_arg): Remove; disabled long ago.
3013         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
3014         once and similar cleanups.
3015         (offset_address): Use proper introductory comment.
3016         * expr.c (emit_block_move): Use alignment from that of MEM args, not
3017         from explicit operand; all callers changed.
3018         (clear_storage): Likewise.
3019         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
3020         (store_field): Remove kludge on alias set used for to_rtx.
3021         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
3022         (expand_expr_unaligned): Call set_mem_attributes instead of
3023         set_mem_alias_set.
3024         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
3025         * function.c (assign_stack_temp_for_type): Set MEM alignment.
3026         (expand_function_end): Track MEM attributes of trampolines.
3027         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
3028         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
3029         attributes from original.
3030         * langhooks.c (lang_hook_default_get_alias_set): New function.
3031         (hook_get_alias_set_0): New function.
3032         * langhooks.h (hook_get_alias_set_0): New declaration.
3033         (lang_hook_default_get_alias_set): Likewise.
3034         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
3035         * reload1.c (alter_reg): Use adjust_address_nv.
3036         * rtl.c (get_mode_alignment): Moved to here.
3037         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
3038         change default if unknown from 1 to BITS_PER_UNIT.
3039         * stor-layout.c (get_mode_alignment): Remove from here.
3040         * toplev.h (struct lang_hoks): Add get_alias_set field.
3041         * tree.h (lang_get_alias_set): Delete declaration.
3042         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
3043         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
3044         (ix86_va_arg): Likewise.
3045         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
3046         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
3047         * config/sparc/sparc.c (sparc_va_arg): Likewise.
3048         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
3049         (expand_block_move_mem): Remove dead code.
3050
3051 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
3052
3053         * c-common.c (warn_div_by_zero): New.
3054         * c-common.h (warn_div_by_zero): New.
3055         * c-decl.c (c_decode_option): Take it on the command line.
3056         * c-typeck.c (build_binary_op): Warn about division by zero.
3057         * doc/invoke.texi: Document the new command line option, fix
3058         documentation of -Wmultichar.
3059         * testsuite/gcc.dg/divbyzero.c: New tests.
3060         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
3061
3062 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
3063
3064         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
3065
3066         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
3067         to avoid update_life_info call.
3068         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
3069         * cfgcleanup.c (bb_flags): New enum.
3070         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
3071         (notice_new_block, update_forwarder_flag): New functions.
3072         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
3073         (try_forward_edges): Likewise; update flags.
3074         (merge_blocks): Likewise.
3075         (outgoing_edges_match): Likewise.
3076         (try_crossjump_to_edge): Likewise.
3077         (try_optimize_cfg): Likewise; initialize and clear the flags;
3078         recompute life info if needed.
3079         (cleanup_cfg): No need to clear aux pointers.
3080
3081 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
3082
3083         * config/i386/i386.c (override_options): Default to minimum
3084         stack alignment when optimizing for code size.
3085         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
3086         change.
3087
3088         * config/i386/i386.c (override_options): Set upper limit of
3089         -mpreferred-stack-boundary to 12.
3090
3091 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
3092
3093         * recog.c (peephole2_optimize): Add default case to switch.
3094
3095 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
3096
3097         * doc/gcc.texi (Sending Patches): Remove.
3098
3099 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
3100
3101         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
3102         fields when comparing.
3103
3104 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3105
3106         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
3107         * arm.c (HOST_INT, HOST_UINT): Likewise.
3108
3109 2001-10-22  Stan Shebs  <shebs@apple.com>
3110
3111         * config/darwin-protos.h (darwin_exception_section): Declare.
3112         (darwin_eh_frame_section): Declare.
3113
3114 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
3115
3116         * i386.md (movti_rex64): Fix mode.
3117
3118 2001-10-22  Stan Shebs  <shebs@apple.com>
3119
3120         * target.h (struct gcc_target): Add asm_out.exception_section,
3121         asm_out.eh_frame_section.
3122         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
3123         (TARGET_ASM_EH_FRAME_SECTION): New.
3124         (TARGET_INITIALIZER): Update.
3125         * output.h (default_exception_section): Declare.
3126         (default_eh_frame_section): Declare.
3127         * dwarf2out.c: Include target.h.
3128         (output_call_frame_info): Call target hook for eh frames.
3129         (default_eh_frame_section): New function.
3130         * except.c: Include target.h.
3131         (output_function_exception_table): Call target hook for exception
3132         section.
3133         * varasm.c (default_exception_section): Rename from
3134         exception_section, remove EXCEPTION_SECTION macro.
3135
3136         * config/darwin.h (darwin_eh_frame_section): New function.
3137         (EXCEPTION_SECTION): Remove.
3138         (TARGET_ASM_EXCEPTION_SECTION): Define.
3139         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
3140         (nextstep_exception_section): New function.
3141         (nextstep_eh_frame_section): New function.
3142         (TARGET_ASM_EXCEPTION_SECTION): Define.
3143         (TARGET_ASM_EH_FRAME_SECTION): Define.
3144
3145         * config/pa/som.h (EXCEPTION_SECTION): Remove.
3146         (TARGET_ASM_EXCEPTION_SECTION): Define.
3147         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
3148         (EXCEPTION_SECTION): Remove.
3149         (TARGET_ASM_EXCEPTION_SECTION): Define.
3150         * config/stormy16/stormy16.h: Remove comments referencing
3151         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
3152
3153         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
3154         TARGET_ASM_EH_FRAME_SECTION.
3155
3156 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
3157
3158         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
3159         terms.
3160
3161         * c-format.c: Fix spelling typo in comment.
3162
3163         * sched-int.h: Fix typo in GCC preamble.
3164
3165 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3166
3167         PR debug/4252
3168         * doc/invoke.texi: Remove references to -fdump-translation-unit.
3169
3170 2001-10-22  Richard Henderson  <rth@redhat.com>
3171
3172         * config/i386/i386.c (ix86_expand_clear): New.
3173         * config/i386/i386-protos.h: Declare it.
3174         * config/i386/i386.md (setcc peep2s): Use it.
3175         (movsi_xor): Unexport.
3176
3177 2001-10-22  Richard Henderson  <rth@redhat.com>
3178
3179         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
3180         free_EXPR_LIST_list for LOG_LINKS.
3181
3182 2001-10-21  Robert Lipe  <robertlipe@usa.net>
3183
3184         * config/i386/i386.c (sco_asm_named_section): Delete.
3185         (sco_asm_out_constructor): Delete.
3186         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
3187         (ASM_OUTPUT_DOUBLE_INT): Likewise.
3188         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
3189         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
3190         (EXCEPTION_SECTION): Delete EH scn renaming hack.
3191
3192 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3193
3194         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
3195         and/or fold extra calls into fewer ones.
3196         * collect2.c (dump_file): Likewise.
3197         * cppexp.c (parse_number): Likewise.
3198         * cpplex.c (_cpp_lex_direct): Likewise.
3199         * final.c (output_asm_insn, asm_fprintf): Likewise.
3200         * fix-header.c (inf_scan_ident, main): Likewise.
3201         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
3202         Likewise.
3203         * fold-const.c (real_hex_to_f): Likewise.
3204         * gen-protos.c (parse_fn_proto): Likewise.
3205         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
3206         * genrecog.c (change_state, write_action): Likewise.
3207         * gensupport.c (shift_output_template): Likewise.
3208         * local-alloc.c (requires_inout): Likewise.
3209         * mips-tfile.c (IS_ASM_IDENT): Likewise.
3210         * protoize.c (is_id_char, main): Likewise.
3211         * real.c (asctoeg): Likewise.
3212         * recog.c (asm_operand_ok): Likewise.
3213         * reload.c (find_reloads): Likewise.
3214         * scan.c (scan_identget_token): Likewise.
3215         * sched-vis.c (print_value): Likewise.
3216         * stringpool.c (ggc_alloc_string): Likewise.
3217         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
3218         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
3219         * tradcpp.c (rescan): Likewise.
3220         * tree.c (clean_symbol_name): Likewise.
3221         * varasm.c (decode_reg_name): Likewise.
3222
3223         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
3224         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
3225         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
3226         * m88k.c (output_ascii): Likewise.
3227         * m88k.h (OVERRIDE_OPTIONS): Likewise.
3228         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
3229         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
3230         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
3231
3232 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
3233
3234         * langhooks.c (lang_hook_default_do_nothing,
3235         lang_hook_default_decode_option): New defaults.
3236         * langhooks.h: Make hooks unconditional and non-NULL.
3237         * toplev.c (compile_file, toplev_main): Update.
3238         * toplev.h: Update comments.
3239         * objc/objc-act.c (lang_hooks): Update to new paradigm.
3240
3241 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3242
3243         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
3244
3245         * system.h (IN_RANGE): New macro.
3246
3247 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
3248
3249         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
3250         INTLDEPS variable, which does not include $LIBICONV.
3251         * Makefile.in: Use INTLDEPS in LIBDEPS.
3252         * configure: Regenerate.
3253
3254 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
3255
3256         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
3257         * cpplex.c (lex_percent, lex_dot): Remove.
3258         (get_effective_char, skip_block_comment, skip_line_comment,
3259         parse_identifier_slow, parse_number, parse_string, save_comment,
3260         _cpp_lex_direct): Update to do lookback freely.
3261         (IF_NEXT_IS, BACKUP): New macros.
3262         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
3263         * cppmacro.c (paste_tokens): Update.
3264
3265 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
3266
3267         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
3268
3269 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
3270
3271         * reload1.c (reload): Check CONSTANT_P before calling
3272         LEGITIMATE_PIC_OPERAND_P.
3273         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
3274         workaround of 2001-10-13.
3275
3276 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
3277
3278         * i386.c (split_di): Handle splitting of DFmode.
3279
3280 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3281
3282         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
3283         (adjust_address_1, offset_address): Likewise.
3284
3285         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
3286         (output_asm_insn): Call it for each line output.
3287         Don't record an operand more than once.
3288
3289         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
3290         * main.c: Include config.h and system.h, but not ansidecl.h.
3291         * Makefile.in (main.o): Update accordingly.
3292
3293 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
3294
3295         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
3296
3297 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
3298
3299         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
3300         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
3301         Break out from ...
3302         (find_sub_basic_blocks): ... here;
3303         (find_many_sub_basic_blocks): New.
3304         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
3305
3306         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
3307
3308         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
3309
3310         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
3311
3312         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
3313         * flow.c (update_life_info): Measure time.
3314         * c-decl.c: Include timevar.h
3315         (c_expand_body): Measure time.
3316         * toplev.c (rest_of_compilation): Measure time of mode switching
3317         separately.
3318         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
3319
3320         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
3321         (lang_independent_options): Add asynchronous-unwind-tables
3322         (toplev_main): flag_asynchronous_unwind_tables implies
3323         flag_unwind_tables.
3324         * flags.h (flag_asynchronous_unwind_tables): Declare.
3325         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
3326         flag_asynchronous_unwind_tables.
3327         (output_call_frame_info): Likewise.
3328         * invoke.texi (-fasynchronous-unwind-tables): Document.
3329         * i386.c (optimization_options): Enable
3330         flag_asynchronous_unwind_tables.
3331
3332         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
3333         * i386.md (s* expanders): Destination is QImode.
3334
3335         * toplev.c (rest_of_compilation): Do not call clear_log_links.
3336         * rtl.h (clear_log_links): Kill.
3337         * flow.c (clear_log_links): Make static; accept blocks parameter;
3338         do no clear life info.
3339         (update_life_info): Call clear_log_links.
3340
3341         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
3342
3343 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
3344
3345         * cpplex.c (handle_newline, skip_escaped_newlines,
3346         get_effective_char, skip_block_comment, skip_line_comment,
3347         parse_identifier_slow, parse_number, parse_string,
3348         _cpp_lex_direct): Update to do more stepping back.
3349         (trigraph_ok): Similarly.  Rename trigraph_p.
3350         (SAVE_STATE, RESTORE_STATE): Remove.
3351         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
3352
3353         * cpplib.c (destringize): Rename destringize_and_run, and
3354         call run_directive directly.
3355         (_cpp_do__Pragma): Simplify.
3356
3357 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3358
3359         * pe.c (arm_pe_unique_section): Const-ify.
3360         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
3361         (switch_to_section): Add static prototype.
3362
3363         * output.h (drectve_section): Prototype.
3364
3365 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3366
3367         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
3368         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
3369         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
3370         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
3371         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
3372         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
3373         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
3374         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
3375         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
3376         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
3377         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
3378         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
3379         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
3380         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
3381         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
3382         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
3383         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
3384         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
3385         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
3386         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
3387         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
3388         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
3389         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
3390         cris-*-none, cris-*-linux*: Update ${tmfile} list.
3391         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
3392         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
3393         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
3394         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
3395         v850-*-*): Delete superflous ${cpu_type} setting.
3396         * config/linux.h: Delete svr4.h include.
3397         (SET_ASM_OP): Delete.
3398         * config/netware.h (INT_ASM_OP): Undef before define.
3399         * config/ptx4.h: Delete elfos.h include.
3400         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
3401         * config/svr4.h: Delete elfos.h include. Update commentary.
3402         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
3403         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
3404         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
3405         config/v850/v850.h: Delete svr4.h include.
3406         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
3407         config/m68k/m68kv4.h, config/m88k/sysv4.h,
3408         config/sparc/sysv4.h: Update includes.
3409         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
3410         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
3411         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
3412         config/m88k/dguxbcs.h: Delete includes.
3413         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
3414         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
3415         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
3416         it.
3417         * config/m88k/dgux.h: Delete include.
3418         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
3419         defining it.
3420         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
3421         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
3422         * config/sh/elf.h: Update include.
3423         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
3424         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
3425
3426 2001-10-19  Catherine Moore  <clm@redhat.com>
3427
3428         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
3429         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
3430         base and count fields.
3431         (stormy16_expand_builtin_va_start):  last_reg_count changed to
3432         size_of_reg_args.  Use count + size in first comparison.
3433
3434 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3435
3436         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
3437         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
3438         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
3439         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
3440         Set alignment from type if INDIRECT_REF.
3441         (adjust_address_1, offset_address): Simplify alignment compuitation.
3442         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
3443         here; done by set_mem_attributes.
3444
3445 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3446
3447         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
3448         * arm-protos.h (rdata_section, zero_init_section, common_section):
3449         Prototype.
3450         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
3451         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
3452         traditional mode stringification.
3453         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
3454         in macros controling its use.
3455         * rtlanal.c: Include tm_p.h.
3456         * varasm.c (asm_output_aligned_bss): Mark parameter with
3457         ATTRIBUTE_UNUSED.
3458         (assemble_constant_align, assemble_start_function, assemble_align,
3459         assemble_variable, assemble_trampoline_template,
3460         output_constant_def_contents): Wrap potentially empty if-stmt body
3461         in brackets.
3462
3463 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3464
3465         * a29k-protos.h (literal_section): Prototype.
3466         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
3467         * a29k.md: Ensure function pointers are prototyped.
3468         * genattrtab.c (write_eligible_delay): Mark parameter with
3469         ATTRIBUTE_UNUSED.
3470
3471 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3472
3473         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
3474         * 1750a.c (print_operand): Fix format specifier warning.
3475         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
3476         * 1750a.md: Likewise.
3477         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
3478         * genemit.c (output_add_clobbers): Mark parameter with
3479         ATTRIBUTE_UNUSED.
3480         * genrecog.c (write_subroutine): Likewise.
3481         * integrate.c (expand_inline_function): Delete unused variable.
3482         * varasm.c (remove_from_pending_weak_list): Wrap with
3483         ASM_WEAKEN_LABEL.
3484
3485 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
3486
3487         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
3488         field is different to previous argument's neg field.
3489
3490         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
3491
3492 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3493
3494         * final.c (get_decl_from_op): New function.
3495         (output_asm_insn): Call it; write "*" when item with decl is address.
3496
3497 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
3498
3499         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
3500         about 64-bit support from the 3.0_branch version.
3501
3502 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
3503
3504         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
3505         USE_INCLUDED_LIBINTL when appropriate.
3506         * configure, config.in: Regenerate.
3507         * Makefile.in (datadir): Set to @datadir@.
3508         (intl.o): Also depend on $(CONFIG_H) and system.h.
3509
3510         * intl.c: Factor out common gettext initialization sequence.
3511         (gcc_init_libintl):  New function.
3512         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
3513         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
3514         off NLS.  Add multiple include guard.  No need to #ifdef-guard
3515         an #undef.  Prototype gcc_init_libintl here.
3516
3517         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
3518         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
3519         Use gcc_init_libintl.
3520
3521 2001-10-19  Catherine Moore  <clm@redhat.com>
3522
3523         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
3524
3525         * config/stormy16/stormy16.c (stormy16_split_move):  Make
3526         sure that REG_INC notes are present for auto_inc operands.
3527
3528 2001-10-19  Andreas Jaeger  <aj@suse.de>
3529
3530         * configure: Regenerated.
3531         * configure.in: Add x86_64 to switch statements.
3532
3533 2001-10-18  Richard Henderson  <rth@redhat.com>
3534
3535         * config/alpha/alpha.md (sibcall_osf_1): Load destination
3536         address into $27 explicitly.
3537         (sibcall_value_osf_1): Likewise.
3538
3539 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3540
3541         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
3542         (offset_address): New function.
3543         (free_emit_status): Free regno_decl.
3544         (init_emit): Pass proper number of elements to xcalloc.
3545         Allocate regno_decl.
3546         (mark_emit_status): Mark regno_decl values.
3547         * expr.c (highest_pow2_factor): New function.
3548         (expand_assigment): Use it and offset_address.
3549         Properly handle ptr_mode vs. Pmode in offset calculation.
3550         (store_constructor, expand_expr_unaligned): Likewise.
3551         (expand_expr, case COMPONENT_EXPR): Likewise.
3552         * expr.h (offset_address): New decl.
3553         * function.h (struct emit_status): Add regno_decl.
3554         (REGNO_DECL): New macro.
3555         * final.c (output_asm_name): Move in file and don't conditionalize
3556         on flag_print_asm_name.
3557         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
3558         Output names of operands, if known.
3559         * function.c (assign_parms): Set REGNO_DECL.
3560         * integrate.c (integrate_decl_tree): Likewise.
3561         * stmt.c (expand_decl): Likewise.
3562         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
3563
3564 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
3565
3566         * attribs.c (handle_noinline_attribute): New function.
3567         (handle_used_attribute): Likewise.
3568         (c_common_attribute_table): Added noinline and used.
3569         * doc/extend.texi (Function Attributes): Document them.
3570         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
3571         Warn when merging inline with attribute noinline.
3572         (start_decl, start_function): Warn if inline and attribute
3573         noinline appear in the same declaration.
3574
3575 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
3576
3577         * config.gcc: Update c4x and i370 for C front end-specific
3578         dependencies.
3579         * config/c4x/c4x-c.c: New.
3580         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
3581         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
3582         New declarations.
3583         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
3584         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
3585         Make extern.
3586         (c4x_init_pragma): Remove.
3587         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
3588         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
3589         c4x_pr_ignored): Move to c4x-c.c.
3590         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
3591         * config/c4x/t-c4x: Update.
3592         * config/i370/i370-c.c: New.
3593         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
3594         (i370_pr_map): Move to i370-c.c.
3595         * config/i370/t-i370: New.
3596
3597         * doc/tm.texi: Update.
3598
3599 2001-10-17  Stan Shebs  <shebs@apple.com>
3600
3601         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
3602         typo fixes throughout.
3603         (machopic_output_stub): Remove some dead code.
3604
3605 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
3606
3607         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
3608         leak.
3609
3610 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3611
3612         * Makefile.in (print-rtl.o): Depend on TREE_H.
3613         * alias.c (get_alias_set): Make two passes over objects to first
3614         see if inner object is access via restricted pointer.
3615         Defer allocating alias set for restricted pointer until here.
3616         Call find_placeholder with second arg nonzero.
3617         Minor cleanups.
3618         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
3619         set for restricted pointer types.
3620         * emit-rtl.c (set_mem_attributes): Set more attributes.
3621         (set_mem_align, change_address, adjust_address_1): New functions.
3622         (change_address_1): Now static.
3623         (adjust_address, adjust_address_nv): Deleted.
3624         (replace_equiv_address): Call change_address_1.
3625         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
3626         (find_placeholder): Get starting point from PLIST arg.
3627         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
3628         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
3629         (adjust_address, adjust_address_nv): New macros.
3630         * print-rtl.c (tree.h): New include.
3631         (print_rtx, case MEM): Print all memory attributes.
3632
3633 2001-10-17  Richard Henderson  <rth@redhat.com>
3634
3635         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
3636
3637 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
3638
3639         * c-tree.texi: Eliminate duplicated word.
3640         * cpp.texi: Likewise.
3641         * install.texi: Likewise.
3642         * invoke.texi: Likewise.
3643         * tm.texi: Likewise.
3644
3645 2001-10-17  Michael Collison  <collison@isisinc.net>
3646
3647         * dsp16xx.c: Fix comment formatting to match GNU standards.
3648         (dsp16xx_output_function_prologue): Change type of 'size'
3649         parameter from 'int' to HOST_WIDE_INT.
3650         (dsp16xx_output_function_epilogue): Change type of 'size'
3651         parameter from 'int' to HOST_WIDE_INT.
3652
3653 2001-10-16  Richard Henderson  <rth@redhat.com>
3654
3655         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
3656         * configure, config.in: Rebuild.
3657
3658         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
3659         (ix86_output_addr_diff_elt): New.
3660         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
3661         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
3662         (JUMP_TABLES_IN_TEXT_SECTION): New.
3663         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
3664         * config/i386/i386-protos.h: Update.
3665
3666         * config/i386/386bsd.h, config/i386/beos-elf.h,
3667         config/i386/freebsd-aout.h, config/i386/freebsd.h,
3668         config/i386/i386-interix.h, config/i386/i386elf.h,
3669         config/i386/linux.h, config/i386/netbsd-elf.h,
3670         config/i386/netbsd.h, config/i386/openbsd.h,
3671         config/i386/ptx4-i.h, config/i386/rtemself.h,
3672         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
3673         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
3674
3675 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
3676
3677         * stmt.c (expand_asm_operands): Update commentary.
3678
3679 2001-10-16  Stan Shebs  <shebs@apple.com>
3680
3681         * config/darwin.h (GCC_NAME): Remove, no longer used.
3682         (NO_MATH_LIBRARY): Ditto.
3683         (MATH_LIBRARY): Define to emptiness.
3684         (DWARF2_DEBUGGING_INFO): Define.
3685         (PREFERRED_DEBUGGING_TYPE): Define.
3686         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
3687         (EXCEPTION_SECTION): Define.
3688         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3689         * config/darwin.c (darwin_encode_section_info): Handle case of
3690         DECL_INITIAL being error_mark_node.
3691
3692 2001-10-16  Richard Henderson  <rth@redhat.com>
3693
3694         * alpha.c (current_file_function_operand): Don't fail for profiling.
3695         (direct_call_operand): New.
3696         * alpha-protos.h: Declare it.
3697         * alpha.h (EXTRA_CONSTRAINT): Use it.
3698         (PREDICATE_CODES): Add it.
3699         (ASM_OUTPUT_MI_THUNK): Remove.
3700         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
3701         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
3702
3703 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
3704
3705         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
3706         (JUMP_TABLES_IN_TEXT_SECTION): Define.
3707
3708 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
3709
3710         * cfg.c (free_edge): Break out from ....
3711         (remove_edge): ... here.
3712         (clear_edges): Use free_edge.
3713
3714         * att.h (ASM_QUAD): Add comment.
3715         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
3716
3717 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
3718
3719         * i386.c (split_ti): New function.
3720         (ix86_split_to_parts): Support TImodes.
3721         * i386.h (VALID_INT_MODE_P): Add TImode.
3722         * i386.md (movdi splitter): Fix.
3723         (movti): Support 64bit integer registers.
3724         (movti_rex64): New function and splitter.
3725
3726         * i386.c (*_cost): Add movsx/movzx cost.
3727         * i386.h (struct processor_costs): Add movsx/movzx fields.
3728         (RTX_COSTS): Handle zero/sign extend + avoid believing that
3729         64bit operations require split on 64bit machine.
3730         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
3731
3732         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
3733         (ix86_expand_move): Avoid pushes of memory if size does not match;
3734         move long constants to register.
3735         (x86_initialize_trampoline): Fix mode.
3736         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
3737         Use ASM_QUAD on 64bit.
3738         * i386.md (test pattern): Disallow impossible constants.
3739         (tablejump PIC expander): Fix emitting of sum.
3740         (movdicc_rex64): Rename to movdicc.
3741         * linux64.h (LINK_SPEC): Add missing '%'.
3742
3743 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
3744
3745         * tree-inline.c (inlinable_function_p): Leave it up to the
3746         front-end to turn -finline-functions into DECL_INLINE set for all
3747         functions.
3748
3749 2001-10-16  Stan Shebs  <shebs@apple.com>
3750
3751         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
3752
3753 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
3754
3755         * recog.c: Formatting and comment typo fixes.
3756
3757         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
3758         version in single tree build.
3759         * configure: Regenerate.
3760
3761 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
3762
3763         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
3764         MODE arguments to gen_rtx and compare operand with const0_rtx.
3765
3766 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
3767
3768         * system.h: Poison old unused target macros.
3769         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
3770         * config/stormy16/stormy16.c: Update references to obsolete macros.
3771         * config/stormy16/stormy16.h: Similarly.
3772         * config/stormy16/stormy16.md: Similarly.
3773         * config/cris/cris.h: Similarly.
3774
3775 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
3776
3777         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
3778         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
3779         cpp_register_pragma): Update accordingly.
3780
3781 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
3782
3783         * c-pragma.h (cpp_register_pragma_space): Remove.
3784         * cpplib.h (cpp_register_pragma_space): Remove.
3785         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
3786         (cpp_register_pragma_space): Remove.
3787         (cpp_register_pragma): Simplify using lookup_pragma_entry,
3788         add sanity checks.
3789         (do_pragma): Similarly.
3790         (_cpp_init_internal_pragmas): Don't register namespaces.
3791
3792         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
3793         Don't register namespaces.
3794         * cp/lex.c (init_cp_pragma): Similarly.
3795         * doc/tm.texi: Update.
3796
3797 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3798
3799         PR c/4157
3800         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
3801
3802 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
3803
3804         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
3805         add scheduling support.
3806         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
3807         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
3808         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
3809
3810
3811 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
3812
3813         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
3814         missing CONSTANT_P test in core GCC.
3815
3816 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
3817
3818         * cppmain.c (struct printer): New member source.
3819         (scan_translation_unit): Fix spacing at start of lines.
3820         (cb_line_change): Update.
3821
3822         * gcc.dg/cpp/spacing2.c: New test.
3823
3824 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
3825
3826         * config/cris/arit.c: Use __builtin_labs, not abs.
3827
3828         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
3829
3830         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
3831         misplaced sprintf and fprintf argument.
3832
3833 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
3834
3835         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
3836         * configure.in, Makefile.in: Take out obsolete check-po logic.
3837         * configure, config.in: Regenerate.
3838
3839 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
3840
3841         * objc/objc-act.c (finish_objc): Correct precondition for emitting
3842         symtab declarations.
3843
3844 2001-10-12  Stan Shebs  <shebs@apple.com>
3845
3846         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
3847         declarations of arguments and local variables.
3848
3849 2001-10-12  Christopher Faylor  <cgf@redhat.com>
3850
3851         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
3852         ENDFILE_SPEC definition.
3853
3854 2001-10-12  Kazu Hirata  <kazu@hxi.com>
3855
3856         * gthr-dce.h: Fix comment formatting.
3857         * gthr-posix.h: Likewise.
3858         * gthr-single.h: Likewise.
3859         * gthr-solaris.h: Likewise.
3860         * gthr-vxworks.h: Likewise.
3861         * gthr-win32.h: Likewise.
3862
3863 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
3864
3865         * final.c (output_asm_insn): Make sure assembly dialects are
3866         terminated, not nested.  Output `|' and `}' characters if they
3867         don't appear inside assembly dialect selection.
3868         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
3869         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
3870         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
3871         strsetsi_rex_1): Add {} braces.
3872
3873 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
3874
3875         * toplev.c (compile_file): Ignore return value from yyparse.
3876         Always pop any nested binding levels after yyparse returns.
3877
3878 2001-10-11  Richard Henderson  <rth@redhat.com>
3879
3880         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
3881
3882 2001-10-11  Richard Henderson  <rth@redhat.com>
3883
3884         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
3885         fall back to add_AT_long_long for large CONST_INT.
3886
3887 2001-10-11  Richard Henderson  <rth@redhat.com>
3888
3889         * config/i386/i386.md (setcc splitters): Add four splitters to
3890         simplify compound compares that simplify_comparison can't handle.
3891
3892 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
3893
3894         * cpplex.c (digraph_spellings, token_spellings): Make static.
3895
3896 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3897
3898         * unroll.c (loop_iterations): Fixup last patch.
3899
3900 2001-10-11  Richard Henderson  <rth@redhat.com>
3901
3902         * rtl.h (REG_VTABLE_REF): New.
3903         * rtl.c (reg_note_name): Add it.
3904         * combine.c (distribute_notes): Handle it.
3905         * final.c (final_scan_insn): Handle it.
3906         * tree.def (VTABLE_REF): New.
3907         * expr.c (expand_expr): Handle it.
3908         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
3909         * output.h: Declare them.
3910
3911 2001-10-11  Richard Henderson  <rth@redhat.com>
3912
3913         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
3914         for a DECL_INITIAL.
3915
3916 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
3917
3918         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
3919         available in 64-bit mode.
3920
3921 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
3922
3923         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
3924         cris-*-linux* cases.
3925         * config/cris/cris-protos.h: New file.
3926         * config/cris/cris.c: New file.
3927         * config/cris/cris.h: New file.
3928         * config/cris/cris.md: New file.
3929         * config/cris/linux.h: New file.
3930         * config/cris/aout.h: New file.
3931         * config/cris/arit.c: New file.
3932         * config/cris/cris_abi_symbol.c: New file.
3933         * config/cris/mulsi3.asm: New file.
3934         * config/cris/t-aout: New file.
3935         * config/cris/t-cris: New file.
3936         * config/cris/t-elfmulti: New file.
3937         * config/cris/t-linux: New file.
3938         * doc/invoke.texi: Add CRIS options.
3939         * doc/install.texi (Specific): Add blurb for CRIS.
3940
3941 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
3942
3943         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
3944         before using it.
3945         * config/float/i32.h: Likewise.
3946         * config/float-i386.h: Likewise.
3947         * config/float-i64.h: Likewise.
3948         * config/float-m68k.h: Likewise.
3949         * config/float-sh.h: Likewise.
3950         * config/float-sparc.h: Likewise.
3951
3952 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
3953
3954         * doc/contrib.texi: Add note about CRIS port to my entry.
3955
3956 2001-10-11  Kazu Hirata  <kazu@hxi.com>
3957
3958         * basic-block.h: Fix formatting.
3959         * bitmap.h: Likewise.
3960         * cpplib.h: Likewise.
3961         * c-tree.h: Likewise.
3962         * diagnostic.h: Likewise.
3963         * flags.h: Likewise.
3964         * ggc.h: Likewise.
3965         * longlong.h: Likewise.
3966         * real.h: Likewise.
3967         * reload.h: Likewise.
3968         * rtl.h: Likewise.
3969         * tree.h: Likewise.
3970
3971 2001-10-10  Richard Henderson  <rth@redhat.com>
3972
3973         * c-parse.in (asm_operand): Allow named operands.
3974         * genconfig.c (max_recog_operands): Set to 29.
3975         * local-alloc.c (requires_inout): Skip multiple digits.
3976         * recog.c (asm_operand_ok): Likewise.
3977         (preprocess_constraints): Use strtoul for matching constraints.
3978         (constrain_operands): Likewise.
3979         * regmove.c (find_matches): Likewise.
3980         * reload.c (find_reloads): Likewise.
3981         * stmt.c (parse_output_constraint): Don't reject in-out
3982         constraint on operands > 9.  Reject '[' in constraint.
3983         (expand_asm_operands): Handle named operands.  Use strtoul
3984         for matching constraints.
3985         (check_operand_nalternatives): Split out from expand_asm_operands.
3986         (check_unique_operand_names): New.
3987         (resolve_operand_names, resolve_operand_name_1): New.
3988
3989         * doc/extend.texi (Extended Asm): Document named operands.
3990         * doc/md.texi (Simple Constraints): Document matching constraints
3991         on operands > 9.
3992
3993 2001-10-10  Richard Henderson  <rth@redhat.com>
3994
3995         * combine.c (try_combine): Handle a SEQUENCE of one insn.
3996
3997         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
3998         (jcc splitters): Add two splitters to simplify compound compares
3999         that simplify_comparison can't handle.
4000
4001 2001-10-10  Richard Henderson  <rth@redhat.com>
4002
4003         * langhooks.c: Include langhooks.h.
4004         * Makefile.in (langhooks.o): Depend on it.
4005
4006 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
4007
4008         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
4009         should not be considered as a no-op.
4010         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
4011
4012 2001-10-10  Stan Shebs  <shebs@apple.com>
4013
4014         * alias.c: Remove uses of "register" specifier in declarations
4015         of arguments and local variables.
4016         * c-common.c: Ditto.
4017         * c-convert.c: Ditto.
4018         * c-decl.c: Ditto.
4019         * c-format.c: Ditto.
4020         * c-semantics.c: Ditto.
4021         * c-typeck.c: Ditto.
4022         * caller-save.c: Ditto.
4023         * calls.c: Ditto.
4024         * cfg.c: Ditto.
4025         * cfgbuild.c: Ditto.
4026         * cfgrtl.c: Ditto.
4027         * collect2.c: Ditto.
4028         * combine.c: Ditto.
4029         * convert.c: Ditto.
4030         * cppexp.c: Ditto.
4031         * cppfiles.c: Ditto.
4032         * cse.c: Ditto.
4033         * dbxout.c: Ditto.
4034         * defaults.h: Ditto.
4035         * df.c: Ditto.
4036         * dwarf2out.c: Ditto.
4037         * dwarfout.c: Ditto.
4038         * emit-rtl.c: Ditto.
4039         * explow.c: Ditto.
4040         * expmed.c: Ditto.
4041         * expr.c: Ditto.
4042         * final.c: Ditto.
4043         * fix-header.c: Ditto.
4044         * floatlib.c: Ditto.
4045         * flow.c: Ditto.
4046         * fold-const.c: Ditto.
4047         * function.c: Ditto.
4048         * gcc.c: Ditto.
4049         * gcse.c: Ditto.
4050         * gen-protos.c: Ditto.
4051         * genattrtab.c: Ditto.
4052         * gencheck.c: Ditto.
4053         * genconfig.c: Ditto.
4054         * genemit.c: Ditto.
4055         * genextract.c: Ditto.
4056         * genflags.c: Ditto.
4057         * gengenrtl.c: Ditto.
4058         * genoutput.c: Ditto.
4059         * genpeep.c: Ditto.
4060         * genrecog.c: Ditto.
4061         * gensupport.c: Ditto.
4062         * global.c: Ditto.
4063         * gmon.c: Ditto.
4064         * graph.c: Ditto.
4065         * haifa-sched.c: Ditto.
4066         * hard-reg-set.h: Ditto.
4067         * hash.c: Ditto.
4068         * integrate.c: Ditto.
4069         * jump.c: Ditto.
4070         * lists.c: Ditto.
4071         * local-alloc.c: Ditto.
4072         * loop.c: Ditto.
4073         * mips-tdump.c: Ditto.
4074         * mips-tfile.c: Ditto.
4075         * optabs.c: Ditto.
4076         * prefix.c: Ditto.
4077         * print-rtl.c: Ditto.
4078         * read-rtl.c: Ditto.
4079         * real.c: Ditto.
4080         * recog.c: Ditto.
4081         * reg-stack.c: Ditto.
4082         * regclass.c: Ditto.
4083         * regmove.c: Ditto.
4084         * reload.c: Ditto.
4085         * reload1.c: Ditto.
4086         * reorg.c: Ditto.
4087         * resource.c: Ditto.
4088         * rtl.c: Ditto.
4089         * rtlanal.c: Ditto.
4090         * scan.c: Ditto.
4091         * sched-deps.c: Ditto.
4092         * sched-rgn.c: Ditto.
4093         * sdbout.c: Ditto.
4094         * simplify-rtx.c: Ditto.
4095         * stmt.c: Ditto.
4096         * stor-layout.c: Ditto.
4097         * toplev.c: Ditto.
4098         * tradcif.y: Ditto.
4099         * tradcpp.c: Ditto.
4100         * tree.c: Ditto.
4101         * unroll.c: Ditto.
4102         * varasm.c: Ditto.
4103         * xcoffout.c: Ditto.
4104
4105 2001-10-10  Richard Henderson  <rth@redhat.com>
4106
4107         * rtl.h (can_reverse_comparison_p): Remove.
4108
4109 2001-10-10  Christopher Faylor <cgf@redhat.com>
4110
4111         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
4112         used.
4113
4114 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
4115
4116         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
4117         (Thanks to Chris Faylor for suggesting macro name).
4118         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
4119         WIN32 defines.
4120         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
4121         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
4122         (MATH_LIBRARY): Undef before definition.
4123         (OUTPUT_QUOTED_STRING): Likewise.
4124         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
4125
4126 2001-10-10  Richard Henderson  <rth@redhat.com>
4127
4128         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
4129         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
4130         a tristate comparison value.
4131         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
4132
4133 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4134
4135         PR c++/4512
4136         * unroll.c (loop_iterations): Ignore insns generated by loop
4137         unrolling.
4138
4139         * config.gcc (mips*-*-gnu*): Delete support.
4140         * config/mips/gnu.h: Remove.
4141
4142 2001-10-10  Kazu Hirata  <kazu@hxi.com>
4143
4144         * calls.c: Fix formatting.
4145         * c-decl.c: Likewise.
4146         * cfgcleanup.c: Likewise.
4147         * combine.c: Likewise.
4148         * cppfiles.c: Likewise.
4149         * cpplib.c: Likewise.
4150         * cppmacro.c: Likewise.
4151         * crtstuff.c: Likewise.
4152         * cse.c: Likewise.
4153         * dwarf2out.c: Likewise.
4154         * expmed.c: Likewise.
4155         * expr.c: Likewise.
4156         * fold-const.c: Likewise.
4157         * function.c: Likewise.
4158         * gcse.c: Likewise.
4159         * genattrtab.c: Likewise.
4160         * ggc-page.c: Likewise.
4161         * integrate.c: Likewise.
4162         * libgcc2.c: Likewise.
4163         * loop.c: Likewise.
4164         * optabs.c: Likewise.
4165         * profile.c: Likewise.
4166         * protoize.c: Likewise.
4167         * real.c: Likewise.
4168         * recog.c: Likewise.
4169         * reload1.c: Likewise.
4170         * reload.c: Likewise.
4171         * reorg.c: Likewise.
4172         * resource.c: Likewise.
4173         * sched-rgn.c: Likewise.
4174         * sdbout.c: Likewise.
4175         * stmt.c: Likewise.
4176         * toplev.c: Likewise.
4177         * varasm.c: Likewise.
4178
4179 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
4180
4181         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
4182         * Makefile.in (langhooks.o): Add dependencies.
4183
4184 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
4185
4186         * rs6000.c (rs6000_emit_load_toc_table): Don't
4187         strdup the toc label.
4188         (create_TOC_reference): Likewise.
4189
4190 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
4191
4192         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
4193         version default.
4194
4195 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
4196
4197         * config/i386/i386.c (ix86_attribute_table): Correct
4198         min_len, max_len fields for dllimport, dllexport and shared.
4199
4200 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
4201
4202         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
4203         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
4204         Consistently use "nonzero" instead of "non-zero".
4205
4206 2001-10-09  Kazu Hirata  <kazu@hxi.com>
4207
4208         * acconfig.h: Fix comment formatting.
4209         * c-dump.h: Likewise.
4210         * c-tree.h: Likewise.
4211         * conditions.h: Likewise.
4212         * expr.h: Likewise.
4213         * function.h: Likewise.
4214         * gthr.h: Likewise.
4215         * hwint.h: Likewise.
4216         * integrate.h: Likewise.
4217         * intl.h: Likewise.
4218         * loop.h: Likewise.
4219         * optabs.h: Likewise.
4220
4221 2001-10-09  Kazu Hirata  <kazu@hxi.com>
4222
4223         * c-common.h: Fix comment formatting.
4224         * c-dump.c: Likewise.
4225         * cfg.c: Likewise.
4226         * diagnostic.h: Likewise.
4227         * except.c: Likewise.
4228         * gcc.h: Likewise.
4229         * gcov-io.h: Likewise.
4230         * genattrtab.c: Likewise.
4231         * output.h: Likewise.
4232         * predict.h: Likewise.
4233         * reload1.c: Likewise.
4234         * reload.h: Likewise.
4235         * resource.h: Likewise.
4236         * scan.h: Likewise.
4237         * system.h: Likewise.
4238         * tree.h: Likewise.
4239         * tree-inline.c: Likewise.
4240         * tsystem.h: Likewise.
4241         * varasm.c: Likewise.
4242         * xcoffout.h: Likewise.
4243
4244 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
4245
4246         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
4247
4248 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
4249
4250         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
4251         config/i386/i386elf.h, config/i386/netbsd-elf.h,
4252         config/i386/netware.h, config/mcore/gfloat.h,
4253         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
4254         config/netware.h, gccbug.in: Update FSF address.
4255
4256 2001-10-09  Kazu Hirata  <kazu@hxi.com>
4257
4258         * c-common.c: Fix comment typos.
4259         * cfgrtl.c: Likewise.
4260         * collect2.c: Likewise.
4261         * cpplex.c: Likewise.
4262         * doloop.c: Likewise.
4263         * dwarf2out.c: Likewise.
4264         * dwarfout.c: Likewise.
4265         * expr.c: Likewise.
4266         * fold-const.c: Likewise.
4267         * gcc.c: Likewise.
4268         * gcov.c: Likewise.
4269         * gcse.c: Likewise.
4270         * global.c: Likewise.
4271         * ifcvt.c: Likewise.
4272         * loop.c: Likewise.
4273         * optabs.c: Likewise.
4274         * protoize.c: Likewise.
4275         * regclass.c: Likewise.
4276         * reorg.c: Likewise.
4277         * rtl.h: Likewise.
4278         * stmt.c: Likewise.
4279         * tree.h: Likewise.
4280         * doc/cpp.texi: Likewise.
4281         * doc/c-tree.texi: Likewise.
4282         * doc/extend.texi: Likewise.
4283         * doc/invoke.texi: Likewise.
4284         * doc/objc.texi: Likewise.
4285         * doc/tm.texi: Likewise.
4286
4287 2001-10-08  Richard Henderson  <rth@redhat.com>
4288
4289         * varasm.c (set_named_section_flags): Initialize "declared".
4290
4291 2001-10-08  Robert Lipe  <robertlipe@usa.net>
4292
4293         * varasm.c (struct in_named_entry): Add declared.
4294         (named_section_first_declaration): New function.
4295         (default_elf_asm_named_section): Use it.
4296         * output.h (named_section_first_declaration): New.
4297
4298 2001-10-08  Richard Henderson  <rth@redhat.com>
4299
4300         * i386.md (movsi_xor): Export.
4301         (setcc peep2): Use it when available; add an alternative to
4302         match zero_extendhisi2_and.
4303
4304 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4305
4306         * romp-protos.h (romp_initialize_trampoline): New function.
4307         * romp.c (romp_initialize_trampoline): Likewise.
4308         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
4309         romp_initialize_trampoline.
4310
4311 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4312
4313         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
4314         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
4315         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
4316         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
4317
4318 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4319
4320         * unroll.c (loop_iterations): Extend check for multiple back edges.
4321
4322 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
4323
4324         * langhooks.h: New file.
4325         * Makefile.in (OBJS): Added langhooks.o.
4326         (c-lang.o): Depend on langhooks.h.
4327         (c-common.o): Don't depend on tree-inline.h.
4328         (tree-inline.o): Depend on toplev.h.
4329         (langhooks.o): New rule.
4330         * c-common.c: Don't include tree-inline.h.
4331         (c_mark_lang_decl): Mark argument c as unused.
4332         (c_common_lang_init): Don't initialize hooks here.
4333         * c-lang.c: Include langhooks.h, then override some macros.
4334         (lang_hooks): Initialize with macros in langhooks.h.
4335         (c_init): Don't initialize hooks here.
4336         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
4337         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
4338         * tree-inline.c: Include toplev.h.  Don't define hook variables.
4339         * tree-inline.h: Don't define hook types nor declare hook
4340         variables.  Move macros to...
4341         * langhooks.c: ... new file, as functions.  Adjust all callers.
4342
4343 2001-10-08  Jeffrey A Law  <law@cygnus.com>
4344
4345         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
4346         purge_mem_unchanging_flag on all instructions, not just on those
4347         before NOTE_INSN_FUNCTION_BEG.
4348
4349 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
4350
4351         * cppmacro.c (_cpp_create_definition): Leave comments off.
4352
4353         * doc/cpp.texi: Update.
4354
4355 2001-10-08  DJ Delorie  <dj@redhat.com>
4356
4357         * c-decl.c (grokfield): Make sure the only unnamed fields
4358         we're allowing are either structs or unions.
4359         * doc/extend.texi: Add documentation for the unnamed field
4360         extension.
4361
4362 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
4363
4364         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
4365         * configure.in: Use it.
4366         * configure: Regenerated.
4367         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
4368         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
4369
4370 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
4371
4372         * cppfiles.c (open_file): Don't mark zero-length files
4373         never-reread here.  Don't output diagnostics here either.
4374         (stack_include_file): Mark them never-reread here.
4375         (_cpp_read_file): Update.
4376
4377 2001-10-08  Richard Henderson  <rth@redhat.com>
4378
4379         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
4380
4381 2001-10-08  Richard Henderson  <rth@redhat.com>
4382
4383         * expr.c (store_expr): When converting a CONST_INT for storage
4384         in a SUBREG, convert it to both SUBREG modes before stripping
4385         the SUBREG.
4386
4387 2001-10-08  Richard Henderson  <rth@redhat.com>
4388
4389         * varasm.c (restore_varasm_status): New.
4390         * function.h: Declare it.
4391         * function.c (pop_function_context_from): Call it.
4392
4393 2001-10-08  Richard Henderson  <rth@redhat.com>
4394
4395         * c-common.h (struct c_lang_decl): Add declared_inline.
4396         * c-tree.h (DECL_DECLARED_INLINE_P): New.
4397         * c-lang.c (c_disregard_inline_limits): Use it.
4398         * c-decl.c (duplicate_decls): Likewise.
4399         (pushdecl, redeclaration_error_message): Likewise.
4400         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
4401         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
4402         Set DECL_INLINE if -finline-functions.
4403         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
4404
4405 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
4406
4407         * cppmacro.c (funlike_invocation_p): Move some logic to caller
4408         in enter_macro_context.  Create a padding token in its own context
4409         if necessary when the search for '(' fails.
4410         (enter_macro_context): Update.
4411
4412 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
4413
4414         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
4415         genmultilib, toplev.c: Fix spelling errors of "separate" as
4416         "seperate", and corresponding spelling errors of related words.
4417
4418 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4419
4420         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
4421         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
4422         Likewise.
4423         * c-dump.c (dump_option_value_info): Likewise.
4424         * c-format.c (format_length_info, format_char_info,
4425         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
4426         * collect2.c (names): Likewise.
4427         * cppdefault.h (default_include): Likewise.
4428         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
4429         * flow.c (life_analysis): Likewise.
4430         * gcc.c (dir_separator_str, modify_target, option_map,
4431         target_option_translations, spec_list_1, extra_specs_1,
4432         init_spec): Likewise.
4433         * gcov.c (gcov_version_string): Likewise.
4434         * genattr.c (write_units): Likewise.
4435         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
4436         * gengenrtl.c (rtx_definition, defs): Likewise.
4437         * genrecog.c (pred_table): Likewise.
4438         * global.c (global_alloc): Likewise.
4439         * lcm.c (optimize_mode_switching): Likewise.
4440         * local-alloc.c (find_free_reg): Likewise.
4441         * params.h (param_info): Likewise.
4442         * predict.c (predictor_info): Likewise.
4443         * protoize.c (unexpansion_struct): Likewise.
4444         * real.c (bmask): Likewise.
4445         * recog.h (insn_operand_data, insn_data): Likewise.
4446         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
4447         * stmt.c (expand_nl_goto_receiver): Likewise.
4448         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
4449         target_switches, target_options): Likewise.
4450         * tradcif.y (token, tokentab2, yylex): Likewise.
4451         * tree.h (attribute_spec): Likewise.
4452
4453         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
4454         Likewise.
4455         * arc.c (arc_output_function_epilogue): Likewise.
4456         * arm.c (processors, all_cores, all_architectures,
4457         arm_override_options, isr_attribute_arg, isr_attribute_args,
4458         arm_isr_value): Likewise.
4459         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
4460         Likewise.
4461         * c4x.c (c4x_int_reglist): Likewise.
4462         * d30v.c (override_options): Likewise.
4463         * h8300.c (shift_insn): Likewise.
4464         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
4465         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
4466         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
4467         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
4468         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
4469         * i386.h (processor_costs, ix86_cost): Likewise.
4470         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
4471         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
4472         * m68k.c (codes_68881, codes_FPA): Likewise.
4473         * m88k.c (mode_from_align, max_from_align, all_from_align,
4474         best_from_align, m_options): Likewise.
4475         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
4476         * mcore.c (mode_from_align): Likewise.
4477         * mips/elf64.h (UNIQUE_SECTION): Likewise.
4478         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
4479         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
4480         * mips.h (mips_regno_to_class): Likewise.
4481         * ns32k.c (scales): Likewise.
4482         * pa.c (import_string, magic_milli): Likewise.
4483         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
4484         * sparc.c (leaf_reg_remap, sparc_override_options,
4485         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
4486         Likewise.
4487         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
4488
4489 2001-10-07  Dale Johannesen  <dalej@apple.com>
4490
4491         * reload1.c (reload_reg_free_p): Teach register interference
4492         checking that multiple output reloads are emitted in
4493         reverse order.
4494         reload1.c (reload_reg_reaches_end_p):  Ditto.
4495         reload1.c (reloads_conflict):  Ditto.
4496
4497 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
4498
4499         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
4500         NULL_TREE inside @code.
4501
4502 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
4503
4504         * doc/gcc.texi: Document consistent style of "32-bit",
4505         "Objective-C", and "@code{NULL}".
4506
4507 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
4508
4509         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
4510         (cpp_token_len, cpp_spell_token, cpp_output_token,
4511         _cpp_equiv_tokens): Handle it.
4512         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
4513         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
4514         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
4515         error messages.
4516
4517 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4518
4519         * gcc.c (default_compilers): Remove .ada.
4520
4521 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
4522
4523         * doc/cppinternals.texi: Update.
4524
4525 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
4526
4527         * gcc.c (main): Set this_file_error if the appropriate
4528         compiler for a language has not been installed.
4529
4530 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
4531
4532         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
4533
4534 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
4535
4536         * gccbug.in (CATEGORIES): Add ada.
4537
4538 2001-10-05  Catherine Moore  <clm@redhat.com>
4539
4540         * config/stormy16/stormy-abi:  Document abi changes.
4541         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
4542         (ICALL_REGS): New register class.
4543         (NUM_ARGUMENT_REGISTERS): Now 6.
4544         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
4545         in registers.
4546         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
4547         * config/stormy16.md (call_internal, call_value_internal,
4548         indirect_jump): Use new 'z' constraint.
4549
4550 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
4551
4552         * doc/cppinternals.texi: Update.
4553
4554 2001-10-05  Richard Henderson  <rth@redhat.com>
4555
4556         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
4557         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
4558         the gas section-name-as-label feature.
4559
4560 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
4561
4562         * doc/cppinternals.texi: Update.
4563
4564 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4565
4566         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
4567         to ensure valid SImode constants.
4568
4569 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
4570
4571         * Makefile.in (c-decl.o): Depend on tree-inline.h.
4572         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
4573         * c-decl.c: Include tree-inline.h.
4574         (c_expand_body): Call optimize_inline_calls. Determine whether
4575         a function is inlinable upfront, and only clear
4576         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
4577         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
4578         (c_disregard_inline_limits): New function.
4579         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
4580         (c_post_options): Enable tree inlining if inlining is enabled.
4581         Don't inline trees when instrumenting functions.
4582         (c_init): Initialize lang_disregard_inline_limits and
4583         lang_cannot_inline_tree_fn.
4584         * tree-inline.c (initialize_inlined_parameters): Handle calls
4585         with fewer arguments than declared parameters, and fewer
4586         parameters than passed arguments.  Don't assume value is a
4587         DECL.
4588         (declare_return_variable): Convert return value back to the
4589         original type, if it was promoted.
4590         (tree_inlinable_function_p): New function.
4591         (inlinable_function_p): Don't look at DECL_INLINE if we're
4592         inlining all functions.  Make it work with a NULL id.
4593         Re-check DECL_UNINLINABLE after language-specific checks.
4594         * tree-inline.h (tree_inlinable_function_p): Declare it.
4595         * integrate.c (save_for_inline): Don't bother to prepare argvec
4596         when not inlining.
4597         * cse.c (check_for_label_ref): Don't check deleted labels.
4598
4599         * Makefile.in (tree-inline.o): Depend on newly-included headers.
4600         * tree-inline.c: Include headers needed for the functions moved in.
4601         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
4602         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
4603         (copy_body, initialize_inlined_parameters): Likewise.
4604         (declare_return_variable, inlinable_function_p): Likewise.
4605         (expand_call_inline, expand_calls_inline): Likewise.
4606         (optimize_inline_calls, clone_body): Likewise.
4607         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
4608         (copy_tree_r, remap_save_expr): Likewise.
4609
4610 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
4611
4612         * Makefile.in (OBJS): Added tree-inline.o.
4613         (c-common.o): Depend on tree-inline.h.
4614         (tree-inline.o): New target.
4615         * c-common.c: Include tree-inline.h.
4616         (c_mark_lang_decl): Don't mark saved_tree.
4617         (c_common_lang_init): Set lang_anon_aggr_type_p.
4618         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
4619         (struct c_lang_decl): Moved saved_tree to tree_decl.
4620         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
4621         * integrate.h (function_attribute_inlinable_p): Declare it.
4622         * integrate.c (function_attribute_inlinable_p): Export it.
4623         * tree-inline.c: New file.  Define variables declared in...
4624         * tree-inline.h: New file.  Declare functions to be moved to
4625         tree-inline.c.  Define macros and declare types and hooks for
4626         language-specific tree inlining.
4627         (flag_inline_trees): Moved definition from cp/decl2.c.
4628         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
4629         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
4630         (struct tree_decl): Moved saved_tree from c_lang_decl and
4631         inlined_fns from C++'s lang_decl.
4632
4633 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
4634
4635         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
4636         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
4637
4638 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
4639
4640         * doc/cppinternals.texi: Update.
4641
4642 2001-10-04  Eric Christopher  <echristo@redhat.com>
4643
4644         * config/mips/mips.c (init_cumulative_args): Remember to set
4645         cum->prototype.
4646         * config.gcc: Redo linux configuration. Add target_cpu_default
4647         of soft-float to all mipsisa32 combinations and tx39.
4648         * config/mips/linux.h: Remove include of mips.h.
4649
4650 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
4651
4652         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
4653         HOST_LDFLAGS and HOST_CPPFLAGS.
4654
4655 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
4656
4657         * c-parse.in (objc_inherit_code, objc_pq_context,
4658         objc_public_flag): Make static.
4659         (objc_interface_context, objc_implementation_context,
4660         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
4661         global tree array in objc/objc-act.[ch].
4662         (methoddef): Remove unnecessary code.
4663
4664         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
4665         Hoist struct definitions to objc-act.h.
4666         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
4667         cat_count): Place declaration in objc-act.h.
4668         (objc_tree_index): Move enumeration to objc-act.h.
4669         (objc_global_trees): Place declaration and macro accessors in
4670         objc-act.h.
4671         (implementation_context): Remove duplicate; use
4672         objc_implementation_context instead:
4673         (method_context): Remove duplicate; use objc_method_context
4674         instead.
4675         (objc_ellipsis_node, objc_method_prototype_template,
4676         implemented_classes, function_type): Move global vars to
4677         objc_global_trees.
4678         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
4679         (build_message_expr): Move actual construction of ObjC message
4680         send nodes to finish_message_expr.
4681         (finish_message_expr): New routine, contains code formerly in
4682         build_message_expr.
4683         * objc/objc-act.h (finish_message_expr): New prototype.
4684         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
4685         declarations; these vars are now part of objc_global_trees.
4686         (objc_tree_index, objc_global_trees): Move definitions from
4687         objc-act.c.
4688         * objc/objc-tree.def: Update copyright info.
4689
4690 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
4691
4692         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
4693         op is NULL.
4694         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
4695         only if TARGET_ARCH64.
4696
4697 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
4698
4699         * doc/extend.texi: Fix some problems with previous checkin.
4700         * doc/invoke.texi: Likewise.
4701
4702 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
4703
4704         * cpphash.h: Update comments.
4705         (cpp_context): Update.
4706         (spec_nodes): Remove n__Pragma.
4707         * cppinit.c (cpp_create_reader): Update.
4708         (builtin_array): Add _Pragma.
4709         * cpplib.h: Update comments.
4710         (NODE_DISABLED, BT_PRAGMA): New.
4711         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
4712         * cppmacro.c (struct cpp_macro): Remove disabled.
4713         (builtin_macro): Return int, handle _Pragma, push the new token
4714         on the context stack.
4715         (funlike_invocation_p): Unconstify, update.
4716         (enter_macro_context): Handle builtins here.
4717         (replace_args, push_token_context, push_ptoken_context):
4718         Update for prototype changes.
4719         (_cpp_pop_context): Update.
4720         (cpp_get_token): Don't handle buitins, nor _Pragma here.
4721         (cpp_sys_macro_p): Update.
4722         (_cpp_free_definition): Clear disabled flag.
4723         (_cpp_create_definition): Upate.
4724         * cppmain.c: Update comments.
4725
4726 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
4727                                 Andreas Jaeger <aj@suse.de>,
4728                                 Jan Hubicka    <jh@suse.cz>
4729
4730         * doc/invoke.texi (i386 Options): Document x86-64 options.
4731         (i386 and x86-64 Options): Rename i386 options section.
4732
4733         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
4734         (TARGET_SWITCHES): Add -munwind-info.
4735         (MASK_NO_UNWIND_INFO): New.
4736         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
4737         biarch compilation.
4738         (ASM_OUTPUT_DOUBLE_INT): New.
4739
4740         * config/i386/linux64.h: New spec file for Linux x86-64 support.
4741         * config.gcc: Fix tm_file settings for x86-64.
4742         * config/i386/x86-64.h: New file with OS independent x86-64
4743         definitions.
4744         * config/i386/biarch64.h: New file used to configure compiler
4745         to biarch/64bit compilation.
4746
4747         * config/i386/i386.c: (override_options): Set flags default
4748         for 64bit compilation.
4749
4750 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
4751
4752         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
4753         (ix86_expand_int_movcc): Optimize DImode conditional moves with
4754         constants on x86_64.
4755         (ix86_attr_length_immediate_default): Support MODE_DI.
4756         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
4757         condition.
4758         (indirect_jump, tablejump): Turn into expander.
4759
4760 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
4761
4762         * c-common.c (c_format_attribute_table): Make format and
4763         format_arg attributes apply to function types rather than to
4764         decls.
4765         (is_valid_printf_arglist): Construct an attribute list and pass
4766         that to check_function_format rather than a name.
4767         * c-common.h (check_function_format): Adjust prototype.
4768         * c-decl.c (duplicate_decls): Preserve attributes from type of
4769         built-in decl when allowing for harmless conflict in types.
4770         * c-format.c (record_function_format,
4771         record_international_format, function_format_list,
4772         international_format_info, international_format_list): Remove.
4773         (function_format_info): Remove next, name and assembler_name.
4774         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
4775         (decode_format_attr): New.
4776         (handle_format_attribute): Handle receiving a type rather than a
4777         decl.  Call decode_format_attr.  Store format information in a
4778         function_format_info.
4779         (handle_format_arg_attribute): Correct comment.  Handle receiving
4780         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
4781         arg_num.
4782         (check_format_info_recurse, check_format_info_main): Take argument
4783         numbers as unsigned HOST_WIDE_INT.
4784         (check_function_format): Take a list of attributes from the
4785         function type rather than a name or assembler name.  Check for
4786         format attributes in that list and the attributes on the type of
4787         the current function rather than looking through
4788         function_format_list.
4789         (check_format_info): Use unsigned HOST_WIDE_INT for argument
4790         numbers.
4791         (check_format_info_recurse): Take format_arg attributes from the
4792         type of the function calls rather than using
4793         international_format_list.  Allow for multiple format_arg
4794         attributes.
4795         * c-typeck.c (build_function_call): Pass type attributes to
4796         check_function_format rather than name or assembler name.  Don't
4797         require there to be a name or assembler name to check formats.
4798
4799 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
4800
4801         * attribs.c (decl_attributes): Possibly call
4802         insert_default_attributes to insert default attributes on
4803         functions in a lazy manner.
4804         * builtin-attrs.def: New file; define the default format and
4805         format_arg attributes.
4806         * c-common.c (c_format_attribute_table): Move to earlier in the
4807         file.
4808         (c_common_nodes_and_builtins): Initialize format_attribute_table.
4809         (enum built_in_attribute, built_in_attributes,
4810         c_attrs_initialized, c_init_attributes,
4811         c_common_insert_default_attributes): New.
4812         (c_common_lang_init): Don't initialize format_attribute_table.  Do
4813         call c_init_attributes.
4814         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
4815         * c-common.h (init_function_format_info): Don't declare.
4816         (c_common_insert_default_attributes): Declare.
4817         * c-decl.c (implicitly_declare, builtin_function): Call
4818         decl_attributes.
4819         (init_decl_processing): Don't call init_function_format_info.
4820         (insert_default_attributes): New.
4821         * c-format.c (handle_format_attribute,
4822         handle_format_arg_attribute): Be quiet about inappropriate
4823         declaration when applying default attributes.
4824         (init_function_format_info): Remove.
4825         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
4826         (insert_default_attributes): Declare.
4827
4828 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
4829
4830         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
4831
4832 2001-10-01  Jim Wilson  <wilson@redhat.com>
4833
4834         * sched-deps.c (add_dependence): When elide conditional dependence,
4835         check that insn doesn't modify cond2.
4836
4837 2001-10-01  Dale Johannesen  <dalej@apple.com>
4838
4839         * config/rs6000/rs6000.h (enum processor_type): Add support
4840         for 7400 (G4) and 7450.
4841         (RTX_COSTS): Ditto.
4842         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
4843         (rs6000_issue_rate): Ditto.
4844         (rs6000_adjust_cost): Fix cycle counts for compares.
4845         (debug_stack_info):  Fix an obvious typo.
4846         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
4847         * doc/invoke.texi: Document.
4848         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
4849         for Darwin.
4850         (PROCESSOR_DEFAULT): Ditto.
4851
4852 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
4853
4854         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
4855         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
4856         later recursive make invocation.
4857
4858 2001-10-01  Hans Boehm  <boehm@acm.org>
4859
4860         * optabs.c (emit_libcall_block): When using non-call exceptions,
4861         don't add REG_LIBCALL reg notes to trapping calls.
4862
4863 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
4864
4865         * flow.c (propagate_block_delete_libcall): Remove unused first arg
4866         (propagate_one_insn):  Update for above change
4867
4868 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
4869
4870         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
4871         _Unwind_GetTextRelBase): Argument is unused.
4872
4873 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4874
4875         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
4876         Loop through NOPs, placeholders, and components.
4877         Don't go through NOPs if change mode.
4878         (record_alias_subset): Do nothing if SUBSET and SET are the same.
4879         * emit-rtl.c (set_mem_alias_set): Enable check.
4880         * expr.c (find_placeholder): New function.
4881         (expand_expr, case PLACEHOLDER_EXPR): Use it.
4882         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
4883         to modify it and avoid unneeded copies.
4884         * expr.h (expand_expr): Always define.
4885         (find_placeholder): New declaration.
4886
4887 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4888
4889         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
4890         operand 2 is the stack pointer.
4891         ("addr-peephole"): Fix address computation peephole when operand 2
4892         is the stack pointer.
4893
4894 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4895
4896         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
4897         (ix86_setup_incoming_varargs): Likewise.
4898
4899 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
4900
4901         * stor-layout.c (layout_type): Don't complain about too-large
4902         array here.
4903
4904 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4905
4906         * function.c (keep_stack_depressed): Don't use delete_insn.
4907
4908         * expr.h (set_mem_alias_set): Move decl to here.
4909         * rtl.h (mem_attrs): New typedef and struct.
4910         (union rtunion_def): Add field for mem_attrs.
4911         (X0MEMATTR, MEM_ATTRS): New macros.
4912         (MEM_ALIAS_SET): Use MEM_ATTRS.
4913         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
4914         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
4915         (set_mem_alias_set): Delete decl from here.
4916
4917         * alias.c (set_mem_alias_set): Delete from here.
4918         * emit-rtl.c (mem_attrs_htab): New variable.
4919         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
4920         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
4921         (mem_attrs_mark, get_mem_attrs): Likewise.
4922         (gen_rtx_MEM): Clear MEM_ATTRS.
4923         (set_mem_attributes): Move to here.
4924         (set_mem_alias_set): Likewise, and call get_mem_attrs.
4925         (init_emit_once): const_int_htab now deletable htab.
4926         Initialize mem_attrs_htab.
4927         * explow.c (set_mem_attributes): Delete from here.
4928         * function.c (put_var_into_stack): Clear MEM_ATTRS.
4929         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
4930         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
4931         * reload1.c (reload): Rework changing REG to MEM.
4932
4933 2001-09-30  H.J. Lu <hjl@gnu.org>
4934
4935         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
4936         * config.in: Rebuild.
4937
4938 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4939
4940         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
4941         ("tsthi_1"): Avoid allocation in register y.
4942         ("*movqi_68hc12"): Reorganize and fix constraints.
4943         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
4944         ("addqi3"): Likewise.
4945         ("addhi3"): Fix constraints.
4946         ("*logicalhi3_zexthi"): Disparage soft registers.
4947
4948 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4949
4950         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
4951         to tmp reg.
4952
4953 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4954
4955         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
4956         that we use setjmp/longjmp exceptions.
4957
4958 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
4959
4960         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
4961         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
4962         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
4963         _cpp_pool_alloc, _cpp_next_chunk): Remove.
4964         (_cpp_extend_buff, BUFF_ROOM): Update.
4965         (_cpp_append_extend_buff): New.
4966         (struct cpp_reader): Remove macro_pool, add a_buff.
4967         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
4968         macro_pool.
4969         (cpp_destroy): Free a_buff instead of macro_pool.
4970         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
4971         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
4972         _cpp_pool_alloc, ): Remove.
4973         (parse_number, parse_string): Update use of _cpp_extend_buff.
4974         (_cpp_extend_buff): Update.
4975         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
4976         * cpplib.c (glue_header_name, parse_answer):
4977         Update use of _cpp_extend_buff.
4978         (cpp_register_pragma, cpp_register_pragma_space): Use
4979         _cpp_aligned_alloc.
4980         (do_assert, do_unassert): Check for EOL, update.
4981         * cppmacro.c (stringify_arg, collect_args): Update to use
4982         _cpp_extend_buff and _cpp_append_extend_buff.
4983         (save_parameter, parse_params, alloc_expansion_token,
4984         _cpp_create_definition): Rework memory management.
4985
4986 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
4987
4988         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
4989         update md_exec_prefix.
4990         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
4991         to string constant.
4992
4993 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
4994
4995         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
4996         (SELECT_CC_MODE): Use s390_select_ccmode.
4997         * config/s390/s390-protos.h (s390_select_ccmode): Add.
4998         * config/s390/s390.c (s390_select_ccmode): New.
4999         (s390_match_ccmode): Add CCLmode.
5000         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
5001         (output_branch_condition, output_inverse_branch_condition): Removed.
5002         (print_operand): Use s390_branch_condition_mnemonic.
5003         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
5004         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
5005         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
5006
5007         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
5008         when converting conditional branches to far branches.
5009         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
5010         cmpint_di): Use CCSmode instead of CCUmode.
5011
5012         * config/s390/s390.c (legitimate_la_operand_p): New.
5013         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
5014         * config/s390/s390.md (movsi): Convert load address patterns to
5015         arithmetic operations when necessary.
5016         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
5017         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
5018         (*do_la_reg_0): Don't use before reload.
5019
5020         * config/s390/s390.c (legitimize_address): Make more efficient
5021         use of two-register addressing mode.
5022
5023         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
5024         with -mno-backchain in some corner cases.
5025
5026         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
5027
5028 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
5029
5030         * reload.c (find_reloads): Mark new USE insns with QImode.
5031         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
5032         find_reloads_subreg_address): Likewise.
5033         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
5034         encountered.
5035         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
5036         CLOBBERs.
5037         (reload): Make sure there are no USEs with mode other than
5038         VOIDmode.  At the end, remove those marked with QImode.
5039
5040 2001-09-29  Per Bothner  <per@bothner.com>
5041
5042         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
5043         * Makefile.in (includedir):  Rename to local_includedir.
5044         (includedir):  Define as $(prefix)/include.
5045         * config.in (PREFIX_INCLUDE_DIR):  New variable.
5046         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
5047
5048 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
5049
5050         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
5051         storehps builtins.
5052         * doc/extend.texi (Vector Extensions): New node.
5053         * doc/invoke.texi (Machine Dependent Options): Add documentation for
5054         i386 -mmmx, -msse, -m3dnow.
5055
5056 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
5057
5058         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
5059
5060 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
5061
5062         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
5063
5064         * doc/invoke.texi (Optimize Options): Delete spurious @table.
5065
5066 2001-09-28  Richard Henderson  <rth@redhat.com>
5067
5068         * varasm.c (assemble_integer): Bound alignment check by
5069         BIGGEST_ALIGNMENT.
5070
5071         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
5072
5073 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5074
5075         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
5076
5077 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
5078
5079         Mostly from Graham Stott  <grahams@redhat.com>
5080         * c-common.c (type_for_mode): Add support for V2SFmode.
5081         * tree.c (build_common_tree_nodes_2): Likewise.
5082         * tree.h (enum tree_index, global_trees): Likewise.
5083         * config/i386/i386.c (x86_3dnow_a): New variable.
5084         (override_options): Support 3Dnow extensions.
5085         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
5086         Athlon's version of 3Dnow.
5087         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
5088         (ix86_expand_builtin): Handle them.
5089         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
5090         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
5091         TARGET_3DNOW_A): New macros.
5092         (TARGET_SWITCHES): Add 3Dnow switches.
5093         (VALID_MMX_REG_MODE_3DNOW): New macro.
5094         (VECTOR_MODE_SUPPORTED_P): Use it.
5095         (enum ix86_builtins): Add entries for 3Dnow builtins.
5096         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
5097         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
5098         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
5099         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
5100         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
5101         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
5102         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
5103         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
5104         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
5105         sfence_insn, prefetch): Make these available if TARGET_SSE or
5106         TARGET_3DNOW_A.
5107
5108 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
5109
5110         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
5111         ix86_va_start, ix86_build_va_list): Declare.
5112         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
5113         ix86_va_start, ix86_build_va_list): New global functions.
5114         * i386.md (sse_prologue_save_insn): New insn.
5115         (sse_prologue_save): New expander.
5116         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
5117         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
5118
5119 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
5120
5121         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
5122         Use size_t everywhere, make definitions consistent with
5123         prototypes.
5124
5125 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
5126
5127         * gcse.c (replace_store_insn): Use delete_insn.
5128         * loop.c (move_movables): Likewise; avoid delete_insn
5129         from clobbering notes moved elsewhere.
5130         (check_dbra_loop): Use delete_insn.
5131         * ssa.c (convert_from_ssa): Likewise.
5132         * cse.c (cse_insn): Use delete_insn.
5133
5134 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
5135
5136         * cpphash.h (struct cpp_buff): Make unsigned.
5137         (_cpp_get_buff): Take length of size_t.
5138         (_cpp_unaligned_alloc): New.
5139         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
5140         (struct cpp_reader): Remove ident_pool.  Add u_buff.
5141         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
5142         (cpp_destroy): Destroy u_buff, not ident_pool.
5143         * cpplex.c (parse_number, parse_string, save_comment,
5144         cpp_token_as_text): Update to use the unaligned buffer.
5145         (new_buff): Make unsigned.
5146         (_cpp_unaligned_alloc): New.
5147         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
5148         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
5149         Similarly.
5150         (collect_args): Make unsigned.
5151
5152 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
5153
5154         * cpplex.c (cpp_output_token): Use a putc loop for
5155         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
5156
5157         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
5158         * configure, config.in: Regenerate.
5159         * system.h: Replace fwrite and fprintf with their unlocked
5160         variants if available.
5161
5162 2001-09-27  Richard Henderson  <rth@redhat.com>
5163
5164         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
5165         in favour of .eh_frame.
5166
5167 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
5168
5169         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
5170         to macros.
5171         (LIBCALL_VALUE): Likewise.
5172
5173 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
5174
5175         * cpphash.h: Update comment.
5176         * cpplex.c: Update comments.
5177         (_cpp_can_paste): Remove.
5178         * cpplib.h (_cpp_can_paste): Remove.
5179         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
5180         lexer rather than _cpp_can_paste.
5181
5182 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
5183
5184         * doc/cppinternals.texi: Update.
5185
5186 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
5187
5188         * cpphash.h (struct cpp_pool): Remove locks and locked.
5189         (struct cpp_context): Add member buff.
5190         (struct cpp_reader): Remove member argument_pool.
5191         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
5192         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
5193         * cpplex.c (chunk_suitable): Remove pool argument.
5194         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
5195         (new_buff, _cpp_extend_buff): Update.
5196         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
5197         which buffer is returned.
5198         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
5199         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
5200         * cppmacro.c (lock_pools, unlock_pools): Remove.
5201         (push_ptoken_context): Take a _cpp_buff.
5202         (enter_macro_context): Pool locking removed.
5203         (replace_args): Use a _cpp_buff for the replacement list with
5204         arguments replaced.
5205         (push_token_context): Clear buff.
5206         (expand_arg): Use _cpp_pop_context.
5207         (_cpp_pop_context): Free a context's buffer, if any.
5208
5209 2001-09-26  DJ Delorie  <dj@redhat.com>
5210
5211         * c-typeck.c (digest_init): Check for sizeless arrays.
5212
5213 2001-09-26  Richard Henderson  <rth@redhat.com>
5214
5215         * optabs.c (init_one_libfunc): Create a dummy function type
5216         instead of using error_mark_node.
5217
5218 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
5219
5220         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
5221         _cpp_extend_buff, _cpp_free_buff): New.
5222         (struct cpp_reader): New member free_buffs.
5223         * cppinit.c (cpp_destroy): Free buffers.
5224         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
5225         _cpp_extend_buff, _cpp_free_buff): New.
5226         * cpplib.h (struct cpp_options): Remove unused member.
5227         * cppmacro.c (collect_args): New.  Combines the old parse_arg
5228         and parse_args.  Use _cpp_buff for memory allocation.
5229         (funlike_invocation_p, replace_args): Update.
5230
5231 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
5232
5233         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
5234
5235 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
5236
5237         * except.c (sjlj_mark_call_sites): Change address inside sequence.
5238
5239 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
5240
5241         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
5242         glibc.
5243
5244 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
5245             Jim Wilson  <wilson@redhat.com>
5246
5247         * doc/install.texi (Specific, ia64-*-linux): Document.
5248
5249 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
5250
5251         * Makefile.in (cfgrtl.o): Add.
5252         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
5253         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
5254         free_aux_for_edge): Declare.
5255         * cfg.c
5256         (HAVE_return): Undefine.
5257         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
5258         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
5259         free_aux_for_edge): New global functions.
5260         (first_delete_block): New static variable.
5261         (init_flow): Clear first_delete_block.
5262         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
5263          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
5264          try_redirect_by_replacing_jump, last_loop_beg_note,
5265          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
5266          delete_insn, delete_insn_chain, create_basic_block_structure,
5267          create_basic_block, flow_delete_block, compute_bb_for_insn,
5268          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
5269          set_block_for_new_insns, split_block, merge_blocks_nomove,
5270          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
5271          redirect_edge_and_branch, force_nonfallthru_and_redirect,
5272          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
5273          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
5274          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
5275          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
5276          purge_all_dead_edges): Move to ....
5277         * cfgrtl.c: New file; .... Here.
5278
5279         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
5280         (reroder_basic_block): Use alloc_aux_for_blocks.
5281         * predict.c (estimate_bb_frequencies): Likewise; use
5282         alloc_aux_for_edges.
5283         * profile.c (compute_branch_probabilities): Likewise.
5284         (branch_prob): Likewise.
5285         * reg-stack.c (reg_to_stack): Likewise.
5286
5287         * emit-rtl.c (emit_insns_after): Never return NULL.
5288
5289         * basic-block.h (set_block_for_new_insns): Delete.
5290         * cfgrtl.c (set_block_for_new_insns): Delete.
5291
5292         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
5293         calls when crossjumping.
5294
5295         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
5296         * unroll.c (copy_loop_body): Use delete_insn.
5297
5298         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
5299         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
5300         keep_stack_depressed): Likewise.
5301         * gcse.c (cprop_cc0_jump): Likewise.
5302         * local-alloc.c (update_equiv_regs): Likewise.
5303         * loop.c (scan_loop, loop_delete_insns): Likewise.
5304         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
5305         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
5306         delete_output_reload, delete_address_reloads_1,
5307         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
5308         Likewise.
5309         * sibcall.c (replace_call_placeholder): Likewise.
5310         * cse.c (cse_insn): Likewise.
5311
5312 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
5313
5314         From Graham Stott  <grahams@redhat.com>
5315         (def_builtin): Only define builtins appropriate for target_flags.  All
5316         callers changed.
5317         (builtin_decsription): Add new field mask which is used to determine
5318         when to define the builtin via the macro def_builtin.
5319
5320         (bdesc_comi): Initialise new mask fields.
5321         (bdesc_2srg): Likewise.
5322         (bdesc_1arg): Likewise.
5323
5324         * config/i386/i386.c (ix86_init_builtins): Correct return type
5325         building v4hi_ftype_v4hi_int_int tree node.
5326         (ix86_expand_sse_comi): Fix typo swapping operands.
5327         Don't swap comparision condition, it is already swapped.
5328         (ix86_expand_sse_compare): Before swapping operands
5329         move operand 1 into new rtx and not the target rtx.
5330         Don't swap comparison condition, it is already swapped.
5331         Always check whether we need to create a new TARGET.
5332
5333         * config/i386/i386.md: (sse_comi) Fix typos.
5334         (sse_ucomi): Likewise.
5335         (cvtss2si): Fix operand 0 contraint.
5336         (cvttss2si): Likewise.
5337         (sse_unpckhps): Fix mode for operand 2.
5338         (sse_unpcklps): Likewise.
5339
5340 2001-09-25  Graham Stott  <grahams@redhat.com>
5341
5342         * sibcall.c (skip_copy_to_return_value): Tighten return value
5343         copy check.
5344
5345 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
5346
5347         * rs6000.c (lwa_operand): Address must be word aligned.
5348
5349 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5350
5351         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
5352         number has been set.
5353         (type_hash_mark): Mark type itself.
5354
5355 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
5356
5357         * c-lex.c (cb_def_pragma): Update.
5358         (c_lex): Update, and skip padding.
5359         * cppexp.c (lex, parse_defined): Update, remove unused variable.
5360         * cpphash.h (struct toklist): Delete.
5361         (union utoken): New.
5362         (struct cpp_context): Update.
5363         (struct cpp_reader): New members eof, avoid_paste.
5364         (_cpp_temp_token): New.
5365         * cppinit.c (cpp_create_reader): Update.
5366         * cpplex.c (_cpp_temp_token): New.
5367         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
5368         (cpp_output_token): Don't print leading whitespace.
5369         (cpp_output_line): Update.
5370         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
5371         do_include_common, do_line, do_ident, do_pragma,
5372         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
5373         parse_assertion): Update.
5374         (get_token_no_padding): New.
5375         * cpplib.h (CPP_PADDING): New.
5376         (AVOID_LPASTE): Delete.
5377         (struct cpp_token): New union member source.
5378         (cpp_get_token): Update.
5379         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
5380         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
5381         replace_args, quote_string, stringify_arg, parse_arg, next_context,
5382         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
5383         _cpp_backup_tokens, _cpp_create_definition): Update.
5384         (push_arg_context): Delete.
5385         (padding_token, push_token_context, push_ptoken_context): New.
5386         (make_string_token, make_number_token): Update, rename.
5387         (cpp_get_token): Update to handle tokens as pointers to const,
5388         and insert padding appropriately.
5389         * cppmain.c (struct printer): New member prev.
5390         (check_multiline_token): Constify.
5391         (do_preprocessing, cb_line_change): Update.
5392         (scan_translation_unit): Update to handle spacing.
5393         * scan-decls.c (get_a_token): New.
5394         (skip_to_closing_brace, scan_decls): Update.
5395         * fix-header.c (read_scan_file): Update.
5396
5397         * doc/cpp.texi: Update.
5398
5399 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5400
5401         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
5402         leak by passing malloc'ed pointer to reconcat, not concat.
5403
5404 2001-09-24  DJ Delorie  <dj@redhat.com>
5405
5406         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
5407
5408 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
5409
5410         * flow.c (delete_dead_jumptables): Delete jumptable if the only
5411         reference is from the literal pool.
5412
5413 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
5414
5415         * doc/install.texi (Final install): Request additional information
5416         in mail about successful builds.
5417
5418 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5419
5420         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
5421         initial value of return pointer register instead of value in frame-20.
5422         Revise comments.
5423
5424 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5425
5426         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
5427         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
5428         the libcall if there isn't a referenced identifier for the symbol.
5429
5430 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5431
5432         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
5433         non 64-bit machines.  Use these as a plabel for the trampoline.
5434         (TRAMPOLINE_SIZE): Adjust size for new words.
5435         (INITIALIZE_TRAMPOLINE): Initialize new words.
5436         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
5437         pointer to the plabel in the trampoline.
5438
5439 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5440
5441         * pa.c (function_arg): Pass floating arguments in both general and
5442         floating registers in indirect (dynamic) calls when generating code
5443         for the 32 bit ABI and the HP assembler.
5444
5445 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5446
5447         * doc/install.texi: Markup fixes.
5448         Use Solaris 2, SunOS 4 as appropriate.
5449         (Specific, *-*-solaris2*): Explain this.
5450         Unconditionally warn against /usr/ucb tools.
5451         Remove Sun as warning, obsolete.
5452         Move X11 header bug workaround here, update patches.
5453         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
5454         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
5455
5456 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
5457
5458         * errors.h (warning, error, fatal, internal_error): Don't mark
5459         with ATTRIBUTE_PRINTF_n.
5460         * toplev.h (internal_error, fatal_io_error, warning, error,
5461         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
5462         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
5463         Likewise.
5464
5465 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5466
5467         * function.c (pop_function_context_from): var_refs_queue
5468         and temp slots now in GC memory.
5469         (mark_function_status, free_after_compilation): Likewise;
5470         also struct function now in GC memory.
5471         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
5472         (combine_temp_slots): Likewise.
5473         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
5474         (prepare_function_start): Use GC memory for struct function.
5475         (mark_temp_slot): Deleted.
5476         (gcc_mark_struct_function): struct function now in GC memory.
5477
5478         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
5479         code for division, not modulus.
5480
5481         * rtl.def (MEM): Remove obsolete part of comment.
5482
5483 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
5484
5485         * c-format.c (init_function_format_info): Check __builtin_printf
5486         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
5487         in gnu89 mode.
5488
5489 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5490
5491         * c-common.c (format_attribute_table): Remove decl.
5492         * tree.h (format_attribute_table, lang_attribute_table): New decls.
5493         (lang_attribute_common): Likewise.
5494
5495         * function.c (fix_lexical_address): Use set_mem_alias_set.
5496         (expand_function_start): Likewise.
5497         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
5498
5499         * varasm.c (output_constant): Fix unused variable warning.
5500
5501         * attribs.c: New file, from c-common.c.
5502         (attribute_tables): Now four elements.
5503         (format_attribute_table, lang_attribute_common): New variables.
5504         (init_attributes): Reflect above changes.
5505         (handle_mode_attribute): Delete check for wider than uintmax.
5506         * c-common.c: Delete parts moved to attribs.c.
5507         (enum attrs): Deleted; unused.
5508         (c_format_attribute_table): New variable.
5509         (c_common_lang_init): Initialize format_attribute_table with it.
5510         * c-common.h (decl_attributes): Remove decl.
5511         * tree.h (decl_attribute): Move it to here.
5512         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
5513         (attribs.o): New rule.
5514
5515 2001-09-22  Andreas Jaeger  <aj@suse.de>
5516
5517         * builtins.c (c_getstr): Remove unused variable.
5518
5519 2001-09-21  Richard Henderson  <rth@redhat.com>
5520
5521         * reload1.c (reload): Use delete_insn instead of splatting
5522         NOTE_INSN_DELETED.
5523
5524 2001-09-21  Richard Henderson  <rth@redhat.com>
5525
5526         * reload.c (push_secondary_reload): Don't check for "=" in output
5527         constraint after ""->ALL_REGS check.
5528
5529 2001-09-21  Richard Henderson  <rth@redhat.com>
5530
5531         * predict.c (expected_value_to_br_prob): Use pc_set.
5532
5533         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
5534         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
5535
5536 2001-09-21  Richard Henderson  <rth@redhat.com>
5537
5538         * rtl.h (LCT_RETURNS_TWICE): New.
5539         * calls.c (emit_call_1): Set current_function_calls_setjmp for
5540         ECF_RETURNS_TWICE.
5541         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
5542         to ECF_RETURNS_TWICE.
5543         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
5544         call to setjmp.
5545
5546         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
5547
5548         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
5549         (JMP_BUF_SIZE): New.
5550
5551 2001-09-21  Richard Henderson  <rth@redhat.com>
5552
5553         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
5554         to R8_REGS.
5555
5556 2001-09-21  Richard Henderson  <rth@redhat.com>
5557
5558         * tree.def (FDESC_EXPR): New.
5559         * expr.c (expand_expr): Handle it.
5560         * varasm.c (initializer_constant_valid_p): Likewise.
5561         (output_constant): Likewise.
5562         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
5563         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
5564         (ASM_OUTPUT_FDESC): New.
5565         * doc/tm.texi: Document the new macros.
5566
5567 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
5568
5569         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
5570         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
5571         once merging is complete.
5572
5573 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5574
5575         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
5576
5577 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
5578
5579         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
5580         that would be invalid after a merge.
5581
5582 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
5583
5584         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
5585         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
5586         remove some labels.
5587         (flow_delete_insn): This one.
5588         (delete_insn_chain): Rename from ...; do not care labels.
5589         (flow_delete_insn_chain): ... this one.
5590         (flow_delete_block): Remove the insns one BB has been expunged.
5591         (merge_blocks_nomove): Likewise.
5592         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
5593         updating BB boundaries.
5594         (tidy_fallthru_edge): Likewise.
5595         (commit_one_edge_insertion): Likewise.
5596         * cfgbuild.c (find_basic_block): Likewise.
5597         (find_basic_blocks_1): Likewise.
5598         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
5599         (try_crossjump_to_edge): Likewise.
5600         (try_optimize_cfg): Likewise.
5601         * cse.c (delete_trivially_dead_insns): Likewise.
5602         * df.c (df_insn_delete): Likewise.
5603         * doloop.c (doloop_modify): Use delete_related_insns.
5604         * emit-rtl.c (try_split): Likewise.
5605         (remove_insn): Update BB boundaries.
5606         * expect.c (connect_post_landing_pads): Use delete_related_insns.
5607         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
5608         updating BB boundaries.
5609         (propagate_block_delete_insn): Likewise.
5610         (propagate_block_delete_libcall): Likewise.
5611         * function.c (delete_handlers): Use delete_related_insns.
5612         (thread_prologue_and_epilogue_insns): Likewise.
5613         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
5614         * genpeep.c (gen_peephole): Use delete_related_insns.
5615         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
5616         BB boundaries.
5617         (find_cond_trap): Likewise.
5618         * integrate.c (save_for_inline): Use delete_related_insns.
5619         (copy_insn_list): Likewise.
5620         * jump.c (pruge_linie_number_notes): Likewise.
5621         (duplicate_loop_exit_test): Likewise.
5622         (delete_computation): Likewise.
5623         (delete_related_insn): Rename from ...; use delete_insn
5624         (delete_insn): ... this one.
5625         (redirect_jump): Use delete_related_insns.
5626         * loop.c (scan_loop): Likewise.
5627         (move_movables): Likewise.
5628         (find_and_verify_loops): Likewise.
5629         (check_dbra_loop): Likewise.
5630         * recog.c (peephole2_optimize): Likewise.
5631         * reg-stack.c (delete_insn_for_stacker): Remove.
5632         (move_for_stack_reg): Use delete_insn.
5633         * regmove.c (combine_stack_adjustments_for_block): Likewise.
5634         * reload1.c (delete_address_reloads): Use delete_related_insns.
5635         (fixup_abnormal_edges): Use delete_insn.
5636         * recog.c (emit_delay_sequence): Use delete_related_insns.
5637         (delete_from-delay_slot): Likewise.
5638         (delete_scheduled_jump): likewise.
5639         (optimize_skip): Likewise.
5640         (try_merge_delay_insns): Likewise.
5641         (full_simple_delay_slots): Likewise.
5642         (fill_slots_from_thread): Likewise.
5643         (relax_delay_slots): Likewise.
5644         (make_return_insns): Likewise.
5645         (dbr_schedule): Likewise.
5646         * rtl.h (delete_insn): Rename to delete_related_insns.
5647         (delete_insn, delete_insn_chain): New prototypes.
5648         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
5649         by df_insn_delete already.
5650         * ssa-dce.c (delete_insn_bb): Use delete_insn.
5651         * ssa.c (convert_from_ssa): Use delete_related_insns.
5652         * unroll.c (unroll_loop): Likewise.
5653         (calculate_giv_inc): Likewise.
5654         (copy_loop_body): Likewise.
5655
5656         * i386-protos.h (ix86_libcall_value, ix86_function_value,
5657         ix86_function_arg_regno_p, ix86_function_arg_boundary,
5658         ix86_return_in_memory, ix86_function_value): Declare.
5659         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
5660         new static valurables.
5661         (x86_64_reg_class): New enum
5662         (x86_64_reg_class_name): New array.
5663         (classify_argument, examine_argument, construct_container,
5664          merge_classes): New static functions.
5665         (optimization_options): Enable flag_omit_frame_pointer and disable
5666         flag_pcc_struct_return on 64bit.
5667         (ix86_libcall_value, ix86_function_value,
5668         ix86_function_arg_regno_p, ix86_function_arg_boundary,
5669         ix86_return_in_memory, ix86_function_value): New global functions.
5670         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
5671         (function_arg_advance): Handle x86_64 passing conventions.
5672         (function_arg): Likewise.
5673         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
5674         (RETURN_IN_MEMORY): Move offline.
5675         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
5676         (FUNCTION_VALUE_REGNO_P): New macro.
5677         (FUNCTION_ARG_REGNO_P): Move offline.
5678         (struct ix86_args): Add maybe_vaarg.
5679         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
5680         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
5681
5682 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
5683
5684         * s390.md: Changed attributes for scheduling.
5685         * s390.c: (s390_adjust_cost, s390_adjust_priority)
5686         Changed scheduling
5687
5688 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
5689
5690         Table-driven attributes.
5691         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
5692         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
5693         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
5694         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
5695         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
5696         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
5697         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
5698         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
5699         * tree.h (struct tree_decl): Change machine_attributes to
5700         attributes.
5701         * doc/c-tree.texi: Document that all attributes are now attached
5702         to decls and types.
5703         * c-common.c (add_attribute, attrtab, attrtab_idx,
5704         default_valid_lang_attribute, valid_lang_attribute): Remove.
5705         (attribute_tables, attributes_initialized,
5706         c_common_attribute_table, default_lang_attribute_table): New
5707         variables.
5708         (handle_packed_attribute, handle_nocommon_attribute,
5709         handle_common_attribute, handle_noreturn_attribute,
5710         handle_unused_attribute, handle_const_attribute,
5711         handle_transparent_union_attribute, handle_constructor_attribute,
5712         handle_destructor_attribute, handle_mode_attribute,
5713         handle_section_attribute, handle_aligned_attribute,
5714         handle_weak_attribute, handle_alias_attribute,
5715         handle_no_instrument_function_attribute,
5716         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
5717         handle_no_limit_stack_attribute, handle_pure_attribute): New
5718         functions.
5719         (init_attributes, decl_attributes): Rewrite to implement
5720         table-driven attributes.
5721         * c-common.h (enum attribute_flags): Move to tree.h.
5722         * c-format.c (decl_handle_format_attribute,
5723         decl_handle_format_arg_attribute): Rename to
5724         handle_format_attribute and handle_format_arg_attribute.  Update
5725         for table-driven attributes.
5726         * c-common.h (decl_handle_format_attribute,
5727         decl_handle_format_arg_attribute): Remove prototypes.
5728         (handle_format_attribute, handle_format_arg_attribute): Add
5729         prototypes.
5730         * c-decl.c (grokdeclarator): Handle attributes nested inside
5731         declarators.
5732         * c-parse.in (setattrs, maybe_setattrs): Remove.
5733         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
5734         Update to handle nested attributes properly.
5735         (maybe_resetattrs, after_type_declarator,
5736         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
5737         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
5738         properly.
5739         (make_pointer_declarator): Update to handle nested attributes
5740         properly.
5741         * doc/extend.texi: Update documentation of limits of attributes
5742         syntax.  Warn about problems with attribute semantics in C++.
5743         * target.h (struct target): Remove valid_decl_attribute and
5744         valid_type_attribute.  Add attribute_table and
5745         function_attribute_inlinable_p.
5746         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
5747         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
5748         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
5749         Add.
5750         (TARGET_INITIALIZER): Update.
5751         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
5752         definition.
5753         (function_attribute_inlinable_p): New function.  Check for the
5754         presence of any machine attributes before using
5755         targetm.function_attribute_inlinable_p.
5756         (function_cannot_inline_p): Update.
5757         * Makefile.in (integrate.o): Update dependencies.
5758         * doc/tm.texi: Update documentation of target attributes and
5759         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
5760         * tree.c (default_valid_attribute_p, valid_machine_attribute):
5761         Remove.
5762         (default_target_attribute_table,
5763         default_function_attribute_inlinable_p): New.
5764         (lookup_attribute): Update comment to clarify handling of multiple
5765         attributes with the same name.
5766         (merge_attributes, attribute_list_contained): Allow multiple
5767         attributes with the same name but different arguments to appear in
5768         the same attribute list.
5769         * tree.h (default_valid_attribute_p): Remove prototype.
5770         (struct attribute_spec): New.
5771         (default_target_attribute_table): Declare.
5772         (enum attribute_flags): Move from c-common.h.  Add
5773         ATTR_FLAG_TYPE_IN_PLACE.
5774         (default_function_attribute_inlinable_p): Declare.
5775         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
5776         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5777         (TARGET_ATTRIBUTE_TABLE): Define.
5778         (vms_attribute_table): New.
5779         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
5780         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5781         (TARGET_ATTRIBUTE_TABLE): Define.
5782         (arc_attribute_table, arc_handle_interrupt_attribute): New.
5783         * config/arm/arm.c (arm_valid_type_attribute_p,
5784         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
5785         Remove.
5786         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
5787         define.
5788         (TARGET_ATTRIBUTE_TABLE): Define.
5789         (arm_attribute_table, arm_handle_fndecl_attribute,
5790         arm_handle_isr_attribute): New.
5791         * config/avr/avr.c (avr_valid_type_attribute,
5792         avr_valid_decl_attribute): Remove.
5793         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
5794         define.
5795         (TARGET_ATTRIBUTE_TABLE): Define.
5796         (avr_attribute_table, avr_handle_progmem_attribute,
5797         avr_handle_fndecl_attribute): New.
5798         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
5799         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
5800         (TARGET_ATTRIBUTE_TABLE): Define.
5801         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
5802         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
5803         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5804         (TARGET_ATTRIBUTE_TABLE): Define.
5805         (h8300_attribute_table, h8300_handle_fndecl_attribute,
5806         h8300_handle_eightbit_data_attribute,
5807         h8300_handle_tiny_data_attribute): New.
5808         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
5809         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
5810         Remove prototypes.
5811         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
5812         declarations.
5813         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
5814         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
5815         define.
5816         (TARGET_ATTRIBUTE_TABLE): Define.
5817         (ix86_attribute_table, ix86_handle_cdecl_attribute,
5818         ix86_handle_regparm_attribute): New.
5819         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
5820         i386_pe_valid_type_attribute_p): Remove.
5821         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
5822         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
5823         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
5824         (TARGET_ATTRIBUTE_TABLE): Define.
5825         (ia64_attribute_table): New.
5826         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
5827         interrupt_ident2, model_ident1, model_ident2): Remove.
5828         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5829         (TARGET_ATTRIBUTE_TABLE): Define.
5830         (init_idents): Update.
5831         (m32r_attribute_table, m32r_handle_model_attribute): New.
5832         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
5833         Remove.
5834         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
5835         (TARGET_ATTRIBUTE_TABLE): Define.
5836         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
5837         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
5838         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5839         (TARGET_ATTRIBUTE_TABLE): Define.
5840         (mcore_attribute_table, mcore_handle_naked_attribute): New.
5841         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
5842         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
5843         (TARGET_ATTRIBUTE_TABLE): Define.
5844         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
5845         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
5846         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
5847         (TARGET_ATTRIBUTE_TABLE): Define.
5848         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
5849         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
5850         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5851         (TARGET_ATTRIBUTE_TABLE): Define.
5852         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
5853         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
5854         New.
5855         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
5856         Remove.
5857         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
5858         (TARGET_ATTRIBUTE_TABLE): Define.
5859         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
5860         New.
5861         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
5862         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5863         (TARGET_ATTRIBUTE_TABLE): Define.
5864         (v850_attribute_table, v850_handle_interrupt_attribute,
5865         v850_handle_data_area_attribute): New.
5866         * config/v850/v850-c.c (mark_current_function_as_interrupt):
5867         Return void.  Call decl_attributes instead of
5868         valid_machine_attribute.
5869
5870 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
5871
5872         * sh-protos.h (sh_pr_n_sets): Declare.
5873         * sh.c (calc_live_regs): If the initial value for PR has been copied,
5874         look at the copy to determine if PR needs to be saved.
5875         sh_pr_n_sets: New function.
5876         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
5877         (ALLOCATE_INITIAL_VALUE): Define.
5878
5879         * sh.c (initial_elimination_offset):
5880         Fix RETURN_ADDRESS_POINTER_REGNUM case.
5881
5882 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
5883
5884         * integrate.c (allocate_initial_values): New function.
5885         * integrate.h (allocate_initial_values): Declare.
5886         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
5887         here...
5888         * reload1.c (reload): And initialization of reg_equiv_memory_loc
5889         from here...
5890         * toplev.c (rest_of_compilation): To here.
5891         Call allocate_initial_values.
5892         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
5893
5894 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5895
5896         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
5897
5898 2001-09-20  DJ Delorie  <dj@redhat.com>
5899
5900         * c-typeck.c (really_start_incremental_init): Discriminate
5901         between zero-length arrays and flexible arrays.
5902         (push_init_level): Detect zero-length arrays and handle them
5903         like fixed-sized arrays.
5904         * expr.c (store_constructor): Handle zero-length arrays and
5905         flexible arrays correctly.
5906         * doc/extend.texi: Update zero-length array notes.
5907
5908 2001-09-20  Jim Wilson  <wilson@redhat.com>
5909
5910         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
5911         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
5912         for issue port conflicts.
5913         (cycle_end_fill_slots): TYPE_L instructions take two slots.
5914
5915 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
5916
5917         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
5918         on ia64.
5919
5920 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5921
5922         * fold-const.c (hashtab.h): Include.
5923         (int_const_binop): Remove FORSIZE arg and compute from type; all
5924         callers changed.
5925         Call size_int_type_wide for all single-word constants.
5926         (size_htab_hash, size_htab_eq): New functions.
5927         (size_int_type_wide): Rework to use hash table.
5928         * ggc-common.c (hashtab.h): Include.
5929         (struct d_htab_root): New struct.
5930         (d_htab_roots): New variable.
5931         (ggc_add_deletable_htab, ggc_htab_delete): New functions
5932         (ggc_mark_roots): Handle deletable htabs.
5933         * ggc-page.c (ggc_marked_p): New function.
5934         * ggc-simple.c (ggc_marked_p): Likewise.
5935         * ggc.h: Reformatting throughout.
5936         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
5937         * tree.c (init_obstacks): Make type_hash_table a deletable root.
5938         (type_hash_add): Allocate struct type_hash from GC memory.
5939         (mark_hash_entry, mark_type_hash): Deleted.
5940         (type_hash_marked_p, type_hash_mark): New functions.
5941         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
5942
5943 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
5944
5945         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
5946         than SImode.
5947
5948 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5949
5950         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
5951         array-too-large test for signed sizetype.
5952
5953 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
5954
5955         * i386.md (indirect_jump): Allow Pmode operand.
5956         (tablejump): LIkewise; perform expansion to 64bit mode.
5957         * i386.c (symbolic_operand): Allow 64bit PIC references.
5958         (pic_symbolic_operand): Likewise.
5959         (ix86_find_base_term): Strip the 64bit PIC references.
5960         (legitimate_pic_address_disp_p): Handle 64bit PIC.
5961         (legitimize_pic_address): Likewise.
5962         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
5963         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
5964
5965 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
5966
5967         * stringpool.c (get_identifier_with_length): New function.
5968         * tree.h (get_identifier_with_length): New prototype.
5969
5970 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
5971             David Edelsohn  <edelsohn@gnu.org>
5972
5973         Revert:
5974         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
5975         already sign-extended.
5976
5977         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
5978         * config/rs6000/rs6000.c (logical_operand): Always compare op as
5979         HOST_WIDE_INT.
5980         (rs6000_emit_set_long_const): Avoid unnecessary shift.
5981         (output_profile_hook): Declare label_name const.
5982         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
5983         to match constraints.
5984
5985 2001-09-19  Stan Shebs  <shebs@apple.com>
5986
5987         * alias.c: Fix typos in comments.
5988         * sched-rgn.c (init_ready_list): Ditto.
5989         * unwind-dw2.c (uw_frame_state_for): Ditto.
5990         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
5991         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
5992         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
5993
5994 2001-09-19  Richard Henderson  <rth@redhat.com>
5995
5996         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
5997         to the exit block.
5998         * Makefile.in (cfg.o): Depend on TM_P_H.
5999
6000 2001-09-19  Richard Henderson  <rth@redhat.com>
6001
6002         * config/alpha/alpha.c (local_symbol_p): Split out from ...
6003         (local_symbolic_operand): ... here.
6004         (small_symbolic_operand): Check mode.
6005         (global_symbolic_operand): New.
6006         (input_operand): Reject symbolics if explicit relocs.
6007         (call_operand): Tidy.
6008         (alpha_legitimize_address): Use movdi_er_high_g.
6009         (alpha_expand_mov): Likewise.
6010         * config/alpha/alpha-protos.h: Update.
6011         * config/alpha/alpha.h (PREDICATE_CODES): Update.
6012         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
6013         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
6014         (UNSPECV_LDGP2): Remove.
6015         (all call patterns): Use 's' not 'i' for symbolic constraint.
6016         (call_osf call_value_osf): Use call_operand.
6017         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
6018         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
6019         (prologue_ldgp_1_er): Remove.
6020         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
6021         (builtin_setjmp_receiver_er patterns): Use them.
6022         (exception_receiver_er): Likewise.
6023
6024 2001-09-19  Richard Henderson  <rth@redhat.com>
6025
6026         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
6027
6028         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
6029         and NON_LOCAL_GOTO notes.
6030         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
6031         copy over CALL_INSN_FUNCTION_USAGE.
6032
6033 2001-09-18  Catherine Moore  <clm@redhat.com>
6034
6035         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
6036         Define as 0.
6037
6038 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
6039
6040         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
6041         new-style tm_file specification.  Specify correct tm_p_file,
6042         md_file, and out_file for s390x.
6043
6044         * config/s390/linux.h, linux64.h:  Don't include other target
6045         macro header files.  Now handled via tm_file.
6046
6047         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
6048         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
6049         are defined before use.
6050
6051 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
6052
6053         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
6054         code generation only for Gnu assembler.
6055
6056 2001-09-18  Catherine Moore  <clm@redhat.com>
6057
6058         * config/stormy16 (LIB_SPEC): Remove -lnosys.
6059
6060 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
6061
6062         * config/mips/mips.c (mips_frame_set): New.
6063         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
6064         a parallel frame-related expression with a set for each register.
6065
6066 2001-09-18  Philip Blundell  <philb@gnu.org>
6067
6068         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
6069         header files.
6070
6071 2001-09-17  Dale Johannesen  <dalej@apple.com>
6072
6073         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
6074         * config/rs6000/aix.h (FIXED_R2): Define.
6075         * config/rs6000/darwin.h (FIXED_R2): Define.
6076         * config/rs6000/sysv4.h (FIXED_R2): Define.
6077
6078 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
6079
6080         * except.c (dw2_build_landing_pads): New local
6081         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
6082         barrier after clobbers.  Fixes c++/4012.
6083
6084 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6085
6086         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
6087
6088 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
6089
6090         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
6091         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
6092
6093 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6094
6095         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
6096         alloca/strcpy.
6097
6098 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
6099
6100         * cpphash.h (_cpp_lex_direct): New.
6101         * cpplex.c (_cpp_lex_token): Update.
6102         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
6103         and increment that pointer.
6104         * cppmacro.c (alloc_expansion_token): New.
6105         (lex_expansion_token): Lex macro expansion directly into
6106         macro storage.
6107
6108 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
6109
6110         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
6111
6112 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
6113
6114         * basic-block.h (free_bb_for_insn): Declare.
6115         * bb-reorder.c (label_for_bb): Use block_label.
6116         (emit_jump_to_block_after): Remove.
6117         (insert_intra_1): Do not update block_for_insn.
6118         (insert_inter_bb_scope_notes): Likewise; update bb->end
6119         * cfg.c (free_bb_for_insn): New.
6120         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
6121         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
6122         (commit_one_edge_insertion): Likewise.
6123         (commit_one_edge_insertion): Do not update BB boundary.
6124         (commit_edge_insertions): Do not call compute_bb_for_insn.
6125         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
6126         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
6127         (merge_blocks_move_successor_nojumps): Likewise.
6128         (try_crossjump_to_edge): Do not update block_for_insn.
6129         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
6130         * df.c (df_pattern_emit_later): Do not update BB boundary.
6131         (df_jump_pattern_emit_after): Likewise.
6132         (df_insn_move_before): Use emit_insn_before.
6133         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
6134          properly.
6135         (add_insn_after, add_insn_before, emit_insns_after): Update BB
6136         boundaries and basic_block_for_insn.
6137         (reorder_insns_nobb): Rename from reorder_insns.
6138         (reorder_insns): New.
6139         (emit_block_insn_before, emit_block_insn_after): Kill.
6140         * flow.c (check_function_return_warnings): Do not call
6141         compute_bb_for_insn; Do not free basic_block_for_insn.
6142         (attempt_auto_inc): Do not update basic_block_for_insn.
6143         * function.c (emit_return_into_block): Likewise;
6144         do not update BB boundaries.
6145         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
6146         (insert_insn_end_bb): Use emit_insn_before; Likewise.
6147         (pre_insert_copy_insn): Likewise.
6148         (update_ld_motion_notes): Likewise.
6149         (insert_insn_start_bb): Likewise.
6150         (replace_store_insn): Likewise.
6151         * ifcvt.c (noce_process_if_block): Likewise.
6152         (if_convert): Do not call compute_bb_for_insn.
6153         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
6154         Use emit_insn_before and emit_insn_after.
6155         * recog.c (split_all_insns): Do not update BB boundaries;
6156         Do not call compute_bb_for_insn.
6157         (peephole2_optimize): Do not update BB boundaries.
6158         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
6159         emit_insn_before.
6160         (emit_swap_insn): Likewise.
6161         (convert_regs_1): Likewise.
6162         * reload1.c (reload): Call compute_bb_for_insn.
6163         * rtl.h (reorder_insns_nobb): Declare.
6164         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
6165         * toplev.c (rest_of_compilation): Call free_bb_for_insn
6166         at places CFG is invalidated; do not call compute_bb_for_insn.
6167
6168         * cfg.c (expunge_block): Invalidate BB structure.
6169
6170         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
6171         array.
6172
6173         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
6174
6175 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
6176
6177         * cpphash.h (_cpp_lex_token): Update prototype.
6178         * cpplex.c (_cpp_lex_token): New prototype.
6179         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
6180         lex_macro_node, read_flag, do_pragma_poison): Update.
6181         * cppmacro.c (cpp_get_token, parse_params,
6182         lex_expansion_token): Update.
6183
6184 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
6185
6186         * cppmain.c (scan_translation_unit): Don't worry about
6187         putting a space after hashes.
6188         * cpplib.c (directive_diagnostics): New.
6189         (_cpp_handle_directive): Update to use directive_diagnostics.
6190         (run_directive): Don't toggle prevent_expansion.
6191         (do_line): Backup in case of the line extension.
6192         * cpplib.h (cpp_lexer_pos): Remove.
6193         * cppmacro.c (_cpp_create_definition): Precede a leading #
6194         with whitespace.
6195
6196 2001-09-15  Richard Henderson  <rth@redhat.com>
6197
6198         * c-typeck.c (comptypes): Handle zero-length arrays properly.
6199
6200 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
6201
6202         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
6203
6204 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6205
6206         PR preprocessor/3571
6207         * tradcpp.c (handle_directive): Skip non-vertical space.
6208
6209 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6210
6211         * cppmain.c (setup_callbacks): Set line callback only
6212         if outputting preprocessed source.
6213
6214 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6215
6216         * collect2.c (main): Const-ification.
6217         * gcc.c (translate_options, process_command): Use xstrdup in
6218         lieu of xmalloc/strcpy.
6219         (main): Use concat in lieu of xmalloc/strcpy/strcat.
6220
6221 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
6222
6223         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
6224         example.
6225
6226 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6227
6228         * scan-decls.c (scan_decls): Fix typo.
6229
6230 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6231
6232         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
6233         Split mlstring_pos into mls_line and mls_col.
6234         * cppinit.c (cpp_create_reader): Initialize line to 1.
6235         (cpp_destroy): Free tokenruns.
6236         (push_include): Don't update lexer_pos.
6237         * cpplex.c (unterminated, parse_string): Update.
6238         (lex_token): Don't update lexer_pos, update.
6239         * cpplib.c (if_stack): Save line instead of line + col.
6240         (start_directive, _cpp_do__Pragma, do_else, do_elif,
6241         push_conditional, _cpp_pop_buffer): Update.
6242         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
6243         (_cpp_create_definition): Update.
6244
6245 2001-09-15  Eric Christopher  <echristo@redhat.com>
6246
6247         * config/mips/abi64.h: Add support for MEABI.
6248
6249 2001-09-15  Eric Christopher  <echristo@redhat.com>
6250
6251         * config/mips/mips.md: Add unspec #2.
6252         (reload_indi): Use.
6253         (reload_outdi): Ditto.
6254         (reload_outsi): Ditto.
6255         (HILO_delay): New.
6256
6257 2001-09-15  Eric Christopher  <echristo@redhat.com>
6258             Jason Eckhardt  <jle@redhat.com>
6259
6260         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
6261         * config/mips/isa32-linux.h: New file.
6262         * config/mips/isa3264.h: Ditto.
6263         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
6264         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
6265         (output_block_mode): Support MEABI.
6266         (function_arg): Ditto. Fix floating point arg passing.
6267         (mips_va_start): Ditto.
6268         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
6269         processors.
6270         (mips_asm_file_start): Add new section to pass abi to gdb.
6271         (function_arg_pass_by_reference): Support MEABI.
6272         (mips_parse_cpu): Support mips32 and mips64 processors.
6273         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
6274         TARGET_MIPS5KC.  Support isa32 and isa64.
6275         (processor_type): Add r4kc, r5kc, r20kc.
6276         (GENERATE_MULT3_SI): New.
6277         (GENERATE_MULT3_DI): Ditto.
6278         (GENERATE_MULT3): Remove.
6279         (ISA_HAS_64BIT_REGS): Add isa == 64.
6280         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
6281         (ISA_HAS_MADD_MSUB): New.
6282         (ISA_HAS_CLZ_CLO): Ditto.
6283         (ISA_HAS_DCLZ_DCLO): Ditto.
6284         (ABI_GAS_ASM_SPEC): New.
6285         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
6286         (ASM_SPEC): Ditto.
6287         (LINK_SPEC): Ditto.
6288         (SUBTARGET_CC1_SPEC): Ditto.
6289         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
6290         (PAD_VARARGS_DOWN): Support MEABI.
6291         (HARD_REGNO_NREGS): Move to mips.c.
6292         (ASM_OUTPUT_IDENT): Add #undef.
6293         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
6294         (mulsi3): Use GENERATE_MULT3_SI.
6295         (mulsi3_mult3): Ditto.  Support mips32, mips64.
6296         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
6297         (mul_sub_si): New pattern.
6298         (unnamed splitters): New.
6299         (muldi3): Use GENERATE_MULT3_DI.
6300         (muldi3_internal2): Ditto.
6301         (movdicc): Support mips32.
6302         * config/mips/t-isa3264: New file.
6303
6304 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
6305
6306         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
6307         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
6308         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
6309
6310         * reorg.c (fill_slots_from_thread): After call to
6311         steal_delay_list_from_target, update own_thread as new_thread may
6312         have branched.
6313
6314 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
6315
6316         * cpperror.c (print_location): Take line and column, for
6317         default positioning use the previously lexed token.
6318         (_cpp_begin_message): Take line and column.
6319         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
6320         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
6321         * cpphash.h (_cpp_begin_message): Update prototype.
6322         * cppinit.c (push_include): Don't set output line.
6323         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
6324         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
6325         (do_pragma): Kludge for front ends.  Don't expand macros at all.
6326         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
6327         (struct cpp_token): Remove output_line.
6328         (struct cpp_callbacks): New member line_change.
6329         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
6330         cpp_get_token): Preserve BOL flag.
6331         (cpp_get_line): Remove.
6332         (_cpp_backup_tokens): Remove useless abort().
6333         * cppmain.c (cb_line_change): New.
6334         (scan_translation_unit): Don't worry about starting new lines here.
6335         * scan-decls.c (scan_decls): Update.
6336         * c-lex.c (c_lex, init_c_lex): Update.
6337         (cb_line_change, src_lineno): New.
6338
6339 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
6340
6341         * tree.c (append_random_chars): Generate the random
6342         characters in a reproducable fashion.
6343
6344 2001-09-14  Richard Henderson  <rth@redhat.com>
6345
6346         * config/i386/i386.c (internal_label_prefix): New.
6347         (internal_label_prefix_len): New.
6348         (override_options): Set them.
6349         (local_symbolic_operand): New.
6350         (legitimate_pic_address_disp_p): Use it.
6351         (legitimize_pic_address): Likewise.
6352
6353 2001-09-14  Marc Espie <espie@openbsd.org>
6354
6355         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
6356         correctly.
6357
6358 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
6359
6360         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
6361         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
6362
6363 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
6364
6365         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
6366         invocation of SUBREG_REGNO_OFFSET.
6367
6368         * haifa-sched.c: Fix typo in FSF copyright statement.
6369         * sched-deps.c: Fix typo in FSF copyright statement.
6370         * sched-ebb.c: Fix typo in FSF copyright statement.
6371         * sched-rgn.c: Fix typo in FSF copyright statement.
6372         * sched-vis.c: Fix typo in FSF copyright statement.
6373
6374         * config.gcc: Move inclusion of arm elf specific header files
6375         from the files themselves into the tm_file variable.  Make
6376         sure that elfos.h is included before target specific elf
6377         headers.
6378         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
6379         already defined.
6380         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
6381         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
6382         ASM_OUTPUT_CASE_LABEL): Protect definition.
6383         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
6384         not already defined.
6385         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
6386         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
6387         Remove duplicate definition.
6388         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
6389         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
6390         (RDATA_SECTION_FUNCTION): Remove redundant definition.
6391         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
6392         Remove inclusion of arm/elf.h.
6393         * config/arm/unknown-elf.h: as for conix-elf.h.
6394         (STARTFILE_SPEC): Include crti.o and crtn.o.
6395         * config/arm/linux-elf.h: as for conix-elf.h.
6396         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
6397         * config/arm/strongarm-elf.h: Remove inclusion of
6398         unknown-elf.h.
6399         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
6400         * config/arm/unknown-elf-oabi.h: Remove inclusion of
6401         unknown-elf.h and elf.h.
6402         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
6403         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
6404         ASM_WEAKEN_LABEL): Remove redundant definition.
6405         * config/arm/elf.h: Test for inclusion of elfos.h
6406         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
6407         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
6408         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
6409         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
6410         redundant definition.
6411         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
6412         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
6413         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
6414         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
6415         Add rules to build crti.o and crtn.o
6416         * crti.asm: New file.
6417         * crtn.asm: New file.
6418
6419 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
6420
6421         * c-parse.in (_yylex): Use _cpp_backup_tokens.
6422         * cpphash.h (struct tokenrun): Add prev.
6423         (struct lexer_state): Remove bol.
6424         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
6425         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
6426         : Remove.
6427         * cppinit.c (cpp_create_reader): Don't set bol.
6428         (cpp_destroy): Don't free lookaheads.
6429         * cpplex.c (lex_directive): Remove.
6430         (next_tokenrun): Update.
6431         (_cpp_lex_token): Clean up logic.
6432         (lex_token): Update to return a pointer to lexed token, since it
6433         can move to the start of the buffer.  Simpify newline handling.
6434         * cpplib.c (SEEN_EOL): Update.
6435         (skip_rest_of_line): Remove lookahead stuff.
6436         (end_directive): Line numbers are already incremented.  Revert
6437         to start of lexed token buffer if we can.
6438         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
6439         parse_answer): Use _cpp_backup_tokens.
6440         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
6441         instead.  Don't check for EOL.
6442         (do_include_common, do_line, do_pragma_system_header): Use
6443         skip_rest_of_line.
6444         * cpplib.h (BOL, _cpp_backup_tokens): New.
6445         * cppmacro.c (save_lookahead_token, take_lookahead_token,
6446         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
6447         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
6448         (builtin_macro): Don't use cpp_get_line.
6449         (cpp_get_line): Short term kludge.
6450         (parse_arg): Handle directives in arguments here.  Back up when
6451         appropriate.  Store EOF at end of argument list.
6452         (funlike_invocation_p): Use _cpp_backup_tokens.
6453         (push_arg_context): Account for EOF at end of list.
6454         (cpp_get_token): Remove lookahead stuff.  Update.
6455
6456 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6457
6458         * c-parse.in (yyerror): Const-ification and/or static-ization.
6459         * c-typeck.c (push_member_name): Likewise.
6460         * collect2.c (main): Likewise.
6461         * dbxout.c (dbxout_parms): Likewise.
6462         * diagnostic.c (format_with_decl): Likewise.
6463         * dwarf2out.c (output_ranges): Likewise.
6464         * dwarfout.c (fundamental_type_code): Likewise.
6465         * except.c (dw2_output_call_site_table): Likewise.
6466         * gcc.c (do_spec_1): Likewise.
6467         * genopinit.c (optabs): Likewise.
6468         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
6469         gen_declaration_1, handle_impent): Likewise.
6470         * protoize.c (default_include, in_system_include_dir, abspath):
6471         Likewise.
6472         * sched-vis.c (visualize_stall_cycles): Likewise.
6473         * sdbout.c (plain_type_1, sdbout_end_function,
6474         sdbout_end_epilogue): Likewise.
6475         * varasm.c (decode_reg_name): Likewise.
6476
6477         * 1750a.c (mod_regno_adjust): Likewise.
6478         * alpha.c (alpha_write_one_linkage,
6479         unicosmk_output_default_externs): Likewise.
6480         * arm.c (arm_condition_codes): Likewise.
6481         * arm.h (arm_condition_codes): Likewise.
6482         * avr.c (output_movsisf, encode_section_info): Likewise.
6483         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
6484         Likewise.
6485         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
6486         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
6487         * m88k.c (output_function_profiler): Likewise.
6488         * mips.c (mips_output_conditional_branch): Likewise.
6489         * ns32k.c (ns32k_out_reg_names): Likewise.
6490         * ns32k.h (ns32k_out_reg_names): Likewise.
6491         * pj.c (pj_output_rval): Likewise.
6492         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
6493         * sparc.c (sparc_flat_function_prologue,
6494         sparc_flat_function_epilogue): Likewise.
6495
6496 2001-09-13  Markus Werle <numerical.simulation@web.de>
6497             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6498
6499         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
6500         Aachen University of Technology".
6501
6502 2001-09-13  Andreas Schwab  <schwab@suse.de>
6503
6504         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
6505         C99.
6506
6507 2001-09-13  Richard Henderson  <rth@redhat.com>
6508
6509         * config/alpha/alpha.c (small_symbolic_operand): New.
6510         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
6511         (some_operand, input_operand): Don't handle HIGH.
6512         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
6513         (alpha_expand_mov): Likewise.
6514         (print_operand) [H]: Just print HIGH symbol.
6515         (print_operand_address): Handle small data.
6516         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
6517         (TARGET_SWITCHES): Add -msmall-data/large-data.
6518         (PIC_OFFSET_TABLE_REGNUM): New.
6519         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
6520         (PREDICATE_COES): Update.
6521         * config/alpha/alpha.md (adddi_er_high): New.
6522         (adddi_er_low): Handle small data.
6523         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
6524         prefer .sdata to .rodata.
6525         (SELECT_RTX_SECTION): Likewise.
6526
6527 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
6528
6529         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
6530         defining __size_t and leaving size_t undefined.
6531
6532 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
6533
6534         * basic-block.h (expunge_block): Declare.
6535         * cfg.c (expunge_block): Remove static declaration.
6536
6537 2001-09-12  Richard Henderson  <rth@redhat.com>
6538
6539         * integrate.c (copy_insn_list): Copy label name from
6540         NOTE_INSN_DELETED_LABEL.
6541
6542 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6543
6544         * c-common.c (c_tree_code_name): Const-ification.
6545         * c-decl.c (c_decode_option): Likewise.
6546         * c-typeck.c (warn_for_assignment): Likewise.
6547         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
6548         Likewise.
6549         * cppinit.c (output_deps): Likewise.
6550         * dependence.c (dependence_string, direction_string): Likewise.
6551         * dwarf2out.c (output_ranges): Likewise.
6552         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
6553         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
6554         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
6555         standard_startfile_prefix, standard_startfile_prefix_1,
6556         standard_startfile_prefix_2, tooldir_base_prefix,
6557         standard_bindir_prefix, find_a_file): Likewise.
6558         * genattrtab.c (make_length_attrs): Likewise.
6559         * gencheck.c (tree_codes): Likewise.
6560         * genemit.c (gen_split): Likewise.
6561         * genrecog.c (special_mode_pred_table): Likewise.
6562         * graph.c (graph_ext): Likewise.
6563         * protoize (default_include): Likewise.
6564         * reload.c (reload_when_needed_name): Likewise.
6565         * sched-vis.c (visualize_stall_cycles): Likewise.
6566         * tlink.c (recompile_files): Likewise.
6567         * toplev.c (decode_g_option): Likewise.
6568         * tradcpp.c (output_deps): Likewise.
6569         * varasm.c (decode_reg_name): Likewise.
6570
6571         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
6572         Const-ification.
6573         * arm.md: Likewise.
6574         * avr.c (avr_regnames, encode_section_info): Likewise.
6575         * c4x.c (float_reg_names): Likewise.
6576         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
6577         * elfos.h (const_section): Likewise.
6578         * i386.c (ix86_comp_type_attributes): Likewise.
6579         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
6580         * ia64/aix.h (UNIQUE_SECTION): Likewise.
6581         * ia64.c (type_names): Likewise.
6582         * m68hc11.c (reg_class_names): Likewise.
6583         * m88k.c (m_options): Likewise.
6584         * mips.c (mips_output_conditional_branch, mips_unique_section):
6585         Likewise.
6586         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
6587         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
6588         ultra_code_names): Likewise.
6589         * sparc.h (OVERRIDE_OPTIONS): Likewise.
6590
6591 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
6592
6593         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
6594         Use --fatal-warnings option for gas.
6595         * configure: Rebuilt.
6596
6597 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
6598
6599         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
6600
6601 2001-09-11  Jim Wilson  <wilson@redhat.com>
6602
6603         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
6604
6605 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
6606
6607         * builtins.c (c_strlen): Treat an offset too large for a
6608         HOST_WIDE_INT as out of range.
6609
6610 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
6611
6612         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
6613         (EDGE_CRITICAL_P): New predicate.
6614         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
6615         handling.
6616         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
6617         (dump_edge_info): Remove "crit".
6618         * cfganal.c (mark_critical_edges): Kill.
6619         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
6620         * cfgcleanup.c (cleanup_cfg): Likewise.
6621         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
6622         (find_spanning_tree): Likewise.
6623         * reg-stack.c (convert_regs_1): Likewise.
6624         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
6625
6626         * basic-block.h (create_basic_block_structure): New.
6627         (create_basic_block): Update prototype.
6628         (force_nonfallthru): New.
6629         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
6630         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
6631         handle updating of block_for_insn, creating of empty BBs and BBs at
6632         the end of INSN chain.
6633         (create_basic_block): New function.
6634         (split_block): Use create_basic_block.
6635         (force_nonfallthru_and_redirect): Break out from ...; cleanup
6636         (redirect_edge_and_branch_force): ... here.
6637         (force_nonfallthru): New.
6638         (split_edge): Rewrite to use force_nonfallthru and create_block.
6639         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
6640         (find_basic_blocks): Free basic_block_for_insn.
6641         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
6642
6643         * cfg.c: Fix formating.
6644         * cfgcleanup.c: Fix formating.
6645         (merge_blocks, tail_recursion_label_p): Return bool.
6646         (merge_blocks_move_predecessor_nojumps,
6647          merge_blocks_move_successor_nojumps): Return void.
6648
6649 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
6650
6651         * configure.in: Check whether assembler supports section merging.
6652         * config.in: Rebuilt.
6653         * configure: Rebuilt.
6654         * varasm.c (variable_section, output_constant_pool): Pass alignment
6655         to SELECT_SECTION and SELECT_RTX_SECTION.
6656         (mergeable_string_section): New.
6657         (mergeable_constant_section): New.
6658         (default_elf_asm_named_section): Output SECTION_MERGE and
6659         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
6660         * output.h (mergeable_string_section): New.
6661         (mergeable_constant_section): New.
6662         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
6663         * toplev.c (flag_merge_constants): New.
6664         (f_options): Add -fmerge-constants and -fmerge-all-constants
6665         options.
6666         (toplev_main): Default to -fno-merge-constants if not optimizing.
6667         * flags.h (flag_merge_constants): Add extern.
6668         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
6669         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
6670         argument.
6671         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
6672         Define if assembler has working .subsection -1 support.
6673         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
6674         Put constant into special SHF_MERGE sections if the linker should
6675         attempt to merge duplicates.
6676         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
6677         macro argument.
6678         Put constant into special SHF_MERGE sections if the linker should
6679         attempt to merge duplicates.
6680         * config/alpha/elf.h: Likewise.
6681         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
6682         has working .subsection -1 support.
6683         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
6684         SELECT_SECTION.
6685         * config/svr3.h: Likewise.
6686         * config/darwin.h: Likewise.
6687         * config/arm/aof.h: Likewise.
6688         * config/arm/linux-elf.h: Likewise.
6689         * config/avr/avr.h: Likewise.
6690         * config/c4x/c4x.h: Likewise.
6691         * config/d30v/d30v.h: Likewise.
6692         * config/i386/dgux.h: Likewise.
6693         * config/i386/osfrose.h: Likewise.
6694         * config/i386/sco5.h: Likewise.
6695         * config/i386/svr3gas.h: Likewise.
6696         * config/ia64/aix.h: Likewise.
6697         * config/m32r/m32r.h: Likewise.
6698         * config/m68k/m68k.h: Likewise.
6699         * config/m88k/dgux.h: Likewise.
6700         * config/m88k/m88k.h: Likewise.
6701         * config/mcore/mcore-pe.h: Likewise.
6702         * config/mips/mips.h: Likewise.
6703         * config/pa/pa.h: Likewise.
6704         * config/pa/pa-linux.h: Likewise.
6705         * config/romp/romp.h: Likewise.
6706         * config/rs6000/sysv4.h: Likewise.
6707         * config/rs6000/xcoff.h: Likewise.
6708         * config/s390/linux.h: Likewise.
6709         * config/sparc/sparc.h: Likewise.
6710         * config/sparc/sysv4.h: Likewise.
6711         * config/stormy16/stormy16.h: Likewise.
6712         * config/v850/v850.h: Likewise.
6713         * config/vax/vms.h: Likewise.
6714         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
6715         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
6716         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
6717         default_elf_asm_named_section for SHF_MERGE sections.
6718
6719 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
6720
6721         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
6722         is OK.
6723
6724 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
6725
6726         * c-common.c (split_specs_attrs): Allow for empty attributes with
6727         empty TREE_PURPOSE.  Fixes PR c/4294.
6728
6729 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
6730
6731         * basic-block.h (cached_make_edge, make_single_succ): New.
6732         (make_edge): Remove first parameter.
6733         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
6734         * cfg.c (cached_make_edge): Rename from make_edge; return newly
6735         created edge; use obstack allocation.
6736         (make_edge, make_single_succ_edge): New.
6737         (first_removed_edge): New static variable.
6738         (init_flow): Initialize first_removed_edge and n_edges.
6739         (clear_edges): Use remove_edge.
6740         (flow_delete_block): Likewise.
6741         (remove_edge): Add removed edges to the removed edges list.
6742         (split_block, redirect_edge_and_branch_force, split_edge):
6743         Use make_edge.
6744         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
6745         (add_noreturn_fake_exit_edges): Likewise.
6746         (connect_infinite_loops_to_exit): Liekwise.
6747         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
6748         Use cached_make_edge.
6749         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
6750         * profile.c (branch_prob): Update make_edge call.
6751         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
6752
6753 2001-09-11  Richard Henderson  <rth@redhat.com>
6754
6755         * config/alpha/alpha.c: Tidy formatting.
6756         (local_symbolic_operand): Verify mode.
6757         (alpha_sa_mask): Ignore unicos for eh_return.
6758         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
6759         * config/alpha/alpha.md (umk divsi patterns): Remove.
6760         (extendsfdf2): Remove unicos check.
6761         (tablejump): Merge vms and unicos code; always use direct set
6762         plus label_ref use.
6763
6764 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
6765
6766         * config.gcc (alpha*-*-unicosmk*): New target.
6767
6768         * config/alpha/alpha-protos.h (symbolic_operand,
6769         unicosmk_add_call_info_word, unicosmk_add_extern,
6770         unicosmk_defer_case_vector, unicosmk_unique_section,
6771         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
6772         unicosmk_asm_file_start, unicosmk_asm_file_end,
6773         unicosmk_output_common): Declare.
6774
6775         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
6776         direct_return, function_arg, alpha_va_start, alpha_va_arg,
6777         alpha_does_function_need_gp, alpha_end_function): Support Cray
6778         Unicos/Mk.
6779         (alpha_init_machine_status, alpha_mark_machine_status,
6780         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
6781         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
6782         unicosmk_asm_named_section, unicosmk_insert_attributes,
6783         unicosmk_section_type_flags, symbolic_operand,
6784         unicosmk_output_module_name, unicosmk_output_default_externs,
6785         unicosmk_output_dex, unicosmk_output_externs,
6786         unicosmk_output_addr_vec, unicosmk_ssib_name,
6787         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
6788         unicosmk_asm_file_end, unicosmk_output_common,
6789         unicosmk_section_type_flags, unicosmk_unique_section,
6790         unicosmk_add_call_info_word, unicosmk_text_section,
6791         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
6792         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
6793         unicosmk_dex_count, unicosmk_special_name): New.
6794         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
6795         TARGET_ABI_UNICOSMK.
6796         (get_aligned_mem, alpha_expand_unaligned_load,
6797         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
6798         alpha_expand_unaligned_store_words): Support big-endian mode.
6799         (print_operand): Likewise. New format specifier 't'. Use
6800         TARGET_AS_SLASH_BEFORE_SUFFIX.
6801         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
6802         (alpha_pv_save_size): Update with above change.
6803         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
6804         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
6805         Unicos/Mk.
6806
6807         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
6808         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
6809         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
6810         (EXTRA_CONSTRAINT): New constraint 'U'.
6811         (PREDICATE_CODES): Add symbolic_operand.
6812
6813         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
6814         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
6815         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
6816         (integer division and modulus patterns): Split in default and
6817         Unicos/Mk versions.
6818         (*divmodsi_internal, *divmoddi_internal): Disable for
6819         TARGET_ABI_UNICOSMK.
6820         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
6821         little-endian and big-endian versions.
6822         (ext, ins, msk): Likewise.
6823         (extv, extzv, insv): Support big-endian mode.
6824         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
6825         (call_umk, call_value_umk, *call_umk, tablejump_umk,
6826         *tablejump_umk_internal, *call_value_umk): New.
6827         (*movdi_nofix): Add pattern for loading an address into a register on
6828         TARGET_ABI_UNICOSMK.
6829         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
6830         (umk_mismatch_args, arg_home_umk): New.
6831         (various insns): Don't use mov, fmov, nop, fnop and unop.
6832         (realign): Support TARGET_ABI_UNICOSMK.
6833
6834         * config/alpha/unicosmk.h: New file.
6835         * config/alpha/t-unicosmk: New file.
6836
6837         * fixinc/inclhack.def (unicosmk_restrict): New.
6838         * fixinc/fixincl.x: Regenerate.
6839
6840         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
6841         (wchar_t): Check for and define __WCHAR_T__.
6842
6843 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
6844
6845         * combine.c (simplify_shift_const): Treat shifts by the mode
6846         size as undefined.
6847
6848 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
6849
6850         * cpphash.h (struct tokenrun): New.
6851         (struct cpp_context): New member bol.
6852         (struct cpp_reader): New members.
6853         (_cpp_init_tokenrun): New.
6854         * cppinit.c (cpp_create_reader): Set up the token runs.
6855         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
6856         (lex_token): New internalised version of _cpp_lex_token.  Don't
6857         handle directives or the multiple include opimisation here any
6858         more.  Simply lex a token.
6859         * cpplib.c (run_directive): Clear bol.
6860         (_cpp_pop_buffer): Set bol.
6861         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
6862         arguments.
6863
6864 2001-09-11  Michael Meissner  <meissner@redhat.com>
6865
6866         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
6867         give an error if the user uses -mfp32.
6868         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
6869         default options.
6870         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
6871         floating point register size.
6872         (EXTRA_SPECS): Add CPP_FPR_SPEC.
6873
6874         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
6875         HOST_WIDE_INT_PRINT_DEC to properly print the result of
6876         int_size_in_bytes.
6877         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
6878         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
6879
6880 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
6881
6882         * dbxout.c (dbxout_parms): Fix typo in comment.
6883         * unroll.c (loop_find_equiv_value): Ditto.
6884         * toplev.c (rest_of_compilation): Ditto.
6885         * loop.c (scan_loop): Ditto.
6886         * dwarf2out.c (struct dw_fde_struct): Ditto.
6887
6888 2001-09-10  Zack Weinberg  <zackw@panix.com>
6889
6890         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
6891         copying identifier when we're just going to throw it away.
6892         (parse_identifier_slow): New routine to handle abnormal cases.
6893         (_cpp_lex_token): Update call site.
6894
6895         * hashtable.c (ht_lookup): Don't assume that the string we've
6896         been given is NUL-terminated.
6897         * system.h: #define __builtin_expect(a, b) to (a) if not
6898         GCC >=3.0.
6899
6900 2001-09-10  Michael Meissner  <meissner@redhat.com>
6901
6902         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
6903         binutils, gdb.
6904
6905 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
6906
6907         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
6908
6909 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6910
6911         * builtins.c (c_getstr): Correct thinko in last change and further
6912         cleanup.
6913
6914 2001-09-10  Tim Freeman <tim@fungibole.com>
6915
6916         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
6917         into varray's and register them as roots with the garbage
6918         collector so they are not collected too soon.
6919
6920 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
6921
6922         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
6923         New.
6924         * basic-block.h (flow_obstack, label_value_list,
6925         tail_recursion_label_list): Declare
6926         (tidy_fallthru_edges): Declare.
6927         (expunge_block, last_loop_beg_note): Delete.
6928         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
6929         * cfg.c: New file
6930         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
6931         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
6932         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
6933         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
6934         expunge_block, flow_delete_block, compute_bb_for_insn,
6935         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
6936         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
6937         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
6938         try_redirect_by_replacing_jump, last_loop_beg_note,
6939         redirect_edge_and_branch, redirect_edge_and_branch_force,
6940         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
6941         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
6942         commit_edge_insertions, dump_flow_info, debug_flow_info,
6943         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
6944         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
6945         Move here from flow.c
6946         * cfganal.c: New file.
6947         (forwarder_block_p, can_fallthru, mark_critical_edges,
6948          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
6949          find_unreachable_blocks, create_edge_list, free_edge_list,
6950          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
6951          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
6952          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
6953          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
6954          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
6955          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
6956         Move here from flow.c
6957         * cfgbuild.c: New file
6958         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
6959          make_edges, find_basic_blocks_1, find_basic_blocks,
6960          find_sub_basic_blocks): Move here from flow.c
6961         * cfgcleanup.c: New file.
6962         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
6963          merge_blocks_move_predecessor_nojumps,
6964          merge_blocks_move_successor_nojumps, merge_blocks,
6965          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
6966          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
6967         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
6968         if succeeded.
6969         * cfgloop.c: New file
6970         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
6971          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
6972          flow_loop_exit_edges_find, flow_loop_nodes_find,
6973          flow_loop_pre_header_scan, flow_loop_pre_header_find,
6974          flow_loop_tree_node_add, flow_loops_tree_build,
6975          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
6976          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
6977         Move here from flow.c
6978         * flow.c: Remove everything moved elsewhere
6979         * output.h (cleanup_cfg): Return bool.
6980
6981         * bb-reorder.c (reorder_block_def): Remove 'index'.
6982         (insert_intra_1): Add argument BB, set block for new note.
6983         (make_reorder_chain): Do not depdent on BB indexes.
6984         (make_reorder_chain_1): Do not use BB indexes.
6985         (label_for_bb): Likewise; set BB for new insn.
6986         (emit_jump_to_block_after): Likewise.
6987         (fixup_reoder_chain): Sanity check that all basic blocks
6988         are chained; verify newly created insn chain; remove
6989         undocnitional jump simplifying; Do not use BB indexes;
6990         properly initialize count and frequency information;
6991         dump reordered sequence.
6992         (insert_intra_bb_scope_notes): update call of insert_intra_1.
6993         (insert_inter_bb_scope_notes): Set block for new insn.
6994         (reorder_basic_blocks): Dump flow info before reoredering.
6995
6996 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6997
6998         * alias.c (clear_reg_alias_info): Use K&R format definition.
6999         Avoid unsigned warning.
7000         * builtins.c: Use "unsigned int", not "unsigned".
7001         (target_char_cast): Use host_integerp and tree_low_cst.
7002         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
7003         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
7004         (c_getstr): Likewise.
7005         (std_expand_builtin_va_arg): Use int_size_in_bytes.
7006         (builtin_memcpy_read_str): Avoid unsigned warning.
7007         (expand_builtin_memcpy): Alignments are unsigned.
7008         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
7009         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
7010         * predict.c (expensive_function_p): LIMIT now unsigned.
7011         * resource.c (mark_target_live_regs): Make some vars unsigned.
7012         * sdbout.c: Use "unsigned int", not "unsigned".
7013         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
7014         (sdbout_source_line): Likewise.
7015         (sdbout_record_type_name): Remove "const" for NAME declaration.
7016         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
7017
7018 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
7019
7020         * calls.c (store_one_arg): Expand comment.
7021
7022 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
7023
7024         * calls.c (store_one_arg): Make sure that the entire argument is
7025         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
7026
7027 2001-09-09  Richard Henderson  <rth@redhat.com>
7028
7029         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
7030
7031 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
7032
7033         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
7034
7035 2001-09-09  Richard Henderson  <rth@redhat.com>
7036
7037         * config/alpha/alpha.c (alpha_next_sequence_number): New.
7038         (alpha_this_literal_sequence_number): New.
7039         (alpha_this_gpdisp_sequence_number): New.
7040         (some_operand, input_operand): Add HIGH.
7041         (local_symbolic_operand): New.
7042         (alpha_encode_section_info): New.
7043         (alpha_legitimate_address_p): Allow LO_SUM.
7044         (alpha_legitimize_address): Generate HIGH+LO_SUM.
7045         (alpha_expand_mov): Likewise.
7046         (secondary_reload_class): Check memory_operand not general_operand
7047         for FP_REGS test.
7048         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
7049         (alpha_expand_unaligned_store): Likewise.
7050         (alpha_expand_unaligned_load_words): Likewise.
7051         (alpha_expand_unaligned_store_words): Likewise.
7052         (alpha_expand_block_clear): Likewise.
7053         (print_operand): Handle %#, %*, %H.
7054         (print_operand_address): Handle LO_SUM.
7055         (find_lo_sum): New.
7056         (alpha_does_function_need_gp): Use it.
7057         (alpha_expand_block_move): Fix signed compare warnings.
7058         (alpha_sa_mask, alpha_align_insns): Likewise.
7059         * config/alpha/alpha-protos.h: Update.
7060         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
7061         (MASK_EXPLICIT_RELOCS): New.
7062         (TARGET_SWITCHES): Add -mexplicit-relocs.
7063         (EXTRA_CONSTRAINT): Add 'T'.
7064         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
7065         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
7066         (ENCODE_SECTION_INFO): Out line.
7067         (REDO_SECTION_INFO_P): New.
7068         (STRIP_NAME_ENCODING): New.
7069         (ASM_OUTPUT_LABELREF): New.
7070         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
7071         (PREDICATE_CODES): Update.
7072         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
7073         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
7074         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
7075         builtin_setjmp_receiver_er, exception_receiver_1_er,
7076         call_value_osf_1_er): New patterns.
7077         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
7078         (movqi, movhi, movsi): Add explicit $31 base register to lda.
7079         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
7080         (FINAL_PRESCAN_INSN): New.
7081
7082 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
7083
7084         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
7085
7086 2001-09-08  Andreas Jaeger  <aj@suse.de>
7087
7088         * i386.h (TARGET_SWITCHES): Fix description.
7089
7090 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
7091
7092         * rs6000.c (num_insns_constant): Compute number of instructions
7093         more accurately.
7094
7095         * doc/install.texi: Explain AIX exception handling work-around.
7096         Update URL for AIX fixes.
7097
7098 2001-09-07  Jim Wilson  <wilson@redhat.com>
7099
7100         * alias.c (clear_reg_alias_info): New.
7101         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
7102         * rtl.h (clear_reg_alias_info): Declare.
7103
7104 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
7105
7106         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
7107         available.
7108         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
7109         (m16m,edivm,emulm): Change declaration to match definition.
7110
7111 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
7112
7113         * reload.c (push_reload): Check for subreg_lowpart_p instead of
7114         SUBREG_BYTE being 0 when determining if the inner part of a subreg
7115         can be reloaded.
7116
7117 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
7118
7119         * c-common.c (signed_or_unsigned_type): Handle machine mode types
7120         which have no corresponding C type.
7121         * fold_const.c (target_isinf,target_isnan,target_negative): Update
7122         the representation of 64-bit doubles to work with 64-bit ints.
7123
7124 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
7125
7126         * config/mips/mips.c (override_options): Do not override ISA when ABI
7127         specified if MIPS_CPU_STRING_DEFAULT was specified.
7128
7129 2001-09-07  Richard Henderson  <rth@redhat.com>
7130
7131         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
7132         (express_from_1): Wrap lines.
7133         * rtlanal.c (commutative_operand_precedence): Rename from
7134         operand_preference; export.
7135         * rtl.h: Declare it.
7136         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
7137         (simplify_binary_operation): Invoke simplify_plus_minus on
7138         (CONST (PLUS ...)) as well.
7139         (struct simplify_plus_minus_op_data): New.
7140         (simplify_plus_minus_op_data_cmp): New.
7141         (simplify_plus_minus): Use them.  Avoid infinite recursion with
7142         simplify_binary_operation wrt CONST.
7143
7144 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
7145
7146         * h8300-protos.h (general_operand_dst_push): Remove.
7147         * h8300.c (general_operand_dst_push): Likewise.
7148         * h8300.h (OK_FOR_T): Likewise.
7149         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
7150         * h8300.md (pushqi_h8300): New.
7151         (pushqi_h8300hs): Likewise.
7152         (pushqi): Likewise.
7153         (pushhi_h8300): Likewise.
7154         (pushhi_h8300hs): Likewise.
7155         (pushhi): Likewise.
7156
7157 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7158
7159         * genattrtab.c (attr_printf): First arg is unsigned.
7160         Clean up formatting of callers.
7161
7162 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
7163
7164         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
7165         registers.
7166
7167 2001-09-07  Andreas Jaeger  <aj@suse.de>
7168
7169         * i386.h (TARGET_SWITCHES): Fix descriptions.
7170
7171 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7172
7173         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
7174
7175 2001-09-06  Ira Ruben  <ira@apple.com>
7176
7177         Remove OP_IDENTIFIER.
7178         * tree.def (OP_IDENTIFIER): Remove.
7179         * tree.c (tree_node_kind enum): Remove op_id_kind.
7180         (tree_node_kind_names): Remove "op_identifiers".
7181         (make_node): Remove OP_IDENTIFIER test.
7182         (build_op_identifier): Removed because it isn't being used.
7183         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
7184         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
7185
7186 2001-09-06  Richard Henderson  <rth@redhat.com>
7187
7188         * simplify-rtx.c (simplify_binary_operation): Revert last change.
7189
7190 2001-09-06  Richard Henderson  <rth@redhat.com>
7191
7192         * simplify-rtx.c (simplify_binary_operation): Simplify contents
7193         of CONST.
7194
7195 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7196
7197         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
7198         number used for CR register.
7199
7200 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
7201                           Joern Rennecke (amylaar@cygnus.com)
7202
7203         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
7204         * h8300.c (initial_offset): Handle offset between RP and FP.
7205         (h8300_return_addr_rtx): New function.
7206         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
7207         return register.
7208         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
7209         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
7210         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
7211         (CAN_ELIMINATE, REGISTER_NAMES):
7212         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
7213
7214 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
7215
7216         Remove TYPE_NONCOPIED_PARTS.
7217         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
7218         (struct tree_type): Remove noncopied_parts.
7219         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
7220         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
7221         (fixed_type_p): Remove.
7222         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
7223         (expand_expr, MODIFY_EXPR): Likewise.
7224         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
7225         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
7226
7227 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
7228
7229         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
7230         compiler warnings.
7231         (mask64_operand): Likewise.
7232         (includes_rldic_lshift_p): Likewise.
7233         (includes_rldicr_lshift_p): Likewise.
7234
7235 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
7236
7237         * objc/objc-act.c (build_message_expr): If a class method cannot
7238         be found, do not issue a warning if a corresponding instance
7239         method exists in the root class.
7240
7241 2001-09-05  Richard Henderson  <rth@redhat.com>
7242
7243         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
7244
7245 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
7246
7247         * function.c (ggc_mark_struct_function): Mark f->outer.
7248         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
7249         * integrate.c (output_inline_function): ... not here.
7250
7251 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
7252
7253         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
7254
7255         * i386.c (size_cost): New static variable.
7256         (override_function): Use size_cost when -Os is specified.
7257
7258         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
7259         properly;  Use current_function_calls_eh_return.
7260         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
7261         use leave to avoid dependency chain.
7262
7263         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
7264         get BB loop_depth instead of computing it from LOOP notes.
7265
7266         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
7267
7268 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7269
7270         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7271         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
7272         UNALIGNED_DOUBLE_INT_ASM_OP): Define
7273
7274 2001-09-05  Jeffrey A Law  (law@cygnus.com)
7275             Jason Merrill (jason@redhat.com)
7276
7277         * stor-layout.c (layout_type): Complain if an array's size can
7278         not be represented in a size_t.
7279
7280         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
7281
7282 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
7283
7284         * gcc.c: (process_command) Add parentheses around assignment
7285         used as truth value.
7286
7287 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
7288
7289         * config/mips/mips.c (save_restore_insns): Don't mark any register
7290         save slots as unchanging if current_function_calls_eh_return.
7291
7292 2001-09-05  Richard Henderson  <rth@redhat.com>
7293
7294         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
7295         * config/alpha/alpha-protos.h: Declare it.
7296         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
7297         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
7298         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
7299         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
7300         (REG_OK_FOR_BASE_P): Select one of the above.
7301
7302 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
7303
7304         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
7305         (crti.o): Prefix name of object file with $(T).
7306         (crtn.o): Likewise.
7307
7308 2001-09-05  David S. Miller  <davem@redhat.com>
7309
7310         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
7311         * config/sparc/linux64.h: Likewise.
7312
7313 2001-09-05  Andreas Jaeger  <aj@suse.de>
7314
7315         * doc/invoke.texi (i386 Options): -mwide-multiply is not
7316         available anymore, remove the documentation.
7317         (i386 Options): Fix typo, cleanup index entries.
7318
7319         * prefix.c (concat): Remove, we can use the version from liberty.
7320
7321 2001-09-05  Richard Henderson  <rth@redhat.com>
7322
7323         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
7324         New functions split out of md file expanders.
7325         * config/alpha/alpha-protos.h: Declare them.
7326         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
7327
7328 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
7329
7330         * cppmacro.c (funlike_invocation_p): No need to restore context.
7331
7332 2001-09-04  Richard Henderson  <rth@redhat.com>
7333
7334         * reload.c (push_reload): Export.
7335         * reload.h (push_reload): Declare it.
7336
7337         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
7338         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
7339         * config/alpha/alpha.c (alpha_legitimize_address): New.
7340         (alpha_legitimize_reload_address): Likewise.
7341         * config/alpha/alpha-protos.h: Declare them.
7342
7343 2001-09-04  Stan Shebs  <shebs@apple.com>
7344
7345         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
7346         * config/darwin.c (machopic_stub_name): Account for internally
7347         generated lib calls such as memcpy.
7348
7349 2001-09-04  Richard Henderson  <rth@redhat.com>
7350
7351         * unwind.h (_UA_END_OF_STACK): New flag.
7352         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
7353
7354 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
7355
7356         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
7357
7358 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
7359
7360         * config/mips/mips.c (save_restore_insns): Change base_offset to
7361         fp_offset in second call to mips_emit_frame_related_store.
7362
7363 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
7364
7365         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
7366         sometimes be represented as a NOTE of type
7367         NOTE_INSN_DELETED_LABEL.
7368         (Insns): Document NOTE_INSN_DELETED_LABEL.
7369
7370 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
7371
7372         * c-common.h (tree_dump_index): Add more comments.
7373         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
7374         (dump_option_value_info): New struct.
7375         (dump_options): New array.
7376         (dump_switch_p): Parse switch options symbolically.
7377         * doc/invoke.texi (-fdump-ast): Rename to ...
7378         (-fdump-tree): ... here. Document that options are symbolic, and
7379         not all are applicable.
7380
7381 2001-09-04  David S. Miller  <davem@redhat.com>
7382
7383         * config/sparc/sparc.md (define_splits): Kill constraints.
7384
7385         Cleanup redundant and unused insn attributes.
7386         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
7387         binary, and move.  Mark ialu as default.
7388         (commented out define_function_unit "alu"): Kill.
7389         (define_attr "use_clobbered"): Kill.
7390         (whole file): Kill address insn type references.  Replace
7391         all unary/binary/move references with ialu.
7392         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
7393         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
7394         TYPE_IALU.
7395
7396         Simplify length insn attribute and make more judicious use
7397         of insn attribute defaulting.
7398         * config/sparc/sparc.md (all insns with length > one): Mark as
7399         insn type multi if real instructions, else use default if
7400         it is a forced splitter.
7401         (all insns with length == one): Use default insn length.
7402         (all insns of type ialu): Use default insn type.
7403
7404         Fix erroneous insn attribute settings.
7405         (addx): Set insn type to misc.
7406         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
7407         const_umulsidi3_sp64): Set insn type to imul.
7408
7409         Track SFmode vs DFmode insns according to UltraSPARC
7410         scheduling rules.
7411         * config/sparc/sparc.md ("fptype"): New attribute, default
7412         to "single".
7413         (all DFmode single insns): Mark as fptype "double".
7414
7415 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
7416
7417         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
7418
7419 2001-09-03  Richard Henderson  <rth@redhat.com>
7420
7421         * function.h (struct function): Add arg_pointer_save_area_init.
7422         * function.c (expand_function_end): Init arg_pointer_save_area.
7423         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
7424         when called from a nested function.
7425
7426 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
7427
7428         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
7429         is enabled.
7430
7431 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
7432
7433         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
7434
7435 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
7436
7437         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
7438         (emit_push_insn): Use specified padding direction when
7439         STACK_PUSH_CODE is POST_INC.
7440
7441         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
7442
7443 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7444
7445         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
7446
7447 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
7448
7449         * cppinit.c (cpp_start_read): Free the imacros list as we
7450         traverse it.  Don't free the chains before returning.
7451         (_cpp_push_next_buffer): Only try pushing buffers if we've
7452         completed -imacros handling.
7453
7454 2001-08-31  Eric Christopher  <echristo@redhat.com>
7455
7456         * gcc.c (handle_braces): Add explaination for abort.
7457
7458 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
7459
7460         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
7461         move adjustment of bitpos instead.
7462
7463 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
7464
7465         * function.c: Remove all_functions.  Make outer_function_chain
7466         static.
7467         (init_function_start): Don't add new function structure to
7468         all_functions.
7469         (find_function_data, push_function_context_to,
7470         pop_function_context_from, put_var_into_stack,
7471         trampoline_address): Update for changed structure element names.
7472         (push_function_context_to): Disentangle.
7473         (free_after_compilation): Also free F.
7474         (expand_dummy_function_end): Don't free cfun here.
7475         (put_var_into_stack): Comment why we can't use find_function_data here.
7476         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
7477         (mark_function_chain): Split into maybe_mark_struct_function and
7478         ggc_mark_struct_function.  Export the latter.
7479         (init_function_once): Mark from cfun and outer_function_chain;
7480         not all_functions.
7481
7482         * function.h (struct function): Kill next_global.  Rename next
7483         to outer.  All users updated to match.
7484         (all_functions, outer_function_chain): Don't declare.
7485
7486         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
7487         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
7488         don't touch f->inlinable, after calling rest_of_compilation.
7489
7490         * tree.h: Forward-declare struct function.  Prototype
7491         ggc_mark_struct_function.
7492
7493 2001-08-31  Kazu Hirata  <kazu@hxi.com>
7494
7495         * config/h8300/h8300.md (*andorhi3): Fix typos.
7496
7497 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7498
7499         * calls.c (emit_library_call_value): Don't use a fixed
7500         argument after VA_CLOSE, i.e. out of scope in traditional C.
7501
7502         * emit-rtl.c (gen_rtvec): Likewise.
7503
7504 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7505
7506         * Makefile.in (c-pragma.o): Depend on output.h.
7507         (reorg.o): Depend on except.h.
7508
7509         * c-pragma.c: Include output.h.
7510
7511         * reorg.c: Include except.h.
7512
7513         * unwind-dw2.c: Call __builtin_alloca, not alloca.
7514
7515 2001-08-31  Richard Henderson  <rth@redhat.com>
7516
7517         * sched-deps.c (add_dependence): Don't elide dependency if the
7518         conditional used by insn is modified in elem.
7519
7520 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
7521
7522         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
7523
7524 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
7525
7526         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
7527         dump_switch_p.
7528
7529 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
7530
7531         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
7532         function.
7533         (stormy16_asm_out_constructor): New function.
7534         (TARGET_ASM_CONSTRUCTOR): Define.
7535         (TARGET_ASM_DESTRUCTOR): Define.
7536
7537 2001-08-31  Andreas Jaeger  <aj@suse.de>
7538
7539         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
7540         * loop.c (add_label_notes): Likewise.
7541         * reload.c (find_reloads): Likewise.
7542         * config/sh/sh.c (machine_dependent_reorg): Likewise.
7543
7544 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
7545
7546         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
7547         code here.  Take _Unwind_{W,Sw}ord*.
7548         (read_encoded_value_with_base): Use them.
7549         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
7550         words.
7551         (extract_cie_info): Simplify read_?leb128 handling.
7552         (execute_stack_op, execute_cfa_program): Likewise.
7553         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
7554
7555 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
7556
7557         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
7558         the frame pointer to pop the stack if convenient.
7559
7560         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
7561         Don't use post-increment before combine.
7562         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
7563         a call-saved register.
7564
7565 2001-08-31  Andreas Jaeger  <aj@suse.de>
7566
7567         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
7568         code was correct.
7569
7570 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
7571
7572         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
7573         not DIV/MOD, of course.
7574
7575 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
7576
7577         * rtl.def: Undo my patch commited 2001-08-27.
7578
7579         * genattrtab.c: Ditto.
7580
7581         * rtl.h: Ditto.
7582
7583         * sched-int.h: Ditto.
7584
7585         * target-def.h: Ditto.
7586
7587         * target.h: Ditto.
7588
7589         * haifa-sched.c: Ditto.
7590
7591         * sched-rgn.c: Ditto.
7592
7593         * sched-vis.c: Ditto.
7594
7595         * Makefile.in: Ditto.
7596
7597         * doc/md.texi: Ditto.
7598
7599         * doc/tm.texi: Ditto.
7600
7601         * doc/contrib.texi: Ditto.
7602
7603         * doc/gcc.texi: Ditto.
7604
7605         * genattrtab.h: Remove it.
7606
7607         * genautomata.c: Remove it.
7608
7609         * genattr.c: Undo my patch and Richard Henderson's patch commited
7610         2001-08-27.
7611
7612 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
7613
7614         * config.gcc (h8300-*-elf*): New case.
7615         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
7616         (SUBTARGET_CPP_SPEC): Define.
7617         (EXTRA_SPECS): Define.
7618         (SUBTARGET_EXTRA_SPECS): Define.
7619         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
7620         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
7621
7622 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
7623
7624         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
7625         (LIB2FUNCS_EXTRA): Define.
7626         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
7627         config/h8300/fixunssfsi.c: New file.
7628
7629 2001-08-30  Kazu Hirata  <kazu@hxi.com>
7630
7631         * config/h8300/h8300.md (zero_extendqihi2): Changes to
7632         define_expand to accommodate target-specific attributes.
7633         (anonymous zero_extendqihi2 patterns): New.
7634
7635 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
7636
7637         * h8300.md (*andorhi3): New pattern.
7638
7639 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
7640
7641         * h8300.c (dosize): Fix test for "sub".
7642
7643 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
7644
7645         * c-typeck.c (pointer_diff): Try to eliminate common term before
7646         doing conversions.
7647
7648 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
7649
7650         * config/arm/arm.c (arm_compute_initial_elimination_offset):
7651         Account for the saves of the FP registers.
7652
7653         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
7654         (TEXT_SECTION_ASM_OP): Define.
7655         (INIT_SECTION_ASM_OP): Define.
7656         (FINI_SECTION_ASM_OP): Define.
7657         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
7658         (RDATA_SECTION_FUNCITON): Provide prototype.
7659
7660 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
7661
7662         * reload1.c (move2add_note_store): Correct typo checking for
7663         argument pushes.
7664
7665 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
7666
7667         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
7668         note should not be considered outside the libcall block.
7669
7670 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7671
7672         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
7673
7674 2001-08-29  Kazu Hirata  <kazu@hxi.com>
7675
7676         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
7677
7678 2001-08-29  Kazu Hirata  <kazu@hxi.com>
7679
7680         * config/h8300/h8300-protos.h: Add a prototype for
7681         emit_logical_op.
7682         * config/h8300/h8300.c (emit_logical_op): New.
7683         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
7684         (andsi3): Likewise.
7685         (iorhi3): Likewise.
7686         (iorsi3): Likewise.
7687         (xorhi3): Likewise.
7688         (xorsi3): Likewise.
7689
7690 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7691
7692         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
7693         comparison with rtx INTVAL.
7694         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
7695         expression.
7696         * pa.h (FUNCTION_ARG_SIZE): Likewise.
7697
7698 2001-08-29  Kazu Hirata  <kazu@hxi.com>
7699
7700         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
7701         comment typos.
7702
7703 2001-08-29  Kazu Hirata  <kazu@hxi.com>
7704
7705         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
7706         (reg n) to (mem (pre_dec (reg n))
7707         (anonymous movsi pattern): Likewise.
7708
7709 2001-08-29  Kazu Hirata  <kazu@hxi.com>
7710
7711         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
7712
7713 2001-08-29  Kazu Hirata  <kazu@hxi.com>
7714
7715         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
7716         several special constants.
7717
7718 2001-08-29  Kazu Hirata  <kazu@hxi.com>
7719
7720         * config/h8300/lib1funcs.asm: Fix comment typos.
7721
7722 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7723
7724         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
7725         Fix format specifier warnings.
7726
7727         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
7728         inet_makeaddr, semctl): Prototype.
7729
7730         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
7731         (save_restore_insns): Use base_offset, not gp_offset.
7732
7733         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
7734         (ASM_OUTPUT_BYTE): Fix format specifier warning.
7735
7736 2001-08-29  Richard Henderson  <rth@redhat.com>
7737
7738         * bb-reorder.c (function_tail_eff_head): New.
7739         (record_effective_endpoints): Set it.
7740         (fixup_reorder_chain): Use it.
7741
7742 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7743
7744         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
7745
7746 2001-08-28  Dale Johannesen  <dalej@apple.com>
7747
7748         * config/darwin.c (machopic_function_base_name): Add const
7749         qualifier to a string.
7750         (darwin_encode_section_info): Ditto.
7751
7752 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7753
7754         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
7755         function definition.
7756
7757 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
7758
7759         * df.h (struct df): Add rts_order variable.
7760
7761         * df.c (df_visit_next_rts): New function.
7762         (df_visit_next): Renamed to df_visit_next_rc
7763         (df_analyse_1): Allocate/compute/free rts_order as well.
7764         (df_rd_global_compute): Use df_visit_next_rc instead of
7765         df_visit_next.
7766         (df_ru_global_compute): Use df_visit_next_rts instead of
7767         df_visit_next.
7768
7769         * flow.c (flow_reverse_top_sort_order_compute): New function.
7770
7771         * basic-block.h: Add prototype.
7772
7773 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
7774
7775         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
7776         blocks, the BB_REACHABLE is now set, rather than aux being
7777         non-NULL. Update the test to reflect this.
7778
7779 2001-08-28  Eric Christopher  <echristo@redhat.com>
7780
7781         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
7782         config/mips/crti.asm: Ditto.
7783
7784 2001-08-28  Eric Christopher <echristo@redhat.com>
7785             Richard Henderson <rth@redhat.com>
7786
7787         * c-pragma.h (add_weak): Move prototype from here...
7788         * output.h (add_weak): ... to here.
7789         * varasm.c (add_weak): Fix typo.
7790         * config/mips/crti.asm: New file.
7791         * config/mips/crtn.asm: Ditto.
7792         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
7793         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
7794         (INVOKE__main): Ditto.
7795         (INIT_SECTION_ASM_OP): New.
7796         (FINI_SECTION_ASM_OP): Ditto.
7797         (STARTFILE_SPEC): Add crti.
7798         (ENDFILE_SPEC): Add crtn.
7799         * config/mips/elf64.h: Same.
7800         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
7801         Remove.
7802         * config/mips/vxworks.h: Ditto.
7803         * config/mips/t-elf: Support crti and crtn.
7804
7805 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
7806
7807         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
7808         INSN_LIST.
7809
7810 2001-08-28  Richard Henderson  <rth@redhat.com>
7811
7812         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
7813         (one_cmplbi2 splitter): Remove redundant test.
7814
7815 2001-08-28  Dale Johannesen  <dalej@apple.com>
7816
7817         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
7818
7819 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
7820
7821         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
7822
7823 2001-08-28  Stan Shebs  <shebs@apple.com>
7824
7825         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
7826         (UNALIGNED_SHORT_ASM_OP): Define.
7827         (UNALIGNED_INT_ASM_OP): Define.
7828
7829 2001-08-28  Will Cohen  <wcohen@redhat.com>
7830
7831         * config/rs6000/rs6000.md (store_multiple): Correct RTL
7832         generation for first set.
7833
7834 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
7835
7836         * flow.c (redirect_edge_succ_nodup): Return new edge.
7837         (try_simplify_condjump): Use new edge.
7838         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
7839
7840         * cse.c (cse_basic_block): Skip note instructions.
7841
7842 2001-08-27  Richard Henderson  <rth@redhat.com>
7843
7844         * combine.c (combine_simplify_rtx): Don't reverse condition
7845         if there is no reverse for the condition.
7846         (simplify_comparison): Don't simplify subregs from INT to FP.
7847
7848         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
7849         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
7850         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
7851         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
7852         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
7853         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
7854
7855 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
7856
7857         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
7858         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
7859         (pushqi1): New.
7860         (adddi_dilshr32, adddi_dishl32): Only data register can be
7861         source for mem destination.
7862
7863         * expmed.c (store_bit_field): Ignore adjustment to bitpos
7864         and use bitnum to decide about register move.
7865
7866 2001-08-27  Richard Henderson  <rth@redhat.com>
7867
7868         * genattr.c (main): Emit state_t even when not doing scheduling.
7869
7870 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
7871             Richard Henderson  <rth@redhat.com>
7872
7873         * gcse.c (reg_first_set, reg_last_set): Replace with ...
7874         (reg_avail_info, current_bb): ... these.
7875         (oprs_unchanged_p, record_last_reg_set_info): Use them.
7876         (compute_hash_table): Likewise.
7877
7878 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
7879
7880         * flow.c (verify_flow_info): Use checksums to verify edges.
7881
7882 2001-08-27  Richard Henderson  <rth@redhat.com>
7883
7884         * genautomata.c (expand_automata): Always create a description.
7885
7886 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
7887
7888         * optabs.c (expand_binop): Correctly handle the carry in multiword
7889         add/subtract operations.
7890
7891 2001-08-27  Fred Fish  <fnf@be.com>
7892
7893         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
7894         __SIZE_TYPE__.
7895
7896 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
7897
7898         * reload.c (find_reloads_toplev): Back out this change:
7899
7900         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
7901
7902         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
7903         mem if the address is a mode_dependent_address_p.
7904
7905 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
7906
7907         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
7908         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
7909         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
7910         RTL constructions.
7911
7912         * genattr.c (main): New variable num_insn_reservations.  Increase
7913         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
7914         pipeline hazard recognizer interface.
7915
7916         * genattrtab.h: New file.
7917
7918         * genattrtab.c: Include genattrtab.h.
7919         (attr_printf, check_attr_test, make_internal_attr,
7920         make_numeric_value): Move protypes into genattrtab.h.  Define them
7921         as external.
7922         (num_dfa_decls): New global variable.
7923         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
7924         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
7925         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
7926         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
7927
7928         * genautomata.c: New file.
7929
7930         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
7931
7932         * sched-int.h: (curr_state): Add the external definition for
7933         automaton pipeline interface.
7934         (haifa_insn_data): Add comments for members blockage and units.
7935
7936         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
7937         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
7938         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
7939         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
7940         TARGET_SCHED_DFA_POST_CYCLE_INSN,
7941         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
7942         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
7943         macros.
7944         (TARGET_SCHED): Use the new macros.
7945
7946         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
7947         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
7948         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
7949         dfa_bubble): New members in gcc_target.sched.
7950
7951         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
7952         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
7953         (insn_queue): Redefine it as pointer to array.
7954         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
7955         INSN_QUEUE_SIZE.
7956         (max_insn_queue_index_macro_value): New variable.
7957         (curr_state, dfa_state_size, ready_try): New varaibles for
7958         automaton interface.
7959         (ready_element, ready_remove, max_issue): New function prototypes
7960         for automaton interface.
7961         (choose_ready): New function prototype.
7962         (insn_unit, blockage_range): Add comments.
7963         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
7964         FUNCTION_UNITS_SIZE == 0.
7965         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
7966         actual_hazard, potential_hazard): Add comments.
7967         (insn_cost): Use cost -1 as undefined value.  Remove
7968         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
7969         pipeline interface.
7970         (ready_element, ready_remove): New functions for automaton
7971         interface.
7972         (schedule_insn): Add new code for automaton pipeline interface.
7973         (queue_to_ready): Add new code for automaton pipeline interface.
7974         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
7975         (debug_ready_list): Print newline when the queue is empty.
7976         (max_issue): New function for automaton pipeline interface.
7977         (choose_ready): New function.
7978         (schedule_block): Add new code for automaton pipeline interface.
7979         Print ready list before scheduling each insn.
7980         (sched_init): Add new code for automaton pipeline interface.
7981         Initiate insn cost by -1.
7982         (sched_finish): Free the current automaton state and finalize
7983         automaton pipeline interface.
7984
7985         * sched-rgn.c: Include target.h.
7986         (init_ready_list, new_ready, debug_dependencies): Add new code for
7987         automaton pipeline interface.
7988
7989         * sched-vis.c: Include target.h.
7990         (get_visual_tbl_length): Add code for automaton interface.
7991         (target_units, print_block_visualization):  Add comments.
7992
7993         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
7994         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
7995         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
7996         (getruntime.o, genautomata.o): New entries.
7997         (genattrtab.o): Add new dependency file genattrtab.h.
7998         (genattrtab): Add new dependencies.  Link it with `libm.a'.
7999         (getruntime.o, hashtab.o): New entries for canadian cross.
8000
8001         * doc/md.texi: Description of automaton based model.
8002
8003         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
8004         Add comments.
8005         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
8006         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
8007         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
8008         TARGET_SCHED_DFA_POST_CYCLE_INSN,
8009         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
8010         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
8011         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
8012         hook descriptions.
8013         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
8014         MAX_DFA_ISSUE_RATE): New macro descriptions.
8015
8016         * doc/contrib.texi: Add dfa based scheduler contribution.
8017
8018         * doc/gcc.texi: Add more information about genattrtab.
8019
8020 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
8021
8022         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
8023         an RTL basic block.
8024
8025 2001-08-27  Richard Henderson  <rth@redhat.com>
8026
8027         * function.c (expand_function_end): Don't init arg_pointer_save_area.
8028         (get_arg_pointer_save_area): New.  Create an init it here.
8029         (fix_lexical_addr): Use it.
8030         * function.h: Declare it.
8031         * builtins.c (expand_builtin_setjmp_receiver): Use it.
8032         * stmt.c (expand_nl_goto_receiver): Use it.
8033
8034 2001-08-27  Richard Henderson  <rth@redhat.com>
8035
8036         * final.c (final_scan_insn): Don't enter APP_ON mode for
8037         empty asm strings.
8038
8039         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
8040         alignment for assemble_integer for DW_EH_PE_aligned.
8041         * except.c (output_function_exception_table): Likewise.
8042
8043 2001-08-26  Andreas Jaeger  <aj@suse.de>
8044
8045         * c-tree.h: Add prototyp for c_sizeof_nowarn.
8046
8047 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
8048
8049         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
8050
8051 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
8052
8053         * config/rs6000/rs6000.c (mask_operand): Rewrite without
8054         bit-shifting loop.
8055         (mask64_operand): Likewise.
8056         (rldic_operand): Delete.
8057         (includes_lshift64_p): Delete.
8058         (includes_rldic_lshift_p): New function.
8059         (includes_rldicr_lshift_p): New function.
8060         (print_operand): Don't call rldic_operand in case 'W'.
8061         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
8062         (includes_lshift64_p): Remove.
8063         (includes_rldic_lshift_p): Declare.
8064         (includes_rldicr_lshift_p): Declare.
8065         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
8066         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
8067         Replace match_operand rldic_operand predicate with
8068         const_int_operand.  Replace includes_lshift64_p condition with
8069         includes_rldic_lshift_p.
8070         <ashldi3_internal 64 bit rldicr patterns>: New.
8071
8072 2001-08-27  Andreas Jaeger  <aj@suse.de>
8073
8074         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
8075         * errors.c: Likewise.
8076         * final.c: Likewise.
8077         * dwarf2asm.c: Likewise.
8078         * doprint.c (checkit): Likewise.
8079         * diagnostic.c: Likewise.
8080         * collect2.c: Likewise.
8081         * calls.c: Likewise.
8082         * c-semantics.c (build_stmt): Likewise.
8083         * c-format.c (status_warning): Likewise.
8084         * c-errors.c (pedwarn_c99): Likewise.
8085         * builtins.c (validate_arglist): Likewise.
8086         * config/pj/pj.c (pj_printf): Likewise.
8087         * fix-header.c: Likewise.
8088         * gcc.c: Likewise.
8089         * gcov.c (fnotice): Likewise.
8090         * gensupport.c (message_with_line): Likewise.
8091         * mips-tfile.c: Likewise.
8092         * protoize.c (notice): Likewise.
8093         * read-rtl.c (fatal_with_file_and_line): Likewise.
8094         * rtl-error.c: Likewise.
8095         * tradcpp.c: Likewise.
8096         * tree.c: Likewise.
8097         * cp/tree.c (build_min_nt): Likewise.
8098         (build_min): Likewise.
8099         * cp/lex.c: Likewise.
8100         * cp/errfn.c: Likewise.
8101         * cp/rtti.c (create_pseudo_type_info): Likewise.
8102
8103 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
8104
8105         * df.c (df_uses_record): Return after recording all uses
8106         in ASM_OPERANDS.
8107
8108 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
8109
8110         * df.c (df_insn_modify): Realloc the INSN table here, if
8111         necessary, here, too.
8112
8113 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
8114
8115         * config/mips/mips.c (mips_function_value): Handle complex return
8116         values.
8117
8118 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
8119
8120         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
8121         unshared.
8122         * reload.c (make_memloc): Copy result if it is still
8123         reg_equiv_memory_loc[regno] on return.
8124         (subst_reloads) [ENABLE_CHECKING]: Check that none of
8125         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
8126         reg_equiv_mem are modified by the substitutions.
8127
8128 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
8129
8130         * predict.c (expensive_function_p): New.
8131         * rtl.h (expensive_function_p): Declare.
8132         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
8133         (use_fast_prologue_epilogue): New static variable.
8134         (expand_prologue): Set it; emit short prologues if unset.
8135         (expand_epilogue): Likewise.
8136
8137 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
8138
8139         * config.gcc: Add stormy16-*-elf case.
8140         * config/stormy16/stormy-abi: New file.
8141         * config/stormy16/stormy16-lib2.c: New file.
8142         * config/stormy16/stormy16-protos.h: New file.
8143         * config/stormy16/stormy16.c: New file.
8144         * config/stormy16/stormy16.h: New file.
8145         * config/stormy16/stormy16.md: New file.
8146         * config/stormy16/t-stormy16: New file.
8147
8148 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
8149
8150         * i386.h (no-accumulate-outgoing-args): Use proper mask.
8151
8152 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
8153
8154         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
8155         descriptor members are pointer size, not constant 4.
8156         * config/rs6000/rs6000.md (define_splits): Remove more unused
8157         constraints.
8158
8159 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8160
8161         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
8162
8163 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
8164
8165         * cp/rtti.c (VPARAMS): Fix parameter.
8166
8167 2001-08-24  Zack Weinberg  <zackw@panix.com>
8168
8169         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
8170         to zero.
8171         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
8172         to switch.
8173         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
8174         in if controlling use of insv.
8175         (extract_bit_field): Likewise, for extv and extzv.
8176
8177 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
8178
8179         * i386.md (movcc peep2): Fix load of 0.
8180
8181 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8182
8183         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
8184         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
8185
8186 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
8187
8188         * c-pragma.h: Move weak_syms and weak_decls...
8189         * varasm.c: ...here.  Now static.
8190         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
8191         depend on HANDLE_PRAGMA_WEAK.
8192
8193         * c-common.c (c_alignof, c_alignof_expr): Move here...
8194         * c-typeck.c: ...from here.
8195         * c-tree.h, c-common.h: Adjust.
8196
8197 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
8198
8199         * config/ia64/ia64.c (rws_update): If !pred, set write_count
8200         instead of incrementing it.
8201
8202         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
8203         asm ready, don't try to move them all into the same array element.
8204
8205 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
8206
8207         * function.c (thread_prologue_and_epilogue_insns): Avoid
8208         fallthru flag on edge to exit.
8209
8210         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
8211
8212         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
8213         dead edges.
8214
8215 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
8216
8217         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
8218         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
8219         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
8220         Remove prototype.
8221
8222 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
8223
8224         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
8225         replace "GNU CC" with "GCC".
8226
8227 2001-08-23  Richard Henderson  <rth@redhat.com>
8228
8229         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
8230         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
8231         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
8232         Need GR between FR and not GR_AND_FR.
8233         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
8234         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
8235         AR regs before GR regs.
8236         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
8237         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
8238         (REGISTER_MOVE_COST): Update.
8239         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
8240
8241 2001-08-23  Richard Henderson  <rth@redhat.com>
8242
8243         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
8244         a register class.
8245
8246 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
8247
8248         * reload1.c (emit_reload_insns): Don't look for notes
8249         on a NULL store_insn.
8250
8251 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8252
8253         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
8254         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
8255         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
8256         format specifier warnings.
8257         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
8258
8259 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
8260
8261         * config/i386/i386-protos.h: Correct declaration of
8262         i386_pe_asm_named_section.
8263
8264 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8265
8266         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
8267         variable i.
8268         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
8269
8270 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
8271
8272         * cpperror.c (print_location): Don't show _Pragma.
8273         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
8274         and file change callback generation here.
8275         (stack_include_file): Update use of cpp_push_buffer.
8276         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
8277         (struct cpp_buffer): Remove type, pfile members.
8278         * cppinit.c (cpp_handle_option): Use free_chain.
8279         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
8280         (skip_escaped_newlines, get_effective_char, lex_percent): Take
8281         a cpp_reader rather than a cpp_buffer.
8282         (skip_escaped_newlines, get_effective_char, skip_block_comment,
8283         skip_line_comment, parse_string, lex_percent, lex_dot,
8284         _cpp_lex_token): Update accordingly.
8285         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
8286         generation here.
8287         (cpp_push_buffer): Update prototype.
8288         (run_directive): Update use of cpp_push_buffer.
8289         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
8290         handle_assertion): Update use of run_directive.
8291         * cpplib.h (enum cpp_buffer_type): Remove.
8292         (cpp_push_buffer): Update prototype.
8293         * fix-header.c (read_scan_file): Update.
8294
8295 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
8296
8297         * gcc.c (struct prefix_list): Change prefix to const char *.
8298
8299 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
8300
8301         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
8302
8303 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
8304
8305         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
8306         from a new MEM.
8307
8308         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
8309         a squeezable note.
8310         * rtl.h: Adjust.
8311         * ifcvt.c (dead_or_predicable): Adjust.
8312         * loop.c (find_and_verify_loops): Adjust.
8313         * stmt.c (expand_end_case): Adjust.
8314         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
8315         head and end insn pointers in the basic block, not just local copies.
8316         (merge_blocks_move_predecessor_nojumps): Likewise.
8317
8318 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
8319
8320         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
8321         bitmap.h, builtin-types.def, builtins.c, builtins.def,
8322         c-aux-info.c, c-common.c, c-common.def, c-common.h,
8323         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
8324         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
8325         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
8326         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
8327         conditions.h, config.gcc, configure.frag, configure.in,
8328         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
8329         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
8330         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
8331         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
8332         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
8333         emit-rtl.c, errors.c, errors.h, except.c, except.h,
8334         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
8335         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
8336         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
8337         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
8338         gencheck.c, gencodes.c, genconfig.c, genemit.c,
8339         genextract.c, genflags.c, gengenrtl.c, genmultilib,
8340         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
8341         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
8342         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
8343         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
8344         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
8345         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
8346         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
8347         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
8348         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
8349         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
8350         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
8351         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
8352         params.h, predict.c, predict.def, predict.h, prefix.c,
8353         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
8354         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
8355         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
8356         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
8357         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
8358         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
8359         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
8360         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
8361         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
8362         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
8363         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
8364         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
8365         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
8366         xcoffout.h: replace "GNU CC" with "GCC".
8367
8368 2001-08-21  Richard Henderson  <rth@redhat.com>
8369
8370         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
8371         (final_scan_insn): Consider jump tables data even if we have no
8372         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
8373         ADDR_VEC_ALIGN.
8374         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
8375         (ASM_OUTPUT_CASE_END): Remove.
8376         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
8377         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
8378         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
8379
8380 2001-08-21  Richard Henderson  <rth@redhat.com>
8381
8382         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
8383         at barrier insns.  Emit stop bits before barriers.
8384
8385         * flow.c (flow_find_cross_jump): Don't consider unconditional
8386         return insns for commoning.
8387
8388         * final.c (compute_alignments): Fix typo.
8389
8390         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
8391         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
8392         (store_bit_field): Use mode_for_extraction more places.
8393         (extract_bit_field): Likewise.
8394
8395 2001-08-21  Zack Weinberg  <zackw@panix.com>
8396
8397         * caller-save.c: Don't include insn-codes.h.
8398         (reg_save_code, reg_restore_code): Make arrays of int.
8399         All uses updated to match.
8400         (insert_save, insert_restore): No need to initialize "code"
8401         variable upon declaration.
8402         * Makefile.in: update dependencies; fix typo in clean rule.
8403
8404 2001-08-21  Richard Henderson  <rth@redhat.com>
8405
8406         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
8407         (merge_if_block): Handle fallout from same.
8408
8409 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8410
8411         * builtins.c (type_to_class): Fix typo in last change.
8412
8413 2001-08-21  Richard Henderson  <rth@redhat.com>
8414
8415         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
8416         ia64_asm_output_label.
8417
8418         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
8419         copy of gp while the real gp register contains garbage.
8420
8421 2001-08-21  Zack Weinberg  <zackw@panix.com>
8422
8423         * expmed.c (mode_for_extraction): New function.
8424         (store_bit_field, extract_bit_field): Use it.
8425         * expr.h: Prototype it and provide an enum for its first argument.
8426
8427         * combine.c, function.c, recog.c: Don't include insn-codes.h.
8428         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
8429         and digging through the insn_data tables.
8430         * Makefile.in: Update dependencies.
8431
8432 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
8433
8434         * cppfiles.c (stack_include_file): line-map.c now handles include
8435         depth.
8436         (handle_missing_handler): Similarly.
8437         (_cpp_execute_include): Similarly.
8438         (_cpp_pop_file_buffer): Similarly.
8439         * cpphash.h (struct cpp_reader): Remove system_include_depth,
8440         buffer_stack_depth and include_depth.
8441         * cpplib.c (do_include_common): line-map.c now handles include depth.
8442         (cpp_push_buffer): Similarly.
8443         (_cpp_pop_buffer): Similarly.
8444         * cppmacro.c (builtin_macro): Update.
8445         * line-map.c (init_line_maps): Set depth.
8446         (add_line_map): Increment "used" earlier.  Update and use the
8447         include depth.
8448         (trace_include): Use the include depth.
8449         * line-map.h (struct line_maps): New member depth.
8450
8451 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
8452
8453         * cppfiles.c (stack_include_file): Don't handle -H here.
8454         * cppinit.c (cpp_start_read): Set include tracing after
8455         cpp_post_options and after stacking the main file.
8456         * line-map.c (trace_include): New.
8457         (init_line_maps, add_line_map): Update.
8458         * line-map.h (struct line_maps): New member trace_includes.
8459
8460 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
8461
8462         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
8463         * cppfiles.c (stack_include_file): Only stack a file if there
8464         is something to do.  Return a boolean indicating whether a
8465         buffer was stacked or not.
8466         (_cpp_execute_include): Similarly.
8467         (_cpp_read_file): Similarly.
8468         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
8469
8470 2001-08-21  Sam Steingold  <sds@gnu.org>
8471
8472         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
8473         (RECACHE): keep obufp_before_macroname up to date
8474
8475 2001-08-21  Zack Weinberg  <zackw@panix.com>
8476
8477         * stmt.c: Don't include insn-codes.h.
8478         (expand_end_case): Machine specific logic moved to expr.c.
8479         No need to worry about __builtin_classify_type.
8480         (check_for_full_enumeration_handling, emit_case_nodes):
8481         Kill #if 0 blocks.
8482
8483         * builtins.o (expand_builtin_classify_type): Split up so code
8484         can be shared with fold_builtin_classify_type.
8485         (type_to_class, fold_builtin_classify_type): New functions.
8486         (fold_builtins): Handle __builtin_classify_type.
8487
8488         * expr.c (do_tablejump): Now static.
8489         (case_values_threshold, try_casesi, try_tablejump): New;
8490         code mostly from stmt.c (expand_end_case).
8491         (expr.h): Update prototypes.
8492
8493         * Makefile.in (stmt.o): Update dependencies.
8494
8495 2001-08-21  Will Cohen  <wcohen@redhat.com>
8496
8497         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
8498         declaration of variable i.
8499         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
8500         declaration of variable i.
8501
8502 2001-08-21  Richard Henderson  <rth@redhat.com>
8503
8504         * crtstuff.c: Fix thinko last change.  Move list tails to start
8505         of CRT_END section.  Tidy ifdefs.
8506         (__EH_FRAME_BEGIN__): Always static for ELF.
8507         (__do_global_ctors_1): Rename from __frame_dummy.
8508         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
8509         name change; don't hide __EH_FRAME_BEGIN__.
8510
8511 2001-08-21  Richard Henderson  <rth@redhat.com>
8512
8513         * gdbinit.in: Move break on exit after break on fancy_abort.
8514
8515         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
8516         sized types.
8517
8518 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
8519
8520         * cpphash.h (_cpp_push_next_buffer): New.
8521         * cppinit.c (do_includes): Remove.
8522         (push_include, free_chain, _cpp_push_next_buffer): New.
8523         (cpp_start_read): Use them to rework command line option handling.
8524         (cpp_handle_option): Combine handling of -include and -imacros.
8525         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
8526         appropriate.  Always insert missing \n at EOF.
8527         * cpplib.c (start_directive): Get the directive position right.
8528         * cppmain.c (cb_file_change): Always print the first line, unless
8529         preprocessed.
8530
8531 2001-08-20  Andreas Jaeger  <aj@suse.de>
8532
8533         * profile.c (compute_branch_probabilities): Remove extra new-line
8534         in error message.
8535         * flow.c (verify_flow_info): Likewise.
8536
8537 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
8538
8539         * basic-block.h (basic_block): Add new field 'flags'.
8540         (BB_REACHABLE): Define.
8541         (expunge_block): Declare.
8542         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
8543         (EXIT_BLOCK_PTR): Ditto.
8544         (expunge_block): Remove static declaration.
8545         (cleanup_cfg): Clear bb->aux on every basic block.
8546         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
8547         computing reachability.
8548         (delete_unreachable_blocks): Delete block b if b->flags has
8549         BB_REACHABLE unset.
8550
8551 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
8552
8553         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
8554
8555 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8556
8557         * sparc.c (sparc_variable_issue): Fix typo in last change.
8558
8559 2001-08-20  Richard Henderson  <rth@redhat.com>
8560
8561         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
8562
8563 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8564
8565         * pa.h (RETURN_IN_MEMORY): Improve comment.
8566
8567 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
8568
8569         * doc/invoke.texi (Profiling options): Clarify the interactions
8570         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
8571
8572 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
8573
8574         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
8575         command.
8576
8577 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
8578
8579         * gcc.c (make_relative_prefix): Allocate a sufficiently large
8580         buffer.
8581
8582 2001-08-20  Richard Henderson  <rth@redhat.com>
8583
8584         * final.c (end_final): Fix typo last change.
8585
8586 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
8587
8588         * cppinit.c (init_standard_includes): The returned buffer
8589         is already malloc-ed.
8590         * gcc.c (add_prefix): Similarly.
8591         * prefix.c (translate_name): Update to support clear buffer
8592         ownership rules.
8593         (update_path): Similarly.  Be sure to free any newly allocated
8594         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
8595         (tr): New function.
8596         * prefix.h (update_path): Update prototype and document.
8597         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
8598         up and update to new buffer ownership rules.
8599         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
8600
8601 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
8602
8603         * final.c (compute_alignments): New function.
8604         (init_insn_lengths): Do not care label_align.
8605         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
8606         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
8607         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
8608         (shorted_branches): Realloc label_align array; do
8609         not call init_insn_lengths; Do not care about loop alignments.
8610         * output.h (compute_alignments): Declare.
8611         * toplev.c (rest_of_compilation): Call compute_alignments.
8612         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
8613
8614         * predict.c (block_info_def): Add npredecesors, remove nvisited;
8615         change visited to tovisit.
8616         (propagate_freq): Use faster traversing algorithm.
8617         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
8618         to tovisit; reverse meaning.
8619
8620         * predict.c (struct block_info_def): Remove nvisited.
8621         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
8622         (estimate_bb_frequencies): Call mark_dfs_back_edges.
8623
8624 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
8625
8626         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
8627         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
8628         (TARGET_FUSED_MADD): New.
8629         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
8630         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
8631         the multiply-add instructions.
8632
8633 2001-08-19  Richard Henderson  <rth@redhat.com>
8634
8635         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
8636         is aligned to pointer size.
8637
8638 2001-08-19  Richard Henderson  <rth@redhat.com>
8639
8640         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
8641         display markers during final schedule.
8642
8643 2001-08-19  Richard Henderson  <rth@redhat.com>
8644
8645         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
8646
8647 2001-08-19  Richard Henderson  <rth@redhat.com>
8648
8649         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
8650         in the same string.
8651         (ASM_NAME_TO_STRING): Remove.
8652         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
8653         in the same string.  Remove support for expressions.
8654
8655 2001-08-19  Richard Henderson  <rth@redhat.com>
8656
8657         * config/i386/i386.md (tablejump): Make an expander; handle
8658         pic relative addressing here.
8659         (tablejump_1): Rename from tablejump_pic.
8660         (casesi): Remove.
8661
8662 2001-08-19  Richard Henderson  <rth@redhat.com>
8663
8664         * regclass.c (fix_register): Fix typo.
8665
8666 2001-08-18  Richard Henderson  <rth@redhat.com>
8667
8668         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
8669         (struct _Unwind_Context): Expand br_loc to hold it.
8670         (uw_frame_state_for): Handle leaf functions better.
8671         (uw_update_reg_address): Update for br_loc change.
8672
8673 2001-08-18  Richard Henderson  <rth@redhat.com>
8674
8675         * crtstuff.c: Move list heads before code that uses them.
8676         (__JCR_LIST__): Remove initial null.
8677         (frame_dummy, __frame_dummy): Do java registration here ...
8678         (__do_global_ctors_aux): ... not here.
8679
8680         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
8681         (__do_global_dtors_aux): Update to match.
8682         (__JCR_LIST__, __do_jv_register_classes): New.
8683         (.init): Call it.
8684         * config/ia64/crtend.asm (__JCR_END__): New.
8685         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
8686         instead of an indirect LTOFF22 reloc.
8687
8688 2001-08-18  Richard Henderson  <rth@redhat.com>
8689
8690         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
8691         * regclass.c (init_reg_sets_1): Fix typo.
8692         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
8693         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
8694         (ia64_compute_frame_size): Make ar.unat live when in use.
8695         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
8696         for ar.pfs; remove ar.unat handling.
8697         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
8698         call-saved.
8699         (PREDICATE_CODES): Add ar_pfs_reg_operand.
8700         * config/ia64/ia64-protos.h: Update decls.
8701         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
8702         (sibcall_pic): Likewise.
8703
8704 2001-08-18  Richard Henderson  <rth@redhat.com>
8705
8706         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
8707         pred_rel_mutex when searching for insn_group_barrier.
8708         * config/ia64/ia64.md (cycle_display): Combine the expander
8709         and insn patterns.
8710
8711         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
8712         bit before asm as needed.
8713
8714 2001-08-18  Richard Henderson  <rth@redhat.com>
8715
8716         * timevar.def (TV_MACH_DEP): New.
8717         * toplev.c (rest_of_compilation): Use it.
8718         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
8719
8720 2001-08-18  Zack Weinberg  <zackw@panix.com>
8721
8722         * unwind-dw2.c (execute_stack_op): Add default aborts to
8723         the inner switches to prevent warnings.
8724
8725 2001-08-18  Richard Henderson  <rth@redhat.com>
8726
8727         * timevar.h (struct timevar_time_def): Change element type to float.
8728         (ticks_to_msec, clocks_to_msec): Likewise.
8729         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
8730         (get_time): Likewise.
8731         (timevar_print): Adjust zero check and printing to match.
8732
8733 2001-08-18  Zack Weinberg  <zackw@panix.com>
8734
8735         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
8736         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
8737         Eliminate overfull or underfull hboxes.
8738
8739 2001-08-18  Zack Weinberg  <zackw@panix.com>
8740
8741         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
8742
8743 2001-08-18  Zack Weinberg  <zackw@panix.com>
8744
8745         * haifa-sched.c: Convert to target hooks.  Macros replaced
8746         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
8747         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
8748         MD_SCHED_FINISH, and HAVE_cycle_display.
8749         * target-def.h (TARGET_SCHED_ADJUST_COST,
8750         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
8751         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
8752         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
8753         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
8754         New hook #defines to be overridden.
8755         (TARGET_SCHED): Bring them all together.
8756         (TARGET_INITIALIZER): Update.
8757         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
8758         instead of 'struct rtx_def *' throughout.
8759         (struct sched): New set of hooks for the scheduler.
8760         * Makefile.in (haifa-sched.o): Depend on target.h.
8761         * doc/tm.texi: Document the new scheduler hooks, together in
8762         their own section, instead of scattered around.
8763         Fix a bunch of underfull/overfull hboxes.
8764
8765         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
8766         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
8767         sparc.h: Don't define any of the old scheduler macros.
8768
8769         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
8770         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
8771         sparc.c: Create hook functions from code extracted from
8772         corresponding target header, or make existing hooks static, as
8773         appropriate.  Set the appropriate entries in targetm.
8774
8775         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
8776         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
8777         rs6000-protos.h, s390-protos.h, sparc-protos.h:
8778         Remove prototypes for functions which are now static.
8779
8780         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
8781         related gunk; the Haifa scheduler is now the only choice.
8782
8783 2001-08-18  Zack Weinberg  <zackw@panix.com>
8784
8785         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
8786         * genopinit.c: Put floating point divide insns in sdiv_optab.
8787         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
8788         * config/gofast.h, config/c4x/c4x.h,
8789         config/ia64/hpux_longdouble.h, config/mips/mips.h,
8790         config/pa/long_double.h, config/rs6000/sysv4.h,
8791         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
8792         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
8793         (init_optabs): Use init_optabv for overflow-trapping optabs.
8794         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
8795         cmp_optab RTX codes so have_insn_for can find them.
8796
8797         * optabs.c (expand_simple_binop, expand_simple_unop,
8798         have_insn_for, gen_sub3_insn): New interfaces.
8799         * expr.h: Prototype new functions.
8800         (enum optab_methods): Move here from optabs.h.
8801
8802         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
8803         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
8804         Use new functions instead of working directly with optabs.
8805         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
8806         unroll.c: Don't include optabs.h.
8807         * caller-save.c, combine.c, function.c, stmt.c: Just include
8808         insn-codes.h, not optabs.h.
8809         * Makefile.in: Update dependencies.
8810
8811         * combine.c (make_compound_operation, simplify_comparison):
8812         Fix typos testing for this or that instruction.
8813
8814 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
8815
8816         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
8817         generating libgcc.a.
8818
8819 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8820
8821         * except.c (TYPE_HASH): Delete.
8822
8823         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
8824         HOST_WIDE_INT.
8825
8826         * tree.c (TYPE_HASH): Delete.
8827
8828         * tree.h (TYPE_HASH): Define.
8829
8830 2001-08-18  Graham Stott  <grahams@redhat.com>
8831
8832         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
8833         define_split.
8834         (adddi3_internal_2+2): Likewise.
8835         (eh_set_lr_di+1): Likewise.
8836
8837 2001-08-17  Richard Henderson  <rth@redhat.com>
8838
8839         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
8840         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
8841         * dwarf2asm.c: ... here.
8842         * dwarfout.c: Remove them.
8843
8844         * varasm.c (assemble_integer): Add align parameter.
8845         (assemble_real, output_constant, output_constructor): Likewise.
8846         * output.h: Update decls.
8847         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
8848         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
8849         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
8850         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
8851         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
8852         Update all callers.
8853
8854         * final.c (end_final): Abort profile block generation if we
8855         havn't layed it out properly.
8856         * output.h (assemble_eh_integer): Remove stale decl.
8857         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
8858         (min_align): New.
8859         (assemble_integer): Handle unaligned data.
8860         (assemble_real): Abort on unaligned data.
8861         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
8862         anything useful.
8863         (default_dtor_section_asm_out_destructor): Use assemble_align.
8864         (default_named_section_asm_out_constructor): Likewise.
8865         (default_ctor_section_asm_out_constructor): Likewise.
8866         * config/darwin.c (machopic_asm_out_constructor): Likewise.
8867         (machopic_asm_out_destructor): Likewise.
8868         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
8869         (nextstep_asm_out_destructor): Likewise.
8870         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
8871         (vms_asm_out_destructor): Likewise.
8872
8873 2001-08-17  Richard Henderson  <rth@redhat.com>
8874
8875         * config/mips/iris6.h (TARGET_IRIX6): New.
8876         (current_section_name, current_section_flags): New.
8877         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
8878         (MAX_OFILE_ALIGNMENT): New.
8879         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
8880         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
8881         (copy_file_data): Split out from
8882         (mips_asm_file_end): ... here.
8883         (mips_asm_file_start): Remove extra .section directive.  Use
8884         tmpfile instead of mips_make_temp_file.
8885         (mips_unique_section): Use const char * as needed for warnings.
8886         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
8887         re-add align parameter.
8888         (iris6_asm_named_section): New.
8889         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
8890         (iris6_asm_output_align, iris6_section_align_1): New.
8891         (iris6_asm_file_start, iris6_asm_file_end): New.
8892         * config/mips/mips-protos.h: Update decls.
8893
8894 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
8895
8896         * doc/install.texi (Install GCC): Add links to build status pages.
8897         (Specific): Ditto.
8898         (Final install): Ditto; request updates for specific info
8899
8900 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
8901
8902         * cpperror.c (print_location):  Don't take a file name; use the
8903         line map instead.
8904         (_cpp_begin_message): Similarly.
8905         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
8906         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
8907         (cpp_pedwarn_with_file_and_line): Remove.
8908         * cppfiles.c (stack_include_file): Update; set filename to stdin
8909         here when appropriate.
8910         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
8911         (_cpp_begin_message): Don't take a file name.
8912         * cppinit.c: Add comment.
8913         * cpplex.c: Fix end-of-directive indicator.
8914         * cpplib.c: Don't include intl.h.
8915         (run_directive, do_diagnostic): Update.
8916         (do_line): Update to not use nominal_fname.
8917         (cpp_push_buffer): Don't take a filename.
8918         * cpplib.h (struct ht): Remove.
8919         (cpp_push_buffer): Don't take a filename.
8920         (cpp_pedwarn_with_file_and_line): Remove.
8921         * cppmacro.c (struct cpp_macro): Remove file.
8922         (builtin_macro): Update.
8923         (_cpp_create_definition): Update.
8924         * cppmain.c: Correct comment.
8925         * fix-header.c (read_scan_file): Update.
8926
8927 2001-08-17  Kazu Hirata  <kazu@hxi.com>
8928
8929         * sbitmap.c: Fix comment formatting.
8930         * sched-deps.c: Likewise.
8931         * sibcall.c: Likewise.
8932         * simplify-rtx.c: Likewise.
8933         * ssa.c: Likewise.
8934         * ssa-ccp.c: Likewise.
8935         * stor-layout.c: Likewise.
8936         * timevar.c: Likewise.
8937         * toplev.c: Likewise.
8938         * unwind-dw2.c: Likewise.
8939         * unwind-dw2-fde.c: Likewise.
8940         * varasm.c: Likewise.
8941
8942 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8943
8944         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
8945         or larger than an integer in memory.
8946
8947 2001-08-17  Zack Weinberg  <zackw@panix.com>
8948
8949         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
8950         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
8951         * rtl.h: Don't forward-declare union tree_node here.  Don't
8952         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
8953         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
8954         and tree respectively.
8955         * tree.h: Don't forward-declare struct rtx_def here.  Don't
8956         typedef tree here.  Change all uses of struct rtx_def *,
8957         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
8958         and tree respectively.
8959
8960 2001-08-17  Richard Henderson  <rth@redhat.com>
8961
8962         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
8963         config/mips/openbsd.h: Fix typos last change.
8964
8965 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8966
8967         * doc/invoke.texi (Optimize Options): The default for
8968         -finline-limit is 600.
8969
8970 2001-08-17  Richard Henderson  <rth@redhat.com>
8971
8972         * varasm.c (text_section): Allow TEXT_SECTION to override the
8973         printing of TEXT_SECTION_ASM_OP.
8974         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
8975         (DATA_SECTION, BSS_SECTION): Remove.
8976         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
8977         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
8978         Rename from s/_NAME//.
8979         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
8980         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
8981         (TEXT_SECTION): ... here.  New.
8982         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
8983         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
8984         * config/mips/openbsd.h: Likewise.
8985         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
8986         (mips_asm_file_end): Likewise test.
8987         (mips_output_function_epilogue): Likewise.  Switch back to data
8988         section after emitting the function.
8989
8990         * doc/tm.texi (Sections): Document TEXT_SECTION.
8991
8992 2001-08-17  Richard Henderson  <rth@redhat.com>
8993
8994         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
8995         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
8996
8997 2001-08-17  Richard Henderson  <rth@redhat.com>
8998
8999         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
9000         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
9001         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
9002         Add aligned attribute.
9003
9004 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
9005
9006         * config/sh/sh.md: Add modes to unspecs in first insn to match
9007         those in the second.
9008
9009         * Makefile.in: Fix collect2 copy for Cygwin.
9010
9011 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
9012
9013         Install the proper patch.
9014         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
9015         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
9016         (expand_function_start): Likewise.
9017         * stmt.c (expand_decl): Likewise.
9018         * varasm.c (make_decl_rtx): Likewise.
9019
9020 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
9021
9022         * final.c: Undo my previous accidental checkin.
9023         * output.h: Likewise.
9024         * tm.texi: Likewise.
9025
9026 2001-08-16  Richard Henderson  <rth@redhat.com>
9027
9028         * varasm.c (named_section_flags): Remove align parameter.
9029         * varasm.c, dwarf2out.c: Update all callers.
9030         * output.h: Update prototypes.
9031
9032         * target.h (target.asm_out.named_section): Remove align parameter.
9033         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
9034         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
9035         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
9036         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
9037         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
9038
9039         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
9040         (get_named_section_flags, set_named_section_flags): New.
9041         (named_section_flags): Use them.
9042         (named_section): Do decl vs section flags check here...
9043         (default_section_type_flags): ... not here.
9044         (init_varasm_once): Create in_named_htab.
9045         (resolve_unique_section): Mark reloc unused.
9046
9047 2001-08-16  Richard Henderson  <rth@redhat.com>
9048
9049         * varasm.c (force_const_mem): Keep pool alignment in bits.
9050         (output_constant_pool): Use assemble_align.
9051
9052 2001-08-16  Zack Weinberg  <zackw@panix.com>
9053
9054         * doc/tm.texi: Remove extra @table command.
9055
9056 2001-08-16  Zack Weinberg  <zackw@panix.com>
9057
9058         * final.c (shorten_branches): Clear the end of the label_align
9059         array only if we made it larger.  Break up messy expressions
9060         for clarity.
9061
9062         * diagnostic.c (internal_error): Check for error recursion
9063         before doing ICE suppression.
9064
9065         * timevar.c: Timing variables now count in milliseconds.
9066         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
9067         (get_time): Not here.
9068         (timevar_print): Don't print any timer whose user, cpu, and
9069         wall times are all zero as displayed.
9070         * timevar.h: Update comment aboout units.  Make timevar
9071         counters unsigned.
9072
9073 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
9074
9075         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
9076         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
9077         (expand_function_start): Likewise.
9078         * stmt.c (expand_decl): Likewise.
9079         * varasm.c (make_decl_rtx): Likewise.
9080
9081 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
9082
9083         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
9084         (finalize_record_size): Don't set TYPE_USER_ALIGN.
9085
9086 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
9087
9088         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
9089         variables.
9090
9091 2001-08-16  Andreas Jaeger  <aj@suse.de>
9092
9093         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
9094         prototype.
9095
9096 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
9097
9098         * rtl.h (only_sets_cc0_p): New prototype.
9099         * jump.c (sets_cc0_p): Handle INSN.
9100         (only_sets_cc0_p): New function.
9101         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
9102         (tidy_fallthru_edge): Likewise.
9103         * integrate.c (copy_insn_list): Likewise.
9104         * unroll.c (unroll_loop): Likewise.
9105         (copy_loop_body): Likewise.
9106
9107 2001-08-15  Jason Eckhardt  <jle@redhat.com>
9108
9109         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
9110
9111 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
9112
9113         * predict.c (struct block_info_def): Remove nvisited.
9114         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
9115         (estimate_bb_frequencies): Call mark_dfs_back_edges.
9116
9117         * i386.c (ix86_agi_depdendant): Lea causes AGI only on the Pentium
9118         (ix86_adjust_cost): Teach scheduler that latency to load operand can
9119         be masked.
9120
9121 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
9122
9123         * predict.def: Update hitrates.
9124
9125 2001-08-15  Richard Henderson  <rth@redhat.com>
9126
9127         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
9128
9129 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
9130
9131         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
9132         note from its associated jump.
9133
9134 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
9135
9136         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
9137         also on 64-bit s390x targets.
9138
9139 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
9140
9141         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
9142         function.
9143         (arm_expand_prologue): Handled nested functions which take a
9144         variable argument list.
9145         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
9146         macro with an invocation of
9147         arm_compute_initial_elimination_offset.
9148         * config/arm/arm-protos.h: Prototype
9149         arm_compute_initial_elimination_offset.
9150
9151 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9152
9153         * doc/install.texi (Specific, avr): Fix markup.
9154         (Specific, c4x): Ditto.
9155
9156 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
9157
9158         * predict.c (dump_prediction): Change `bool' parameter to `int'.
9159
9160 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
9161
9162         * Makefile.in (OBJS): Add rtl-error.o
9163         (rtl-error.o): New rule.
9164         (diagnostic.o): Adjust dependency.
9165         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
9166         error_for_asm, _fatal_insn, _fatal_insn_not_found,
9167         warning_for_asm): Move to...
9168         rtl-error.c: ...here.  New file.
9169
9170 2001-08-14  Richard Henderson  <rth@redhat.com>
9171
9172         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
9173         if USING_SJLJ_EXCEPTIONS.
9174
9175 2001-08-14  Steve Ellcey <sje@cup.hp.com>
9176
9177         * tlink.c (scan_linker_output): Check string for unsatisfied in
9178         addition to undefined and unresolved.
9179
9180 2001-08-14  Graham Stott  <grahams@redhat.com>
9181
9182         * libgcc2.c (*): Replace EH_FRAME_SECTION with
9183         EH_FRAME_SECTION_NAME.
9184
9185 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
9186
9187         * genattrtab.c (simplify_test_exp_in_temp): New function.
9188         (simplify_test_exp): Avoid explicit use of temporary obstack.
9189         (simplify_cond, insert_right_side, evaluate_eq_attr,
9190         simplify_and_tree, simplify_or_tree, eliminate_known_true):
9191         Use simplify_test_exp_in_temp.
9192         (optimize_attrs): Iterate until expression stabilizes.
9193
9194 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
9195
9196         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
9197         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
9198
9199 2001-08-13  Richard Henderson  <rth@redhat.com>
9200
9201         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
9202         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
9203         * config/arm/conix-elf.h: Likewise.
9204
9205 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
9206
9207         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
9208         in gcc.c.
9209         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
9210
9211         * gcse.c (hash_scan_set): Expressions that are set as part of
9212         jump instructions are not available.
9213
9214 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
9215
9216         * config/s390/s390.c (print_operand, s390_function_prologue,
9217         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
9218
9219 2001-08-13  Richard Henderson  <rth@redhat.com>
9220
9221         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
9222         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
9223         * doc/tm.texi (Exception Region Output): Document it.
9224
9225 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
9226
9227         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
9228         DWARF2 instead of stabs by default.
9229
9230 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
9231
9232         * config/rs6000/rs6000.c: Include optabs.h.
9233
9234 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
9235
9236         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
9237         save/restore routines.
9238         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
9239
9240 2001-08-13  Andreas Jaeger  <aj@suse.de>
9241
9242         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
9243         the english is correct.
9244
9245 2001-08-13  Zack Weinberg  <zackw@panix.com>
9246
9247         * expr.h: Split out optab- and libfunc-related code to...
9248         * optabs.h, libfuncs.h: ... these new headers.
9249
9250         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
9251         (OPTABS_H): New.
9252         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
9253         dependencies.
9254         * mkconfig.sh: Don't include insn-codes.h from config.h.
9255
9256         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
9257         enum insn_code is available.  Move reload_in_optab and
9258         reload_out_optab array declarations to optabs.h.
9259         * regmove.c (gen_add3_insn): Move to optabs.c, export from
9260         there, prototype in expr.h.
9261         * gencodes.c: Cleanup: zap global variables, don't use
9262         printf where puts will do, don't bother defining MAX_INSN_CODE
9263         which nothing uses, let CODE_FOR_nothing get its value implicitly.
9264
9265         * genemit.c, genopinit.c: Include optabs.h in generated file.
9266         * genoutput.c: Include insn-codes.h in generated file.
9267         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
9268         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
9269         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
9270         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
9271         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
9272         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
9273         Include optabs.h.
9274         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
9275         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
9276         config/m88k/m88k.c, config/sparc/sparc.c:
9277         Include libfuncs.h.
9278         * reload.c: Include expr.h and optabs.h before reload.h.
9279         * config/alpha/alpha.c: Include tree.h before reload.h.
9280         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
9281         and reload.h in that order.
9282         * config/sparc/sparc.c: Include debug.h.
9283         * recog.c: Include insn-codes.h.
9284
9285 2001-08-13  Andreas Jaeger  <aj@suse.de>
9286
9287         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
9288         s390*linux.
9289
9290 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
9291
9292         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
9293         * gcc.c (init_spec): Fix typo in comment.
9294         * varasm.c (data_section): Fix typo in comment.
9295
9296 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
9297
9298         * predict.c (dump_prediction): New argument "USED".
9299         (combine_predictions_for_insn): Determine the used heuristics,
9300         output the case no heuristic applied.
9301         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
9302
9303 2001-08-13  Andreas Jaeger  <aj@suse.de>
9304
9305         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
9306         register %rip.
9307
9308 2001-08-13  Kazu Hirata  <kazu@hxi.com>
9309
9310         * jump.c: Fix formatting.
9311
9312 2001-08-13  Kazu Hirata  <kazu@hxi.com>
9313
9314         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
9315         length.
9316
9317 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
9318
9319         * loop.c (check_dbra_loop): Use condjump_label to compute
9320         jump_label.
9321
9322         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
9323         to better document the files they're in.
9324
9325 2001-08-12  Zack Weinberg  <zackw@panix.com>
9326
9327         * recog.h (struct insn_operand_data): Shrink 'mode' field
9328         to 16 bits.
9329
9330 2001-08-12  Kazu Hirata  <kazu@hxi.com>
9331
9332         * gcc.c: Fix comment formatting.
9333         * gccspec.c: Likewise.
9334         * gcov.c: Likewise.
9335         * gcse.c: Likewise.
9336         * genemit.c: Likewise.
9337         * gengenrtl.c: Likewise.
9338         * genrecog.c: Likewise.
9339         * gensupport.c: Likewise.
9340         * ggc-page.c: Likewise.
9341         * global.c: Likewise.
9342         * graph.c: Likewise.
9343         * ifcvt.c: Likewise.
9344         * integrate.c: Likewise.
9345         * lcm.c: Likewise.
9346         * libgcc2.c: Likewise.
9347         * loop.c: Likewise.
9348         * mbchar.c: Likewise.
9349         * optabs.c: Likewise.
9350         * predict.c: Likewise.
9351         * prefix.c: Likewise.
9352         * profile.c: Likewise.
9353         * protoize.c: Likewise.
9354         * real.c: Likewise.
9355         * recog.c: Likewise.
9356         * regclass.c: Likewise.
9357         * regmove.c: Likewise.
9358         * reg-stack.c: Likewise.
9359         * reload1.c: Likewise.
9360         * resource.c: Likewise.
9361         * rtlanal.c: Likewise.
9362         * rtl.c: Likewise.
9363
9364 2001-08-12  Kazu Hirata  <kazu@hxi.com>
9365
9366         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
9367         a tree representing a constant is passed to the macro.
9368
9369 2001-08-12  Richard Henderson  <rth@redhat.com>
9370
9371         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
9372         (rs6000_elf_asm_out_destructor): New.
9373         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
9374         (DTORS_SECTION_ASM_OP): Remove.
9375         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9376         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
9377
9378 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
9379
9380         Revert:
9381         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9382         * gcc.c (set_collect_gcc_options): New function, split out from
9383         main.
9384         Ignore elided switches.
9385         (do_spec_1): Invoke before executing command.
9386         (set_input): Export.
9387         Move declaration ...
9388         * gcc.h (set_input): ... here.
9389         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
9390         file.
9391
9392 2001-08-12  Richard Henderson  <rth@redhat.com>
9393
9394         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
9395         thinko wrt TARGET_RELOCATABLE.
9396
9397 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
9398
9399         * fix-header.c (cb_file_change): Update prototype.
9400
9401 2001-08-11  Zack Weinberg  <zackw@panix.com>
9402
9403         * toplev.c (set_float_handler): Make static.
9404         * toplev.h: Don't prototype set_float_handler.
9405
9406         * simplify-rtx.c: Don't include setjmp.h.
9407         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
9408         New functions.
9409         (simplify_unary_operation, simplify_binary_operation): Use them,
9410         via do_float_handler.
9411
9412         * fold-const.c: Don't include setjmp.h.
9413         (exact_real_inverse_1): New function.
9414         (exact_real_inverse): Use it, via do_float_handler.
9415
9416         * varasm.c: Don't include setjmp.h.
9417         (assemble_real_1): New function.
9418         (assemble_real): Use it, via do_float_handler.
9419         Call internal_error if we get a trap here.
9420
9421         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
9422         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
9423
9424 2001-08-11  Zack Weinberg  <zackw@panix.com>
9425
9426         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
9427         STACK_BOUNDARY if not already defined.
9428
9429         * calls.c, function.c, reload1.c, explow.c: Don't default
9430         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
9431         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
9432
9433         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
9434         to run-time test.
9435
9436         * doc/tm.texi: Document that STACK_BOUNDARY is required;
9437         clarify difference between it and PREFERRED_STACK_BOUNDARY.
9438
9439 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
9440
9441         * cppmacro.c (enter_macro_context): Push macro expansions even
9442         if empty.
9443
9444 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9445
9446         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
9447         (rs6000_elf_section_type_flags): Actually return a value.
9448
9449 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
9450
9451         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
9452         Clean up code: add missing comments and prototypes, fix warnings,
9453         remove obsolete code, fix spacing to conform to coding style.
9454
9455 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
9456
9457         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
9458         and TARGET_ASM_CLOSE_PAREN.
9459         (regclass_map): CC register belongs to class NO_REGS.
9460         (legitimize_pic_address): Don't generate unnecessary moves
9461         (to avoid confusing loop optimization).
9462         (check_and_change_labels): Replace jump_long by indirect_jump.
9463         (s390_final_chunkify): Don't start a new literal pool on section
9464         switch in 64-bit code.
9465         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
9466
9467         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
9468         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
9469         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
9470         modes correctly.
9471         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
9472         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
9473         (CONST_COSTS): Fixed incorrect costs.
9474
9475         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
9476         Use emit_jump instead of emit_jump_insn (gen_jump).
9477         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
9478         (to avoid confusing flow analysis).
9479         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
9480         (casesi, casesi_jump): New.
9481         (jump_long): Removed.  Functionality merged into indirect_jump.
9482         (indirect_jump): Accept address_operand, not just register_operand.
9483         (cjump_long, icjump_long): Use same logic as indirect_jump.
9484         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
9485         Fixed broken setjmp/longjmp handling.
9486         (do_builtin_setjmp_setup): Removed.
9487
9488         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
9489         broken GNU as versions that don't accept .quad with large
9490         negative values.  Use hexadecimal output instead.
9491         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
9492         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
9493         FUNCTION_EPILOGUE): Removed.  Now in targetm.
9494
9495         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
9496
9497         * config/s390/fixdfdi.h: Add missing copyright statement.
9498         Fix type conflicts on 64-bit.  Add missing SFmode routines.
9499
9500         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
9501         email address.
9502
9503 2001-08-11  Richard Henderson  <rth@redhat.com>
9504
9505         * rtl.h (REG_EH_RETHROW): Remove.
9506         * rtl.c (reg_note_name): Update.
9507         * combine.c (distribute_notes): Don't check for it.
9508
9509 2001-08-11  Richard Henderson  <rth@redhat.com>
9510
9511         * combine.c (distribute_notes): Place REG_SETJMP.
9512
9513 2001-08-11  Richard Henderson  <rth@redhat.com>
9514
9515         * doc/extend.texi (Arrays and pointers implementation): Discourage
9516         relying on sign-extension of pointers.
9517
9518 2001-08-11  H.J. Lu <hjl@gnu.org>
9519
9520         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
9521         in_dtors.
9522         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
9523         RDATA_SECTION_ASM_OP.
9524
9525 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9526
9527         * doc/install.texi (Specific, c4x): Fix cross-reference to the
9528         main manual to work both for info and HTML versions.
9529
9530 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
9531             Matt Kraai <kraai@alumni.carnegiemellon.edu>
9532
9533         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
9534         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
9535         (struct cpp_pool): New member first.
9536         * cppinit.c (append_include_chain): Plug memory leaks.
9537         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
9538         Allocate pragma structures from the (aligned) macro pool to
9539         avoid leaking memory.
9540         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
9541         so we don't leak memory.
9542         * hashtable.c (ht_destroy): New.
9543         * hashtable.h (ht_destroy): New.
9544
9545 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
9546             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9547
9548         * c-lex.c (map): Make const.
9549         (cb_file_change): Update for callback passing a line map.
9550         Don't assume we have a previous map.  Remove sanity check
9551         about popping too many files.
9552         * cpperror.c (print_location): Make map const.
9553         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
9554         (cpp_make_system_header): Similarly.
9555         (search_from): Similarly.
9556         (_cpp_execute_include): Don't remember where we came from.
9557         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
9558         (struct cpp_reader): Make map const.
9559         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
9560         * cpplib.c (do_line): Update; line maps now hold sysp.
9561         (cpp_push_buffer): Similarly.
9562         (_cpp_do_file_change): Similarly; callback with map instead.
9563         (cpp_get_line_maps): Constify return value.
9564         (_cpp_pop_buffer): Update.
9565         * cpplib.h (struct cpp_file_change): Remove.
9566         (struct cpp_callbacks): Update.
9567         (cpp_get_line_maps): Constify return value.
9568         * cppmacro.c (_cpp_create_definition): Update.
9569         * cppmain.c (struct printer): Constify map.
9570         (maybe_print_line): Similarly.
9571         (print_line): Similarly.  Deduce flags 1 and 2 here.
9572         (cb_file_change): Update.
9573         * line-map.c (free_line_maps): Warn regardless.
9574         (add_line_map): Return pointer to const.  When passed NULL to_file
9575         with LC_LEAVE, use the obvious values for the return point so the
9576         caller doesn't have to figure them out.
9577         (lookup_line): Return pointer to const.
9578         (print_containing_files): Take pointer to const.
9579         * line-map.h (struct line_map): New members reason, sysp.
9580         (add_line_map): Return pointer to const.
9581         (lookup_line): Similarly.
9582         (print_containing_files): Take pointer to const.
9583
9584 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
9585             Richard Henderson  <rth@redhat.com>
9586
9587         * regmove.c (regmove_optimize): Avoid setting a register twice in
9588         a parallel set.
9589
9590 2001-08-10  Richard Henderson  <rth@redhat.com>
9591
9592         * doc/extend.texi (Arrays and pointers implementation): Document
9593         behavior of pointer/integer conversion.
9594
9595 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
9596
9597         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
9598
9599 2001-08-10  Richard Henderson  <rth@redhat.com>
9600
9601         * doc/extend.texi (C Implementation): New chapter.
9602         * doc/gcc.texi (Top): Link it in.
9603
9604 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
9605
9606         * doc/install.texi (Specific): Fix CVS merge botch.
9607
9608 2001-08-10  Richard Henderson  <rth@redhat.com>
9609
9610         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
9611         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
9612
9613 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
9614
9615         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
9616         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
9617         this macro is now required.
9618
9619         * cselib.c (cselib_process_insn), flow.c (propagate_block),
9620         loop.c (find_and_verify_loops), reload.c (reload): Check
9621         for rtx code of CALL_INSN, not CALL, when deciding if we
9622         need to check for REG_SETJMP note.
9623
9624         * gcse.c (compute_hash_table, compute_store_table): Update
9625         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
9626         logic.
9627
9628         * config/avr/avr.c: Fix typo.
9629         * config/convex/convex.c (expand_movstr): Use adjust_address.
9630         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
9631         variable.
9632         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
9633         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
9634         Fix typo.
9635         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
9636         Do define STACK_BOUNDARY.
9637         * config/i370/i370.c: Include expr.h.
9638         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
9639         config/pa/som.h, config/v850/v850.h: Take in_ctors and
9640         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
9641         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
9642         * config/m88k/m88k.c: Include c-tree.h after expr.h.
9643         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
9644         * config/romp/romp.c: Include expr.h after tree.h.
9645         Include toplev.h.
9646         (output_fpop): Use xmalloc, not oballoc.
9647         * config/we32k/we32k.c: Include expr.h.
9648
9649 2001-08-10  Kazu Hirata  <kazu@hxi.com>
9650
9651         * config/h8300/h8300.h: Fix formatting.
9652
9653 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
9654
9655         * c-common.h (RETURN_NULLIFIED_P): Lose.
9656         * c-semantics.c (genrtl_return_stmt): Don't check it.
9657
9658 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
9659
9660         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
9661         (mips_annotate_frame_insn): New function.
9662         (mips_emit_frame_related_store): New function.
9663         (save_restore_insns): Don't mark instructions that set up the base
9664         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
9665         the store instructions instead.
9666         (mips_expand_prologue): If the stack size is moved into a temporary
9667         register, do not mark that move as frame-related.  Add a
9668         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
9669
9670 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
9671
9672         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
9673         stack slot as unchanging if current_function_calls_eh_return.
9674
9675 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
9676
9677         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
9678         access the second half of the TFmode scratch operand.
9679
9680 2001-08-10  Anthony Green  <green@redhat.com>
9681
9682         * java/class.c (emit_register_classes): Conditionalize code on
9683         JCR_SECTION_NAME.
9684
9685 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9686
9687         * doc/install.texi (Specific, avr): Fix cross-reference to the
9688         main manual to work both for info and HTML versions.
9689
9690 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9691
9692         * stmt.c (expand_null_return_1): Remove code to generate simple returns
9693         and "use_goto" argument.
9694         (expand_null_return, expand_value_return): Update all callers.
9695         * function.c (expand_function_end): Remove code to generate simple
9696         return.
9697         * config/vax/vax.md (epilogue): New expander for function return.
9698         * doc/md.texi (epilogue): Remove "if defined".
9699
9700 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
9701
9702         * Makefile.in: Partially revert my previous change:
9703         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
9704         of the hashtab.o and safe-ctype.o rules.
9705
9706 2001-08-09  Richard Henderson  <rth@redhat.com>
9707
9708         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
9709         (USE_COLLECT2): Remove duplicate definition.
9710         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
9711         (use_collect2): Remove dead code.
9712         * configure.in (use_collect2): Remove will_use_collect2 and
9713         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
9714         * configure: Rebuild.
9715
9716         * target.h (targetm.asm_out.constructor): New.
9717         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
9718         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
9719         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
9720         * varasm.c (in_ctors, in_dtors): New.
9721         (assemble_constructor, assemble_destructor): Remove.
9722         (default_stabs_asm_out_destructor): New.
9723         (default_named_section_asm_out_destructor): New.
9724         (dtors_section, default_dtor_section_asm_out_destructor): New.
9725         (default_stabs_asm_out_constructor): New.
9726         (default_named_section_asm_out_constructor): New.
9727         (ctors_section, default_ctor_section_asm_out_constructor): New.
9728         * output.h: Update declarations.
9729         * c-decl.c (c_expand_body): Use target hooks instead of
9730         assemble_constructor and assemble_destructor.
9731         * profile.c (output_func_start_profiler): Likewise.
9732         * objc/objc-act.c (finish_objc): Likewise.
9733         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
9734         for the constructor.
9735         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
9736
9737         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
9738         (DTORS_SECTION_ASM_OP): Likewise.
9739         (__CTOR_LIST__): Use attribute section when possible.
9740         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
9741
9742         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
9743         ASM_OUTPUT_CONSTRUCTOR.
9744
9745         * config/darwin.c (machopic_asm_out_constructor): New.
9746         (machopic_asm_out_destructor): New.
9747         * config/darwin-protos.h: Update declarations.
9748         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9749         (ASM_OUTPUT_DESTRUCTOR): Remove.
9750         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9751         * config/nextstep.c (nextstep_asm_out_constructor): New.
9752         (nextstep_asm_out_destructor): New.
9753         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9754         (ASM_OUTPUT_DESTRUCTOR): Remove.
9755         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9756         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
9757         ASM_OUTPUT_*STRUCTOR.
9758         * config/i386/aix386ng.h: Likewise.
9759
9760         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
9761         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
9762         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
9763         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
9764         * config/lynx.h: Likewise.
9765         * config/netware.h: Likewise.
9766         * config/psos.h: Likewise.
9767         * config/alpha/alpha-interix.h: Likewise.
9768         * config/alpha/elf.h: Likewise.
9769         * config/arc/arc.h: Likewise.
9770         * config/arm/aof.h: Likewise.
9771         * config/arm/coff.h: Likewise.
9772         * config/arm/elf.h: Likewise.
9773         * config/c4x/c4x.h: Likewise.
9774         * config/h8300/h8300.h: Likewise.
9775         * config/i386/cygwin.h: Likewise.
9776         * config/i386/djgpp.h: Likewise.
9777         * config/i386/i386-coff.h: Likewise.
9778         * config/i386/i386-interix.h: Likewise.
9779         * config/i386/sco5.h: Likewise.
9780         * config/i386/vsta.h: Likewise.
9781         * config/i386/win32.h: Likewise.
9782         * config/i960/i960-coff.h: Likewise.
9783         * config/ia64/sysv4.h: Likewise.
9784         * config/m68hc11/m68hc11.h: Likewise.
9785         * config/m68k/coff.h: Likewise.
9786         * config/m68k/mot3300.h: Likewise.
9787         * config/m88k/m88k.h: Likewise.
9788         * config/mcore/mcore-pe.h: Likewise.
9789         * config/mcore/mcore.h: Likewise.
9790         * config/mips/elf.h: Likewise.
9791         * config/mips/elf64.h: Likewise.
9792         * config/mips/iris6.h: Likewise.
9793         * config/pa/pa64-hpux.h: Likewise.
9794         * config/rs6000/sysv4.h: Likewise.
9795         * config/sh/sh.h: Likewise.
9796         * config/sparc/litecoff.h: Likewise.
9797
9798         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
9799         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
9800         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
9801         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9802         (ASM_OUTPUT_DESTRUCTOR): Remove.
9803         * config/a29k/a29k.c: Move include of tree.h.
9804         * config/a29k/udi.h: Delete file.
9805         * config/alpha/alpha.c (vms_asm_out_constructor): New.
9806         (vms_asm_out_destructor): New.
9807         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
9808         (EXTRA_SECTION_FUNCTIONS): Likewise.
9809         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
9810         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9811         * config/c4x/c4x.c: Move include of tree.h.
9812         * config/clipper/clipper.c (clix_asm_out_constructor): New.
9813         (clix_asm_out_destructor): New.
9814         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9815         (ASM_OUTPUT_DESTRUCTOR): Remove.
9816         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9817         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9818         (TARGET_ASM_CONSTRUCTOR): New.
9819         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
9820         (sco_asm_out_constructor): New.
9821         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
9822         * config/i386/svr3gas.h: Remove stack grows up code.
9823         Remove code duplicated from i386/sysv3.h.
9824         (TARGET_ASM_CONSTRUCTOR): New.
9825         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
9826         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
9827         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9828         (TARGET_ASM_CONSTRUCTOR): New.
9829         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
9830         (m68hc11_asm_out_destructor): New.
9831         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
9832         (TARGET_ASM_DESTRUCTOR): New.
9833         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
9834         * config/m68k/dpx2.h: Properly undef all the bits inherited from
9835         config/svr3.h pertaining to section manipulation.
9836         * config/m68k/dpx2g.h: Remove #if 0 code.
9837         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
9838         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
9839         (ASM_OUTPUT_CONSTRUCTOR): Remove.
9840         (TARGET_ASM_CONSTRUCTOR): New.
9841         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
9842         (m88k_svr3_asm_out_constructor): New.
9843         (m88k_svr3_asm_out_destructor): New.
9844         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9845         (ASM_OUTPUT_DESTRUCTOR): Remove.
9846         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9847         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
9848         * config/rs6000/aix.h: Likewise.
9849         * config/mips/rtems64.h: Don't undef removed constructor related bits.
9850         * config/mips/vxworks.h: Likewise.
9851         * config/rs6000/lynx.h: Likewise.
9852         * config/sh/elf.h: Likewise.
9853         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
9854         (DTORS_SECTION_ASM_OP): New.
9855         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9856         (ASM_OUTPUT_DESTRUCTOR): Remove.
9857         * config/sparc/sol2-sld-64.h: Likewise.
9858         * config/vax/vax.c (vms_asm_out_constructor): New.
9859         (vms_asm_out_destructor): New.
9860         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9861         (ASM_OUTPUT_DESTRUCTOR): Remove.
9862         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9863
9864         * doc/tm.texi (@node Initialization): Update.
9865
9866 2001-08-09  Richard Henderson  <rth@redhat.com>
9867
9868         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
9869         (__do_global_dtors_aux): Use gp-relative static data to avoid
9870         one dynamic relocation.
9871         (__do_frame_setup): Register Java classes.
9872         * config/alpha/crtend.asm (__JCR_END__): New.
9873
9874 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
9875
9876         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
9877         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
9878         (GEN, STAGESTUFF): Add new files.
9879         (insn-constants.h, s-constants, tm-preds.h, s-preds,
9880         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
9881         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
9882         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
9883         as well as insn-codes.h and insn-flags.h in config.h; and no
9884         extra headers in tconfig.h and hconfig.h.
9885
9886         * gencodes.c: Eliminate code to generate predicate declarations
9887         or #defines for md-file constants.
9888         * genconstants.c, genpreds.c: New files.
9889
9890         * i386.md: Re-order guard expressions such that TARGET_64BIT
9891         comes first, when this permits better optimization.  Add
9892         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
9893         why this is desirable.
9894
9895 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
9896
9897         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
9898         (find_fde_for_dso): Remove.
9899         (_Unwind_IteratePhdrCallback): New.
9900         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
9901         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
9902
9903 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9904
9905         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
9906         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
9907
9908 2001-08-09  Graham Stott  <grahams@redhat.com>
9909
9910         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
9911         (vis_no_unit): Use it.
9912         (visualize_no_unit): Add the insn only if room exists.
9913
9914 2001-08-09  Graham Stott  <grahams@redhat.com>
9915
9916         * predict.c (estimate_probability): Replace magic numbers with
9917         appropriate enumeration.
9918
9919 2001-08-09  Graham Stott  <grahams@redhat.com>
9920
9921         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
9922         parameter.
9923         (EXTRACT_FLAGS): Likewise.
9924
9925 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
9926
9927         * config/mips/mips.c    (mips_legitimate_address_p): Check for
9928         CONST_INT in last patch.
9929
9930 2001-08-08  Anthony Green  <green@redhat.com>
9931
9932         * java/class.c (emit_register_classes): Use assemble_jcr if
9933         possible.  Keep the original mechanism as a fallback.
9934         * defaults.h (JCR_SECTION_NAME): Define if we have named section
9935         and weak symbol support.
9936         * crtstuff.c (__JCR_LIST__): Define.
9937         (__JCR_END__): Define.
9938         (_Jv_RegiserClasses): Define weak symbol if possible.
9939         (__do_global_ctors_aux): Register classes for ELF targets with
9940         weak symbol support.
9941
9942 2001-08-08  Kazu Hirata  <kazu@hxi.com>
9943
9944         * dbxout.c: Fix comment formatting.
9945         * dependence.c: Likewise.
9946         * df.c: Likewise.
9947         * diagnostic.c: Likewise.
9948         * dominance.c: Likewise.
9949         * doprint.c: Likewise.
9950         * dwarf2out.c: Likewise.
9951         * dwarfout.c: Likewise.
9952         * emit-rtl.c: Likewise.
9953         * except.c: Likewise.
9954         * explow.c: Likewise.
9955         * expmed.c: Likewise.
9956         * expr.c: Likewise.
9957         * flow.c: Likewise.
9958         * fold-const.c: Likewise.
9959         * function.c: Likewise.
9960
9961 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9962
9963         * global.c (retry_global_alloc): Avoid shadowing allocno.
9964
9965 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
9966
9967         * except.c (remove_fixup_regions): Fix typo.
9968
9969 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
9970
9971         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
9972         unsigned HOST_WIDE_INT to avoid warning.
9973         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
9974         * flow.c (set_block_for_new_insns): Likewise.
9975
9976 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
9977
9978         * sibcall.c (return_value_pseudo): New static variable.
9979         (skip_copy_to_return_value): Handle return_value_pseudo.
9980         (call_ends_block_p): Ensure that return_value_pseudo is set.
9981         (optimize_sibling_and_tail_recursive_call): Discover the
9982         load of pseudo return value in alternate exit block.
9983
9984 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
9985
9986         * calls.c (ECF_ALWAYS_RETURN): New constant.
9987         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
9988         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
9989         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
9990         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
9991         * rtl.c (reg_note_name): New name.
9992         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
9993
9994 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
9995
9996         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
9997
9998 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
9999
10000         * alias.c (get_alias_set): Return a previously calculated
10001         alias set for a VAR_DECL.
10002         * function.c (gen_mem_addressof): Calculate the alias set before
10003         touching the RTL.
10004
10005 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
10006
10007         * predict.def: Set hitrates according our experimental run.
10008
10009 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
10010
10011         * i386.h (HARD_REGNO_RENAME_OK): New macro.
10012
10013 2001-08-08  H.J. Lu <hjl@gnu.org>
10014
10015         * config/mips/mips.c (mips_unique_section): New. Copied from
10016         config/mips/elf.h.
10017
10018         * config/mips/mips-protos.h (mips_unique_section): New
10019         prototype.
10020
10021         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
10022
10023         * config/mips/little.h: New. Generic little endian mips
10024         targets. Only mips*-*-linux* is converted to use it so far.
10025
10026         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
10027         (WCHAR_TYPE): Defined
10028         (WCHAR_TYPE_SIZE): Likewise.
10029         (INIT_SUBTARGET_OPTABS): Likewise.
10030         (BSS_SECTION_ASM_OP): Likewise.
10031         (SBSS_SECTION_ASM_OP): Likewise.
10032         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
10033         (ASM_DECLARE_OBJECT_NAME): Likewise.
10034         (UNIQUE_SECTION): Likewise.
10035         (EXTRA_SECTIONS): Likewise.
10036         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
10037         (ASM_OUTPUT_DESTRUCTOR): Likewise.
10038         (ASM_OUTPUT_DEF): Likewise.
10039         (HANDLE_SYSV_PRAGMA): Removed.
10040         (NO_IMPLICIT_EXTERN_C): Likewise.
10041         (TARGET_MEM_FUNCTIONS): Likewise.
10042         (STARTFILE_SPEC): Likewise.
10043         (ENDFILE_SPEC): Likewise.
10044         (LIB_SPEC): Likewise.
10045         (INVOKE__main): Likewise.
10046         (CTOR_LIST_BEGIN): Likewise.
10047         (CTOR_LIST_END): Likewise.
10048         (DTOR_LIST_BEGIN): Likewise.
10049         (DTOR_LIST_END): Likewise.
10050         (SET_ASM_OP): Likewise.
10051         (ASM_OUTPUT_SOURCE_LINE): Likewise.
10052         (ASM_OUTPUT_DEF): Likewise.
10053         (ASM_OUTPUT_IDENT): Likewise.
10054
10055         * config/mips/mips.h (ASM_SPEC): Undefine before define.
10056         (CPLUSPLUS_CPP_SPEC): Likewise.
10057         (ASM_APP_ON) Redefine only if not defined.
10058         (ASM_APP_OFF): Likewise.
10059         (ASM_OUTPUT_SOURCE_LINE): Likewise.
10060         (ASM_OUTPUT_IDENT): Likewise.
10061
10062         * config.gcc: Update tm_file for Linux/mips.
10063
10064 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
10065
10066         * cselib.c (cselib_record_sets): If insn is predicated, turn
10067         sources into IF_THEN_ELSEs.
10068
10069         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
10070         Turn into define_insn_and_split.
10071
10072         * sched-deps.c: Include "cselib.h".
10073         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
10074         Use cselib to turn memory addresses into VALUEs.
10075         (sched_analyze): Call cselib_init/cselib_finish if necessary.
10076         * sched-int.h (struct sched_info): New member USE_CSELIB.
10077         * sched-ebb.c (ebb_sched_info): Initialize it.
10078         * sched-rgn.c (rgn_sched_info): Likewise.
10079         * Makefile.in (sched-deps.o): Update dependencies.
10080
10081         * cselib.h (cselib_subst_to_values): Declare.
10082         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
10083         that have no value and autoincs to be handled by generating a new
10084         dummy value.
10085
10086 2001-08-08  Graham Stott  <grahams@redhat.com>
10087
10088         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
10089         within fixed length SEQUENCE.
10090
10091 2001-08-08  Graham Stott  <grahams@redhat.com>
10092
10093         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
10094         (diagnostic_prefixing_rule): Likewise.
10095         (diagnostic_line_cutoff): Likewise.
10096         (diagnostic_kind_count): Likewise.
10097
10098 2001-08-08  Graham Stott  <grahams@redhat.com>
10099
10100         * alias.c (find_base_decl): Delete redundent assignment.
10101
10102 2001-08-08  Graham Stott  <grahams@redhat.com>
10103
10104         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
10105         (abs): Uppercase and paranthesize macro parameter.
10106         (MEM_DEPENDENCY): Add whitespace.
10107
10108 2001-08-08  Graham Stott  <grahams@redhat.com>
10109
10110         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
10111         failure check for CONST_INT
10112
10113 2001-08-08  Graham Stott  <grahams@redhat.com>
10114
10115         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
10116         (libcall_dead_p): Likewise.
10117
10118         (mark_used_regs): Constify fmt.
10119         (find_use_as_address): Likewise.
10120
10121 2001-08-08  Graham Stott  <grahams@redhat.com>
10122
10123         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
10124          parameter.
10125
10126 2001-08-08  Graham Stott  <grahams@redhat.com>
10127
10128         * combine.c (combine_simplify_rtx): Update comment and
10129         remove erroneous test.
10130
10131 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
10132
10133         * cppinit.c (cpp_finish): Pop the final buffer without comment.
10134         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
10135         take care to avoid multiple no-newline at EOF warnings in that
10136         case.
10137
10138 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
10139
10140         * calls.c (expand_call): Do not emit INSN_SETJMP note.
10141         (emit_library_call_value_1): Likewise.
10142         (emit_call_1): Emit REG_SETJMP note.
10143         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
10144         of INSN_SETJMP
10145         * cselib.c (cselib_process_insn): Likewise.
10146         * flow.c (propagate_block): Likewise.
10147         * loop.c (find_and_verify_loops): Likewise.
10148         * reload.c (find_equiv_regs): Likewise.
10149         * reload1.c (reload): Likewise.
10150         * resource.c (mark_referenced_resources,
10151         mark_set_resources): Likewise.
10152         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
10153         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
10154         * haifa-sched.c (unlink_other_notes): Likewise.
10155         (reemit_notes): Likewise.
10156         * sched-ebb.c (sched_ebb): Likewise.
10157         * sched-rgc.c (sched_region): Likewise.
10158         * rtl.c (note_insn_name): Likewise.
10159         (reg_note_name): Add REG_SETJMP
10160         * rtl.h (reg_note): Add REG_SETJMP.
10161         (insn_note): Remove NOTE_INSN_SETJMP.
10162
10163         * profile.c (branch_prob): Add fake edges for setjmp.
10164
10165 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
10166
10167         * config.gcc: Quote target_cpu_default2 correctly for
10168         powerpc*-*-* targets.
10169
10170 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
10171
10172         * cpplib.h, line-map.h: Update comments.
10173         * cppmain.c (printer_init): Move inline.
10174         (maybe_print_line, print_line): Take a map pointer.
10175         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
10176         (cb_file_change): Don't use prior value of print.map.
10177
10178 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
10179
10180         * doc/install.texi: Document fine-grained multilib configuration.
10181
10182 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
10183
10184         * rtlanal.c (find_first_parameter_load): Call note_stores
10185         only on the instructions.
10186
10187 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
10188
10189         * alias.c (nonlocal_mentioned_p):
10190         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
10191         * calls.c (emit_call_1): Likewise.
10192         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
10193         * cselib.c (cselib_process_insn): Likewise.
10194         * df.c (df_insns_modify): Likewise.
10195         * flow.c (need_fake_edge_p): Likewise.
10196         (propagate_one_insn): Likewise.
10197         * haifa-sched.c (reemit_notes): Likewise.
10198         * integrate.c (copy_insn_list): Likewise.
10199         * jump.c (delete_prior_computation): Likewise.
10200         * local-alloc.c (validate_equiv_mem): Likewise.
10201         * loop.c (scan_loop): Likewise.
10202         * predict.c (estimate_probability): Likewise.
10203         * reload.c (reload): Likewise.
10204         * sched-deps (sched_analyze): Likewise.
10205         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
10206         * gcse.c (compute_hash_table): Likewise.
10207         (mark_call): Likewise.
10208         (store_killed_in_insn): Likewise.
10209
10210 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
10211
10212         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
10213
10214 2001-08-06  Richard Henderson  <rth@redhat.com>
10215
10216         * varasm.c (assemble_gc_entry): Remove.
10217         * output.h: Likewise.
10218
10219 2001-08-06  Richard Henderson  <rth@redhat.com>
10220
10221         * varasm.c (assemble_constructor): Take a symbol_ref and a
10222         priority instead of a bare string.  Move priority handling
10223         here from cp/decl2.c.
10224         * output.h: Update decls.
10225
10226         * c-decl.c (c_expand_body): Update calls to assemble_constructor
10227         and assemble_destructor.
10228         * profile.c (output_func_start_profiler): Likewise.
10229         * objc/objc-act.c (finish_objc): Likewise.
10230         (build_module_descriptor): Return the symbol not the symbol name.
10231
10232 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
10233
10234         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
10235         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
10236         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
10237         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
10238         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
10239         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
10240
10241 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
10242
10243         * cpperror.c (print_containing_files): Moved to line-map.c.
10244         (print_location): line-map.c handles re-listing or otherwise.
10245         * cpphash.h (struct lexer_state): Remove next_bol.
10246         (struct cpp_buffer): Remove include_stack_listed.
10247         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
10248         Remove faked buffer handling.
10249         (_cpp_do_file_change): Tweak.
10250         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
10251         * cppmain.c (struct printer): Remove filename.
10252         (print_line, cb_file_change): Update accordingly.
10253         * line-map.c: Include intl.h.
10254         (init_line_maps): Initialize last_listed.
10255         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
10256         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
10257         (print_containing_files): New.
10258         * line-map.h (struct line_maps): New member last_listed.
10259         (print_containing_files, INCLUDED_FROM): New.
10260         * Makefile.in: Update.
10261         * po/POTFILES.in: Add line-map.c.
10262
10263 2001-08-06  Richard Henderson  <rth@redhat.com>
10264
10265         * except.c (convert_from_eh_region_ranges_1): Never mark
10266         USE or CLOBBER insns as throwing.
10267
10268         * expr.c (store_constructor): Don't clobber memory targets.
10269
10270 2001-08-06  Andreas Jaeger  <aj@suse.de>
10271
10272         * profile.c (branch_prob): Remove unused variable insn.
10273
10274         * Makefile.in (local-alloc.o): Add dependency on except.h.
10275
10276         * local-alloc.c: Include except.h for can_throw_internal prototype.
10277
10278 2001-08-06  Richard Henderson  <rth@redhat.com>
10279
10280         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
10281         * function.c (expand_main_function): Implement it.
10282         * doc/tm.texi: Document it.
10283
10284 2001-08-06  Stan Shebs  <shebs@apple.com>
10285
10286         * doc/install.texi: Document powerpc-*-darwin* details.
10287
10288 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
10289
10290         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
10291         (ASM_CPU_SPEC): Move back to rs6000.h
10292         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
10293
10294         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
10295
10296         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
10297         readded.
10298
10299         * config/rs6000/linux64.h: Ditto.
10300
10301         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
10302         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
10303         nothing.
10304
10305         Remove accidently readded definitions of FUNCTION_PROLOGUE,
10306         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
10307
10308         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
10309         to rs6000.h
10310
10311 2001-08-05  Richard Henderson  <rth@redhat.com>
10312
10313         * local-alloc.c (update_equiv_regs): Do not move insns that
10314         can throw.
10315
10316 2001-08-05  Jan Hubicka  <jh@suse.cz>
10317
10318         * Makefile.in (reload1.o): Add dedendancy on except.h
10319         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
10320         prototypes.
10321         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
10322         indicating wehther edges has been cleaned up.
10323         * reload1.c: Inlucde except.h
10324         (fixup_abnormal_edges): Accept deleted insns.
10325         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
10326         after combine.
10327
10328 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
10329
10330         * cpplib.c (do_line): Correct line number after pop_buffer.
10331
10332 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
10333
10334         PR preprocessor/3824
10335         * line-map.c: Update comments.
10336         * line-map.h: Update comments.
10337         * tradcif.y: Don't consider large numbers unsigned.
10338
10339 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
10340
10341         PR preprocessor/3081
10342         * c-lex.c (map): New.
10343         (cb_file_change): Update map and use it.
10344         (cb_def_pragma, cb_define, cb_undef): Use map and line.
10345         (c_lex): Update to use map.
10346         * cpperror.c (print_location): Move to using logical line numbers.
10347         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
10348         (cpp_make_system_header): Similarly.
10349         (_cpp_execute_include): Stop line numbering hacks.  Store the
10350         line we will return to.
10351         * cpphash.h (CPP_BUF_LINE): Remove.
10352         (struct cpp_buffer): Remove lineno and pseudo_newlines.
10353         Add map and return_to_line.
10354         (_cpp_do_file_change): Update.
10355         * cppinit.c (cpp_start_read): Update line kludge.
10356         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
10357         (trigraph_ok): Use logical line numbers for diagnostics.
10358         (skip_block_comment): Likewise.
10359         (skip_whitespace): Likewise.
10360         (skip_line_comment): Use pfile->line instead.
10361         (_cpp_lex_token): Update to use logical line numbering exclusively.
10362         Handle BOL locally.  Accept new lines in directives, but keep
10363         pfile->line decremented.  Diagnostics use logical lines.  Update
10364         directive handling.
10365         * cpplib.c (SEEN_EOL): New.
10366         (skip_rest_of_line, check_eol): Use it.
10367         (end_directive): Increase line number when accepting the newline
10368         at the end of a directive.
10369         (run_directive): Simplify.
10370         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
10371         (_cpp_do_file_change): Update to take buffer line number as an
10372         argument, and store the current map in the cpp_reader.  Remove
10373         line number kludges.
10374         (_cpp_do__Pragma): Restore output position after a _Pragma.
10375         (cpp_push_buffer): Don't set output line or lineno.
10376         (_cpp_pop_buffer): Transfer more info from a faked buffer.
10377         Remove line kludge.  Set output_line.
10378         * cppmacro.c (builtin_macro): Update handling of __LINE__.
10379         (parse_arg): Use logical lines.
10380         (save_lookahead_token): Save EOFs too now.
10381         * cppmain.c (struct printer): Fix comments.
10382         (printer_init): Simplify, let caller do errors.
10383         (scan_translation_unit, check_multiline_token, dump_macro): Update.
10384         (maybe_print_line): Simplify.
10385         (print_line): Don't print a linemarker if -P.
10386         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
10387         (cb_file_change): Simplify.
10388         * line-map.h (LAST_SOURCE_LINE): Fix.
10389         (CURRENT_LINE_MAP): New.
10390
10391 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
10392
10393         * doloop.c (doloop_modify_runtime): Properly compute number of
10394         iterations if loop was unrolled.
10395
10396         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
10397         if their CSELIB_VAL_PTRs are.
10398
10399         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
10400         (setup_spill_pointers): Initialize it.
10401         (spill_restore_mem): Set it.
10402         (do_spill, do_restore): Use it to add REG_INC note.
10403         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
10404
10405         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
10406         asms if other insns are available.
10407
10408         * config/ia64/ia64.c (condop_operator): New predicate.
10409         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
10410         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
10411         patterns.
10412
10413         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
10414         temporary register than directly using a MEM.
10415
10416 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
10417
10418         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
10419         parameter in last change.
10420
10421 2001-08-04  Zack Weinberg  <zackw@panix.com>
10422
10423         * sparc.md: Don't use #if inside C test expression.
10424
10425 2001-08-04  Richard Henderson  <rth@redhat.com>
10426
10427         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
10428
10429 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
10430
10431         * cpphash.h (struct cpp_reader): New member directive_line.
10432         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
10433         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
10434         do_pragma): Pass line to callbacks.
10435         (start_directive): Record line of directive.
10436         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
10437         cb_include): Similarly.
10438         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
10439         Similarly.
10440
10441 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
10442
10443         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
10444         comment.
10445
10446 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
10447
10448         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
10449
10450         * reload1.c (fixup_abnormal_edges): New static function.
10451         (reload): Use it.
10452
10453         * flow.c (need_fake_edge_p): New function.
10454         (flow_call_edges_add): Fix handling of noreturn and sibling calls;
10455         avoid call insn to be very last insn in the insn stream.
10456
10457         * profile.c (branch_prob): Call flow_call_edges_add instead of
10458         doing that by hand; cleanup cfg to re-merge basic blocks once
10459         we are done.
10460
10461 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10462
10463         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
10464         are also on line-map.h.
10465         * cppfiles.c (stack_include_file): Update.
10466         * cpphash.h (struct cpp_buffer): New member return_at_eof.
10467         (_cpp_pop_buffer): New.
10468         * cppinit.c (cpp_destroy, cpp_finish): Update.
10469         (do_includes): Mark each buffer to return at EOF.
10470         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
10471         return as requested.
10472         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
10473         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
10474         * cpplib.h (cpp_pop_buffer): Remove.
10475         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
10476         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
10477         buffers.
10478         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
10479         to pop buffers.
10480         (do_preprocessing): Update.
10481         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
10482         * c-parse.in (_yylex): Similarly.
10483         * scan-decls.c (scan_decls): Similarly.
10484         * line-map.h: Update comments.
10485
10486         * objc/Make-lang.in (objc-act.o): Update dependencies.
10487
10488 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10489
10490         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
10491         and soft register for operand 0.
10492         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
10493
10494 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10495
10496         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
10497         register for operand 0.
10498         ("bitcmpqi_z_used"): Allow memory for operand 0.
10499         (split "bitcmpqi"): New split to handle address reg as operand 1.
10500
10501 2001-08-04  Andreas Jaeger  <aj@suse.de>
10502
10503         * gcse.c: Revert Daniel's last patch.
10504
10505 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
10506
10507         * sparc-protos.h: Add prototypes for fp_zero_operand and
10508         reg_or_0_operand.
10509         * sh-protos.h: Add prototype for fpul_operand.
10510
10511 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
10512
10513         * doc/extend.texi (Other Builtins): Fix typo in last change.
10514
10515 2001-08-03  Richard Henderson  <rth@redhat.com>
10516
10517         * target.h (gcc_target): Add asm_out.named_section,
10518         section_type_flags, have_named_sections.
10519         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
10520         (TARGET_HAVE_NAMED_SECTIONS): New.
10521         (TARGET_SECTION_TYPE_FLAGS): New.
10522
10523         * Makefile.in (toplev.o): Depend on TARGET_H.
10524         (varasm.o, dbxout.o): Likewise.
10525         * c-common.c (decl_attributes): Check targetm.have_named_sections
10526         instead of ifdef ASM_OUTPUT_SECTION_NAME.
10527         * dbxout.c (dbxout_function_decl): Likewise.
10528         (dbxout_function_end): Likewise.
10529         * toplev.c (compile_file): Likewise.
10530         * varasm.c (exception_section): Likewise.
10531         * cp/decl2.c (finish_objects): Likewise.
10532
10533         * defaults.h (EH_FRAME_SECTION): Remove.
10534         (EH_FRAME_SECTION_ASM_OP): Remove.
10535         (EH_FRAME_SECTION_NAME): New.
10536         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
10537         (UNIQUE_SECTION_P): Remove.
10538         * dwarf2out.c (SECTION_FORMAT): Remove.
10539         (ASM_OUTPUT_SECTION): Remove.
10540         (output_call_frame_info): Use named_section_flags.
10541         (output_comp_unit, dwarf2out_start_source_file): Likewise.
10542         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
10543         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
10544         * varasm.c (in_eh_frame, eh_frame_section): Remove.
10545         (named_section_flags): New.
10546         (named_section): Use it and targetm.section_type_flags.
10547         (resolve_unique_section): New.
10548         (assemble_start_function): Use it.
10549         (asm_emit_uninitialised, assemble_variable): Likewise.
10550         (default_section_type_flags): New.
10551         (default_no_named_section, default_elf_asm_named_section): New.
10552         (default_coff_asm_named_section, default_pe_asm_named_section): New.
10553         * output.h: Update varasm.c decls.
10554         (SECTION_*): New flags.
10555
10556         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
10557         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
10558
10559         * config/elfos.h (UNIQUE_SECTION_P): Remove.
10560         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
10561         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
10562         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
10563         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
10564         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
10565         * config/mips/elf.h, config/mips/elf64.h: Likewise.
10566         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
10567         * config/pa/pa64-hpux.h,
10568
10569         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
10570         (TARGET_ASM_NAMED_SECTION): New.
10571         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
10572         * config/alpha/vms.h, config/arm/coff.h: Likewise.
10573         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
10574         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
10575         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
10576         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
10577         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
10578         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
10579         * config/i386/sco5.h, config/i386/win32.h: Likewise.
10580         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
10581         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
10582         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
10583         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
10584         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
10585         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
10586         * config/sparc/sysv4.h: Likewise.
10587
10588         * config/nextstep.h: Error until named sections implemented.
10589
10590         * config/a29k/a29k.c (a29k_asm_named_section): New.
10591         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
10592         (vms_section_type_flags, vms_asm_named_section): New.
10593         * config/arm/arm.c (arm_elf_asm_named_section): New.
10594         * config/avr/avr.c (asm_output_section_name): Remove.
10595         * config/avr/avr-protos.h: Update.
10596         * config/c4x/c4x.c (c4x_asm_named_section): New.
10597         * config/h8300/h8300.c (h8300_asm_named_section): New.
10598         * config/i386/i386.c (sco_asm_named_section): New.
10599         * config/i386/winnt.c (SECTION_PE_SHARED): New.
10600         (i386_pe_section_type_flags): New.
10601         (i386_pe_asm_named_section): New.
10602         * config/i386/i386-protos.h: Update.
10603         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
10604         * config/mcore/mcore.c (mcore_asm_named_section): New.
10605         * config/mips/mips.c (iris6_asm_named_section): New.
10606         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
10607         instead of UNIQUE_SECTION_P.
10608         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
10609         (xcoff_asm_named_section): New.
10610         * config/sh/sh.c (sh_asm_named_section): New.
10611         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
10612
10613         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
10614         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
10615         (EH_FRAME_SECTION_NAME): New.
10616         (EXCEPTION_SECTION): New.
10617         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
10618         (DEBUG_*_SECTION): Remove.
10619         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
10620         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
10621         (EH_FRAME_SECTION_ASM_OP): Remove.
10622
10623         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
10624         (ASM_OUTPUT_SECTION_NAME): Remove.
10625         (TARGET_ASM_NAMED_SECTION): New.
10626         (TARGET_HAVE_NAMED_SECTIONS): New.
10627         (TARGET_SECTION_TYPE_FLAGS): New.
10628         (EH_FRAME_SECTION_ASM_OP): Remove.
10629         (EH_FRAME_SECTION_NAME): New.
10630
10631 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
10632
10633         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
10634         for complex expressions when cfun == 0.
10635         * doc/extend.texi: Document that __builtin_constant_p can be
10636         used in data initializers as well as functions.
10637
10638 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
10639
10640         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
10641         variable I locally, instead of expecting a declaration in the
10642         calling context.
10643
10644 2001-08-03  Richard Henderson  <rth@redhat.com>
10645
10646         * except.c (collect_one_action_chain): Add an explicit cleanup
10647         action if regions surrounding a catch were encoded entirely
10648         within the call-site entry.
10649
10650 2001-08-03  Richard Henderson  <rth@redhat.com>
10651
10652         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
10653         don't take REGNO of a non-register.
10654
10655 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10656
10657         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
10658         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
10659         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
10660         (__gthread_mutex_init_function): New function for mutex initialization.
10661
10662 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
10663
10664         * Makefile.in: Revert screwed up commit.
10665
10666 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10667
10668         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
10669         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
10670         merged by linker script to get a final _exit().
10671         (__do_global_dtors): New for destructor handling in specific exit
10672         section.
10673         (__do_global_ctors): New for constructors in specific install section.
10674         (__map_data_section): Map data sections before running constructors.
10675         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
10676         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
10677         (DTORS_SECTION_ASM_OP): Likewise.
10678         (CTORS_SECTION_FUNCTION): Define to force a reference to
10679         __do_global_ctors.
10680         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
10681
10682 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
10683
10684         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
10685
10686         * Makefile.in: Add df.h to gcse.c dependencies.
10687
10688 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10689
10690         * varasm.c (output_constant_def_contents): Use for the length of a
10691         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
10692         depending on which is larger.
10693
10694 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
10695
10696         * gcse.c: Include df.h for use as a dataflow analyzer.
10697         Remove regvec.
10698         Declaration of reg_set_info: gone.
10699         New df_analyzer variable used by store motion.
10700         (reg_set_info): Deleted.
10701         (mark_mem_regs): New function, analyze regs used by a mem.
10702         (store_ops_ok): Use dataflow analyzer results to determine if
10703         necessary regs are changed in the block.
10704         (find_moveable_store): Remove check for symbol ref, we can handle
10705         much more complex expressions now.
10706         (compute_store_table): Remove most of the code, it's unnecessary
10707         now that the dataflow analyzer records the info for us.
10708         (store_killed_after): Add parameter to say whether to do the
10709         store_ops_okay test, used to speed up testing when we already know
10710         the answer, and just want to know if the store itself was killed.
10711         (build_store_vector): Largely rewritten to calculate the various
10712         vectors properly, and somewhat optimized.
10713         (store_motion): Init the df_analyzer, get REG_DEF chains.
10714         Also handle trapping expressions (since mems almost always trap)
10715         (simple_mem): Redefine what a simple mem is.
10716
10717 2001-08-03  DJ Delorie  <dj@redhat.com>
10718
10719         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
10720         set from a constant part of the condition.
10721
10722 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
10723
10724         * mkdeps.c (deps_add_default_target): Make local variable
10725         ``start'' a const char pointer.
10726         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
10727
10728 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10729
10730         * doc/install.texi (Configuration): Fix markup.
10731         (Specific, i?86-*-udk): Likewise.
10732         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
10733         --with-gnu-ld.
10734         Document --enable-threads and --enable-libgcj status.
10735         (Specific, mips-sgi-irix*): Canonicalize triples.
10736         (Specific, mips-sgi-irix5): Warn about problems with this config.
10737         Mention required GNU as patch.
10738         Native assembler problems are fixed.
10739         (Specific, mips-sgi-irix6): Update O32 ABI support status.
10740         Document --enable-threads and --enable-libgcj status.
10741
10742 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
10743
10744         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
10745         of mkinstalldirs.
10746
10747 2001-08-03  Richard Henderson  <rth@redhat.com>
10748
10749         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
10750         constant data.
10751
10752 2001-08-03  Richard Henderson  <rth@redhat.com>
10753
10754         * rtlanal.c (find_first_parameter_load): Stop if we
10755         reach a CODE_LABEL at BOUNDARY.
10756
10757 2001-08-03  Richard Henderson  <rth@redhat.com>
10758
10759         * config/alpha/alpha.md (force_movdi): New insn.
10760         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
10761         Tweek FRP marking of VMS prologue insns.
10762         * config/alpha/vms.h (EPILOGUE_USES): New.
10763
10764 2001-08-02  Richard Henderson  <rth@redhat.com>
10765
10766         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
10767
10768 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
10769
10770         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
10771         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
10772         config/convex/convex.h, config/d30v/d30v.c,
10773         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
10774         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
10775         config/mips/mips.h, config/mn10200/mn10200.h,
10776         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
10777         config/v850/v850.h, config/vax/openbsd.h,
10778         config/vax/openbsd1.h, config/vax/ultrix.h,
10779         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
10780         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
10781         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
10782         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
10783         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
10784         in comments and documentation.
10785
10786 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10787
10788         * line-map.c: New.
10789         * line-map.h: New.
10790         * Makefile.in (line-map.o): New.
10791         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
10792         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
10793         * cpperror.c (print_containing_files): Similarly.
10794         (print_location): Update.  Don't output a space before _Pragma.
10795         * cppfiles.c (stack_include_file): Set to line 1 immediately.
10796         (stack_include_filee, cpp_make_system_header): Update.
10797         (_cpp_execute_include): Get logical line number right for calling
10798         as-yet-unterminated #include.
10799         * cpphash.h (struct cpp_reader): Add line_maps.
10800         (_cpp_do_file_change): Update.
10801         * cppinit.c (cpp_create_reader): Initialize line maps.
10802         (cpp_destroy): Destroy line maps.
10803         (cpp_start_read): Get logical line number right.
10804         * cpplex.c (parse_string): Only warn once for multi-line strings.
10805         Use boolean variable for null warning.
10806         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
10807         already.
10808         (do_include_common): End the directive early.
10809         (do_line): Don't warn about out-of-range lines in preprocessed
10810         source.  Update.  Remove unused variables.
10811         (_cpp_do_file_change): Update for new line mapping.
10812         (pragma_cb): New typedef.
10813         (cpp_register_pragma): Stop looking ahead before calling the
10814         handler.  Clean up.
10815         (do_pragma_system_header): End directive early.
10816         (cpp_get_line_maps): New.
10817         (cpp_pop_buffer): Fudge logical line.  Update.
10818         * cpplib.h: Include line-map.h
10819         (enum cpp_fc_reason): Remove.
10820         (struct cpp_file_change): Update.
10821         (cpp_get_line_maps): New.
10822         * cppmain.c (struct_printer): New member map.
10823         (cb_file_change): Update for new mappings.
10824         * fix-header.c (cb_file_change): Similarly.
10825
10826 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
10827
10828         * Makefile.in (libgcc.mk): Define mkinstalldirs.
10829         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
10830
10831 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
10832
10833         * config/vax/vax.c: include expr.h.
10834
10835 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
10836
10837         * Makefile.in ($(srcdir)/configure): Only rebuild in
10838         maintainer mode.
10839         ($(srcdir)/config.in): Only define in maintainer mode.
10840         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
10841
10842 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
10843
10844         * doc/install.texi (Install GCC: Binaries): Update Bull info.
10845
10846 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10847
10848         * gcc.c (set_collect_gcc_options): New function, split out from
10849         main.
10850         Ignore elided switches.
10851         (do_spec_1): Invoke before executing command.
10852         (set_input): Export.
10853         Move declaration ...
10854         * gcc.h (set_input): ... here.
10855         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
10856         file.
10857
10858 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
10859
10860         Kill -fhonor-std.
10861         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
10862         interaction.
10863         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
10864
10865 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
10866
10867         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
10868         for the unnamed instructions it expands to.
10869
10870 2001-08-02  Richard Henderson  <rth@redhat.com>
10871
10872         * regclass.c (call_really_used_regs): Conditionally define.
10873         (init_reg_sets_1): Don't use it if not defined.
10874         (fix_register): Similarly, don't set it.
10875
10876 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10877
10878         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
10879         Correct comment that had been missed in the previous change.
10880
10881 2001-08-01  Stan Shebs  <shebs@apple.com>
10882
10883         * config/darwin.c (machopic_stub_name): Try matching by name.
10884         (update_stubs): New function.
10885         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
10886         unconditionally.
10887
10888 2001-08-01  Richard Henderson  <rth@redhat.com>
10889
10890         * except.c (output_function_exception_table): Use assemble_align.
10891         * varasm.c (assemble_eh_label): Remove.
10892         (assemble_eh_align, assemble_eh_integer): Remove.
10893
10894 2001-08-01  Robert Lipe  <robertl@caldera.com>
10895
10896         * dwarfout.c: Remove reference to README.DWARF.
10897
10898 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
10899
10900         * regclass.c (call_really_used_regs): New array for registers which
10901         are actually used by a call.
10902         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
10903         new array.
10904         (fix_register): Set call_really_used too.
10905         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
10906         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
10907
10908 2001-08-01  Richard Henderson  <rth@redhat.com>
10909
10910         * read-rtl.c (read_name): Consider \r whitespace.
10911
10912 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
10913
10914         * config.gcc: Recognize powerpc-*-netbsd*.
10915
10916         * doc/install.texi (Host/target specific installation notes for
10917         GCC): Mention powerpc-*-netbsd*.
10918
10919         * config/rs6000/netbsd.h: New file.
10920         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
10921         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
10922         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
10923         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
10924         (TARGET_VERSION): Redefine.
10925
10926         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
10927         mcall-netbsd as a match for mcall-sysv.
10928         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
10929         (ncrti.S, ncrtn.S): New targets.
10930         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
10931
10932         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
10933         "netbsd' as a V4 ABI.
10934         (ASM_SPEC): Check for -mcall-netbsd.
10935         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
10936         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
10937         (LIB_SPEC, ENDFILE_SPEC): Ditto.
10938         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
10939         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
10940         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
10941         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
10942
10943         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
10944         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
10945
10946 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
10947
10948         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
10949         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
10950         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
10951         including "unwind-pe.h".
10952
10953 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
10954
10955         * rs6000.md (define_splits): Kill unused constraints.
10956
10957 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
10958                               Jan Hubicka  <jh@suse.cz>
10959
10960         * function.c (thread_prologue_and_epilogue_insns): Kill code
10961         dealing with non-existent CFG.
10962
10963 2001-08-01  Kazu Hirata  <kazu@hxi.com>
10964
10965         * alias.c: Fix comment formatting.
10966         * bitmap.c: Likewise.
10967         * builtins.c: Likewise.
10968         * calls.c: Likewise.
10969         * c-common.c: Likewise.
10970         * c-decl.c: Likewise.
10971         * c-dump.c: Likewise.
10972         * c-lex.c: Likewise.
10973         * collect2.c: Likewise.
10974         * combine.c: Likewise.
10975         * conflict.c: Likewise.
10976         * cppfiles.c: Likewise.
10977         * cppinit.c: Likewise.
10978         * cpplex.c: Likewise.
10979         * cpplib.c: Likewise.
10980         * cppmacro.c: Likewise.
10981         * cppspec.c: Likewise.
10982         * c-pragma.c: Likewise.
10983         * crtstuff.c: Likewise.
10984         * cse.c: Likewise.
10985         * cselib.c: Likewise.
10986         * c-semantics.c: Likewise.
10987         * c-typeck.c: Likewise.
10988
10989 2001-08-01  H.J. Lu <hjl@gnu.org>
10990
10991         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
10992
10993 2001-08-01  H.J. Lu <hjl@gnu.org>
10994
10995         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
10996
10997 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
10998
10999         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
11000         contextualizing Objective-C class name lookup by the lexer.
11001         (typespec_reserved_nonattr): Disable ObjC class name lookup after
11002         seeing a TYPESPEC.
11003         (protocoldef): Add support for forward @protocol declarations.
11004         (yylexname): Suppress ObjC class name lookup in certain contexts;
11005         re-enable after lookup is complete.
11006         (_yylex): Re-enable ObjC class name lookup when certain
11007         punctuation marks are seen.
11008
11009         * objc/objc-act.c (check_protocol_recursively): New function used
11010         for finding circular dependencies in protocols.
11011         (objc_declare_protocols): New function for handling forward
11012         @protocol declarations.
11013         (receiver_is_class_object): Detect the case when 'self' is used
11014         inside of a class method.
11015         (build_message_expr): Issue a warning if class method is desired
11016         but instance method is found instead.
11017         (conforms_to_protocol): Streamline.
11018         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
11019         protocol Foo, even if 'Bar foo' does not.
11020         (check_protocols): Streamline.
11021         (start_protocol): Add checks for circular and duplicate protocol
11022         definitions.
11023         (encode_aggregate_within): For typedefs of structs, encode the
11024         underlying struct.
11025         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
11026         (objc_declare_protocols): New prototype.
11027
11028 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11029
11030         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
11031         * cpplex.c (handle_newline): Update prototype.  Maintain logical
11032         line number.
11033         (skip_escaped_newlines, skip_block_comment, parse_string):
11034         Update accordingly.
11035         (_cpp_lex_token): Update, and store token position within the token.
11036         * cpplib.h (struct cpp_token): Add line and column entries.
11037         * cppmacro.c (replace_args): Position stringified tokens correctly.
11038
11039 2001-08-01  Andreas Jaeger  <aj@suse.de>
11040
11041         * basic-block.h: Add prototype for last_loop_beg_note.
11042
11043 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
11044
11045         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
11046         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
11047         comment.
11048         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
11049         while handling WITH_CLEANUP_EXPR node. Use second operand calling
11050         expand_decl_cleanup.
11051         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
11052         the first RTX.
11053         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
11054         operand while calling simple_cst_equal.
11055         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
11056         operand is the cleanup expression, the third is the RTL_EXPR.
11057         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
11058
11059 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
11060
11061         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
11062
11063 2001-07-31  matthew green  <mrg@eterna.com.au>
11064
11065         * config.gcc (i386-*-netbsdelf): New description.
11066         * config/i386/netbsd-elf.h: New file.
11067
11068 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
11069
11070         * loop.c (check_dbra_loop): Use single_set to compute
11071         jump_label.
11072
11073 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
11074
11075         PowerPC reorg and support for powerpc64-*-linux*.
11076
11077         Also fixes emitting of constants on 32 bit and 64 bit
11078         platforms.
11079
11080         * config.gcc: powerpc64-*-linux* is a new target.
11081         Things that needed aix.h now also include xcoff.h
11082
11083         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
11084         xcoff.h.
11085         Move AIX specific stuff into aix.h.
11086         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
11087         with more than just XCOFF now.
11088         (SET_ASM_OP): Remove, now defined where needed.
11089         (FUNCTION_PROLOGUE): New macro definition.
11090         (FUNCTION_EPILOGUE): New macro definition.
11091         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
11092
11093         * config/rs6000/xcoff.h: New file.
11094
11095         * config/rs6000/linux64.h: New file.
11096
11097         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
11098
11099 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
11100
11101         * rs6000.c (print_operand_address): Handle ELF syntax.
11102         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
11103         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
11104         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
11105
11106 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
11107
11108         * rs6000.c (rs6000_override_options): Only disable
11109         flag_function_sections for XCOFF.
11110         (exact_log2_cint_operand): New predicate.
11111         (reg_or_{add,sub}_cint64_operand): New predicates.
11112         (add_operand): Compare CONST_INT with fewer function calls.
11113         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
11114         (print_operand, case 'p'): Ensure positive operand.
11115         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
11116         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
11117         (PREDICATE_CODES): Add new predicates.
11118         * rs6000.md (addsi3): Split 32-bit constants more correctly.
11119         (divsi3, modsi3): Ensure positive power-of-2.
11120         (adddi3): Use new predicate.  Split 32-bit constants more
11121         correctly.  Re-arrange splitter to handle any constant.
11122         (subdi3): Use new predicate.
11123         (divdi3, moddi3): Ensure positive power-of-2.
11124         (movdi): Use rs6000_emit_set_const.
11125         (load_toc_v4_pic_di): Delete.
11126
11127 2001-07-31  Graham Stott <grahams@redhat.com>
11128
11129         * function.c (pad_below): Revert 2001-07-26 patch.
11130
11131 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
11132
11133         * reg-stack (convert_regs_1): Fix best edge condition.
11134
11135 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
11136
11137         * jump.c (duplicate_loop_exit_test): Better test for jumps
11138         entering the loop; create loop pre_header.
11139
11140 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
11141
11142         * doc/install.texi: Add s390 and s390x as new targets.
11143         * doc/invoke.texi: Add documentation of S/390 and zSeries
11144         target options.
11145         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
11146
11147 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
11148
11149         * config/m68k/m68k.md: Replace all general_operand with
11150         nonimmediate_operand for all destinations.
11151         * config/m68k/m68k.c (not_sp_operand): Likewise.
11152
11153 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
11154
11155         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
11156
11157 2001-07-30  Richard Henderson  <rth@redhat.com>
11158
11159         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
11160         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
11161
11162 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
11163
11164         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
11165         Add missing doc strings
11166         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
11167         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
11168
11169 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
11170
11171         * i386.c (ix86_output_main_function_alignment_hack): New function.
11172         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
11173
11174         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
11175         edges by EDGE_DFS_BACK flag.
11176         (dump_edge_info): Add dfs_back flag.
11177         * basic-block.h (EDGE_DFS_BACK): New constant.
11178         (mark_dfs_back_edges): Declare.
11179         * alias.c (loop_p): Remove.
11180         (mark_constant_function): Use mark_dfs_back_edges.
11181
11182         * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
11183         (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
11184         (compensate_edge): Break out from ...
11185         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
11186         (convert_regs_2): Set block_done once block is really done;
11187         Do updating of the predecessors counts.
11188
11189         * toplev.c (rest_of_compilation): Recompute block_for_insn
11190         before post-reload cfg_cleanup.
11191         * function.c (thread_prologue_epilogue_insns):
11192         Call set_block_for_new_insns when emitting prologue directly.
11193
11194 2001-07-30  Andreas Jaeger  <aj@suse.de>
11195
11196         * jump.c: Add prototype for mark_modified_reg.
11197
11198         * cse.c (set_live_p): Add unused attribute.
11199
11200         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
11201         overflow.
11202         (scan_for_source_files): Use long for count to avoid overflow.
11203         (output_data): Likewise.
11204         (output_data): Don't use string concatatenation to silence gcc
11205         -traditional.
11206
11207         * predict.c: Fix typos and grammar.
11208
11209         * gcse.c (insert_insn_end_bb): Remove unused variables.
11210
11211 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
11212
11213         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
11214         (attempt_auto_inc): LIkewise.
11215         (mark_used_reg): Likewise.
11216         (try_pre_increment_1): Likewise.
11217         * regclass.c (regclass): Likewise.
11218         * global.c (allocno_compare): Update comment; change scaling factor.
11219         * local-alloc.c (QTY_CMP_PRI): Likewise.
11220         * regs.h (REG_FREQ_FROM_BB): New.
11221         (REG_FREQ_MAX): Likewise.
11222
11223 2001-07-30  H.J. Lu <hjl@gnu.org>
11224
11225         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
11226         -D_GNU_SOURCE.
11227
11228 2001-07-30  H.J. Lu  (hjl@gnu.org)
11229
11230         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
11231         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
11232         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
11233
11234 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
11235
11236         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
11237         as -mthumb-interwork when -mcpu=arm7 is specified.
11238
11239 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
11240
11241         * predict.def (noreturn, loop branch, loop exit): Mark as first
11242         match heuristics.
11243
11244 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
11245
11246         * combine.c (try_combine): Avoid barrier after noop jumps.
11247
11248 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11249
11250         * cpphash.h (struct cpp_reader): Remove import_warning.
11251         * cpplib.c (skip_rest_of_line): Don't bother turning off
11252         macro expansion.
11253         (parse_include): Move include handling to...
11254         (do_include_common): ... here.  Move import warning from...
11255         (do_import): ... here.
11256         (do_pragma_poison): Don't do a callback for poison identifiers.
11257         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
11258         * cppmain.c (setup_callbacks): Similarly.
11259
11260 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
11261
11262         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
11263         handle multiple sets.
11264         * except.c (sjlj_mark_call_sites): .... here.
11265         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
11266
11267 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
11268
11269         Suggested by Richard Henderson and Richard Kenner:
11270         * combine.c (recog_for_combine): Use the fake recog
11271         only if instruction does not match.
11272         * rtl.h (NOOP_MOVE_INSN_CODE): New.
11273         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
11274
11275         * combine.c (try_combine): Discover noop jump as direct jump.
11276
11277 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
11278
11279         * df.c (df_rd_global_compute): Add successors to worklist, not
11280         current item.
11281         (df_ru_global_compute): Ditto.
11282
11283 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
11284
11285         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
11286         increment REG_N_SETS.
11287
11288 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
11289
11290         * sbitmap.h: New prototype for sbitmap_a_xor_b.
11291
11292         * sbitmap.c (sbitmap_a_xor_b): New function.
11293         ifdef the basic block stuff on IN_GCC.
11294
11295 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11296
11297         * cppexp.c (parse_defined): Always record the macro name.
11298         (lex): Don't worry about identifiers, or special-case
11299         CPP_NOT here.
11300         (_cpp_parse_expr): Figure out at the end of the routine
11301         whether we saw a valid !defined() expression.
11302         * cppfiles.c (stack_include_file): Update for mi_valid.
11303         (_cpp_pop_file_buffer): Similarly.
11304         * cpplex.c (_cpp_lex_token): Similarly.
11305         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
11306         mi_if_not_defined, mi_lexed): Remove.
11307         (mi_valid): New.
11308         * cpplib.c (do_if): Simplify.
11309         (do_endif, push_conditional, _cpp_handle_directive): Update
11310         for renaming of mi_state to mi_valid.
11311 doc:
11312         * cpp.texi: Add index entries for digraphs, and add comment
11313         that C++ refers to them as alternative tokens.
11314
11315 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
11316
11317         * basic-block.h (CLEANUP_PRE_LOOP): New.
11318         * except.c (finish_eh_generation): Update call of cleanup_cfg.
11319         * sibcall.c (optimize_sibling_calls): Likewise.
11320         * toplev.c (rest_of_compilation): Likewise.
11321         * flow.c (try_forward_edges): Take argument MODE;
11322         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
11323         (try_optimize_cfg): Update call of try_forward_edges.
11324
11325 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
11326                                 Jan Hubicka  <jh@suse.cz>
11327
11328         * (validate_replace_rtx_1): Fix simplification of MINUS.
11329
11330 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
11331
11332         PR preprocessor/3669
11333         * cppinit.c (init_dependency_output): Turn off dump requests
11334         if sending dependencies to stdout.
11335
11336 2001-07-28  Richard Henderson  <rth@redhat.com>
11337
11338         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
11339         not optimizing.
11340
11341 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
11342
11343         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
11344
11345 2001-07-28  Kazu Hirata  <kazu@hxi.com>
11346
11347         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
11348         is VAR_DECL first to prevent an ICE.
11349
11350 2001-07-28  Richard Henderson  <rth@redhat.com>
11351
11352         * varasm.c (immed_real_const_1): Don't elide special cases for
11353         nested functions.
11354         (clear_const_double_mem): Clear const_tiny_rtx too.
11355
11356 2001-07-28  Richard Henderson  <rth@redhat.com>
11357
11358         * dwarf2out.c (dw_val_class_offset): New.
11359         (struct dw_ranges_struct, dw_ranges_ref): New.
11360         (ranges_table, ranges_table_allocated): New.
11361         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
11362         (add_AT_offset, add_ranges, output_ranges): New.
11363         (print_die, output_die): Handle dw_val_class_offset.
11364         (attr_checksum, size_of_die, value_format): Likewise.
11365         (gen_lexical_block_die): Handle non-contiguous blocks.
11366         (gen_block_die): Likewise.
11367         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
11368         if needed.  Dump the ranges table.
11369         * final.c (final_start_function): Remove unnecessary notes and
11370         rebuild the block tree before numbering the blocks.
11371         * function.c (reorder_blocks_0): Walk the existing block tree
11372         to unmark all blocks.
11373         (reorder_blocks_1): Create block fragments when duplicate block
11374         notes are seen.
11375         (reorder_fix_fragments): New.
11376         (reorder_blocks): Call it.
11377         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
11378
11379 2001-07-28  Richard Henderson  <rth@redhat.com>
11380
11381         * emit-rtl.c (adjust_address): Make a copy of the memory address.
11382
11383 2001-07-28  Richard Henderson  <rth@redhat.com>
11384
11385         * flow.c (add_to_mem_set_list): New function.
11386         (init_propagate_block_info): Use it.
11387         (mark_set_1): Likewise.
11388         (insn_dead_p): Canonicalize memory address for dead store
11389         comparison.  Allow wider mode stores to kill narrower mode stores.
11390         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
11391         (invalidate_mems_from_set): Don't handle MEMs.
11392
11393 2001-07-28  Kazu Hirata  <kazu@hxi.com>
11394
11395         * config/h8300/h8300.h: Fix formatting.
11396
11397 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
11398
11399         * basic-block.h (EDGE_FREQUENCY): New macro.
11400         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
11401         for new BB/edges.
11402         * flow.c (find_sub_basic_blocks): Likewise.
11403         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
11404         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
11405
11406         * predict.c (DEF_PREDICTOR): New argument FLAGS.
11407         (HITRATE): New macro.
11408         (PRED_FLAG_FIRST_MATCH): New constant.
11409         (predictor_info): New field flgags.
11410         (combine_predictions_for_insn): Use DS theory to combine
11411         probabilities; set the edge probabilities when finished.
11412         (estimate_probability): Avoid duplicated matches
11413         of LOOP_BRANCH heuristics for nested loops; update comment.
11414         * predict.def: Add flags for each prediction, set probabilities
11415         according to B&L paper.
11416         * predict.h (DEF_PREDICTOR): New argument FLAGS.
11417
11418         * profile.c (compute_branch_probabilities):  Cleanup way the edge
11419         probabilities are computed and REG_BR_PROB notes are dropped; if
11420         values does not match, emit error.
11421         (init_branch_prob): Do error instead of warning when profile driven
11422         feedback is missing or corrupt.
11423
11424 2001-07-27  DJ Delorie  <dj@redhat.com>
11425
11426         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
11427         against a constant, try to adjust the compare to have the desired
11428         constant in it so that min/max optimizations happen more often.
11429
11430 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
11431
11432         * flow.c (last_loop_beg_note): New function.
11433         (redirect_edge_and_branch): Use it.
11434         (split_edge): Likewise.
11435
11436         * alias.c (loop_p): Avoid uninitialized memory access.
11437
11438         * flow.c (try_forward_edges): Avoid accessing freed memory.
11439
11440         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
11441         variable access.
11442
11443 2001-07-26  Andrew Haley  <aph@redhat.com>
11444         Joern Rennecke <amylaar@redhat.com>
11445
11446         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
11447         (SUBTARGET_CPP_ENDIAN_SPEC): New.
11448         (SUBTARGET_CPP_SPEC): New.
11449         (CPP_SPEC): Remove.
11450         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
11451         (SUBTARGET_CPP_PTR_SPEC): New.
11452         (CPP_DEFAULT_CPU_SPEC): New.
11453         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
11454         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
11455         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
11456         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
11457         (SUBTARGET_CPP_SPEC): Define as an empty string.
11458
11459 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11460
11461         * doc/install.texi (Configuration): Properly link the host
11462         specific instructions also when generating HTML.
11463
11464 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
11465
11466         * flow.c (redirect_edge_and_branch_force): Test
11467         target->global_live_at_start.
11468
11469 2001-07-26  Richard Henderson  <rth@redhat.com>
11470
11471         * simplify-rtx.c (avoid_constant_pool_reference): Export.
11472         * rtl.h (avoid_constant_pool_reference): Declare it.
11473         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
11474         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
11475
11476 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
11477
11478         * rtl.h (cleanup_barriers): Declare.
11479         * jump.c (cleanup_barriers): New function.
11480         * toplev.c (rest_of_compilation): Call cleanup_barriers
11481         before loop optimizer and after bb_reorder.
11482
11483         * flow.c (back_edge_of_syntactic_loop_p): New.
11484         (split_edge): Use it.
11485
11486 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11487
11488         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
11489
11490 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
11491
11492         * cse.c (cse_process_notes): Replace any registers if the address
11493         remains valid.
11494
11495 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
11496
11497         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
11498         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
11499         (propagate_block): Update prototype.
11500         * flow.c (update_life_info): Simplify the CFG and
11501         recalculate the global regs which are alive when
11502         removing dead code during a global update.
11503         (propagate_block): Return non-zero if an INSN is
11504         deleted.
11505
11506 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11507
11508         * Makefile.in (LIBICONV): Define.
11509
11510 2001-07-26  Catherine Moore  <clm@redhat.com>
11511
11512         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
11513         of conditional to avoid tree checking errors.
11514
11515 2001-07-26  Kazu Hirata  <kazu@hxi.com>
11516
11517         * regmove.c (regmove_optimize): Don't replace a reg with
11518         another reg of a different mode.
11519
11520 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
11521
11522         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
11523         limit length of dependency flush list.
11524         * params.h (MAX_PENDING_LIST_LENGTH): Define.
11525         * sched-int.h  (struct deps): Add pending_flush_length field.
11526         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
11527         has 1 element in it.
11528         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
11529         (sched_analyze): After a jump, if the pending memory flush list is too
11530         large, flush the pending lists.
11531         (init_deps): Initialize pending_flush_length to 0.
11532         * doc/invoke.texi (max_pending_list_length): Document parameter.
11533
11534 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
11535
11536         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
11537         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
11538         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
11539
11540 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11541
11542         * cpphash.h (struct_lexer_state): Delete was_skipping.
11543         Move skipping here from struct cpp_reader.
11544         * cpplex.c (parse_identifier): Update.
11545         (_cpp_lex_token): Don't skip tokens in a directive.
11546         * cpplib.c (struct if_stack): Update.
11547         (start_directive, end_directive): Don't change skipping state.
11548         (_cpp_handle_directive): Update.
11549         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
11550         (do_else, do_endif): Update; only check for excess tokens if not
11551         in a skipped conditional block.
11552         (push_conditional): Update for new struct if_stack.
11553
11554 2001-07-26  Graham Stott  <grahams@redhat.com>
11555
11556         * function.c (locate_and_pad_parm): Also pad initial offset
11557         so that the total argument size also includes the padding.
11558
11559 2001-07-26  Graham Stott <grahams@redhat.com>
11560
11561         * gensupport.c (alter_output_for_insn): Correct enable checking failure
11562         change XSTR to XTMPL.
11563
11564         (process_one_cond_exec): Likewise
11565
11566 2001-07-25  Richard Henderson  <rth@redhat.com>
11567
11568         * varasm.c (assemble_variable): Create DECL_RTL before setting
11569         TREE_ASM_WRITTEN.
11570
11571 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
11572
11573         * predict.c (estimate_probability): Avoid duplicated predictions.
11574
11575         * loop.c (find_and_verify_loops): Grok multiple barriers.
11576
11577 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11578
11579         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
11580
11581         * dbxout.c: Consistently use putc instead of fputc.
11582         (print_wide_int): New function; call instead of direct fprintf.
11583         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
11584         (dbxout_type_fields, dbxout_type_method_1): Likewise.
11585         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
11586         (print_int_cst_octal): Likewise.
11587         (print_octal): Show we wrote characters.
11588         (dbxout_type): Set have_used_extensions in more places.
11589
11590 2001-07-25  Catherine Moore  <clm@redhat.com>
11591
11592         * config/v850/v850.c (v850_va_arg):  Use addr
11593         instead of valist to build incr.
11594
11595 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
11596
11597         * flow.c (delete_dead_jumptables): New function.
11598         (life_analyzis): Call it.
11599         * bb-reorder.c (skip_insns_after_block): Handle contradictory
11600         sequences.
11601
11602 2001-07-25  Richard Henderson  <rth@redhat.com>
11603
11604         * except.c (reachable_handlers): Handle a region being removed
11605         out from under a RESX.
11606
11607 2001-07-25  Richard Henderson  <rth@redhat.com>
11608
11609         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
11610         swap GE/GT if it is an fp comparison.
11611
11612 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
11613
11614         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
11615         operands.
11616
11617 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
11618
11619         * ssa.c (rename_insn_1): Do not wrap an assignment to a
11620         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
11621         glitch.
11622
11623         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
11624         throw an exception.
11625         (visit_expression): When attempting to simplify an expression,
11626         retrieve any modes for arguments before they are simplified
11627         to constants.
11628
11629 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
11630             Janis Johnson  <janis@us.ibm.com>
11631
11632         * stmt.c (expand_goto): A nonlocal goto can be a call too.
11633         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
11634         pointer parameters to match documented usage of nonlocal_goto.
11635         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
11636         parameters to their correct order.
11637         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
11638         parameters to their correct order.
11639
11640 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
11641
11642         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
11643
11644 2001-07-25  Jan Hubicka  <jh@suse.cz>
11645             Richard Henderson  <rth@redhat.com>
11646
11647         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
11648         the sequence.
11649         (make_edges): New argument update_p; populate the edge cache if set.
11650         (find_basic_blocks): Update make_edges invocation.
11651
11652 2001-07-24  Joel Sherrill <joel@OARcorp.com>
11653
11654         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
11655
11656 2001-07-24  Joel Sherrill <joel@OARcorp.com>
11657
11658         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
11659         -Acpu and -Amachine.h.
11660         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
11661         Corrected header to say ELF not a.out.
11662         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
11663         when given -msoft-float.
11664
11665 2001-07-24  Joel Sherrill <joel@OARcorp.com>
11666
11667         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
11668         extra multilib parts like arm-elf.
11669         (i960-*-coff*, i960-*-rtems): Should not use collect2.
11670         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
11671         crtfini.o as extra multilib parts.
11672
11673 2001-07-24  Joel Sherrill <joel@OARcorp.com>
11674
11675         * configure.in: Add rtems as a supported thread model.
11676         * gthr-rtems.h: Add missing entry point __gthread_active_p.
11677         * configure: Rebuilt.
11678
11679 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
11680
11681         * stor-layout.c (get_mode_alignment): make it work when
11682         BITS_PER_UNIT is not a power of two.
11683         * builtins.c (get_pointer_alignment): Likewise.
11684
11685 2001-07-24  Richard Henderson  <rth@redhat.com>
11686
11687         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
11688         the retrieved constant into the expected mode.
11689
11690 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
11691
11692         * flow.c (try_simplify_condjump): Avoid duplicated edges.
11693         (verify_flow_info): Check for duplicated edges; clarify
11694         error reporting.
11695
11696         * flow.c (block_label): Update basic_block_for_insn.
11697         (commit_edge_insertions): Call compute_bb_for_insn.
11698
11699         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
11700         returns too.
11701
11702         * flow.c (redirect_edge_and_branch,
11703         try_optimize_cfg): Use redirect_edge_succ_nodup
11704         (redirect_edge_succ_nodup): New.
11705         * basic_block.h (redirect_edge_succ_nodup): Declare.
11706
11707         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
11708         after gcse.
11709
11710 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
11711
11712         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
11713         (try_crossjump_to_edge): Update commetns.
11714         (try_crossjump_bb): Likewise.
11715
11716 2001-07-24  Richard Henderson  <rth@redhat.com>
11717
11718         * combine.c (distribute_notes): Move set of need_refresh
11719         for noop_move_p down to catch all cases.
11720
11721 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
11722
11723         * recog.c (split_all_insns_noflow): New.
11724         * rtl.h (split_all_insns_noflow): Declare.
11725         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
11726         * m68hc11.c (m68hc11_reorg): Likewise.
11727         * sh.c (machine_dependent_reorg): Likewise.
11728         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
11729         call.
11730
11731 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
11732
11733         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
11734         (ashlsi3_n splitter): Likewise.
11735         (lshrsi3_n splitter): Likewise.
11736
11737         (GOTaddr2picreg): Make const SImode.
11738         (sym_label2reg): Likewise.
11739         (symGOT2reg): Likewise.
11740         (symGOTOFF2reg) Likewise.
11741
11742         (casesi_worker_0): Make unspec SImode.
11743
11744 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
11745
11746         * config/sh/sh.c (barrier_align): Check that an operand really is
11747         an insn before extracting its INSN_CODE.
11748
11749 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
11750
11751         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
11752         dangling else.
11753
11754         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
11755         for SImode to prevent overflow.
11756
11757 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11758
11759         * config/mips/irix6-libc-compat.c: New file.
11760         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
11761         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
11762         passing workaround.
11763
11764 2001-07-24  lars brinkhoff  <lars@nocrew.org>
11765
11766         * rtl.texi (REG_POINTER): Document.
11767         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
11768         QFmode, HFmode, TQFmode, QCmode, and HCmode.
11769
11770 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
11771
11772         * flow.c (delete_noop_moves): Do not confuse libcall regions.
11773
11774 2001-07-23  Richard Henderson  <rth@redhat.com>
11775
11776         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
11777
11778 2001-07-23  Kazu Hirata  <kazu@hxi.com>
11779
11780         * config/h8300/h8300-protos.h: Add a prototype for
11781         general_operand_dst_push.
11782         * config/h8300/h8300.c (general_operand_dst_push): New.
11783         * config/h8300/h8300.h (OK_FOR_T): New.
11784         (EXTRA_CONSTRAINT): Use it.
11785         * config/h8300/h8300.md (movqi_push): Remove and integrate into
11786         the existing movqi pattern.
11787         (movhi_push): Likewise.
11788
11789         * reload.c: Fix comment typos.
11790
11791 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
11792
11793         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
11794
11795 2001-07-23  H.J. Lu  (hjl@gnu.org)
11796
11797         * doc/extend.texi: Update __builtin_return_address and
11798         __builtin_frame_address.
11799
11800 2001-07-23  Richard Henderson  <rth@redhat.com>
11801
11802         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
11803         before CSE.
11804         * config/i386/i386.md: New setcc+movzbl peephole2.
11805
11806 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11807
11808         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
11809         * objc/objc-act.c: Include debug.h.
11810         (synth_module_prologue): Save and restore debug hooks too.
11811
11812 2001-07-23  lars brinkhoff  <lars@nocrew.org>
11813
11814         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
11815         and C4X_FLOAT_FORMAT.
11816         (BOOL_TYPE_SIZE): Document.
11817
11818 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
11819
11820         * unroll.c (loop_iterations): Fix miscalculation of initial
11821         giv offset.
11822
11823 2001-07-13  Andrew Haley  <aph@redhat.com>
11824
11825         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
11826         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
11827         * config/sh/sh.c (sh_can_redirect_branch): New function.
11828         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
11829         * reorg.c (steal_delay_list_from_target): Use
11830         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
11831
11832 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
11833
11834         * flow.c (try_simplify_condjump): Unlink insn chain on
11835         fallthru edge; use can_fallthru.
11836
11837 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
11838
11839         * basic-block.h (find_sub_basic_block): Declare.
11840         * flow.c (make_edges): New arguments MIN and MAX;
11841         (find_sub_basic_blocks): Revamp to use make_edges
11842         and purge_dead_edges.
11843         (find_basic_blocks): Update call of find_sub_basic_block.
11844
11845         * recog.c (split_all_insns): Always expect CFG to be consistent;
11846         call find_sub_basic_blocks in case something has changed.
11847         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
11848         has been built.
11849
11850         * basic-block.h (delete_noop_moves): Declare.
11851         * combine.c (combine_instructions): Call it.
11852         (recog_for_combine): Tolerate noop moves
11853         (distribute_notes): Force refresh when register dies at noop move.
11854         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
11855         too.
11856         (life_analysis): Update delete_noop_moves call.
11857         (set_noop_p): Move too ...
11858         * rtlanal.c (noop_move_p): ... here.
11859         * rtl.h (noop_move_p): Declare.
11860
11861         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
11862         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
11863         after combine.
11864         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
11865         (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
11866
11867 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
11868
11869         * reload.c (push_reload): Fix typo in comment.
11870         (find_reloads_address): Ditto.
11871         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
11872
11873 2001-07-22  Richard Henderson  <rth@redhat.com>
11874
11875         * flow.c: Grammar check and clarify a lot of comments.
11876         (try_simplify_condjump): Rename variables to be clearer.
11877         (try_forward_edges): Skip complex and fallthru edges.
11878         Rearrange tests to avoid duplicate checks.
11879         (flow_find_cross_jump): Likewise.
11880         (outgoing_edges_match): Allow match if neither branch has
11881         probability data.  Loosen probability match to 5%.
11882         (try_crossjump_to_edge): Hoist repeated indirection into
11883         local variables.
11884         (try_crossjump_bb): Don't check complex edges.  Eliminate
11885         redundant crossjump tests.
11886         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
11887         checks before more expensive checks.
11888
11889 2001-07-22  Richard Henderson  <rth@redhat.com>
11890
11891         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
11892         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
11893         arguments.
11894
11895 2001-07-22  Richard Henderson  <rth@redhat.com>
11896
11897         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
11898         (const_sint32_operand): Likewise.
11899         * m68k.md (anon mulsi pattern): Use const_int_operand not
11900         const_sint32_operand.
11901         (umulsi3_highpart): Zero extend a constant input.
11902         (smulsi3_highpart): Don't bother checking SImode constant.
11903         (const_umulsi3_highpart): Give op3 DImode.
11904         (const_smulsi3_highpart): Likewise.
11905
11906 2001-07-22  Richard Henderson  <rth@redhat.com>
11907
11908         * flow.c (split_block): Make sure bb_note is included in the
11909         new block when splitting before a label.
11910
11911 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
11912
11913         * basic-block.h (redirect_edge_and_branch_force,
11914         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
11915         * flow.c (redirect_edge_and_branch_force,
11916         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
11917         (redirect_edge_and_branch_force): Fix copying of lifeness information.
11918         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
11919         * ifcvt.c (dead_or_predictable): Take BB as an new destination
11920         instead of label; update CFG after transformation.
11921         (find_if_case_1): Update call, use redirect_edge_and_branch_force
11922         for finishing the transformation; handle even case where ELSE
11923         does not follow THEN.
11924         (find_if_case_2): Update call of dead_or_predictable; simplify
11925         CFG update.
11926
11927         * emit-rtl.c (split_branch_probability): New global variable.
11928         (try_split): Take care to set split_branch_probability and
11929         create REG_BR_PROB note for new jump insns.
11930         * md.texi (define_split): Document new feature.
11931
11932         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
11933
11934 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
11935
11936         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
11937         (asm_out_file): Remove redundant declaration.
11938         (assemble_asm): Remove old #if 0 block.
11939         (assemble_variable): Remove end of function; debug output is
11940         now handled with global_decl.  Remove old #if 0 block.  Update.
11941         Remove saved_in_section and associated no-op code.
11942         * Makefile.in (varasm.o): Correct dependencies.
11943
11944 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
11945
11946         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
11947         the definition in defaults.h.
11948
11949 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
11950
11951         * jump.c: Update comments.
11952         (delete_barrier_successors, delete_unreferenced_labels,
11953         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
11954         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
11955         jump_optimize, jump_optimize_minimal): Kill.
11956         (rebuild_jump_labels): Move code from jump_optimize_1.
11957         (purge_line_number_notes): Likewise.
11958         (copy_loop_headers): Likewise.
11959         * reg-stack.c: Update comment.
11960         * stmt.c: Likewise.
11961         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
11962         JUMP_AFTER_REGSCAN): Kill.
11963         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
11964         purge_line_number_notes and copy_loop_headers.
11965
11966 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
11967            Richard Henderson  <rth@redhat.com>
11968
11969         * dbxout.c (dbxout_global_decl): New.
11970         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
11971         * sdbout.c (sdbout_finish): New.
11972         (sdbout_debug_hooks): Use it, add comments.
11973         (sdbout_global_decl): Defer initialised public vars to
11974         sdbout_finish.
11975         * varasm.c (assemble_variable): Don't output debug information
11976         for file-scope variables.
11977
11978 2001-07-22  Richard Henderson  <rth@redhat.com>
11979
11980         * config/alpha/alpha.c (get_trap_mode_suffix): New.
11981         (get_round_mode_suffix): New.
11982         (print_operand): Use them for [/].  Remove support for [&'`()+].
11983         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
11984         * config/alpha/alpha.md (attr round_suffix): New.
11985         (attr trap_suffix): New.
11986         (all insns): Set them appropriately.  Use %/ instead of the
11987         myriad punctuators.
11988
11989 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11990
11991         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
11992
11993 2001-07-22  Richard Henderson  <rth@redhat.com>
11994
11995         * regrename.c (regrename_optimize): Compute nregs for each
11996         potential target register.
11997
11998 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
11999            Richard Henderson  <rth@redhat.com>
12000
12001         * dbxout.c (dbxout_global_decl): New.
12002         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
12003         * sdbout.c (sdbout_finish): New.
12004         (sdbout_debug_hooks): Use it, add comments.
12005         (sdbout_global_decl): Defer initialised public vars to
12006         sdbout_finish.
12007         * varasm.c (assemble_variable): Don't output debug information
12008         for file-scope variables.
12009
12010 2001-07-21  H.J. Lu  (hjl@gnu.org)
12011
12012         * config/mips/mips.c (mips_cpu): Moved into ...
12013         (override_options): Here.
12014
12015         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
12016         mips_tune.
12017         (mips_cpu): Removed.
12018
12019 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12020
12021         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
12022         ("iorqi3"): Likewise.
12023         ("xorqi3"): Likewise.
12024         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
12025         ("*subhi3_sp): Likewise.
12026         ("*subhi3"): Likewise.
12027         ("extendhisi2"): Accept D, X and Y as source operand to avoid
12028         reload problems.
12029
12030 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
12031
12032         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
12033         * config/freebsd.h: Likewise.
12034         * config/linux.h: Likewise.
12035         * config/openbsd.h: Likewise.
12036         * config/alpha/linux-elf.h: Likewise.
12037         * config/arm/linux-elf.h: Likewise.
12038         * config/d30v/d30v.h: Likewise.
12039         * config/fr30/fr30.h: Likewise.
12040         * config/ia64/aix.h: Likewise.
12041         * config/ia64/ia64.h: Likewise.
12042         * config/mips/linux.h: Likewise.
12043         * config/pj/pj.h: Likewise.
12044         * config/rs6000/linux.h: Likewise.
12045         * config/sparc/linux.h: Likewise.
12046         * config/sparc/linux64.h: Likewise.
12047
12048 2001-07-20  Bruce Korb  <bkorb@gnu.org>
12049
12050         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
12051         because getc() and char* may disagree on signedness.
12052
12053 2001-07-20  Richard Henderson  <rth@redhat.com>
12054
12055         * doc/rtl.texi (REG_DEAD): Update for current semantics.
12056
12057         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
12058         insns to delete in the presence of cc0 in a jump insn.
12059
12060 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
12061                                 Jan Hubicka  <jh@suse.cz>
12062
12063         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
12064         of doing the change by hand.
12065
12066 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
12067
12068         * rtlanal.c (set_noop_p): Return true for noop jumps.
12069
12070         * expr.c (emit_single_push_insn): Add call to push expander.
12071         * expr.h (optab_index): Add OTI_push
12072         (push_optab): New constant.
12073         * genopinit.c (optabs): Add push_optab.
12074         * optabs.c (init_optab): Init push optab.
12075         * md.texi (push??1): Document
12076
12077 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12078
12079         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
12080         expand to emit the pattern; put a REG_INC note for push/pop
12081         instructions.
12082         ("movdf", "movdf_internal"): Likewise.
12083         ("movsi", "movsi_internal"): Likewise.
12084         ("movsf", "movsf_internal"): Likewise.
12085         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
12086
12087 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12088
12089         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
12090         gen_highpart.
12091
12092 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
12093
12094         * params.def: Change default max inline insns to 100.
12095
12096 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
12097
12098         * combine.c (combine_simplify_rtx): Generate a new shift operation
12099         when simplifying the first operand of a (neg (ashift)) expression.
12100
12101 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
12102
12103         * regclass.c (N_REG_INTS): Use only 32 bits per element.
12104
12105 2001-07-20  Kelley Cook  <kelley.cook@home.com>
12106
12107         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
12108         information.   Move rest into ...
12109         (*-*-solaris): ... here.  Eliminate redundant information and
12110         reword necessary packages section.  Delete 4.x assembler bug info.
12111         (sparc-sun-*): Merge into ...
12112         (sparc-sun-sunos*): here.
12113
12114 2001-07-20  Catherine Moore  <clm@redhat.com>
12115
12116         * config/v850/v850.md (casesi): Generate LABEL_REF
12117         with Pmode.
12118
12119 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
12120
12121         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
12122         * i386.c (ix86_zero_extend_to_Pmode): Make global.
12123         * i386.md (strclrsi expander): Use it.
12124
12125 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
12126
12127         * integrate.c (copy_insn_list): handle
12128         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
12129         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
12130         identically as to CODE_LABEL.
12131
12132         * fold-const (fold): Convert A/B/C to A/(B*C) and
12133         A/(B/C) to (A/B)*C
12134
12135         * except.c (connect_post_landing_pads): Delete the RESX insns.
12136
12137 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
12138
12139         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
12140
12141         * config/mips/mips.md (nmadd/nmsub): Use macro.
12142
12143 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
12144
12145         * cppinit.c (remove_dup_dir): Make static.
12146         (remove_dup_dirs): Make static. Only warn about preempting a
12147         system directory with a non-system directory.
12148
12149 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
12150
12151         * ifcvt.c (noce_try_store_flag_constants): Correct order
12152         of parameters to trunc_int_for_mode.
12153
12154 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
12155
12156         * reorg.c (fill_simple_delay_slots): If an instruction might throw
12157         an exception that will be caught within this function, do not fill
12158         its delay slot with any subsequent instruction.
12159
12160 2001-07-19  Steve Ellcey <sje@cup.hp.com>
12161
12162         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
12163         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
12164         pointer extension instruction.
12165         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
12166         * simplify-rtx.c (simplify_unary_operation) Likewise.
12167         * explow.c (convert_memory_address) Check value of
12168         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
12169         less than zero.
12170         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
12171         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
12172         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
12173         Add Multilib Support.
12174         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
12175         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
12176         Add Multilib Support.
12177         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
12178         support.
12179         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
12180         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
12181         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
12182
12183 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
12184
12185         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
12186         old and new operands in `<', `3' and `b'.
12187
12188 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
12189
12190         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
12191         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
12192         (toplev.o): Don't depend on xcoffout.h.
12193         * c-decl.c: Include debug.h
12194         (duplicate_decls): Use debug hook.
12195         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
12196         (dbx_debug_hooks, xcoff_debug_hooks): Update.
12197         (dbxout_types): Remove.
12198         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
12199         * debug.c (do_nothing_debug_hooks): Update.
12200         (debug_true_tree, debug_nothing_rtx): New.
12201         * debug.h (struct rtx_def): New.
12202         (struct gcc_debug_hooks): New hooks ignore_block,
12203         outlining_inline_function and label.
12204         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
12205         dwarf2out_frame_finish): New.
12206         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
12207         Make static, update prototype.
12208         (dwarf2_debug_hooks): Update.
12209         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
12210         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
12211         * dwarfout.c (dwarf_debug_hooks): Update.
12212         * emit-rtl.c: Include debug.h.
12213         (remove_unnecessary_notes): Use debug hook.
12214         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
12215         (final_scan_insn): Use debug hook.
12216         * integrate.c (output_inline_function): Use debug hook.
12217         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
12218         (sdb_debug_hooks): Update.
12219         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
12220         * toplev.c: Don't include xcoffout.h.
12221         (note_outlining_of_inline_function, debug_ignore_block): Remove.
12222         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
12223         Remove.
12224         * tree.h (dwarf2out_do_frame): Remove.
12225
12226 2001-07-19  Catherine Moore  <clm@cygnus.com>
12227
12228         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
12229
12230 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
12231
12232         * reload1.c (eliminate_regs_in_insn): When updating a set
12233         to the frame pointer to the hardware frame pointer, perform
12234         the update always not just when REPLACE is set.
12235
12236         * reload1.c (choose_reload_regs): Don't inherit a reload
12237         that crosses multiple registers if registers past the first
12238         don't fit in the desired class.
12239
12240         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
12241         when negating constants.
12242
12243 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
12244
12245         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
12246         * doc/tree.texi: Ditto.
12247
12248 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
12249             Jakub Jelinek  <jakub@redhat.com>
12250
12251         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
12252         (extract_cie_info): Handle "eh" augmentation properly,
12253         remember eh_ptr.
12254         (struct frame_state, __frame_state_for): New.
12255
12256 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12257
12258         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
12259         HANDLE_SYSV_PRAGMA): Define.
12260         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
12261         previous args.
12262         (copy_object): Caller changed.
12263
12264 2001-07-19  Andreas Schwab  <schwab@suse.de>
12265
12266         * configure.in (assembler dwarf2 debug_line support): Define nop
12267         insn for m68k.
12268         * configure: Regenerated.
12269
12270 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
12271
12272         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
12273         dwarfout.h.
12274         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
12275         to conditionally compiled block.
12276         (dbx_debug_hooks, xcoff_debug_hooks): Update.
12277         * dbxout.h (dbxout_function): Remove.
12278         * debug.c (do_nothing_debug_hooks): Update.
12279         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
12280         global_decl, deferred_inline_function.
12281         * dwarf2out.c (dwarf2_debug_hooks): Update.
12282         (dwarf2out_global_decl): New.
12283         * dwarfout.c: Don't include dwarfout.h.
12284         (dwarfout_global_decl, dwarfout_function_decl,
12285         dwarfout_deferred_inline_function): New.
12286         (dwarf_debug_hooks): Update.
12287         * dwarfout.h: Remove.
12288         * final.c: Don't include dwarfout.h.
12289         * sdbout.c (sdbout_global_decl): New.
12290         (sdbout_debug_hooks): Update.
12291         * toplev.c: Don't include dwarfout.h.
12292         (check_global_declarations, rest_of_compilation): Use new debug hooks.
12293         (note_deferral_of_defined_inline_function): Remove.
12294         * toplev.h (note_deferral_of_defined_inline_function): Remove.
12295         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
12296         * ch/lex.c: Don't include dwarfout.h.
12297         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
12298         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
12299         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
12300         * cp/optimize.c: Include debug.h.
12301         (maybe_clone_body): Use debug hook.
12302         * cp/semantics.c: Include debug.h.
12303         (expand_body): Use debug hook.
12304         * po/POTFILES.in: Remove dwarfout.h.
12305
12306 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
12307
12308         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
12309         * c-parse.in (yyerror, _yylex): Similarly.
12310         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
12311         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
12312         Update comments.
12313         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
12314         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
12315
12316 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
12317
12318         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
12319         in-class declaration at -g1.  Fixes c++/2814.
12320
12321 2001-07-18  Richard Henderson  <rth@redhat.com>
12322
12323         * doc/md.texi (reload_in/out): Document restrictions in predicates
12324         and constraints for these patterns.  Document empty string matching
12325         ALL_REGS.
12326
12327 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12328
12329         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
12330
12331 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
12332
12333         * cse.c: Undo my previous patch.
12334
12335 2001-07-18  Tom Tromey  <tromey@redhat.com>
12336
12337         For PR java/2812:
12338         * configure: Rebuilt.
12339         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
12340         instead.
12341         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
12342
12343 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
12344                                 Jan Hubicka  <jh@suse.cz>
12345
12346         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
12347         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
12348         * jump.c (mark_jump_label): Do not forward branches.
12349
12350 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
12351
12352         * cse.c (delete_trivially_dead_insns): Delete the libcall block
12353         when return value is unused.
12354
12355 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
12356
12357         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
12358
12359 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
12360
12361         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
12362         on error.  We can't blindly return the result of
12363         pthread_mutex_trylock because it returns a positive number on
12364         error, while we must return -1 on error.
12365         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
12366         fixes.
12367         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
12368
12369 2001-07-18  Andreas Jaeger  <aj@suse.de>
12370
12371         * integrate.c (output_inline_function): Correct type of debug_hooks.
12372
12373 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
12374
12375         * combine.c (combine_simplify_rtx): DIV can be treated
12376         associatively for floats if unsafe math optimisations are enabled.
12377
12378 2001-07-17  Richard Henderson  <rth@redhat.com>
12379
12380         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
12381
12382 2001-07-17  Richard Henderson  <rth@redhat.com>
12383
12384         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
12385         don't force the function address into a register.
12386         (expand_call, emit_library_call_value_1): Update callers.
12387         * builtins.c (expand_builtin_apply): Likewise.
12388         * expr.h (prepare_call_address): Update decl.
12389
12390 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
12391
12392         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
12393         config directory.
12394         * config/i386/chorus.h: Move up.
12395         * config/sparc/chorus.h: Likewise.
12396         * config/rs6000/chorus.h: Likewise.
12397         * config/chorus.h: Moved here.
12398
12399 2001-07-17  Andreas Schwab  <schwab@suse.de>
12400
12401         * configure.in  (assembler eh_frame optimization): Handle big
12402         endian.
12403         * configure: Regenerated.
12404
12405 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
12406
12407         * expr.c (epxand_expr): Convert divisions into multiplications by
12408         reciprocals if -ffast-math.
12409
12410 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
12411
12412         * dbxout.c (dbxout_really_begin_function): Rename to
12413         dbxout_begin_function.
12414         (dbx_debug_hooks, xcoff_debug_hooks): Update.
12415         (dbxout_begin_function): Remove.
12416         (dbxout_function): Update.
12417         (dbxout_source_line): Update prototype.
12418         * dbxout.h (dbxout_begin_function): Remove.
12419         * debug.c (do_nothing_debug_hooks): Update.
12420         (debug_nothing_tree): Update.
12421         (debug_nothing_charstar_rtx): Remove.
12422         * debug.h (union tree_node): Declare.
12423         (struct rtx_def): Remove.
12424         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
12425         begin_function.  Change source_line prototype.
12426         (debug_nothing_tree): New.
12427         (debug_nothing_charstar_rtx): Delete.
12428         (dwarf2out_begin_prologue): Moved from ...
12429         * tree.h: ... here.
12430         * dwarf2out.c (dwarf2_debug_hooks): Update.
12431         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
12432         debug info, call dwarf2out_source_line.
12433         (dwarf2out_souce_line): Update prototype.
12434         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
12435         Change prototype, make static.
12436         (dwarfout_source_line): Update prototype.
12437         (dwarf_debug_hooks): Update.
12438         * dwarfout.h (dwarfout_begin_function): Remove.
12439         * final.c (final_start_function, final_scan_insn): Use appropriate
12440         debug hooks, update to use notice_source_line.
12441         (output_source_line): Rename notice_source_line.  Don't call the
12442         source_line debug hook.
12443         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
12444         make static, update prototype.
12445         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
12446         prototype.
12447         (sdbout_end_prologue): New.
12448         (sdbout_source_line): Update prototype.
12449         (sdbout_debug_hooks): Update.
12450         (sdbout_symbol): Remove unused var.
12451         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
12452         Delete.
12453         * varasm.c: Include debug.h.
12454         (assemble_start_function): Use begin_function debug_hook.
12455         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
12456         update with prototype.
12457         (xcoffout_source_line): Update prototype.
12458         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
12459         update prototype.
12460         (xcoffout_source_line): Update prototype.
12461
12462 2001-07-17  Richard Henderson  <rth@redhat.com>
12463
12464         * c-typeck.c (build_binary_op): Do not shorten unsigned
12465         right shift after sign extension.
12466
12467 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
12468
12469         * combine.c (combine_simplify_rtx): Attempt to simplify
12470         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
12471
12472         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
12473         (simplify_binary_operation, simplify_unary_operation,
12474          simplify_relational_operation): Use it.
12475
12476         * combine.c (combine_simplify_rtx): Don't do associative law
12477         on divisions; allow associative law on floats.
12478
12479 2001-07-17  H.J. Lu <hjl@gnu.org>
12480             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12481
12482         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
12483         ASM_OUTPUT_WEAK_ALIAS are defined.
12484         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
12485         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
12486         Moved ...
12487         * config/mips/iris5.h: ... here.
12488         (HANDLE_SYSV_PRAGMA): Defined as 1.
12489         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
12490         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
12491         symbol.
12492
12493 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
12494
12495         * c-parse.in (all_prefix_attributes): New variable.
12496         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
12497         (maybe_resetattrs): New production.
12498         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
12499         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
12500         notype_initdcl, nested_function, notype_nested_function,
12501         component_decl, components, components_notype,
12502         component_declarator, component_notype_declarator,
12503         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
12504         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
12505         after a comma being applied to more than one declarator.
12506         * doc/extend.texi (Attribute Syntax): Update.  Remove
12507         documentation of bugs that are no longer present.
12508
12509 2001-07-13  Eric Christopher  <echristo@redhat.com>
12510
12511         * config/mips/mips.h: Change TUNE_MIPS* options to use
12512         mips_tune.
12513         (EXTRA_SPECS): Add cc1_cpu_spec.
12514         * config/mips/mips.md (muldf3): Fix typo.
12515
12516 2001-07-16  Richard Henderson  <rth@redhat.com>
12517
12518         * config/m68k/m68k.c: Include expr.h and reload.h.
12519         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
12520         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
12521
12522 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
12523             Richard Henderson  <rth@redhat.com>
12524
12525         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
12526         (insn_live_p): Fix fall off end of function.
12527         (dead_libcall_p): Remove COUNTS argument; update callers.
12528         (delete_trivially_dead_insns): Remove unused variables.
12529
12530 2001-07-17  Andreas Jaeger  <aj@suse.de>
12531
12532         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
12533         x86-64 pic support.
12534
12535         * lcm.c (optimize_mode_switching): Avoid warning for unused
12536         variable if !NORMAL_MODE.
12537
12538         * flow.c (try_crossjump_to_edge): Remove unused variable.
12539
12540 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12541
12542         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
12543         atexit declaration in stdlib.h.
12544
12545 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
12546
12547         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
12548
12549 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
12550
12551         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
12552         * except.c (finish_eh_generation): Update call of cleanup_cfg;
12553         do rebuild_jump_labels instead of jump_optimize
12554         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
12555         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
12556         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
12557
12558         * flow.c: Include timevar.h
12559         (find_basic_block): Push/pop timevar;
12560         (cleanup_cfg): Likewise.
12561         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
12562         * Makefile: Add dependencies on timevar.h
12563
12564         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
12565         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
12566
12567         * rtl.h (delete_trivially_dead_insns): Add new parameter.
12568         * toplev.c (rest_of_compilation): Update calls.
12569         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
12570         (delete_trivially_dead_insns): ... here; accept new argument
12571         preserve_basic_blocks; preserve basic blocks if set.
12572
12573         * reg-stack.c (stack_regs_mentioned): Return 0 if
12574         stack_regs_mentioned_data is not initialized.
12575         (reg_to_stack): Make stack_regs_mentioned survive after the
12576         reg-stack is completted; do not call cleanup_cfg.
12577         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
12578         make cleanup_cfg after bb-reorder to output to debug file.
12579
12580 2001-07-16  Richard Henderson  <rth@redhat.com>
12581
12582         * regclass.c (init_reg_sets): Use only 32 bits per initializer
12583         from int_reg_class_contents.
12584
12585 2001-07-16  Richard Henderson  <rth@redhat.com>
12586
12587         * hard-reg-set.h (regs_invalidated_by_call): Declare.
12588         * regclass.c (regs_invalidated_by_call): Move from cse.c.
12589         (init_reg_sets_1): Move initialization from cse_main.
12590         * cse.c (regs_invalidated_by_call): Move to regclass.c.
12591         (cse_main): Move its initialization also.
12592         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
12593         * flow.c (propagate_one_insn): Likewise.
12594         * gcse.c (compute_hash_table): Likewise.
12595         (compute_kill_rd, compute_store_table): Likewise.
12596         * sched-deps.c (sched_analyze_1): Likewise.
12597
12598 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
12599
12600         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
12601         gen_rtx_SET.
12602
12603 2001-07-16  Steve Ellcey <sje@cup.hp.com>
12604
12605         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
12606         in if statement so we don't access undefined memory.
12607
12608 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
12609
12610         * gcse.c: Update comment at top.
12611         Update comment on mem handling.
12612         mem_last_set, mem_first_set, mem_set_in_block: gone.
12613         Declaration of reg_set_info: gone.
12614         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
12615         pointless with load_killed_in_block_p (they are *more*
12616         conservative then it, not less, and less accurate).
12617         (oprs_not_set_p): Ditto.
12618         (alloc_gcse_mem): Don't allocate mem_set_in_block
12619         (free_gcse_mem): Don't free it, either.
12620         (record_last_mem_set_info): Update comment in front, remove
12621         mem_*set_* stuff. Note the reason we don't handle stores directly
12622         here.
12623         (compute_hash_table): Update comments to reflect reality. Remove
12624         mem_*set_* references.
12625         (reset_opr_set_tables): Remove mem_*set_* references.
12626         (mark_call): Ditto.
12627         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
12628         (mark_clobber): Ditto (on both parts, we double set here too).
12629         (expr_killed_p): Remove mem_set_in_block test.
12630         (compute_transp): Remove mem_set_in_block test.
12631
12632         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
12633         of edge, and removal of phi alternative to dump file.
12634         (ssa_ccp_substitute_constants): Add note about register now being
12635         constant, and which uses were replaced in what insns to dump file.
12636
12637 2001-07-16  Andreas Jaeger  <aj@suse.de>
12638
12639         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
12640         variables of type HOST_WIDEST_INT.
12641
12642         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
12643         (__bb_exit_func): Correct type of count_max to avoid overflow.
12644         (num_digits): Handle long long argument.
12645
12646         * combine.c (gen_lowpart_for_combine): Remove unused variable.
12647
12648 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
12649
12650         * output.h (sdb_begin_function_line): Restore as an extern
12651         variable.
12652         * sdbout.c (sdb_begin_function_line): Make extern.
12653
12654 2001-07-15  Richard Henderson  <rth@redhat.com>
12655
12656         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
12657         * genrecog.c (maybe_both_true_mode): New.
12658         (maybe_both_true_2): Use it.
12659         (write_switch): Don't put Pmode in a switch.
12660         * rtl.c (mode arrays): Don't explicitly size them.
12661
12662 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
12663
12664         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
12665         handling; move unconditional splitting before mode switching.
12666
12667         * i386.md (type): Add fistp type.
12668         (i387, length_attr, scheduling definitions): Handle this type.
12669         (fix_trunc?f?i2): Revamp to use mode switching.
12670         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
12671         * i386.h (fp_cw_mode): New enum
12672         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
12673         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
12674
12675 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12676
12677         * Makefile.in (integrate.o): Add debug.h.
12678         * integrate.c (debug.h): Add.
12679         (output_inline_function): Save, reset, and restore debug_hooks.
12680
12681 2001-07-15  Richard Henderson  <rth@redhat.com>
12682
12683         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
12684         instead of COMPARE for the EQUIV expression.
12685
12686 2001-07-15  Richard Henderson  <rth@redhat.com>
12687
12688         * flow.c (redirect_edge_and_branch_force): Initialize
12689         global_live_at_start and global_live_at_end.
12690         (allocate_bb_life_data): Export.
12691         * basic-block.h (allocate_bb_life_data): Declare.
12692         * toplev.c (rest_of_compilation): Call it.
12693
12694 2001-07-15  Richard Henderson  <rth@redhat.com>
12695
12696         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
12697         (alpha_tablejump_best_label): New.
12698         * config/alpha/alpha-protos.h: Declare them.
12699         * config/alpha/alpha.md: Use braced strings for code blocks.
12700         (tablejump_osf): Break out add with r29.
12701         (tablejump_osf_internal): Remove.
12702         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
12703         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
12704
12705 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
12706
12707         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
12708         of the movable.
12709
12710         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
12711
12712         * i386-protos.h (ix86_split_fp_branch): Update prototype.
12713         (ix86_fp_jump_nontrivial_p): New.
12714         * i386.md (fp_jcc_?): Update call of split_fp_branch;
12715         use ix86_fp_jump_nontrivial_p.
12716         * i386.c (ix86_fp_jump_nontrivial_p): New.
12717         (ix86_split_fp_branch): Accept code instead of rtx.
12718         (ix86_expand_compare): Expand comparison early in case
12719         doing so is resonably cheap.
12720
12721 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
12722
12723         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
12724         not 'machine'.
12725         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
12726         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
12727
12728 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
12729
12730         * dbxout.c (dbxout_source_line): Make static, update prototype.
12731         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
12732         (dbxout_init, dbxout_finish, dbxout_source_line,
12733         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
12734         * dbxout.h (dbxout_source_line): Delete.
12735         * debug.c (debug_nothing_file, debug_nothing_file_int,
12736         debug_nothing_file_charstar_rtx): New.
12737         (do_nothing_debug_hooks): Update.
12738         (debug_nothing_void, debug_nothing_charstar_rtx,
12739         dwarf2out_end_epilogue): New.
12740         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
12741         * debug.h (struct rtx_def): Declare.
12742         (gcc_debug_hooks): New hooks source_line, end_epilogue
12743         and end_function.
12744         (debug_nothing_void, debug_nothing_charstar_rtx,
12745         dwarf2out_end_epilogue): New.
12746         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
12747         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
12748         (dwarf2_debug_hooks): Update.
12749         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
12750         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
12751         * dwarf2out.h (dwarf2out_source_line): Remove.
12752         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
12753         Make static, update prototype.
12754         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
12755         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
12756         (dwarf_debug_hooks): Update.
12757         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
12758         dwarfout_end_function): Remove.
12759         * final.c (profile_function): Use debug hooks for ending functions
12760         and epilogues.
12761         (output_source_line, final_end_function): Update prototype,
12762         use debug hooks.
12763         (final_start_function, final_scan_insn): Update.
12764         * output.h (sdb_begin_function_line): Remove.
12765         (final_end_function): Update prototype.
12766         * sdbout.c (sdb_begin_function_line): Make static.
12767         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
12768         (sdbout_source_line): New.
12769         (sdbout_end_epilogue, sdbout_end_function): Make static, update
12770         prototypes.
12771         (sdb_debug_hooks): Update.
12772         (sdbout_init, sdbout_source_line,
12773         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
12774         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
12775         * toplev.c (compile_file, rest_of_compilation): Update.
12776         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
12777         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
12778         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
12779         Update for prototype changes.
12780         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
12781         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
12782
12783 2001-07-15  Richard Henderson  <rth@redhat.com>
12784
12785         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
12786         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
12787         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
12788         * config/alpha/alpha.c: Likewise.
12789         * config/alpha/alpha.md: Likewise.
12790         * config/alpha/alpha32.h: Likewise.
12791         * config/alpha/vms.h: Likewise.
12792         (OPEN_VMS): Remove.
12793
12794 2001-07-14  Richard Henderson  <rth@redhat.com>
12795
12796         * config/alpha/alpha.md: Use define_constants for unspec values.
12797         Substitute throughout.
12798
12799 2001-07-14  Tim Josling  <tej@melbpc.org.au>
12800
12801         * tree.def (EXPON_EXPR) remove. Never supported anyway.
12802
12803 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12804
12805         * pa.md: Remove unused constraints from define_split's.
12806
12807 2001-04-14  Richard Henderson  <rth@redhat.com>
12808
12809         * ifcvt.c (find_cond_trap): Test for exit block.
12810
12811 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
12812
12813         Re-install recently reverted patch.
12814         * emit-rtl.c (try_split): Update mark_jump_label call.
12815         * flow.c (find_sub_basic_blocks): Likewise.
12816         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
12817         jump_back_p): Kill.
12818         (mark_all_labels): Kill second parameter.
12819         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
12820         (rebuild_jump_labels, jump_optimize_minimal): Update call
12821         of jump_optimize_1.
12822         (jump_optimize_1): Kill crossjumping code.
12823         (mark_jump_label): Kill cross_jump parameter.
12824         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
12825         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
12826         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
12827          splitting.
12828         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
12829         DFI_bpro.
12830         (dump_file_info): Likewise.
12831         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
12832         reorganize passes to do reg-stack first, bb-reorder second.
12833         * invoke.texi (-d letters doc): Remove the jump2 pass.
12834
12835 2001-07-14  Richard Henderson  <rth@redhat.com>
12836
12837         * ifcvt.c (find_cond_trap): New.
12838         (find_if_header): Call it.
12839         (merge_if_block): Relax existing jump sanity check.
12840         * jump.c (jump_optimize_1): Remove conditional trap handling.
12841
12842 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
12843
12844         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
12845         millicode.
12846         (insn_refs_are_delayed): Correct comment.
12847         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
12848         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
12849         instead of r31.  Make associated insn !TARGET_64BIT, and
12850         provide an additional 64-bit insn that clobbers r2.
12851         (divsi3): Likewise.
12852         (udivsi3): Likewise.
12853         (modsi3): Likewise.
12854         (umodsi3): Likewise.
12855
12856 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
12857
12858         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
12859
12860         * flow.c (redirect_edge_and_branch_force, split_edge,
12861         try_crossjump_to_edge): Use set_block_for_new_insns.
12862         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
12863
12864 2001-07-13  H.J. Lu  (hjl@gnu.org)
12865
12866         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
12867         the correct patch.
12868
12869 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
12870
12871         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
12872
12873 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
12874
12875         * c-common.c (decl_attributes): Take a pointer to the node to
12876         which attributes are to be attached, and a flags argument.
12877         * c-common.h (enum attribute_flags): New.
12878         (decl_attributes): Update prototype.
12879         * c-decl.c (start_decl, push_parm_decl, finish_struct,
12880         finish_enum, start_function): Update calls to decl_attributes.
12881         * c-parse.in (component_declarator, component_notype_declarator,
12882         label): Update calls to decl_attributes.
12883
12884 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
12885
12886         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
12887         * config/avr/avr.c (legitimate_address_p): Return value changed
12888         from letter to register classes. For better debugging.
12889
12890 2001-07-13  Kazu Hirata  <kazu@hxi.com>
12891
12892         * jump.c (reversed_comparison_code_parts): Fix comment typos.
12893
12894 2001-07-13  H.J. Lu  (hjl@gnu.org)
12895
12896         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
12897
12898 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
12899
12900         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
12901         correctly for shared configurations.
12902         * config/t-libgcc-pic:  New.
12903         * config/{i386,m68k,sparc}/t-openbsd:  New.
12904         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
12905         Support -shared.  Support debugging libraries with -g.
12906         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
12907         frame information does not emit pointer diffs.
12908         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
12909         emit pointer diffs.
12910
12911 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
12912
12913         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
12914
12915 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
12916
12917         * combine.c (try_combine): Ensure const_int pow2 is positive.
12918
12919 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
12920
12921         * config.gcc: Add configuration for s/390.
12922         * config/s390/s390.c: New. Subroutines for code generation.
12923         * config/s390/s390.h: New. Definitions for s/390.
12924         * config/s390/s390-protos.h: New. Prototypes.
12925         * config/s390/linux.h: New. Definitions for linux for s/390.
12926         * config/s390/linux64.h: New. Definitions for linux for zSeries.
12927         * config/s390/t-linux: New. Makefile fragment.
12928         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
12929         * config/s390/fixdfdi.h: New. Fix L_fix*di.
12930
12931 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
12932
12933         * emit-rtl.c (try_split): Update mark_jump_label call.
12934         * flow.c (find_sub_basic_blocks): Likewise.
12935         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
12936         jump_back_p): Kill.
12937         (mark_all_labels): Kill second parameter.
12938         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
12939         (rebuild_jump_labels, jump_optimize_minimal): Update call
12940         of jump_optimize_1.
12941         (jump_optimize_1): Kill crossjumping code.
12942         (mark_jump_label): Kill cross_jump parameter.
12943         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
12944         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
12945         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
12946          splitting.
12947         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
12948         DFI_bpro.
12949         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
12950         reorganize passes to do reg-stack first, bb-reorder second.
12951         * invoke.texi (-d letters doc): Remove the jump2 pass.
12952
12953 2001-07-12  Steve Ellcey <sje@cup.hp.com>
12954
12955         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
12956
12957 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
12958
12959         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
12960         basic blocks.
12961         (verify_flow_info): Make diagnostics prettier.
12962
12963 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
12964
12965         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
12966
12967         * flow.c (outgoing_edges_match): Return early if condition reversal
12968         failed.
12969
12970 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
12971
12972         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
12973         (mips_move_2words): When splitting a move into two instructions,
12974         prefix the second address operand with '%D'.
12975
12976 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
12977
12978         * Makefile.in (final.o): Depend on debug.h.
12979         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
12980         (dbx_debug_hooks): Add new hooks.
12981         (xcoff_debug_hooks): New.
12982         * debug.c (debug_nothing_file_int_int): New.
12983         (do_nothing_debug_hooks): Update.
12984         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
12985         (debug_nothing_file_int_int): New.
12986         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
12987         static, update prototype.
12988         (dwarf2_debug_hooks): Update.
12989         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
12990         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
12991         static, update prototype.
12992         (dwarf_debug_hooks): Update.
12993         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
12994         * final.c: Include debug.h.
12995         (final_scan_insn): Use debug hooks when beginning and ending blocks.
12996         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
12997         static, update prototype.
12998         (sdb_debug_hooks): Update.
12999         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
13000         * toplev.c: Distinguish between xcoff and dbx.
13001
13002         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
13003         Call all debug hooks, not just dwarf ones.
13004
13005 2001-07-11  Timothy Wall  <twall@redhat.com>
13006
13007         * config.gcc: Add configuration for AIX5/IA64.
13008         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
13009         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
13010         support prefix/suffix code.
13011         * config/ia64/t-aix: New.  Makefile fragment.
13012         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
13013
13014 2001-07-11  Kazu Hirata  <kazu@hxi.com>
13015
13016         * recog.c (validate_change): Fix a comment typo.
13017
13018 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
13019
13020         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
13021         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
13022         hooks directly.
13023         * dbxout.c (dbx_debug_hooks): Add new hooks.
13024         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
13025         make static.
13026         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
13027         make static.
13028         * dbxout.h (dbxout_start_new_source_file,
13029         dbxout_resume_previous_source_file): Delete.
13030         * debug.c (do_nothing_debug_hooks): Add new hooks.
13031         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
13032         (debug_nothing_int_charstar, debug_nothing_int): New.
13033         * debug.h (gcc_debug_hooks): New hooks define, undef,
13034         start_source_file and end_source_file.
13035         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
13036         (debug_nothing_int_charstar, debug_nothing_int): New.
13037         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
13038         the conditionally compiled section.
13039         (dwarf2out_start_source_file, dwarf2out_end_source_file,
13040         dwarf2out_define, dwarf2out_undef): Make static.
13041         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
13042         dwarf2out_define, dwarf2out_undef): Remove.
13043         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
13044         (dwarfout_start_source_file, dwarfout_end_source_file,
13045         dwarfout_define, dwarfout_undef): Make static.
13046         (dwarfout_start_source_file_check,
13047         dwarfout_end_source_file_check): New.
13048         (dwarfout_define, dwarfout_finish): Update.
13049         * dwarfout.h (dwarfout_start_new_source_file,
13050         dwarfout_resume_previous_source_file, dwarfout_define,
13051         dwarfout_undef): Remove.
13052         * sdbout.c (sdb_debug_hooks): Add new hooks.
13053         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
13054         make static.
13055         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
13056         make static, take an arg.
13057         * sdbout.h (sdbout_start_new_source_file,
13058         sdbout_resume_previous_source_file): Delete.
13059         * toplev.c (debug_start_source_file, debug_end_source_file,
13060         debug_define, debug_undef): Delete.
13061         * toplev.h (debug_start_source_file, debug_end_source_file,
13062         debug_define, debug_undef): Delete.
13063
13064         * java/jcf-parse.c: Include debug.h.
13065         (parse_class_file): Update to use debug hooks directly.
13066         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
13067
13068 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13069
13070         * alias.c (set_mem_alias_set): New function.
13071         * rtl.h (set_mem_alias_set): Declare it.
13072         * builtins.c (expand_builtin_return_addr): Call it instead of
13073         using MEM_ALIAS_SET accessor.
13074         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
13075         (get_memory_rtx, expand_builtin_va_arg): Likewise.
13076         (expand_builtin_va_copy):Likewise.
13077         * caller-save.c (setup_save_areas): Likewise.
13078         * calls.c (compute_argument_addresses): Likewise.
13079         * explow.c (set_mem_attributes): Likewise.
13080         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
13081         (expand_assignment, store_constructor_field, store_field): Likewise.
13082         (expand_expr_unaligned): Likewise.
13083         * function.c (assign_stack_temp_for_type): Likewise.
13084         (put_reg_into_stack, gen_mem_addressof): Likewise.
13085         * ifcvt.c (noce_try_cmove_arith): Likewise.
13086         * reload1.c (reload, alter_reg): Likewise.
13087         * config/alpha/alpha.c (get_aligned_mem): Likewise.
13088         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
13089         (alpha_expand_unaligned_store): Likewise
13090         (alpha_expand_unaligned_load_words): Likewise.
13091         (alpha_expand_unaligned_store_words): Likewise.
13092         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
13093         (alpha_expand_epilogue): Likewise.
13094         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
13095         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
13096         * config/i386/i386.c (legitimize_pic_address): Likewise.
13097         * config/i960/i960.c (setup_incoming_varargs): Likewise.
13098         * config/ia64/ia64.c (spill_restore_mem): Likewise.
13099         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
13100         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
13101         * config/mips/mips.c (mips_va_arg): Likewise.
13102         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
13103         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
13104         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
13105         (setup_incoming_varargs, rs6000_va_arg): Likewise.
13106         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
13107         (rs6000_emit_epilogue): Likewise.
13108         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
13109         * config/sparc/sparc.c (sparc_va_arg): Likewise.
13110         * config/v850/v850.c (v850_va_arg): Likewise.
13111
13112 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
13113
13114         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
13115         when fallthru edge is present.
13116         (mege_blocks): Handle case where creation of jump insn
13117         is required.
13118
13119         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
13120         CLEANUP_POST_REGSTACK): New constants.
13121         * except.c (finish_eh_generation): Update call of cleanup_cfg,
13122         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
13123         * output.h (cleanup_cfg): Update prototype.
13124         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
13125         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
13126         cleanup_cfg call; kill missleading comment.
13127         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
13128         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
13129         parameter; control optimizations performed using it.
13130         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
13131         try_crossjump_bb): New functions.
13132
13133 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13134
13135         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
13136         extern.
13137         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
13138         pa_output_function_prologue.
13139         * pa-protos.h (pa_output_function_prologue): New prototype.
13140
13141 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13142
13143         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
13144         and low to get correct sign extension in low+high test.
13145
13146 2001-07-11  Janis Johnson <janis@us.ibm.com>
13147
13148         * gcov.c (arcdata): Use gcov_type to fix branch percentage
13149         for large hit count.
13150
13151         * profile.c (branch_prob): Fix .bbg info for computed gotos
13152         and C++ EH code.
13153
13154 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
13155
13156         * stmt.c (parse_output_constraint): New function, split out
13157         from ...
13158         (expand_asm_operands): ... here.  Use parse_output_constraint.
13159         * tree.h (parse_output_constraint): Declare it.
13160
13161 2001-07-11  Richard Henderson  <rth@redhat.com>
13162
13163         * bitmap.c: Comment some functions; fiddle whitespace.
13164         (bitmap_free): Don't export.
13165         (bitmap_element_allocate): Use memset.
13166         * bitmap.h (bitmap_free): Don't declare.
13167
13168 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
13169
13170         * gcse.c, lcm.c, sched-deps.c:
13171         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
13172
13173         * flow.c (flow_loops_find): Free dom if we found no loops, since
13174         we aren't going to save it.
13175
13176         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
13177         done.
13178
13179 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
13180
13181         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
13182
13183 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13184
13185         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
13186         #ifndef DWARF2_DEBUGGING_INFO.
13187
13188 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
13189
13190         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
13191
13192 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
13193
13194         * config/mips/mips.c (gen_int_relational): Tell the caller not to
13195         reverse a branch if a NE comparison is implemented with GTU.
13196
13197 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
13198             H.J. Lu  <hjl@gnu.org>
13199
13200         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
13201         constant addresses.
13202         (call_internal2): Likewise.
13203         (call_value_internal1): Likewise.
13204         (call_value_internal2): Likewise.
13205         (call_value_multiple_internal1): Likewise.
13206         (call_value_multiple_internal2): Likewise.
13207
13208 2001-07-10  Kazu Hirata  <kazu@hxi.com>
13209
13210         * calls.c (emit_library_call_value_1): Fix a comment typo.
13211         * dwarf2out.c (mem_loc_descriptor): Likewise.
13212         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
13213
13214 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
13215
13216         * simplify-rtx.c (simplify_subreg): Fix typo in comment
13217
13218 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13219
13220         * recog.c (offsettable_address_p): Handle LO_SUM case.
13221         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
13222         instead of plus_constant.
13223
13224 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
13225
13226         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
13227         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
13228
13229 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13230
13231         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
13232         adjust_address_nv instead of plus_constant.
13233
13234 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
13235
13236         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
13237         dwarf2out.o): Depend on debug.h, wrap long lines.
13238         * dbxout.c: Include debug.h.
13239         (dbx_debug_hooks): New.
13240         (dbxout_init): Make static, take just 2 args.
13241         (dbxout_finish): Make static.
13242         * dbxout.h (dbxout_init, dbxout_finish): Delete.
13243         * debug.c: New file.
13244         * debug.h: New file.
13245         * dwarf2out.c: Include debug.h.
13246         (dwarf2_debug_hooks): New.
13247         (dwarf2out_init): Make static.
13248         (dwarf2out_finish): Make static, take 2 args.
13249         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
13250         * dwarfout.c: Include debug.h.
13251         (dwarf_debug_hooks): New.
13252         (dwarfout_init): Make static.
13253         (dwarfout_finish): Make static, take 2 args.
13254         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
13255         * sdbout.c: Include debug.h.
13256         (sdb_debug_hooks): New.
13257         (sdbout_init): Make static, take 2 args.
13258         * sdbout.h (sdbout_init): Delete.
13259         * toplev.c: Include debug.h.
13260         (debug_hooks): New.
13261         (compile_file): Set deubg_hooks based on command line options.
13262         Use the hooks unconditionally rather than conditional compilation.
13263
13264 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
13265
13266         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
13267         first_insn_after_basic_block_note instead.
13268
13269         * df.c (df_bb_refs_unlink): #if 0 out for now.
13270
13271 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
13272
13273         * ssa.h: Add prototype for ssa_const_prop
13274         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
13275         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
13276         (ssa_fast_dce): Remove unused variable
13277
13278 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
13279
13280         * diagnostic.c (finish_diagnostic): Rename to
13281         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
13282         calls thourghout.
13283
13284 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
13285
13286         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
13287         .loc support.
13288
13289         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
13290         (dump_file): Only pad the demangled name with spaces if the
13291         mangled name was padded with spaces.
13292
13293 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
13294
13295         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
13296         edge detection.
13297
13298 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13299
13300         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
13301         extraction if no direct load if either EXPAND_CONST_ADDRESS or
13302         EXPAND_INITIALIZER.
13303
13304         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
13305         whether can put offset inside LO_SUM to check mode alignment, not size.
13306
13307 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
13308
13309         * doc/tm.texi (Misc): Fix thinko.
13310
13311 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
13312
13313         * regmove.c (replace_in_call_usage): Fix warnings.
13314         * sched-deps.c (add_dependence): Fix warnings.
13315         * simplify-rtx.c (simplify_subreg): Likewise.
13316         Return NULL_RTX instead of NULL.
13317
13318         * reg-stack.c (emit_swap_insn): Eliminate warnings.
13319         (subst_asm_stack_regs): Likewise.
13320
13321         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
13322         warnings.
13323
13324         * dwarf2out.c (output_call_frame_info): Declare i as int.
13325         (build_abbrev_table): Declare n_alloc as int.
13326         (dwarf2out_finish): Initialize die.
13327         * except.c: Declare sjlj_funcdef_number as unsigned.
13328         (connect_post_landing_pads): Declare j as unsigned.
13329         (convert_to_eh_region_ranges): Initialize call_site.
13330         (output_function_exception_table): Initialize tt_format_size.
13331         * expr.c (move_by_pieces_1): Initialize to1.
13332         (store_constructor): Initialize minelt and maxelt.
13333         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
13334         * function.c (instantiate_decls): Avoid signed/unsigned warning.
13335
13336         * c-decl.c (combine_parm_decls): Unused, remove.
13337         * c-tree.h: Remove prototype for combine_parm_decls.
13338
13339         * reload.c (push_reload): Fix warning.
13340         (regno_clobbered_p): Likewise.
13341         * reload1.c (replace_pseudos_in_call_usage): Likewise.
13342         (reload_combine): Likewise.
13343
13344         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
13345         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
13346         warnings.
13347         * bitmap.c (bitmap_operation): Change user.
13348         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
13349
13350 2001-07-10  Eric Christopher  <echristo@redhat.com>
13351
13352         * config/mips/mips.c (override_options): Fix typo.
13353
13354 2001-07-09  Stan Shebs  <shebs@apple.com>
13355
13356         * target.h (struct gcc_target): New fields init_builtins and
13357         expand_builtin.
13358         * target-def.h (TARGET_INIT_BUILTINS): New macro.
13359         (TARGET_EXPAND_BUILTIN): New macro.
13360         (TARGET_INITIALIZER): Add them.
13361         * builtins.c: Include target.h.
13362         (expand_builtin): Use targetm.expand_builtin.
13363         (default_init_builtins): New function.
13364         (default_expand_builtin): New function.
13365         * expr.h (default_init_builtins): Declare.
13366         (default_expand_builtin): Declare.
13367         * c-common.c (c_common_nodes_and_builtins): Use
13368         targetm.init_builtins.
13369         * defaults.h (MD_INIT_BUILTINS): Remove.
13370         * Makefile.in (builtins.o): Depend on target.h.
13371
13372         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
13373         (TARGET_EXPAND_BUILTIN): Define.
13374         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
13375         (MD_EXPAND_BUILTIN): Remove.
13376
13377         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
13378         (TARGET_EXPAND_BUILTIN): Define.
13379         (c4x_init_builtins): Make endlink arg a local.
13380         (c4x_print_operand): Fix typos in adjust_address usages.
13381         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
13382         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
13383         (MD_EXPAND_BUILTIN): Remove.
13384
13385         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
13386         (TARGET_EXPAND_BUILTIN): Define.
13387         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
13388         (ix86_init_builtins): Call new function only if TARGET_MMX.
13389         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
13390         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
13391         (MD_EXPAND_BUILTIN): Remove.
13392
13393         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
13394         (TARGET_EXPAND_BUILTIN): Define.
13395         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
13396         (MD_EXPAND_BUILTIN): Remove.
13397
13398         * doc/tm.texi: Document these changes.
13399
13400 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
13401
13402         * basic-block.h (tree_node): Forward declare if needed.
13403         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
13404         (BLOCK_HEAD_TREE): Define.
13405         (BLOCK_END_TREE): Define.
13406         (struct loops): Rename field 'tree' to 'tree_root'.
13407         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
13408         'end_tree'.
13409         (flow_loops_tree_build): Rename reference to field 'tree' to
13410         'tree_root'.
13411         (flow_loops_level_compute): Ditto.
13412         * predict.c (estimate_bb_frequencies): Ditto.
13413         * tree.h (struct tree_common): Add field 'aux'.
13414
13415 2001-07-09  Stan Shebs  <shebs@apple.com>
13416
13417         * config/darwin.c (darwin_encode_section_info): Don't mark any
13418         DECL_EXTERNAL node as defined.
13419
13420 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13421
13422         * pa.c (pa_init_machine_status, pa_mark_machine_status,
13423         pa_free_machine_status, hppa_init_pic_save): Delete.
13424         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
13425         (hppa_profile_hook): Use hppa_pic_save_rtx.
13426         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
13427         hppa_init_pic_save): Delete.
13428         (hppa_pic_save_rtx): Declare.
13429         * pa.md (call, call_value, sibcall, sibcall_value,
13430         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
13431
13432 2001-07-09  Kazu Hirata  <kazu@hxi.com>
13433
13434         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
13435         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
13436
13437 2001-07-09  Andreas Jaeger  <aj@suse.de>
13438
13439         * output.h: Add declaration of final_forward_branch_p.
13440
13441         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
13442
13443         * varray.c: Include errors.h for internal_error and trim_filename
13444         declarations.
13445
13446         * Makefile.in (varray.o): Add errors.h.
13447
13448 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
13449
13450         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
13451         * optabs.c (have_add2_insn): Check whether the add insn chosen
13452         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
13453         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
13454
13455 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
13456
13457         * Makefile.in (OBJS): Add ssa-ccp.o
13458         (ssa-ccp.o): Add dependencies.
13459         * toplev.c (DFI_ssa_ccp): New dump file enum.
13460         (dump_file): Add entry for dumping after SSA CCP.
13461         (flag_ssa_ccp): New flag variable.
13462         (f_options): Add -fssa-ccp.
13463         (rest_of_compilation): Run SSA CCP if requested.
13464         * timevar.def (TV_SSA_CCP): New timevar.
13465         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
13466         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
13467         Fix minor typo in SSA DCE documentation.
13468         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
13469         Add documentation for new dump option.  Renumber dump files
13470         appropriately.
13471
13472 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
13473
13474         * emit-rtl.c (gen_highpart_mode): New.
13475         * rtl.h (gen_highpart_mode): Declare.
13476         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
13477         operand can be VOIDmode constant.
13478
13479 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
13480
13481         * flow.c (redirect_edge_and_branch_force): New.
13482         (can_fallthru): Ensure that basic blocks are succeeding.
13483         (try_optimize_cfg): Do not delete basic block if it is the last one.
13484
13485         * flow.c (try_redirect_by_replacing_jump): Do not remove
13486         jumps with side effects, unlink chain on fallthru edge;
13487         set block for new jump instruction; avoid basic block to
13488         over by line number note.
13489
13490         * flow.c (try_simplify_condjump): Verify that the condjump
13491         is not always falling through.
13492
13493         Re-install patch:
13494         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
13495
13496         * flow.c (forwarder_block_p): Fix for fallthru blocks.
13497         (try_redirect_by_replacing_jump): Update properly the count
13498         and frequency information.
13499
13500 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13501
13502         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
13503         address that is a LO_SUM specially.
13504         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
13505
13506         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
13507
13508         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
13509         (operand_subword): Use them.
13510         (change_address_1): Renamed from change_address; new arg VALIDATE.
13511         * expr.h: Reflect above changes; change_address now macro.
13512         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
13513         making MEM.
13514         * cselib.c (add_mem_for_addr): Likewise.
13515         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
13516         * regmove.c (try_apply_stack_adjustment): Likewise.
13517         * reload.c (push_reload, make_memloc): Likewise.
13518         * reload1.c (eliminate_regs): Likewise.
13519         * simplify-rtx.c (simplify_replace_rtx): Likewise.
13520         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
13521         adjust_addess.
13522         * combine.c (make_extraction, simplify_shift_const): Likewise.
13523         (gen_lowpart_for_combine): Likewise.
13524         * cse.c (gen_lowpart_if_possible): Likewise.
13525         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
13526         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
13527         * optabs.c (gen_move_insn): Likewise.
13528         * reload1.c (alter_reg): Likewise.
13529         * simplify-rtx.c (simplify_subreg): Likewise.
13530         * stmt.c (expand_anon_union_decl): Likewise.
13531         * recog.c (validate_replace_rtx_1): Likewise.
13532         (expr.h): Include.
13533         * Makefile.in (recog.o): Add $(EXPR_H).
13534         * explow.c (stabilize): Call replace_equiv_address.
13535         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
13536         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
13537
13538 2001-07-03  Andrew Haley  <aph@redhat.com>
13539
13540         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
13541         the mode of the memory location.
13542
13543 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
13544
13545         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
13546
13547 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
13548
13549         * final.c (output_addr_const): Use target opening and
13550         closing parentheses.
13551         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
13552         defaults, add to TARGET_ASM_OUT.
13553         * target.h (struct gcc_target): Add open_paren and close_paren.
13554         * doc/md.texi: Update.
13555         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
13556         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
13557         TARGET_ASM_CLOSE_PAREN.
13558         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
13559         Override.
13560         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
13561         Override.
13562         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
13563         * config/a29k/a29k.h: Similarly.
13564         * config/alpha/alpha.h: Similarly.
13565         * config/arc/arc.h: Similarly.
13566         * config/arm/aof.h: Similarly.
13567         * config/arm/aout.h: Similarly.
13568         * config/avr/avr.h: Similarly.
13569         * config/c4x/c4x.h: Similarly.
13570         * config/clipper/clipper.h: Similarly.
13571         * config/convex/convex.h: Similarly.
13572         * config/d30v/d30v.h: Similarly.
13573         * config/dsp16xx/dsp16xx.h: Similarly.
13574         * config/elxsi/elxsi.h: Similarly.
13575         * config/fr30/fr30.h: Similarly.
13576         * config/h8300/h8300.h: Similarly.
13577         * config/i370/i370.h: Similarly.
13578         * config/i386/i386.h: Similarly.
13579         * config/i860/i860.h: Similarly.
13580         * config/i960/i960.h: Similarly.
13581         * config/ia64/ia64.h: Similarly.
13582         * config/m32r/m32r.h: Similarly.
13583         * config/m68hc11/m68hc11.h: Similarly.
13584         * config/m68k/m68k.h: Similarly.
13585         * config/m88k/m88k.h: Similarly.
13586         * config/mcore/mcore.h: Similarly.
13587         * config/mips/mips.h: Similarly.
13588         * config/mn10200/mn10200.h: Similarly.
13589         * config/mn10300/mn10300.h: Similarly.
13590         * config/ns32k/ns32k.h: Similarly.
13591         * config/pa/pa.h: Similarly.
13592         * config/pdp11/pdp11.h: Similarly.
13593         * config/pj/pj.h: Similarly.
13594         * config/romp/romp.h: Similarly.
13595         * config/rs6000/rs6000.h: Similarly.
13596         * config/sh/sh.h: Similarly.
13597         * config/sparc/sparc.h: Similarly.
13598         * config/v850/v850.h: Similarly.
13599         * config/vax/vax.h: Similarly.
13600         * config/we32k/we32k.h: Similarly.
13601
13602 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
13603
13604         * doc/c-tree.texi: Document representation of attributes.
13605
13606 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
13607
13608         * doc/tm.texi: Update some places for the rename of target to
13609         targetm.  Fix typo.
13610
13611 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
13612
13613         * target.h (struct gcc_target): Add insert_attributes.
13614         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
13615         (TARGET_INITIALIZER): Update.
13616         * tree.c, tree.h (default_insert_attributes): New function.
13617         Update comments on other default functions to refer to targetm,
13618         not target.
13619         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
13620         TARGET_INSERT_ATTRIBUTES.
13621         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
13622         * c-common.c (decl_attributes): Use targetm.insert_attributes.
13623         Don't use PRAGMA_INSERT_ATTRIBUTES.
13624         * Makefile.in (c-common.o): Depend on $(TARGET_H).
13625         * c-decl.c (start_decl, start_function): Don't call
13626         SET_DEFAULT_DECL_ATTRIBUTES.
13627         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
13628         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
13629         declare.
13630         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
13631         (c4x_check_attribute): Avoid modifying attribute list itself.
13632         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
13633         Make static.
13634         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
13635         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
13636         declare.
13637         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
13638         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
13639         Make static.
13640         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
13641         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
13642         declare.
13643         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
13644         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
13645         Adjust parameters.  Make static.
13646
13647 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
13648
13649         * c-common.c (decl_attributes): Only take a single attributes
13650         parameter.
13651         * c-common.h (decl_attributes): Update prototype.
13652         * c-decl.c (start_decl, start_function): Only take a single
13653         attributes parameter.  Update calls to decl_attributes.
13654         (finish_struct, finish_enum): Update calls to decl_attributes.
13655         (push_parm_decl): Expect unified list of attributes.  Update call
13656         to decl_attributes.
13657         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
13658         notype_nested_function, component_declarator,
13659         component_notype_declarator, label): Update calls to
13660         decl_attributes.
13661         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
13662         lists that are passed to push_parm_decl.
13663         * c-tree.h (start_function, start_decl): Update prototypes.
13664         * config/sh/sh-protos.h, config/sh/sh.c
13665         (sh_pragma_insert_attributes): Only take a single attributes
13666         parameter.
13667         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
13668         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
13669         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
13670         build_module_descriptor, generate_static_references,
13671         generate_strings, build_selector_translation_table,
13672         generate_descriptor_table, generate_protocols,
13673         generate_ivars_list, generate_dispatch_table,
13674         generate_protocol_list, generate_category,
13675         generate_shared_structures, really_start_method, add_objc_decls,
13676         generate_classref_translation_entry): Update calls to start_decl
13677         and start_function.
13678         (build_tmp_function_decl, start_method_def): Unify attribute lists
13679         that are passed to push_parm_decl.
13680
13681 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
13682
13683         * final.c (no_asm_to_stream): New.
13684         (final_scan_insn): Use target structures for prologue ends
13685         and epilogue starts.
13686         * output.h (no_asm_to_stream): New.
13687         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
13688         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
13689         (TARGET_ASM_OUT): Update.
13690         * target.h (struct gcc_target): New members function_end_prologue
13691         and function_begin_epilogue.
13692         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
13693         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
13694         * config/alpha/alpha.c (output_end_prologue): Rename to
13695         alpha_output_function_end_prologue.  Use in target struct
13696         and make static.
13697         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
13698         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
13699         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
13700         ia64_output_function_end_prologue.  Use in target struct
13701         and make static.
13702         (ia64_function_prologue, ia64_funciton_epilogue): Rename
13703         mistyped prototypes.
13704         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
13705         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
13706         Delete.
13707         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
13708         an use in target struct, make static.
13709         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
13710         Delete.
13711
13712 2001-07-08  Richard Henderson  <rth@redhat.com>
13713
13714         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
13715
13716 2001-07-08  Richard Henderson  <rth@redhat.com>
13717
13718         * config/i386/i386.md: Remove constraints strings from define_split
13719         and define_peephole2 patterns.
13720         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
13721         (eh_return): Use them.
13722
13723 2001-07-08  Richard Henderson  <rth@redhat.com>
13724
13725         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
13726         Document MD_FALLBACK_FRAME_STATE_FOR.
13727
13728 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
13729
13730         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
13731         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
13732         elimination.
13733         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
13734
13735 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
13736
13737         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
13738         of the label inside NAME as opposed to just the end of NAME.
13739
13740 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
13741
13742         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
13743         * config/alpha/alpha.c (alpha_init_machine_status,
13744         alpha_mark_machine_status, alpha_free_machine_status): Delete.
13745         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
13746         (vms_valid_decl_attribute_p): Make static, conditionally compile.
13747         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
13748
13749 2001-07-06  Stan Shebs  <shebs@apple.com>
13750
13751         * target.h (targetm): Rename global from "target", so as not to
13752         conflict with local variables.
13753         * c-decl.c: Ditto.
13754         * c-typeck.c: Ditto.
13755         * final.c: Ditto.
13756         * tree.c: Ditto.
13757         * cp/decl.c: Ditto.
13758         * cp/decl2.c: Ditto.
13759         * cp/typeck.c: Ditto.
13760         * 1750a/1750a.c: Ditto.
13761         * a29k/a29k.c: Ditto.
13762         * arc/arc.c: Ditto.
13763         * arm/arm.c: Ditto.
13764         * avr/avr.c: Ditto.
13765         * clipper/clipper.c: Ditto.
13766         * convex/convex.c: Ditto.
13767         * d30v/d30v.c: Ditto.
13768         * dsp16xx/dsp16xx.c: Ditto.
13769         * elxsi/elxsi.c: Ditto.
13770         * fr30/fr30.c: Ditto.
13771         * h8300/h8300.c: Ditto.
13772         * i370/i370.c: Ditto.
13773         * i386/i386.c: Ditto.
13774         * i860/i860.c: Ditto.
13775         * i960/i960.c: Ditto.
13776         * ia64/ia64.c: Ditto.
13777         * m32r/m32r.c: Ditto.
13778         * m68hc11/m68hc11.c: Ditto.
13779         * m68k/m68k.c: Ditto.
13780         * m88k/m88k.c: Ditto.
13781         * mips/mips.c: Ditto.
13782         * ns32k/ns32k.c: Ditto.
13783         * pa/pa.c: Ditto.
13784         * pdp11/pdp11.c: Ditto.
13785         * romp/romp.c: Ditto.
13786         * rs6000/rs6000.c: Ditto.
13787         * sh/sh.c: Ditto.
13788         * sparc/sparc.c: Ditto.
13789         * vax/vax.c: Ditto.
13790         * we32k/we32k.c: Ditto.
13791         * doc/tm.texi: Update the manual to match.
13792
13793 2001-07-06  Richard Henderson  <rth@redhat.com>
13794
13795         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
13796         DWARF2_UNWIND_INFO not just whether it is defined.
13797
13798 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
13799
13800         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
13801         call to simplify_binary_operation returns a new pattern.
13802
13803 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
13804
13805         * glimits.h (__SHRT_MAX__): New.
13806         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
13807         (SHRT_MAX): Define in terms of __SHRT_MAX__.
13808
13809 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
13810
13811         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
13812         avoid warnings.
13813
13814 2001-07-06  Richard Henderson  <rth@redhat.com>
13815
13816         * bitmap.c (bitmap_release_memory): Move adjacent to the
13817         allocation functions.
13818         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
13819         the implementation.  Binary search for the set bit.
13820         (bitmap_union_of_diff): Allocate the temporary on the stack
13821         instead of using xmalloc.
13822
13823 2001-07-06  Richard Henderson  <rth@redhat.com>
13824
13825         * genrecog.c (validate_pattern): Warn for constraints in
13826         define_{expand,split,peephole2}.  Remove strict_low_part
13827         before looking up match_dup.
13828
13829 2001-07-06  DJ Delorie  <dj@redhat.com>
13830
13831         * doc/gcc.texi (Makefile): Rename to be a more general purpose
13832         chapter about various build hints and history.  Add section
13833         talking about the various types of native and cross builds.
13834
13835 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
13836
13837         * Makefile.in (final.o): Depend on target.h.
13838         * final.c: Include target.h.
13839         (default_function_pro_epilogue): New.
13840         (final_start_function): Use target structure for function prologues.
13841         (final_end_function): Use target structure for function epilogues.
13842         * fold-const.c (real_hex_to_f): Constify s and p.
13843         * output.h (default_function_pro_epilogue): New.
13844         * real.h (real_hex_to_f): Update prototype.
13845         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
13846         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
13847         (TARGET_INITIALIZER): Update.
13848         * target.h (gcc_target): Add struct asm_out.
13849         * doc/tm.texi: Update.
13850
13851 config:
13852         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
13853         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
13854         in cpu/cpu.c, or rename old functions consistently.  Take
13855         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
13856         redundant macros and prototypes.  Make new functions static.
13857
13858         * 1750a/1750a.c: Similarly.
13859         * 1750a/1750a.h: Similarly.
13860         * a29k/a29k-protos.h: Similarly.
13861         * a29k/a29k.c: Similarly.
13862         * a29k/a29k.h: Similarly.
13863         * arc/arc-protos.h: Similarly.
13864         * arc/arc.c: Similarly.
13865         * arc/arc.h: Similarly.
13866         * arm/arm-protos.h: Similarly.
13867         * arm/arm.c: Similarly.
13868         * arm/arm.h: Similarly.
13869         * avr/avr-protos.h: Similarly.
13870         * avr/avr.c: Similarly.
13871         * avr/avr.h: Similarly.
13872         * clipper/clipper-protos.h: Similarly.
13873         * clipper/clipper.c: Similarly.
13874         * clipper/clipper.h: Similarly.
13875         * convex/convex.c: Similarly.
13876         * convex/convex.h: Similarly.
13877         * d30v/d30v-protos.h: Similarly.
13878         * d30v/d30v.c: Similarly.
13879         * d30v/d30v.h: Similarly.
13880         * d30v/d30v.md: Similarly.
13881         * dsp16xx/dsp16xx-protos.h: Similarly.
13882         * dsp16xx/dsp16xx.c: Similarly.
13883         * dsp16xx/dsp16xx.h: Similarly.
13884         * elxsi/elxsi.c: Similarly.
13885         * elxsi/elxsi.h: Similarly.
13886         * fr30/fr30.c: Similarly.
13887         * fr30/fr30.md: Similarly.
13888         * h8300/h8300-protos.h: Similarly.
13889         * h8300/h8300.c: Similarly.
13890         * h8300/h8300.h: Similarly.
13891         * i370/i370-protos.h: Similarly.
13892         * i370/i370.c: Similarly.
13893         * i370/i370.h: Similarly.
13894         * i386/i386.c: Similarly.
13895         * i386/osf1elf.h: Similarly.
13896         * i386/osfrose.h: Similarly.
13897         * i860/i860-protos.h: Similarly.
13898         * i860/i860.c: Similarly.
13899         * i860/i860.h: Similarly.
13900         * i960/i960-protos.h: Similarly.
13901         * i960/i960.c: Similarly.
13902         * i960/i960.h: Similarly.
13903         * ia64/ia64-protos.h: Similarly.
13904         * ia64/ia64.c: Similarly.
13905         * ia64/ia64.h: Similarly.
13906         * m32r/m32r-protos.h: Similarly.
13907         * m32r/m32r.c: Similarly.
13908         * m32r/m32r.h: Similarly.
13909         * m68hc11/m68hc11-protos.h: Similarly.
13910         * m68hc11/m68hc11.c: Similarly.
13911         * m68hc11/m68hc11.h: Similarly.
13912         * m68k/crds.h: Similarly.
13913         * m68k/dpx2.h: Similarly.
13914         * m68k/m68k-protos.h: Similarly.
13915         * m68k/m68k.c: Similarly.
13916         * m68k/m68k.h: Similarly.
13917         * m68k/news.h: Similarly.
13918         * m88k/m88k-protos.h: Similarly.
13919         * m88k/m88k.c: Similarly.
13920         * m88k/m88k.h: Similarly.
13921         * mips/mips-protos.h: Similarly.
13922         * mips/mips.c: Similarly.
13923         * mips/mips.h: Similarly.
13924         * ns32k/merlin.h: Similarly.
13925         * ns32k/ns32k.c: Similarly.
13926         * ns32k/ns32k.h: Similarly.
13927         * ns32k/tek6000.h: Similarly.
13928         * pa/pa-protos.h: Similarly.
13929         * pa/pa.c: Similarly.
13930         * pa/pa.h: Similarly.
13931         * pdp11/2bsd.h: Similarly.
13932         * pdp11/pdp11-protos.h: Similarly.
13933         * pdp11/pdp11.c: Similarly.
13934         * pdp11/pdp11.h: Similarly.
13935         * romp/romp-protos.h: Similarly.
13936         * romp/romp.c: Similarly.
13937         * romp/romp.h: Similarly.
13938         * rs6000/rs6000-protos.h: Similarly.
13939         * rs6000/rs6000.c: Similarly.
13940         * rs6000/rs6000.h: Similarly.
13941         * rs6000/sysv4.h: Similarly.
13942         * sh/sh-protos.h: Similarly.
13943         * sh/sh.c: Similarly.
13944         * sh/sh.h: Similarly.
13945         * sparc/sparc-protos.h: Similarly.
13946         * sparc/sparc.c: Similarly.
13947         * sparc/sparc.h: Similarly.
13948         * vax/vax.c: Similarly.
13949         * vax/vax.h: Similarly.
13950         * vax/vms.h: Similarly.
13951         * we32k/we32k.c: Similarly.
13952         * we32k/we32k.h: Similarly.
13953
13954 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
13955
13956         * basic-block.h (first_insn_after_basic_block_note): Declare.
13957         * flow.c (first_insn_after_basic_block_note): Define.  Moved
13958         from...
13959         * ssa.c (first_insn_after_basic_block_note): Remove.
13960         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
13961         necessary.
13962         (ssa_eliminate_dead_code): Properly update the CFG and PHI
13963         nodes when we find a dead conditional branch.  Insert BARRIERs
13964         after any blocks with no successors, but which do not have
13965         any BARRIERs.
13966
13967 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
13968
13969         * varray.c (varray_check_failed): Use internal_error.
13970
13971 2001-07-05  Andrew Haley  <aph@redhat.com>
13972
13973         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
13974         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
13975         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
13976
13977 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
13978
13979         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
13980         reference if the target constant is also a SYMBOL_REF.
13981
13982 2001-07-05  Eric Christopher  <echristo@redhat.com>
13983
13984         * config/mips/mips.h (MASK_MIPS3900): Remove.
13985         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
13986         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
13987         (TARGET_MIPS3900): Change to use mips_arch.
13988         (TARGET_MIPS4000): New.
13989         (TARGET_MIPS4100): New.
13990         (TARGET_MIPS4300): New.
13991         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
13992         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
13993         for -mipsX.
13994         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
13995         (ISA_HAS_BRANCHLIKELY): To here.
13996         (CC1_CPU_SPEC):  New.
13997         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
13998         (mips_arch_string): Declare.
13999         (mips_arch): Declare.
14000         (TARGET_OPTIONS): Add -march and -mtune.
14001
14002         * config/mips/mips.c (mips_arch_string): New.
14003         (mips_arch): New.
14004         (override_options): Handle -march for codegen and -mtune
14005         for scheduling. Use mips_arch. Move tx39 target default here.
14006         (mips_parse_cpu): Move error message to override_options.
14007
14008         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
14009
14010         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
14011
14012         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
14013         (MIPS Options): Ditto.  Change mcpu entry to historical text.
14014
14015 2001-07-05  H.J. Lu  (hjl@gnu.org)
14016
14017         * config/mips/mips.c (mips_parse_cpu): New function to parse
14018         -march=*/-mcpu=*.
14019
14020 2001-07-05  Jim Wilson  <wilson@redhat.com>
14021
14022         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
14023         * config/ia64/t-ia64: Likewise.
14024         (LIB1ASMFUNCS): Update comment.
14025
14026 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
14027
14028         * doc/install.texi (Install GCC: Binaries): Fix typo.
14029
14030 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14031
14032         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
14033         reference using the stack pointer, adjust it since we push Y
14034         temporarily.
14035         ("*ashrsi3"): Likewise.
14036         ("*lshrsi3"): Likewise.
14037
14038 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14039
14040         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
14041         when -fomit-frame-pointer is used.
14042
14043 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
14044
14045         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
14046         (try_redirect_by_replacing_jump): Reverse updating properly the
14047         count and frequency information.  Reverse removing cc0 setter.
14048         (forwarder_block_p): Reverse fixing for fallthru blocks.
14049
14050 2001-07-05  DJ Delorie  <dj@redhat.com>
14051
14052         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
14053         (translate_options): If the above is defined, use it to map
14054         given options to new options.
14055         * doc/tm.texi: Document it.
14056
14057 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
14058             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14059
14060         * doc/invoke.texi (Optimize Options): Document that -fgcse may
14061         cause programs using computed gotos to run more slowly.
14062
14063 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14064
14065         * doc/install.texi (Specific): Markup, spelling and typo fixes.
14066         Fixed sorting.
14067         Consistently require binutils 2.11.2, not prereleases.
14068         (Specific, decstation-*): Canonicalize as mips-dec-*.
14069         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
14070         always necessary.
14071         (Specific, m68k-altos): Removed reference to README.altos, deleted.
14072         (Specific, mips-*): Reword MIPS C compiler requirements.
14073         (Specific, powerpc*-*-*): New, mention --with-cpu once.
14074         (Specific, sunv5): Removed, obsolete.
14075
14076 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
14077
14078         * dwarf2out.c (output_loc_list): Use an all ones mask for
14079         .text asm output and don't rely on long long
14080         literals. Reformat some long lines.
14081
14082 2001-07-05  Andreas Jaeger  <aj@suse.de>
14083
14084         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
14085         section.
14086
14087 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
14088
14089         * dwarf2out.c (dwarf2out_define): Update comment.
14090         (dwarf2out_undef): Ditto.
14091         (dwarf2out_start_source_file): Ditto.
14092         (dwarf2out_end_source_file): Ditto.
14093         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
14094         since we never call the start/end debug hook for the primary file.
14095
14096 2001-07-04  Kazu Hirata  <kazu@hxi.com>
14097
14098         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
14099         from shll.
14100
14101 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
14102
14103         * cppinit.c (remove_dup_dirs): Inform if a system include
14104         directory is being reordered.
14105         * doc/invoke.texi (Directory Options): GCC warns if you hide a
14106         system include.
14107         * doc/cpp.texi (Search Paths): Likewise.
14108         * doc/gcc.texi (Interoperation): Remove information about
14109         -I/usr/include.
14110
14111 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
14112
14113         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
14114         (VARRAY_TOP_CHAR_PTR): Likewise.
14115
14116 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14117
14118         * gcc.c (process_command): Don't assign elements of a const char*.
14119
14120 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14121
14122         * emit-rtl.c (change_address): Don't abort if invalid address while
14123         reload is in progress.
14124
14125 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
14126
14127         * c-lex.c (cb_file_change): Pass line number to
14128         debug_start_source_file.
14129         (cb_undefine): Pass correct line number to debug_undef.
14130
14131         * toplev.c (debug_start_source_file): Add line number to
14132         parameters. Pass it along to dwarf2out_start_source_file.
14133         (decode_g_option): Stop resetting debug level back to normal when
14134         we change debug formats, unless the current level is
14135         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
14136         3).
14137
14138         * toplev.h (debug_start_source_file): Add line number to
14139         parameters.
14140
14141         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
14142         parameters.
14143
14144         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
14145         parameters.
14146         Output debug_macinfo data for starting file if requested.
14147         (dwarf2out_end_source_file): Output debug_macinfo data for ending
14148         file if requested.
14149         (dwarf2out_define): Output debug_macinfo data for defining a macro
14150         if requested.
14151         (dwarf2out_undef): Output debug_macinfo data for undefining a
14152         macro if requested.
14153         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
14154         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
14155         (macinfo_section_label): New. DWARF2 macro info section label.
14156         (dwarf2out_init): If we want macro info, output the start label
14157         for the section.
14158         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
14159         attribute to the compilation unit die pointing to the macro info.
14160
14161 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
14162
14163         * dwarf2out.c (new_loc_list): Move to inside #ifdef
14164         DWARF2_DEBUGGING_INFO.
14165         (add_loc_descr_to_loc_list): Ditto.
14166         (output_loc_list): Ditto.
14167         Also, fix thinko in curr not being initialized.
14168         (gen_internal_sym): Ditto.
14169
14170 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14171
14172         * emit-rtl.c (replace_equiv_address): New function.
14173         * expr.h (replace_equiv_address): New declaration.
14174         * explow.c (validize_mem): Call it instead of change_address and
14175         also call if -fforce-addr and address is constant.
14176         * expr.c: Replace more calls to change_address with adjust_address
14177         and/or replace_equiv_address or to validize_mem.
14178         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
14179         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
14180         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
14181         * config/i370/i370.md, config/i860/i860.md: Likewise.
14182         * config/i960/i960.md, config/mips/mips.c: Likewise.
14183         * config/mips/mips.md, config/pa/pa.md: Likewise.
14184         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
14185         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
14186
14187 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14188
14189         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
14190
14191         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
14192         function.
14193
14194 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
14195
14196         * doc/include: New directory.
14197         * doc/fdl.texi: Move to doc/include/fdl.texi.
14198         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
14199         * doc/include/funding.texi, doc/include/gpl.texi: New files.
14200         * doc/gcc.texi: Use funding.texi and gpl.texi.
14201         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
14202         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
14203         Update dependencies and use -I $(docdir)/include.
14204
14205 2001-07-04  Anthony Green  <green@redhat.com>
14206
14207         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
14208
14209 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14210
14211         * doc/install.texi (sparc64-*-*): Remove garbage.
14212
14213 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
14214
14215         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
14216         Fix typo in last change to use adjust_address.
14217
14218 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14219
14220         * doc/install.texi (Specific): Update information for *-*-solaris*.
14221
14222 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14223
14224         * explow.c (plus_constant_wide): Reinitialize Y for restart.
14225
14226 2001-07-03  Stan Shebs  <shebs@apple.com>
14227
14228         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
14229         case for flag_no_mach_text_sections.
14230         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
14231         * config/darwin.c (flag_no_mach_text_sections): Remove.
14232         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
14233
14234 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14235
14236         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
14237         and avoid checking for constant as first operand.
14238         * recog.c (find_constant_term_loc): No longer static.
14239         (adj_offettable_operand): Delete.
14240         * rtl.h (adj_offsettable_operand): Delete declaration.
14241         (find_constant_term): Add declaration.
14242         * caller-save.c: Replace calls to adj_offsettable_operand with calls
14243         to adjust_address.
14244         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
14245         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
14246         * config/i386/i386.c, config/i386/i386.md: Likewise.
14247         * config/i860/i860.c, config/i960/i960.c: Likewise.
14248         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
14249         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
14250         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
14251         * config/mips/mips.c, config/mips/mips.md: Likewise.
14252         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
14253         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
14254         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
14255         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
14256         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
14257         * config/ns32k/ns32k.md: Likewise.
14258
14259 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
14260
14261         * rtl.c (copy_rtx): Handle 'T' format letter.
14262         * gensupport.c (collect_insn_data): Likewise.
14263         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
14264
14265 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
14266
14267         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
14268         -B option.  Use 'dir' not 'foo' as example directory name.
14269
14270 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14271
14272         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
14273         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
14274
14275 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
14276
14277         * doc/cppinternals.texi: Improve formatting and logical markup.
14278
14279 2001-07-03  Andreas Jaeger  <aj@suse.de>
14280
14281         * Makefile.in (insn-recog.o): Add dependency on reload.h.
14282
14283         * genrecog.c (write_header): Include reload.h for prototypes in
14284         insn-recog.c.
14285
14286 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
14287
14288 config:
14289         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
14290         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
14291         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
14292         i386_pe_valid_type_attribute_p): Add.
14293         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
14294         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
14295
14296 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14297
14298         * explow.c (plus_constant_wide, case LO_SUM): New case.
14299         (plus_constant_for_output_wide): Delete.
14300         * rtl.h (plus_constant_for_output): Delete.
14301         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
14302         instead of plus_constant_for_output.
14303         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
14304         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
14305         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
14306         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
14307         * config/sparc/sparc.md: Likewise.
14308         Convert some change_address calls to adjust_address.
14309
14310 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
14311
14312         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
14313         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
14314         documentation of -std and -Wwrite-strings.
14315
14316 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
14317
14318         * cse.c (canon_hash): Don't register registers in very small
14319         register classes, as extending their lifetime might cause
14320         reload to fail.
14321
14322 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
14323
14324         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
14325
14326         * flow.c (forwarder_block_p): Fix for fallthru blocks.
14327         (try_redirect_by_replacing_jump): Update properly the count
14328         and frequency information.
14329
14330 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
14331
14332         * toplev.c (dump_file_index): Move SSA dumps just after first
14333         jump dump.
14334         (dump_file): Corresponding changes.
14335         (rest_of_compilation): Move SSA path to just after the first
14336         jump pass.
14337         * doc/gcc.texi (Passes): Update due to movement of SSA path.
14338         * doc/invoke.texi: Update dump file #s as they were completely
14339         out of date with reality.
14340
14341 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
14342
14343         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
14344
14345         * expr.c (emit_move_insn_1): Deal with non-default
14346         STACK_PUSH_CODE.
14347
14348         * expr.c (emit_single_push_insn): Fix warning.
14349
14350 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
14351
14352         * expr.c (emit_move_insn_1): Avoid modifying
14353         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
14354
14355 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14356
14357         * emit-rtl.c (adjust_address): New function.
14358         * expr.h (adjust_address): Add declaration.
14359         * builtins.c: Replace some calls to change_address with calls to it
14360         or to validize_mem.
14361         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
14362         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
14363         * config/arm/arm.c, config/convex/convex.c: Likewise.
14364         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
14365         * config/i386/i386.c, config/i386/i386.md: Likewise.
14366         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
14367         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
14368         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
14369         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
14370         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
14371
14372 2001-07-02  Jim Wilson  <wilson@redhat.com>
14373
14374         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
14375
14376 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
14377
14378         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
14379         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
14380
14381 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
14382
14383         * cppinit.c (lang_defaults): New table.
14384         (set_lang): Just read from lang_defaults into the live options
14385         structure.
14386
14387 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
14388
14389         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
14390         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
14391         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
14392
14393 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14394
14395         * doc/install.texi: Various spelling and markup fixes.
14396         (Installing GCC): Component specific installation instructions are
14397         gone.
14398         Fix reference.
14399         Warn about removing old install dir in the presence of shared libs.
14400         (Configuration): Invoke with options target to match configure
14401         --help.
14402         Consistently refer to gas, gld pathnames.
14403         Invert --enable-multilib documentation.
14404         Remove references to old compiler versions.
14405
14406 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14407
14408         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
14409
14410 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14411
14412         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
14413         section.
14414         (Specific, mips*-sgi-irix5): Note IDO download.
14415         Reworded MIPS C hints.
14416         Use GNU as instead of GAS.
14417         Markup fixes.
14418         Removed SGI Freeware reference, IRIX 6 only.
14419         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
14420         Note N64 library requirement/workaround.
14421         Update O32 hints.
14422         Complete list of structure passing bug victims.
14423
14424 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14425
14426         * doc/install.texi: Remove CVS Id.
14427
14428 2001-07-02  Andreas Jaeger  <aj@suse.de>
14429
14430         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
14431         (find_inherently_necessary): Remove unused variable.
14432
14433 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
14434
14435         * c-common.h (TDI_inlined): New ast dump phase.
14436         (dump_flag_name): New function.
14437         * c-dump.c (dump_files): Add inlined phase.
14438         (dump_flag_name): Define.
14439         * doc/invoke.texi (-fdump-ast-inlined): Document.
14440
14441 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14442
14443         * stor-layout.c (layout_decl): Revert change to handling of alignment
14444         in packed types.
14445
14446 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14447
14448         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
14449         for FIELD_DECL.
14450
14451 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
14452
14453         * doc/tm.texi (FUNCTION_ARG): Document that the last call
14454         is special.
14455
14456 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
14457
14458         * tlink.c (recompile_files): Remove COMPILER_PATH and
14459         LIBRARY_PATH from the environment.
14460
14461 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
14462
14463         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
14464         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
14465         enumerators.
14466         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
14467
14468         * c-parse.in (OBJC_STRING): Kill.
14469         (objc_string): Decompose to [objc_string] '@' STRING.
14470         (reswords): Take the leading '@' off all the Objective C keywords.
14471         (objc_rid_sans_at): Kill.
14472         (init_reswords): Don't initialize it.
14473         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
14474         (_yylex): Kill reconsider label.  Look ahead one token after
14475         an '@'; if we get an identifier, check whether it's an
14476         Objective C @-keyword.  If so, return the keyword.  Otherwise,
14477         put back the token and return the '@' as a terminal.
14478
14479         * cpplib.c (lex_macro_node): Remove unnecessary check for
14480         leading '@' on identifier.  Clarify control flow and commentary.
14481
14482 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14483
14484         * cse.c (new_label_ref): Variable deleted.
14485         (insert): Remove set of new_label_ref.
14486         (check_for_label_ref): New function.
14487         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
14488
14489 See ChangeLog.5 for earlier changes.