OSDN Git Service

12f897d29b615bcb1be499459b3310525a69f9ee
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 Mon Nov 19 18:06:21 CET 2001  Jan Hubicka  <jh@suse.cz>
2
3         * gcse.c (try_replace_reg): Copy RTX before creating note.
4
5         * df.h (df_ref_flags): New uenum.
6         (DF_REF_FLAGS): New macro.
7         (struct ref): Add field "flags".
8         * df.c (HANDLE_SUBREG): Remove.
9         (df_ref_create): Likewise; set flags field of ref.
10         (df_def_record_1): Strip down read_write subreg; remove
11         commented out code; set READ_WRITE flag.
12         (read_modify_subreg_p): New static function.
13         (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
14         new argument "flags".
15         (df_insn_refs_record): Update call of df_uses_record.
16         (df_insn_modify): Avoid #if 0 around comment.
17         (df_dump): Dump the read/write flag.
18
19         * predict.c (propagate_freq): Make cyclic_probability and frequency
20         volatile
21
22         * i386.c (ix86_cc_mode): Accept USE.
23
24         * cfgrtl.c (purge_dead_edges):  Cleanup EDGE_ABNORMAL flag if computed
25         jump is turned into simplejump.
26
27 2001-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
28
29         * doc/fragments.texi, doc/trouble.texi: Remove links to old
30         installation chapter.
31         * doc/gcc.texi: Don't claim that this manual documents
32         installation.  Mark Installation menu entry as being out of date.
33
34 Mon Nov 19 07:21:35 2001  Douglas B. Rupp  <rupp@gnat.com>
35
36         * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
37         (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
38         * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
39
40 2001-11-19  Jason Merrill  <jason@redhat.com>
41
42         * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
43         cur_token, not after.
44
45         * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
46         Lose ASM_OUTPUT_CONSTRUCTOR.
47         * system.h: Poison it and INT_ASM_OP.
48         * c-lang.c (finish_file): Don't check for it.
49         * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
50
51 2001-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
52
53         * mmix.c (mmix_cc1_ignored_option): Const-ify.
54         (mmix_init_machine_status): Make static to match declaration.
55         (mmix_unique_section): Const-ify.
56         (mmix_output_quoted_string): Avoid automatic aggregate
57         initialization.
58         (mmix_output_register_setting): Likewise.
59         (mmix_output_shiftvalue_op_from_str): Likewise.
60
61         * mmix.h (mmix_cc1_ignored_option): Const-ify.
62         (ASM_OUTPUT_BYTE): Fix format specifier warning.
63         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
64
65 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
66
67         PR c/4448
68         * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
69         name __objc_thread_exit_status so that it matches the 
70         variable defined in objc/thr.h.
71
72 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
73
74         PR bootstrap/4020
75         * mklibgcc.in: Add missing semi-colons.
76         * Makefile.in: Same.
77
78 Sun Nov 18 16:47:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
79
80         * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
81         after re-laying out decl in incomplete case.
82         (expand_expr, case ADDR_EXPR): Fix typo in copy case.
83
84 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
85
86         * doc/install-old.texi: Move some sections out to ...
87         * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
88         ... here.  New files.  Make into chapters rather than sections.
89         * doc/gcc.texi: Include the new files and add menu entries for
90         them.
91         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
92
93 Sun Nov 18 14:13:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
94
95         * tree.h (TYPE_ALIGN_OK): New flag.
96         * emit-rtl.c (set_mem_attributes): Handle it.
97         * expr.c (emit_single_push_insn): Only set to alias set 0 if
98         doing sibcall optimization.
99         (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
100         when make temporary.
101         (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
102         (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
103
104         * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
105
106 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
107
108         * c-decl.c (c_decode_option): Give deprecation warning for
109         -traditional.
110         * doc/invoke.texi (-traditional): Note that this option is
111         deprecated.
112
113 Sun Nov 18 07:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
114
115         * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
116         arg to HOST_WIDE_INT, not long.
117
118         * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
119         (HAS_INIT_SECTION): Define.
120         (REAL_ARITHMETIC): Don't undefine.
121
122 2001-11-18  Egor Duda  <deo@logos-m.ru>
123
124         * config/i386/cygwin.h: Strip leading '*' from name, if any.
125
126 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
127
128         * Makefile.in (c-parse.o, c-common.o): Update dependencies.
129         * c-common.c: Include diagnostic.h.
130         (c_common_finish): New.
131         * c-common.h (c_common_finish): New.
132         * c-lang.c (LANG_HOOKS_FINISH): Override.
133         * c-parse.in: Don't include diagnostic.h.
134         (finish_parse): Remove.
135         * langhooks.h: Update comments.
136         * toplev.c (lang_dependent_init): New prototype.
137         (finalize): New.
138         (compile_file): Split cleanup code out to finalize.
139         (lang_dependent_init): Stop if lang_hooks.init fails.
140         (toplev_main): Update.
141         * tree.h (finish_parse): Remove.
142 objc:
143         * objc-act.c (LANG_HOOKS_FINISH): Override.
144
145 Sat Nov 17 23:30:44 2001  Douglas B. Rupp  <rupp@gnat.com>
146
147         * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
148         * config/alpha/vms_tramp.asm: New file.
149         * config/alpha/vms-tramp.asm: Removed.
150
151 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
152
153         * c-common.c (struct disabled_builtin, disabled_builtins,
154         disable_builtin_function, builtin_function_disabled_p): New.
155         (builtin_function_2): Check for disabled built-in functions.
156         * c-common.h (disable_builtin_function): Declare.
157         * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
158         * doc/invoke.texi: Document -fno-builtin-FUNCTION.
159         * doc/extend.texi: Mention -fno-builtin-FUNCTION.
160
161 2001-11-17  Craig Rodrigues  <rodrigc@gcc.gnu.org>
162
163         PR target/4606
164         * config.gcc: Remove reference to va-clipper.h.
165
166 2001-11-17  Stan Shebs  <shebs@apple.com>
167
168         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
169         AltiVec-related bitfields.
170
171 Sat Nov 17 12:06:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
172
173         * except.c (enum eh_region_type): Add ERT_UNKNOWN.
174         (mark_eh_region, case ERT_UKNONW): New case.
175
176 2001-11-17  Christopher Faylor  <cgf@redhat.com>
177             Corinna Vinschen  <vinschen@redhat.com>
178
179         * config/i386/cygwin.h: Search target specific include directory for
180         w32api stuff, if appropriate.
181
182 Sat Nov 17 08:20:44 2001  Douglas Rupp  <rupp@gnat.com>
183
184         * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
185
186 2001-11-16  Aldy Hernandez  <aldyh@redhat.com>
187
188         * config/rs6000/rs6000.md: Change all ldvx to lvx.
189
190 2001-11-16  Alexandre Oliva  <aoliva@redhat.com>
191
192         * gensupport.c (process_rtx): Don't assume filename is the first
193         argument of any rtl.
194
195 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
196
197         * vax-protos.h (reg_was_0_p): New prototype.
198         * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
199         * vax.c (follows_p, reg_was_0_p): New functions.
200
201 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
202
203         * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
204         (casesi1): Likewise.  Define new pattern which arises by simplification
205         when operand 1 is a constant int.  Correct pattern which arises by
206         simplification when operand 1 is zero.
207
208 2001-11-16  David O'Brien  <obrien@FreeBSD.org>
209
210         * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
211         arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
212         arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
213         arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
214         arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
215         arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
216         xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
217         * config/arm/aof.h: Don't include arm.h.
218         * config/arm/aout.h: Likewise.
219         * config/arm/coff.h: Don't include semi.h and aout.h.
220         * config/arm/elf.h: Don't include aout.h.
221         * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
222         (TARGET_VERSION): Undef before defining.
223         (ARM_OS_NAME): Likewise
224         (TARGET_DEFAULT): Likewise
225         (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
226         * config/arm/pe.h: Don't include arm/coff.h.
227         * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
228         SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
229         * config/arm/riscix1-1.h: Likewise.
230         * config/arm/rix-gas.h: Don't include riscix.h.
231         (DBX_CONTIN_LENGTH): Undef before defining.
232         * config/arm/semi.h: Don't include aout.h.
233         * config/arm/semiaof.h: Don't include aof.h.
234         * config/arm/strongarm-coff.h: Don't include coff.h.
235         * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
236         * config/arm/vxarm.h: Don't include arm/coff.h.
237         * config/arm/xscale-coff.h: Don't include coff.h.
238
239 Fri Nov 16 15:22:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
240
241         * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
242         emit_cmp_insn.
243
244 2001-11-16  Andreas Jaeger  <aj@suse.de>
245
246         * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
247         to ....
248         (fixup_fallthru_exit_predecessor): ... this.
249         Change callers and prototype.
250
251 2001-11-16  Bernd Schmidt  <bernds@redhat.com>
252
253         * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
254         hand; don't use gen_setcc_2.
255         (ix86_expand_builtin): Fix pshufw.
256         * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
257         case UNORDERED to emit the right assembler instruction.
258         (mmx_pshufw): Lose operand 2.
259         (cvtsi2ss): Fix representation.
260         From Graham Stott:
261         (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
262
263 2001-11-16  Joseph S. Myers  <jsm28@cam.ac.uk>
264
265         * doc/include/linux-and-gnu.texi: Remove.
266         * doc/gnu.texi: New.
267         * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
268         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
269
270 2001-11-16  Kazu Hirata  <kazu@hxi.com>
271
272         * config/a29k/a29k.c: Fix comment formatting.
273         * config/a29k/a29k.h: Likewise.
274         * config/arc/arc.c: Likewise.
275         * config/arc/arc.h: Likewise.
276         * config/vax/vax.c: Likewise.
277         * config/vax/vax.h: Likewise.
278         * config/we32k/we32k.c: Likewise.
279         * config/we32k/we32k.h: Likewise.
280
281 2001-11-16  Jeff Law  <law@redhat.com>
282
283         * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
284         creating a new jump insn.
285
286 Fri Nov 13 09:06:25 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
287
288         * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
289         copy misaligned data.
290         * varasm.c (assemble_variable): Set alignment into MEM when changed.
291
292 2001-11-16  Graham Stott  <grahams@redhat.com>
293
294         * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
295         OPALIGN type.
296
297 2001-11-16  Olivier Hainque <hainque@act-europe.fr>
298
299         * except.c: Support for catching a list of types with a single handler
300         (struct eh_region): Change type and filter to lists for catch regions.
301         (mark_eh_region): Mark the filter list for GC also.
302         (expand_start_catch): Always build a list if argument not NULL and
303         register each type of the list through add_type_for_runtime.
304         (duplicate_eh_region_1): Change type into type_list for catch regions.
305         (assign_filter_values): Assign a filter to each type associated with a
306         catch region. Assign filter for NULL types in a unique entry in the
307         filter list.
308         (build_post_landing_pads): Emit compare and jump for each filter of
309         the list associated with a catch region.
310         (reachable_next_level): When the type thrown is known, stop the search
311         as soon as one type within a catch list matches. Also, a handler is
312         potentially reachable only if at least one of the types it catches
313         has not been previously caught.
314         (collect_one_action_chain): Retrieve the filter for a NULL type list
315         from the first filter list entry. For non NULL type lists, add an
316         action record for every filter assigned.
317         * except.h: Reflect changes in comment before expand_start_catch.
318
319 Fri Nov 16 07:12:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
320
321         * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
322         BLKmode.
323
324 Fri Nov 16 06:37:05 2001  Andreas Tobler  <a.tobler@schweiz.ch>
325
326         * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
327
328 2001-11-16  Jakub Jelinek  <jakub@redhat.com>
329
330         * c-lang.c (finish_file): Don't emit static inline functions if
331         they weren't referenced.
332
333 2001-11-15  Stan Shebs  <shebs@apple.com>
334
335         * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
336
337 2001-11-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
338
339         * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
340         call.
341         * config/i386/i386.md: Likewise.
342
343 Thu Nov 15 21:40:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
344
345         * timevar.c (rtl.h): Include so get fancy abort.
346
347 2001-11-15  Dale Johannesen  <dalej@apple.com>
348
349         * config/darwin.h (SELECT_RTX_SECTION):  Force address
350         initializers into 'const' section
351         * config/rs6000/rs6000.c (rs6000_emit_cmove):  Fix mode of
352         if_then_else to match result, not operands
353
354 Thu Nov 15 17:57:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
355
356         * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
357         * emit-rtl.c (change_address): Fix typo in default alignment.
358         (adjust_address_1): Use mode of NEW, not MODE, when setting size.
359         * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
360         * rtl.h (REGNO_PTR_FRAME_P): New macro.
361
362         * expr.c (store_field): Pass tree instead of max size; callers changed.
363         Change handling of alignment.
364         Only copy to_rtx if is TARGET.
365         (expand_expr_unaligned): Delete; callers now use expand_expr.
366         (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
367         (expand_assignment): Change handling of alignment.
368         Only copy to_rtx if was original.
369         (get_inner_reference): No longer return alginment; callers changed.
370         (expand_expr, case COMPONENT_REF): Change handling of alignment.
371         (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
372         (compare_from_rtx): Delete ALIGN parm; all callers changed.
373         (do_compare_rtx_and_jump): Likewise.
374         * expr.h: Reflect above changes.
375         * tree.h: Likewise.
376         * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
377         to get_inner_reference.
378         * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
379         * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
380         * optabs.c: Likewise.
381         (prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
382         (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
383         * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
384         compare_rtx_and_jump, and emit_cmp_jump_insns.
385         * fold-const.c: Remove PALIGN in calls to get_inner_reference.
386         * function.c (assign_stack_temp_for_type): No longer static.
387         * optabs.h (emit_cmp_insn): Remove ALIGN parm.
388         (prepare_cmp_insn): Delete declaration.
389         * rtl.h (assign_stack_temp_for_type): Add declaration.
390         * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
391         * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
392         * config/i386/i386.c,config/mips/mips.c: Likewise.
393         * config/i860/i860.c, config/ia64/ia64.c: Likewise.
394         * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
395
396 2001-11-15  Stan Shebs  <shebs@apple.com>
397
398         * config/rs6000/rs6000.h: Fix a comment typo.
399         (RTX_COSTS): Sort processor versions better.
400
401 2001-11-15  Kazu Hirata  <kazu@hxi.com>
402
403         * config/h8300/h8300.md: Fix insn length of bit insns.
404
405 2001-11-15  Jason Merrill  <jason@redhat.com>
406
407         * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
408         DIEs if there were errors in the source.
409
410         * config/alpha/alpha-interix.h, config/alpha/elf.h,
411         config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
412         config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
413         config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
414         config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
415         config/elfos.h, config/lynx.h, config/netware.h,
416         config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
417         config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
418         uses to use ASM_LONG.
419
420 2001-11-15  Alan Matsuoka  <alanm@redhat.com>
421
422         * gensupport.c  process_include : Change call to alloca to
423         xmalloc.
424
425 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
426
427         * config/rs6000/rs6000.md: Use spaces instead of tabs in output
428         templates.
429
430 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
431
432         * final.c (alter_subreg): If simplify_subreg can't do anything,
433         handle REG ourselves and abort for others.
434
435 2001-11-15  Richard Hodson  <hodsonr@dionecorp.com>
436
437         * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
438         routines.
439
440 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
441
442         * fix-header.c (read_scan_file): Update.
443
444 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
445
446         * toplev.c (toplev_main): Don't start timing until after
447         command-line options are parsed.
448
449 2001-11-15  Andreas Schwab  <schwab@suse.de>
450
451         * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
452         makefile frag, not host makefile frag.
453         (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
454         (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
455         used.
456         (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
457         * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
458         * config/m88k/t-dgux (STMP_FIXPROTO): Define.
459         * config/i386/t-cygwin (STMP_FIXPROTO): Define.
460         * config/i386/t-dgux (STMP_FIXPROTO): Define.
461         * config/x-interix: Don't define STMP_FIXPROTO and
462         FIXPROTO_DEFINES.
463         * config/t-interix: New file, define STMP_FIXPROTO.
464         * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
465         * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
466         * config/t-svr4 (FIXPROTO_DEFINES): Define.
467         * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
468         * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
469         * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
470         * config/m68k/t-hp3200: Renamed from x-hp3200.
471         * config/i370/t-oe: Renamed from x-oe.
472         * config/mips/t-iris: Renamed from x-iris.
473         * config/pa/t-bsd: Renamed from x-pa.
474         * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
475         * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
476         config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
477         config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
478         config/rs6000/x-cygwin: Remove files.
479
480         * configure.in: Check for target objdump and use that in eh_frame
481         optimization test.
482         * configure: Regenerated.
483
484 2001-11-15  Jakub Jelinek  <jakub@redhat.com>
485
486         * jump.c (squeeze_notes): Return true if no real insns were found.
487         * rtl.h (squeeze_notes): Adjust prototype.
488         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
489         squeeze_notes finds no real instructions, abort.
490         (merge_blocks_move_successor_nojumps): Likewise.
491         * loop.c (find_and_verify_loops): Likewise.
492         * stmt.c (expand_end_case): Likewise.
493         * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
494         find any real instructions.
495
496         * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
497
498         * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
499         conditional jump, request updating life into for the block
500         containing it.  Fix a typo which prevented life info update.
501         Clear blocks bitmap before using it.
502
503 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
504
505         * c-common.c: Include c-lex.h.
506         (c_common_lang_init): Change prototype.  Call init_c_lex and
507         init_pragma from here.
508         * c-common.h (c_common_lang_init): Change prototype.
509         * c-decl.c (init_decl_processing): Rename.  Call c_parse_init.
510         * c-lang.c (c_init): Change prototype.  Update.
511         (c_init_options): Update.
512         * c-lex.c (cpp_filename): Remove.
513         (init_c_lex): Update.  Read the main file, and get the original
514         file name.
515         (yyparse): Finish the command line options.
516         * c-parse.in (c_parse_init): Call init_reswords here.
517         (init_parse): Remove.
518         * c-tree.h (c_init_decl_processing): New.
519         * cpphash.c (_cpp_init_hashtable): After initializing the hash
520         table, populate it.
521         * cppinit.c (read_original_filename, cpp_finish_options): New.
522         (cpp_create_reader): New prototype. Defer hash table initialization.
523         (cpp_start_read): Rename cpp_read_main_file.  Initialize the
524         hash table.  Get the original filename.
525         * cpplib.h (cpp_create_reader): Update.
526         (cpp_start_read): Remove.
527         (cpp_read_main_file, cpp_finish_options): New.
528         * cppmain.c (main, do_preprocessing): Update.
529         * langhooks.h (struct langhooks): Update init prototype.
530         * toplev.c (general_init, parse_options_and_default_flags,
531         process_options, lang_indpendent_init, lang_dependent_init,
532         init_asm_output): New; perform the bulk of initialization.
533         (compile_file): Move most of initialization to above functions.
534         (debug_hooks): Initialize statically.
535         (set_Wunused): Relocate.
536         (toplev_main): Move most of initialization to other init functions.
537         Have a clear logic flow.
538         * tree.h (init_parse, init_decl_processing): Remove.
539 objc:
540         * objc-act.c (objc_init): Update prototype, combine with old
541         init_parse.
542         (objc_init_options): Update.
543
544
545 2001-11-15  Andreas Jaeger  <aj@suse.de>
546
547         * cfgrtl.c (purge_all_dead_edges): Use int as argument for
548         portability.
549         * basic-block.h: Adjust prototype.
550
551 2001-11-15  Kazu Hirata  <kazu@hxi.com>
552
553         * config/rs6000/aix31.h: Fix comment formatting.
554         * config/rs6000/beos.h: Likewise.
555         * config/rs6000/darwin.h: Likewise.
556         * config/rs6000/eabi.asm: Likewise.
557         * config/rs6000/linux.h: Likewise.
558         * config/rs6000/linux64.h: Likewise.
559         * config/rs6000/lynx.h: Likewise.
560         * config/rs6000/netbsd.h: Likewise.
561         * config/rs6000/rs6000.c: Likewise.
562         * config/rs6000/rs6000.h: Likewise.
563         * config/rs6000/rs6000.md: Likewise.
564         * config/rs6000/sol2.h: Likewise.
565         * config/rs6000/tramp.asm: Likewise.
566         * config/rs6000/xcoff.h: Likewise.
567         * config/rs6000/xm-beos.h: Likewise.
568
569 2001-11-14  Alan Matsuoka  <alanm@redhat.com>
570
571         * rtl.def (INCLUDE) : Define.
572         * gensupport.c  (init_include_reader, process_include,
573         save_string) :  New functions to implement an include facility
574         in .md files.
575         * gensupport.h : Add prototype for init_md_reader_args.
576         * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
577         genextract.c genflags.c genopinit.c genoutput.c
578         genpeep.c genrecog.c: Change call to init_md_reader to
579         init_md_reader_args.
580         * md.texi: Document (include "path") and -I directives for RTL
581         generation tools.
582
583 2001-11-14  DJ Delorie  <dj@redhat.com>
584
585         * integrate.c (get_hard_reg_initial_reg): New.
586         * integrate.h (get_hard_reg_initial_reg): Prototype.
587         * local-alloc.c (block_alloc): Don't tie pseudos that
588         represent call-saved hard regs' initial values.
589
590 2001-11-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
591
592         * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
593         recursion.
594
595 2001-11-14  Roger Sayle <roger@eyesopen.com>
596
597         * fold-const.c (fold): Optimize strlen comparisons against zero.
598
599 2001-11-14  David O'Brien  <obrien@FreeBSD.org>
600
601         * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
602         sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
603         sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
604         sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
605         sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
606         sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
607         sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
608         Include various CPU headers via tm_file.  a.out based platforms now
609         properly include sparc/aout.h.  sol2.h usage now implies including
610         elfos.h, svr4.h, and sparc/sysv4.h.
611         * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
612         Also define to '1'.
613         * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
614         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
615         DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
616         Remove.  They are a.out specific and belong in sparc/aout.h.
617         * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
618         ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
619         DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define.  Moved here from
620         sparc/sparc.h.
621         * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
622         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
623         Moved here from sparc/sparc.h.
624         * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
625         defining.
626         * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
627         * config/sparc/lynx.h:  Don't include lynx.h.
628         (SELECT_SECTION): Do not undef.
629         * config/sparc/openbsd.h: Don't include sparc/sparc.h.
630         * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
631         and sparc/sysv4.h.
632         * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
633         * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define.  Get from
634         sparc/aout.h now.
635         * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
636         Don't undef, there is no need.
637         * config/sparc/splet.h (CPP_PREDEFINES): Define.
638         * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
639         * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
640         Don't include sparc/sparc.h.
641         * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
642         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
643         DATA_SECTION_ASM_OP): Don't undef, there is no need now.  Don't include
644         elfos.h and svr4.h.
645         (TARGET_VERSION): Define.
646         * config/sparc/vxsim.h (TARGET_VERSION): Define.
647
648 Wed Nov 14 19:46:08 CET 2001  Jan Hubicka  <jh@suse.cz>
649
650         * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
651         (cfg_layout_finalize): Use it.
652         * bb-reorder.c (HAVE_epilogue): Remove.
653         (make_reorder_chain): Do not care special placement of
654         last basic block.
655
656         * predict.c (expected_value_to_br_prob): Delete the note
657         once transformed.
658
659         * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
660         measure integration time separately.
661
662 Wed Nov 14 12:30:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
663
664         * function.c (struct temp_slot): ALIGN now unsigned.
665
666 2001-11-14  Kazu Hirata  <kazu@hxi.com>
667
668         * config/dsp16xx/dsp16xx.c: Fix comment formatting.
669         * config/dsp16xx/dsp16xx.h: Likewise.
670         * config/dsp16xx/dsp16xx.md: Likewise.
671
672 2001-11-14  Kazu Hirata  <kazu@hxi.com>
673
674         * config/h8300/h8300.c (get_shift_alg): Reorganize the code
675         that deals with 7-bit shifts in HImode.
676
677 Wed Nov 14 14:17:05 CET 2001  Jan Hubicka  <jh@suse.cz>
678
679         * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
680         * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
681         (final_scan_insn): Update call of alter_subreg.
682         (cleanup_subreg_operands): Likewise.
683         (alter_subreg): Rewrite using simplify_subreg.
684         (output_address, output_operand): Update call of alter_subreg.
685         * output.h (alter_subreg): Update prototype.
686         * sdbout.c (sdbout_symbol): Update call of alter_subreg.
687         * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
688         * Makefile.in (final.o): Add depdendancy on expr.h
689
690 Wed Nov 14 06:37:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
691
692         * c-lang.c (finish_file): Make I unsigned to eliminate warning.
693
694 2001-11-13  Jeff Sturm  <jsturm@one-point.com>
695
696         * doc/install.texi (sparc-*-linux*): Mention requirements for
697         binutils and glibc.
698
699 2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
700
701         * Makefile.in (POD2MAN): Don't include --section=1.
702         (manext): Rename to man1ext.  All users changed.
703         (man7ext): New.
704         (man7dir): New.
705         (generated-manpages): Also depend on $(docdir)/gfdl.7,
706         $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
707         ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
708         --section=1 in calls to $(POD2MAN).
709         ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
710         (maintainer-clean, install, uninstall): Handle the new man pages.
711         ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
712         (installdirs): Create man7dir.
713         * doc/cpp.texi: Include GFDL in this manual.  In the man page,
714         refer to gfdl(7) for the GFDL.  Apply Front Cover and Back Cover
715         texts to man page.  Include gpl(7), gfdl(7) and fsf-funding(7) in
716         the SEE ALSO man page section.
717         * doc/gcov.texi: Apply GFDL to man page.  Include gpl(7), gfdl(7)
718         and fsf-funding(7) in the SEE ALSO man page section.
719         * doc/invoke.texi: Apply GFDL to man page.  Include gpl(7),
720         gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
721         * doc/include/fdl.texi, doc/include/funding.texi,
722         doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
723         * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
724
725 2001-11-13  Richard Henderson  <rth@redhat.com>
726
727         * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
728         as appropriate for the artificial decl.
729
730 2001-11-13  Richard Henderson  <rth@redhat.com>
731
732         * loop.c (combine_movables): Turn off combination until
733         move_movables validation bugs are fixed.
734
735 2001-11-13  DJ Delorie  <dj@redhat.com>
736
737         * config.gcc (powerpc|rs6000): Set default cpp options based
738         on --with-cpu settings.
739         * config/rs6000/softfloat.h: New.
740
741 2001-11-13  Kazu Hirata  <kazu@hxi.com>
742
743         * config/h8300/h8300.c (shift_alg_si): Use special code for
744         25-bit shifts on H8/S.
745         (get_shift_alg): Generate special code for 25-bit shifts on
746         H8/S.
747
748 2001-11-13  Jakub Jelinek  <jakub@redhat.com>
749
750         * emit-rtl.c (adjust_address_1): Add ADJUST argument.
751         (adjust_automodify_address_1): New.
752         * expr.h (adjust_address, adjust_address_nv): Adjust.
753         (adjust_automodify_address, adjust_automodify_address_nv): Define.
754         (adjust_address_1): Update prototype.
755         (adjust_automodify_address_1): Add prototype.
756         * expr.c (move_by_pieces_1): Use adjust_automodify_address.
757         (store_by_pieces_2): Likewise.
758
759 Tue Nov 13 05:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
760
761         * Makefile.in (explow.o): Now depends on ggc.h.
762         * explow.c (ggc.h): Include.
763         (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
764
765         * Makefile.in (expr.o): Depends on insn-attr.h.
766         * expr.c (insn-attr.h): New include.
767         (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
768         of MEM.
769         (highest_pow2_factor, case INTEGER_CST): Handle negative values.
770         (expand_expr): Remove unneeded mark_temp_addr_taken calls and
771         clean up related usage in ADDR_EXPR.
772         (expand_expr_unaligned): Likewise.
773
774         * emit-rtl.c (change_address): Fix typo in alias setting.
775
776 2001-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
777
778         * Makefile.in (cfgcleanup.o): Depend on insn-config.h
779
780 2001-11-12  Craig Rodrigues  <rodrigc@gcc.gnu.org>
781
782         PR bootstrap/3451
783         * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
784         GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
785
786 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
787
788         * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
789         sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
790         sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
791         sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
792         sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
793         sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
794         sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
795         sparc64-*-linux*):  Include various CPU headers via tm_file.
796         * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
797         (SELECT_SECTION): Likewise.
798         (SELECT_RTX_SECTION): Likewise.
799         * config/sparc/sparc_bi.h: New file.
800         * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
801         * config/sparc/linux-aout.h: Likewise.
802         * config/sparc/linux.h: Don't include sparc/sysv4.h.
803         * config/sparc/linux64.h: Likewise.
804         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
805         * config/sparc/lite.h:  Don't include sparc/sparc.h and gofast.h.
806         * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
807         and dbxcoff.h
808         (ASM_OUTPUT_IDENT): Do not #undef.
809         (SELECT_SECTION): Likewise.
810         (SELECT_RTX_SECTION): Likewise.
811         * config/sparc/liteelf.h: Don't include gofast.h.
812         * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
813         * config/sparc/lynx.h: Don't include sparc/sparc.h.
814         * config/sparc/pbd.h: Likewise.
815         * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
816         * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
817         * config/sparc/rtemself.h: Don't include rtems.h.
818         * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
819         * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
820         sparc_bi.h instead.
821         * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
822         * config/sparc/sol2.h: Include sparc/sparc.h directly.
823         * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
824         * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
825         * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
826         * config/sparc/sp86x-elf.h: Don't include gofast.h.
827         * config/sparc/splet.h: Don't include sparc/aout.h.
828         * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
829         * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
830         * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
831         * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
832         * config/sparc/vxsparc64.h: Don't include gofast.h.
833         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
834
835 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
836
837         * doc/standards.texi: Mention C99 TC1.
838
839 2001-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
840
841         * mips-protos.h (mips_output_conditional_branch): Const-ify.
842         * mips.c (mips_output_conditional_branch): Likewise.
843
844 2001-11-12  Kazu Hirata  <kazu@hxi.com>
845
846         * config/h8300/h8300.c (shift_alg_si): Use special code for
847         15-bit logical shifts and 31-bit logical shifts.
848         (get_shift_alg): Generate special code for 15-bit and 31-bit
849         logical shifts.
850
851 2001-11-12  Kazu Hirata  <kazu@hxi.com>
852
853         * config/h8300/h8300.c (shift_alg_qi): Use rotations when
854         doing 6-bit logical shifts on H8/S.
855         (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
856         (get_shift_alg): Generate special code for 21-bit shifts on
857         H8/S.
858
859 2001-11-12  Kazu Hirata  <kazu@hxi.com>
860
861         * config/h8300/h8300.c (get_shift_alg): Remove a redundant
862         label.
863
864 Mon Nov 12 11:58:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
865
866         * alias.c (nonoverlapping_memrefs_p): Only update size from memref
867         if both size and offset known.
868
869 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
870
871         * config/ia64/freebsd.h: Fix misspelling.
872
873 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
874
875         * doc/gcc.texi: Move several chapters out to ...
876         * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
877         doc/include/linux-and-gnu.texi, doc/interface.texi,
878         doc/makefile.texi, doc/passes.texi, doc/portability.texi:
879         ... here.  New files.
880         * doc/gcc.texi, doc/contrib.texi: Move section headings into
881         contrib.texi.
882         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
883
884 2001-11-12  Kazu Hirata  <kazu@hxi.com>
885
886         * config/alpha/alpha-interix.h: Fix comment formatting.
887         * config/alpha/alpha.c: Likewise.
888         * config/alpha/alpha.h: Likewise.
889         * config/alpha/alpha32.h: Likewise.
890         * config/alpha/freebsd.h: Likewise.
891         * config/alpha/unicosmk.h: Likewise.
892         * config/alpha/vms.h: Likewise.
893
894 2001-11-12  Kazu Hirata  <kazu@hxi.com>
895
896         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
897
898 2001-11-12  Jakub Jelinek  <jakub@redhat.com>
899
900         * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
901         numbers.
902
903 Mon Nov 12 05:18:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
904
905         * emit-rtl.c (set_mem_attributes): If making object, can set alignment
906         from type.
907         (replace_equiv_address): Call update_temp_slot_address.
908
909         * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
910
911         * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
912
913 2001-11-12  Kazu Hirata  <kazu@hxi.com>
914
915         * config/h8300/h8300.c (shift_alg_qi): New.
916         (shift_alg_hi): Likewise.
917         (shift_alg_si): Likewise.
918         (get_shift_alg): Change the type of count to unsigned int.
919         Use the tables.
920
921 2001-11-11  Alexandre Oliva  <aoliva@redhat.com>
922
923         * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
924         * c-decl.c (c_expand_body): Take argument can_defer_p.  Use it
925         to decide whether to defer a function.
926         (finish_function): Adjust.
927         (c_expand_deferred_function): New function.
928         * c-lang.c (deferred_fns): New variable.
929         (c_init): Initialize it, and mark it as a root.
930         (defer_fn): New function.
931         (finish_file): Expand all deferred functions.
932         * c-tree.h (defer_fn): Declare.
933         (c_expand_deferred_function): Likewise.
934         * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
935         * objc-act.c (deferred_fns): New variable.
936         (objc_init): Initialize it, and mark it as a root.
937         (defer_fn): New function.
938         (finish_file): Expand all deferred functions.
939
940 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
941
942         * alpha.c (unicosmk_special_name): Prototype.
943         (unicosmk_ssib_name): Delete unused variable.
944         * alpha/unicosmk.h (common_section, ssib_section): Prototype.
945         * alpha/vms.h (PREFIX): Undef before defining.
946         * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
947         * i370/i370.c (mvs_hash_alias): Prototype.  Wrap with macro
948         controlling usage.  Const-ify.
949         (alias_number): Delete unused variable.
950         * m32r/m32r.c (m32r_sched_init): Add missing argument.
951         (m32r_expand_block_move): Fix uninitialized warnings.
952         * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
953         always true' warnings.
954         * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
955         * sh/sh.c: Include "integrate.h".
956         (output_far_jump): Fix uninitialized warning.
957         * final.c (shorten_branches): Avoid automatic aggregate
958         initialization.
959         * integrate.c (subst_constants): Likewise.
960
961 2001-11-11  Kazu Hirata  <kazu@hxi.com>
962
963         * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
964         (get_shift_alg): Remove redundant code.
965
966 2001-11-11  Kazu Hirata  <kazu@hxi.com>
967
968         * config/pa/milli64.S: Fix comment formatting.
969         * config/pa/pa-64.h: Likewise.
970         * config/pa/pa-linux.h: Likewise.
971         * config/pa/pa-protos.h: Likewise.
972         * config/pa/pa.c: Likewise.
973         * config/pa/pa.h: Likewise.
974         * config/pa/pa32-linux.h: Likewise.
975         * config/pa/pa32-regs.h: Likewise.
976         * config/pa/pa64-hpux.h: Likewise.
977         * config/pa/pa64-regs.h: Likewise.
978         * config/pa/som.h: Likewise.
979
980 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
981
982         * doc/gcc.texi: Move several chapters out to ...
983         * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
984         doc/service.texi, doc/standards.texi, doc/trouble.texi,
985         doc/vms.texi: ... here.  New files.
986         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
987
988 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
989
990         * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
991         cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
992         collect2.c, combine.c, config.in, configure, configure.in,
993         conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
994         genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
995         reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
996         spelling errors.
997
998 Sun Nov 11 05:56:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
999
1000         * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
1001         Adjust operand number in CONST_DOUBLE.
1002
1003         * expmed.c (extract_bit_field): No longer pass in alignment.
1004         (extract_fixed_bit_field, extract_split_bit_field): Likewise.
1005         (store_bit_field, store_fixed_bit_field, store_split_bit_field):
1006         Likewise.
1007         * expr.c (store_constructor, store_constructor_field): Likewise.
1008         (store_field, emit_group_load, emit_group_store): Likewise.
1009         * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
1010         (store_bit_field, extract_bit_field): Likewise.
1011         * calls.c, expr.c, function.c: Change calls to above functions.
1012         * ifcvt.c, stmt.c: Likewise.
1013
1014         * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
1015         constant and one is on frame.
1016         If know memref offset, adjust size from decl.
1017
1018 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1019
1020         * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
1021         format specifier warning.
1022         * convex.h (ASM_OUTPUT_BYTE): Likewise.
1023         * elfos.h (ALIGN_ASM_OP): Undef before defining.
1024         * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
1025         warning.
1026         * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1027         * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1028         * i386-interix.h (gen_stdcall_suffix): Prototype.
1029         * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
1030         * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
1031         ASM_OUTPUT_LONG_DOUBLE): Likewise.
1032         * i386/interix.c (gen_stdcall_suffix): Const-ify.
1033         * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
1034         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
1035         specifier warnings.
1036         * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1037         * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
1038         ASM_OUTPUT_LONG_DOUBLE): Likewise.
1039         * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1040         * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1041         * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1042         * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1043         * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
1044         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
1045         * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1046         * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
1047         Likewise.
1048         * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
1049         Likewise.
1050         * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
1051         * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
1052         ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
1053         Likewise.
1054         * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
1055         Likewise.
1056         * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
1057         Likewise.
1058         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
1059         * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
1060         * m68k/news.h (PRINT_OPERAND): Likewise.
1061         * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
1062         ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
1063         * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1064         * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
1065         definition.
1066         * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
1067         ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
1068         ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
1069         * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1070         * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
1071         ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
1072         PRINT_OPERAND): Likewise.
1073         * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
1074         Likewise.
1075         * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
1076         * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
1077         * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
1078         * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
1079         * mips.c (mips_output_external_libcall): Mark parameter with
1080         ATTRIBUTE_UNUSED.
1081         (mips_asm_file_start): Move variable into the scope where it's
1082         used.
1083         * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
1084         * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
1085         * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
1086         * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1087         * ns32k.c (print_operand): Likewise.
1088         * pa.c (print_operand, output_div_insn): Likewise.
1089         * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
1090         ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
1091         * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
1092         * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
1093         specifier warnings.
1094         * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1095         * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1096         (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
1097         * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
1098         specifier warnings.
1099         * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1100
1101         * sdbout.c (sdbout_end_epilogue): Mark parameter with
1102         ATTRIBUTE_UNUSED.
1103         * varasm.c (assemble_global): Likewise.
1104
1105 2001-11-11  H.J. Lu <hjl@gnu.org>
1106
1107         * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
1108
1109 Sun Nov 11 01:26:00 CET 2001  Jan Hubicka  <jh@suse.cz>
1110
1111         * final.c (*_MAX_SKIP): Use *_max_skip variables.
1112         * flags.h (align_loops_max_skip, align_jumps_max_skip,
1113         align_labels_max_skip): New global variables.
1114         * toplev.c (align_loops_max_skip, align_jumps_max_skip,
1115         align_labels_max_skip): New global variables.
1116         (toplev_main): Set new variables.
1117         * i386.c (override_options): Set max_skip values.
1118
1119 2001-11-10  Geoffrey Keating  <geoffk@redhat.com>
1120
1121         * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
1122         * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
1123         * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
1124         don't print an @fptr for labels either.
1125         (xstormy16_output_addr_vec): Don't print @fptr here.
1126         * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
1127
1128 Sat Nov 10 08:50:50 2001  Jeffrey A Law  (law@cygnus.com)
1129
1130         * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
1131         an ANSI/ISO definitino.
1132         (ssa_const_prop): Likewise.
1133
1134 2001-11-10  Aldy Hernandez  <aldyh@redhat.com>
1135
1136         * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
1137         altivec registers.
1138
1139 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1140
1141         * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
1142         * cpplex.c (hex_digit_value): Use hex_p/hex_value.
1143         * cppmain.c (general_init): Call hex_init.
1144         * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
1145
1146         * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
1147
1148         * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
1149         of dgux.c:output_file_start().
1150
1151         * i386/dgux.c: Delete file.
1152
1153 2001-11-09  Richard Henderson  <rth@redhat.com>
1154
1155         * config/alpha/alpha.c (decl_in_text_section): New.
1156         (current_file_function_operand): Use it.
1157         (alpha_encode_section_info, alpha_end_function): Likewise.
1158
1159 2001-11-07  David O'Brien  <obrien@FreeBSD.org>
1160
1161         * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
1162         * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
1163         they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
1164         so OS specific files and use CPP_PREDEFINES for their needs.
1165         * config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
1166         target headers to tm_file.
1167         * config/ia64/aix.h (TARGET_VERSION): Likewise.
1168         * config/ia64/hpux.h (TARGET_VERSION): Likewise.
1169         * config/ia64/linux.h (TARGET_VERSION): Likewise.
1170         (FUNCTION_PROFILER): Remove.
1171         * config/ia64/ia64.h (FUNCTION_PROFILER): Update defintion using the
1172         version in config/ia64/linux.h.
1173         * config/ia64/freebsd.h: New file.
1174         * config/freebsd.h: Tidy up.
1175         (_USING_CONFIG_FREEBSD): Define.
1176         (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
1177         (FBSD_CPP_SPEC): Define generic FreeBSD spec.
1178         (FBSD_STARTFILE_SPEC): Likewise.
1179         (FBSD_ENDFILE_SPEC): Likewise.
1180         (FBSD_LIB_SPEC): Likewise.
1181         (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
1182         (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
1183         set an ELF-improper one.
1184
1185 2001-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1186
1187         * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
1188         constant can be loaded in a single instruction to a register.  When
1189         loading immediate constants, use PLUS instead of HIGH/LO_SUM.  Use
1190         depdi for insertion of most significant 32-bits on 64-bit hosts.
1191         * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
1192         with ldil/ldo/depdi instruction sequence on 64-bit hosts.
1193         * pa.md: New addmove pattern for adding constant_int to HImode
1194         register and moving result to HImode register.  Remove HImode HIGH
1195         and LO_SUM patterns.
1196
1197 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
1198
1199         * Makefile.in: Update.
1200         * c-decl.c (print_lang_decl, print_lang_type): Remove.
1201         (print_lang_identifier): Rename c_print_identifier.
1202         * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
1203         (print_lang_statistics, lang_print_xnode): Remove.
1204         * c-parse.in (set_yydebug): Rename c_set_yydebug.
1205         * c-tree.h (c_set_yydebug, c_print_identifier): New.
1206         * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
1207         LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
1208         LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
1209         LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
1210         (LANG_HOOKS_INITIALIZER): Update.
1211         * langhooks.h (struct lang_hooks): New members.
1212         (lang_print_tree_hook): New.
1213         * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
1214         * print-tree.c: Include langhooks.h.
1215         (print_node): Update.
1216         * toplev.c (decode_d_option): Update.
1217         * tree.c: Include langhooks.h.
1218         (dump_tree_statistics): Update.
1219         * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
1220         print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
1221 objc:
1222         * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
1223         LANG_HOOKS_SET_YYDEBUG): Override.
1224         (lang_print_xnode, print_lang_statistics): Remove.
1225
1226 2001-11-09  Richard Henderson  <rth@redhat.com>
1227
1228         * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
1229         on the symbol string.
1230
1231 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1232
1233         * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
1234         ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
1235         * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
1236
1237         * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
1238
1239         * tlink.c (recompile_files): Copy strings passed to `putenv'.
1240
1241 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
1242
1243         * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
1244         (TYPE_READONLY): Likewise.
1245
1246         * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
1247
1248         * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
1249         don't pass --gdwarf2 to the assembler if the compiler will also
1250         provide debug info.
1251
1252         * config/stormy16/stormy16.c (xstormy16_expand_casesi):
1253         Don't change INDEX.
1254
1255 Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1256
1257         * alias.c (nonoverlapping_memrefs_p): New function.
1258         (true_dependence, canon_true_depenence, write_dependence_p): Call it.
1259
1260         * emit-rtl.c (set_mem_attributes): Get alignments for constants.
1261
1262 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
1263
1264         * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
1265         (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
1266         generating altivec code.
1267         (FIXED_REGISTERS): VRSAVE is fixed.
1268         (CALL_USED_REGISTERS): VRSAVE is call used.
1269
1270 2001-11-09  Jason Eckhardt  <jle@rice.edu>
1271
1272         * config/mips/mips.c (mips_output_conditional_branch): Do not hard
1273         code the branch target as ".+16/.+12", but rather use labels.
1274
1275 Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
1276
1277         * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
1278         to work around limitations of certain versions of GAS.
1279
1280         * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
1281         (muldi3): Update due to SUBREG_BYTE changes.
1282         (casesi): Similarly.
1283
1284 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
1285
1286         * doc/invoke.texi: Remove comment referring to -xf77-version.
1287
1288 2001-11-09  Kazu Hirata  <kazu@hxi.com>
1289
1290         * config/convex/convex.c: Fix comment formatting.
1291         * config/convex/convex.h: Likewise.
1292
1293 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
1294
1295         * Makefile.in (.po.pox): Look both in srcdir and builddir
1296         for $(PACKAGE).pot.
1297         (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
1298         to the source directory.
1299
1300 2001-11-09 Ben Elliston  <bje@redhat.com>
1301            Michael Meissner  <meissner@redhat.com>
1302            Andrew MacLeod  <amacleod@redhat.com>
1303            Richard Henderson  <rth@redhat.com>
1304            Nick Clifton  <nickc@redhat.com>
1305            Catherine Moore  <clm@redhat.com>
1306
1307         * m32r.c: Add support for m32rx processor.
1308         * m32r.h: Ditto.
1309         * m32r.md: Ditto.
1310         * t-m32r: Ditto.
1311         * m32r-protos.h: Add prototypes for m32rx functions.
1312         * doc/invoke.texi: Document -m32rx option.
1313
1314 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
1315
1316         * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
1317         or after reload.
1318
1319 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1320
1321         * doc/install.texi2html: Use $MAKEINFO --no-split.
1322
1323 2001-11-09  Andreas Schwab  <schwab@suse.de>
1324
1325         * Makefile.in ($(HOST_PREFIX_1)rtl.o,
1326         $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
1327         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
1328         $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
1329         $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
1330
1331 2001-11-09  H.J. Lu <hjl@gnu.org>
1332
1333         * config/mips/mips.c (mips_output_function_prologues): Cast
1334         `tsize' to long for output.
1335
1336 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
1337
1338         * c-lang.c (LANG_HOOKS_NAME): New.
1339         (lang_hooks): Constify.
1340         (c_init_options): Update.
1341         (lang_identify): Remove.
1342         * c-parse.in (language_string): Remove.
1343         * dbxout.c: Include langhooks.h.
1344         (dbxout_symbol_location): Update.
1345         * dwarf2out.c: Include langhooks.h.
1346         (gen_compile_unit_die): Update.
1347         * dwarfout.c: Include langhooks.h.
1348         (prototyped_attribute, output_compile_unit_die): Update.
1349         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
1350         (LANG_HOOKS_INITIALIZER): Update.
1351         * langhooks.h (struct lang_hooks): New members.  Constify.
1352         * stringpool.c: Don't include toplev.h.
1353         (set_identifier_size): Remove.
1354         * toplev.c (toplev_main): Initialize identifier size.
1355         (print_version): Update.
1356         * tree.h (language_string, init_lex, lang_identify,
1357         set_identifier_size): Remove.
1358         * Makefile.in: Update dependencies.
1359         * config/darwin.c: Include langhooks.h.
1360         (func_name_maybe_scoped): Update.
1361         * config/darwin.h (ASM_END_FILE): Update.
1362         * config/nextstep.h (ASM_END_FILE): Update.
1363         * config/nextstep21.h (ASM_END_FILE): Update.
1364         * config/i386/sun386.h (ASM_END_FILE): Update.
1365         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
1366         (rs6000_output_function_epilogue): Update.
1367 objc:
1368         * objc-act.c (LANG_HOOKS_NAME): Override.
1369         (struct lang_hooks): Constify.
1370         (objc_init_options): Update.
1371         (lang_identify): Remove.
1372
1373 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
1374
1375         * fold-const.c (lshift_double): Honor PREC.
1376         (rshift_double): Likewise.
1377
1378 2001-11-08  Kazu Hirata  <kazu@hxi.com>
1379
1380         * config/1750a/1750a.c: Fix comment formatting.
1381         * config/1750a/1750a.h: Likewise.
1382
1383 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
1384
1385         * configure.in (--enable-languages): Be more permissive about
1386         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
1387         * configure: Regenerated.
1388
1389 2001-11-08  Richard Henderson  <rth@redhat.com>
1390
1391         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
1392
1393 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
1394
1395         * config.gcc: Rename stormy16 to xstormy16.
1396         * config/stormy16/stormy-abi: Likewise.
1397         * config/stormy16/stormy16-protos.h: Likewise.
1398         * config/stormy16/stormy16.c: Likewise.
1399         * config/stormy16/stormy16.h: Likewise.
1400         * config/stormy16/stormy16.md: Likewise.
1401
1402 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
1403
1404         * tree.h (TYPE_VOLATILE): Add enable-checking code.
1405         (TYPE_READONLY): Likewise.
1406
1407 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1408
1409         * reload1.c (reload): Don't delete equiv insn if can throw.
1410
1411         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
1412         (clear_storage): Likewise, for OBJECT.
1413
1414 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
1415
1416         * pa.c (emit_move_sequence): Fix SUBREG expression to
1417         use proper byte offset when extending a constant from
1418         SImode to DImode.
1419
1420 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
1421
1422         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
1423         which cannot throw.
1424
1425 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1426
1427         * explow.c (convert_memory_address, case SUBREG): Only return
1428         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
1429
1430 2001-11-08  Richard Henderson  <rth@redhat.com>
1431
1432         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
1433         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
1434         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
1435
1436 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
1437
1438         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
1439
1440 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
1441
1442         * dwarf2out.c (debug_str_hash): New.
1443         (struct indirect_string_node): New.
1444         (struct dw_val_struct): Change type of val_str to it.
1445         (DEBUG_STR_SECTION_FLAGS): Define.
1446         (add_AT_string): Push string into hashtable, increment reference
1447         counter.
1448         (AT_string): Return string from ht_identifier.
1449         (AT_string_form): New.
1450         (free_AT): For dw_val_class_str, just decrement reference counter.
1451         (size_of_string): Remove.
1452         (size_of_die): Use AT_string_form to decide what size the string
1453         occupies in DIE.
1454         (size_of_pubnames): Use strlen instead of size_of_string.
1455         (value_format): Use AT_string_form for dw_val_class_str.
1456         (output_die): Output DW_FORM_strp strings using
1457         dw2_asm_output_offset.
1458         (indirect_string_alloc, output_indirect_string): New.
1459         (dwarf2out_finish): Emit .debug_str strings if there are any.
1460
1461 2001-11-08  Andreas Franck  <afranck@gmx.de>
1462
1463         * configure.in: Add AC_ARG_PROGRAM to support program name
1464         transformation with --program-prefix, --program-suffix and
1465         --program-transform-name.
1466         * configure: Regenerated.
1467         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
1468         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
1469         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
1470         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
1471         program_transform_name the way suggested by autoconf.
1472         (GCC_TARGET_INSTALL_NAME): Define.
1473         (install-driver): Use the transformed target alias name.
1474
1475 2001-11-08  Richard Henderson  <rth@redhat.com>
1476
1477         * config/mips/mips.c (save_restore_insns): Remove GP from the
1478         restore registers mask early instead of special casing it inside
1479         the loop.
1480
1481 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
1482
1483         * cp/decl.c (shadow_warning): New function.
1484         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
1485         and an error when a block scope decl shadows a parameter.
1486
1487 2001-11-08  Richard Henderson  <rth@redhat.com>
1488
1489         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
1490         case as well.
1491
1492 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1493
1494         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
1495         to implement floating negation on processors prior to PA 2.0.
1496
1497 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
1498
1499         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
1500         (USE_LINKONCE_INDIRECT): Define.
1501         (dw2_output_indirect_constant_1): Try to output indirect constants
1502         into linkonce sections if possible.
1503         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
1504         (dw2_output_indirect_constants): Likewise.
1505
1506 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
1507
1508         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
1509
1510 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
1511
1512         * c-decl.c (pushdecl): Remove file and line.
1513         * c-typeck.c (pop_init_level): Remove size.
1514
1515 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
1516
1517         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
1518         for rs6000.
1519
1520         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
1521         (TARGET_ALTIVEC): New.
1522         (TARGET_SWITCHES): Add altivec.
1523         (FIRST_PSEUDO_REGISTER): Change to 109.
1524         (CALL_USED_REGISTERS): Same.
1525         (FIRST_ALTIVEC_REGNO): New.
1526         (LAST_ALTIVEC_REGNO): New.
1527         (ALTIVEC_REGNO_P): New.
1528         (UNITS_PER_ALTIVEC_WORD): New.
1529         (ALTIVEC_VECTOR_MODE): New.
1530         (FIXED_REGISTERS): Add altivec registers.
1531         (REG_ALLOC_ORDER): Same.
1532         (HARD_REGNO_NREGS): Adjust for altivec registers.
1533         (HARD_REGNO_MODE_OK): Same.
1534         (MODES_TIEABLE_P): Same.
1535         (REGISTER_MOVE_COST): Same.
1536         (REGNO_REG_CLASS): Same.
1537         (reg_class): Add ALTIVEC_REGS.
1538         (REG_CLASS_NAMES): Same.
1539         (REG_CLASS_CONTENTS): Same.
1540         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
1541         (ALTIVEC_ARG_RETURN): New.
1542         (FUNCTION_VALUE): Handle VECTOR_TYPE.
1543         (LIBCALL_VALUE): Handle altivec vector modes.
1544         (VECTOR_MODE_SUPPORTED_P): New.
1545         (ALTIVEC_ARG_MIN_REG): New.
1546         (ALTIVEC_ARG_MAX_REG): New.
1547         (ALTIVEC_ARG_NUM_REG): New.
1548         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
1549         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
1550         (REGISTER_NAMES): Add altivec regs.
1551         (DEBUG_REGISTER_NAMES): Same.
1552         (ADDITIONAL_REGISTER_NAMES): Same.
1553         (rs6000_builtins): New.
1554         (MD_EXPAND_BUILTIN): New.
1555         (MD_INIT_BUILTINS): New.
1556         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
1557         for AltiVec instructions.
1558         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
1559         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
1560         registers.
1561         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
1562         (TARGET_SWITCHES): Add no-altivec.
1563         (DATA_ALIGNMENT): Align vectors to 128 bits.
1564         (TARGET_OPTIONS): Add abi= option.
1565         Add rs6000_abi_string extern.
1566         (LOCAL_ALIGNMENT): New.
1567         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
1568         (MASK_ALTIVEC_ABI): New.
1569         (TARGET_ALTIVEC_ABI): New.
1570         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
1571         call-saved.
1572         (STACK_BOUNDARY): Adjust for altivec.
1573         (BIGGEST_ALIGNMENT): Same.
1574         (rs6000_args): Add vregno.
1575         (USE_ALTIVEC_FOR_ARG_P): New.
1576         (FIXED_REGISTERS): Add vrsave register.
1577         (CALL_USED_REGISTERS): Same.
1578         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
1579         (VRSAVE_REGNO): New.
1580         (reg_class): Add VRSAVE_REGS.
1581         (REG_CLASS_NAMES): Same.
1582         (REG_CLASS_CONTENTS): Same.
1583         (REGNO_REG_CLASS): Same.
1584
1585         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
1586         (ABI_STACK_BOUNDARY): Same.
1587         (BIGGEST_ALIGNMENT): Same.
1588         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
1589         (ROUND_TYPE_ALIGN): Same.
1590
1591         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
1592         to 64.
1593
1594         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
1595         to 64.
1596
1597         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
1598         to 64.
1599
1600         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
1601         (altivec_expand_builtin): New.
1602         (altivec_init_builtins): New.
1603         (TARGET_EXPAND_BUILTIN): New.
1604         (TARGET_INIT_BUILTINS): New.
1605         (rs6000_init_builtins): New.
1606         (struct builtin_description): New.
1607         (bdesc_2arg): New.
1608         (rs6000_reg_names): Add altivec registers.
1609         (alt_reg_names): Same.
1610         (secondary_reload_class): Altivec regs can hold altivec regs and
1611         memory.
1612         (rs6000_emit_move): Force constants into memory for AltiVec moves.
1613         (print_operand): Add 'y' case for printing altivec memory
1614         operands.
1615         (rs6000_legitimize_address): Legitimize vector addresses into
1616         [REG+REG] or [REG].
1617         (altivec_expand_binop_builtin): New.
1618         New string rs6000_current_abi.
1619         (rs6000_override_options): Call rs6000_parse_abi_options.
1620         (rs6000_parse_abi_options): New.
1621         (function_arg_boundary): Vector arguments must be 16
1622         byte aligned.
1623         (function_arg_advance): Handle vector arguments.
1624         (function_arg_partial_nregs): Same.
1625         (init_cumulative_args): Same.
1626         (function_arg): Same.
1627
1628         * config/rs6000/rs6000.md (altivec_lvx): New.
1629         (type): Add altivec attribute.
1630         (movv4si): New.
1631         (*movv4si_internal): New.
1632         (movv16qi): New.
1633         (*movv16qi_internal): New.
1634         (movv8hi): New.
1635         (*movv8hi_internal1): New.
1636         (movv4sf): New.
1637         (*movv4sf_internal1): New.
1638         (altivec_stvx): New.
1639         (vaddubm): New.
1640         (vadduhm): New.
1641         (vadduwm): New.
1642         (vaddfp): New.
1643         (vaddcuw): New.
1644         (vaddubs): New.
1645         (vaddsbs): New.
1646         (vadduhs): New.
1647         (vaddshs): New.
1648         (vadduws): New.
1649         (vaddsws): New.
1650         (vand): New.
1651         (vandc): New.
1652         (vavgub): New.
1653         (vavgsb): New.
1654         (vavguh): New.
1655         (vavgsh): New.
1656         (vavguw): New.
1657         (vavgsw): New.
1658         (vcmpbfp): New.
1659         (vcmpequb): New.
1660         (vcmpequh): New.
1661         (vcmpequw): New.
1662         (vcmpeqfp): New.
1663         (vcmpgefp): New.
1664         (vcmpgtub): New.
1665         (vcmpgtsb): New.
1666         (vcmpgtuh): New.
1667         (vcmpgtsh): New.
1668         (vcmpgtuw): New.
1669         (vcmpgtsw): New.
1670         (vcmpgtfp): New.
1671         (vcmpgefp): New.
1672         (vcmpgtub): New.
1673         (vcmpgtsb): New.
1674         (vcmpgtuh): New.
1675         (vcmpgtsh): New.
1676         (vcmpgtuw): New.
1677         (vcmpgtsw): New.
1678         (vcmpgtfp): New.
1679         (vmaxub): New.
1680         (vmaxsb): New.
1681         (vmaxuh): New.
1682         (vmaxsh): New.
1683         (vmaxuw): New.
1684         (vmaxsw): New.
1685         (vmaxfp): New.
1686         (vmrghb): New.
1687         (vmrghh): New.
1688         (vmrghw): New.
1689         (vmrglb): New.
1690         (vmrglh): New.
1691         (vmrglw): New.
1692         (vminub): New.
1693         (vminsb): New.
1694         (vminuh): New.
1695         (vminsh): New.
1696         (vminuw): New.
1697         (vminsw): New.
1698         (vminfp): New.
1699         (vmuleub): New.
1700         (vmulesb): New.
1701         (vmuleuh): New.
1702         (vmulesh): New.
1703         (vmuloub): New.
1704         (vmulosb): New.
1705         (vmulouh): New.
1706         (vmulosh): New.
1707         (vnor): New.
1708         (vor): New.
1709         (vpkuhum): New.
1710         (vpkuwum): New.
1711         (vpkpx): New.
1712         (vpkuhss): New.
1713         (vpkshss): New.
1714         (vpkuwss): New.
1715         (vpkswss): New.
1716         (vpkuhus): New.
1717         (vpkshus): New.
1718         (vpkuwus): New.
1719         (vpkswus): New.
1720         (vrlb): New.
1721         (vrlh): New.
1722         (vrlw): New.
1723         (vslb): New.
1724         (vslh): New.
1725         (vslw): New.
1726         (vsl): New.
1727         (vslo): New.
1728         (vsrb): New.
1729         (vrsh): New.
1730         (vrsw): New.
1731         (vsrab): New.
1732         (vsrah): New.
1733         (vsraw): New.
1734         (vsr): New.
1735         (vsro): New.
1736         (vsububm): New.
1737         (vsubuhm): New.
1738         (vsubuwm): New.
1739         (vsubfp): New.
1740         (vsubcuw): New.
1741         (vsububs): New.
1742         (vsubsbs): New.
1743         (vsubuhs): New.
1744         (vsubshs): New.
1745         (vsubuws): New.
1746         (vsubsws): New.
1747         (vsum4ubs): New.
1748         (vsum4sbs): New.
1749         (vsum4shs): New.
1750         (vsum2sws): New.
1751         (vsumsws): New.
1752         (vxor): New.
1753
1754 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
1755
1756         * Makefile.in (df.o): Add fibheap.h to dependencies.
1757
1758         * df.h: Add prototypes for transfer functions, iterative_dataflow
1759         functions.
1760         (enum df_flow_dir): New enum.
1761         (enum df_confluence_op): New enum.
1762         (struct df): Add inverse_rts_map.
1763
1764         * df.c: Add sbitmap.h to the list of includes.
1765         (df_rd_global_compute): Removed.
1766         (df_ru_global_compute): Removed.
1767         (df_lr_global_compute): Removed.
1768         (df_rd_transfer_function): New function.
1769         (df_ru_transfer_function): New function.
1770         (df_lr_transfer_function): New function.
1771         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
1772         Use iterative_dataflow_bitmap instead of df_*_global_compute.
1773         (iterative_dataflow_sbitmap): New function.
1774         (iterative_dataflow_bitmap): New function.
1775
1776 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1777
1778         * doc/gcc.texi: Move terminology and spelling conventions to
1779         htdocs/codingconventions.html.
1780
1781 2001-11-07  Graham Stott  <grahams@redhat.com>
1782
1783         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
1784
1785 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
1786
1787         * expmed.c (expand_mult): Force operand to register before computing
1788         cost.
1789         * i386.c (x86_decompose_lea): New global vairable.
1790         * i386.h (x86_decompose_lea): Declare.
1791         (TARGET_DECOMPOSE_LEA): New macro.
1792         (RTX_COST): Handle leas properly.
1793
1794 2001-11-06  Richard Henderson  <rth@redhat.com>
1795
1796         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
1797         defined for a CONSTRUCTOR; don't check it.
1798
1799 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
1800
1801         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
1802         test for absolute pathnames.
1803
1804 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
1805
1806         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
1807         instructions up to the target pc inclusive.
1808
1809 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
1810
1811         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
1812
1813 2001-11-06  Eric Christopher  <echristo@redhat.com>
1814
1815         * config/mips/mips.md(movdf_internal2): Add constraints for float
1816         to general register move.
1817         * config/mips/elf64.h: Add default ABI.
1818
1819 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
1820
1821         * alias.c:: Include langhooks.h.
1822         * emit-rtl.c: Similarly.
1823         * toplev.c: Similarly.
1824         * tree-inline.c: Similarly.
1825         * langhooks-def.h: New, the old langhooks.h.  Give the default
1826         hooks a common prefix.
1827         * langhooks.h: Contents extracted from toplev.h.
1828         * toplev.h: Move langhook stuff to langhooks.h.
1829         * langhooks.c: Give default hooks a common prefix.
1830
1831         * c-lang.c: Include langhooks-def.h.
1832         * objc/objc-act.c: Similarly.
1833         * Makefile.in: Update.
1834         * objc/Make-lang.in: Update.
1835
1836 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
1837
1838         * doc/install.texi: Document that configure options not listed in
1839         this file are unsupported.  Document --with-system-zlib.
1840
1841 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1842
1843         * rtl.h (mem_for_const_double): New declaration.
1844         * varasm.c (mem_for_const_double): New function.
1845         * config/convex/convex.md (movdf): Use it.
1846         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
1847         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
1848         * config/m68k/m68kv4.h: Likewise.
1849
1850         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
1851         of new GP reg classes.
1852
1853         * expr.c (store_field): When making temp object for unaligned
1854         component, set it to alias set 0.
1855
1856 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
1857
1858         * c-common.c (c_expand_expr_stmt): Apply default conversions to
1859         non-lvalue arrays if C99.
1860         * c-typeck.c (default_conversion): Split out code handling
1861         array-to-pointer and function-to-pointer conversions into a
1862         separate default_function_array_conversion function.
1863         (default_function_array_conversion): New function.  Keep track of
1864         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
1865         arrays unchanged outside C99 mode instead of giving an error for
1866         them.
1867         (build_component_ref): Use pedantic_non_lvalue when handling
1868         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
1869         (convert_arguments): Use default_function_array_conversion.
1870         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
1871         non-lvalues are OK.
1872         (unary_complex_lvalue): Likewise.
1873         (internal_build_compound_expr): Use
1874         default_function_array_conversion.  Apply default conversions to
1875         function in compound expression.
1876         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
1877         Use default_function_array_conversion.
1878         * doc/extend.texi: Update documentation of subscripting non-lvalue
1879         arrays.
1880         Fixes PR c/461.
1881
1882 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
1883
1884         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
1885         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
1886         corresponding to the complete set of .po and .gmo files in
1887         the source directory's po subdir, modified by LINGUAS.  Don't
1888         look at ALL_LINGUAS.
1889         * configure.in: Don't set ALL_LINGUAS.
1890         * configure: Regenerate.
1891
1892         * Makefile.in (.po.gmo): Don't move into source directory.
1893         (.po.pox): Clarify comments.
1894         (install-po): Look for .gmo files in both srcdir and objdir;
1895         don't fail if a file is totally missing.
1896         (distclean): rmdir ada subdirectory too.
1897
1898 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
1899
1900         * config/rs6000/rs6000.c (rs6000_select_section): Handle
1901         CONSTRUCTORs _correctly_.
1902
1903 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
1904
1905         * c-decl.c (delete_block): Remove.
1906         * c-tree.h (delete_block): Remove.
1907
1908 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
1909
1910         * cppexp.c (lex, parse_defined): Update warning about defined.
1911
1912 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
1913
1914         * config/rs6000/rs6000.c (rs6000_select_section): Handle
1915         CONSTRUCTORs too.
1916
1917 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
1918
1919         * config/arm/arm.c (arm_return_in_memory): Cope with
1920         int_size_in_bytes returning -1.
1921
1922         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
1923         DECL being NULL.
1924
1925 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
1926
1927         * Makefile.in (bb-reoder.o): Add dependency on cfglayout.h;
1928         remove unneeded dependencies;
1929         (cfglayout.o): New.
1930         * cfglayout.c, cfglayout.h: New files; break out from ...
1931         * bb-reorder.c: ... here; Remove unneeded includes;
1932
1933 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
1934
1935         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
1936
1937 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
1938
1939         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
1940         mode as well.  Do not explicitly create intermediate regs.
1941
1942 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1943
1944         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
1945         (common_section): Delete unused variable.
1946         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
1947         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
1948         * arm-protos.h (arm_poke_function_name, aof_add_import,
1949         aof_delete_import): Const-ify.
1950         * arm.c (legitimize_pic_address): Wrap variables in the macro
1951         controlling their usage.
1952         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
1953         (arm_poke_function_name, pic_chain, import, aof_add_import,
1954         aof_delete_import): Const-ify.
1955         * i386.c (ix86_osf_output_function_prologue): Const-ify.
1956         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
1957         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
1958         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
1959         * i860/sysv3.h: Add missing comment closure.
1960         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
1961         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
1962         to symbolic_operand.
1963
1964         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
1965         (i960-*-*): Set tmake_file.
1966         (sparc86x-*-elf*): Fix typo in header name.
1967
1968         * sched-rgn.c (schedule_insns): Delete unused variable.
1969
1970 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
1971
1972         PR c/2820
1973         * c-typeck.c (lookup_field): Rework to return a chain down to
1974         the looked-up field.
1975         (build_component_ref): Use the new lookup_field to handle
1976         nested anonymous entities correctly.
1977
1978 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1979
1980         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
1981         Change parameters to gen_rtx_CONST_DOUBLE.
1982         (GEN_INT64, sparc_emit_set_const64): Likewise.
1983         * config/sparc/sparc.md (movdf split): Likewise.
1984
1985 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
1986
1987         * unroll.c (calculate_giv_inc): Use find_last_value rather
1988         than just hoping the last instruction is the right SET.
1989         [Fixes 990604-1.c on stormy16.]
1990
1991         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
1992         library at all if -T is used.
1993
1994         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
1995         some uses of uninitialized variables in error cases.
1996
1997         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
1998         look at 'temp' if we won't be using it.
1999
2000         * config/stormy16/stormy16.h (CONST_COSTS): Define.
2001         (RTX_COSTS): Define.
2002         (ADDRESS_COST): Define.
2003         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
2004
2005         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
2006
2007         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
2008         stormy16_asm_output_mi_thunk.
2009         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
2010         function.
2011         * config/stormy16/stormy16-protos.h
2012         (stormy16_asm_output_mi_thunk): New prototype.
2013
2014 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2015
2016         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
2017         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
2018         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
2019         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
2020         sched-int.h, toplev.c, config/alpha/alpha.c,
2021         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
2022         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
2023         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
2024         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
2025         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
2026         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
2027         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
2028
2029 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2030
2031         * Makefile.in (dbxout.o): Depend on function.h.
2032         * collect2.c (is_in_list): Hide unused function.
2033         * dbxout.c: Include function.h.
2034         (source_label_number, dbxout_source_line, dbxout_source_file,
2035         dbxout_function_end, dbxout_begin_function): Wrap/move inside
2036         macros controlling usage.
2037         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
2038         * output.h (exports_section): Prototype.
2039
2040         * convex.c (convex_output_function_prologue): Fix format specifier
2041         warning.
2042         (asm_declare_function_name): Fix signed/unsigned warning.
2043         (print_operand): Fix format specifier warning.
2044         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
2045         * dsp16xx-protos.h (uns_comparison_operator,
2046         num_1600_core_shifts): Prototype.
2047         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
2048         (frame_size, frame_pointer_offset): Delete.
2049         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
2050         Make static.  Fix format specifier warnings.
2051         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
2052         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
2053         * dsp16xx.md: Add default case in switches.
2054         * fr30.h (IN_RANGE): Delete.
2055         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
2056         * mcore-protos.h (mcore_output_cmov): Const-ify.
2057         * mcore.c (mcore_output_cmov): Likewise.
2058         * mcore.h (switch_to_section): Make static and prototype.
2059         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
2060         unsigned>=0 warnings.
2061         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
2062         * rs6000-protos.h (read_only_data_section,
2063         read_only_private_data_section): Prototype.
2064         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
2065         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
2066         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
2067
2068 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2069
2070         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
2071         ATTRIBUTE_UNUSED.
2072         * final.c (final_scan_insn): Add brackets around body of if-stmt.
2073         * gcc.c (convert_filename): Add static prototype.  Const-ify.
2074         Wrap variable in macros controlling its use.
2075         * output.h (sdata_section): Add prototype.
2076
2077         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
2078         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
2079         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
2080         (ASM_FILE_START): Const-ify.
2081         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
2082         specifier warning.
2083         * c4x.md: Don't use the 'U' integer suffix.
2084         * clipper.md (clipper_movstr): Delete declaration.
2085         * d30v-protos.h (d30v_move_2words): Const-ify.
2086         (debug_stack_info): Add prototype.
2087         * d30v.c: Include "integrate.h".
2088         (d30v_function_arg_boundary, d30v_function_arg,
2089         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
2090         signed/unsigned warnings.
2091         (d30v_print_operand_memory_reference, d30v_move_2words):
2092         Const-ify.
2093         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
2094         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
2095         * fr30.md: Const-ify.
2096         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
2097         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
2098         (mvs_get_label_page): Hide unused static function.
2099         * i860.c (current_function_original_name): Const-ify.
2100         * i860/sysv3.h (current_function_original_name): Likewise.
2101         * i860/sysv4.h (current_function_original_name): Likewise.
2102         * i960.md: Add default case in switches.  Remove unused variable.
2103         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
2104         * m32r.md: Const-ify.
2105         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
2106         * m68hc11.c: Include "reload.h".
2107         (static_chain_reg, print_options, m68hc11_asm_file_start):
2108         Const-ify.
2109         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
2110         around & in comparison.
2111         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
2112         * mn10200.c (shift_mode): Remove trailing comma.
2113         * mn10300-protos.h (output_tst): Const-ify.
2114         * mn10300.c (output_tst): Likewise.
2115         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
2116         warnings.
2117         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
2118         * pa.c (output_ascii): Likewise.
2119         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
2120         * pdp11.md (expand_unop): Delete declarations.
2121         * pj-protos.h (pj_output_addsi3): Const-ify.
2122         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
2123         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
2124         unique_src_operand): Add prototypes.
2125         (pj_output_store_into_lval): Make definition static.
2126         (pj_function_incoming_arg): Don't use unary plus.
2127         (pj_output_addsi3): Const-ify.
2128         * romp.md (get_symref): Delete declarations.
2129         * v850-c.c (mark_current_function_as_interrupt): Don't return
2130         value from void function.
2131         * v850.c: Include "integrate.h".
2132         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
2133         * vax-protos.h (const_section): Add prototype.
2134
2135 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
2136
2137         * machmode.def: Add documentation for the seventh argument in
2138         vector modes.
2139
2140 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
2141
2142         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
2143         consistently.
2144         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
2145         <-melf>: Don't have markup for ELF acronym.
2146
2147 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
2148
2149         * config.gcc (mmix-*-*): New target.
2150         * doc/invoke.texi: Document MMIX options.
2151         * doc/contrib.texi: Add note about MMIX port to my entry.
2152         * config/mmix/t-mmix: New file.
2153         * config/mmix/mmix.h: New file.
2154         * config/mmix/mmix-protos.h: New file.
2155         * config/mmix/mmix.c: New file.
2156         * config/mmix/mmix.md: New file.
2157         * config/mmix/crti.asm: New file.
2158         * config/mmix/crtn.asm: New file.
2159
2160 2001-11-03  Kazu Hirata  <kazu@hxi.com>
2161
2162         * config/sparc/linux-aout.h: Fix comment formatting.
2163         * config/sparc/linux.h: Likewise.
2164         * config/sparc/linux64.h: Likewise.
2165         * config/sparc/lynx.h: Likewise.
2166         * config/sparc/pbd.h: Likewise.
2167         * config/sparc/sol2-sld-64.h: Likewise.
2168         * config/sparc/sol2.h: Likewise.
2169         * config/sparc/sparc.c: Likewise.
2170         * config/sparc/sparc.h: Likewise.
2171         * config/sparc/sparc.md: Likewise.
2172         * config/sparc/sunos4.h: Likewise.
2173         * config/sparc/vxsim.h: Likewise.
2174         * config/sparc/vxsparc.h: Likewise.
2175         * config/sparc/vxsparc64.h: Likewise.
2176
2177 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2178
2179         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
2180         reference to CONST_DOUBLE_MEM in comment.
2181         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
2182         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
2183         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
2184         * function.c (pop_function_context_from): Don't call
2185         restore_varasm_status.
2186         * function.h (restore_varasm_status): Delete declaration.
2187         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
2188         * rtl.c: Likewise.
2189         * rtl.def (CONST_DOUBLE): Update comment.
2190         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
2191         (CONST_DOUBLE_CHAIN): Likewise.
2192         (CONST_DOUBLE_MEM): Delete.
2193         (gen_rtx_CONST_DOUBLE): Update parameters.
2194         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
2195         Remove reference to CONST_DOUBLE_MEM.
2196         (const_alias_set): New variable.
2197         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
2198         (immed_real_const_1): Adjust tests for 0, 1, and 2.
2199         Don't set CONST_DOUBLE_MEM.
2200         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
2201         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
2202         Put constant in const_alias_set.
2203         (struct pool_constant): ALIGN now unsigned.
2204         OFFSET now HOST_WIDE_INT.
2205         Delete LABEL.
2206         (restore_varasm_status): Deleted.
2207         (mark_pool_constant): Mark desc->rtl.
2208         (force_const_mem): Rework to store rtl in hash table,
2209         not CONST_DOUBLE_MEM.
2210         Put constant in const_alias_set.
2211         (find_pool_constant): Check desc->rtl.
2212         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
2213         (init_varasm_once): Initialize const_alias_set.
2214
2215         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
2216         force_const_mem.
2217
2218         * reload.c (combine_reloads): Don't combine an output reload if there
2219         are other reloads around for part of the output.
2220
2221         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
2222         constant expression.
2223         (set_mem_decl): New function.
2224         * expr.h (set_mem_decl): New declaration.
2225         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
2226         (output_asm_operand_names): Add tab.
2227         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
2228
2229         * builtins.c (get_memory_rtx): Properly set MEM alias set and
2230         attributes.
2231
2232 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
2233
2234         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
2235         Use "invalid" instead of "illegal".  Use @r in comments in
2236         examples.
2237
2238 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
2239
2240         * c-decl.c (pushdecl): Move block inside if conditional to remove
2241         possibility of a segfault.  Lookup block-level extern
2242         variables in enclosing scopes correctly.
2243
2244         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
2245
2246 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
2247
2248         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
2249         SUBREG so we avoid SUBREGing memory.
2250
2251         * expmed.c (store_bit_field): Same.
2252
2253 2001-11-02  DJ Delorie  <dj@redhat.com>
2254
2255         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
2256         using FP registers for DImode mem-mem moves is acceptable.
2257
2258 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
2259
2260         * builtins.c (apply_args_size): Handle vector arguments.
2261         (apply_result_size): Same.
2262
2263         * machmode.def: Set WIDER mode field for all vector entries.
2264
2265 2001-11-02  Graham Stott  <grahams@redhat.com>
2266
2267         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
2268
2269 2001-11-01  Eric Christopher  <echristo@redhat.com>
2270
2271         * config.gcc: Revert part of earlier patch.
2272         * config/mips/linux.h: Ditto.
2273         * df.c: Include tm_p.h to avoid warnings.
2274         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
2275         #if/#endif.
2276         * config/mips/mips.c: Define mips_abi regardless.
2277         (mips_output_function_prologues): Add long casts for .frame
2278         output.
2279         (override_options): Allow use of ABI_32.
2280
2281 2001-11-01  Kazu Hirata  <kazu@hxi.com>
2282
2283         * config/m68hc11/m68hc11.c: Fix comment formatting.
2284         * config/m68hc11/m68hc11.h: Likewise.
2285         * config/m68hc11/m68hc11.md: Likewise.
2286
2287 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
2288
2289         * c-typeck.c (default_conversion): Retain the original expression
2290         codes.
2291         * gcc.dg/Wparentheses.c: New tests.
2292
2293 2001-11-01  David S. Miller  <davem@redhat.com>
2294
2295         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
2296         64-bit Sparc description more in line with reality.
2297
2298 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
2299
2300         * Makefile.in (GCOV_OBJS): Add version.o.
2301         * gcov.c: Include "version.h" and <getopt.h>.
2302         (gcov_version_string): Remove.
2303         (print_usage): Take a parameter to determine whether this is a
2304         call from --help or an error message.  Give fuller output that
2305         follows the GNU Coding Standards for --help.
2306         (print_version): New function.
2307         (options): New.
2308         (process_args): Use getopt_long.  Support long options.  Follow
2309         GNU Coding Standards for --help and --version.
2310         * doc/gcov.texi: Document long options.
2311         Addresses part of PR other/704.
2312
2313 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2314
2315         * pa.c (output_move_double): Fix typo in double load.
2316
2317 2001-11-01  Kazu Hirata  <kazu@hxi.com>
2318
2319         * config/h8300/h8300.c (h8300_encode_label): Compute a string
2320         before passing it to ggc_alloc_string.
2321
2322 2001-11-01  Kazu Hirata  <kazu@hxi.com>
2323
2324         * config/m68k/3b1.h: Fix comment formatting.
2325         * config/m68k/3b1g.h: Likewise.
2326         * config/m68k/a-ux.h: Likewise.
2327         * config/m68k/amix.h: Likewise.
2328         * config/m68k/apollo68.h: Likewise.
2329         * config/m68k/atari.h: Likewise.
2330         * config/m68k/aux-exit.c: Likewise.
2331         * config/m68k/ccur-GAS.h: Likewise.
2332         * config/m68k/crds.h: Likewise.
2333         * config/m68k/dpx2.h: Likewise.
2334         * config/m68k/dpx2g.h: Likewise.
2335         * config/m68k/hp310.h: Likewise.
2336         * config/m68k/hp320.h: Likewise.
2337         * config/m68k/isi.h: Likewise.
2338         * config/m68k/linux.h: Likewise.
2339         * config/m68k/lynx.h: Likewise.
2340         * config/m68k/m68k-psos.h: Likewise.
2341         * config/m68k/m68k.c: Likewise.
2342         * config/m68k/m68k.h: Likewise.
2343         * config/m68k/m68k.md: Likewise.
2344         * config/m68k/m68kelf.h: Likewise.
2345         * config/m68k/m68kv4.h: Likewise.
2346         * config/m68k/mot3300.h: Likewise.
2347         * config/m68k/news.h: Likewise.
2348         * config/m68k/next.h: Likewise.
2349         * config/m68k/pbb.h: Likewise.
2350         * config/m68k/plexus.h: Likewise.
2351         * config/m68k/sgs.h: Likewise.
2352         * config/m68k/sun3.h: Likewise.
2353         * config/m68k/tower.h: Likewise.
2354         * config/m68k/vxm68k.h: Likewise.
2355
2356 2001-10-31  DJ Delorie  <dj@redhat.com>
2357
2358         * config/mips/mips.h (mips_cache_flush_func): Prototype.
2359         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
2360         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
2361         * config/mips/mips.c (mips_cache_flush_func): New.
2362         * doc/invoke.texi: Document the new options.
2363
2364 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
2365
2366         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
2367         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
2368
2369         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
2370
2371         * config/cris/cris.c: Include output.h after tree.h but before
2372         target.h.
2373
2374 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
2375
2376         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
2377         (INTL_SUBDIRS): Just intl.
2378         (.SUFFIXES): Add .gmo .po .pox.
2379         (native): Also depend on build-@POSUB@.
2380         (intl.all, intl.install): Depend on config.h and things it includes.
2381         (po-generated): New target; depend on c-parse.c and tradcif.c.
2382         (install-normal): Also depend on install-@POSUB@.
2383         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
2384         (build-, install-, build-po, update-po, install-po,
2385         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
2386
2387         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
2388         * configure.in: Don't munge XGETTEXT.  Don't generate
2389         po/Makefile.in.
2390         * configure: Regenerate.
2391
2392         * exgettext: Delete.
2393         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
2394         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
2395
2396 2001-10-31  Kazu Hirata  <kazu@hxi.com>
2397
2398         * config/h8300/h8300.md (two anonymous patterns): New.
2399
2400 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
2401
2402         * tree.h (tree_index): Add support for V16QI and V8HI.
2403         (V8HI_type_node): New.
2404         (V16QI_type_node): New.
2405
2406         * tree.c (build_common_tree_nodes_2): Same.
2407
2408         * c-common.c (type_for_mode): Same.
2409
2410 2001-10-31  Kazu Hirata  <kazu@hxi.com>
2411
2412         * config/i386/att.h: Fix comment formatting.
2413         * config/i386/beos-elf.h: Likewise.
2414         * config/i386/bsd.h: Likewise.
2415         * config/i386/bsd386.h: Likewise.
2416         * config/i386/crtdll.h: Likewise.
2417         * config/i386/cygwin.asm: Likewise.
2418         * config/i386/cygwin.h: Likewise.
2419         * config/i386/djgpp.h: Likewise.
2420         * config/i386/freebsd-aout.h: Likewise.
2421         * config/i386/freebsd.h: Likewise.
2422         * config/i386/gas.h: Likewise.
2423         * config/i386/i386-interix.h: Likewise.
2424         * config/i386/i386-protos.h: Likewise.
2425         * config/i386/i386.c: Likewise.
2426         * config/i386/i386.h: Likewise.
2427         * config/i386/i386.md: Likewise.
2428         * config/i386/i386elf.h: Likewise.
2429         * config/i386/interix.c: Likewise.
2430         * config/i386/isc.h: Likewise.
2431         * config/i386/isccoff.h: Likewise.
2432         * config/i386/iscdbx.h: Likewise.
2433         * config/i386/linux.h: Likewise.
2434         * config/i386/lynx.h: Likewise.
2435         * config/i386/mingw32.h: Likewise.
2436         * config/i386/netbsd-elf.h: Likewise.
2437         * config/i386/next.h: Likewise.
2438         * config/i386/osf1elf.h: Likewise.
2439         * config/i386/osfrose.h: Likewise.
2440         * config/i386/sco5.h: Likewise.
2441         * config/i386/seq-gas.h: Likewise.
2442         * config/i386/seq-sysv3.h: Likewise.
2443         * config/i386/sequent.h: Likewise.
2444         * config/i386/sol2.h: Likewise.
2445         * config/i386/sun386.h: Likewise.
2446         * config/i386/uwin.asm: Likewise.
2447         * config/i386/uwin.h: Likewise.
2448         * config/i386/vxi386.h: Likewise.
2449         * config/i386/win32.h: Likewise.
2450         * config/i386/winnt.c: Likewise.
2451         * config/i386/xm-cygwin.h: Likewise.
2452         * config/i386/xm-mingw32.h: Likewise.
2453
2454 2001-10-31  Kazu Hirata  <kazu@hxi.com>
2455
2456         * builtins.def: Fix comment typos.
2457         * config/alpha.c: Likewise.
2458         * config/arm/arm.c: Likewise.
2459         * config/avr/avr.h: Likewise.
2460         * config/d30v/d30v.c: Likewise.
2461         * config/d30v/d30v.h: Likewise.
2462         * config/d30v/d30v.md: Likewise.
2463         * config/dsp16xx/dsp16xx.c: Likewise.
2464         * config/fr30/fr30.c: Likewise.
2465         * config/fr30/fr30.md: Likewise.
2466         * config/i386/i386.c: Likewise.
2467         * config/i860/i860.c: Likewise.
2468         * config/i960/i960.c: Likewise.
2469         * config/ia64/ia64.c: Likewise.
2470         * config/mips/mips.c: Likewise.
2471         * config/pa/pa.c: Likewise.
2472         * config/rs6000/rs6000.c: Likewise.
2473         * config/s390/s390.c: Likewise.
2474         * config/sparc/sparc.c: Likewise.
2475
2476 2001-10-30  Kazu Hirata  <kazu@hxi.com>
2477
2478         * config/mips/elf.h: Fix comment formatting.
2479         * config/mips/elf64.h: Likewise.
2480         * config/mips/iris5.h: Likewise.
2481         * config/mips/iris5gas.h: Likewise.
2482         * config/mips/iris6.h: Likewise.
2483         * config/mips/isa3264.h: Likewise.
2484         * config/mips/linux.h: Likewise.
2485         * config/mips/mips.c: Likewise.
2486         * config/mips/mips.h: Likewise.
2487         * config/mips/mips.md: Likewise.
2488         * config/mips/mips16.S: Likewise.
2489         * config/mips/netbsd.h: Likewise.
2490         * config/mips/osfrose.h: Likewise.
2491         * config/mips/r3900.h: Likewise.
2492         * config/mips/sni-svr4.h: Likewise.
2493         * config/mips/svr4-t.h: Likewise.
2494         * config/mips/ultrix.h: Likewise.
2495
2496 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
2497
2498         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
2499         when we update head->current.
2500
2501 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
2502
2503         * tree.c (id_string_size): Remove.
2504         (dump_tree_statistics): Update.
2505         * toplev.c (compile_file): If dumping stats, dump tree stats too.
2506
2507 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
2508
2509         * sched-rgn.c (schedule_insns): Fix comment.
2510
2511 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
2512
2513         * configure.in: Correct previous change: don't assume that
2514         gas's version number _isn't_ the last thing on the line, or
2515         isn't the only number on the line, either.
2516         * configure: Regenerate.
2517
2518 2001-10-30  Kazu Hirata  <kazu@hxi.com>
2519
2520         * cfgcleanup.c: Fix a comment typo.
2521
2522 2001-10-30  Kazu Hirata  <kazu@hxi.com>
2523
2524         * alias.c: Fix comment formatting.
2525         * recog.c: Likewise.
2526         * config/cris/cris.c: Likewise.
2527         * config/cris/cris.h: Likewise.
2528         * config/i960/i960.c: Likewise.
2529         * config/i960/i960.h: Likewise.
2530
2531 2001-10-30  Kazu Hirata  <kazu@hxi.com>
2532
2533         * config/arm/arm.c: Fix a comment typo.
2534         * config/arm/arm.h: Likewise.
2535         * config/ia64/ia64.c: Likewise.
2536
2537 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
2538
2539         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
2540         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
2541         * rtl.h (set_unique_reg_note): Change return value.
2542         * gcse.c (try_replace_reg): Use set_unique_reg_note.
2543         * cse.c (cse_insn): Likewise.
2544         * expr.c (emit_move_insn): Likewise.
2545         * explow.c (force_reg): Likewise.
2546         * local-alloc (update_equiv_regs): Likewise.
2547         * loop.c (move_moveables, load_mems): Likewise.
2548         * reload (find_reloads): Likewise.
2549
2550 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
2551
2552         Localization fixes.
2553         * c-decl.c (parmlist_tags_warning, start_struct,
2554         check_for_loop_decls): Separate messages for struct, union and
2555         enum cases to allow for languages in which they have different
2556         genders.
2557         * c-format.c (scanf_flag_specs): Separate short and long name of
2558         the assignment suppression feature.
2559         (check_format_types): Localize "pointer" and "different types"
2560         strings.
2561         * c-lex.c (lex_number): Localize "an unsigned long int" and
2562         related strings.
2563         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
2564         warning message.
2565         * c-typeck.c (build_unary_up): Separate messages for increment and
2566         decrement cases to allow for languages in which they use different
2567         articles.  Localize the strings "increment" and "decrement" in one
2568         case.
2569
2570 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
2571
2572         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
2573         when no changes has been made.
2574
2575         * gcse.c (reg_set_bitmap): Turn into reg_set.
2576         (modify_mem_list_set, canon_modify_mem_list_set)
2577         (clear_modify_mem_tables, free_modify_mem_tables): New.
2578         (gcse_main); Use free_modify_mem_tables.
2579         (free_gcse_mem): Likewise; free the bitmaps.
2580         (alloc_gcse_main): Initialize the bitmaps.
2581         (canon_list_insert): Set canon_modify_mem_list_set.
2582         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
2583         (compute_hash_table): Use clear_modify_mem_tables.
2584         (reset_opr_set_tables): Likewise.
2585         (oprs_not_set_p): reg_set_bitmap is regset.
2586         (mark_set, mark_clobber): Likewise.
2587
2588         * df.h (DF_EQUIV_NOTES): New constant.
2589         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
2590         when asked for.
2591
2592         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
2593         (init_regions, schedule_insns): Conditionalize the checking
2594         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
2595
2596 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
2597
2598         * i386.md (movti_rex64 splitter): Fix condition.
2599
2600 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
2601
2602         * configure.in: Do not assume that gas's version number is the
2603         last thing on the first line of as --version output.
2604         * configure: Regenerate.
2605
2606         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
2607         MT_WARNING, MT_ERROR, MT_FATAL.
2608         (main): Call gcc_init_libintl.
2609         (v_message): Call gettext on msgid and "warning: "
2610         * tradcif.y: Include intl.h.
2611         (yyerror): Make parameter definition consistent with
2612         prototype.  Call gettext on msgid argument.
2613
2614 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2615
2616         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
2617         warnings.
2618
2619         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
2620
2621 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2622
2623         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
2624         before referencing it.
2625
2626 2001-10-26  DJ Delorie  <dj@redhat.com>
2627
2628         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
2629         override -G, and force -G0.
2630
2631 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
2632
2633         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
2634         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
2635         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
2636         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
2637
2638         * loop.h (struct induction): Rename ext_dependant to
2639         ext_dependent.
2640         * loop.c: Change all uses.
2641         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
2642         All callers changed.
2643         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
2644
2645 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
2646
2647         * c-parse.in (expr_no_commas, primary), c-typeck.c
2648         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
2649
2650 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
2651
2652         Undo assemble_name change in earlier patch.
2653
2654 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
2655
2656         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
2657         determining the type of the receiver, do not check that TREE_CODE
2658         of receiver is CALL_EXPR before calling receiver_is_class_object().
2659         (receiver_is_class_object): For the GNU runtime: recognize
2660         the case that the receiver is self in a class method context.
2661         Check that TREE_CODE of receiver is CALL_EXPR when checking that
2662         the receiver is a call to objc_get_class.
2663
2664 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2665
2666         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
2667
2668 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2669
2670         * Makefile.in (OBJS): Put all files in alphabetical order.
2671
2672         * dwarf2out.c (add_const_value_attribute): Fix error in last
2673         change.
2674
2675 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
2676
2677         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
2678         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
2679         fix warning.
2680         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
2681         (life_analysis): call purge_all_dead_edges after deleting noops.
2682         (delete_noop_move): Do not purge CFG.
2683         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
2684
2685 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
2686
2687         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
2688         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
2689         (ASM_GLOBALIZE_LABEL): Use assemble_name.
2690         (ASM_OUTPUT_COMMON): Likewise.
2691         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
2692         (rs6000_output_function_epilogue): Likewise.
2693         (output_mi_thunk): Fix typo.
2694         (rs6000_output_symbol_ref): Use assemble_name.
2695         (output_toc): Likewise.
2696         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
2697         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
2698         assemble_name calls STRIP_NAME_ENCODING.
2699         (ASM_OUTPUT_LABEL): Use assemble_name.
2700         (ASM_GLOBALIZE_LABEL): Likewise.
2701         (ASM_DECLARE_FUNCTION_NAME): Likewise.
2702         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
2703         (ASM_OUTPUT_LOCAL): Likewise.
2704
2705 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2706
2707         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
2708         (expand_builtin_apply, expand_builtin_return): Likewise.
2709         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
2710
2711 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
2712
2713         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
2714         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
2715         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
2716         configure, configure.in, except.c, except.h, flow.c, function.c,
2717         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
2718         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
2719         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
2720         unroll.c: Fix spelling errors.
2721
2722         * doc/extend.texi, doc/invoke.texi: Fix spelling.
2723
2724         * doc/gcc.texi: Document use of "dependent" and American spelling.
2725
2726 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
2727
2728         * expr.c (emit_group_load): Support CONCATs by storing them to memory
2729         and reloading.
2730
2731 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2732
2733         * expr.c (store_constructor_field): Only call adjust_address on MEM.
2734
2735 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
2736
2737         * genrecog.c (write_switch):  Output if before switch for
2738         DT_elt_zero_wide_safe.
2739
2740 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2741
2742         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
2743         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
2744         (FUNCTION_PROFILER): Const-ify.
2745         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
2746         (eliminate_constant_term, assemble_name, output_addr_const):
2747         Remove declarations.
2748         (ptr_half_pic_address_p, half_pic_hash): Prototype.
2749         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
2750         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
2751         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
2752         (half_pic_declare, half_pic_external): Const-ify.
2753         * toplev.c: Include "halfpic.h".
2754
2755 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
2756
2757         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
2758         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
2759         config/i386/i386.c, config/i386/i386-interix.h,
2760         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
2761         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
2762         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
2763         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
2764         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
2765         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
2766         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
2767         spelling errors.
2768
2769         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
2770         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
2771         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
2772         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
2773         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
2774         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
2775         system.h, toplev.c: Fix spelling errors.
2776
2777 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2778
2779         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
2780
2781         * dwarf2out.c (reg_number): Abort if pseudo.
2782         (reg_loc_descriptor): Return 0 if pseudo.
2783         (is_based_loc): Return 0 if pseudo.
2784         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
2785         recursive calls.
2786         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
2787         (loc_descriptor): Return 0 if can't find location and handle 0
2788         return from recursive calls.
2789         (loc_descriptor_from_tree): Likewise.
2790         Fix handling of indirect.
2791         Also return 0 for PLACEHOLDER_EXPR.
2792         Clean up COMPONENT_REF cases.
2793         (add_AT_location_descriptor): Simplify, but handle 0 return from
2794         loc_descriptor.
2795         (add_const_value_attribute): Avoid shift count warning.
2796         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
2797         Set comp_unit_die as context if not in function.
2798
2799         * config/mips/mips-protos.h: Break up long lines.
2800         Remove needless #ifdef/#endif blocks.
2801         Don't declare functions declared in file made by genpreds or recog.h.
2802         * config/mips/mips.c (mips_output_function_prologue): TSIZE
2803         is now HOST_WIDE_INT; delete unneeded casts.
2804         * config/mips/mips.h: Don't use #elif.
2805
2806         * expr.c (stor_constructor_field): Always call adjust_address.
2807         Copy TARGET before changing its alias set.
2808         (store_field): Likewise, for TO_RTX.
2809         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
2810         replacement.
2811         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
2812         (find_placeholder): Return 0 if can't find object.
2813         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
2814         returns 0.
2815
2816 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
2817
2818         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
2819
2820 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
2821
2822         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
2823         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
2824         (merge_blocks): Properly udpate life after making edge nonfallthru.
2825         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
2826
2827 2001-10-26  Kazu Hirata  <kazu@hxi.com>
2828
2829         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
2830
2831 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
2832
2833         * c-typeck.c (convert_arguments): When comparing for enumeral
2834         type equality, use TYPE_MAIN_VARIANT.
2835         * gcc.dg/Wconversion.c: New tests.
2836
2837 2001-10-26  Kazu Hirata  <kazu@hxi.com>
2838
2839         * s390/s390.c: Fix comment typos.
2840         * s390/s390.h: Likewise.
2841         * s390/s390.md: Likewise.
2842
2843 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
2844
2845         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
2846         (walk_tree): Use it for tail calls where appropriate.
2847
2848 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
2849
2850         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
2851         non-local label_refs.
2852
2853 2001-10-26  Kazu Hirata  <kazu@hxi.com>
2854
2855         * config/h8300/h8300.md (4 anonymous patterns): New.
2856
2857 2001-10-26  Kazu Hirata  <kazu@hxi.com>
2858
2859         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
2860         algorithm through the shift_info structure.
2861         (emit_a_shift): Update the use of get_shift_alg.
2862
2863 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
2864
2865         * sched-rgn.c: Remove bitset typedef.
2866         Change bitset to sbitmap in prototypes / variable types.
2867         Remove bbset_size.
2868         Remove edgeset_bits.
2869         Remove edgeset_size.
2870         s/BITSET_ADD/SET_BIT/g
2871         s/BITSET_INVERT/sbitmap_ones/g
2872         s/BITSET_INTER/sbitmap_a_and_b/g
2873         s/BITSET_UNION/sbitmap_a_or_b/g
2874         s/BITSET_DIFFER/sbitmap_difference/g
2875         s/bitset_member/TEST_BIT/g
2876         (BITSET_*): Removed.
2877         (bitset_member): Removed.
2878         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
2879         EXECUTE_IF_SET_IN_SBITMAP.
2880         (split_edges): Rewrite, use sbitmap functions instead of bitset
2881         operations.
2882         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
2883
2884 2001-10-26  Andreas Schwab  <schwab@suse.de>
2885
2886         * reload1.c (emit_input_reload_insns): Fix parens in last
2887         (undocumented) change that was supposed to change only whitespace.
2888
2889 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2890
2891         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
2892
2893         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
2894         ASM_OPERANDS.
2895
2896 2001-10-26  Andreas Jaeger  <aj@suse.de>
2897
2898         * flow.c (clear_log_links): Remove unused variable.
2899         * cfgcleanup.c (cleanup_cfg): Likewise.
2900
2901 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
2902
2903         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
2904         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
2905
2906 2001-10-26  Richard Henderson  <rth@redhat.com>
2907
2908         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
2909         rename PV_REG to R27_REG.
2910         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
2911         (REG_CLASS_FROM_LETTER): Update.
2912         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
2913         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
2914         (udivsi3, modsi3, umodsi3): Likewise.
2915         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
2916
2917 2001-10-26  Richard Henderson  <rth@redhat.com>
2918
2919         * cfg.c (clear_aux_for_blocks): Split out of ...
2920         (free_aux_for_blocks): here.
2921         (clear_aux_for_edges): Split from ...
2922         (free_aux_for_edges): here.
2923         * basic-block.h: Declare them.
2924         * lcm.c (compute_antinout_edge): Use them.
2925         (compute_laterin, compute_available, compute_nearerout): Likewise.
2926         (optimize_mode_switching): Likewise.
2927
2928 2001-10-26  Richard Henderson  <rth@redhat.com>
2929
2930         * Makefile.in (unstage*): Remove as, ld, collect-ld before
2931         moving everything back to the main build directory.
2932
2933 2001-10-26  Christopher Faylor  <cgf@redhat.com>
2934
2935         * config/i386/cygwin.h: Search target specific include directory, if
2936         appropriate.
2937
2938 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2939
2940         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
2941         of macro guards. Fix #endif comment.
2942
2943         * output.h (default_exception_section, default_eh_frame_section):
2944         Move prototypes outside of macro guard.
2945
2946         * crtstuff.c: Fix #endif comment.
2947
2948 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
2949
2950         * doc/md.texi (movMM): Clarify semantics of storing into a
2951         non-paradoxical SUBREG.
2952
2953 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
2954
2955         * langhooks.c (lang_hook_default_clear_binding_stack): New.
2956         (lang_hook_default_get_alias_set): Move next to other alias
2957         hooks.
2958         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
2959         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
2960         (LANG_HOOKS_INITIALIZER): Add it.
2961         * toplev.h (struct lang_hooks): Add clear_binding_stack.
2962         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
2963         instead of a loop calling poplevel.
2964
2965 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
2966
2967         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
2968         occurrences of #elif with #if...#endif.
2969
2970 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2971
2972         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
2973
2974 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2975
2976         * alias.c (can_address_p): No longer static.
2977         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
2978         Return 0 if all parameters are default values.
2979         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
2980         (adjust_address_1): Try harder to compute a size.
2981         * expr.c (expand_assignment, store_constructor): If can't address,
2982         set MEM_KEEP_ALIAS_SET_P.
2983         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
2984         (store_field): Likewise.
2985         (store_constructor): Simplify call to store_constructor_field.
2986         * expr.h (can_address_p): New declaration.
2987         * gensupport.c (gen_rtx_CONST_INT): New function.
2988         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
2989         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
2990         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
2991
2992         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
2993
2994 2001-10-24  Christopher Faylor  <cgf@redhat.com>
2995
2996         * config/i386/cygwin.h: Use proper path for mingw crt files when
2997         -mno-cygwin.
2998
2999 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3000
3001         * dwarf2out.c (file_info_cmp): Always return consistent results.
3002
3003 2001-10-24  Roger Sayle <roger@eyesopen.com>
3004
3005         * stmt.c (expand_end_case): Index jumptables from zero for
3006         suitably small values of minval.
3007
3008 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
3009
3010         * stor-layout.c (place_union_field): If any field was aligned with
3011         attribute aligned, set record type's TYPE_USER_ALIGN.
3012         (place_field): Likewise.
3013         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
3014         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
3015
3016 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
3017
3018         * c-common.h (struct c_common_identifier): Remove rid_code field.
3019         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
3020
3021         * c-typeck.c (constructor_designated): New local flag.
3022         (struct constructor_stack): Add "designated" field to match.
3023         (start_init): Clear it.
3024         (really_start_incremental_init, push_init_level): Push and
3025         clear it.
3026         (pop_init_level): Pop it.
3027         (set_designator): Set it.
3028
3029         (pop_init_level): Suppress "missing initializer" warnings if
3030         constructor_designated is true.
3031         (process_init_element): Suppress warning about union
3032         initialization under traditional C, if constructor_designated
3033         is true.
3034
3035 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3036
3037         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
3038         change.
3039
3040 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
3041
3042         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
3043
3044 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
3045
3046         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
3047         the node was already a set to a constant.
3048
3049 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3050
3051         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
3052         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
3053
3054 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3055
3056         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
3057         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
3058         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
3059         * s390.c (s390_final_chunkify): Don't use string concatenation.
3060         (s390_function_prologue, s390_function_epilogue): Const-ify.
3061         * s390.h (FUNCTION_PROFILER): Remove unused variable.
3062
3063 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
3064
3065         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
3066         prototypes.
3067
3068 2001-10-23  Stan Shebs  <shebs@apple.com>
3069
3070         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
3071         -traditional-cpp in first-stage compilation.
3072
3073 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3074
3075         * gensupport.c (target_flags): Add.
3076
3077 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
3078
3079         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
3080         if needed.
3081         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
3082         * except.c (expand_builtin_frob_return_addr): Likewise.
3083         (expand_builtin_eh_return): Likewise.
3084         * stmt.c (expand_computed_goto): Likewise.
3085         * explow.c (memory_address): Likewise.
3086         (allocate_dynamic_stack_space): Clean up predicate testing.
3087         (probe_stack_range): Convert SIZE to Pmode.
3088         * calls.c (rtx_for_function_call): Only call convert_memory_address
3089         if needed.
3090         Pass function call operand as ptr_mode, not Pmode.
3091         * expr.c (expand_assignment): Clean up calls to convert_memory
3092         address by only doing so when needed and making offsets Pmode.
3093         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
3094         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
3095         is in Pmode, not ptr_mode.
3096
3097 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3098
3099         * darwin-protos.h (constructor_section, destructor_section,
3100         mod_init_section, mod_term_section): Prototype.
3101         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
3102         Const-ify.
3103         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
3104         Likewise.
3105         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
3106         objc_section_init declaration.
3107         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
3108         (objc_section_init, try_section_alias): Make static.
3109         (alias_section): Make static and hide unused function.
3110         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
3111
3112 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3113
3114         * alias.c (can_address_p): Compnonents are not addressable if
3115         the containing type has alias set 0.
3116         (get_alias_set): Rework to use STRIP_NOPS.
3117         Only call front-end routine on object, type, or object with
3118         NOPs stripped, not inner values.
3119         Use language hook to call front-end routine.
3120         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
3121         (expand_builtin_apply): Call set_mem_align on MEMs we make.
3122         Don't pass alignment to emit_block_move.
3123         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
3124         (expand_builtin_memset): Likewise, but for clear_storage.
3125         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
3126         and remove C++ specific parts.
3127         * c-common.h (c_common_get_alias_set): Add declaration.
3128         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
3129         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
3130         (save_fixed_argument_area): Call set_mem_align.
3131         Remove alignment in call to emit_block_move.
3132         (emit_library_call_value_1, store_one_arg): Likewise.
3133         (target_for_arg): Remove; disabled long ago.
3134         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
3135         once and similar cleanups.
3136         (offset_address): Use proper introductory comment.
3137         * expr.c (emit_block_move): Use alignment from that of MEM args, not
3138         from explicit operand; all callers changed.
3139         (clear_storage): Likewise.
3140         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
3141         (store_field): Remove kludge on alias set used for to_rtx.
3142         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
3143         (expand_expr_unaligned): Call set_mem_attributes instead of
3144         set_mem_alias_set.
3145         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
3146         * function.c (assign_stack_temp_for_type): Set MEM alignment.
3147         (expand_function_end): Track MEM attributes of trampolines.
3148         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
3149         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
3150         attributes from original.
3151         * langhooks.c (lang_hook_default_get_alias_set): New function.
3152         (hook_get_alias_set_0): New function.
3153         * langhooks.h (hook_get_alias_set_0): New declaration.
3154         (lang_hook_default_get_alias_set): Likewise.
3155         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
3156         * reload1.c (alter_reg): Use adjust_address_nv.
3157         * rtl.c (get_mode_alignment): Moved to here.
3158         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
3159         change default if unknown from 1 to BITS_PER_UNIT.
3160         * stor-layout.c (get_mode_alignment): Remove from here.
3161         * toplev.h (struct lang_hoks): Add get_alias_set field.
3162         * tree.h (lang_get_alias_set): Delete declaration.
3163         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
3164         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
3165         (ix86_va_arg): Likewise.
3166         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
3167         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
3168         * config/sparc/sparc.c (sparc_va_arg): Likewise.
3169         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
3170         (expand_block_move_mem): Remove dead code.
3171
3172 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
3173
3174         * c-common.c (warn_div_by_zero): New.
3175         * c-common.h (warn_div_by_zero): New.
3176         * c-decl.c (c_decode_option): Take it on the command line.
3177         * c-typeck.c (build_binary_op): Warn about division by zero.
3178         * doc/invoke.texi: Document the new command line option, fix
3179         documentation of -Wmultichar.
3180         * testsuite/gcc.dg/divbyzero.c: New tests.
3181         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
3182
3183 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
3184
3185         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
3186
3187         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
3188         to avoid update_life_info call.
3189         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
3190         * cfgcleanup.c (bb_flags): New enum.
3191         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
3192         (notice_new_block, update_forwarder_flag): New functions.
3193         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
3194         (try_forward_edges): Likewise; update flags.
3195         (merge_blocks): Likewise.
3196         (outgoing_edges_match): Likewise.
3197         (try_crossjump_to_edge): Likewise.
3198         (try_optimize_cfg): Likewise; initialize and clear the flags;
3199         recompute life info if needed.
3200         (cleanup_cfg): No need to clear aux pointers.
3201
3202 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
3203
3204         * config/i386/i386.c (override_options): Default to minimum
3205         stack alignment when optimizing for code size.
3206         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
3207         change.
3208
3209         * config/i386/i386.c (override_options): Set upper limit of
3210         -mpreferred-stack-boundary to 12.
3211
3212 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
3213
3214         * recog.c (peephole2_optimize): Add default case to switch.
3215
3216 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
3217
3218         * doc/gcc.texi (Sending Patches): Remove.
3219
3220 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
3221
3222         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
3223         fields when comparing.
3224
3225 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3226
3227         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
3228         * arm.c (HOST_INT, HOST_UINT): Likewise.
3229
3230 2001-10-22  Stan Shebs  <shebs@apple.com>
3231
3232         * config/darwin-protos.h (darwin_exception_section): Declare.
3233         (darwin_eh_frame_section): Declare.
3234
3235 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
3236
3237         * i386.md (movti_rex64): Fix mode.
3238
3239 2001-10-22  Stan Shebs  <shebs@apple.com>
3240
3241         * target.h (struct gcc_target): Add asm_out.exception_section,
3242         asm_out.eh_frame_section.
3243         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
3244         (TARGET_ASM_EH_FRAME_SECTION): New.
3245         (TARGET_INITIALIZER): Update.
3246         * output.h (default_exception_section): Declare.
3247         (default_eh_frame_section): Declare.
3248         * dwarf2out.c: Include target.h.
3249         (output_call_frame_info): Call target hook for eh frames.
3250         (default_eh_frame_section): New function.
3251         * except.c: Include target.h.
3252         (output_function_exception_table): Call target hook for exception
3253         section.
3254         * varasm.c (default_exception_section): Rename from
3255         exception_section, remove EXCEPTION_SECTION macro.
3256
3257         * config/darwin.h (darwin_eh_frame_section): New function.
3258         (EXCEPTION_SECTION): Remove.
3259         (TARGET_ASM_EXCEPTION_SECTION): Define.
3260         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
3261         (nextstep_exception_section): New function.
3262         (nextstep_eh_frame_section): New function.
3263         (TARGET_ASM_EXCEPTION_SECTION): Define.
3264         (TARGET_ASM_EH_FRAME_SECTION): Define.
3265
3266         * config/pa/som.h (EXCEPTION_SECTION): Remove.
3267         (TARGET_ASM_EXCEPTION_SECTION): Define.
3268         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
3269         (EXCEPTION_SECTION): Remove.
3270         (TARGET_ASM_EXCEPTION_SECTION): Define.
3271         * config/stormy16/stormy16.h: Remove comments referencing
3272         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
3273
3274         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
3275         TARGET_ASM_EH_FRAME_SECTION.
3276
3277 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
3278
3279         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
3280         terms.
3281
3282         * c-format.c: Fix spelling typo in comment.
3283
3284         * sched-int.h: Fix typo in GCC preamble.
3285
3286 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3287
3288         PR debug/4252
3289         * doc/invoke.texi: Remove references to -fdump-translation-unit.
3290
3291 2001-10-22  Richard Henderson  <rth@redhat.com>
3292
3293         * config/i386/i386.c (ix86_expand_clear): New.
3294         * config/i386/i386-protos.h: Declare it.
3295         * config/i386/i386.md (setcc peep2s): Use it.
3296         (movsi_xor): Unexport.
3297
3298 2001-10-22  Richard Henderson  <rth@redhat.com>
3299
3300         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
3301         free_EXPR_LIST_list for LOG_LINKS.
3302
3303 2001-10-21  Robert Lipe  <robertlipe@usa.net>
3304
3305         * config/i386/i386.c (sco_asm_named_section): Delete.
3306         (sco_asm_out_constructor): Delete.
3307         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
3308         (ASM_OUTPUT_DOUBLE_INT): Likewise.
3309         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
3310         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
3311         (EXCEPTION_SECTION): Delete EH scn renaming hack.
3312
3313 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3314
3315         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
3316         and/or fold extra calls into fewer ones.
3317         * collect2.c (dump_file): Likewise.
3318         * cppexp.c (parse_number): Likewise.
3319         * cpplex.c (_cpp_lex_direct): Likewise.
3320         * final.c (output_asm_insn, asm_fprintf): Likewise.
3321         * fix-header.c (inf_scan_ident, main): Likewise.
3322         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
3323         Likewise.
3324         * fold-const.c (real_hex_to_f): Likewise.
3325         * gen-protos.c (parse_fn_proto): Likewise.
3326         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
3327         * genrecog.c (change_state, write_action): Likewise.
3328         * gensupport.c (shift_output_template): Likewise.
3329         * local-alloc.c (requires_inout): Likewise.
3330         * mips-tfile.c (IS_ASM_IDENT): Likewise.
3331         * protoize.c (is_id_char, main): Likewise.
3332         * real.c (asctoeg): Likewise.
3333         * recog.c (asm_operand_ok): Likewise.
3334         * reload.c (find_reloads): Likewise.
3335         * scan.c (scan_identget_token): Likewise.
3336         * sched-vis.c (print_value): Likewise.
3337         * stringpool.c (ggc_alloc_string): Likewise.
3338         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
3339         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
3340         * tradcpp.c (rescan): Likewise.
3341         * tree.c (clean_symbol_name): Likewise.
3342         * varasm.c (decode_reg_name): Likewise.
3343
3344         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
3345         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
3346         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
3347         * m88k.c (output_ascii): Likewise.
3348         * m88k.h (OVERRIDE_OPTIONS): Likewise.
3349         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
3350         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
3351         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
3352
3353 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
3354
3355         * langhooks.c (lang_hook_default_do_nothing,
3356         lang_hook_default_decode_option): New defaults.
3357         * langhooks.h: Make hooks unconditional and non-NULL.
3358         * toplev.c (compile_file, toplev_main): Update.
3359         * toplev.h: Update comments.
3360         * objc/objc-act.c (lang_hooks): Update to new paradigm.
3361
3362 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3363
3364         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
3365
3366         * system.h (IN_RANGE): New macro.
3367
3368 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
3369
3370         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
3371         INTLDEPS variable, which does not include $LIBICONV.
3372         * Makefile.in: Use INTLDEPS in LIBDEPS.
3373         * configure: Regenerate.
3374
3375 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
3376
3377         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
3378         * cpplex.c (lex_percent, lex_dot): Remove.
3379         (get_effective_char, skip_block_comment, skip_line_comment,
3380         parse_identifier_slow, parse_number, parse_string, save_comment,
3381         _cpp_lex_direct): Update to do lookback freely.
3382         (IF_NEXT_IS, BACKUP): New macros.
3383         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
3384         * cppmacro.c (paste_tokens): Update.
3385
3386 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
3387
3388         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
3389
3390 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
3391
3392         * reload1.c (reload): Check CONSTANT_P before calling
3393         LEGITIMATE_PIC_OPERAND_P.
3394         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
3395         workaround of 2001-10-13.
3396
3397 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
3398
3399         * i386.c (split_di): Handle splitting of DFmode.
3400
3401 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3402
3403         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
3404         (adjust_address_1, offset_address): Likewise.
3405
3406         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
3407         (output_asm_insn): Call it for each line output.
3408         Don't record an operand more than once.
3409
3410         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
3411         * main.c: Include config.h and system.h, but not ansidecl.h.
3412         * Makefile.in (main.o): Update accordingly.
3413
3414 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
3415
3416         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
3417
3418 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
3419
3420         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
3421         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
3422         Break out from ...
3423         (find_sub_basic_blocks): ... here;
3424         (find_many_sub_basic_blocks): New.
3425         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
3426
3427         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
3428
3429         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
3430
3431         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
3432
3433         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
3434         * flow.c (update_life_info): Measure time.
3435         * c-decl.c: Include timevar.h
3436         (c_expand_body): Measure time.
3437         * toplev.c (rest_of_compilation): Measure time of mode switching
3438         separately.
3439         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
3440
3441         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
3442         (lang_independent_options): Add asynchronous-unwind-tables
3443         (toplev_main): flag_asynchronous_unwind_tables implies
3444         flag_unwind_tables.
3445         * flags.h (flag_asynchronous_unwind_tables): Declare.
3446         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
3447         flag_asynchronous_unwind_tables.
3448         (output_call_frame_info): Likewise.
3449         * invoke.texi (-fasynchronous-unwind-tables): Document.
3450         * i386.c (optimization_options): Enable
3451         flag_asynchronous_unwind_tables.
3452
3453         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
3454         * i386.md (s* expanders): Destination is QImode.
3455
3456         * toplev.c (rest_of_compilation): Do not call clear_log_links.
3457         * rtl.h (clear_log_links): Kill.
3458         * flow.c (clear_log_links): Make static; accept blocks parameter;
3459         do no clear life info.
3460         (update_life_info): Call clear_log_links.
3461
3462         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
3463
3464 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
3465
3466         * cpplex.c (handle_newline, skip_escaped_newlines,
3467         get_effective_char, skip_block_comment, skip_line_comment,
3468         parse_identifier_slow, parse_number, parse_string,
3469         _cpp_lex_direct): Update to do more stepping back.
3470         (trigraph_ok): Similarly.  Rename trigraph_p.
3471         (SAVE_STATE, RESTORE_STATE): Remove.
3472         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
3473
3474         * cpplib.c (destringize): Rename destringize_and_run, and
3475         call run_directive directly.
3476         (_cpp_do__Pragma): Simplify.
3477
3478 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3479
3480         * pe.c (arm_pe_unique_section): Const-ify.
3481         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
3482         (switch_to_section): Add static prototype.
3483
3484         * output.h (drectve_section): Prototype.
3485
3486 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3487
3488         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
3489         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
3490         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
3491         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
3492         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
3493         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
3494         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
3495         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
3496         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
3497         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
3498         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
3499         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
3500         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
3501         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
3502         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
3503         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
3504         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
3505         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
3506         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
3507         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
3508         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
3509         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
3510         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
3511         cris-*-none, cris-*-linux*: Update ${tmfile} list.
3512         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
3513         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
3514         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
3515         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
3516         v850-*-*): Delete superflous ${cpu_type} setting.
3517         * config/linux.h: Delete svr4.h include.
3518         (SET_ASM_OP): Delete.
3519         * config/netware.h (INT_ASM_OP): Undef before define.
3520         * config/ptx4.h: Delete elfos.h include.
3521         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
3522         * config/svr4.h: Delete elfos.h include. Update commentary.
3523         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
3524         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
3525         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
3526         config/v850/v850.h: Delete svr4.h include.
3527         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
3528         config/m68k/m68kv4.h, config/m88k/sysv4.h,
3529         config/sparc/sysv4.h: Update includes.
3530         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
3531         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
3532         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
3533         config/m88k/dguxbcs.h: Delete includes.
3534         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
3535         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
3536         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
3537         it.
3538         * config/m88k/dgux.h: Delete include.
3539         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
3540         defining it.
3541         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
3542         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
3543         * config/sh/elf.h: Update include.
3544         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
3545         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
3546
3547 2001-10-19  Catherine Moore  <clm@redhat.com>
3548
3549         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
3550         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
3551         base and count fields.
3552         (stormy16_expand_builtin_va_start):  last_reg_count changed to
3553         size_of_reg_args.  Use count + size in first comparison.
3554
3555 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3556
3557         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
3558         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
3559         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
3560         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
3561         Set alignment from type if INDIRECT_REF.
3562         (adjust_address_1, offset_address): Simplify alignment compuitation.
3563         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
3564         here; done by set_mem_attributes.
3565
3566 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3567
3568         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
3569         * arm-protos.h (rdata_section, zero_init_section, common_section):
3570         Prototype.
3571         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
3572         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
3573         traditional mode stringification.
3574         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
3575         in macros controling its use.
3576         * rtlanal.c: Include tm_p.h.
3577         * varasm.c (asm_output_aligned_bss): Mark parameter with
3578         ATTRIBUTE_UNUSED.
3579         (assemble_constant_align, assemble_start_function, assemble_align,
3580         assemble_variable, assemble_trampoline_template,
3581         output_constant_def_contents): Wrap potentially empty if-stmt body
3582         in brackets.
3583
3584 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3585
3586         * a29k-protos.h (literal_section): Prototype.
3587         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
3588         * a29k.md: Ensure function pointers are prototyped.
3589         * genattrtab.c (write_eligible_delay): Mark parameter with
3590         ATTRIBUTE_UNUSED.
3591
3592 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3593
3594         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
3595         * 1750a.c (print_operand): Fix format specifier warning.
3596         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
3597         * 1750a.md: Likewise.
3598         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
3599         * genemit.c (output_add_clobbers): Mark parameter with
3600         ATTRIBUTE_UNUSED.
3601         * genrecog.c (write_subroutine): Likewise.
3602         * integrate.c (expand_inline_function): Delete unused variable.
3603         * varasm.c (remove_from_pending_weak_list): Wrap with
3604         ASM_WEAKEN_LABEL.
3605
3606 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
3607
3608         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
3609         field is different to previous argument's neg field.
3610
3611         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
3612
3613 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3614
3615         * final.c (get_decl_from_op): New function.
3616         (output_asm_insn): Call it; write "*" when item with decl is address.
3617
3618 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
3619
3620         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
3621         about 64-bit support from the 3.0_branch version.
3622
3623 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
3624
3625         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
3626         USE_INCLUDED_LIBINTL when appropriate.
3627         * configure, config.in: Regenerate.
3628         * Makefile.in (datadir): Set to @datadir@.
3629         (intl.o): Also depend on $(CONFIG_H) and system.h.
3630
3631         * intl.c: Factor out common gettext initialization sequence.
3632         (gcc_init_libintl):  New function.
3633         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
3634         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
3635         off NLS.  Add multiple include guard.  No need to #ifdef-guard
3636         an #undef.  Prototype gcc_init_libintl here.
3637
3638         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
3639         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
3640         Use gcc_init_libintl.
3641
3642 2001-10-19  Catherine Moore  <clm@redhat.com>
3643
3644         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
3645
3646         * config/stormy16/stormy16.c (stormy16_split_move):  Make
3647         sure that REG_INC notes are present for auto_inc operands.
3648
3649 2001-10-19  Andreas Jaeger  <aj@suse.de>
3650
3651         * configure: Regenerated.
3652         * configure.in: Add x86_64 to switch statements.
3653
3654 2001-10-18  Richard Henderson  <rth@redhat.com>
3655
3656         * config/alpha/alpha.md (sibcall_osf_1): Load destination
3657         address into $27 explicitly.
3658         (sibcall_value_osf_1): Likewise.
3659
3660 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3661
3662         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
3663         (offset_address): New function.
3664         (free_emit_status): Free regno_decl.
3665         (init_emit): Pass proper number of elements to xcalloc.
3666         Allocate regno_decl.
3667         (mark_emit_status): Mark regno_decl values.
3668         * expr.c (highest_pow2_factor): New function.
3669         (expand_assigment): Use it and offset_address.
3670         Properly handle ptr_mode vs. Pmode in offset calculation.
3671         (store_constructor, expand_expr_unaligned): Likewise.
3672         (expand_expr, case COMPONENT_EXPR): Likewise.
3673         * expr.h (offset_address): New decl.
3674         * function.h (struct emit_status): Add regno_decl.
3675         (REGNO_DECL): New macro.
3676         * final.c (output_asm_name): Move in file and don't conditionalize
3677         on flag_print_asm_name.
3678         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
3679         Output names of operands, if known.
3680         * function.c (assign_parms): Set REGNO_DECL.
3681         * integrate.c (integrate_decl_tree): Likewise.
3682         * stmt.c (expand_decl): Likewise.
3683         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
3684
3685 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
3686
3687         * attribs.c (handle_noinline_attribute): New function.
3688         (handle_used_attribute): Likewise.
3689         (c_common_attribute_table): Added noinline and used.
3690         * doc/extend.texi (Function Attributes): Document them.
3691         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
3692         Warn when merging inline with attribute noinline.
3693         (start_decl, start_function): Warn if inline and attribute
3694         noinline appear in the same declaration.
3695
3696 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
3697
3698         * config.gcc: Update c4x and i370 for C front end-specific
3699         dependencies.
3700         * config/c4x/c4x-c.c: New.
3701         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
3702         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
3703         New declarations.
3704         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
3705         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
3706         Make extern.
3707         (c4x_init_pragma): Remove.
3708         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
3709         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
3710         c4x_pr_ignored): Move to c4x-c.c.
3711         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
3712         * config/c4x/t-c4x: Update.
3713         * config/i370/i370-c.c: New.
3714         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
3715         (i370_pr_map): Move to i370-c.c.
3716         * config/i370/t-i370: New.
3717
3718         * doc/tm.texi: Update.
3719
3720 2001-10-17  Stan Shebs  <shebs@apple.com>
3721
3722         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
3723         typo fixes throughout.
3724         (machopic_output_stub): Remove some dead code.
3725
3726 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
3727
3728         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
3729         leak.
3730
3731 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3732
3733         * Makefile.in (print-rtl.o): Depend on TREE_H.
3734         * alias.c (get_alias_set): Make two passes over objects to first
3735         see if inner object is access via restricted pointer.
3736         Defer allocating alias set for restricted pointer until here.
3737         Call find_placeholder with second arg nonzero.
3738         Minor cleanups.
3739         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
3740         set for restricted pointer types.
3741         * emit-rtl.c (set_mem_attributes): Set more attributes.
3742         (set_mem_align, change_address, adjust_address_1): New functions.
3743         (change_address_1): Now static.
3744         (adjust_address, adjust_address_nv): Deleted.
3745         (replace_equiv_address): Call change_address_1.
3746         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
3747         (find_placeholder): Get starting point from PLIST arg.
3748         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
3749         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
3750         (adjust_address, adjust_address_nv): New macros.
3751         * print-rtl.c (tree.h): New include.
3752         (print_rtx, case MEM): Print all memory attributes.
3753
3754 2001-10-17  Richard Henderson  <rth@redhat.com>
3755
3756         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
3757
3758 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
3759
3760         * c-tree.texi: Eliminate duplicated word.
3761         * cpp.texi: Likewise.
3762         * install.texi: Likewise.
3763         * invoke.texi: Likewise.
3764         * tm.texi: Likewise.
3765
3766 2001-10-17  Michael Collison  <collison@isisinc.net>
3767
3768         * dsp16xx.c: Fix comment formatting to match GNU standards.
3769         (dsp16xx_output_function_prologue): Change type of 'size'
3770         parameter from 'int' to HOST_WIDE_INT.
3771         (dsp16xx_output_function_epilogue): Change type of 'size'
3772         parameter from 'int' to HOST_WIDE_INT.
3773
3774 2001-10-16  Richard Henderson  <rth@redhat.com>
3775
3776         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
3777         * configure, config.in: Rebuild.
3778
3779         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
3780         (ix86_output_addr_diff_elt): New.
3781         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
3782         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
3783         (JUMP_TABLES_IN_TEXT_SECTION): New.
3784         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
3785         * config/i386/i386-protos.h: Update.
3786
3787         * config/i386/386bsd.h, config/i386/beos-elf.h,
3788         config/i386/freebsd-aout.h, config/i386/freebsd.h,
3789         config/i386/i386-interix.h, config/i386/i386elf.h,
3790         config/i386/linux.h, config/i386/netbsd-elf.h,
3791         config/i386/netbsd.h, config/i386/openbsd.h,
3792         config/i386/ptx4-i.h, config/i386/rtemself.h,
3793         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
3794         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
3795
3796 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
3797
3798         * stmt.c (expand_asm_operands): Update commentary.
3799
3800 2001-10-16  Stan Shebs  <shebs@apple.com>
3801
3802         * config/darwin.h (GCC_NAME): Remove, no longer used.
3803         (NO_MATH_LIBRARY): Ditto.
3804         (MATH_LIBRARY): Define to emptiness.
3805         (DWARF2_DEBUGGING_INFO): Define.
3806         (PREFERRED_DEBUGGING_TYPE): Define.
3807         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
3808         (EXCEPTION_SECTION): Define.
3809         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3810         * config/darwin.c (darwin_encode_section_info): Handle case of
3811         DECL_INITIAL being error_mark_node.
3812
3813 2001-10-16  Richard Henderson  <rth@redhat.com>
3814
3815         * alpha.c (current_file_function_operand): Don't fail for profiling.
3816         (direct_call_operand): New.
3817         * alpha-protos.h: Declare it.
3818         * alpha.h (EXTRA_CONSTRAINT): Use it.
3819         (PREDICATE_CODES): Add it.
3820         (ASM_OUTPUT_MI_THUNK): Remove.
3821         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
3822         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
3823
3824 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
3825
3826         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
3827         (JUMP_TABLES_IN_TEXT_SECTION): Define.
3828
3829 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
3830
3831         * cfg.c (free_edge): Break out from ....
3832         (remove_edge): ... here.
3833         (clear_edges): Use free_edge.
3834
3835         * att.h (ASM_QUAD): Add comment.
3836         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
3837
3838 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
3839
3840         * i386.c (split_ti): New function.
3841         (ix86_split_to_parts): Support TImodes.
3842         * i386.h (VALID_INT_MODE_P): Add TImode.
3843         * i386.md (movdi splitter): Fix.
3844         (movti): Support 64bit integer registers.
3845         (movti_rex64): New function and splitter.
3846
3847         * i386.c (*_cost): Add movsx/movzx cost.
3848         * i386.h (struct processor_costs): Add movsx/movzx fields.
3849         (RTX_COSTS): Handle zero/sign extend + avoid believing that
3850         64bit operations require split on 64bit machine.
3851         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
3852
3853         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
3854         (ix86_expand_move): Avoid pushes of memory if size does not match;
3855         move long constants to register.
3856         (x86_initialize_trampoline): Fix mode.
3857         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
3858         Use ASM_QUAD on 64bit.
3859         * i386.md (test pattern): Disallow impossible constants.
3860         (tablejump PIC expander): Fix emitting of sum.
3861         (movdicc_rex64): Rename to movdicc.
3862         * linux64.h (LINK_SPEC): Add missing '%'.
3863
3864 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
3865
3866         * tree-inline.c (inlinable_function_p): Leave it up to the
3867         front-end to turn -finline-functions into DECL_INLINE set for all
3868         functions.
3869
3870 2001-10-16  Stan Shebs  <shebs@apple.com>
3871
3872         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
3873
3874 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
3875
3876         * recog.c: Formatting and comment typo fixes.
3877
3878         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
3879         version in single tree build.
3880         * configure: Regenerate.
3881
3882 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
3883
3884         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
3885         MODE arguments to gen_rtx and compare operand with const0_rtx.
3886
3887 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
3888
3889         * system.h: Poison old unused target macros.
3890         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
3891         * config/stormy16/stormy16.c: Update references to obsolete macros.
3892         * config/stormy16/stormy16.h: Similarly.
3893         * config/stormy16/stormy16.md: Similarly.
3894         * config/cris/cris.h: Similarly.
3895
3896 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
3897
3898         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
3899         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
3900         cpp_register_pragma): Update accordingly.
3901
3902 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
3903
3904         * c-pragma.h (cpp_register_pragma_space): Remove.
3905         * cpplib.h (cpp_register_pragma_space): Remove.
3906         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
3907         (cpp_register_pragma_space): Remove.
3908         (cpp_register_pragma): Simplify using lookup_pragma_entry,
3909         add sanity checks.
3910         (do_pragma): Similarly.
3911         (_cpp_init_internal_pragmas): Don't register namespaces.
3912
3913         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
3914         Don't register namespaces.
3915         * cp/lex.c (init_cp_pragma): Similarly.
3916         * doc/tm.texi: Update.
3917
3918 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3919
3920         PR c/4157
3921         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
3922
3923 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
3924
3925         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
3926         add scheduling support.
3927         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
3928         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
3929         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
3930
3931
3932 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
3933
3934         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
3935         missing CONSTANT_P test in core GCC.
3936
3937 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
3938
3939         * cppmain.c (struct printer): New member source.
3940         (scan_translation_unit): Fix spacing at start of lines.
3941         (cb_line_change): Update.
3942
3943         * gcc.dg/cpp/spacing2.c: New test.
3944
3945 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
3946
3947         * config/cris/arit.c: Use __builtin_labs, not abs.
3948
3949         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
3950
3951         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
3952         misplaced sprintf and fprintf argument.
3953
3954 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
3955
3956         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
3957         * configure.in, Makefile.in: Take out obsolete check-po logic.
3958         * configure, config.in: Regenerate.
3959
3960 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
3961
3962         * objc/objc-act.c (finish_objc): Correct precondition for emitting
3963         symtab declarations.
3964
3965 2001-10-12  Stan Shebs  <shebs@apple.com>
3966
3967         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
3968         declarations of arguments and local variables.
3969
3970 2001-10-12  Christopher Faylor  <cgf@redhat.com>
3971
3972         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
3973         ENDFILE_SPEC definition.
3974
3975 2001-10-12  Kazu Hirata  <kazu@hxi.com>
3976
3977         * gthr-dce.h: Fix comment formatting.
3978         * gthr-posix.h: Likewise.
3979         * gthr-single.h: Likewise.
3980         * gthr-solaris.h: Likewise.
3981         * gthr-vxworks.h: Likewise.
3982         * gthr-win32.h: Likewise.
3983
3984 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
3985
3986         * final.c (output_asm_insn): Make sure assembly dialects are
3987         terminated, not nested.  Output `|' and `}' characters if they
3988         don't appear inside assembly dialect selection.
3989         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
3990         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
3991         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
3992         strsetsi_rex_1): Add {} braces.
3993
3994 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
3995
3996         * toplev.c (compile_file): Ignore return value from yyparse.
3997         Always pop any nested binding levels after yyparse returns.
3998
3999 2001-10-11  Richard Henderson  <rth@redhat.com>
4000
4001         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
4002
4003 2001-10-11  Richard Henderson  <rth@redhat.com>
4004
4005         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
4006         fall back to add_AT_long_long for large CONST_INT.
4007
4008 2001-10-11  Richard Henderson  <rth@redhat.com>
4009
4010         * config/i386/i386.md (setcc splitters): Add four splitters to
4011         simplify compound compares that simplify_comparison can't handle.
4012
4013 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
4014
4015         * cpplex.c (digraph_spellings, token_spellings): Make static.
4016
4017 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4018
4019         * unroll.c (loop_iterations): Fixup last patch.
4020
4021 2001-10-11  Richard Henderson  <rth@redhat.com>
4022
4023         * rtl.h (REG_VTABLE_REF): New.
4024         * rtl.c (reg_note_name): Add it.
4025         * combine.c (distribute_notes): Handle it.
4026         * final.c (final_scan_insn): Handle it.
4027         * tree.def (VTABLE_REF): New.
4028         * expr.c (expand_expr): Handle it.
4029         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
4030         * output.h: Declare them.
4031
4032 2001-10-11  Richard Henderson  <rth@redhat.com>
4033
4034         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
4035         for a DECL_INITIAL.
4036
4037 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
4038
4039         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
4040         available in 64-bit mode.
4041
4042 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
4043
4044         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
4045         cris-*-linux* cases.
4046         * config/cris/cris-protos.h: New file.
4047         * config/cris/cris.c: New file.
4048         * config/cris/cris.h: New file.
4049         * config/cris/cris.md: New file.
4050         * config/cris/linux.h: New file.
4051         * config/cris/aout.h: New file.
4052         * config/cris/arit.c: New file.
4053         * config/cris/cris_abi_symbol.c: New file.
4054         * config/cris/mulsi3.asm: New file.
4055         * config/cris/t-aout: New file.
4056         * config/cris/t-cris: New file.
4057         * config/cris/t-elfmulti: New file.
4058         * config/cris/t-linux: New file.
4059         * doc/invoke.texi: Add CRIS options.
4060         * doc/install.texi (Specific): Add blurb for CRIS.
4061
4062 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
4063
4064         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
4065         before using it.
4066         * config/float/i32.h: Likewise.
4067         * config/float-i386.h: Likewise.
4068         * config/float-i64.h: Likewise.
4069         * config/float-m68k.h: Likewise.
4070         * config/float-sh.h: Likewise.
4071         * config/float-sparc.h: Likewise.
4072
4073 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
4074
4075         * doc/contrib.texi: Add note about CRIS port to my entry.
4076
4077 2001-10-11  Kazu Hirata  <kazu@hxi.com>
4078
4079         * basic-block.h: Fix formatting.
4080         * bitmap.h: Likewise.
4081         * cpplib.h: Likewise.
4082         * c-tree.h: Likewise.
4083         * diagnostic.h: Likewise.
4084         * flags.h: Likewise.
4085         * ggc.h: Likewise.
4086         * longlong.h: Likewise.
4087         * real.h: Likewise.
4088         * reload.h: Likewise.
4089         * rtl.h: Likewise.
4090         * tree.h: Likewise.
4091
4092 2001-10-10  Richard Henderson  <rth@redhat.com>
4093
4094         * c-parse.in (asm_operand): Allow named operands.
4095         * genconfig.c (max_recog_operands): Set to 29.
4096         * local-alloc.c (requires_inout): Skip multiple digits.
4097         * recog.c (asm_operand_ok): Likewise.
4098         (preprocess_constraints): Use strtoul for matching constraints.
4099         (constrain_operands): Likewise.
4100         * regmove.c (find_matches): Likewise.
4101         * reload.c (find_reloads): Likewise.
4102         * stmt.c (parse_output_constraint): Don't reject in-out
4103         constraint on operands > 9.  Reject '[' in constraint.
4104         (expand_asm_operands): Handle named operands.  Use strtoul
4105         for matching constraints.
4106         (check_operand_nalternatives): Split out from expand_asm_operands.
4107         (check_unique_operand_names): New.
4108         (resolve_operand_names, resolve_operand_name_1): New.
4109
4110         * doc/extend.texi (Extended Asm): Document named operands.
4111         * doc/md.texi (Simple Constraints): Document matching constraints
4112         on operands > 9.
4113
4114 2001-10-10  Richard Henderson  <rth@redhat.com>
4115
4116         * combine.c (try_combine): Handle a SEQUENCE of one insn.
4117
4118         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
4119         (jcc splitters): Add two splitters to simplify compound compares
4120         that simplify_comparison can't handle.
4121
4122 2001-10-10  Richard Henderson  <rth@redhat.com>
4123
4124         * langhooks.c: Include langhooks.h.
4125         * Makefile.in (langhooks.o): Depend on it.
4126
4127 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
4128
4129         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
4130         should not be considered as a no-op.
4131         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
4132
4133 2001-10-10  Stan Shebs  <shebs@apple.com>
4134
4135         * alias.c: Remove uses of "register" specifier in declarations
4136         of arguments and local variables.
4137         * c-common.c: Ditto.
4138         * c-convert.c: Ditto.
4139         * c-decl.c: Ditto.
4140         * c-format.c: Ditto.
4141         * c-semantics.c: Ditto.
4142         * c-typeck.c: Ditto.
4143         * caller-save.c: Ditto.
4144         * calls.c: Ditto.
4145         * cfg.c: Ditto.
4146         * cfgbuild.c: Ditto.
4147         * cfgrtl.c: Ditto.
4148         * collect2.c: Ditto.
4149         * combine.c: Ditto.
4150         * convert.c: Ditto.
4151         * cppexp.c: Ditto.
4152         * cppfiles.c: Ditto.
4153         * cse.c: Ditto.
4154         * dbxout.c: Ditto.
4155         * defaults.h: Ditto.
4156         * df.c: Ditto.
4157         * dwarf2out.c: Ditto.
4158         * dwarfout.c: Ditto.
4159         * emit-rtl.c: Ditto.
4160         * explow.c: Ditto.
4161         * expmed.c: Ditto.
4162         * expr.c: Ditto.
4163         * final.c: Ditto.
4164         * fix-header.c: Ditto.
4165         * floatlib.c: Ditto.
4166         * flow.c: Ditto.
4167         * fold-const.c: Ditto.
4168         * function.c: Ditto.
4169         * gcc.c: Ditto.
4170         * gcse.c: Ditto.
4171         * gen-protos.c: Ditto.
4172         * genattrtab.c: Ditto.
4173         * gencheck.c: Ditto.
4174         * genconfig.c: Ditto.
4175         * genemit.c: Ditto.
4176         * genextract.c: Ditto.
4177         * genflags.c: Ditto.
4178         * gengenrtl.c: Ditto.
4179         * genoutput.c: Ditto.
4180         * genpeep.c: Ditto.
4181         * genrecog.c: Ditto.
4182         * gensupport.c: Ditto.
4183         * global.c: Ditto.
4184         * gmon.c: Ditto.
4185         * graph.c: Ditto.
4186         * haifa-sched.c: Ditto.
4187         * hard-reg-set.h: Ditto.
4188         * hash.c: Ditto.
4189         * integrate.c: Ditto.
4190         * jump.c: Ditto.
4191         * lists.c: Ditto.
4192         * local-alloc.c: Ditto.
4193         * loop.c: Ditto.
4194         * mips-tdump.c: Ditto.
4195         * mips-tfile.c: Ditto.
4196         * optabs.c: Ditto.
4197         * prefix.c: Ditto.
4198         * print-rtl.c: Ditto.
4199         * read-rtl.c: Ditto.
4200         * real.c: Ditto.
4201         * recog.c: Ditto.
4202         * reg-stack.c: Ditto.
4203         * regclass.c: Ditto.
4204         * regmove.c: Ditto.
4205         * reload.c: Ditto.
4206         * reload1.c: Ditto.
4207         * reorg.c: Ditto.
4208         * resource.c: Ditto.
4209         * rtl.c: Ditto.
4210         * rtlanal.c: Ditto.
4211         * scan.c: Ditto.
4212         * sched-deps.c: Ditto.
4213         * sched-rgn.c: Ditto.
4214         * sdbout.c: Ditto.
4215         * simplify-rtx.c: Ditto.
4216         * stmt.c: Ditto.
4217         * stor-layout.c: Ditto.
4218         * toplev.c: Ditto.
4219         * tradcif.y: Ditto.
4220         * tradcpp.c: Ditto.
4221         * tree.c: Ditto.
4222         * unroll.c: Ditto.
4223         * varasm.c: Ditto.
4224         * xcoffout.c: Ditto.
4225
4226 2001-10-10  Richard Henderson  <rth@redhat.com>
4227
4228         * rtl.h (can_reverse_comparison_p): Remove.
4229
4230 2001-10-10  Christopher Faylor <cgf@redhat.com>
4231
4232         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
4233         used.
4234
4235 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
4236
4237         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
4238         (Thanks to Chris Faylor for suggesting macro name).
4239         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
4240         WIN32 defines.
4241         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
4242         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
4243         (MATH_LIBRARY): Undef before definition.
4244         (OUTPUT_QUOTED_STRING): Likewise.
4245         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
4246
4247 2001-10-10  Richard Henderson  <rth@redhat.com>
4248
4249         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
4250         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
4251         a tristate comparison value.
4252         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
4253
4254 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4255
4256         PR c++/4512
4257         * unroll.c (loop_iterations): Ignore insns generated by loop
4258         unrolling.
4259
4260         * config.gcc (mips*-*-gnu*): Delete support.
4261         * config/mips/gnu.h: Remove.
4262
4263 2001-10-10  Kazu Hirata  <kazu@hxi.com>
4264
4265         * calls.c: Fix formatting.
4266         * c-decl.c: Likewise.
4267         * cfgcleanup.c: Likewise.
4268         * combine.c: Likewise.
4269         * cppfiles.c: Likewise.
4270         * cpplib.c: Likewise.
4271         * cppmacro.c: Likewise.
4272         * crtstuff.c: Likewise.
4273         * cse.c: Likewise.
4274         * dwarf2out.c: Likewise.
4275         * expmed.c: Likewise.
4276         * expr.c: Likewise.
4277         * fold-const.c: Likewise.
4278         * function.c: Likewise.
4279         * gcse.c: Likewise.
4280         * genattrtab.c: Likewise.
4281         * ggc-page.c: Likewise.
4282         * integrate.c: Likewise.
4283         * libgcc2.c: Likewise.
4284         * loop.c: Likewise.
4285         * optabs.c: Likewise.
4286         * profile.c: Likewise.
4287         * protoize.c: Likewise.
4288         * real.c: Likewise.
4289         * recog.c: Likewise.
4290         * reload1.c: Likewise.
4291         * reload.c: Likewise.
4292         * reorg.c: Likewise.
4293         * resource.c: Likewise.
4294         * sched-rgn.c: Likewise.
4295         * sdbout.c: Likewise.
4296         * stmt.c: Likewise.
4297         * toplev.c: Likewise.
4298         * varasm.c: Likewise.
4299
4300 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
4301
4302         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
4303         * Makefile.in (langhooks.o): Add dependencies.
4304
4305 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
4306
4307         * rs6000.c (rs6000_emit_load_toc_table): Don't
4308         strdup the toc label.
4309         (create_TOC_reference): Likewise.
4310
4311 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
4312
4313         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
4314         version default.
4315
4316 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
4317
4318         * config/i386/i386.c (ix86_attribute_table): Correct
4319         min_len, max_len fields for dllimport, dllexport and shared.
4320
4321 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
4322
4323         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
4324         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
4325         Consistently use "nonzero" instead of "non-zero".
4326
4327 2001-10-09  Kazu Hirata  <kazu@hxi.com>
4328
4329         * acconfig.h: Fix comment formatting.
4330         * c-dump.h: Likewise.
4331         * c-tree.h: Likewise.
4332         * conditions.h: Likewise.
4333         * expr.h: Likewise.
4334         * function.h: Likewise.
4335         * gthr.h: Likewise.
4336         * hwint.h: Likewise.
4337         * integrate.h: Likewise.
4338         * intl.h: Likewise.
4339         * loop.h: Likewise.
4340         * optabs.h: Likewise.
4341
4342 2001-10-09  Kazu Hirata  <kazu@hxi.com>
4343
4344         * c-common.h: Fix comment formatting.
4345         * c-dump.c: Likewise.
4346         * cfg.c: Likewise.
4347         * diagnostic.h: Likewise.
4348         * except.c: Likewise.
4349         * gcc.h: Likewise.
4350         * gcov-io.h: Likewise.
4351         * genattrtab.c: Likewise.
4352         * output.h: Likewise.
4353         * predict.h: Likewise.
4354         * reload1.c: Likewise.
4355         * reload.h: Likewise.
4356         * resource.h: Likewise.
4357         * scan.h: Likewise.
4358         * system.h: Likewise.
4359         * tree.h: Likewise.
4360         * tree-inline.c: Likewise.
4361         * tsystem.h: Likewise.
4362         * varasm.c: Likewise.
4363         * xcoffout.h: Likewise.
4364
4365 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
4366
4367         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
4368
4369 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
4370
4371         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
4372         config/i386/i386elf.h, config/i386/netbsd-elf.h,
4373         config/i386/netware.h, config/mcore/gfloat.h,
4374         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
4375         config/netware.h, gccbug.in: Update FSF address.
4376
4377 2001-10-09  Kazu Hirata  <kazu@hxi.com>
4378
4379         * c-common.c: Fix comment typos.
4380         * cfgrtl.c: Likewise.
4381         * collect2.c: Likewise.
4382         * cpplex.c: Likewise.
4383         * doloop.c: Likewise.
4384         * dwarf2out.c: Likewise.
4385         * dwarfout.c: Likewise.
4386         * expr.c: Likewise.
4387         * fold-const.c: Likewise.
4388         * gcc.c: Likewise.
4389         * gcov.c: Likewise.
4390         * gcse.c: Likewise.
4391         * global.c: Likewise.
4392         * ifcvt.c: Likewise.
4393         * loop.c: Likewise.
4394         * optabs.c: Likewise.
4395         * protoize.c: Likewise.
4396         * regclass.c: Likewise.
4397         * reorg.c: Likewise.
4398         * rtl.h: Likewise.
4399         * stmt.c: Likewise.
4400         * tree.h: Likewise.
4401         * doc/cpp.texi: Likewise.
4402         * doc/c-tree.texi: Likewise.
4403         * doc/extend.texi: Likewise.
4404         * doc/invoke.texi: Likewise.
4405         * doc/objc.texi: Likewise.
4406         * doc/tm.texi: Likewise.
4407
4408 2001-10-08  Richard Henderson  <rth@redhat.com>
4409
4410         * varasm.c (set_named_section_flags): Initialize "declared".
4411
4412 2001-10-08  Robert Lipe  <robertlipe@usa.net>
4413
4414         * varasm.c (struct in_named_entry): Add declared.
4415         (named_section_first_declaration): New function.
4416         (default_elf_asm_named_section): Use it.
4417         * output.h (named_section_first_declaration): New.
4418
4419 2001-10-08  Richard Henderson  <rth@redhat.com>
4420
4421         * i386.md (movsi_xor): Export.
4422         (setcc peep2): Use it when available; add an alternative to
4423         match zero_extendhisi2_and.
4424
4425 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4426
4427         * romp-protos.h (romp_initialize_trampoline): New function.
4428         * romp.c (romp_initialize_trampoline): Likewise.
4429         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
4430         romp_initialize_trampoline.
4431
4432 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4433
4434         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
4435         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
4436         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
4437         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
4438
4439 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4440
4441         * unroll.c (loop_iterations): Extend check for multiple back edges.
4442
4443 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
4444
4445         * langhooks.h: New file.
4446         * Makefile.in (OBJS): Added langhooks.o.
4447         (c-lang.o): Depend on langhooks.h.
4448         (c-common.o): Don't depend on tree-inline.h.
4449         (tree-inline.o): Depend on toplev.h.
4450         (langhooks.o): New rule.
4451         * c-common.c: Don't include tree-inline.h.
4452         (c_mark_lang_decl): Mark argument c as unused.
4453         (c_common_lang_init): Don't initialize hooks here.
4454         * c-lang.c: Include langhooks.h, then override some macros.
4455         (lang_hooks): Initialize with macros in langhooks.h.
4456         (c_init): Don't initialize hooks here.
4457         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
4458         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
4459         * tree-inline.c: Include toplev.h.  Don't define hook variables.
4460         * tree-inline.h: Don't define hook types nor declare hook
4461         variables.  Move macros to...
4462         * langhooks.c: ... new file, as functions.  Adjust all callers.
4463
4464 2001-10-08  Jeffrey A Law  <law@cygnus.com>
4465
4466         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
4467         purge_mem_unchanging_flag on all instructions, not just on those
4468         before NOTE_INSN_FUNCTION_BEG.
4469
4470 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
4471
4472         * cppmacro.c (_cpp_create_definition): Leave comments off.
4473
4474         * doc/cpp.texi: Update.
4475
4476 2001-10-08  DJ Delorie  <dj@redhat.com>
4477
4478         * c-decl.c (grokfield): Make sure the only unnamed fields
4479         we're allowing are either structs or unions.
4480         * doc/extend.texi: Add documentation for the unnamed field
4481         extension.
4482
4483 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
4484
4485         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
4486         * configure.in: Use it.
4487         * configure: Regenerated.
4488         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
4489         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
4490
4491 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
4492
4493         * cppfiles.c (open_file): Don't mark zero-length files
4494         never-reread here.  Don't output diagnostics here either.
4495         (stack_include_file): Mark them never-reread here.
4496         (_cpp_read_file): Update.
4497
4498 2001-10-08  Richard Henderson  <rth@redhat.com>
4499
4500         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
4501
4502 2001-10-08  Richard Henderson  <rth@redhat.com>
4503
4504         * expr.c (store_expr): When converting a CONST_INT for storage
4505         in a SUBREG, convert it to both SUBREG modes before stripping
4506         the SUBREG.
4507
4508 2001-10-08  Richard Henderson  <rth@redhat.com>
4509
4510         * varasm.c (restore_varasm_status): New.
4511         * function.h: Declare it.
4512         * function.c (pop_function_context_from): Call it.
4513
4514 2001-10-08  Richard Henderson  <rth@redhat.com>
4515
4516         * c-common.h (struct c_lang_decl): Add declared_inline.
4517         * c-tree.h (DECL_DECLARED_INLINE_P): New.
4518         * c-lang.c (c_disregard_inline_limits): Use it.
4519         * c-decl.c (duplicate_decls): Likewise.
4520         (pushdecl, redeclaration_error_message): Likewise.
4521         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
4522         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
4523         Set DECL_INLINE if -finline-functions.
4524         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
4525
4526 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
4527
4528         * cppmacro.c (funlike_invocation_p): Move some logic to caller
4529         in enter_macro_context.  Create a padding token in its own context
4530         if necessary when the search for '(' fails.
4531         (enter_macro_context): Update.
4532
4533 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
4534
4535         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
4536         genmultilib, toplev.c: Fix spelling errors of "separate" as
4537         "seperate", and corresponding spelling errors of related words.
4538
4539 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4540
4541         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
4542         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
4543         Likewise.
4544         * c-dump.c (dump_option_value_info): Likewise.
4545         * c-format.c (format_length_info, format_char_info,
4546         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
4547         * collect2.c (names): Likewise.
4548         * cppdefault.h (default_include): Likewise.
4549         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
4550         * flow.c (life_analysis): Likewise.
4551         * gcc.c (dir_separator_str, modify_target, option_map,
4552         target_option_translations, spec_list_1, extra_specs_1,
4553         init_spec): Likewise.
4554         * gcov.c (gcov_version_string): Likewise.
4555         * genattr.c (write_units): Likewise.
4556         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
4557         * gengenrtl.c (rtx_definition, defs): Likewise.
4558         * genrecog.c (pred_table): Likewise.
4559         * global.c (global_alloc): Likewise.
4560         * lcm.c (optimize_mode_switching): Likewise.
4561         * local-alloc.c (find_free_reg): Likewise.
4562         * params.h (param_info): Likewise.
4563         * predict.c (predictor_info): Likewise.
4564         * protoize.c (unexpansion_struct): Likewise.
4565         * real.c (bmask): Likewise.
4566         * recog.h (insn_operand_data, insn_data): Likewise.
4567         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
4568         * stmt.c (expand_nl_goto_receiver): Likewise.
4569         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
4570         target_switches, target_options): Likewise.
4571         * tradcif.y (token, tokentab2, yylex): Likewise.
4572         * tree.h (attribute_spec): Likewise.
4573
4574         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
4575         Likewise.
4576         * arc.c (arc_output_function_epilogue): Likewise.
4577         * arm.c (processors, all_cores, all_architectures,
4578         arm_override_options, isr_attribute_arg, isr_attribute_args,
4579         arm_isr_value): Likewise.
4580         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
4581         Likewise.
4582         * c4x.c (c4x_int_reglist): Likewise.
4583         * d30v.c (override_options): Likewise.
4584         * h8300.c (shift_insn): Likewise.
4585         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
4586         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
4587         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
4588         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
4589         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
4590         * i386.h (processor_costs, ix86_cost): Likewise.
4591         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
4592         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
4593         * m68k.c (codes_68881, codes_FPA): Likewise.
4594         * m88k.c (mode_from_align, max_from_align, all_from_align,
4595         best_from_align, m_options): Likewise.
4596         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
4597         * mcore.c (mode_from_align): Likewise.
4598         * mips/elf64.h (UNIQUE_SECTION): Likewise.
4599         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
4600         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
4601         * mips.h (mips_regno_to_class): Likewise.
4602         * ns32k.c (scales): Likewise.
4603         * pa.c (import_string, magic_milli): Likewise.
4604         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
4605         * sparc.c (leaf_reg_remap, sparc_override_options,
4606         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
4607         Likewise.
4608         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
4609
4610 2001-10-07  Dale Johannesen  <dalej@apple.com>
4611
4612         * reload1.c (reload_reg_free_p): Teach register interference
4613         checking that multiple output reloads are emitted in
4614         reverse order.
4615         reload1.c (reload_reg_reaches_end_p):  Ditto.
4616         reload1.c (reloads_conflict):  Ditto.
4617
4618 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
4619
4620         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
4621         NULL_TREE inside @code.
4622
4623 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
4624
4625         * doc/gcc.texi: Document consistent style of "32-bit",
4626         "Objective-C", and "@code{NULL}".
4627
4628 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
4629
4630         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
4631         (cpp_token_len, cpp_spell_token, cpp_output_token,
4632         _cpp_equiv_tokens): Handle it.
4633         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
4634         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
4635         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
4636         error messages.
4637
4638 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4639
4640         * gcc.c (default_compilers): Remove .ada.
4641
4642 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
4643
4644         * doc/cppinternals.texi: Update.
4645
4646 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
4647
4648         * gcc.c (main): Set this_file_error if the appropriate
4649         compiler for a language has not been installed.
4650
4651 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
4652
4653         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
4654
4655 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
4656
4657         * gccbug.in (CATEGORIES): Add ada.
4658
4659 2001-10-05  Catherine Moore  <clm@redhat.com>
4660
4661         * config/stormy16/stormy-abi:  Document abi changes.
4662         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
4663         (ICALL_REGS): New register class.
4664         (NUM_ARGUMENT_REGISTERS): Now 6.
4665         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
4666         in registers.
4667         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
4668         * config/stormy16.md (call_internal, call_value_internal,
4669         indirect_jump): Use new 'z' constraint.
4670
4671 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
4672
4673         * doc/cppinternals.texi: Update.
4674
4675 2001-10-05  Richard Henderson  <rth@redhat.com>
4676
4677         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
4678         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
4679         the gas section-name-as-label feature.
4680
4681 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
4682
4683         * doc/cppinternals.texi: Update.
4684
4685 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4686
4687         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
4688         to ensure valid SImode constants.
4689
4690 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
4691
4692         * Makefile.in (c-decl.o): Depend on tree-inline.h.
4693         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
4694         * c-decl.c: Include tree-inline.h.
4695         (c_expand_body): Call optimize_inline_calls. Determine whether
4696         a function is inlinable upfront, and only clear
4697         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
4698         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
4699         (c_disregard_inline_limits): New function.
4700         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
4701         (c_post_options): Enable tree inlining if inlining is enabled.
4702         Don't inline trees when instrumenting functions.
4703         (c_init): Initialize lang_disregard_inline_limits and
4704         lang_cannot_inline_tree_fn.
4705         * tree-inline.c (initialize_inlined_parameters): Handle calls
4706         with fewer arguments than declared parameters, and fewer
4707         parameters than passed arguments.  Don't assume value is a
4708         DECL.
4709         (declare_return_variable): Convert return value back to the
4710         original type, if it was promoted.
4711         (tree_inlinable_function_p): New function.
4712         (inlinable_function_p): Don't look at DECL_INLINE if we're
4713         inlining all functions.  Make it work with a NULL id.
4714         Re-check DECL_UNINLINABLE after language-specific checks.
4715         * tree-inline.h (tree_inlinable_function_p): Declare it.
4716         * integrate.c (save_for_inline): Don't bother to prepare argvec
4717         when not inlining.
4718         * cse.c (check_for_label_ref): Don't check deleted labels.
4719
4720         * Makefile.in (tree-inline.o): Depend on newly-included headers.
4721         * tree-inline.c: Include headers needed for the functions moved in.
4722         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
4723         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
4724         (copy_body, initialize_inlined_parameters): Likewise.
4725         (declare_return_variable, inlinable_function_p): Likewise.
4726         (expand_call_inline, expand_calls_inline): Likewise.
4727         (optimize_inline_calls, clone_body): Likewise.
4728         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
4729         (copy_tree_r, remap_save_expr): Likewise.
4730
4731 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
4732
4733         * Makefile.in (OBJS): Added tree-inline.o.
4734         (c-common.o): Depend on tree-inline.h.
4735         (tree-inline.o): New target.
4736         * c-common.c: Include tree-inline.h.
4737         (c_mark_lang_decl): Don't mark saved_tree.
4738         (c_common_lang_init): Set lang_anon_aggr_type_p.
4739         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
4740         (struct c_lang_decl): Moved saved_tree to tree_decl.
4741         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
4742         * integrate.h (function_attribute_inlinable_p): Declare it.
4743         * integrate.c (function_attribute_inlinable_p): Export it.
4744         * tree-inline.c: New file.  Define variables declared in...
4745         * tree-inline.h: New file.  Declare functions to be moved to
4746         tree-inline.c.  Define macros and declare types and hooks for
4747         language-specific tree inlining.
4748         (flag_inline_trees): Moved definition from cp/decl2.c.
4749         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
4750         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
4751         (struct tree_decl): Moved saved_tree from c_lang_decl and
4752         inlined_fns from C++'s lang_decl.
4753
4754 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
4755
4756         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
4757         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
4758
4759 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
4760
4761         * doc/cppinternals.texi: Update.
4762
4763 2001-10-04  Eric Christopher  <echristo@redhat.com>
4764
4765         * config/mips/mips.c (init_cumulative_args): Remember to set
4766         cum->prototype.
4767         * config.gcc: Redo linux configuration. Add target_cpu_default
4768         of soft-float to all mipsisa32 combinations and tx39.
4769         * config/mips/linux.h: Remove include of mips.h.
4770
4771 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
4772
4773         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
4774         HOST_LDFLAGS and HOST_CPPFLAGS.
4775
4776 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
4777
4778         * c-parse.in (objc_inherit_code, objc_pq_context,
4779         objc_public_flag): Make static.
4780         (objc_interface_context, objc_implementation_context,
4781         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
4782         global tree array in objc/objc-act.[ch].
4783         (methoddef): Remove unnecessary code.
4784
4785         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
4786         Hoist struct definitions to objc-act.h.
4787         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
4788         cat_count): Place declaration in objc-act.h.
4789         (objc_tree_index): Move enumeration to objc-act.h.
4790         (objc_global_trees): Place declaration and macro accessors in
4791         objc-act.h.
4792         (implementation_context): Remove duplicate; use
4793         objc_implementation_context instead:
4794         (method_context): Remove duplicate; use objc_method_context
4795         instead.
4796         (objc_ellipsis_node, objc_method_prototype_template,
4797         implemented_classes, function_type): Move global vars to
4798         objc_global_trees.
4799         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
4800         (build_message_expr): Move actual construction of ObjC message
4801         send nodes to finish_message_expr.
4802         (finish_message_expr): New routine, contains code formerly in
4803         build_message_expr.
4804         * objc/objc-act.h (finish_message_expr): New prototype.
4805         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
4806         declarations; these vars are now part of objc_global_trees.
4807         (objc_tree_index, objc_global_trees): Move definitions from
4808         objc-act.c.
4809         * objc/objc-tree.def: Update copyright info.
4810
4811 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
4812
4813         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
4814         op is NULL.
4815         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
4816         only if TARGET_ARCH64.
4817
4818 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
4819
4820         * doc/extend.texi: Fix some problems with previous checkin.
4821         * doc/invoke.texi: Likewise.
4822
4823 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
4824
4825         * cpphash.h: Update comments.
4826         (cpp_context): Update.
4827         (spec_nodes): Remove n__Pragma.
4828         * cppinit.c (cpp_create_reader): Update.
4829         (builtin_array): Add _Pragma.
4830         * cpplib.h: Update comments.
4831         (NODE_DISABLED, BT_PRAGMA): New.
4832         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
4833         * cppmacro.c (struct cpp_macro): Remove disabled.
4834         (builtin_macro): Return int, handle _Pragma, push the new token
4835         on the context stack.
4836         (funlike_invocation_p): Unconstify, update.
4837         (enter_macro_context): Handle builtins here.
4838         (replace_args, push_token_context, push_ptoken_context):
4839         Update for prototype changes.
4840         (_cpp_pop_context): Update.
4841         (cpp_get_token): Don't handle buitins, nor _Pragma here.
4842         (cpp_sys_macro_p): Update.
4843         (_cpp_free_definition): Clear disabled flag.
4844         (_cpp_create_definition): Upate.
4845         * cppmain.c: Update comments.
4846
4847 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
4848                                 Andreas Jaeger <aj@suse.de>,
4849                                 Jan Hubicka    <jh@suse.cz>
4850
4851         * doc/invoke.texi (i386 Options): Document x86-64 options.
4852         (i386 and x86-64 Options): Rename i386 options section.
4853
4854         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
4855         (TARGET_SWITCHES): Add -munwind-info.
4856         (MASK_NO_UNWIND_INFO): New.
4857         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
4858         biarch compilation.
4859         (ASM_OUTPUT_DOUBLE_INT): New.
4860
4861         * config/i386/linux64.h: New spec file for Linux x86-64 support.
4862         * config.gcc: Fix tm_file settings for x86-64.
4863         * config/i386/x86-64.h: New file with OS independent x86-64
4864         definitions.
4865         * config/i386/biarch64.h: New file used to configure compiler
4866         to biarch/64bit compilation.
4867
4868         * config/i386/i386.c: (override_options): Set flags default
4869         for 64bit compilation.
4870
4871 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
4872
4873         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
4874         (ix86_expand_int_movcc): Optimize DImode conditional moves with
4875         constants on x86_64.
4876         (ix86_attr_length_immediate_default): Support MODE_DI.
4877         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
4878         condition.
4879         (indirect_jump, tablejump): Turn into expander.
4880
4881 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
4882
4883         * c-common.c (c_format_attribute_table): Make format and
4884         format_arg attributes apply to function types rather than to
4885         decls.
4886         (is_valid_printf_arglist): Construct an attribute list and pass
4887         that to check_function_format rather than a name.
4888         * c-common.h (check_function_format): Adjust prototype.
4889         * c-decl.c (duplicate_decls): Preserve attributes from type of
4890         built-in decl when allowing for harmless conflict in types.
4891         * c-format.c (record_function_format,
4892         record_international_format, function_format_list,
4893         international_format_info, international_format_list): Remove.
4894         (function_format_info): Remove next, name and assembler_name.
4895         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
4896         (decode_format_attr): New.
4897         (handle_format_attribute): Handle receiving a type rather than a
4898         decl.  Call decode_format_attr.  Store format information in a
4899         function_format_info.
4900         (handle_format_arg_attribute): Correct comment.  Handle receiving
4901         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
4902         arg_num.
4903         (check_format_info_recurse, check_format_info_main): Take argument
4904         numbers as unsigned HOST_WIDE_INT.
4905         (check_function_format): Take a list of attributes from the
4906         function type rather than a name or assembler name.  Check for
4907         format attributes in that list and the attributes on the type of
4908         the current function rather than looking through
4909         function_format_list.
4910         (check_format_info): Use unsigned HOST_WIDE_INT for argument
4911         numbers.
4912         (check_format_info_recurse): Take format_arg attributes from the
4913         type of the function calls rather than using
4914         international_format_list.  Allow for multiple format_arg
4915         attributes.
4916         * c-typeck.c (build_function_call): Pass type attributes to
4917         check_function_format rather than name or assembler name.  Don't
4918         require there to be a name or assembler name to check formats.
4919
4920 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
4921
4922         * attribs.c (decl_attributes): Possibly call
4923         insert_default_attributes to insert default attributes on
4924         functions in a lazy manner.
4925         * builtin-attrs.def: New file; define the default format and
4926         format_arg attributes.
4927         * c-common.c (c_format_attribute_table): Move to earlier in the
4928         file.
4929         (c_common_nodes_and_builtins): Initialize format_attribute_table.
4930         (enum built_in_attribute, built_in_attributes,
4931         c_attrs_initialized, c_init_attributes,
4932         c_common_insert_default_attributes): New.
4933         (c_common_lang_init): Don't initialize format_attribute_table.  Do
4934         call c_init_attributes.
4935         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
4936         * c-common.h (init_function_format_info): Don't declare.
4937         (c_common_insert_default_attributes): Declare.
4938         * c-decl.c (implicitly_declare, builtin_function): Call
4939         decl_attributes.
4940         (init_decl_processing): Don't call init_function_format_info.
4941         (insert_default_attributes): New.
4942         * c-format.c (handle_format_attribute,
4943         handle_format_arg_attribute): Be quiet about inappropriate
4944         declaration when applying default attributes.
4945         (init_function_format_info): Remove.
4946         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
4947         (insert_default_attributes): Declare.
4948
4949 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
4950
4951         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
4952
4953 2001-10-01  Jim Wilson  <wilson@redhat.com>
4954
4955         * sched-deps.c (add_dependence): When elide conditional dependence,
4956         check that insn doesn't modify cond2.
4957
4958 2001-10-01  Dale Johannesen  <dalej@apple.com>
4959
4960         * config/rs6000/rs6000.h (enum processor_type): Add support
4961         for 7400 (G4) and 7450.
4962         (RTX_COSTS): Ditto.
4963         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
4964         (rs6000_issue_rate): Ditto.
4965         (rs6000_adjust_cost): Fix cycle counts for compares.
4966         (debug_stack_info):  Fix an obvious typo.
4967         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
4968         * doc/invoke.texi: Document.
4969         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
4970         for Darwin.
4971         (PROCESSOR_DEFAULT): Ditto.
4972
4973 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
4974
4975         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
4976         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
4977         later recursive make invocation.
4978
4979 2001-10-01  Hans Boehm  <boehm@acm.org>
4980
4981         * optabs.c (emit_libcall_block): When using non-call exceptions,
4982         don't add REG_LIBCALL reg notes to trapping calls.
4983
4984 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
4985
4986         * flow.c (propagate_block_delete_libcall): Remove unused first arg
4987         (propagate_one_insn):  Update for above change
4988
4989 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
4990
4991         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
4992         _Unwind_GetTextRelBase): Argument is unused.
4993
4994 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4995
4996         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
4997         Loop through NOPs, placeholders, and components.
4998         Don't go through NOPs if change mode.
4999         (record_alias_subset): Do nothing if SUBSET and SET are the same.
5000         * emit-rtl.c (set_mem_alias_set): Enable check.
5001         * expr.c (find_placeholder): New function.
5002         (expand_expr, case PLACEHOLDER_EXPR): Use it.
5003         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
5004         to modify it and avoid unneeded copies.
5005         * expr.h (expand_expr): Always define.
5006         (find_placeholder): New declaration.
5007
5008 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
5009
5010         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
5011         operand 2 is the stack pointer.
5012         ("addr-peephole"): Fix address computation peephole when operand 2
5013         is the stack pointer.
5014
5015 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5016
5017         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
5018         (ix86_setup_incoming_varargs): Likewise.
5019
5020 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
5021
5022         * stor-layout.c (layout_type): Don't complain about too-large
5023         array here.
5024
5025 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5026
5027         * function.c (keep_stack_depressed): Don't use delete_insn.
5028
5029         * expr.h (set_mem_alias_set): Move decl to here.
5030         * rtl.h (mem_attrs): New typedef and struct.
5031         (union rtunion_def): Add field for mem_attrs.
5032         (X0MEMATTR, MEM_ATTRS): New macros.
5033         (MEM_ALIAS_SET): Use MEM_ATTRS.
5034         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
5035         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
5036         (set_mem_alias_set): Delete decl from here.
5037
5038         * alias.c (set_mem_alias_set): Delete from here.
5039         * emit-rtl.c (mem_attrs_htab): New variable.
5040         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
5041         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
5042         (mem_attrs_mark, get_mem_attrs): Likewise.
5043         (gen_rtx_MEM): Clear MEM_ATTRS.
5044         (set_mem_attributes): Move to here.
5045         (set_mem_alias_set): Likewise, and call get_mem_attrs.
5046         (init_emit_once): const_int_htab now deletable htab.
5047         Initialize mem_attrs_htab.
5048         * explow.c (set_mem_attributes): Delete from here.
5049         * function.c (put_var_into_stack): Clear MEM_ATTRS.
5050         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
5051         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
5052         * reload1.c (reload): Rework changing REG to MEM.
5053
5054 2001-09-30  H.J. Lu <hjl@gnu.org>
5055
5056         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
5057         * config.in: Rebuild.
5058
5059 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
5060
5061         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
5062         ("tsthi_1"): Avoid allocation in register y.
5063         ("*movqi_68hc12"): Reorganize and fix constraints.
5064         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
5065         ("addqi3"): Likewise.
5066         ("addhi3"): Fix constraints.
5067         ("*logicalhi3_zexthi"): Disparage soft registers.
5068
5069 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
5070
5071         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
5072         to tmp reg.
5073
5074 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
5075
5076         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
5077         that we use setjmp/longjmp exceptions.
5078
5079 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
5080
5081         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
5082         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
5083         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
5084         _cpp_pool_alloc, _cpp_next_chunk): Remove.
5085         (_cpp_extend_buff, BUFF_ROOM): Update.
5086         (_cpp_append_extend_buff): New.
5087         (struct cpp_reader): Remove macro_pool, add a_buff.
5088         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
5089         macro_pool.
5090         (cpp_destroy): Free a_buff instead of macro_pool.
5091         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
5092         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
5093         _cpp_pool_alloc, ): Remove.
5094         (parse_number, parse_string): Update use of _cpp_extend_buff.
5095         (_cpp_extend_buff): Update.
5096         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
5097         * cpplib.c (glue_header_name, parse_answer):
5098         Update use of _cpp_extend_buff.
5099         (cpp_register_pragma, cpp_register_pragma_space): Use
5100         _cpp_aligned_alloc.
5101         (do_assert, do_unassert): Check for EOL, update.
5102         * cppmacro.c (stringify_arg, collect_args): Update to use
5103         _cpp_extend_buff and _cpp_append_extend_buff.
5104         (save_parameter, parse_params, alloc_expansion_token,
5105         _cpp_create_definition): Rework memory management.
5106
5107 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
5108
5109         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
5110         update md_exec_prefix.
5111         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
5112         to string constant.
5113
5114 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
5115
5116         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
5117         (SELECT_CC_MODE): Use s390_select_ccmode.
5118         * config/s390/s390-protos.h (s390_select_ccmode): Add.
5119         * config/s390/s390.c (s390_select_ccmode): New.
5120         (s390_match_ccmode): Add CCLmode.
5121         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
5122         (output_branch_condition, output_inverse_branch_condition): Removed.
5123         (print_operand): Use s390_branch_condition_mnemonic.
5124         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
5125         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
5126         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
5127
5128         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
5129         when converting conditional branches to far branches.
5130         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
5131         cmpint_di): Use CCSmode instead of CCUmode.
5132
5133         * config/s390/s390.c (legitimate_la_operand_p): New.
5134         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
5135         * config/s390/s390.md (movsi): Convert load address patterns to
5136         arithmetic operations when necessary.
5137         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
5138         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
5139         (*do_la_reg_0): Don't use before reload.
5140
5141         * config/s390/s390.c (legitimize_address): Make more efficient
5142         use of two-register addressing mode.
5143
5144         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
5145         with -mno-backchain in some corner cases.
5146
5147         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
5148
5149 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
5150
5151         * reload.c (find_reloads): Mark new USE insns with QImode.
5152         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
5153         find_reloads_subreg_address): Likewise.
5154         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
5155         encountered.
5156         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
5157         CLOBBERs.
5158         (reload): Make sure there are no USEs with mode other than
5159         VOIDmode.  At the end, remove those marked with QImode.
5160
5161 2001-09-29  Per Bothner  <per@bothner.com>
5162
5163         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
5164         * Makefile.in (includedir):  Rename to local_includedir.
5165         (includedir):  Define as $(prefix)/include.
5166         * config.in (PREFIX_INCLUDE_DIR):  New variable.
5167         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
5168
5169 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
5170
5171         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
5172         storehps builtins.
5173         * doc/extend.texi (Vector Extensions): New node.
5174         * doc/invoke.texi (Machine Dependent Options): Add documentation for
5175         i386 -mmmx, -msse, -m3dnow.
5176
5177 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
5178
5179         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
5180
5181 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
5182
5183         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
5184
5185         * doc/invoke.texi (Optimize Options): Delete spurious @table.
5186
5187 2001-09-28  Richard Henderson  <rth@redhat.com>
5188
5189         * varasm.c (assemble_integer): Bound alignment check by
5190         BIGGEST_ALIGNMENT.
5191
5192         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
5193
5194 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5195
5196         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
5197
5198 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
5199
5200         Mostly from Graham Stott  <grahams@redhat.com>
5201         * c-common.c (type_for_mode): Add support for V2SFmode.
5202         * tree.c (build_common_tree_nodes_2): Likewise.
5203         * tree.h (enum tree_index, global_trees): Likewise.
5204         * config/i386/i386.c (x86_3dnow_a): New variable.
5205         (override_options): Support 3Dnow extensions.
5206         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
5207         Athlon's version of 3Dnow.
5208         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
5209         (ix86_expand_builtin): Handle them.
5210         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
5211         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
5212         TARGET_3DNOW_A): New macros.
5213         (TARGET_SWITCHES): Add 3Dnow switches.
5214         (VALID_MMX_REG_MODE_3DNOW): New macro.
5215         (VECTOR_MODE_SUPPORTED_P): Use it.
5216         (enum ix86_builtins): Add entries for 3Dnow builtins.
5217         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
5218         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
5219         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
5220         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
5221         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
5222         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
5223         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
5224         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
5225         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
5226         sfence_insn, prefetch): Make these available if TARGET_SSE or
5227         TARGET_3DNOW_A.
5228
5229 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
5230
5231         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
5232         ix86_va_start, ix86_build_va_list): Declare.
5233         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
5234         ix86_va_start, ix86_build_va_list): New global functions.
5235         * i386.md (sse_prologue_save_insn): New insn.
5236         (sse_prologue_save): New expander.
5237         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
5238         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
5239
5240 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
5241
5242         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
5243         Use size_t everywhere, make definitions consistent with
5244         prototypes.
5245
5246 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
5247
5248         * gcse.c (replace_store_insn): Use delete_insn.
5249         * loop.c (move_movables): Likewise; avoid delete_insn
5250         from clobbering notes moved elsewhere.
5251         (check_dbra_loop): Use delete_insn.
5252         * ssa.c (convert_from_ssa): Likewise.
5253         * cse.c (cse_insn): Use delete_insn.
5254
5255 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
5256
5257         * cpphash.h (struct cpp_buff): Make unsigned.
5258         (_cpp_get_buff): Take length of size_t.
5259         (_cpp_unaligned_alloc): New.
5260         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
5261         (struct cpp_reader): Remove ident_pool.  Add u_buff.
5262         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
5263         (cpp_destroy): Destroy u_buff, not ident_pool.
5264         * cpplex.c (parse_number, parse_string, save_comment,
5265         cpp_token_as_text): Update to use the unaligned buffer.
5266         (new_buff): Make unsigned.
5267         (_cpp_unaligned_alloc): New.
5268         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
5269         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
5270         Similarly.
5271         (collect_args): Make unsigned.
5272
5273 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
5274
5275         * cpplex.c (cpp_output_token): Use a putc loop for
5276         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
5277
5278         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
5279         * configure, config.in: Regenerate.
5280         * system.h: Replace fwrite and fprintf with their unlocked
5281         variants if available.
5282
5283 2001-09-27  Richard Henderson  <rth@redhat.com>
5284
5285         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
5286         in favour of .eh_frame.
5287
5288 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
5289
5290         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
5291         to macros.
5292         (LIBCALL_VALUE): Likewise.
5293
5294 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
5295
5296         * cpphash.h: Update comment.
5297         * cpplex.c: Update comments.
5298         (_cpp_can_paste): Remove.
5299         * cpplib.h (_cpp_can_paste): Remove.
5300         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
5301         lexer rather than _cpp_can_paste.
5302
5303 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
5304
5305         * doc/cppinternals.texi: Update.
5306
5307 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
5308
5309         * cpphash.h (struct cpp_pool): Remove locks and locked.
5310         (struct cpp_context): Add member buff.
5311         (struct cpp_reader): Remove member argument_pool.
5312         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
5313         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
5314         * cpplex.c (chunk_suitable): Remove pool argument.
5315         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
5316         (new_buff, _cpp_extend_buff): Update.
5317         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
5318         which buffer is returned.
5319         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
5320         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
5321         * cppmacro.c (lock_pools, unlock_pools): Remove.
5322         (push_ptoken_context): Take a _cpp_buff.
5323         (enter_macro_context): Pool locking removed.
5324         (replace_args): Use a _cpp_buff for the replacement list with
5325         arguments replaced.
5326         (push_token_context): Clear buff.
5327         (expand_arg): Use _cpp_pop_context.
5328         (_cpp_pop_context): Free a context's buffer, if any.
5329
5330 2001-09-26  DJ Delorie  <dj@redhat.com>
5331
5332         * c-typeck.c (digest_init): Check for sizeless arrays.
5333
5334 2001-09-26  Richard Henderson  <rth@redhat.com>
5335
5336         * optabs.c (init_one_libfunc): Create a dummy function type
5337         instead of using error_mark_node.
5338
5339 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
5340
5341         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
5342         _cpp_extend_buff, _cpp_free_buff): New.
5343         (struct cpp_reader): New member free_buffs.
5344         * cppinit.c (cpp_destroy): Free buffers.
5345         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
5346         _cpp_extend_buff, _cpp_free_buff): New.
5347         * cpplib.h (struct cpp_options): Remove unused member.
5348         * cppmacro.c (collect_args): New.  Combines the old parse_arg
5349         and parse_args.  Use _cpp_buff for memory allocation.
5350         (funlike_invocation_p, replace_args): Update.
5351
5352 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
5353
5354         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
5355
5356 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
5357
5358         * except.c (sjlj_mark_call_sites): Change address inside sequence.
5359
5360 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
5361
5362         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
5363         glibc.
5364
5365 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
5366             Jim Wilson  <wilson@redhat.com>
5367
5368         * doc/install.texi (Specific, ia64-*-linux): Document.
5369
5370 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
5371
5372         * Makefile.in (cfgrtl.o): Add.
5373         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
5374         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
5375         free_aux_for_edge): Declare.
5376         * cfg.c
5377         (HAVE_return): Undefine.
5378         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
5379         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
5380         free_aux_for_edge): New global functions.
5381         (first_delete_block): New static variable.
5382         (init_flow): Clear first_delete_block.
5383         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
5384          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
5385          try_redirect_by_replacing_jump, last_loop_beg_note,
5386          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
5387          delete_insn, delete_insn_chain, create_basic_block_structure,
5388          create_basic_block, flow_delete_block, compute_bb_for_insn,
5389          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
5390          set_block_for_new_insns, split_block, merge_blocks_nomove,
5391          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
5392          redirect_edge_and_branch, force_nonfallthru_and_redirect,
5393          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
5394          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
5395          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
5396          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
5397          purge_all_dead_edges): Move to ....
5398         * cfgrtl.c: New file; .... Here.
5399
5400         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
5401         (reroder_basic_block): Use alloc_aux_for_blocks.
5402         * predict.c (estimate_bb_frequencies): Likewise; use
5403         alloc_aux_for_edges.
5404         * profile.c (compute_branch_probabilities): Likewise.
5405         (branch_prob): Likewise.
5406         * reg-stack.c (reg_to_stack): Likewise.
5407
5408         * emit-rtl.c (emit_insns_after): Never return NULL.
5409
5410         * basic-block.h (set_block_for_new_insns): Delete.
5411         * cfgrtl.c (set_block_for_new_insns): Delete.
5412
5413         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
5414         calls when crossjumping.
5415
5416         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
5417         * unroll.c (copy_loop_body): Use delete_insn.
5418
5419         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
5420         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
5421         keep_stack_depressed): Likewise.
5422         * gcse.c (cprop_cc0_jump): Likewise.
5423         * local-alloc.c (update_equiv_regs): Likewise.
5424         * loop.c (scan_loop, loop_delete_insns): Likewise.
5425         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
5426         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
5427         delete_output_reload, delete_address_reloads_1,
5428         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
5429         Likewise.
5430         * sibcall.c (replace_call_placeholder): Likewise.
5431         * cse.c (cse_insn): Likewise.
5432
5433 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
5434
5435         From Graham Stott  <grahams@redhat.com>
5436         (def_builtin): Only define builtins appropriate for target_flags.  All
5437         callers changed.
5438         (builtin_decsription): Add new field mask which is used to determine
5439         when to define the builtin via the macro def_builtin.
5440
5441         (bdesc_comi): Initialise new mask fields.
5442         (bdesc_2srg): Likewise.
5443         (bdesc_1arg): Likewise.
5444
5445         * config/i386/i386.c (ix86_init_builtins): Correct return type
5446         building v4hi_ftype_v4hi_int_int tree node.
5447         (ix86_expand_sse_comi): Fix typo swapping operands.
5448         Don't swap comparision condition, it is already swapped.
5449         (ix86_expand_sse_compare): Before swapping operands
5450         move operand 1 into new rtx and not the target rtx.
5451         Don't swap comparison condition, it is already swapped.
5452         Always check whether we need to create a new TARGET.
5453
5454         * config/i386/i386.md: (sse_comi) Fix typos.
5455         (sse_ucomi): Likewise.
5456         (cvtss2si): Fix operand 0 contraint.
5457         (cvttss2si): Likewise.
5458         (sse_unpckhps): Fix mode for operand 2.
5459         (sse_unpcklps): Likewise.
5460
5461 2001-09-25  Graham Stott  <grahams@redhat.com>
5462
5463         * sibcall.c (skip_copy_to_return_value): Tighten return value
5464         copy check.
5465
5466 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
5467
5468         * rs6000.c (lwa_operand): Address must be word aligned.
5469
5470 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5471
5472         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
5473         number has been set.
5474         (type_hash_mark): Mark type itself.
5475
5476 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
5477
5478         * c-lex.c (cb_def_pragma): Update.
5479         (c_lex): Update, and skip padding.
5480         * cppexp.c (lex, parse_defined): Update, remove unused variable.
5481         * cpphash.h (struct toklist): Delete.
5482         (union utoken): New.
5483         (struct cpp_context): Update.
5484         (struct cpp_reader): New members eof, avoid_paste.
5485         (_cpp_temp_token): New.
5486         * cppinit.c (cpp_create_reader): Update.
5487         * cpplex.c (_cpp_temp_token): New.
5488         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
5489         (cpp_output_token): Don't print leading whitespace.
5490         (cpp_output_line): Update.
5491         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
5492         do_include_common, do_line, do_ident, do_pragma,
5493         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
5494         parse_assertion): Update.
5495         (get_token_no_padding): New.
5496         * cpplib.h (CPP_PADDING): New.
5497         (AVOID_LPASTE): Delete.
5498         (struct cpp_token): New union member source.
5499         (cpp_get_token): Update.
5500         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
5501         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
5502         replace_args, quote_string, stringify_arg, parse_arg, next_context,
5503         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
5504         _cpp_backup_tokens, _cpp_create_definition): Update.
5505         (push_arg_context): Delete.
5506         (padding_token, push_token_context, push_ptoken_context): New.
5507         (make_string_token, make_number_token): Update, rename.
5508         (cpp_get_token): Update to handle tokens as pointers to const,
5509         and insert padding appropriately.
5510         * cppmain.c (struct printer): New member prev.
5511         (check_multiline_token): Constify.
5512         (do_preprocessing, cb_line_change): Update.
5513         (scan_translation_unit): Update to handle spacing.
5514         * scan-decls.c (get_a_token): New.
5515         (skip_to_closing_brace, scan_decls): Update.
5516         * fix-header.c (read_scan_file): Update.
5517
5518         * doc/cpp.texi: Update.
5519
5520 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5521
5522         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
5523         leak by passing malloc'ed pointer to reconcat, not concat.
5524
5525 2001-09-24  DJ Delorie  <dj@redhat.com>
5526
5527         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
5528
5529 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
5530
5531         * flow.c (delete_dead_jumptables): Delete jumptable if the only
5532         reference is from the literal pool.
5533
5534 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
5535
5536         * doc/install.texi (Final install): Request additional information
5537         in mail about successful builds.
5538
5539 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5540
5541         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
5542         initial value of return pointer register instead of value in frame-20.
5543         Revise comments.
5544
5545 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5546
5547         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
5548         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
5549         the libcall if there isn't a referenced identifier for the symbol.
5550
5551 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5552
5553         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
5554         non 64-bit machines.  Use these as a plabel for the trampoline.
5555         (TRAMPOLINE_SIZE): Adjust size for new words.
5556         (INITIALIZE_TRAMPOLINE): Initialize new words.
5557         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
5558         pointer to the plabel in the trampoline.
5559
5560 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5561
5562         * pa.c (function_arg): Pass floating arguments in both general and
5563         floating registers in indirect (dynamic) calls when generating code
5564         for the 32 bit ABI and the HP assembler.
5565
5566 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5567
5568         * doc/install.texi: Markup fixes.
5569         Use Solaris 2, SunOS 4 as appropriate.
5570         (Specific, *-*-solaris2*): Explain this.
5571         Unconditionally warn against /usr/ucb tools.
5572         Remove Sun as warning, obsolete.
5573         Move X11 header bug workaround here, update patches.
5574         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
5575         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
5576
5577 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
5578
5579         * errors.h (warning, error, fatal, internal_error): Don't mark
5580         with ATTRIBUTE_PRINTF_n.
5581         * toplev.h (internal_error, fatal_io_error, warning, error,
5582         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
5583         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
5584         Likewise.
5585
5586 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5587
5588         * function.c (pop_function_context_from): var_refs_queue
5589         and temp slots now in GC memory.
5590         (mark_function_status, free_after_compilation): Likewise;
5591         also struct function now in GC memory.
5592         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
5593         (combine_temp_slots): Likewise.
5594         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
5595         (prepare_function_start): Use GC memory for struct function.
5596         (mark_temp_slot): Deleted.
5597         (gcc_mark_struct_function): struct function now in GC memory.
5598
5599         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
5600         code for division, not modulus.
5601
5602         * rtl.def (MEM): Remove obsolete part of comment.
5603
5604 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
5605
5606         * c-format.c (init_function_format_info): Check __builtin_printf
5607         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
5608         in gnu89 mode.
5609
5610 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5611
5612         * c-common.c (format_attribute_table): Remove decl.
5613         * tree.h (format_attribute_table, lang_attribute_table): New decls.
5614         (lang_attribute_common): Likewise.
5615
5616         * function.c (fix_lexical_address): Use set_mem_alias_set.
5617         (expand_function_start): Likewise.
5618         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
5619
5620         * varasm.c (output_constant): Fix unused variable warning.
5621
5622         * attribs.c: New file, from c-common.c.
5623         (attribute_tables): Now four elements.
5624         (format_attribute_table, lang_attribute_common): New variables.
5625         (init_attributes): Reflect above changes.
5626         (handle_mode_attribute): Delete check for wider than uintmax.
5627         * c-common.c: Delete parts moved to attribs.c.
5628         (enum attrs): Deleted; unused.
5629         (c_format_attribute_table): New variable.
5630         (c_common_lang_init): Initialize format_attribute_table with it.
5631         * c-common.h (decl_attributes): Remove decl.
5632         * tree.h (decl_attribute): Move it to here.
5633         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
5634         (attribs.o): New rule.
5635
5636 2001-09-22  Andreas Jaeger  <aj@suse.de>
5637
5638         * builtins.c (c_getstr): Remove unused variable.
5639
5640 2001-09-21  Richard Henderson  <rth@redhat.com>
5641
5642         * reload1.c (reload): Use delete_insn instead of splatting
5643         NOTE_INSN_DELETED.
5644
5645 2001-09-21  Richard Henderson  <rth@redhat.com>
5646
5647         * reload.c (push_secondary_reload): Don't check for "=" in output
5648         constraint after ""->ALL_REGS check.
5649
5650 2001-09-21  Richard Henderson  <rth@redhat.com>
5651
5652         * predict.c (expected_value_to_br_prob): Use pc_set.
5653
5654         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
5655         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
5656
5657 2001-09-21  Richard Henderson  <rth@redhat.com>
5658
5659         * rtl.h (LCT_RETURNS_TWICE): New.
5660         * calls.c (emit_call_1): Set current_function_calls_setjmp for
5661         ECF_RETURNS_TWICE.
5662         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
5663         to ECF_RETURNS_TWICE.
5664         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
5665         call to setjmp.
5666
5667         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
5668
5669         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
5670         (JMP_BUF_SIZE): New.
5671
5672 2001-09-21  Richard Henderson  <rth@redhat.com>
5673
5674         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
5675         to R8_REGS.
5676
5677 2001-09-21  Richard Henderson  <rth@redhat.com>
5678
5679         * tree.def (FDESC_EXPR): New.
5680         * expr.c (expand_expr): Handle it.
5681         * varasm.c (initializer_constant_valid_p): Likewise.
5682         (output_constant): Likewise.
5683         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
5684         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
5685         (ASM_OUTPUT_FDESC): New.
5686         * doc/tm.texi: Document the new macros.
5687
5688 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
5689
5690         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
5691         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
5692         once merging is complete.
5693
5694 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5695
5696         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
5697
5698 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
5699
5700         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
5701         that would be invalid after a merge.
5702
5703 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
5704
5705         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
5706         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
5707         remove some labels.
5708         (flow_delete_insn): This one.
5709         (delete_insn_chain): Rename from ...; do not care labels.
5710         (flow_delete_insn_chain): ... this one.
5711         (flow_delete_block): Remove the insns one BB has been expunged.
5712         (merge_blocks_nomove): Likewise.
5713         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
5714         updating BB boundaries.
5715         (tidy_fallthru_edge): Likewise.
5716         (commit_one_edge_insertion): Likewise.
5717         * cfgbuild.c (find_basic_block): Likewise.
5718         (find_basic_blocks_1): Likewise.
5719         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
5720         (try_crossjump_to_edge): Likewise.
5721         (try_optimize_cfg): Likewise.
5722         * cse.c (delete_trivially_dead_insns): Likewise.
5723         * df.c (df_insn_delete): Likewise.
5724         * doloop.c (doloop_modify): Use delete_related_insns.
5725         * emit-rtl.c (try_split): Likewise.
5726         (remove_insn): Update BB boundaries.
5727         * expect.c (connect_post_landing_pads): Use delete_related_insns.
5728         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
5729         updating BB boundaries.
5730         (propagate_block_delete_insn): Likewise.
5731         (propagate_block_delete_libcall): Likewise.
5732         * function.c (delete_handlers): Use delete_related_insns.
5733         (thread_prologue_and_epilogue_insns): Likewise.
5734         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
5735         * genpeep.c (gen_peephole): Use delete_related_insns.
5736         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
5737         BB boundaries.
5738         (find_cond_trap): Likewise.
5739         * integrate.c (save_for_inline): Use delete_related_insns.
5740         (copy_insn_list): Likewise.
5741         * jump.c (pruge_linie_number_notes): Likewise.
5742         (duplicate_loop_exit_test): Likewise.
5743         (delete_computation): Likewise.
5744         (delete_related_insn): Rename from ...; use delete_insn
5745         (delete_insn): ... this one.
5746         (redirect_jump): Use delete_related_insns.
5747         * loop.c (scan_loop): Likewise.
5748         (move_movables): Likewise.
5749         (find_and_verify_loops): Likewise.
5750         (check_dbra_loop): Likewise.
5751         * recog.c (peephole2_optimize): Likewise.
5752         * reg-stack.c (delete_insn_for_stacker): Remove.
5753         (move_for_stack_reg): Use delete_insn.
5754         * regmove.c (combine_stack_adjustments_for_block): Likewise.
5755         * reload1.c (delete_address_reloads): Use delete_related_insns.
5756         (fixup_abnormal_edges): Use delete_insn.
5757         * recog.c (emit_delay_sequence): Use delete_related_insns.
5758         (delete_from-delay_slot): Likewise.
5759         (delete_scheduled_jump): likewise.
5760         (optimize_skip): Likewise.
5761         (try_merge_delay_insns): Likewise.
5762         (full_simple_delay_slots): Likewise.
5763         (fill_slots_from_thread): Likewise.
5764         (relax_delay_slots): Likewise.
5765         (make_return_insns): Likewise.
5766         (dbr_schedule): Likewise.
5767         * rtl.h (delete_insn): Rename to delete_related_insns.
5768         (delete_insn, delete_insn_chain): New prototypes.
5769         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
5770         by df_insn_delete already.
5771         * ssa-dce.c (delete_insn_bb): Use delete_insn.
5772         * ssa.c (convert_from_ssa): Use delete_related_insns.
5773         * unroll.c (unroll_loop): Likewise.
5774         (calculate_giv_inc): Likewise.
5775         (copy_loop_body): Likewise.
5776
5777         * i386-protos.h (ix86_libcall_value, ix86_function_value,
5778         ix86_function_arg_regno_p, ix86_function_arg_boundary,
5779         ix86_return_in_memory, ix86_function_value): Declare.
5780         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
5781         new static valurables.
5782         (x86_64_reg_class): New enum
5783         (x86_64_reg_class_name): New array.
5784         (classify_argument, examine_argument, construct_container,
5785          merge_classes): New static functions.
5786         (optimization_options): Enable flag_omit_frame_pointer and disable
5787         flag_pcc_struct_return on 64bit.
5788         (ix86_libcall_value, ix86_function_value,
5789         ix86_function_arg_regno_p, ix86_function_arg_boundary,
5790         ix86_return_in_memory, ix86_function_value): New global functions.
5791         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
5792         (function_arg_advance): Handle x86_64 passing conventions.
5793         (function_arg): Likewise.
5794         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
5795         (RETURN_IN_MEMORY): Move offline.
5796         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
5797         (FUNCTION_VALUE_REGNO_P): New macro.
5798         (FUNCTION_ARG_REGNO_P): Move offline.
5799         (struct ix86_args): Add maybe_vaarg.
5800         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
5801         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
5802
5803 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
5804
5805         * s390.md: Changed attributes for scheduling.
5806         * s390.c: (s390_adjust_cost, s390_adjust_priority)
5807         Changed scheduling
5808
5809 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
5810
5811         Table-driven attributes.
5812         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
5813         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
5814         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
5815         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
5816         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
5817         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
5818         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
5819         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
5820         * tree.h (struct tree_decl): Change machine_attributes to
5821         attributes.
5822         * doc/c-tree.texi: Document that all attributes are now attached
5823         to decls and types.
5824         * c-common.c (add_attribute, attrtab, attrtab_idx,
5825         default_valid_lang_attribute, valid_lang_attribute): Remove.
5826         (attribute_tables, attributes_initialized,
5827         c_common_attribute_table, default_lang_attribute_table): New
5828         variables.
5829         (handle_packed_attribute, handle_nocommon_attribute,
5830         handle_common_attribute, handle_noreturn_attribute,
5831         handle_unused_attribute, handle_const_attribute,
5832         handle_transparent_union_attribute, handle_constructor_attribute,
5833         handle_destructor_attribute, handle_mode_attribute,
5834         handle_section_attribute, handle_aligned_attribute,
5835         handle_weak_attribute, handle_alias_attribute,
5836         handle_no_instrument_function_attribute,
5837         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
5838         handle_no_limit_stack_attribute, handle_pure_attribute): New
5839         functions.
5840         (init_attributes, decl_attributes): Rewrite to implement
5841         table-driven attributes.
5842         * c-common.h (enum attribute_flags): Move to tree.h.
5843         * c-format.c (decl_handle_format_attribute,
5844         decl_handle_format_arg_attribute): Rename to
5845         handle_format_attribute and handle_format_arg_attribute.  Update
5846         for table-driven attributes.
5847         * c-common.h (decl_handle_format_attribute,
5848         decl_handle_format_arg_attribute): Remove prototypes.
5849         (handle_format_attribute, handle_format_arg_attribute): Add
5850         prototypes.
5851         * c-decl.c (grokdeclarator): Handle attributes nested inside
5852         declarators.
5853         * c-parse.in (setattrs, maybe_setattrs): Remove.
5854         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
5855         Update to handle nested attributes properly.
5856         (maybe_resetattrs, after_type_declarator,
5857         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
5858         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
5859         properly.
5860         (make_pointer_declarator): Update to handle nested attributes
5861         properly.
5862         * doc/extend.texi: Update documentation of limits of attributes
5863         syntax.  Warn about problems with attribute semantics in C++.
5864         * target.h (struct target): Remove valid_decl_attribute and
5865         valid_type_attribute.  Add attribute_table and
5866         function_attribute_inlinable_p.
5867         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
5868         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
5869         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
5870         Add.
5871         (TARGET_INITIALIZER): Update.
5872         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
5873         definition.
5874         (function_attribute_inlinable_p): New function.  Check for the
5875         presence of any machine attributes before using
5876         targetm.function_attribute_inlinable_p.
5877         (function_cannot_inline_p): Update.
5878         * Makefile.in (integrate.o): Update dependencies.
5879         * doc/tm.texi: Update documentation of target attributes and
5880         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
5881         * tree.c (default_valid_attribute_p, valid_machine_attribute):
5882         Remove.
5883         (default_target_attribute_table,
5884         default_function_attribute_inlinable_p): New.
5885         (lookup_attribute): Update comment to clarify handling of multiple
5886         attributes with the same name.
5887         (merge_attributes, attribute_list_contained): Allow multiple
5888         attributes with the same name but different arguments to appear in
5889         the same attribute list.
5890         * tree.h (default_valid_attribute_p): Remove prototype.
5891         (struct attribute_spec): New.
5892         (default_target_attribute_table): Declare.
5893         (enum attribute_flags): Move from c-common.h.  Add
5894         ATTR_FLAG_TYPE_IN_PLACE.
5895         (default_function_attribute_inlinable_p): Declare.
5896         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
5897         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5898         (TARGET_ATTRIBUTE_TABLE): Define.
5899         (vms_attribute_table): New.
5900         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
5901         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5902         (TARGET_ATTRIBUTE_TABLE): Define.
5903         (arc_attribute_table, arc_handle_interrupt_attribute): New.
5904         * config/arm/arm.c (arm_valid_type_attribute_p,
5905         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
5906         Remove.
5907         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
5908         define.
5909         (TARGET_ATTRIBUTE_TABLE): Define.
5910         (arm_attribute_table, arm_handle_fndecl_attribute,
5911         arm_handle_isr_attribute): New.
5912         * config/avr/avr.c (avr_valid_type_attribute,
5913         avr_valid_decl_attribute): Remove.
5914         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
5915         define.
5916         (TARGET_ATTRIBUTE_TABLE): Define.
5917         (avr_attribute_table, avr_handle_progmem_attribute,
5918         avr_handle_fndecl_attribute): New.
5919         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
5920         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
5921         (TARGET_ATTRIBUTE_TABLE): Define.
5922         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
5923         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
5924         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5925         (TARGET_ATTRIBUTE_TABLE): Define.
5926         (h8300_attribute_table, h8300_handle_fndecl_attribute,
5927         h8300_handle_eightbit_data_attribute,
5928         h8300_handle_tiny_data_attribute): New.
5929         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
5930         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
5931         Remove prototypes.
5932         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
5933         declarations.
5934         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
5935         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
5936         define.
5937         (TARGET_ATTRIBUTE_TABLE): Define.
5938         (ix86_attribute_table, ix86_handle_cdecl_attribute,
5939         ix86_handle_regparm_attribute): New.
5940         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
5941         i386_pe_valid_type_attribute_p): Remove.
5942         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
5943         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
5944         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
5945         (TARGET_ATTRIBUTE_TABLE): Define.
5946         (ia64_attribute_table): New.
5947         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
5948         interrupt_ident2, model_ident1, model_ident2): Remove.
5949         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5950         (TARGET_ATTRIBUTE_TABLE): Define.
5951         (init_idents): Update.
5952         (m32r_attribute_table, m32r_handle_model_attribute): New.
5953         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
5954         Remove.
5955         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
5956         (TARGET_ATTRIBUTE_TABLE): Define.
5957         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
5958         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
5959         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5960         (TARGET_ATTRIBUTE_TABLE): Define.
5961         (mcore_attribute_table, mcore_handle_naked_attribute): New.
5962         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
5963         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
5964         (TARGET_ATTRIBUTE_TABLE): Define.
5965         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
5966         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
5967         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
5968         (TARGET_ATTRIBUTE_TABLE): Define.
5969         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
5970         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
5971         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5972         (TARGET_ATTRIBUTE_TABLE): Define.
5973         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
5974         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
5975         New.
5976         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
5977         Remove.
5978         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
5979         (TARGET_ATTRIBUTE_TABLE): Define.
5980         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
5981         New.
5982         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
5983         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5984         (TARGET_ATTRIBUTE_TABLE): Define.
5985         (v850_attribute_table, v850_handle_interrupt_attribute,
5986         v850_handle_data_area_attribute): New.
5987         * config/v850/v850-c.c (mark_current_function_as_interrupt):
5988         Return void.  Call decl_attributes instead of
5989         valid_machine_attribute.
5990
5991 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
5992
5993         * sh-protos.h (sh_pr_n_sets): Declare.
5994         * sh.c (calc_live_regs): If the initial value for PR has been copied,
5995         look at the copy to determine if PR needs to be saved.
5996         sh_pr_n_sets: New function.
5997         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
5998         (ALLOCATE_INITIAL_VALUE): Define.
5999
6000         * sh.c (initial_elimination_offset):
6001         Fix RETURN_ADDRESS_POINTER_REGNUM case.
6002
6003 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
6004
6005         * integrate.c (allocate_initial_values): New function.
6006         * integrate.h (allocate_initial_values): Declare.
6007         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
6008         here...
6009         * reload1.c (reload): And initialization of reg_equiv_memory_loc
6010         from here...
6011         * toplev.c (rest_of_compilation): To here.
6012         Call allocate_initial_values.
6013         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
6014
6015 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6016
6017         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
6018
6019 2001-09-20  DJ Delorie  <dj@redhat.com>
6020
6021         * c-typeck.c (really_start_incremental_init): Discriminate
6022         between zero-length arrays and flexible arrays.
6023         (push_init_level): Detect zero-length arrays and handle them
6024         like fixed-sized arrays.
6025         * expr.c (store_constructor): Handle zero-length arrays and
6026         flexible arrays correctly.
6027         * doc/extend.texi: Update zero-length array notes.
6028
6029 2001-09-20  Jim Wilson  <wilson@redhat.com>
6030
6031         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
6032         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
6033         for issue port conflicts.
6034         (cycle_end_fill_slots): TYPE_L instructions take two slots.
6035
6036 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
6037
6038         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
6039         on ia64.
6040
6041 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6042
6043         * fold-const.c (hashtab.h): Include.
6044         (int_const_binop): Remove FORSIZE arg and compute from type; all
6045         callers changed.
6046         Call size_int_type_wide for all single-word constants.
6047         (size_htab_hash, size_htab_eq): New functions.
6048         (size_int_type_wide): Rework to use hash table.
6049         * ggc-common.c (hashtab.h): Include.
6050         (struct d_htab_root): New struct.
6051         (d_htab_roots): New variable.
6052         (ggc_add_deletable_htab, ggc_htab_delete): New functions
6053         (ggc_mark_roots): Handle deletable htabs.
6054         * ggc-page.c (ggc_marked_p): New function.
6055         * ggc-simple.c (ggc_marked_p): Likewise.
6056         * ggc.h: Reformatting throughout.
6057         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
6058         * tree.c (init_obstacks): Make type_hash_table a deletable root.
6059         (type_hash_add): Allocate struct type_hash from GC memory.
6060         (mark_hash_entry, mark_type_hash): Deleted.
6061         (type_hash_marked_p, type_hash_mark): New functions.
6062         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
6063
6064 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
6065
6066         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
6067         than SImode.
6068
6069 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6070
6071         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
6072         array-too-large test for signed sizetype.
6073
6074 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
6075
6076         * i386.md (indirect_jump): Allow Pmode operand.
6077         (tablejump): LIkewise; perform expansion to 64bit mode.
6078         * i386.c (symbolic_operand): Allow 64bit PIC references.
6079         (pic_symbolic_operand): Likewise.
6080         (ix86_find_base_term): Strip the 64bit PIC references.
6081         (legitimate_pic_address_disp_p): Handle 64bit PIC.
6082         (legitimize_pic_address): Likewise.
6083         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
6084         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
6085
6086 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
6087
6088         * stringpool.c (get_identifier_with_length): New function.
6089         * tree.h (get_identifier_with_length): New prototype.
6090
6091 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
6092             David Edelsohn  <edelsohn@gnu.org>
6093
6094         Revert:
6095         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
6096         already sign-extended.
6097
6098         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
6099         * config/rs6000/rs6000.c (logical_operand): Always compare op as
6100         HOST_WIDE_INT.
6101         (rs6000_emit_set_long_const): Avoid unnecessary shift.
6102         (output_profile_hook): Declare label_name const.
6103         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
6104         to match constraints.
6105
6106 2001-09-19  Stan Shebs  <shebs@apple.com>
6107
6108         * alias.c: Fix typos in comments.
6109         * sched-rgn.c (init_ready_list): Ditto.
6110         * unwind-dw2.c (uw_frame_state_for): Ditto.
6111         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
6112         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
6113         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
6114
6115 2001-09-19  Richard Henderson  <rth@redhat.com>
6116
6117         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
6118         to the exit block.
6119         * Makefile.in (cfg.o): Depend on TM_P_H.
6120
6121 2001-09-19  Richard Henderson  <rth@redhat.com>
6122
6123         * config/alpha/alpha.c (local_symbol_p): Split out from ...
6124         (local_symbolic_operand): ... here.
6125         (small_symbolic_operand): Check mode.
6126         (global_symbolic_operand): New.
6127         (input_operand): Reject symbolics if explicit relocs.
6128         (call_operand): Tidy.
6129         (alpha_legitimize_address): Use movdi_er_high_g.
6130         (alpha_expand_mov): Likewise.
6131         * config/alpha/alpha-protos.h: Update.
6132         * config/alpha/alpha.h (PREDICATE_CODES): Update.
6133         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
6134         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
6135         (UNSPECV_LDGP2): Remove.
6136         (all call patterns): Use 's' not 'i' for symbolic constraint.
6137         (call_osf call_value_osf): Use call_operand.
6138         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
6139         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
6140         (prologue_ldgp_1_er): Remove.
6141         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
6142         (builtin_setjmp_receiver_er patterns): Use them.
6143         (exception_receiver_er): Likewise.
6144
6145 2001-09-19  Richard Henderson  <rth@redhat.com>
6146
6147         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
6148
6149         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
6150         and NON_LOCAL_GOTO notes.
6151         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
6152         copy over CALL_INSN_FUNCTION_USAGE.
6153
6154 2001-09-18  Catherine Moore  <clm@redhat.com>
6155
6156         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
6157         Define as 0.
6158
6159 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
6160
6161         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
6162         new-style tm_file specification.  Specify correct tm_p_file,
6163         md_file, and out_file for s390x.
6164
6165         * config/s390/linux.h, linux64.h:  Don't include other target
6166         macro header files.  Now handled via tm_file.
6167
6168         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
6169         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
6170         are defined before use.
6171
6172 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
6173
6174         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
6175         code generation only for Gnu assembler.
6176
6177 2001-09-18  Catherine Moore  <clm@redhat.com>
6178
6179         * config/stormy16 (LIB_SPEC): Remove -lnosys.
6180
6181 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
6182
6183         * config/mips/mips.c (mips_frame_set): New.
6184         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
6185         a parallel frame-related expression with a set for each register.
6186
6187 2001-09-18  Philip Blundell  <philb@gnu.org>
6188
6189         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
6190         header files.
6191
6192 2001-09-17  Dale Johannesen  <dalej@apple.com>
6193
6194         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
6195         * config/rs6000/aix.h (FIXED_R2): Define.
6196         * config/rs6000/darwin.h (FIXED_R2): Define.
6197         * config/rs6000/sysv4.h (FIXED_R2): Define.
6198
6199 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
6200
6201         * except.c (dw2_build_landing_pads): New local
6202         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
6203         barrier after clobbers.  Fixes c++/4012.
6204
6205 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6206
6207         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
6208
6209 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
6210
6211         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
6212         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
6213
6214 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6215
6216         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
6217         alloca/strcpy.
6218
6219 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
6220
6221         * cpphash.h (_cpp_lex_direct): New.
6222         * cpplex.c (_cpp_lex_token): Update.
6223         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
6224         and increment that pointer.
6225         * cppmacro.c (alloc_expansion_token): New.
6226         (lex_expansion_token): Lex macro expansion directly into
6227         macro storage.
6228
6229 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
6230
6231         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
6232
6233 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
6234
6235         * basic-block.h (free_bb_for_insn): Declare.
6236         * bb-reorder.c (label_for_bb): Use block_label.
6237         (emit_jump_to_block_after): Remove.
6238         (insert_intra_1): Do not update block_for_insn.
6239         (insert_inter_bb_scope_notes): Likewise; update bb->end
6240         * cfg.c (free_bb_for_insn): New.
6241         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
6242         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
6243         (commit_one_edge_insertion): Likewise.
6244         (commit_one_edge_insertion): Do not update BB boundary.
6245         (commit_edge_insertions): Do not call compute_bb_for_insn.
6246         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
6247         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
6248         (merge_blocks_move_successor_nojumps): Likewise.
6249         (try_crossjump_to_edge): Do not update block_for_insn.
6250         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
6251         * df.c (df_pattern_emit_later): Do not update BB boundary.
6252         (df_jump_pattern_emit_after): Likewise.
6253         (df_insn_move_before): Use emit_insn_before.
6254         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
6255          properly.
6256         (add_insn_after, add_insn_before, emit_insns_after): Update BB
6257         boundaries and basic_block_for_insn.
6258         (reorder_insns_nobb): Rename from reorder_insns.
6259         (reorder_insns): New.
6260         (emit_block_insn_before, emit_block_insn_after): Kill.
6261         * flow.c (check_function_return_warnings): Do not call
6262         compute_bb_for_insn; Do not free basic_block_for_insn.
6263         (attempt_auto_inc): Do not update basic_block_for_insn.
6264         * function.c (emit_return_into_block): Likewise;
6265         do not update BB boundaries.
6266         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
6267         (insert_insn_end_bb): Use emit_insn_before; Likewise.
6268         (pre_insert_copy_insn): Likewise.
6269         (update_ld_motion_notes): Likewise.
6270         (insert_insn_start_bb): Likewise.
6271         (replace_store_insn): Likewise.
6272         * ifcvt.c (noce_process_if_block): Likewise.
6273         (if_convert): Do not call compute_bb_for_insn.
6274         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
6275         Use emit_insn_before and emit_insn_after.
6276         * recog.c (split_all_insns): Do not update BB boundaries;
6277         Do not call compute_bb_for_insn.
6278         (peephole2_optimize): Do not update BB boundaries.
6279         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
6280         emit_insn_before.
6281         (emit_swap_insn): Likewise.
6282         (convert_regs_1): Likewise.
6283         * reload1.c (reload): Call compute_bb_for_insn.
6284         * rtl.h (reorder_insns_nobb): Declare.
6285         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
6286         * toplev.c (rest_of_compilation): Call free_bb_for_insn
6287         at places CFG is invalidated; do not call compute_bb_for_insn.
6288
6289         * cfg.c (expunge_block): Invalidate BB structure.
6290
6291         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
6292         array.
6293
6294         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
6295
6296 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
6297
6298         * cpphash.h (_cpp_lex_token): Update prototype.
6299         * cpplex.c (_cpp_lex_token): New prototype.
6300         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
6301         lex_macro_node, read_flag, do_pragma_poison): Update.
6302         * cppmacro.c (cpp_get_token, parse_params,
6303         lex_expansion_token): Update.
6304
6305 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
6306
6307         * cppmain.c (scan_translation_unit): Don't worry about
6308         putting a space after hashes.
6309         * cpplib.c (directive_diagnostics): New.
6310         (_cpp_handle_directive): Update to use directive_diagnostics.
6311         (run_directive): Don't toggle prevent_expansion.
6312         (do_line): Backup in case of the line extension.
6313         * cpplib.h (cpp_lexer_pos): Remove.
6314         * cppmacro.c (_cpp_create_definition): Precede a leading #
6315         with whitespace.
6316
6317 2001-09-15  Richard Henderson  <rth@redhat.com>
6318
6319         * c-typeck.c (comptypes): Handle zero-length arrays properly.
6320
6321 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
6322
6323         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
6324
6325 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6326
6327         PR preprocessor/3571
6328         * tradcpp.c (handle_directive): Skip non-vertical space.
6329
6330 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6331
6332         * cppmain.c (setup_callbacks): Set line callback only
6333         if outputting preprocessed source.
6334
6335 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6336
6337         * collect2.c (main): Const-ification.
6338         * gcc.c (translate_options, process_command): Use xstrdup in
6339         lieu of xmalloc/strcpy.
6340         (main): Use concat in lieu of xmalloc/strcpy/strcat.
6341
6342 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
6343
6344         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
6345         example.
6346
6347 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6348
6349         * scan-decls.c (scan_decls): Fix typo.
6350
6351 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6352
6353         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
6354         Split mlstring_pos into mls_line and mls_col.
6355         * cppinit.c (cpp_create_reader): Initialize line to 1.
6356         (cpp_destroy): Free tokenruns.
6357         (push_include): Don't update lexer_pos.
6358         * cpplex.c (unterminated, parse_string): Update.
6359         (lex_token): Don't update lexer_pos, update.
6360         * cpplib.c (if_stack): Save line instead of line + col.
6361         (start_directive, _cpp_do__Pragma, do_else, do_elif,
6362         push_conditional, _cpp_pop_buffer): Update.
6363         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
6364         (_cpp_create_definition): Update.
6365
6366 2001-09-15  Eric Christopher  <echristo@redhat.com>
6367
6368         * config/mips/abi64.h: Add support for MEABI.
6369
6370 2001-09-15  Eric Christopher  <echristo@redhat.com>
6371
6372         * config/mips/mips.md: Add unspec #2.
6373         (reload_indi): Use.
6374         (reload_outdi): Ditto.
6375         (reload_outsi): Ditto.
6376         (HILO_delay): New.
6377
6378 2001-09-15  Eric Christopher  <echristo@redhat.com>
6379             Jason Eckhardt  <jle@redhat.com>
6380
6381         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
6382         * config/mips/isa32-linux.h: New file.
6383         * config/mips/isa3264.h: Ditto.
6384         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
6385         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
6386         (output_block_mode): Support MEABI.
6387         (function_arg): Ditto. Fix floating point arg passing.
6388         (mips_va_start): Ditto.
6389         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
6390         processors.
6391         (mips_asm_file_start): Add new section to pass abi to gdb.
6392         (function_arg_pass_by_reference): Support MEABI.
6393         (mips_parse_cpu): Support mips32 and mips64 processors.
6394         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
6395         TARGET_MIPS5KC.  Support isa32 and isa64.
6396         (processor_type): Add r4kc, r5kc, r20kc.
6397         (GENERATE_MULT3_SI): New.
6398         (GENERATE_MULT3_DI): Ditto.
6399         (GENERATE_MULT3): Remove.
6400         (ISA_HAS_64BIT_REGS): Add isa == 64.
6401         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
6402         (ISA_HAS_MADD_MSUB): New.
6403         (ISA_HAS_CLZ_CLO): Ditto.
6404         (ISA_HAS_DCLZ_DCLO): Ditto.
6405         (ABI_GAS_ASM_SPEC): New.
6406         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
6407         (ASM_SPEC): Ditto.
6408         (LINK_SPEC): Ditto.
6409         (SUBTARGET_CC1_SPEC): Ditto.
6410         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
6411         (PAD_VARARGS_DOWN): Support MEABI.
6412         (HARD_REGNO_NREGS): Move to mips.c.
6413         (ASM_OUTPUT_IDENT): Add #undef.
6414         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
6415         (mulsi3): Use GENERATE_MULT3_SI.
6416         (mulsi3_mult3): Ditto.  Support mips32, mips64.
6417         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
6418         (mul_sub_si): New pattern.
6419         (unnamed splitters): New.
6420         (muldi3): Use GENERATE_MULT3_DI.
6421         (muldi3_internal2): Ditto.
6422         (movdicc): Support mips32.
6423         * config/mips/t-isa3264: New file.
6424
6425 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
6426
6427         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
6428         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
6429         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
6430
6431         * reorg.c (fill_slots_from_thread): After call to
6432         steal_delay_list_from_target, update own_thread as new_thread may
6433         have branched.
6434
6435 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
6436
6437         * cpperror.c (print_location): Take line and column, for
6438         default positioning use the previously lexed token.
6439         (_cpp_begin_message): Take line and column.
6440         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
6441         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
6442         * cpphash.h (_cpp_begin_message): Update prototype.
6443         * cppinit.c (push_include): Don't set output line.
6444         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
6445         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
6446         (do_pragma): Kludge for front ends.  Don't expand macros at all.
6447         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
6448         (struct cpp_token): Remove output_line.
6449         (struct cpp_callbacks): New member line_change.
6450         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
6451         cpp_get_token): Preserve BOL flag.
6452         (cpp_get_line): Remove.
6453         (_cpp_backup_tokens): Remove useless abort().
6454         * cppmain.c (cb_line_change): New.
6455         (scan_translation_unit): Don't worry about starting new lines here.
6456         * scan-decls.c (scan_decls): Update.
6457         * c-lex.c (c_lex, init_c_lex): Update.
6458         (cb_line_change, src_lineno): New.
6459
6460 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
6461
6462         * tree.c (append_random_chars): Generate the random
6463         characters in a reproducable fashion.
6464
6465 2001-09-14  Richard Henderson  <rth@redhat.com>
6466
6467         * config/i386/i386.c (internal_label_prefix): New.
6468         (internal_label_prefix_len): New.
6469         (override_options): Set them.
6470         (local_symbolic_operand): New.
6471         (legitimate_pic_address_disp_p): Use it.
6472         (legitimize_pic_address): Likewise.
6473
6474 2001-09-14  Marc Espie <espie@openbsd.org>
6475
6476         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
6477         correctly.
6478
6479 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
6480
6481         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
6482         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
6483
6484 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
6485
6486         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
6487         invocation of SUBREG_REGNO_OFFSET.
6488
6489         * haifa-sched.c: Fix typo in FSF copyright statement.
6490         * sched-deps.c: Fix typo in FSF copyright statement.
6491         * sched-ebb.c: Fix typo in FSF copyright statement.
6492         * sched-rgn.c: Fix typo in FSF copyright statement.
6493         * sched-vis.c: Fix typo in FSF copyright statement.
6494
6495         * config.gcc: Move inclusion of arm elf specific header files
6496         from the files themselves into the tm_file variable.  Make
6497         sure that elfos.h is included before target specific elf
6498         headers.
6499         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
6500         already defined.
6501         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
6502         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
6503         ASM_OUTPUT_CASE_LABEL): Protect definition.
6504         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
6505         not already defined.
6506         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
6507         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
6508         Remove duplicate definition.
6509         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
6510         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
6511         (RDATA_SECTION_FUNCTION): Remove redundant definition.
6512         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
6513         Remove inclusion of arm/elf.h.
6514         * config/arm/unknown-elf.h: as for conix-elf.h.
6515         (STARTFILE_SPEC): Include crti.o and crtn.o.
6516         * config/arm/linux-elf.h: as for conix-elf.h.
6517         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
6518         * config/arm/strongarm-elf.h: Remove inclusion of
6519         unknown-elf.h.
6520         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
6521         * config/arm/unknown-elf-oabi.h: Remove inclusion of
6522         unknown-elf.h and elf.h.
6523         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
6524         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
6525         ASM_WEAKEN_LABEL): Remove redundant definition.
6526         * config/arm/elf.h: Test for inclusion of elfos.h
6527         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
6528         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
6529         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
6530         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
6531         redundant definition.
6532         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
6533         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
6534         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
6535         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
6536         Add rules to build crti.o and crtn.o
6537         * crti.asm: New file.
6538         * crtn.asm: New file.
6539
6540 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
6541
6542         * c-parse.in (_yylex): Use _cpp_backup_tokens.
6543         * cpphash.h (struct tokenrun): Add prev.
6544         (struct lexer_state): Remove bol.
6545         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
6546         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
6547         : Remove.
6548         * cppinit.c (cpp_create_reader): Don't set bol.
6549         (cpp_destroy): Don't free lookaheads.
6550         * cpplex.c (lex_directive): Remove.
6551         (next_tokenrun): Update.
6552         (_cpp_lex_token): Clean up logic.
6553         (lex_token): Update to return a pointer to lexed token, since it
6554         can move to the start of the buffer.  Simpify newline handling.
6555         * cpplib.c (SEEN_EOL): Update.
6556         (skip_rest_of_line): Remove lookahead stuff.
6557         (end_directive): Line numbers are already incremented.  Revert
6558         to start of lexed token buffer if we can.
6559         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
6560         parse_answer): Use _cpp_backup_tokens.
6561         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
6562         instead.  Don't check for EOL.
6563         (do_include_common, do_line, do_pragma_system_header): Use
6564         skip_rest_of_line.
6565         * cpplib.h (BOL, _cpp_backup_tokens): New.
6566         * cppmacro.c (save_lookahead_token, take_lookahead_token,
6567         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
6568         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
6569         (builtin_macro): Don't use cpp_get_line.
6570         (cpp_get_line): Short term kludge.
6571         (parse_arg): Handle directives in arguments here.  Back up when
6572         appropriate.  Store EOF at end of argument list.
6573         (funlike_invocation_p): Use _cpp_backup_tokens.
6574         (push_arg_context): Account for EOF at end of list.
6575         (cpp_get_token): Remove lookahead stuff.  Update.
6576
6577 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6578
6579         * c-parse.in (yyerror): Const-ification and/or static-ization.
6580         * c-typeck.c (push_member_name): Likewise.
6581         * collect2.c (main): Likewise.
6582         * dbxout.c (dbxout_parms): Likewise.
6583         * diagnostic.c (format_with_decl): Likewise.
6584         * dwarf2out.c (output_ranges): Likewise.
6585         * dwarfout.c (fundamental_type_code): Likewise.
6586         * except.c (dw2_output_call_site_table): Likewise.
6587         * gcc.c (do_spec_1): Likewise.
6588         * genopinit.c (optabs): Likewise.
6589         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
6590         gen_declaration_1, handle_impent): Likewise.
6591         * protoize.c (default_include, in_system_include_dir, abspath):
6592         Likewise.
6593         * sched-vis.c (visualize_stall_cycles): Likewise.
6594         * sdbout.c (plain_type_1, sdbout_end_function,
6595         sdbout_end_epilogue): Likewise.
6596         * varasm.c (decode_reg_name): Likewise.
6597
6598         * 1750a.c (mod_regno_adjust): Likewise.
6599         * alpha.c (alpha_write_one_linkage,
6600         unicosmk_output_default_externs): Likewise.
6601         * arm.c (arm_condition_codes): Likewise.
6602         * arm.h (arm_condition_codes): Likewise.
6603         * avr.c (output_movsisf, encode_section_info): Likewise.
6604         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
6605         Likewise.
6606         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
6607         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
6608         * m88k.c (output_function_profiler): Likewise.
6609         * mips.c (mips_output_conditional_branch): Likewise.
6610         * ns32k.c (ns32k_out_reg_names): Likewise.
6611         * ns32k.h (ns32k_out_reg_names): Likewise.
6612         * pj.c (pj_output_rval): Likewise.
6613         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
6614         * sparc.c (sparc_flat_function_prologue,
6615         sparc_flat_function_epilogue): Likewise.
6616
6617 2001-09-13  Markus Werle <numerical.simulation@web.de>
6618             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6619
6620         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
6621         Aachen University of Technology".
6622
6623 2001-09-13  Andreas Schwab  <schwab@suse.de>
6624
6625         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
6626         C99.
6627
6628 2001-09-13  Richard Henderson  <rth@redhat.com>
6629
6630         * config/alpha/alpha.c (small_symbolic_operand): New.
6631         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
6632         (some_operand, input_operand): Don't handle HIGH.
6633         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
6634         (alpha_expand_mov): Likewise.
6635         (print_operand) [H]: Just print HIGH symbol.
6636         (print_operand_address): Handle small data.
6637         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
6638         (TARGET_SWITCHES): Add -msmall-data/large-data.
6639         (PIC_OFFSET_TABLE_REGNUM): New.
6640         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
6641         (PREDICATE_COES): Update.
6642         * config/alpha/alpha.md (adddi_er_high): New.
6643         (adddi_er_low): Handle small data.
6644         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
6645         prefer .sdata to .rodata.
6646         (SELECT_RTX_SECTION): Likewise.
6647
6648 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
6649
6650         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
6651         defining __size_t and leaving size_t undefined.
6652
6653 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
6654
6655         * basic-block.h (expunge_block): Declare.
6656         * cfg.c (expunge_block): Remove static declaration.
6657
6658 2001-09-12  Richard Henderson  <rth@redhat.com>
6659
6660         * integrate.c (copy_insn_list): Copy label name from
6661         NOTE_INSN_DELETED_LABEL.
6662
6663 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6664
6665         * c-common.c (c_tree_code_name): Const-ification.
6666         * c-decl.c (c_decode_option): Likewise.
6667         * c-typeck.c (warn_for_assignment): Likewise.
6668         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
6669         Likewise.
6670         * cppinit.c (output_deps): Likewise.
6671         * dependence.c (dependence_string, direction_string): Likewise.
6672         * dwarf2out.c (output_ranges): Likewise.
6673         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
6674         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
6675         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
6676         standard_startfile_prefix, standard_startfile_prefix_1,
6677         standard_startfile_prefix_2, tooldir_base_prefix,
6678         standard_bindir_prefix, find_a_file): Likewise.
6679         * genattrtab.c (make_length_attrs): Likewise.
6680         * gencheck.c (tree_codes): Likewise.
6681         * genemit.c (gen_split): Likewise.
6682         * genrecog.c (special_mode_pred_table): Likewise.
6683         * graph.c (graph_ext): Likewise.
6684         * protoize (default_include): Likewise.
6685         * reload.c (reload_when_needed_name): Likewise.
6686         * sched-vis.c (visualize_stall_cycles): Likewise.
6687         * tlink.c (recompile_files): Likewise.
6688         * toplev.c (decode_g_option): Likewise.
6689         * tradcpp.c (output_deps): Likewise.
6690         * varasm.c (decode_reg_name): Likewise.
6691
6692         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
6693         Const-ification.
6694         * arm.md: Likewise.
6695         * avr.c (avr_regnames, encode_section_info): Likewise.
6696         * c4x.c (float_reg_names): Likewise.
6697         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
6698         * elfos.h (const_section): Likewise.
6699         * i386.c (ix86_comp_type_attributes): Likewise.
6700         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
6701         * ia64/aix.h (UNIQUE_SECTION): Likewise.
6702         * ia64.c (type_names): Likewise.
6703         * m68hc11.c (reg_class_names): Likewise.
6704         * m88k.c (m_options): Likewise.
6705         * mips.c (mips_output_conditional_branch, mips_unique_section):
6706         Likewise.
6707         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
6708         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
6709         ultra_code_names): Likewise.
6710         * sparc.h (OVERRIDE_OPTIONS): Likewise.
6711
6712 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
6713
6714         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
6715         Use --fatal-warnings option for gas.
6716         * configure: Rebuilt.
6717
6718 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
6719
6720         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
6721
6722 2001-09-11  Jim Wilson  <wilson@redhat.com>
6723
6724         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
6725
6726 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
6727
6728         * builtins.c (c_strlen): Treat an offset too large for a
6729         HOST_WIDE_INT as out of range.
6730
6731 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
6732
6733         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
6734         (EDGE_CRITICAL_P): New predicate.
6735         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
6736         handling.
6737         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
6738         (dump_edge_info): Remove "crit".
6739         * cfganal.c (mark_critical_edges): Kill.
6740         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
6741         * cfgcleanup.c (cleanup_cfg): Likewise.
6742         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
6743         (find_spanning_tree): Likewise.
6744         * reg-stack.c (convert_regs_1): Likewise.
6745         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
6746
6747         * basic-block.h (create_basic_block_structure): New.
6748         (create_basic_block): Update prototype.
6749         (force_nonfallthru): New.
6750         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
6751         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
6752         handle updating of block_for_insn, creating of empty BBs and BBs at
6753         the end of INSN chain.
6754         (create_basic_block): New function.
6755         (split_block): Use create_basic_block.
6756         (force_nonfallthru_and_redirect): Break out from ...; cleanup
6757         (redirect_edge_and_branch_force): ... here.
6758         (force_nonfallthru): New.
6759         (split_edge): Rewrite to use force_nonfallthru and create_block.
6760         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
6761         (find_basic_blocks): Free basic_block_for_insn.
6762         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
6763
6764         * cfg.c: Fix formating.
6765         * cfgcleanup.c: Fix formating.
6766         (merge_blocks, tail_recursion_label_p): Return bool.
6767         (merge_blocks_move_predecessor_nojumps,
6768          merge_blocks_move_successor_nojumps): Return void.
6769
6770 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
6771
6772         * configure.in: Check whether assembler supports section merging.
6773         * config.in: Rebuilt.
6774         * configure: Rebuilt.
6775         * varasm.c (variable_section, output_constant_pool): Pass alignment
6776         to SELECT_SECTION and SELECT_RTX_SECTION.
6777         (mergeable_string_section): New.
6778         (mergeable_constant_section): New.
6779         (default_elf_asm_named_section): Output SECTION_MERGE and
6780         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
6781         * output.h (mergeable_string_section): New.
6782         (mergeable_constant_section): New.
6783         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
6784         * toplev.c (flag_merge_constants): New.
6785         (f_options): Add -fmerge-constants and -fmerge-all-constants
6786         options.
6787         (toplev_main): Default to -fno-merge-constants if not optimizing.
6788         * flags.h (flag_merge_constants): Add extern.
6789         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
6790         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
6791         argument.
6792         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
6793         Define if assembler has working .subsection -1 support.
6794         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
6795         Put constant into special SHF_MERGE sections if the linker should
6796         attempt to merge duplicates.
6797         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
6798         macro argument.
6799         Put constant into special SHF_MERGE sections if the linker should
6800         attempt to merge duplicates.
6801         * config/alpha/elf.h: Likewise.
6802         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
6803         has working .subsection -1 support.
6804         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
6805         SELECT_SECTION.
6806         * config/svr3.h: Likewise.
6807         * config/darwin.h: Likewise.
6808         * config/arm/aof.h: Likewise.
6809         * config/arm/linux-elf.h: Likewise.
6810         * config/avr/avr.h: Likewise.
6811         * config/c4x/c4x.h: Likewise.
6812         * config/d30v/d30v.h: Likewise.
6813         * config/i386/dgux.h: Likewise.
6814         * config/i386/osfrose.h: Likewise.
6815         * config/i386/sco5.h: Likewise.
6816         * config/i386/svr3gas.h: Likewise.
6817         * config/ia64/aix.h: Likewise.
6818         * config/m32r/m32r.h: Likewise.
6819         * config/m68k/m68k.h: Likewise.
6820         * config/m88k/dgux.h: Likewise.
6821         * config/m88k/m88k.h: Likewise.
6822         * config/mcore/mcore-pe.h: Likewise.
6823         * config/mips/mips.h: Likewise.
6824         * config/pa/pa.h: Likewise.
6825         * config/pa/pa-linux.h: Likewise.
6826         * config/romp/romp.h: Likewise.
6827         * config/rs6000/sysv4.h: Likewise.
6828         * config/rs6000/xcoff.h: Likewise.
6829         * config/s390/linux.h: Likewise.
6830         * config/sparc/sparc.h: Likewise.
6831         * config/sparc/sysv4.h: Likewise.
6832         * config/stormy16/stormy16.h: Likewise.
6833         * config/v850/v850.h: Likewise.
6834         * config/vax/vms.h: Likewise.
6835         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
6836         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
6837         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
6838         default_elf_asm_named_section for SHF_MERGE sections.
6839
6840 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
6841
6842         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
6843         is OK.
6844
6845 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
6846
6847         * c-common.c (split_specs_attrs): Allow for empty attributes with
6848         empty TREE_PURPOSE.  Fixes PR c/4294.
6849
6850 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
6851
6852         * basic-block.h (cached_make_edge, make_single_succ): New.
6853         (make_edge): Remove first parameter.
6854         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
6855         * cfg.c (cached_make_edge): Rename from make_edge; return newly
6856         created edge; use obstack allocation.
6857         (make_edge, make_single_succ_edge): New.
6858         (first_removed_edge): New static variable.
6859         (init_flow): Initialize first_removed_edge and n_edges.
6860         (clear_edges): Use remove_edge.
6861         (flow_delete_block): Likewise.
6862         (remove_edge): Add removed edges to the removed edges list.
6863         (split_block, redirect_edge_and_branch_force, split_edge):
6864         Use make_edge.
6865         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
6866         (add_noreturn_fake_exit_edges): Likewise.
6867         (connect_infinite_loops_to_exit): Liekwise.
6868         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
6869         Use cached_make_edge.
6870         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
6871         * profile.c (branch_prob): Update make_edge call.
6872         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
6873
6874 2001-09-11  Richard Henderson  <rth@redhat.com>
6875
6876         * config/alpha/alpha.c: Tidy formatting.
6877         (local_symbolic_operand): Verify mode.
6878         (alpha_sa_mask): Ignore unicos for eh_return.
6879         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
6880         * config/alpha/alpha.md (umk divsi patterns): Remove.
6881         (extendsfdf2): Remove unicos check.
6882         (tablejump): Merge vms and unicos code; always use direct set
6883         plus label_ref use.
6884
6885 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
6886
6887         * config.gcc (alpha*-*-unicosmk*): New target.
6888
6889         * config/alpha/alpha-protos.h (symbolic_operand,
6890         unicosmk_add_call_info_word, unicosmk_add_extern,
6891         unicosmk_defer_case_vector, unicosmk_unique_section,
6892         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
6893         unicosmk_asm_file_start, unicosmk_asm_file_end,
6894         unicosmk_output_common): Declare.
6895
6896         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
6897         direct_return, function_arg, alpha_va_start, alpha_va_arg,
6898         alpha_does_function_need_gp, alpha_end_function): Support Cray
6899         Unicos/Mk.
6900         (alpha_init_machine_status, alpha_mark_machine_status,
6901         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
6902         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
6903         unicosmk_asm_named_section, unicosmk_insert_attributes,
6904         unicosmk_section_type_flags, symbolic_operand,
6905         unicosmk_output_module_name, unicosmk_output_default_externs,
6906         unicosmk_output_dex, unicosmk_output_externs,
6907         unicosmk_output_addr_vec, unicosmk_ssib_name,
6908         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
6909         unicosmk_asm_file_end, unicosmk_output_common,
6910         unicosmk_section_type_flags, unicosmk_unique_section,
6911         unicosmk_add_call_info_word, unicosmk_text_section,
6912         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
6913         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
6914         unicosmk_dex_count, unicosmk_special_name): New.
6915         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
6916         TARGET_ABI_UNICOSMK.
6917         (get_aligned_mem, alpha_expand_unaligned_load,
6918         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
6919         alpha_expand_unaligned_store_words): Support big-endian mode.
6920         (print_operand): Likewise. New format specifier 't'. Use
6921         TARGET_AS_SLASH_BEFORE_SUFFIX.
6922         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
6923         (alpha_pv_save_size): Update with above change.
6924         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
6925         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
6926         Unicos/Mk.
6927
6928         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
6929         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
6930         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
6931         (EXTRA_CONSTRAINT): New constraint 'U'.
6932         (PREDICATE_CODES): Add symbolic_operand.
6933
6934         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
6935         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
6936         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
6937         (integer division and modulus patterns): Split in default and
6938         Unicos/Mk versions.
6939         (*divmodsi_internal, *divmoddi_internal): Disable for
6940         TARGET_ABI_UNICOSMK.
6941         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
6942         little-endian and big-endian versions.
6943         (ext, ins, msk): Likewise.
6944         (extv, extzv, insv): Support big-endian mode.
6945         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
6946         (call_umk, call_value_umk, *call_umk, tablejump_umk,
6947         *tablejump_umk_internal, *call_value_umk): New.
6948         (*movdi_nofix): Add pattern for loading an address into a register on
6949         TARGET_ABI_UNICOSMK.
6950         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
6951         (umk_mismatch_args, arg_home_umk): New.
6952         (various insns): Don't use mov, fmov, nop, fnop and unop.
6953         (realign): Support TARGET_ABI_UNICOSMK.
6954
6955         * config/alpha/unicosmk.h: New file.
6956         * config/alpha/t-unicosmk: New file.
6957
6958         * fixinc/inclhack.def (unicosmk_restrict): New.
6959         * fixinc/fixincl.x: Regenerate.
6960
6961         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
6962         (wchar_t): Check for and define __WCHAR_T__.
6963
6964 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
6965
6966         * combine.c (simplify_shift_const): Treat shifts by the mode
6967         size as undefined.
6968
6969 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
6970
6971         * cpphash.h (struct tokenrun): New.
6972         (struct cpp_context): New member bol.
6973         (struct cpp_reader): New members.
6974         (_cpp_init_tokenrun): New.
6975         * cppinit.c (cpp_create_reader): Set up the token runs.
6976         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
6977         (lex_token): New internalised version of _cpp_lex_token.  Don't
6978         handle directives or the multiple include opimisation here any
6979         more.  Simply lex a token.
6980         * cpplib.c (run_directive): Clear bol.
6981         (_cpp_pop_buffer): Set bol.
6982         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
6983         arguments.
6984
6985 2001-09-11  Michael Meissner  <meissner@redhat.com>
6986
6987         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
6988         give an error if the user uses -mfp32.
6989         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
6990         default options.
6991         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
6992         floating point register size.
6993         (EXTRA_SPECS): Add CPP_FPR_SPEC.
6994
6995         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
6996         HOST_WIDE_INT_PRINT_DEC to properly print the result of
6997         int_size_in_bytes.
6998         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
6999         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
7000
7001 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
7002
7003         * dbxout.c (dbxout_parms): Fix typo in comment.
7004         * unroll.c (loop_find_equiv_value): Ditto.
7005         * toplev.c (rest_of_compilation): Ditto.
7006         * loop.c (scan_loop): Ditto.
7007         * dwarf2out.c (struct dw_fde_struct): Ditto.
7008
7009 2001-09-10  Zack Weinberg  <zackw@panix.com>
7010
7011         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
7012         copying identifier when we're just going to throw it away.
7013         (parse_identifier_slow): New routine to handle abnormal cases.
7014         (_cpp_lex_token): Update call site.
7015
7016         * hashtable.c (ht_lookup): Don't assume that the string we've
7017         been given is NUL-terminated.
7018         * system.h: #define __builtin_expect(a, b) to (a) if not
7019         GCC >=3.0.
7020
7021 2001-09-10  Michael Meissner  <meissner@redhat.com>
7022
7023         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
7024         binutils, gdb.
7025
7026 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
7027
7028         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
7029
7030 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7031
7032         * builtins.c (c_getstr): Correct thinko in last change and further
7033         cleanup.
7034
7035 2001-09-10  Tim Freeman <tim@fungibole.com>
7036
7037         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
7038         into varray's and register them as roots with the garbage
7039         collector so they are not collected too soon.
7040
7041 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
7042
7043         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
7044         New.
7045         * basic-block.h (flow_obstack, label_value_list,
7046         tail_recursion_label_list): Declare
7047         (tidy_fallthru_edges): Declare.
7048         (expunge_block, last_loop_beg_note): Delete.
7049         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
7050         * cfg.c: New file
7051         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
7052         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
7053         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
7054         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
7055         expunge_block, flow_delete_block, compute_bb_for_insn,
7056         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
7057         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
7058         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
7059         try_redirect_by_replacing_jump, last_loop_beg_note,
7060         redirect_edge_and_branch, redirect_edge_and_branch_force,
7061         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
7062         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
7063         commit_edge_insertions, dump_flow_info, debug_flow_info,
7064         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
7065         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
7066         Move here from flow.c
7067         * cfganal.c: New file.
7068         (forwarder_block_p, can_fallthru, mark_critical_edges,
7069          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
7070          find_unreachable_blocks, create_edge_list, free_edge_list,
7071          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
7072          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
7073          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
7074          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
7075          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
7076          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
7077         Move here from flow.c
7078         * cfgbuild.c: New file
7079         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
7080          make_edges, find_basic_blocks_1, find_basic_blocks,
7081          find_sub_basic_blocks): Move here from flow.c
7082         * cfgcleanup.c: New file.
7083         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
7084          merge_blocks_move_predecessor_nojumps,
7085          merge_blocks_move_successor_nojumps, merge_blocks,
7086          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
7087          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
7088         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
7089         if succeeded.
7090         * cfgloop.c: New file
7091         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
7092          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
7093          flow_loop_exit_edges_find, flow_loop_nodes_find,
7094          flow_loop_pre_header_scan, flow_loop_pre_header_find,
7095          flow_loop_tree_node_add, flow_loops_tree_build,
7096          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
7097          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
7098         Move here from flow.c
7099         * flow.c: Remove everything moved elsewhere
7100         * output.h (cleanup_cfg): Return bool.
7101
7102         * bb-reorder.c (reorder_block_def): Remove 'index'.
7103         (insert_intra_1): Add argument BB, set block for new note.
7104         (make_reorder_chain): Do not depdent on BB indexes.
7105         (make_reorder_chain_1): Do not use BB indexes.
7106         (label_for_bb): Likewise; set BB for new insn.
7107         (emit_jump_to_block_after): Likewise.
7108         (fixup_reoder_chain): Sanity check that all basic blocks
7109         are chained; verify newly created insn chain; remove
7110         undocnitional jump simplifying; Do not use BB indexes;
7111         properly initialize count and frequency information;
7112         dump reordered sequence.
7113         (insert_intra_bb_scope_notes): update call of insert_intra_1.
7114         (insert_inter_bb_scope_notes): Set block for new insn.
7115         (reorder_basic_blocks): Dump flow info before reoredering.
7116
7117 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7118
7119         * alias.c (clear_reg_alias_info): Use K&R format definition.
7120         Avoid unsigned warning.
7121         * builtins.c: Use "unsigned int", not "unsigned".
7122         (target_char_cast): Use host_integerp and tree_low_cst.
7123         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
7124         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
7125         (c_getstr): Likewise.
7126         (std_expand_builtin_va_arg): Use int_size_in_bytes.
7127         (builtin_memcpy_read_str): Avoid unsigned warning.
7128         (expand_builtin_memcpy): Alignments are unsigned.
7129         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
7130         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
7131         * predict.c (expensive_function_p): LIMIT now unsigned.
7132         * resource.c (mark_target_live_regs): Make some vars unsigned.
7133         * sdbout.c: Use "unsigned int", not "unsigned".
7134         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
7135         (sdbout_source_line): Likewise.
7136         (sdbout_record_type_name): Remove "const" for NAME declaration.
7137         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
7138
7139 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
7140
7141         * calls.c (store_one_arg): Expand comment.
7142
7143 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
7144
7145         * calls.c (store_one_arg): Make sure that the entire argument is
7146         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
7147
7148 2001-09-09  Richard Henderson  <rth@redhat.com>
7149
7150         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
7151
7152 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
7153
7154         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
7155
7156 2001-09-09  Richard Henderson  <rth@redhat.com>
7157
7158         * config/alpha/alpha.c (alpha_next_sequence_number): New.
7159         (alpha_this_literal_sequence_number): New.
7160         (alpha_this_gpdisp_sequence_number): New.
7161         (some_operand, input_operand): Add HIGH.
7162         (local_symbolic_operand): New.
7163         (alpha_encode_section_info): New.
7164         (alpha_legitimate_address_p): Allow LO_SUM.
7165         (alpha_legitimize_address): Generate HIGH+LO_SUM.
7166         (alpha_expand_mov): Likewise.
7167         (secondary_reload_class): Check memory_operand not general_operand
7168         for FP_REGS test.
7169         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
7170         (alpha_expand_unaligned_store): Likewise.
7171         (alpha_expand_unaligned_load_words): Likewise.
7172         (alpha_expand_unaligned_store_words): Likewise.
7173         (alpha_expand_block_clear): Likewise.
7174         (print_operand): Handle %#, %*, %H.
7175         (print_operand_address): Handle LO_SUM.
7176         (find_lo_sum): New.
7177         (alpha_does_function_need_gp): Use it.
7178         (alpha_expand_block_move): Fix signed compare warnings.
7179         (alpha_sa_mask, alpha_align_insns): Likewise.
7180         * config/alpha/alpha-protos.h: Update.
7181         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
7182         (MASK_EXPLICIT_RELOCS): New.
7183         (TARGET_SWITCHES): Add -mexplicit-relocs.
7184         (EXTRA_CONSTRAINT): Add 'T'.
7185         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
7186         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
7187         (ENCODE_SECTION_INFO): Out line.
7188         (REDO_SECTION_INFO_P): New.
7189         (STRIP_NAME_ENCODING): New.
7190         (ASM_OUTPUT_LABELREF): New.
7191         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
7192         (PREDICATE_CODES): Update.
7193         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
7194         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
7195         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
7196         builtin_setjmp_receiver_er, exception_receiver_1_er,
7197         call_value_osf_1_er): New patterns.
7198         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
7199         (movqi, movhi, movsi): Add explicit $31 base register to lda.
7200         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
7201         (FINAL_PRESCAN_INSN): New.
7202
7203 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
7204
7205         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
7206
7207 2001-09-08  Andreas Jaeger  <aj@suse.de>
7208
7209         * i386.h (TARGET_SWITCHES): Fix description.
7210
7211 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
7212
7213         * rs6000.c (num_insns_constant): Compute number of instructions
7214         more accurately.
7215
7216         * doc/install.texi: Explain AIX exception handling work-around.
7217         Update URL for AIX fixes.
7218
7219 2001-09-07  Jim Wilson  <wilson@redhat.com>
7220
7221         * alias.c (clear_reg_alias_info): New.
7222         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
7223         * rtl.h (clear_reg_alias_info): Declare.
7224
7225 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
7226
7227         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
7228         available.
7229         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
7230         (m16m,edivm,emulm): Change declaration to match definition.
7231
7232 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
7233
7234         * reload.c (push_reload): Check for subreg_lowpart_p instead of
7235         SUBREG_BYTE being 0 when determining if the inner part of a subreg
7236         can be reloaded.
7237
7238 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
7239
7240         * c-common.c (signed_or_unsigned_type): Handle machine mode types
7241         which have no corresponding C type.
7242         * fold_const.c (target_isinf,target_isnan,target_negative): Update
7243         the representation of 64-bit doubles to work with 64-bit ints.
7244
7245 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
7246
7247         * config/mips/mips.c (override_options): Do not override ISA when ABI
7248         specified if MIPS_CPU_STRING_DEFAULT was specified.
7249
7250 2001-09-07  Richard Henderson  <rth@redhat.com>
7251
7252         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
7253         (express_from_1): Wrap lines.
7254         * rtlanal.c (commutative_operand_precedence): Rename from
7255         operand_preference; export.
7256         * rtl.h: Declare it.
7257         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
7258         (simplify_binary_operation): Invoke simplify_plus_minus on
7259         (CONST (PLUS ...)) as well.
7260         (struct simplify_plus_minus_op_data): New.
7261         (simplify_plus_minus_op_data_cmp): New.
7262         (simplify_plus_minus): Use them.  Avoid infinite recursion with
7263         simplify_binary_operation wrt CONST.
7264
7265 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
7266
7267         * h8300-protos.h (general_operand_dst_push): Remove.
7268         * h8300.c (general_operand_dst_push): Likewise.
7269         * h8300.h (OK_FOR_T): Likewise.
7270         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
7271         * h8300.md (pushqi_h8300): New.
7272         (pushqi_h8300hs): Likewise.
7273         (pushqi): Likewise.
7274         (pushhi_h8300): Likewise.
7275         (pushhi_h8300hs): Likewise.
7276         (pushhi): Likewise.
7277
7278 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7279
7280         * genattrtab.c (attr_printf): First arg is unsigned.
7281         Clean up formatting of callers.
7282
7283 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
7284
7285         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
7286         registers.
7287
7288 2001-09-07  Andreas Jaeger  <aj@suse.de>
7289
7290         * i386.h (TARGET_SWITCHES): Fix descriptions.
7291
7292 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7293
7294         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
7295
7296 2001-09-06  Ira Ruben  <ira@apple.com>
7297
7298         Remove OP_IDENTIFIER.
7299         * tree.def (OP_IDENTIFIER): Remove.
7300         * tree.c (tree_node_kind enum): Remove op_id_kind.
7301         (tree_node_kind_names): Remove "op_identifiers".
7302         (make_node): Remove OP_IDENTIFIER test.
7303         (build_op_identifier): Removed because it isn't being used.
7304         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
7305         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
7306
7307 2001-09-06  Richard Henderson  <rth@redhat.com>
7308
7309         * simplify-rtx.c (simplify_binary_operation): Revert last change.
7310
7311 2001-09-06  Richard Henderson  <rth@redhat.com>
7312
7313         * simplify-rtx.c (simplify_binary_operation): Simplify contents
7314         of CONST.
7315
7316 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7317
7318         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
7319         number used for CR register.
7320
7321 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
7322                           Joern Rennecke (amylaar@cygnus.com)
7323
7324         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
7325         * h8300.c (initial_offset): Handle offset between RP and FP.
7326         (h8300_return_addr_rtx): New function.
7327         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
7328         return register.
7329         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
7330         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
7331         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
7332         (CAN_ELIMINATE, REGISTER_NAMES):
7333         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
7334
7335 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
7336
7337         Remove TYPE_NONCOPIED_PARTS.
7338         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
7339         (struct tree_type): Remove noncopied_parts.
7340         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
7341         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
7342         (fixed_type_p): Remove.
7343         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
7344         (expand_expr, MODIFY_EXPR): Likewise.
7345         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
7346         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
7347
7348 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
7349
7350         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
7351         compiler warnings.
7352         (mask64_operand): Likewise.
7353         (includes_rldic_lshift_p): Likewise.
7354         (includes_rldicr_lshift_p): Likewise.
7355
7356 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
7357
7358         * objc/objc-act.c (build_message_expr): If a class method cannot
7359         be found, do not issue a warning if a corresponding instance
7360         method exists in the root class.
7361
7362 2001-09-05  Richard Henderson  <rth@redhat.com>
7363
7364         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
7365
7366 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
7367
7368         * function.c (ggc_mark_struct_function): Mark f->outer.
7369         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
7370         * integrate.c (output_inline_function): ... not here.
7371
7372 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
7373
7374         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
7375
7376         * i386.c (size_cost): New static variable.
7377         (override_function): Use size_cost when -Os is specified.
7378
7379         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
7380         properly;  Use current_function_calls_eh_return.
7381         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
7382         use leave to avoid dependency chain.
7383
7384         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
7385         get BB loop_depth instead of computing it from LOOP notes.
7386
7387         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
7388
7389 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7390
7391         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7392         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
7393         UNALIGNED_DOUBLE_INT_ASM_OP): Define
7394
7395 2001-09-05  Jeffrey A Law  (law@cygnus.com)
7396             Jason Merrill (jason@redhat.com)
7397
7398         * stor-layout.c (layout_type): Complain if an array's size can
7399         not be represented in a size_t.
7400
7401         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
7402
7403 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
7404
7405         * gcc.c: (process_command) Add parentheses around assignment
7406         used as truth value.
7407
7408 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
7409
7410         * config/mips/mips.c (save_restore_insns): Don't mark any register
7411         save slots as unchanging if current_function_calls_eh_return.
7412
7413 2001-09-05  Richard Henderson  <rth@redhat.com>
7414
7415         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
7416         * config/alpha/alpha-protos.h: Declare it.
7417         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
7418         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
7419         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
7420         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
7421         (REG_OK_FOR_BASE_P): Select one of the above.
7422
7423 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
7424
7425         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
7426         (crti.o): Prefix name of object file with $(T).
7427         (crtn.o): Likewise.
7428
7429 2001-09-05  David S. Miller  <davem@redhat.com>
7430
7431         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
7432         * config/sparc/linux64.h: Likewise.
7433
7434 2001-09-05  Andreas Jaeger  <aj@suse.de>
7435
7436         * doc/invoke.texi (i386 Options): -mwide-multiply is not
7437         available anymore, remove the documentation.
7438         (i386 Options): Fix typo, cleanup index entries.
7439
7440         * prefix.c (concat): Remove, we can use the version from liberty.
7441
7442 2001-09-05  Richard Henderson  <rth@redhat.com>
7443
7444         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
7445         New functions split out of md file expanders.
7446         * config/alpha/alpha-protos.h: Declare them.
7447         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
7448
7449 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
7450
7451         * cppmacro.c (funlike_invocation_p): No need to restore context.
7452
7453 2001-09-04  Richard Henderson  <rth@redhat.com>
7454
7455         * reload.c (push_reload): Export.
7456         * reload.h (push_reload): Declare it.
7457
7458         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
7459         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
7460         * config/alpha/alpha.c (alpha_legitimize_address): New.
7461         (alpha_legitimize_reload_address): Likewise.
7462         * config/alpha/alpha-protos.h: Declare them.
7463
7464 2001-09-04  Stan Shebs  <shebs@apple.com>
7465
7466         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
7467         * config/darwin.c (machopic_stub_name): Account for internally
7468         generated lib calls such as memcpy.
7469
7470 2001-09-04  Richard Henderson  <rth@redhat.com>
7471
7472         * unwind.h (_UA_END_OF_STACK): New flag.
7473         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
7474
7475 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
7476
7477         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
7478
7479 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
7480
7481         * config/mips/mips.c (save_restore_insns): Change base_offset to
7482         fp_offset in second call to mips_emit_frame_related_store.
7483
7484 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
7485
7486         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
7487         sometimes be represented as a NOTE of type
7488         NOTE_INSN_DELETED_LABEL.
7489         (Insns): Document NOTE_INSN_DELETED_LABEL.
7490
7491 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
7492
7493         * c-common.h (tree_dump_index): Add more comments.
7494         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
7495         (dump_option_value_info): New struct.
7496         (dump_options): New array.
7497         (dump_switch_p): Parse switch options symbolically.
7498         * doc/invoke.texi (-fdump-ast): Rename to ...
7499         (-fdump-tree): ... here. Document that options are symbolic, and
7500         not all are applicable.
7501
7502 2001-09-04  David S. Miller  <davem@redhat.com>
7503
7504         * config/sparc/sparc.md (define_splits): Kill constraints.
7505
7506         Cleanup redundant and unused insn attributes.
7507         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
7508         binary, and move.  Mark ialu as default.
7509         (commented out define_function_unit "alu"): Kill.
7510         (define_attr "use_clobbered"): Kill.
7511         (whole file): Kill address insn type references.  Replace
7512         all unary/binary/move references with ialu.
7513         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
7514         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
7515         TYPE_IALU.
7516
7517         Simplify length insn attribute and make more judicious use
7518         of insn attribute defaulting.
7519         * config/sparc/sparc.md (all insns with length > one): Mark as
7520         insn type multi if real instructions, else use default if
7521         it is a forced splitter.
7522         (all insns with length == one): Use default insn length.
7523         (all insns of type ialu): Use default insn type.
7524
7525         Fix erroneous insn attribute settings.
7526         (addx): Set insn type to misc.
7527         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
7528         const_umulsidi3_sp64): Set insn type to imul.
7529
7530         Track SFmode vs DFmode insns according to UltraSPARC
7531         scheduling rules.
7532         * config/sparc/sparc.md ("fptype"): New attribute, default
7533         to "single".
7534         (all DFmode single insns): Mark as fptype "double".
7535
7536 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
7537
7538         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
7539
7540 2001-09-03  Richard Henderson  <rth@redhat.com>
7541
7542         * function.h (struct function): Add arg_pointer_save_area_init.
7543         * function.c (expand_function_end): Init arg_pointer_save_area.
7544         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
7545         when called from a nested function.
7546
7547 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
7548
7549         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
7550         is enabled.
7551
7552 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
7553
7554         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
7555
7556 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
7557
7558         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
7559         (emit_push_insn): Use specified padding direction when
7560         STACK_PUSH_CODE is POST_INC.
7561
7562         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
7563
7564 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7565
7566         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
7567
7568 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
7569
7570         * cppinit.c (cpp_start_read): Free the imacros list as we
7571         traverse it.  Don't free the chains before returning.
7572         (_cpp_push_next_buffer): Only try pushing buffers if we've
7573         completed -imacros handling.
7574
7575 2001-08-31  Eric Christopher  <echristo@redhat.com>
7576
7577         * gcc.c (handle_braces): Add explaination for abort.
7578
7579 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
7580
7581         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
7582         move adjustment of bitpos instead.
7583
7584 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
7585
7586         * function.c: Remove all_functions.  Make outer_function_chain
7587         static.
7588         (init_function_start): Don't add new function structure to
7589         all_functions.
7590         (find_function_data, push_function_context_to,
7591         pop_function_context_from, put_var_into_stack,
7592         trampoline_address): Update for changed structure element names.
7593         (push_function_context_to): Disentangle.
7594         (free_after_compilation): Also free F.
7595         (expand_dummy_function_end): Don't free cfun here.
7596         (put_var_into_stack): Comment why we can't use find_function_data here.
7597         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
7598         (mark_function_chain): Split into maybe_mark_struct_function and
7599         ggc_mark_struct_function.  Export the latter.
7600         (init_function_once): Mark from cfun and outer_function_chain;
7601         not all_functions.
7602
7603         * function.h (struct function): Kill next_global.  Rename next
7604         to outer.  All users updated to match.
7605         (all_functions, outer_function_chain): Don't declare.
7606
7607         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
7608         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
7609         don't touch f->inlinable, after calling rest_of_compilation.
7610
7611         * tree.h: Forward-declare struct function.  Prototype
7612         ggc_mark_struct_function.
7613
7614 2001-08-31  Kazu Hirata  <kazu@hxi.com>
7615
7616         * config/h8300/h8300.md (*andorhi3): Fix typos.
7617
7618 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7619
7620         * calls.c (emit_library_call_value): Don't use a fixed
7621         argument after VA_CLOSE, i.e. out of scope in traditional C.
7622
7623         * emit-rtl.c (gen_rtvec): Likewise.
7624
7625 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7626
7627         * Makefile.in (c-pragma.o): Depend on output.h.
7628         (reorg.o): Depend on except.h.
7629
7630         * c-pragma.c: Include output.h.
7631
7632         * reorg.c: Include except.h.
7633
7634         * unwind-dw2.c: Call __builtin_alloca, not alloca.
7635
7636 2001-08-31  Richard Henderson  <rth@redhat.com>
7637
7638         * sched-deps.c (add_dependence): Don't elide dependency if the
7639         conditional used by insn is modified in elem.
7640
7641 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
7642
7643         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
7644
7645 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
7646
7647         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
7648         dump_switch_p.
7649
7650 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
7651
7652         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
7653         function.
7654         (stormy16_asm_out_constructor): New function.
7655         (TARGET_ASM_CONSTRUCTOR): Define.
7656         (TARGET_ASM_DESTRUCTOR): Define.
7657
7658 2001-08-31  Andreas Jaeger  <aj@suse.de>
7659
7660         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
7661         * loop.c (add_label_notes): Likewise.
7662         * reload.c (find_reloads): Likewise.
7663         * config/sh/sh.c (machine_dependent_reorg): Likewise.
7664
7665 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
7666
7667         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
7668         code here.  Take _Unwind_{W,Sw}ord*.
7669         (read_encoded_value_with_base): Use them.
7670         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
7671         words.
7672         (extract_cie_info): Simplify read_?leb128 handling.
7673         (execute_stack_op, execute_cfa_program): Likewise.
7674         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
7675
7676 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
7677
7678         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
7679         the frame pointer to pop the stack if convenient.
7680
7681         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
7682         Don't use post-increment before combine.
7683         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
7684         a call-saved register.
7685
7686 2001-08-31  Andreas Jaeger  <aj@suse.de>
7687
7688         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
7689         code was correct.
7690
7691 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
7692
7693         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
7694         not DIV/MOD, of course.
7695
7696 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
7697
7698         * rtl.def: Undo my patch commited 2001-08-27.
7699
7700         * genattrtab.c: Ditto.
7701
7702         * rtl.h: Ditto.
7703
7704         * sched-int.h: Ditto.
7705
7706         * target-def.h: Ditto.
7707
7708         * target.h: Ditto.
7709
7710         * haifa-sched.c: Ditto.
7711
7712         * sched-rgn.c: Ditto.
7713
7714         * sched-vis.c: Ditto.
7715
7716         * Makefile.in: Ditto.
7717
7718         * doc/md.texi: Ditto.
7719
7720         * doc/tm.texi: Ditto.
7721
7722         * doc/contrib.texi: Ditto.
7723
7724         * doc/gcc.texi: Ditto.
7725
7726         * genattrtab.h: Remove it.
7727
7728         * genautomata.c: Remove it.
7729
7730         * genattr.c: Undo my patch and Richard Henderson's patch commited
7731         2001-08-27.
7732
7733 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
7734
7735         * config.gcc (h8300-*-elf*): New case.
7736         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
7737         (SUBTARGET_CPP_SPEC): Define.
7738         (EXTRA_SPECS): Define.
7739         (SUBTARGET_EXTRA_SPECS): Define.
7740         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
7741         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
7742
7743 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
7744
7745         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
7746         (LIB2FUNCS_EXTRA): Define.
7747         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
7748         config/h8300/fixunssfsi.c: New file.
7749
7750 2001-08-30  Kazu Hirata  <kazu@hxi.com>
7751
7752         * config/h8300/h8300.md (zero_extendqihi2): Changes to
7753         define_expand to accommodate target-specific attributes.
7754         (anonymous zero_extendqihi2 patterns): New.
7755
7756 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
7757
7758         * h8300.md (*andorhi3): New pattern.
7759
7760 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
7761
7762         * h8300.c (dosize): Fix test for "sub".
7763
7764 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
7765
7766         * c-typeck.c (pointer_diff): Try to eliminate common term before
7767         doing conversions.
7768
7769 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
7770
7771         * config/arm/arm.c (arm_compute_initial_elimination_offset):
7772         Account for the saves of the FP registers.
7773
7774         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
7775         (TEXT_SECTION_ASM_OP): Define.
7776         (INIT_SECTION_ASM_OP): Define.
7777         (FINI_SECTION_ASM_OP): Define.
7778         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
7779         (RDATA_SECTION_FUNCITON): Provide prototype.
7780
7781 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
7782
7783         * reload1.c (move2add_note_store): Correct typo checking for
7784         argument pushes.
7785
7786 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
7787
7788         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
7789         note should not be considered outside the libcall block.
7790
7791 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7792
7793         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
7794
7795 2001-08-29  Kazu Hirata  <kazu@hxi.com>
7796
7797         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
7798
7799 2001-08-29  Kazu Hirata  <kazu@hxi.com>
7800
7801         * config/h8300/h8300-protos.h: Add a prototype for
7802         emit_logical_op.
7803         * config/h8300/h8300.c (emit_logical_op): New.
7804         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
7805         (andsi3): Likewise.
7806         (iorhi3): Likewise.
7807         (iorsi3): Likewise.
7808         (xorhi3): Likewise.
7809         (xorsi3): Likewise.
7810
7811 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7812
7813         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
7814         comparison with rtx INTVAL.
7815         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
7816         expression.
7817         * pa.h (FUNCTION_ARG_SIZE): Likewise.
7818
7819 2001-08-29  Kazu Hirata  <kazu@hxi.com>
7820
7821         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
7822         comment typos.
7823
7824 2001-08-29  Kazu Hirata  <kazu@hxi.com>
7825
7826         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
7827         (reg n) to (mem (pre_dec (reg n))
7828         (anonymous movsi pattern): Likewise.
7829
7830 2001-08-29  Kazu Hirata  <kazu@hxi.com>
7831
7832         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
7833
7834 2001-08-29  Kazu Hirata  <kazu@hxi.com>
7835
7836         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
7837         several special constants.
7838
7839 2001-08-29  Kazu Hirata  <kazu@hxi.com>
7840
7841         * config/h8300/lib1funcs.asm: Fix comment typos.
7842
7843 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7844
7845         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
7846         Fix format specifier warnings.
7847
7848         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
7849         inet_makeaddr, semctl): Prototype.
7850
7851         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
7852         (save_restore_insns): Use base_offset, not gp_offset.
7853
7854         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
7855         (ASM_OUTPUT_BYTE): Fix format specifier warning.
7856
7857 2001-08-29  Richard Henderson  <rth@redhat.com>
7858
7859         * bb-reorder.c (function_tail_eff_head): New.
7860         (record_effective_endpoints): Set it.
7861         (fixup_reorder_chain): Use it.
7862
7863 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7864
7865         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
7866
7867 2001-08-28  Dale Johannesen  <dalej@apple.com>
7868
7869         * config/darwin.c (machopic_function_base_name): Add const
7870         qualifier to a string.
7871         (darwin_encode_section_info): Ditto.
7872
7873 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7874
7875         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
7876         function definition.
7877
7878 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
7879
7880         * df.h (struct df): Add rts_order variable.
7881
7882         * df.c (df_visit_next_rts): New function.
7883         (df_visit_next): Renamed to df_visit_next_rc
7884         (df_analyse_1): Allocate/compute/free rts_order as well.
7885         (df_rd_global_compute): Use df_visit_next_rc instead of
7886         df_visit_next.
7887         (df_ru_global_compute): Use df_visit_next_rts instead of
7888         df_visit_next.
7889
7890         * flow.c (flow_reverse_top_sort_order_compute): New function.
7891
7892         * basic-block.h: Add prototype.
7893
7894 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
7895
7896         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
7897         blocks, the BB_REACHABLE is now set, rather than aux being
7898         non-NULL. Update the test to reflect this.
7899
7900 2001-08-28  Eric Christopher  <echristo@redhat.com>
7901
7902         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
7903         config/mips/crti.asm: Ditto.
7904
7905 2001-08-28  Eric Christopher <echristo@redhat.com>
7906             Richard Henderson <rth@redhat.com>
7907
7908         * c-pragma.h (add_weak): Move prototype from here...
7909         * output.h (add_weak): ... to here.
7910         * varasm.c (add_weak): Fix typo.
7911         * config/mips/crti.asm: New file.
7912         * config/mips/crtn.asm: Ditto.
7913         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
7914         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
7915         (INVOKE__main): Ditto.
7916         (INIT_SECTION_ASM_OP): New.
7917         (FINI_SECTION_ASM_OP): Ditto.
7918         (STARTFILE_SPEC): Add crti.
7919         (ENDFILE_SPEC): Add crtn.
7920         * config/mips/elf64.h: Same.
7921         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
7922         Remove.
7923         * config/mips/vxworks.h: Ditto.
7924         * config/mips/t-elf: Support crti and crtn.
7925
7926 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
7927
7928         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
7929         INSN_LIST.
7930
7931 2001-08-28  Richard Henderson  <rth@redhat.com>
7932
7933         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
7934         (one_cmplbi2 splitter): Remove redundant test.
7935
7936 2001-08-28  Dale Johannesen  <dalej@apple.com>
7937
7938         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
7939
7940 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
7941
7942         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
7943
7944 2001-08-28  Stan Shebs  <shebs@apple.com>
7945
7946         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
7947         (UNALIGNED_SHORT_ASM_OP): Define.
7948         (UNALIGNED_INT_ASM_OP): Define.
7949
7950 2001-08-28  Will Cohen  <wcohen@redhat.com>
7951
7952         * config/rs6000/rs6000.md (store_multiple): Correct RTL
7953         generation for first set.
7954
7955 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
7956
7957         * flow.c (redirect_edge_succ_nodup): Return new edge.
7958         (try_simplify_condjump): Use new edge.
7959         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
7960
7961         * cse.c (cse_basic_block): Skip note instructions.
7962
7963 2001-08-27  Richard Henderson  <rth@redhat.com>
7964
7965         * combine.c (combine_simplify_rtx): Don't reverse condition
7966         if there is no reverse for the condition.
7967         (simplify_comparison): Don't simplify subregs from INT to FP.
7968
7969         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
7970         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
7971         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
7972         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
7973         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
7974         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
7975
7976 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
7977
7978         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
7979         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
7980         (pushqi1): New.
7981         (adddi_dilshr32, adddi_dishl32): Only data register can be
7982         source for mem destination.
7983
7984         * expmed.c (store_bit_field): Ignore adjustment to bitpos
7985         and use bitnum to decide about register move.
7986
7987 2001-08-27  Richard Henderson  <rth@redhat.com>
7988
7989         * genattr.c (main): Emit state_t even when not doing scheduling.
7990
7991 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
7992             Richard Henderson  <rth@redhat.com>
7993
7994         * gcse.c (reg_first_set, reg_last_set): Replace with ...
7995         (reg_avail_info, current_bb): ... these.
7996         (oprs_unchanged_p, record_last_reg_set_info): Use them.
7997         (compute_hash_table): Likewise.
7998
7999 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
8000
8001         * flow.c (verify_flow_info): Use checksums to verify edges.
8002
8003 2001-08-27  Richard Henderson  <rth@redhat.com>
8004
8005         * genautomata.c (expand_automata): Always create a description.
8006
8007 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
8008
8009         * optabs.c (expand_binop): Correctly handle the carry in multiword
8010         add/subtract operations.
8011
8012 2001-08-27  Fred Fish  <fnf@be.com>
8013
8014         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
8015         __SIZE_TYPE__.
8016
8017 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
8018
8019         * reload.c (find_reloads_toplev): Back out this change:
8020
8021         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
8022
8023         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
8024         mem if the address is a mode_dependent_address_p.
8025
8026 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
8027
8028         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
8029         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
8030         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
8031         RTL constructions.
8032
8033         * genattr.c (main): New variable num_insn_reservations.  Increase
8034         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
8035         pipeline hazard recognizer interface.
8036
8037         * genattrtab.h: New file.
8038
8039         * genattrtab.c: Include genattrtab.h.
8040         (attr_printf, check_attr_test, make_internal_attr,
8041         make_numeric_value): Move protypes into genattrtab.h.  Define them
8042         as external.
8043         (num_dfa_decls): New global variable.
8044         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
8045         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
8046         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
8047         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
8048
8049         * genautomata.c: New file.
8050
8051         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
8052
8053         * sched-int.h: (curr_state): Add the external definition for
8054         automaton pipeline interface.
8055         (haifa_insn_data): Add comments for members blockage and units.
8056
8057         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
8058         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
8059         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
8060         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
8061         TARGET_SCHED_DFA_POST_CYCLE_INSN,
8062         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
8063         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
8064         macros.
8065         (TARGET_SCHED): Use the new macros.
8066
8067         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
8068         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
8069         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
8070         dfa_bubble): New members in gcc_target.sched.
8071
8072         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
8073         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
8074         (insn_queue): Redefine it as pointer to array.
8075         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
8076         INSN_QUEUE_SIZE.
8077         (max_insn_queue_index_macro_value): New variable.
8078         (curr_state, dfa_state_size, ready_try): New varaibles for
8079         automaton interface.
8080         (ready_element, ready_remove, max_issue): New function prototypes
8081         for automaton interface.
8082         (choose_ready): New function prototype.
8083         (insn_unit, blockage_range): Add comments.
8084         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
8085         FUNCTION_UNITS_SIZE == 0.
8086         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
8087         actual_hazard, potential_hazard): Add comments.
8088         (insn_cost): Use cost -1 as undefined value.  Remove
8089         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
8090         pipeline interface.
8091         (ready_element, ready_remove): New functions for automaton
8092         interface.
8093         (schedule_insn): Add new code for automaton pipeline interface.
8094         (queue_to_ready): Add new code for automaton pipeline interface.
8095         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
8096         (debug_ready_list): Print newline when the queue is empty.
8097         (max_issue): New function for automaton pipeline interface.
8098         (choose_ready): New function.
8099         (schedule_block): Add new code for automaton pipeline interface.
8100         Print ready list before scheduling each insn.
8101         (sched_init): Add new code for automaton pipeline interface.
8102         Initiate insn cost by -1.
8103         (sched_finish): Free the current automaton state and finalize
8104         automaton pipeline interface.
8105
8106         * sched-rgn.c: Include target.h.
8107         (init_ready_list, new_ready, debug_dependencies): Add new code for
8108         automaton pipeline interface.
8109
8110         * sched-vis.c: Include target.h.
8111         (get_visual_tbl_length): Add code for automaton interface.
8112         (target_units, print_block_visualization):  Add comments.
8113
8114         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
8115         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
8116         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
8117         (getruntime.o, genautomata.o): New entries.
8118         (genattrtab.o): Add new dependency file genattrtab.h.
8119         (genattrtab): Add new dependencies.  Link it with `libm.a'.
8120         (getruntime.o, hashtab.o): New entries for canadian cross.
8121
8122         * doc/md.texi: Description of automaton based model.
8123
8124         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
8125         Add comments.
8126         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
8127         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
8128         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
8129         TARGET_SCHED_DFA_POST_CYCLE_INSN,
8130         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
8131         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
8132         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
8133         hook descriptions.
8134         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
8135         MAX_DFA_ISSUE_RATE): New macro descriptions.
8136
8137         * doc/contrib.texi: Add dfa based scheduler contribution.
8138
8139         * doc/gcc.texi: Add more information about genattrtab.
8140
8141 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
8142
8143         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
8144         an RTL basic block.
8145
8146 2001-08-27  Richard Henderson  <rth@redhat.com>
8147
8148         * function.c (expand_function_end): Don't init arg_pointer_save_area.
8149         (get_arg_pointer_save_area): New.  Create an init it here.
8150         (fix_lexical_addr): Use it.
8151         * function.h: Declare it.
8152         * builtins.c (expand_builtin_setjmp_receiver): Use it.
8153         * stmt.c (expand_nl_goto_receiver): Use it.
8154
8155 2001-08-27  Richard Henderson  <rth@redhat.com>
8156
8157         * final.c (final_scan_insn): Don't enter APP_ON mode for
8158         empty asm strings.
8159
8160         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
8161         alignment for assemble_integer for DW_EH_PE_aligned.
8162         * except.c (output_function_exception_table): Likewise.
8163
8164 2001-08-26  Andreas Jaeger  <aj@suse.de>
8165
8166         * c-tree.h: Add prototyp for c_sizeof_nowarn.
8167
8168 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
8169
8170         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
8171
8172 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
8173
8174         * config/rs6000/rs6000.c (mask_operand): Rewrite without
8175         bit-shifting loop.
8176         (mask64_operand): Likewise.
8177         (rldic_operand): Delete.
8178         (includes_lshift64_p): Delete.
8179         (includes_rldic_lshift_p): New function.
8180         (includes_rldicr_lshift_p): New function.
8181         (print_operand): Don't call rldic_operand in case 'W'.
8182         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
8183         (includes_lshift64_p): Remove.
8184         (includes_rldic_lshift_p): Declare.
8185         (includes_rldicr_lshift_p): Declare.
8186         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
8187         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
8188         Replace match_operand rldic_operand predicate with
8189         const_int_operand.  Replace includes_lshift64_p condition with
8190         includes_rldic_lshift_p.
8191         <ashldi3_internal 64 bit rldicr patterns>: New.
8192
8193 2001-08-27  Andreas Jaeger  <aj@suse.de>
8194
8195         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
8196         * errors.c: Likewise.
8197         * final.c: Likewise.
8198         * dwarf2asm.c: Likewise.
8199         * doprint.c (checkit): Likewise.
8200         * diagnostic.c: Likewise.
8201         * collect2.c: Likewise.
8202         * calls.c: Likewise.
8203         * c-semantics.c (build_stmt): Likewise.
8204         * c-format.c (status_warning): Likewise.
8205         * c-errors.c (pedwarn_c99): Likewise.
8206         * builtins.c (validate_arglist): Likewise.
8207         * config/pj/pj.c (pj_printf): Likewise.
8208         * fix-header.c: Likewise.
8209         * gcc.c: Likewise.
8210         * gcov.c (fnotice): Likewise.
8211         * gensupport.c (message_with_line): Likewise.
8212         * mips-tfile.c: Likewise.
8213         * protoize.c (notice): Likewise.
8214         * read-rtl.c (fatal_with_file_and_line): Likewise.
8215         * rtl-error.c: Likewise.
8216         * tradcpp.c: Likewise.
8217         * tree.c: Likewise.
8218         * cp/tree.c (build_min_nt): Likewise.
8219         (build_min): Likewise.
8220         * cp/lex.c: Likewise.
8221         * cp/errfn.c: Likewise.
8222         * cp/rtti.c (create_pseudo_type_info): Likewise.
8223
8224 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
8225
8226         * df.c (df_uses_record): Return after recording all uses
8227         in ASM_OPERANDS.
8228
8229 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
8230
8231         * df.c (df_insn_modify): Realloc the INSN table here, if
8232         necessary, here, too.
8233
8234 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
8235
8236         * config/mips/mips.c (mips_function_value): Handle complex return
8237         values.
8238
8239 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
8240
8241         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
8242         unshared.
8243         * reload.c (make_memloc): Copy result if it is still
8244         reg_equiv_memory_loc[regno] on return.
8245         (subst_reloads) [ENABLE_CHECKING]: Check that none of
8246         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
8247         reg_equiv_mem are modified by the substitutions.
8248
8249 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
8250
8251         * predict.c (expensive_function_p): New.
8252         * rtl.h (expensive_function_p): Declare.
8253         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
8254         (use_fast_prologue_epilogue): New static variable.
8255         (expand_prologue): Set it; emit short prologues if unset.
8256         (expand_epilogue): Likewise.
8257
8258 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
8259
8260         * config.gcc: Add stormy16-*-elf case.
8261         * config/stormy16/stormy-abi: New file.
8262         * config/stormy16/stormy16-lib2.c: New file.
8263         * config/stormy16/stormy16-protos.h: New file.
8264         * config/stormy16/stormy16.c: New file.
8265         * config/stormy16/stormy16.h: New file.
8266         * config/stormy16/stormy16.md: New file.
8267         * config/stormy16/t-stormy16: New file.
8268
8269 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
8270
8271         * i386.h (no-accumulate-outgoing-args): Use proper mask.
8272
8273 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
8274
8275         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
8276         descriptor members are pointer size, not constant 4.
8277         * config/rs6000/rs6000.md (define_splits): Remove more unused
8278         constraints.
8279
8280 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8281
8282         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
8283
8284 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
8285
8286         * cp/rtti.c (VPARAMS): Fix parameter.
8287
8288 2001-08-24  Zack Weinberg  <zackw@panix.com>
8289
8290         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
8291         to zero.
8292         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
8293         to switch.
8294         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
8295         in if controlling use of insv.
8296         (extract_bit_field): Likewise, for extv and extzv.
8297
8298 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
8299
8300         * i386.md (movcc peep2): Fix load of 0.
8301
8302 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8303
8304         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
8305         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
8306
8307 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
8308
8309         * c-pragma.h: Move weak_syms and weak_decls...
8310         * varasm.c: ...here.  Now static.
8311         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
8312         depend on HANDLE_PRAGMA_WEAK.
8313
8314         * c-common.c (c_alignof, c_alignof_expr): Move here...
8315         * c-typeck.c: ...from here.
8316         * c-tree.h, c-common.h: Adjust.
8317
8318 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
8319
8320         * config/ia64/ia64.c (rws_update): If !pred, set write_count
8321         instead of incrementing it.
8322
8323         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
8324         asm ready, don't try to move them all into the same array element.
8325
8326 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
8327
8328         * function.c (thread_prologue_and_epilogue_insns): Avoid
8329         fallthru flag on edge to exit.
8330
8331         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
8332
8333         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
8334         dead edges.
8335
8336 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
8337
8338         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
8339         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
8340         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
8341         Remove prototype.
8342
8343 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
8344
8345         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
8346         replace "GNU CC" with "GCC".
8347
8348 2001-08-23  Richard Henderson  <rth@redhat.com>
8349
8350         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
8351         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
8352         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
8353         Need GR between FR and not GR_AND_FR.
8354         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
8355         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
8356         AR regs before GR regs.
8357         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
8358         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
8359         (REGISTER_MOVE_COST): Update.
8360         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
8361
8362 2001-08-23  Richard Henderson  <rth@redhat.com>
8363
8364         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
8365         a register class.
8366
8367 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
8368
8369         * reload1.c (emit_reload_insns): Don't look for notes
8370         on a NULL store_insn.
8371
8372 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8373
8374         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
8375         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
8376         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
8377         format specifier warnings.
8378         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
8379
8380 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
8381
8382         * config/i386/i386-protos.h: Correct declaration of
8383         i386_pe_asm_named_section.
8384
8385 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8386
8387         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
8388         variable i.
8389         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
8390
8391 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
8392
8393         * cpperror.c (print_location): Don't show _Pragma.
8394         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
8395         and file change callback generation here.
8396         (stack_include_file): Update use of cpp_push_buffer.
8397         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
8398         (struct cpp_buffer): Remove type, pfile members.
8399         * cppinit.c (cpp_handle_option): Use free_chain.
8400         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
8401         (skip_escaped_newlines, get_effective_char, lex_percent): Take
8402         a cpp_reader rather than a cpp_buffer.
8403         (skip_escaped_newlines, get_effective_char, skip_block_comment,
8404         skip_line_comment, parse_string, lex_percent, lex_dot,
8405         _cpp_lex_token): Update accordingly.
8406         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
8407         generation here.
8408         (cpp_push_buffer): Update prototype.
8409         (run_directive): Update use of cpp_push_buffer.
8410         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
8411         handle_assertion): Update use of run_directive.
8412         * cpplib.h (enum cpp_buffer_type): Remove.
8413         (cpp_push_buffer): Update prototype.
8414         * fix-header.c (read_scan_file): Update.
8415
8416 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
8417
8418         * gcc.c (struct prefix_list): Change prefix to const char *.
8419
8420 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
8421
8422         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
8423
8424 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
8425
8426         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
8427         from a new MEM.
8428
8429         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
8430         a squeezable note.
8431         * rtl.h: Adjust.
8432         * ifcvt.c (dead_or_predicable): Adjust.
8433         * loop.c (find_and_verify_loops): Adjust.
8434         * stmt.c (expand_end_case): Adjust.
8435         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
8436         head and end insn pointers in the basic block, not just local copies.
8437         (merge_blocks_move_predecessor_nojumps): Likewise.
8438
8439 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
8440
8441         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
8442         bitmap.h, builtin-types.def, builtins.c, builtins.def,
8443         c-aux-info.c, c-common.c, c-common.def, c-common.h,
8444         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
8445         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
8446         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
8447         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
8448         conditions.h, config.gcc, configure.frag, configure.in,
8449         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
8450         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
8451         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
8452         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
8453         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
8454         emit-rtl.c, errors.c, errors.h, except.c, except.h,
8455         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
8456         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
8457         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
8458         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
8459         gencheck.c, gencodes.c, genconfig.c, genemit.c,
8460         genextract.c, genflags.c, gengenrtl.c, genmultilib,
8461         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
8462         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
8463         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
8464         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
8465         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
8466         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
8467         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
8468         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
8469         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
8470         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
8471         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
8472         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
8473         params.h, predict.c, predict.def, predict.h, prefix.c,
8474         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
8475         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
8476         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
8477         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
8478         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
8479         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
8480         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
8481         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
8482         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
8483         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
8484         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
8485         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
8486         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
8487         xcoffout.h: replace "GNU CC" with "GCC".
8488
8489 2001-08-21  Richard Henderson  <rth@redhat.com>
8490
8491         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
8492         (final_scan_insn): Consider jump tables data even if we have no
8493         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
8494         ADDR_VEC_ALIGN.
8495         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
8496         (ASM_OUTPUT_CASE_END): Remove.
8497         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
8498         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
8499         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
8500
8501 2001-08-21  Richard Henderson  <rth@redhat.com>
8502
8503         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
8504         at barrier insns.  Emit stop bits before barriers.
8505
8506         * flow.c (flow_find_cross_jump): Don't consider unconditional
8507         return insns for commoning.
8508
8509         * final.c (compute_alignments): Fix typo.
8510
8511         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
8512         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
8513         (store_bit_field): Use mode_for_extraction more places.
8514         (extract_bit_field): Likewise.
8515
8516 2001-08-21  Zack Weinberg  <zackw@panix.com>
8517
8518         * caller-save.c: Don't include insn-codes.h.
8519         (reg_save_code, reg_restore_code): Make arrays of int.
8520         All uses updated to match.
8521         (insert_save, insert_restore): No need to initialize "code"
8522         variable upon declaration.
8523         * Makefile.in: update dependencies; fix typo in clean rule.
8524
8525 2001-08-21  Richard Henderson  <rth@redhat.com>
8526
8527         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
8528         (merge_if_block): Handle fallout from same.
8529
8530 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8531
8532         * builtins.c (type_to_class): Fix typo in last change.
8533
8534 2001-08-21  Richard Henderson  <rth@redhat.com>
8535
8536         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
8537         ia64_asm_output_label.
8538
8539         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
8540         copy of gp while the real gp register contains garbage.
8541
8542 2001-08-21  Zack Weinberg  <zackw@panix.com>
8543
8544         * expmed.c (mode_for_extraction): New function.
8545         (store_bit_field, extract_bit_field): Use it.
8546         * expr.h: Prototype it and provide an enum for its first argument.
8547
8548         * combine.c, function.c, recog.c: Don't include insn-codes.h.
8549         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
8550         and digging through the insn_data tables.
8551         * Makefile.in: Update dependencies.
8552
8553 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
8554
8555         * cppfiles.c (stack_include_file): line-map.c now handles include
8556         depth.
8557         (handle_missing_handler): Similarly.
8558         (_cpp_execute_include): Similarly.
8559         (_cpp_pop_file_buffer): Similarly.
8560         * cpphash.h (struct cpp_reader): Remove system_include_depth,
8561         buffer_stack_depth and include_depth.
8562         * cpplib.c (do_include_common): line-map.c now handles include depth.
8563         (cpp_push_buffer): Similarly.
8564         (_cpp_pop_buffer): Similarly.
8565         * cppmacro.c (builtin_macro): Update.
8566         * line-map.c (init_line_maps): Set depth.
8567         (add_line_map): Increment "used" earlier.  Update and use the
8568         include depth.
8569         (trace_include): Use the include depth.
8570         * line-map.h (struct line_maps): New member depth.
8571
8572 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
8573
8574         * cppfiles.c (stack_include_file): Don't handle -H here.
8575         * cppinit.c (cpp_start_read): Set include tracing after
8576         cpp_post_options and after stacking the main file.
8577         * line-map.c (trace_include): New.
8578         (init_line_maps, add_line_map): Update.
8579         * line-map.h (struct line_maps): New member trace_includes.
8580
8581 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
8582
8583         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
8584         * cppfiles.c (stack_include_file): Only stack a file if there
8585         is something to do.  Return a boolean indicating whether a
8586         buffer was stacked or not.
8587         (_cpp_execute_include): Similarly.
8588         (_cpp_read_file): Similarly.
8589         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
8590
8591 2001-08-21  Sam Steingold  <sds@gnu.org>
8592
8593         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
8594         (RECACHE): keep obufp_before_macroname up to date
8595
8596 2001-08-21  Zack Weinberg  <zackw@panix.com>
8597
8598         * stmt.c: Don't include insn-codes.h.
8599         (expand_end_case): Machine specific logic moved to expr.c.
8600         No need to worry about __builtin_classify_type.
8601         (check_for_full_enumeration_handling, emit_case_nodes):
8602         Kill #if 0 blocks.
8603
8604         * builtins.o (expand_builtin_classify_type): Split up so code
8605         can be shared with fold_builtin_classify_type.
8606         (type_to_class, fold_builtin_classify_type): New functions.
8607         (fold_builtins): Handle __builtin_classify_type.
8608
8609         * expr.c (do_tablejump): Now static.
8610         (case_values_threshold, try_casesi, try_tablejump): New;
8611         code mostly from stmt.c (expand_end_case).
8612         (expr.h): Update prototypes.
8613
8614         * Makefile.in (stmt.o): Update dependencies.
8615
8616 2001-08-21  Will Cohen  <wcohen@redhat.com>
8617
8618         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
8619         declaration of variable i.
8620         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
8621         declaration of variable i.
8622
8623 2001-08-21  Richard Henderson  <rth@redhat.com>
8624
8625         * crtstuff.c: Fix thinko last change.  Move list tails to start
8626         of CRT_END section.  Tidy ifdefs.
8627         (__EH_FRAME_BEGIN__): Always static for ELF.
8628         (__do_global_ctors_1): Rename from __frame_dummy.
8629         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
8630         name change; don't hide __EH_FRAME_BEGIN__.
8631
8632 2001-08-21  Richard Henderson  <rth@redhat.com>
8633
8634         * gdbinit.in: Move break on exit after break on fancy_abort.
8635
8636         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
8637         sized types.
8638
8639 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
8640
8641         * cpphash.h (_cpp_push_next_buffer): New.
8642         * cppinit.c (do_includes): Remove.
8643         (push_include, free_chain, _cpp_push_next_buffer): New.
8644         (cpp_start_read): Use them to rework command line option handling.
8645         (cpp_handle_option): Combine handling of -include and -imacros.
8646         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
8647         appropriate.  Always insert missing \n at EOF.
8648         * cpplib.c (start_directive): Get the directive position right.
8649         * cppmain.c (cb_file_change): Always print the first line, unless
8650         preprocessed.
8651
8652 2001-08-20  Andreas Jaeger  <aj@suse.de>
8653
8654         * profile.c (compute_branch_probabilities): Remove extra new-line
8655         in error message.
8656         * flow.c (verify_flow_info): Likewise.
8657
8658 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
8659
8660         * basic-block.h (basic_block): Add new field 'flags'.
8661         (BB_REACHABLE): Define.
8662         (expunge_block): Declare.
8663         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
8664         (EXIT_BLOCK_PTR): Ditto.
8665         (expunge_block): Remove static declaration.
8666         (cleanup_cfg): Clear bb->aux on every basic block.
8667         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
8668         computing reachability.
8669         (delete_unreachable_blocks): Delete block b if b->flags has
8670         BB_REACHABLE unset.
8671
8672 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
8673
8674         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
8675
8676 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8677
8678         * sparc.c (sparc_variable_issue): Fix typo in last change.
8679
8680 2001-08-20  Richard Henderson  <rth@redhat.com>
8681
8682         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
8683
8684 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8685
8686         * pa.h (RETURN_IN_MEMORY): Improve comment.
8687
8688 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
8689
8690         * doc/invoke.texi (Profiling options): Clarify the interactions
8691         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
8692
8693 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
8694
8695         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
8696         command.
8697
8698 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
8699
8700         * gcc.c (make_relative_prefix): Allocate a sufficiently large
8701         buffer.
8702
8703 2001-08-20  Richard Henderson  <rth@redhat.com>
8704
8705         * final.c (end_final): Fix typo last change.
8706
8707 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
8708
8709         * cppinit.c (init_standard_includes): The returned buffer
8710         is already malloc-ed.
8711         * gcc.c (add_prefix): Similarly.
8712         * prefix.c (translate_name): Update to support clear buffer
8713         ownership rules.
8714         (update_path): Similarly.  Be sure to free any newly allocated
8715         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
8716         (tr): New function.
8717         * prefix.h (update_path): Update prototype and document.
8718         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
8719         up and update to new buffer ownership rules.
8720         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
8721
8722 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
8723
8724         * final.c (compute_alignments): New function.
8725         (init_insn_lengths): Do not care label_align.
8726         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
8727         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
8728         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
8729         (shorted_branches): Realloc label_align array; do
8730         not call init_insn_lengths; Do not care about loop alignments.
8731         * output.h (compute_alignments): Declare.
8732         * toplev.c (rest_of_compilation): Call compute_alignments.
8733         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
8734
8735         * predict.c (block_info_def): Add npredecesors, remove nvisited;
8736         change visited to tovisit.
8737         (propagate_freq): Use faster traversing algorithm.
8738         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
8739         to tovisit; reverse meaning.
8740
8741         * predict.c (struct block_info_def): Remove nvisited.
8742         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
8743         (estimate_bb_frequencies): Call mark_dfs_back_edges.
8744
8745 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
8746
8747         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
8748         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
8749         (TARGET_FUSED_MADD): New.
8750         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
8751         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
8752         the multiply-add instructions.
8753
8754 2001-08-19  Richard Henderson  <rth@redhat.com>
8755
8756         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
8757         is aligned to pointer size.
8758
8759 2001-08-19  Richard Henderson  <rth@redhat.com>
8760
8761         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
8762         display markers during final schedule.
8763
8764 2001-08-19  Richard Henderson  <rth@redhat.com>
8765
8766         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
8767
8768 2001-08-19  Richard Henderson  <rth@redhat.com>
8769
8770         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
8771         in the same string.
8772         (ASM_NAME_TO_STRING): Remove.
8773         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
8774         in the same string.  Remove support for expressions.
8775
8776 2001-08-19  Richard Henderson  <rth@redhat.com>
8777
8778         * config/i386/i386.md (tablejump): Make an expander; handle
8779         pic relative addressing here.
8780         (tablejump_1): Rename from tablejump_pic.
8781         (casesi): Remove.
8782
8783 2001-08-19  Richard Henderson  <rth@redhat.com>
8784
8785         * regclass.c (fix_register): Fix typo.
8786
8787 2001-08-18  Richard Henderson  <rth@redhat.com>
8788
8789         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
8790         (struct _Unwind_Context): Expand br_loc to hold it.
8791         (uw_frame_state_for): Handle leaf functions better.
8792         (uw_update_reg_address): Update for br_loc change.
8793
8794 2001-08-18  Richard Henderson  <rth@redhat.com>
8795
8796         * crtstuff.c: Move list heads before code that uses them.
8797         (__JCR_LIST__): Remove initial null.
8798         (frame_dummy, __frame_dummy): Do java registration here ...
8799         (__do_global_ctors_aux): ... not here.
8800
8801         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
8802         (__do_global_dtors_aux): Update to match.
8803         (__JCR_LIST__, __do_jv_register_classes): New.
8804         (.init): Call it.
8805         * config/ia64/crtend.asm (__JCR_END__): New.
8806         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
8807         instead of an indirect LTOFF22 reloc.
8808
8809 2001-08-18  Richard Henderson  <rth@redhat.com>
8810
8811         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
8812         * regclass.c (init_reg_sets_1): Fix typo.
8813         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
8814         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
8815         (ia64_compute_frame_size): Make ar.unat live when in use.
8816         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
8817         for ar.pfs; remove ar.unat handling.
8818         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
8819         call-saved.
8820         (PREDICATE_CODES): Add ar_pfs_reg_operand.
8821         * config/ia64/ia64-protos.h: Update decls.
8822         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
8823         (sibcall_pic): Likewise.
8824
8825 2001-08-18  Richard Henderson  <rth@redhat.com>
8826
8827         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
8828         pred_rel_mutex when searching for insn_group_barrier.
8829         * config/ia64/ia64.md (cycle_display): Combine the expander
8830         and insn patterns.
8831
8832         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
8833         bit before asm as needed.
8834
8835 2001-08-18  Richard Henderson  <rth@redhat.com>
8836
8837         * timevar.def (TV_MACH_DEP): New.
8838         * toplev.c (rest_of_compilation): Use it.
8839         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
8840
8841 2001-08-18  Zack Weinberg  <zackw@panix.com>
8842
8843         * unwind-dw2.c (execute_stack_op): Add default aborts to
8844         the inner switches to prevent warnings.
8845
8846 2001-08-18  Richard Henderson  <rth@redhat.com>
8847
8848         * timevar.h (struct timevar_time_def): Change element type to float.
8849         (ticks_to_msec, clocks_to_msec): Likewise.
8850         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
8851         (get_time): Likewise.
8852         (timevar_print): Adjust zero check and printing to match.
8853
8854 2001-08-18  Zack Weinberg  <zackw@panix.com>
8855
8856         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
8857         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
8858         Eliminate overfull or underfull hboxes.
8859
8860 2001-08-18  Zack Weinberg  <zackw@panix.com>
8861
8862         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
8863
8864 2001-08-18  Zack Weinberg  <zackw@panix.com>
8865
8866         * haifa-sched.c: Convert to target hooks.  Macros replaced
8867         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
8868         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
8869         MD_SCHED_FINISH, and HAVE_cycle_display.
8870         * target-def.h (TARGET_SCHED_ADJUST_COST,
8871         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
8872         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
8873         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
8874         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
8875         New hook #defines to be overridden.
8876         (TARGET_SCHED): Bring them all together.
8877         (TARGET_INITIALIZER): Update.
8878         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
8879         instead of 'struct rtx_def *' throughout.
8880         (struct sched): New set of hooks for the scheduler.
8881         * Makefile.in (haifa-sched.o): Depend on target.h.
8882         * doc/tm.texi: Document the new scheduler hooks, together in
8883         their own section, instead of scattered around.
8884         Fix a bunch of underfull/overfull hboxes.
8885
8886         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
8887         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
8888         sparc.h: Don't define any of the old scheduler macros.
8889
8890         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
8891         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
8892         sparc.c: Create hook functions from code extracted from
8893         corresponding target header, or make existing hooks static, as
8894         appropriate.  Set the appropriate entries in targetm.
8895
8896         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
8897         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
8898         rs6000-protos.h, s390-protos.h, sparc-protos.h:
8899         Remove prototypes for functions which are now static.
8900
8901         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
8902         related gunk; the Haifa scheduler is now the only choice.
8903
8904 2001-08-18  Zack Weinberg  <zackw@panix.com>
8905
8906         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
8907         * genopinit.c: Put floating point divide insns in sdiv_optab.
8908         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
8909         * config/gofast.h, config/c4x/c4x.h,
8910         config/ia64/hpux_longdouble.h, config/mips/mips.h,
8911         config/pa/long_double.h, config/rs6000/sysv4.h,
8912         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
8913         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
8914         (init_optabs): Use init_optabv for overflow-trapping optabs.
8915         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
8916         cmp_optab RTX codes so have_insn_for can find them.
8917
8918         * optabs.c (expand_simple_binop, expand_simple_unop,
8919         have_insn_for, gen_sub3_insn): New interfaces.
8920         * expr.h: Prototype new functions.
8921         (enum optab_methods): Move here from optabs.h.
8922
8923         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
8924         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
8925         Use new functions instead of working directly with optabs.
8926         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
8927         unroll.c: Don't include optabs.h.
8928         * caller-save.c, combine.c, function.c, stmt.c: Just include
8929         insn-codes.h, not optabs.h.
8930         * Makefile.in: Update dependencies.
8931
8932         * combine.c (make_compound_operation, simplify_comparison):
8933         Fix typos testing for this or that instruction.
8934
8935 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
8936
8937         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
8938         generating libgcc.a.
8939
8940 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8941
8942         * except.c (TYPE_HASH): Delete.
8943
8944         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
8945         HOST_WIDE_INT.
8946
8947         * tree.c (TYPE_HASH): Delete.
8948
8949         * tree.h (TYPE_HASH): Define.
8950
8951 2001-08-18  Graham Stott  <grahams@redhat.com>
8952
8953         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
8954         define_split.
8955         (adddi3_internal_2+2): Likewise.
8956         (eh_set_lr_di+1): Likewise.
8957
8958 2001-08-17  Richard Henderson  <rth@redhat.com>
8959
8960         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
8961         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
8962         * dwarf2asm.c: ... here.
8963         * dwarfout.c: Remove them.
8964
8965         * varasm.c (assemble_integer): Add align parameter.
8966         (assemble_real, output_constant, output_constructor): Likewise.
8967         * output.h: Update decls.
8968         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
8969         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
8970         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
8971         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
8972         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
8973         Update all callers.
8974
8975         * final.c (end_final): Abort profile block generation if we
8976         havn't layed it out properly.
8977         * output.h (assemble_eh_integer): Remove stale decl.
8978         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
8979         (min_align): New.
8980         (assemble_integer): Handle unaligned data.
8981         (assemble_real): Abort on unaligned data.
8982         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
8983         anything useful.
8984         (default_dtor_section_asm_out_destructor): Use assemble_align.
8985         (default_named_section_asm_out_constructor): Likewise.
8986         (default_ctor_section_asm_out_constructor): Likewise.
8987         * config/darwin.c (machopic_asm_out_constructor): Likewise.
8988         (machopic_asm_out_destructor): Likewise.
8989         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
8990         (nextstep_asm_out_destructor): Likewise.
8991         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
8992         (vms_asm_out_destructor): Likewise.
8993
8994 2001-08-17  Richard Henderson  <rth@redhat.com>
8995
8996         * config/mips/iris6.h (TARGET_IRIX6): New.
8997         (current_section_name, current_section_flags): New.
8998         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
8999         (MAX_OFILE_ALIGNMENT): New.
9000         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
9001         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
9002         (copy_file_data): Split out from
9003         (mips_asm_file_end): ... here.
9004         (mips_asm_file_start): Remove extra .section directive.  Use
9005         tmpfile instead of mips_make_temp_file.
9006         (mips_unique_section): Use const char * as needed for warnings.
9007         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
9008         re-add align parameter.
9009         (iris6_asm_named_section): New.
9010         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
9011         (iris6_asm_output_align, iris6_section_align_1): New.
9012         (iris6_asm_file_start, iris6_asm_file_end): New.
9013         * config/mips/mips-protos.h: Update decls.
9014
9015 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
9016
9017         * doc/install.texi (Install GCC): Add links to build status pages.
9018         (Specific): Ditto.
9019         (Final install): Ditto; request updates for specific info
9020
9021 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
9022
9023         * cpperror.c (print_location):  Don't take a file name; use the
9024         line map instead.
9025         (_cpp_begin_message): Similarly.
9026         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
9027         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
9028         (cpp_pedwarn_with_file_and_line): Remove.
9029         * cppfiles.c (stack_include_file): Update; set filename to stdin
9030         here when appropriate.
9031         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
9032         (_cpp_begin_message): Don't take a file name.
9033         * cppinit.c: Add comment.
9034         * cpplex.c: Fix end-of-directive indicator.
9035         * cpplib.c: Don't include intl.h.
9036         (run_directive, do_diagnostic): Update.
9037         (do_line): Update to not use nominal_fname.
9038         (cpp_push_buffer): Don't take a filename.
9039         * cpplib.h (struct ht): Remove.
9040         (cpp_push_buffer): Don't take a filename.
9041         (cpp_pedwarn_with_file_and_line): Remove.
9042         * cppmacro.c (struct cpp_macro): Remove file.
9043         (builtin_macro): Update.
9044         (_cpp_create_definition): Update.
9045         * cppmain.c: Correct comment.
9046         * fix-header.c (read_scan_file): Update.
9047
9048 2001-08-17  Kazu Hirata  <kazu@hxi.com>
9049
9050         * sbitmap.c: Fix comment formatting.
9051         * sched-deps.c: Likewise.
9052         * sibcall.c: Likewise.
9053         * simplify-rtx.c: Likewise.
9054         * ssa.c: Likewise.
9055         * ssa-ccp.c: Likewise.
9056         * stor-layout.c: Likewise.
9057         * timevar.c: Likewise.
9058         * toplev.c: Likewise.
9059         * unwind-dw2.c: Likewise.
9060         * unwind-dw2-fde.c: Likewise.
9061         * varasm.c: Likewise.
9062
9063 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9064
9065         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
9066         or larger than an integer in memory.
9067
9068 2001-08-17  Zack Weinberg  <zackw@panix.com>
9069
9070         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
9071         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
9072         * rtl.h: Don't forward-declare union tree_node here.  Don't
9073         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
9074         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
9075         and tree respectively.
9076         * tree.h: Don't forward-declare struct rtx_def here.  Don't
9077         typedef tree here.  Change all uses of struct rtx_def *,
9078         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
9079         and tree respectively.
9080
9081 2001-08-17  Richard Henderson  <rth@redhat.com>
9082
9083         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
9084         config/mips/openbsd.h: Fix typos last change.
9085
9086 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9087
9088         * doc/invoke.texi (Optimize Options): The default for
9089         -finline-limit is 600.
9090
9091 2001-08-17  Richard Henderson  <rth@redhat.com>
9092
9093         * varasm.c (text_section): Allow TEXT_SECTION to override the
9094         printing of TEXT_SECTION_ASM_OP.
9095         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
9096         (DATA_SECTION, BSS_SECTION): Remove.
9097         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
9098         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
9099         Rename from s/_NAME//.
9100         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
9101         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
9102         (TEXT_SECTION): ... here.  New.
9103         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
9104         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
9105         * config/mips/openbsd.h: Likewise.
9106         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
9107         (mips_asm_file_end): Likewise test.
9108         (mips_output_function_epilogue): Likewise.  Switch back to data
9109         section after emitting the function.
9110
9111         * doc/tm.texi (Sections): Document TEXT_SECTION.
9112
9113 2001-08-17  Richard Henderson  <rth@redhat.com>
9114
9115         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
9116         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
9117
9118 2001-08-17  Richard Henderson  <rth@redhat.com>
9119
9120         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
9121         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
9122         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
9123         Add aligned attribute.
9124
9125 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
9126
9127         * config/sh/sh.md: Add modes to unspecs in first insn to match
9128         those in the second.
9129
9130         * Makefile.in: Fix collect2 copy for Cygwin.
9131
9132 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
9133
9134         Install the proper patch.
9135         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
9136         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
9137         (expand_function_start): Likewise.
9138         * stmt.c (expand_decl): Likewise.
9139         * varasm.c (make_decl_rtx): Likewise.
9140
9141 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
9142
9143         * final.c: Undo my previous accidental checkin.
9144         * output.h: Likewise.
9145         * tm.texi: Likewise.
9146
9147 2001-08-16  Richard Henderson  <rth@redhat.com>
9148
9149         * varasm.c (named_section_flags): Remove align parameter.
9150         * varasm.c, dwarf2out.c: Update all callers.
9151         * output.h: Update prototypes.
9152
9153         * target.h (target.asm_out.named_section): Remove align parameter.
9154         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
9155         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
9156         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
9157         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
9158         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
9159
9160         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
9161         (get_named_section_flags, set_named_section_flags): New.
9162         (named_section_flags): Use them.
9163         (named_section): Do decl vs section flags check here...
9164         (default_section_type_flags): ... not here.
9165         (init_varasm_once): Create in_named_htab.
9166         (resolve_unique_section): Mark reloc unused.
9167
9168 2001-08-16  Richard Henderson  <rth@redhat.com>
9169
9170         * varasm.c (force_const_mem): Keep pool alignment in bits.
9171         (output_constant_pool): Use assemble_align.
9172
9173 2001-08-16  Zack Weinberg  <zackw@panix.com>
9174
9175         * doc/tm.texi: Remove extra @table command.
9176
9177 2001-08-16  Zack Weinberg  <zackw@panix.com>
9178
9179         * final.c (shorten_branches): Clear the end of the label_align
9180         array only if we made it larger.  Break up messy expressions
9181         for clarity.
9182
9183         * diagnostic.c (internal_error): Check for error recursion
9184         before doing ICE suppression.
9185
9186         * timevar.c: Timing variables now count in milliseconds.
9187         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
9188         (get_time): Not here.
9189         (timevar_print): Don't print any timer whose user, cpu, and
9190         wall times are all zero as displayed.
9191         * timevar.h: Update comment aboout units.  Make timevar
9192         counters unsigned.
9193
9194 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
9195
9196         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
9197         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
9198         (expand_function_start): Likewise.
9199         * stmt.c (expand_decl): Likewise.
9200         * varasm.c (make_decl_rtx): Likewise.
9201
9202 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
9203
9204         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
9205         (finalize_record_size): Don't set TYPE_USER_ALIGN.
9206
9207 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
9208
9209         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
9210         variables.
9211
9212 2001-08-16  Andreas Jaeger  <aj@suse.de>
9213
9214         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
9215         prototype.
9216
9217 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
9218
9219         * rtl.h (only_sets_cc0_p): New prototype.
9220         * jump.c (sets_cc0_p): Handle INSN.
9221         (only_sets_cc0_p): New function.
9222         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
9223         (tidy_fallthru_edge): Likewise.
9224         * integrate.c (copy_insn_list): Likewise.
9225         * unroll.c (unroll_loop): Likewise.
9226         (copy_loop_body): Likewise.
9227
9228 2001-08-15  Jason Eckhardt  <jle@redhat.com>
9229
9230         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
9231
9232 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
9233
9234         * predict.c (struct block_info_def): Remove nvisited.
9235         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
9236         (estimate_bb_frequencies): Call mark_dfs_back_edges.
9237
9238         * i386.c (ix86_agi_depdendant): Lea causes AGI only on the Pentium
9239         (ix86_adjust_cost): Teach scheduler that latency to load operand can
9240         be masked.
9241
9242 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
9243
9244         * predict.def: Update hitrates.
9245
9246 2001-08-15  Richard Henderson  <rth@redhat.com>
9247
9248         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
9249
9250 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
9251
9252         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
9253         note from its associated jump.
9254
9255 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
9256
9257         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
9258         also on 64-bit s390x targets.
9259
9260 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
9261
9262         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
9263         function.
9264         (arm_expand_prologue): Handled nested functions which take a
9265         variable argument list.
9266         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
9267         macro with an invocation of
9268         arm_compute_initial_elimination_offset.
9269         * config/arm/arm-protos.h: Prototype
9270         arm_compute_initial_elimination_offset.
9271
9272 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9273
9274         * doc/install.texi (Specific, avr): Fix markup.
9275         (Specific, c4x): Ditto.
9276
9277 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
9278
9279         * predict.c (dump_prediction): Change `bool' parameter to `int'.
9280
9281 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
9282
9283         * Makefile.in (OBJS): Add rtl-error.o
9284         (rtl-error.o): New rule.
9285         (diagnostic.o): Adjust dependency.
9286         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
9287         error_for_asm, _fatal_insn, _fatal_insn_not_found,
9288         warning_for_asm): Move to...
9289         rtl-error.c: ...here.  New file.
9290
9291 2001-08-14  Richard Henderson  <rth@redhat.com>
9292
9293         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
9294         if USING_SJLJ_EXCEPTIONS.
9295
9296 2001-08-14  Steve Ellcey <sje@cup.hp.com>
9297
9298         * tlink.c (scan_linker_output): Check string for unsatisfied in
9299         addition to undefined and unresolved.
9300
9301 2001-08-14  Graham Stott  <grahams@redhat.com>
9302
9303         * libgcc2.c (*): Replace EH_FRAME_SECTION with
9304         EH_FRAME_SECTION_NAME.
9305
9306 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
9307
9308         * genattrtab.c (simplify_test_exp_in_temp): New function.
9309         (simplify_test_exp): Avoid explicit use of temporary obstack.
9310         (simplify_cond, insert_right_side, evaluate_eq_attr,
9311         simplify_and_tree, simplify_or_tree, eliminate_known_true):
9312         Use simplify_test_exp_in_temp.
9313         (optimize_attrs): Iterate until expression stabilizes.
9314
9315 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
9316
9317         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
9318         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
9319
9320 2001-08-13  Richard Henderson  <rth@redhat.com>
9321
9322         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
9323         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
9324         * config/arm/conix-elf.h: Likewise.
9325
9326 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
9327
9328         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
9329         in gcc.c.
9330         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
9331
9332         * gcse.c (hash_scan_set): Expressions that are set as part of
9333         jump instructions are not available.
9334
9335 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
9336
9337         * config/s390/s390.c (print_operand, s390_function_prologue,
9338         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
9339
9340 2001-08-13  Richard Henderson  <rth@redhat.com>
9341
9342         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
9343         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
9344         * doc/tm.texi (Exception Region Output): Document it.
9345
9346 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
9347
9348         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
9349         DWARF2 instead of stabs by default.
9350
9351 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
9352
9353         * config/rs6000/rs6000.c: Include optabs.h.
9354
9355 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
9356
9357         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
9358         save/restore routines.
9359         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
9360
9361 2001-08-13  Andreas Jaeger  <aj@suse.de>
9362
9363         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
9364         the english is correct.
9365
9366 2001-08-13  Zack Weinberg  <zackw@panix.com>
9367
9368         * expr.h: Split out optab- and libfunc-related code to...
9369         * optabs.h, libfuncs.h: ... these new headers.
9370
9371         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
9372         (OPTABS_H): New.
9373         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
9374         dependencies.
9375         * mkconfig.sh: Don't include insn-codes.h from config.h.
9376
9377         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
9378         enum insn_code is available.  Move reload_in_optab and
9379         reload_out_optab array declarations to optabs.h.
9380         * regmove.c (gen_add3_insn): Move to optabs.c, export from
9381         there, prototype in expr.h.
9382         * gencodes.c: Cleanup: zap global variables, don't use
9383         printf where puts will do, don't bother defining MAX_INSN_CODE
9384         which nothing uses, let CODE_FOR_nothing get its value implicitly.
9385
9386         * genemit.c, genopinit.c: Include optabs.h in generated file.
9387         * genoutput.c: Include insn-codes.h in generated file.
9388         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
9389         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
9390         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
9391         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
9392         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
9393         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
9394         Include optabs.h.
9395         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
9396         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
9397         config/m88k/m88k.c, config/sparc/sparc.c:
9398         Include libfuncs.h.
9399         * reload.c: Include expr.h and optabs.h before reload.h.
9400         * config/alpha/alpha.c: Include tree.h before reload.h.
9401         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
9402         and reload.h in that order.
9403         * config/sparc/sparc.c: Include debug.h.
9404         * recog.c: Include insn-codes.h.
9405
9406 2001-08-13  Andreas Jaeger  <aj@suse.de>
9407
9408         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
9409         s390*linux.
9410
9411 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
9412
9413         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
9414         * gcc.c (init_spec): Fix typo in comment.
9415         * varasm.c (data_section): Fix typo in comment.
9416
9417 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
9418
9419         * predict.c (dump_prediction): New argument "USED".
9420         (combine_predictions_for_insn): Determine the used heuristics,
9421         output the case no heuristic applied.
9422         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
9423
9424 2001-08-13  Andreas Jaeger  <aj@suse.de>
9425
9426         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
9427         register %rip.
9428
9429 2001-08-13  Kazu Hirata  <kazu@hxi.com>
9430
9431         * jump.c: Fix formatting.
9432
9433 2001-08-13  Kazu Hirata  <kazu@hxi.com>
9434
9435         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
9436         length.
9437
9438 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
9439
9440         * loop.c (check_dbra_loop): Use condjump_label to compute
9441         jump_label.
9442
9443         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
9444         to better document the files they're in.
9445
9446 2001-08-12  Zack Weinberg  <zackw@panix.com>
9447
9448         * recog.h (struct insn_operand_data): Shrink 'mode' field
9449         to 16 bits.
9450
9451 2001-08-12  Kazu Hirata  <kazu@hxi.com>
9452
9453         * gcc.c: Fix comment formatting.
9454         * gccspec.c: Likewise.
9455         * gcov.c: Likewise.
9456         * gcse.c: Likewise.
9457         * genemit.c: Likewise.
9458         * gengenrtl.c: Likewise.
9459         * genrecog.c: Likewise.
9460         * gensupport.c: Likewise.
9461         * ggc-page.c: Likewise.
9462         * global.c: Likewise.
9463         * graph.c: Likewise.
9464         * ifcvt.c: Likewise.
9465         * integrate.c: Likewise.
9466         * lcm.c: Likewise.
9467         * libgcc2.c: Likewise.
9468         * loop.c: Likewise.
9469         * mbchar.c: Likewise.
9470         * optabs.c: Likewise.
9471         * predict.c: Likewise.
9472         * prefix.c: Likewise.
9473         * profile.c: Likewise.
9474         * protoize.c: Likewise.
9475         * real.c: Likewise.
9476         * recog.c: Likewise.
9477         * regclass.c: Likewise.
9478         * regmove.c: Likewise.
9479         * reg-stack.c: Likewise.
9480         * reload1.c: Likewise.
9481         * resource.c: Likewise.
9482         * rtlanal.c: Likewise.
9483         * rtl.c: Likewise.
9484
9485 2001-08-12  Kazu Hirata  <kazu@hxi.com>
9486
9487         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
9488         a tree representing a constant is passed to the macro.
9489
9490 2001-08-12  Richard Henderson  <rth@redhat.com>
9491
9492         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
9493         (rs6000_elf_asm_out_destructor): New.
9494         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
9495         (DTORS_SECTION_ASM_OP): Remove.
9496         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9497         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
9498
9499 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
9500
9501         Revert:
9502         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9503         * gcc.c (set_collect_gcc_options): New function, split out from
9504         main.
9505         Ignore elided switches.
9506         (do_spec_1): Invoke before executing command.
9507         (set_input): Export.
9508         Move declaration ...
9509         * gcc.h (set_input): ... here.
9510         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
9511         file.
9512
9513 2001-08-12  Richard Henderson  <rth@redhat.com>
9514
9515         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
9516         thinko wrt TARGET_RELOCATABLE.
9517
9518 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
9519
9520         * fix-header.c (cb_file_change): Update prototype.
9521
9522 2001-08-11  Zack Weinberg  <zackw@panix.com>
9523
9524         * toplev.c (set_float_handler): Make static.
9525         * toplev.h: Don't prototype set_float_handler.
9526
9527         * simplify-rtx.c: Don't include setjmp.h.
9528         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
9529         New functions.
9530         (simplify_unary_operation, simplify_binary_operation): Use them,
9531         via do_float_handler.
9532
9533         * fold-const.c: Don't include setjmp.h.
9534         (exact_real_inverse_1): New function.
9535         (exact_real_inverse): Use it, via do_float_handler.
9536
9537         * varasm.c: Don't include setjmp.h.
9538         (assemble_real_1): New function.
9539         (assemble_real): Use it, via do_float_handler.
9540         Call internal_error if we get a trap here.
9541
9542         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
9543         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
9544
9545 2001-08-11  Zack Weinberg  <zackw@panix.com>
9546
9547         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
9548         STACK_BOUNDARY if not already defined.
9549
9550         * calls.c, function.c, reload1.c, explow.c: Don't default
9551         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
9552         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
9553
9554         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
9555         to run-time test.
9556
9557         * doc/tm.texi: Document that STACK_BOUNDARY is required;
9558         clarify difference between it and PREFERRED_STACK_BOUNDARY.
9559
9560 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
9561
9562         * cppmacro.c (enter_macro_context): Push macro expansions even
9563         if empty.
9564
9565 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9566
9567         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
9568         (rs6000_elf_section_type_flags): Actually return a value.
9569
9570 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
9571
9572         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
9573         Clean up code: add missing comments and prototypes, fix warnings,
9574         remove obsolete code, fix spacing to conform to coding style.
9575
9576 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
9577
9578         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
9579         and TARGET_ASM_CLOSE_PAREN.
9580         (regclass_map): CC register belongs to class NO_REGS.
9581         (legitimize_pic_address): Don't generate unnecessary moves
9582         (to avoid confusing loop optimization).
9583         (check_and_change_labels): Replace jump_long by indirect_jump.
9584         (s390_final_chunkify): Don't start a new literal pool on section
9585         switch in 64-bit code.
9586         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
9587
9588         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
9589         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
9590         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
9591         modes correctly.
9592         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
9593         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
9594         (CONST_COSTS): Fixed incorrect costs.
9595
9596         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
9597         Use emit_jump instead of emit_jump_insn (gen_jump).
9598         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
9599         (to avoid confusing flow analysis).
9600         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
9601         (casesi, casesi_jump): New.
9602         (jump_long): Removed.  Functionality merged into indirect_jump.
9603         (indirect_jump): Accept address_operand, not just register_operand.
9604         (cjump_long, icjump_long): Use same logic as indirect_jump.
9605         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
9606         Fixed broken setjmp/longjmp handling.
9607         (do_builtin_setjmp_setup): Removed.
9608
9609         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
9610         broken GNU as versions that don't accept .quad with large
9611         negative values.  Use hexadecimal output instead.
9612         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
9613         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
9614         FUNCTION_EPILOGUE): Removed.  Now in targetm.
9615
9616         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
9617
9618         * config/s390/fixdfdi.h: Add missing copyright statement.
9619         Fix type conflicts on 64-bit.  Add missing SFmode routines.
9620
9621         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
9622         email address.
9623
9624 2001-08-11  Richard Henderson  <rth@redhat.com>
9625
9626         * rtl.h (REG_EH_RETHROW): Remove.
9627         * rtl.c (reg_note_name): Update.
9628         * combine.c (distribute_notes): Don't check for it.
9629
9630 2001-08-11  Richard Henderson  <rth@redhat.com>
9631
9632         * combine.c (distribute_notes): Place REG_SETJMP.
9633
9634 2001-08-11  Richard Henderson  <rth@redhat.com>
9635
9636         * doc/extend.texi (Arrays and pointers implementation): Discourage
9637         relying on sign-extension of pointers.
9638
9639 2001-08-11  H.J. Lu <hjl@gnu.org>
9640
9641         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
9642         in_dtors.
9643         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
9644         RDATA_SECTION_ASM_OP.
9645
9646 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9647
9648         * doc/install.texi (Specific, c4x): Fix cross-reference to the
9649         main manual to work both for info and HTML versions.
9650
9651 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
9652             Matt Kraai <kraai@alumni.carnegiemellon.edu>
9653
9654         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
9655         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
9656         (struct cpp_pool): New member first.
9657         * cppinit.c (append_include_chain): Plug memory leaks.
9658         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
9659         Allocate pragma structures from the (aligned) macro pool to
9660         avoid leaking memory.
9661         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
9662         so we don't leak memory.
9663         * hashtable.c (ht_destroy): New.
9664         * hashtable.h (ht_destroy): New.
9665
9666 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
9667             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9668
9669         * c-lex.c (map): Make const.
9670         (cb_file_change): Update for callback passing a line map.
9671         Don't assume we have a previous map.  Remove sanity check
9672         about popping too many files.
9673         * cpperror.c (print_location): Make map const.
9674         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
9675         (cpp_make_system_header): Similarly.
9676         (search_from): Similarly.
9677         (_cpp_execute_include): Don't remember where we came from.
9678         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
9679         (struct cpp_reader): Make map const.
9680         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
9681         * cpplib.c (do_line): Update; line maps now hold sysp.
9682         (cpp_push_buffer): Similarly.
9683         (_cpp_do_file_change): Similarly; callback with map instead.
9684         (cpp_get_line_maps): Constify return value.
9685         (_cpp_pop_buffer): Update.
9686         * cpplib.h (struct cpp_file_change): Remove.
9687         (struct cpp_callbacks): Update.
9688         (cpp_get_line_maps): Constify return value.
9689         * cppmacro.c (_cpp_create_definition): Update.
9690         * cppmain.c (struct printer): Constify map.
9691         (maybe_print_line): Similarly.
9692         (print_line): Similarly.  Deduce flags 1 and 2 here.
9693         (cb_file_change): Update.
9694         * line-map.c (free_line_maps): Warn regardless.
9695         (add_line_map): Return pointer to const.  When passed NULL to_file
9696         with LC_LEAVE, use the obvious values for the return point so the
9697         caller doesn't have to figure them out.
9698         (lookup_line): Return pointer to const.
9699         (print_containing_files): Take pointer to const.
9700         * line-map.h (struct line_map): New members reason, sysp.
9701         (add_line_map): Return pointer to const.
9702         (lookup_line): Similarly.
9703         (print_containing_files): Take pointer to const.
9704
9705 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
9706             Richard Henderson  <rth@redhat.com>
9707
9708         * regmove.c (regmove_optimize): Avoid setting a register twice in
9709         a parallel set.
9710
9711 2001-08-10  Richard Henderson  <rth@redhat.com>
9712
9713         * doc/extend.texi (Arrays and pointers implementation): Document
9714         behavior of pointer/integer conversion.
9715
9716 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
9717
9718         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
9719
9720 2001-08-10  Richard Henderson  <rth@redhat.com>
9721
9722         * doc/extend.texi (C Implementation): New chapter.
9723         * doc/gcc.texi (Top): Link it in.
9724
9725 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
9726
9727         * doc/install.texi (Specific): Fix CVS merge botch.
9728
9729 2001-08-10  Richard Henderson  <rth@redhat.com>
9730
9731         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
9732         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
9733
9734 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
9735
9736         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
9737         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
9738         this macro is now required.
9739
9740         * cselib.c (cselib_process_insn), flow.c (propagate_block),
9741         loop.c (find_and_verify_loops), reload.c (reload): Check
9742         for rtx code of CALL_INSN, not CALL, when deciding if we
9743         need to check for REG_SETJMP note.
9744
9745         * gcse.c (compute_hash_table, compute_store_table): Update
9746         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
9747         logic.
9748
9749         * config/avr/avr.c: Fix typo.
9750         * config/convex/convex.c (expand_movstr): Use adjust_address.
9751         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
9752         variable.
9753         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
9754         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
9755         Fix typo.
9756         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
9757         Do define STACK_BOUNDARY.
9758         * config/i370/i370.c: Include expr.h.
9759         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
9760         config/pa/som.h, config/v850/v850.h: Take in_ctors and
9761         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
9762         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
9763         * config/m88k/m88k.c: Include c-tree.h after expr.h.
9764         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
9765         * config/romp/romp.c: Include expr.h after tree.h.
9766         Include toplev.h.
9767         (output_fpop): Use xmalloc, not oballoc.
9768         * config/we32k/we32k.c: Include expr.h.
9769
9770 2001-08-10  Kazu Hirata  <kazu@hxi.com>
9771
9772         * config/h8300/h8300.h: Fix formatting.
9773
9774 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
9775
9776         * c-common.h (RETURN_NULLIFIED_P): Lose.
9777         * c-semantics.c (genrtl_return_stmt): Don't check it.
9778
9779 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
9780
9781         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
9782         (mips_annotate_frame_insn): New function.
9783         (mips_emit_frame_related_store): New function.
9784         (save_restore_insns): Don't mark instructions that set up the base
9785         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
9786         the store instructions instead.
9787         (mips_expand_prologue): If the stack size is moved into a temporary
9788         register, do not mark that move as frame-related.  Add a
9789         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
9790
9791 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
9792
9793         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
9794         stack slot as unchanging if current_function_calls_eh_return.
9795
9796 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
9797
9798         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
9799         access the second half of the TFmode scratch operand.
9800
9801 2001-08-10  Anthony Green  <green@redhat.com>
9802
9803         * java/class.c (emit_register_classes): Conditionalize code on
9804         JCR_SECTION_NAME.
9805
9806 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9807
9808         * doc/install.texi (Specific, avr): Fix cross-reference to the
9809         main manual to work both for info and HTML versions.
9810
9811 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9812
9813         * stmt.c (expand_null_return_1): Remove code to generate simple returns
9814         and "use_goto" argument.
9815         (expand_null_return, expand_value_return): Update all callers.
9816         * function.c (expand_function_end): Remove code to generate simple
9817         return.
9818         * config/vax/vax.md (epilogue): New expander for function return.
9819         * doc/md.texi (epilogue): Remove "if defined".
9820
9821 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
9822
9823         * Makefile.in: Partially revert my previous change:
9824         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
9825         of the hashtab.o and safe-ctype.o rules.
9826
9827 2001-08-09  Richard Henderson  <rth@redhat.com>
9828
9829         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
9830         (USE_COLLECT2): Remove duplicate definition.
9831         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
9832         (use_collect2): Remove dead code.
9833         * configure.in (use_collect2): Remove will_use_collect2 and
9834         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
9835         * configure: Rebuild.
9836
9837         * target.h (targetm.asm_out.constructor): New.
9838         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
9839         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
9840         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
9841         * varasm.c (in_ctors, in_dtors): New.
9842         (assemble_constructor, assemble_destructor): Remove.
9843         (default_stabs_asm_out_destructor): New.
9844         (default_named_section_asm_out_destructor): New.
9845         (dtors_section, default_dtor_section_asm_out_destructor): New.
9846         (default_stabs_asm_out_constructor): New.
9847         (default_named_section_asm_out_constructor): New.
9848         (ctors_section, default_ctor_section_asm_out_constructor): New.
9849         * output.h: Update declarations.
9850         * c-decl.c (c_expand_body): Use target hooks instead of
9851         assemble_constructor and assemble_destructor.
9852         * profile.c (output_func_start_profiler): Likewise.
9853         * objc/objc-act.c (finish_objc): Likewise.
9854         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
9855         for the constructor.
9856         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
9857
9858         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
9859         (DTORS_SECTION_ASM_OP): Likewise.
9860         (__CTOR_LIST__): Use attribute section when possible.
9861         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
9862
9863         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
9864         ASM_OUTPUT_CONSTRUCTOR.
9865
9866         * config/darwin.c (machopic_asm_out_constructor): New.
9867         (machopic_asm_out_destructor): New.
9868         * config/darwin-protos.h: Update declarations.
9869         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9870         (ASM_OUTPUT_DESTRUCTOR): Remove.
9871         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9872         * config/nextstep.c (nextstep_asm_out_constructor): New.
9873         (nextstep_asm_out_destructor): New.
9874         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9875         (ASM_OUTPUT_DESTRUCTOR): Remove.
9876         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9877         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
9878         ASM_OUTPUT_*STRUCTOR.
9879         * config/i386/aix386ng.h: Likewise.
9880
9881         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
9882         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
9883         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
9884         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
9885         * config/lynx.h: Likewise.
9886         * config/netware.h: Likewise.
9887         * config/psos.h: Likewise.
9888         * config/alpha/alpha-interix.h: Likewise.
9889         * config/alpha/elf.h: Likewise.
9890         * config/arc/arc.h: Likewise.
9891         * config/arm/aof.h: Likewise.
9892         * config/arm/coff.h: Likewise.
9893         * config/arm/elf.h: Likewise.
9894         * config/c4x/c4x.h: Likewise.
9895         * config/h8300/h8300.h: Likewise.
9896         * config/i386/cygwin.h: Likewise.
9897         * config/i386/djgpp.h: Likewise.
9898         * config/i386/i386-coff.h: Likewise.
9899         * config/i386/i386-interix.h: Likewise.
9900         * config/i386/sco5.h: Likewise.
9901         * config/i386/vsta.h: Likewise.
9902         * config/i386/win32.h: Likewise.
9903         * config/i960/i960-coff.h: Likewise.
9904         * config/ia64/sysv4.h: Likewise.
9905         * config/m68hc11/m68hc11.h: Likewise.
9906         * config/m68k/coff.h: Likewise.
9907         * config/m68k/mot3300.h: Likewise.
9908         * config/m88k/m88k.h: Likewise.
9909         * config/mcore/mcore-pe.h: Likewise.
9910         * config/mcore/mcore.h: Likewise.
9911         * config/mips/elf.h: Likewise.
9912         * config/mips/elf64.h: Likewise.
9913         * config/mips/iris6.h: Likewise.
9914         * config/pa/pa64-hpux.h: Likewise.
9915         * config/rs6000/sysv4.h: Likewise.
9916         * config/sh/sh.h: Likewise.
9917         * config/sparc/litecoff.h: Likewise.
9918
9919         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
9920         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
9921         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
9922         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9923         (ASM_OUTPUT_DESTRUCTOR): Remove.
9924         * config/a29k/a29k.c: Move include of tree.h.
9925         * config/a29k/udi.h: Delete file.
9926         * config/alpha/alpha.c (vms_asm_out_constructor): New.
9927         (vms_asm_out_destructor): New.
9928         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
9929         (EXTRA_SECTION_FUNCTIONS): Likewise.
9930         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
9931         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9932         * config/c4x/c4x.c: Move include of tree.h.
9933         * config/clipper/clipper.c (clix_asm_out_constructor): New.
9934         (clix_asm_out_destructor): New.
9935         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9936         (ASM_OUTPUT_DESTRUCTOR): Remove.
9937         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9938         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9939         (TARGET_ASM_CONSTRUCTOR): New.
9940         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
9941         (sco_asm_out_constructor): New.
9942         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
9943         * config/i386/svr3gas.h: Remove stack grows up code.
9944         Remove code duplicated from i386/sysv3.h.
9945         (TARGET_ASM_CONSTRUCTOR): New.
9946         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
9947         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
9948         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9949         (TARGET_ASM_CONSTRUCTOR): New.
9950         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
9951         (m68hc11_asm_out_destructor): New.
9952         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
9953         (TARGET_ASM_DESTRUCTOR): New.
9954         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
9955         * config/m68k/dpx2.h: Properly undef all the bits inherited from
9956         config/svr3.h pertaining to section manipulation.
9957         * config/m68k/dpx2g.h: Remove #if 0 code.
9958         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
9959         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
9960         (ASM_OUTPUT_CONSTRUCTOR): Remove.
9961         (TARGET_ASM_CONSTRUCTOR): New.
9962         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
9963         (m88k_svr3_asm_out_constructor): New.
9964         (m88k_svr3_asm_out_destructor): New.
9965         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9966         (ASM_OUTPUT_DESTRUCTOR): Remove.
9967         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9968         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
9969         * config/rs6000/aix.h: Likewise.
9970         * config/mips/rtems64.h: Don't undef removed constructor related bits.
9971         * config/mips/vxworks.h: Likewise.
9972         * config/rs6000/lynx.h: Likewise.
9973         * config/sh/elf.h: Likewise.
9974         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
9975         (DTORS_SECTION_ASM_OP): New.
9976         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9977         (ASM_OUTPUT_DESTRUCTOR): Remove.
9978         * config/sparc/sol2-sld-64.h: Likewise.
9979         * config/vax/vax.c (vms_asm_out_constructor): New.
9980         (vms_asm_out_destructor): New.
9981         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9982         (ASM_OUTPUT_DESTRUCTOR): Remove.
9983         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9984
9985         * doc/tm.texi (@node Initialization): Update.
9986
9987 2001-08-09  Richard Henderson  <rth@redhat.com>
9988
9989         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
9990         (__do_global_dtors_aux): Use gp-relative static data to avoid
9991         one dynamic relocation.
9992         (__do_frame_setup): Register Java classes.
9993         * config/alpha/crtend.asm (__JCR_END__): New.
9994
9995 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
9996
9997         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
9998         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
9999         (GEN, STAGESTUFF): Add new files.
10000         (insn-constants.h, s-constants, tm-preds.h, s-preds,
10001         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
10002         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
10003         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
10004         as well as insn-codes.h and insn-flags.h in config.h; and no
10005         extra headers in tconfig.h and hconfig.h.
10006
10007         * gencodes.c: Eliminate code to generate predicate declarations
10008         or #defines for md-file constants.
10009         * genconstants.c, genpreds.c: New files.
10010
10011         * i386.md: Re-order guard expressions such that TARGET_64BIT
10012         comes first, when this permits better optimization.  Add
10013         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
10014         why this is desirable.
10015
10016 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
10017
10018         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
10019         (find_fde_for_dso): Remove.
10020         (_Unwind_IteratePhdrCallback): New.
10021         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
10022         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
10023
10024 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10025
10026         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
10027         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
10028
10029 2001-08-09  Graham Stott  <grahams@redhat.com>
10030
10031         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
10032         (vis_no_unit): Use it.
10033         (visualize_no_unit): Add the insn only if room exists.
10034
10035 2001-08-09  Graham Stott  <grahams@redhat.com>
10036
10037         * predict.c (estimate_probability): Replace magic numbers with
10038         appropriate enumeration.
10039
10040 2001-08-09  Graham Stott  <grahams@redhat.com>
10041
10042         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
10043         parameter.
10044         (EXTRACT_FLAGS): Likewise.
10045
10046 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
10047
10048         * config/mips/mips.c    (mips_legitimate_address_p): Check for
10049         CONST_INT in last patch.
10050
10051 2001-08-08  Anthony Green  <green@redhat.com>
10052
10053         * java/class.c (emit_register_classes): Use assemble_jcr if
10054         possible.  Keep the original mechanism as a fallback.
10055         * defaults.h (JCR_SECTION_NAME): Define if we have named section
10056         and weak symbol support.
10057         * crtstuff.c (__JCR_LIST__): Define.
10058         (__JCR_END__): Define.
10059         (_Jv_RegiserClasses): Define weak symbol if possible.
10060         (__do_global_ctors_aux): Register classes for ELF targets with
10061         weak symbol support.
10062
10063 2001-08-08  Kazu Hirata  <kazu@hxi.com>
10064
10065         * dbxout.c: Fix comment formatting.
10066         * dependence.c: Likewise.
10067         * df.c: Likewise.
10068         * diagnostic.c: Likewise.
10069         * dominance.c: Likewise.
10070         * doprint.c: Likewise.
10071         * dwarf2out.c: Likewise.
10072         * dwarfout.c: Likewise.
10073         * emit-rtl.c: Likewise.
10074         * except.c: Likewise.
10075         * explow.c: Likewise.
10076         * expmed.c: Likewise.
10077         * expr.c: Likewise.
10078         * flow.c: Likewise.
10079         * fold-const.c: Likewise.
10080         * function.c: Likewise.
10081
10082 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10083
10084         * global.c (retry_global_alloc): Avoid shadowing allocno.
10085
10086 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
10087
10088         * except.c (remove_fixup_regions): Fix typo.
10089
10090 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
10091
10092         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
10093         unsigned HOST_WIDE_INT to avoid warning.
10094         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
10095         * flow.c (set_block_for_new_insns): Likewise.
10096
10097 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
10098
10099         * sibcall.c (return_value_pseudo): New static variable.
10100         (skip_copy_to_return_value): Handle return_value_pseudo.
10101         (call_ends_block_p): Ensure that return_value_pseudo is set.
10102         (optimize_sibling_and_tail_recursive_call): Discover the
10103         load of pseudo return value in alternate exit block.
10104
10105 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
10106
10107         * calls.c (ECF_ALWAYS_RETURN): New constant.
10108         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
10109         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
10110         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
10111         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
10112         * rtl.c (reg_note_name): New name.
10113         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
10114
10115 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
10116
10117         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
10118
10119 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
10120
10121         * alias.c (get_alias_set): Return a previously calculated
10122         alias set for a VAR_DECL.
10123         * function.c (gen_mem_addressof): Calculate the alias set before
10124         touching the RTL.
10125
10126 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
10127
10128         * predict.def: Set hitrates according our experimental run.
10129
10130 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
10131
10132         * i386.h (HARD_REGNO_RENAME_OK): New macro.
10133
10134 2001-08-08  H.J. Lu <hjl@gnu.org>
10135
10136         * config/mips/mips.c (mips_unique_section): New. Copied from
10137         config/mips/elf.h.
10138
10139         * config/mips/mips-protos.h (mips_unique_section): New
10140         prototype.
10141
10142         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
10143
10144         * config/mips/little.h: New. Generic little endian mips
10145         targets. Only mips*-*-linux* is converted to use it so far.
10146
10147         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
10148         (WCHAR_TYPE): Defined
10149         (WCHAR_TYPE_SIZE): Likewise.
10150         (INIT_SUBTARGET_OPTABS): Likewise.
10151         (BSS_SECTION_ASM_OP): Likewise.
10152         (SBSS_SECTION_ASM_OP): Likewise.
10153         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
10154         (ASM_DECLARE_OBJECT_NAME): Likewise.
10155         (UNIQUE_SECTION): Likewise.
10156         (EXTRA_SECTIONS): Likewise.
10157         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
10158         (ASM_OUTPUT_DESTRUCTOR): Likewise.
10159         (ASM_OUTPUT_DEF): Likewise.
10160         (HANDLE_SYSV_PRAGMA): Removed.
10161         (NO_IMPLICIT_EXTERN_C): Likewise.
10162         (TARGET_MEM_FUNCTIONS): Likewise.
10163         (STARTFILE_SPEC): Likewise.
10164         (ENDFILE_SPEC): Likewise.
10165         (LIB_SPEC): Likewise.
10166         (INVOKE__main): Likewise.
10167         (CTOR_LIST_BEGIN): Likewise.
10168         (CTOR_LIST_END): Likewise.
10169         (DTOR_LIST_BEGIN): Likewise.
10170         (DTOR_LIST_END): Likewise.
10171         (SET_ASM_OP): Likewise.
10172         (ASM_OUTPUT_SOURCE_LINE): Likewise.
10173         (ASM_OUTPUT_DEF): Likewise.
10174         (ASM_OUTPUT_IDENT): Likewise.
10175
10176         * config/mips/mips.h (ASM_SPEC): Undefine before define.
10177         (CPLUSPLUS_CPP_SPEC): Likewise.
10178         (ASM_APP_ON) Redefine only if not defined.
10179         (ASM_APP_OFF): Likewise.
10180         (ASM_OUTPUT_SOURCE_LINE): Likewise.
10181         (ASM_OUTPUT_IDENT): Likewise.
10182
10183         * config.gcc: Update tm_file for Linux/mips.
10184
10185 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
10186
10187         * cselib.c (cselib_record_sets): If insn is predicated, turn
10188         sources into IF_THEN_ELSEs.
10189
10190         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
10191         Turn into define_insn_and_split.
10192
10193         * sched-deps.c: Include "cselib.h".
10194         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
10195         Use cselib to turn memory addresses into VALUEs.
10196         (sched_analyze): Call cselib_init/cselib_finish if necessary.
10197         * sched-int.h (struct sched_info): New member USE_CSELIB.
10198         * sched-ebb.c (ebb_sched_info): Initialize it.
10199         * sched-rgn.c (rgn_sched_info): Likewise.
10200         * Makefile.in (sched-deps.o): Update dependencies.
10201
10202         * cselib.h (cselib_subst_to_values): Declare.
10203         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
10204         that have no value and autoincs to be handled by generating a new
10205         dummy value.
10206
10207 2001-08-08  Graham Stott  <grahams@redhat.com>
10208
10209         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
10210         within fixed length SEQUENCE.
10211
10212 2001-08-08  Graham Stott  <grahams@redhat.com>
10213
10214         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
10215         (diagnostic_prefixing_rule): Likewise.
10216         (diagnostic_line_cutoff): Likewise.
10217         (diagnostic_kind_count): Likewise.
10218
10219 2001-08-08  Graham Stott  <grahams@redhat.com>
10220
10221         * alias.c (find_base_decl): Delete redundent assignment.
10222
10223 2001-08-08  Graham Stott  <grahams@redhat.com>
10224
10225         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
10226         (abs): Uppercase and paranthesize macro parameter.
10227         (MEM_DEPENDENCY): Add whitespace.
10228
10229 2001-08-08  Graham Stott  <grahams@redhat.com>
10230
10231         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
10232         failure check for CONST_INT
10233
10234 2001-08-08  Graham Stott  <grahams@redhat.com>
10235
10236         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
10237         (libcall_dead_p): Likewise.
10238
10239         (mark_used_regs): Constify fmt.
10240         (find_use_as_address): Likewise.
10241
10242 2001-08-08  Graham Stott  <grahams@redhat.com>
10243
10244         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
10245          parameter.
10246
10247 2001-08-08  Graham Stott  <grahams@redhat.com>
10248
10249         * combine.c (combine_simplify_rtx): Update comment and
10250         remove erroneous test.
10251
10252 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
10253
10254         * cppinit.c (cpp_finish): Pop the final buffer without comment.
10255         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
10256         take care to avoid multiple no-newline at EOF warnings in that
10257         case.
10258
10259 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
10260
10261         * calls.c (expand_call): Do not emit INSN_SETJMP note.
10262         (emit_library_call_value_1): Likewise.
10263         (emit_call_1): Emit REG_SETJMP note.
10264         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
10265         of INSN_SETJMP
10266         * cselib.c (cselib_process_insn): Likewise.
10267         * flow.c (propagate_block): Likewise.
10268         * loop.c (find_and_verify_loops): Likewise.
10269         * reload.c (find_equiv_regs): Likewise.
10270         * reload1.c (reload): Likewise.
10271         * resource.c (mark_referenced_resources,
10272         mark_set_resources): Likewise.
10273         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
10274         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
10275         * haifa-sched.c (unlink_other_notes): Likewise.
10276         (reemit_notes): Likewise.
10277         * sched-ebb.c (sched_ebb): Likewise.
10278         * sched-rgc.c (sched_region): Likewise.
10279         * rtl.c (note_insn_name): Likewise.
10280         (reg_note_name): Add REG_SETJMP
10281         * rtl.h (reg_note): Add REG_SETJMP.
10282         (insn_note): Remove NOTE_INSN_SETJMP.
10283
10284         * profile.c (branch_prob): Add fake edges for setjmp.
10285
10286 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
10287
10288         * config.gcc: Quote target_cpu_default2 correctly for
10289         powerpc*-*-* targets.
10290
10291 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
10292
10293         * cpplib.h, line-map.h: Update comments.
10294         * cppmain.c (printer_init): Move inline.
10295         (maybe_print_line, print_line): Take a map pointer.
10296         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
10297         (cb_file_change): Don't use prior value of print.map.
10298
10299 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
10300
10301         * doc/install.texi: Document fine-grained multilib configuration.
10302
10303 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
10304
10305         * rtlanal.c (find_first_parameter_load): Call note_stores
10306         only on the instructions.
10307
10308 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
10309
10310         * alias.c (nonlocal_mentioned_p):
10311         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
10312         * calls.c (emit_call_1): Likewise.
10313         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
10314         * cselib.c (cselib_process_insn): Likewise.
10315         * df.c (df_insns_modify): Likewise.
10316         * flow.c (need_fake_edge_p): Likewise.
10317         (propagate_one_insn): Likewise.
10318         * haifa-sched.c (reemit_notes): Likewise.
10319         * integrate.c (copy_insn_list): Likewise.
10320         * jump.c (delete_prior_computation): Likewise.
10321         * local-alloc.c (validate_equiv_mem): Likewise.
10322         * loop.c (scan_loop): Likewise.
10323         * predict.c (estimate_probability): Likewise.
10324         * reload.c (reload): Likewise.
10325         * sched-deps (sched_analyze): Likewise.
10326         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
10327         * gcse.c (compute_hash_table): Likewise.
10328         (mark_call): Likewise.
10329         (store_killed_in_insn): Likewise.
10330
10331 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
10332
10333         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
10334
10335 2001-08-06  Richard Henderson  <rth@redhat.com>
10336
10337         * varasm.c (assemble_gc_entry): Remove.
10338         * output.h: Likewise.
10339
10340 2001-08-06  Richard Henderson  <rth@redhat.com>
10341
10342         * varasm.c (assemble_constructor): Take a symbol_ref and a
10343         priority instead of a bare string.  Move priority handling
10344         here from cp/decl2.c.
10345         * output.h: Update decls.
10346
10347         * c-decl.c (c_expand_body): Update calls to assemble_constructor
10348         and assemble_destructor.
10349         * profile.c (output_func_start_profiler): Likewise.
10350         * objc/objc-act.c (finish_objc): Likewise.
10351         (build_module_descriptor): Return the symbol not the symbol name.
10352
10353 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
10354
10355         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
10356         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
10357         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
10358         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
10359         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
10360         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
10361
10362 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
10363
10364         * cpperror.c (print_containing_files): Moved to line-map.c.
10365         (print_location): line-map.c handles re-listing or otherwise.
10366         * cpphash.h (struct lexer_state): Remove next_bol.
10367         (struct cpp_buffer): Remove include_stack_listed.
10368         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
10369         Remove faked buffer handling.
10370         (_cpp_do_file_change): Tweak.
10371         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
10372         * cppmain.c (struct printer): Remove filename.
10373         (print_line, cb_file_change): Update accordingly.
10374         * line-map.c: Include intl.h.
10375         (init_line_maps): Initialize last_listed.
10376         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
10377         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
10378         (print_containing_files): New.
10379         * line-map.h (struct line_maps): New member last_listed.
10380         (print_containing_files, INCLUDED_FROM): New.
10381         * Makefile.in: Update.
10382         * po/POTFILES.in: Add line-map.c.
10383
10384 2001-08-06  Richard Henderson  <rth@redhat.com>
10385
10386         * except.c (convert_from_eh_region_ranges_1): Never mark
10387         USE or CLOBBER insns as throwing.
10388
10389         * expr.c (store_constructor): Don't clobber memory targets.
10390
10391 2001-08-06  Andreas Jaeger  <aj@suse.de>
10392
10393         * profile.c (branch_prob): Remove unused variable insn.
10394
10395         * Makefile.in (local-alloc.o): Add dependency on except.h.
10396
10397         * local-alloc.c: Include except.h for can_throw_internal prototype.
10398
10399 2001-08-06  Richard Henderson  <rth@redhat.com>
10400
10401         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
10402         * function.c (expand_main_function): Implement it.
10403         * doc/tm.texi: Document it.
10404
10405 2001-08-06  Stan Shebs  <shebs@apple.com>
10406
10407         * doc/install.texi: Document powerpc-*-darwin* details.
10408
10409 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
10410
10411         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
10412         (ASM_CPU_SPEC): Move back to rs6000.h
10413         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
10414
10415         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
10416
10417         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
10418         readded.
10419
10420         * config/rs6000/linux64.h: Ditto.
10421
10422         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
10423         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
10424         nothing.
10425
10426         Remove accidently readded definitions of FUNCTION_PROLOGUE,
10427         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
10428
10429         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
10430         to rs6000.h
10431
10432 2001-08-05  Richard Henderson  <rth@redhat.com>
10433
10434         * local-alloc.c (update_equiv_regs): Do not move insns that
10435         can throw.
10436
10437 2001-08-05  Jan Hubicka  <jh@suse.cz>
10438
10439         * Makefile.in (reload1.o): Add dedendancy on except.h
10440         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
10441         prototypes.
10442         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
10443         indicating wehther edges has been cleaned up.
10444         * reload1.c: Inlucde except.h
10445         (fixup_abnormal_edges): Accept deleted insns.
10446         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
10447         after combine.
10448
10449 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
10450
10451         * cpplib.c (do_line): Correct line number after pop_buffer.
10452
10453 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
10454
10455         PR preprocessor/3824
10456         * line-map.c: Update comments.
10457         * line-map.h: Update comments.
10458         * tradcif.y: Don't consider large numbers unsigned.
10459
10460 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
10461
10462         PR preprocessor/3081
10463         * c-lex.c (map): New.
10464         (cb_file_change): Update map and use it.
10465         (cb_def_pragma, cb_define, cb_undef): Use map and line.
10466         (c_lex): Update to use map.
10467         * cpperror.c (print_location): Move to using logical line numbers.
10468         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
10469         (cpp_make_system_header): Similarly.
10470         (_cpp_execute_include): Stop line numbering hacks.  Store the
10471         line we will return to.
10472         * cpphash.h (CPP_BUF_LINE): Remove.
10473         (struct cpp_buffer): Remove lineno and pseudo_newlines.
10474         Add map and return_to_line.
10475         (_cpp_do_file_change): Update.
10476         * cppinit.c (cpp_start_read): Update line kludge.
10477         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
10478         (trigraph_ok): Use logical line numbers for diagnostics.
10479         (skip_block_comment): Likewise.
10480         (skip_whitespace): Likewise.
10481         (skip_line_comment): Use pfile->line instead.
10482         (_cpp_lex_token): Update to use logical line numbering exclusively.
10483         Handle BOL locally.  Accept new lines in directives, but keep
10484         pfile->line decremented.  Diagnostics use logical lines.  Update
10485         directive handling.
10486         * cpplib.c (SEEN_EOL): New.
10487         (skip_rest_of_line, check_eol): Use it.
10488         (end_directive): Increase line number when accepting the newline
10489         at the end of a directive.
10490         (run_directive): Simplify.
10491         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
10492         (_cpp_do_file_change): Update to take buffer line number as an
10493         argument, and store the current map in the cpp_reader.  Remove
10494         line number kludges.
10495         (_cpp_do__Pragma): Restore output position after a _Pragma.
10496         (cpp_push_buffer): Don't set output line or lineno.
10497         (_cpp_pop_buffer): Transfer more info from a faked buffer.
10498         Remove line kludge.  Set output_line.
10499         * cppmacro.c (builtin_macro): Update handling of __LINE__.
10500         (parse_arg): Use logical lines.
10501         (save_lookahead_token): Save EOFs too now.
10502         * cppmain.c (struct printer): Fix comments.
10503         (printer_init): Simplify, let caller do errors.
10504         (scan_translation_unit, check_multiline_token, dump_macro): Update.
10505         (maybe_print_line): Simplify.
10506         (print_line): Don't print a linemarker if -P.
10507         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
10508         (cb_file_change): Simplify.
10509         * line-map.h (LAST_SOURCE_LINE): Fix.
10510         (CURRENT_LINE_MAP): New.
10511
10512 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
10513
10514         * doloop.c (doloop_modify_runtime): Properly compute number of
10515         iterations if loop was unrolled.
10516
10517         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
10518         if their CSELIB_VAL_PTRs are.
10519
10520         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
10521         (setup_spill_pointers): Initialize it.
10522         (spill_restore_mem): Set it.
10523         (do_spill, do_restore): Use it to add REG_INC note.
10524         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
10525
10526         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
10527         asms if other insns are available.
10528
10529         * config/ia64/ia64.c (condop_operator): New predicate.
10530         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
10531         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
10532         patterns.
10533
10534         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
10535         temporary register than directly using a MEM.
10536
10537 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
10538
10539         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
10540         parameter in last change.
10541
10542 2001-08-04  Zack Weinberg  <zackw@panix.com>
10543
10544         * sparc.md: Don't use #if inside C test expression.
10545
10546 2001-08-04  Richard Henderson  <rth@redhat.com>
10547
10548         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
10549
10550 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
10551
10552         * cpphash.h (struct cpp_reader): New member directive_line.
10553         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
10554         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
10555         do_pragma): Pass line to callbacks.
10556         (start_directive): Record line of directive.
10557         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
10558         cb_include): Similarly.
10559         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
10560         Similarly.
10561
10562 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
10563
10564         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
10565         comment.
10566
10567 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
10568
10569         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
10570
10571         * reload1.c (fixup_abnormal_edges): New static function.
10572         (reload): Use it.
10573
10574         * flow.c (need_fake_edge_p): New function.
10575         (flow_call_edges_add): Fix handling of noreturn and sibling calls;
10576         avoid call insn to be very last insn in the insn stream.
10577
10578         * profile.c (branch_prob): Call flow_call_edges_add instead of
10579         doing that by hand; cleanup cfg to re-merge basic blocks once
10580         we are done.
10581
10582 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10583
10584         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
10585         are also on line-map.h.
10586         * cppfiles.c (stack_include_file): Update.
10587         * cpphash.h (struct cpp_buffer): New member return_at_eof.
10588         (_cpp_pop_buffer): New.
10589         * cppinit.c (cpp_destroy, cpp_finish): Update.
10590         (do_includes): Mark each buffer to return at EOF.
10591         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
10592         return as requested.
10593         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
10594         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
10595         * cpplib.h (cpp_pop_buffer): Remove.
10596         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
10597         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
10598         buffers.
10599         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
10600         to pop buffers.
10601         (do_preprocessing): Update.
10602         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
10603         * c-parse.in (_yylex): Similarly.
10604         * scan-decls.c (scan_decls): Similarly.
10605         * line-map.h: Update comments.
10606
10607         * objc/Make-lang.in (objc-act.o): Update dependencies.
10608
10609 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10610
10611         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
10612         and soft register for operand 0.
10613         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
10614
10615 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10616
10617         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
10618         register for operand 0.
10619         ("bitcmpqi_z_used"): Allow memory for operand 0.
10620         (split "bitcmpqi"): New split to handle address reg as operand 1.
10621
10622 2001-08-04  Andreas Jaeger  <aj@suse.de>
10623
10624         * gcse.c: Revert Daniel's last patch.
10625
10626 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
10627
10628         * sparc-protos.h: Add prototypes for fp_zero_operand and
10629         reg_or_0_operand.
10630         * sh-protos.h: Add prototype for fpul_operand.
10631
10632 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
10633
10634         * doc/extend.texi (Other Builtins): Fix typo in last change.
10635
10636 2001-08-03  Richard Henderson  <rth@redhat.com>
10637
10638         * target.h (gcc_target): Add asm_out.named_section,
10639         section_type_flags, have_named_sections.
10640         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
10641         (TARGET_HAVE_NAMED_SECTIONS): New.
10642         (TARGET_SECTION_TYPE_FLAGS): New.
10643
10644         * Makefile.in (toplev.o): Depend on TARGET_H.
10645         (varasm.o, dbxout.o): Likewise.
10646         * c-common.c (decl_attributes): Check targetm.have_named_sections
10647         instead of ifdef ASM_OUTPUT_SECTION_NAME.
10648         * dbxout.c (dbxout_function_decl): Likewise.
10649         (dbxout_function_end): Likewise.
10650         * toplev.c (compile_file): Likewise.
10651         * varasm.c (exception_section): Likewise.
10652         * cp/decl2.c (finish_objects): Likewise.
10653
10654         * defaults.h (EH_FRAME_SECTION): Remove.
10655         (EH_FRAME_SECTION_ASM_OP): Remove.
10656         (EH_FRAME_SECTION_NAME): New.
10657         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
10658         (UNIQUE_SECTION_P): Remove.
10659         * dwarf2out.c (SECTION_FORMAT): Remove.
10660         (ASM_OUTPUT_SECTION): Remove.
10661         (output_call_frame_info): Use named_section_flags.
10662         (output_comp_unit, dwarf2out_start_source_file): Likewise.
10663         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
10664         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
10665         * varasm.c (in_eh_frame, eh_frame_section): Remove.
10666         (named_section_flags): New.
10667         (named_section): Use it and targetm.section_type_flags.
10668         (resolve_unique_section): New.
10669         (assemble_start_function): Use it.
10670         (asm_emit_uninitialised, assemble_variable): Likewise.
10671         (default_section_type_flags): New.
10672         (default_no_named_section, default_elf_asm_named_section): New.
10673         (default_coff_asm_named_section, default_pe_asm_named_section): New.
10674         * output.h: Update varasm.c decls.
10675         (SECTION_*): New flags.
10676
10677         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
10678         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
10679
10680         * config/elfos.h (UNIQUE_SECTION_P): Remove.
10681         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
10682         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
10683         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
10684         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
10685         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
10686         * config/mips/elf.h, config/mips/elf64.h: Likewise.
10687         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
10688         * config/pa/pa64-hpux.h,
10689
10690         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
10691         (TARGET_ASM_NAMED_SECTION): New.
10692         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
10693         * config/alpha/vms.h, config/arm/coff.h: Likewise.
10694         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
10695         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
10696         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
10697         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
10698         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
10699         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
10700         * config/i386/sco5.h, config/i386/win32.h: Likewise.
10701         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
10702         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
10703         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
10704         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
10705         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
10706         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
10707         * config/sparc/sysv4.h: Likewise.
10708
10709         * config/nextstep.h: Error until named sections implemented.
10710
10711         * config/a29k/a29k.c (a29k_asm_named_section): New.
10712         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
10713         (vms_section_type_flags, vms_asm_named_section): New.
10714         * config/arm/arm.c (arm_elf_asm_named_section): New.
10715         * config/avr/avr.c (asm_output_section_name): Remove.
10716         * config/avr/avr-protos.h: Update.
10717         * config/c4x/c4x.c (c4x_asm_named_section): New.
10718         * config/h8300/h8300.c (h8300_asm_named_section): New.
10719         * config/i386/i386.c (sco_asm_named_section): New.
10720         * config/i386/winnt.c (SECTION_PE_SHARED): New.
10721         (i386_pe_section_type_flags): New.
10722         (i386_pe_asm_named_section): New.
10723         * config/i386/i386-protos.h: Update.
10724         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
10725         * config/mcore/mcore.c (mcore_asm_named_section): New.
10726         * config/mips/mips.c (iris6_asm_named_section): New.
10727         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
10728         instead of UNIQUE_SECTION_P.
10729         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
10730         (xcoff_asm_named_section): New.
10731         * config/sh/sh.c (sh_asm_named_section): New.
10732         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
10733
10734         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
10735         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
10736         (EH_FRAME_SECTION_NAME): New.
10737         (EXCEPTION_SECTION): New.
10738         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
10739         (DEBUG_*_SECTION): Remove.
10740         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
10741         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
10742         (EH_FRAME_SECTION_ASM_OP): Remove.
10743
10744         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
10745         (ASM_OUTPUT_SECTION_NAME): Remove.
10746         (TARGET_ASM_NAMED_SECTION): New.
10747         (TARGET_HAVE_NAMED_SECTIONS): New.
10748         (TARGET_SECTION_TYPE_FLAGS): New.
10749         (EH_FRAME_SECTION_ASM_OP): Remove.
10750         (EH_FRAME_SECTION_NAME): New.
10751
10752 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
10753
10754         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
10755         for complex expressions when cfun == 0.
10756         * doc/extend.texi: Document that __builtin_constant_p can be
10757         used in data initializers as well as functions.
10758
10759 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
10760
10761         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
10762         variable I locally, instead of expecting a declaration in the
10763         calling context.
10764
10765 2001-08-03  Richard Henderson  <rth@redhat.com>
10766
10767         * except.c (collect_one_action_chain): Add an explicit cleanup
10768         action if regions surrounding a catch were encoded entirely
10769         within the call-site entry.
10770
10771 2001-08-03  Richard Henderson  <rth@redhat.com>
10772
10773         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
10774         don't take REGNO of a non-register.
10775
10776 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10777
10778         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
10779         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
10780         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
10781         (__gthread_mutex_init_function): New function for mutex initialization.
10782
10783 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
10784
10785         * Makefile.in: Revert screwed up commit.
10786
10787 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10788
10789         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
10790         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
10791         merged by linker script to get a final _exit().
10792         (__do_global_dtors): New for destructor handling in specific exit
10793         section.
10794         (__do_global_ctors): New for constructors in specific install section.
10795         (__map_data_section): Map data sections before running constructors.
10796         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
10797         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
10798         (DTORS_SECTION_ASM_OP): Likewise.
10799         (CTORS_SECTION_FUNCTION): Define to force a reference to
10800         __do_global_ctors.
10801         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
10802
10803 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
10804
10805         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
10806
10807         * Makefile.in: Add df.h to gcse.c dependencies.
10808
10809 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10810
10811         * varasm.c (output_constant_def_contents): Use for the length of a
10812         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
10813         depending on which is larger.
10814
10815 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
10816
10817         * gcse.c: Include df.h for use as a dataflow analyzer.
10818         Remove regvec.
10819         Declaration of reg_set_info: gone.
10820         New df_analyzer variable used by store motion.
10821         (reg_set_info): Deleted.
10822         (mark_mem_regs): New function, analyze regs used by a mem.
10823         (store_ops_ok): Use dataflow analyzer results to determine if
10824         necessary regs are changed in the block.
10825         (find_moveable_store): Remove check for symbol ref, we can handle
10826         much more complex expressions now.
10827         (compute_store_table): Remove most of the code, it's unnecessary
10828         now that the dataflow analyzer records the info for us.
10829         (store_killed_after): Add parameter to say whether to do the
10830         store_ops_okay test, used to speed up testing when we already know
10831         the answer, and just want to know if the store itself was killed.
10832         (build_store_vector): Largely rewritten to calculate the various
10833         vectors properly, and somewhat optimized.
10834         (store_motion): Init the df_analyzer, get REG_DEF chains.
10835         Also handle trapping expressions (since mems almost always trap)
10836         (simple_mem): Redefine what a simple mem is.
10837
10838 2001-08-03  DJ Delorie  <dj@redhat.com>
10839
10840         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
10841         set from a constant part of the condition.
10842
10843 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
10844
10845         * mkdeps.c (deps_add_default_target): Make local variable
10846         ``start'' a const char pointer.
10847         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
10848
10849 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10850
10851         * doc/install.texi (Configuration): Fix markup.
10852         (Specific, i?86-*-udk): Likewise.
10853         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
10854         --with-gnu-ld.
10855         Document --enable-threads and --enable-libgcj status.
10856         (Specific, mips-sgi-irix*): Canonicalize triples.
10857         (Specific, mips-sgi-irix5): Warn about problems with this config.
10858         Mention required GNU as patch.
10859         Native assembler problems are fixed.
10860         (Specific, mips-sgi-irix6): Update O32 ABI support status.
10861         Document --enable-threads and --enable-libgcj status.
10862
10863 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
10864
10865         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
10866         of mkinstalldirs.
10867
10868 2001-08-03  Richard Henderson  <rth@redhat.com>
10869
10870         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
10871         constant data.
10872
10873 2001-08-03  Richard Henderson  <rth@redhat.com>
10874
10875         * rtlanal.c (find_first_parameter_load): Stop if we
10876         reach a CODE_LABEL at BOUNDARY.
10877
10878 2001-08-03  Richard Henderson  <rth@redhat.com>
10879
10880         * config/alpha/alpha.md (force_movdi): New insn.
10881         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
10882         Tweek FRP marking of VMS prologue insns.
10883         * config/alpha/vms.h (EPILOGUE_USES): New.
10884
10885 2001-08-02  Richard Henderson  <rth@redhat.com>
10886
10887         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
10888
10889 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
10890
10891         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
10892         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
10893         config/convex/convex.h, config/d30v/d30v.c,
10894         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
10895         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
10896         config/mips/mips.h, config/mn10200/mn10200.h,
10897         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
10898         config/v850/v850.h, config/vax/openbsd.h,
10899         config/vax/openbsd1.h, config/vax/ultrix.h,
10900         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
10901         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
10902         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
10903         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
10904         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
10905         in comments and documentation.
10906
10907 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10908
10909         * line-map.c: New.
10910         * line-map.h: New.
10911         * Makefile.in (line-map.o): New.
10912         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
10913         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
10914         * cpperror.c (print_containing_files): Similarly.
10915         (print_location): Update.  Don't output a space before _Pragma.
10916         * cppfiles.c (stack_include_file): Set to line 1 immediately.
10917         (stack_include_filee, cpp_make_system_header): Update.
10918         (_cpp_execute_include): Get logical line number right for calling
10919         as-yet-unterminated #include.
10920         * cpphash.h (struct cpp_reader): Add line_maps.
10921         (_cpp_do_file_change): Update.
10922         * cppinit.c (cpp_create_reader): Initialize line maps.
10923         (cpp_destroy): Destroy line maps.
10924         (cpp_start_read): Get logical line number right.
10925         * cpplex.c (parse_string): Only warn once for multi-line strings.
10926         Use boolean variable for null warning.
10927         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
10928         already.
10929         (do_include_common): End the directive early.
10930         (do_line): Don't warn about out-of-range lines in preprocessed
10931         source.  Update.  Remove unused variables.
10932         (_cpp_do_file_change): Update for new line mapping.
10933         (pragma_cb): New typedef.
10934         (cpp_register_pragma): Stop looking ahead before calling the
10935         handler.  Clean up.
10936         (do_pragma_system_header): End directive early.
10937         (cpp_get_line_maps): New.
10938         (cpp_pop_buffer): Fudge logical line.  Update.
10939         * cpplib.h: Include line-map.h
10940         (enum cpp_fc_reason): Remove.
10941         (struct cpp_file_change): Update.
10942         (cpp_get_line_maps): New.
10943         * cppmain.c (struct_printer): New member map.
10944         (cb_file_change): Update for new mappings.
10945         * fix-header.c (cb_file_change): Similarly.
10946
10947 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
10948
10949         * Makefile.in (libgcc.mk): Define mkinstalldirs.
10950         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
10951
10952 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
10953
10954         * config/vax/vax.c: include expr.h.
10955
10956 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
10957
10958         * Makefile.in ($(srcdir)/configure): Only rebuild in
10959         maintainer mode.
10960         ($(srcdir)/config.in): Only define in maintainer mode.
10961         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
10962
10963 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
10964
10965         * doc/install.texi (Install GCC: Binaries): Update Bull info.
10966
10967 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10968
10969         * gcc.c (set_collect_gcc_options): New function, split out from
10970         main.
10971         Ignore elided switches.
10972         (do_spec_1): Invoke before executing command.
10973         (set_input): Export.
10974         Move declaration ...
10975         * gcc.h (set_input): ... here.
10976         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
10977         file.
10978
10979 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
10980
10981         Kill -fhonor-std.
10982         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
10983         interaction.
10984         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
10985
10986 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
10987
10988         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
10989         for the unnamed instructions it expands to.
10990
10991 2001-08-02  Richard Henderson  <rth@redhat.com>
10992
10993         * regclass.c (call_really_used_regs): Conditionally define.
10994         (init_reg_sets_1): Don't use it if not defined.
10995         (fix_register): Similarly, don't set it.
10996
10997 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10998
10999         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
11000         Correct comment that had been missed in the previous change.
11001
11002 2001-08-01  Stan Shebs  <shebs@apple.com>
11003
11004         * config/darwin.c (machopic_stub_name): Try matching by name.
11005         (update_stubs): New function.
11006         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
11007         unconditionally.
11008
11009 2001-08-01  Richard Henderson  <rth@redhat.com>
11010
11011         * except.c (output_function_exception_table): Use assemble_align.
11012         * varasm.c (assemble_eh_label): Remove.
11013         (assemble_eh_align, assemble_eh_integer): Remove.
11014
11015 2001-08-01  Robert Lipe  <robertl@caldera.com>
11016
11017         * dwarfout.c: Remove reference to README.DWARF.
11018
11019 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
11020
11021         * regclass.c (call_really_used_regs): New array for registers which
11022         are actually used by a call.
11023         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
11024         new array.
11025         (fix_register): Set call_really_used too.
11026         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
11027         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
11028
11029 2001-08-01  Richard Henderson  <rth@redhat.com>
11030
11031         * read-rtl.c (read_name): Consider \r whitespace.
11032
11033 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
11034
11035         * config.gcc: Recognize powerpc-*-netbsd*.
11036
11037         * doc/install.texi (Host/target specific installation notes for
11038         GCC): Mention powerpc-*-netbsd*.
11039
11040         * config/rs6000/netbsd.h: New file.
11041         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
11042         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
11043         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
11044         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
11045         (TARGET_VERSION): Redefine.
11046
11047         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
11048         mcall-netbsd as a match for mcall-sysv.
11049         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
11050         (ncrti.S, ncrtn.S): New targets.
11051         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
11052
11053         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
11054         "netbsd' as a V4 ABI.
11055         (ASM_SPEC): Check for -mcall-netbsd.
11056         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
11057         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
11058         (LIB_SPEC, ENDFILE_SPEC): Ditto.
11059         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
11060         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
11061         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
11062         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
11063
11064         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
11065         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
11066
11067 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
11068
11069         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
11070         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
11071         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
11072         including "unwind-pe.h".
11073
11074 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
11075
11076         * rs6000.md (define_splits): Kill unused constraints.
11077
11078 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
11079                               Jan Hubicka  <jh@suse.cz>
11080
11081         * function.c (thread_prologue_and_epilogue_insns): Kill code
11082         dealing with non-existent CFG.
11083
11084 2001-08-01  Kazu Hirata  <kazu@hxi.com>
11085
11086         * alias.c: Fix comment formatting.
11087         * bitmap.c: Likewise.
11088         * builtins.c: Likewise.
11089         * calls.c: Likewise.
11090         * c-common.c: Likewise.
11091         * c-decl.c: Likewise.
11092         * c-dump.c: Likewise.
11093         * c-lex.c: Likewise.
11094         * collect2.c: Likewise.
11095         * combine.c: Likewise.
11096         * conflict.c: Likewise.
11097         * cppfiles.c: Likewise.
11098         * cppinit.c: Likewise.
11099         * cpplex.c: Likewise.
11100         * cpplib.c: Likewise.
11101         * cppmacro.c: Likewise.
11102         * cppspec.c: Likewise.
11103         * c-pragma.c: Likewise.
11104         * crtstuff.c: Likewise.
11105         * cse.c: Likewise.
11106         * cselib.c: Likewise.
11107         * c-semantics.c: Likewise.
11108         * c-typeck.c: Likewise.
11109
11110 2001-08-01  H.J. Lu <hjl@gnu.org>
11111
11112         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
11113
11114 2001-08-01  H.J. Lu <hjl@gnu.org>
11115
11116         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
11117
11118 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
11119
11120         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
11121         contextualizing Objective-C class name lookup by the lexer.
11122         (typespec_reserved_nonattr): Disable ObjC class name lookup after
11123         seeing a TYPESPEC.
11124         (protocoldef): Add support for forward @protocol declarations.
11125         (yylexname): Suppress ObjC class name lookup in certain contexts;
11126         re-enable after lookup is complete.
11127         (_yylex): Re-enable ObjC class name lookup when certain
11128         punctuation marks are seen.
11129
11130         * objc/objc-act.c (check_protocol_recursively): New function used
11131         for finding circular dependencies in protocols.
11132         (objc_declare_protocols): New function for handling forward
11133         @protocol declarations.
11134         (receiver_is_class_object): Detect the case when 'self' is used
11135         inside of a class method.
11136         (build_message_expr): Issue a warning if class method is desired
11137         but instance method is found instead.
11138         (conforms_to_protocol): Streamline.
11139         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
11140         protocol Foo, even if 'Bar foo' does not.
11141         (check_protocols): Streamline.
11142         (start_protocol): Add checks for circular and duplicate protocol
11143         definitions.
11144         (encode_aggregate_within): For typedefs of structs, encode the
11145         underlying struct.
11146         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
11147         (objc_declare_protocols): New prototype.
11148
11149 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11150
11151         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
11152         * cpplex.c (handle_newline): Update prototype.  Maintain logical
11153         line number.
11154         (skip_escaped_newlines, skip_block_comment, parse_string):
11155         Update accordingly.
11156         (_cpp_lex_token): Update, and store token position within the token.
11157         * cpplib.h (struct cpp_token): Add line and column entries.
11158         * cppmacro.c (replace_args): Position stringified tokens correctly.
11159
11160 2001-08-01  Andreas Jaeger  <aj@suse.de>
11161
11162         * basic-block.h: Add prototype for last_loop_beg_note.
11163
11164 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
11165
11166         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
11167         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
11168         comment.
11169         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
11170         while handling WITH_CLEANUP_EXPR node. Use second operand calling
11171         expand_decl_cleanup.
11172         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
11173         the first RTX.
11174         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
11175         operand while calling simple_cst_equal.
11176         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
11177         operand is the cleanup expression, the third is the RTL_EXPR.
11178         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
11179
11180 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
11181
11182         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
11183
11184 2001-07-31  matthew green  <mrg@eterna.com.au>
11185
11186         * config.gcc (i386-*-netbsdelf): New description.
11187         * config/i386/netbsd-elf.h: New file.
11188
11189 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
11190
11191         * loop.c (check_dbra_loop): Use single_set to compute
11192         jump_label.
11193
11194 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
11195
11196         PowerPC reorg and support for powerpc64-*-linux*.
11197
11198         Also fixes emitting of constants on 32 bit and 64 bit
11199         platforms.
11200
11201         * config.gcc: powerpc64-*-linux* is a new target.
11202         Things that needed aix.h now also include xcoff.h
11203
11204         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
11205         xcoff.h.
11206         Move AIX specific stuff into aix.h.
11207         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
11208         with more than just XCOFF now.
11209         (SET_ASM_OP): Remove, now defined where needed.
11210         (FUNCTION_PROLOGUE): New macro definition.
11211         (FUNCTION_EPILOGUE): New macro definition.
11212         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
11213
11214         * config/rs6000/xcoff.h: New file.
11215
11216         * config/rs6000/linux64.h: New file.
11217
11218         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
11219
11220 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
11221
11222         * rs6000.c (print_operand_address): Handle ELF syntax.
11223         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
11224         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
11225         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
11226
11227 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
11228
11229         * rs6000.c (rs6000_override_options): Only disable
11230         flag_function_sections for XCOFF.
11231         (exact_log2_cint_operand): New predicate.
11232         (reg_or_{add,sub}_cint64_operand): New predicates.
11233         (add_operand): Compare CONST_INT with fewer function calls.
11234         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
11235         (print_operand, case 'p'): Ensure positive operand.
11236         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
11237         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
11238         (PREDICATE_CODES): Add new predicates.
11239         * rs6000.md (addsi3): Split 32-bit constants more correctly.
11240         (divsi3, modsi3): Ensure positive power-of-2.
11241         (adddi3): Use new predicate.  Split 32-bit constants more
11242         correctly.  Re-arrange splitter to handle any constant.
11243         (subdi3): Use new predicate.
11244         (divdi3, moddi3): Ensure positive power-of-2.
11245         (movdi): Use rs6000_emit_set_const.
11246         (load_toc_v4_pic_di): Delete.
11247
11248 2001-07-31  Graham Stott <grahams@redhat.com>
11249
11250         * function.c (pad_below): Revert 2001-07-26 patch.
11251
11252 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
11253
11254         * reg-stack (convert_regs_1): Fix best edge condition.
11255
11256 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
11257
11258         * jump.c (duplicate_loop_exit_test): Better test for jumps
11259         entering the loop; create loop pre_header.
11260
11261 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
11262
11263         * doc/install.texi: Add s390 and s390x as new targets.
11264         * doc/invoke.texi: Add documentation of S/390 and zSeries
11265         target options.
11266         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
11267
11268 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
11269
11270         * config/m68k/m68k.md: Replace all general_operand with
11271         nonimmediate_operand for all destinations.
11272         * config/m68k/m68k.c (not_sp_operand): Likewise.
11273
11274 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
11275
11276         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
11277
11278 2001-07-30  Richard Henderson  <rth@redhat.com>
11279
11280         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
11281         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
11282
11283 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
11284
11285         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
11286         Add missing doc strings
11287         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
11288         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
11289
11290 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
11291
11292         * i386.c (ix86_output_main_function_alignment_hack): New function.
11293         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
11294
11295         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
11296         edges by EDGE_DFS_BACK flag.
11297         (dump_edge_info): Add dfs_back flag.
11298         * basic-block.h (EDGE_DFS_BACK): New constant.
11299         (mark_dfs_back_edges): Declare.
11300         * alias.c (loop_p): Remove.
11301         (mark_constant_function): Use mark_dfs_back_edges.
11302
11303         * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
11304         (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
11305         (compensate_edge): Break out from ...
11306         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
11307         (convert_regs_2): Set block_done once block is really done;
11308         Do updating of the predecessors counts.
11309
11310         * toplev.c (rest_of_compilation): Recompute block_for_insn
11311         before post-reload cfg_cleanup.
11312         * function.c (thread_prologue_epilogue_insns):
11313         Call set_block_for_new_insns when emitting prologue directly.
11314
11315 2001-07-30  Andreas Jaeger  <aj@suse.de>
11316
11317         * jump.c: Add prototype for mark_modified_reg.
11318
11319         * cse.c (set_live_p): Add unused attribute.
11320
11321         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
11322         overflow.
11323         (scan_for_source_files): Use long for count to avoid overflow.
11324         (output_data): Likewise.
11325         (output_data): Don't use string concatatenation to silence gcc
11326         -traditional.
11327
11328         * predict.c: Fix typos and grammar.
11329
11330         * gcse.c (insert_insn_end_bb): Remove unused variables.
11331
11332 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
11333
11334         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
11335         (attempt_auto_inc): LIkewise.
11336         (mark_used_reg): Likewise.
11337         (try_pre_increment_1): Likewise.
11338         * regclass.c (regclass): Likewise.
11339         * global.c (allocno_compare): Update comment; change scaling factor.
11340         * local-alloc.c (QTY_CMP_PRI): Likewise.
11341         * regs.h (REG_FREQ_FROM_BB): New.
11342         (REG_FREQ_MAX): Likewise.
11343
11344 2001-07-30  H.J. Lu <hjl@gnu.org>
11345
11346         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
11347         -D_GNU_SOURCE.
11348
11349 2001-07-30  H.J. Lu  (hjl@gnu.org)
11350
11351         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
11352         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
11353         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
11354
11355 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
11356
11357         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
11358         as -mthumb-interwork when -mcpu=arm7 is specified.
11359
11360 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
11361
11362         * predict.def (noreturn, loop branch, loop exit): Mark as first
11363         match heuristics.
11364
11365 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
11366
11367         * combine.c (try_combine): Avoid barrier after noop jumps.
11368
11369 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11370
11371         * cpphash.h (struct cpp_reader): Remove import_warning.
11372         * cpplib.c (skip_rest_of_line): Don't bother turning off
11373         macro expansion.
11374         (parse_include): Move include handling to...
11375         (do_include_common): ... here.  Move import warning from...
11376         (do_import): ... here.
11377         (do_pragma_poison): Don't do a callback for poison identifiers.
11378         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
11379         * cppmain.c (setup_callbacks): Similarly.
11380
11381 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
11382
11383         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
11384         handle multiple sets.
11385         * except.c (sjlj_mark_call_sites): .... here.
11386         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
11387
11388 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
11389
11390         Suggested by Richard Henderson and Richard Kenner:
11391         * combine.c (recog_for_combine): Use the fake recog
11392         only if instruction does not match.
11393         * rtl.h (NOOP_MOVE_INSN_CODE): New.
11394         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
11395
11396         * combine.c (try_combine): Discover noop jump as direct jump.
11397
11398 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
11399
11400         * df.c (df_rd_global_compute): Add successors to worklist, not
11401         current item.
11402         (df_ru_global_compute): Ditto.
11403
11404 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
11405
11406         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
11407         increment REG_N_SETS.
11408
11409 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
11410
11411         * sbitmap.h: New prototype for sbitmap_a_xor_b.
11412
11413         * sbitmap.c (sbitmap_a_xor_b): New function.
11414         ifdef the basic block stuff on IN_GCC.
11415
11416 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11417
11418         * cppexp.c (parse_defined): Always record the macro name.
11419         (lex): Don't worry about identifiers, or special-case
11420         CPP_NOT here.
11421         (_cpp_parse_expr): Figure out at the end of the routine
11422         whether we saw a valid !defined() expression.
11423         * cppfiles.c (stack_include_file): Update for mi_valid.
11424         (_cpp_pop_file_buffer): Similarly.
11425         * cpplex.c (_cpp_lex_token): Similarly.
11426         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
11427         mi_if_not_defined, mi_lexed): Remove.
11428         (mi_valid): New.
11429         * cpplib.c (do_if): Simplify.
11430         (do_endif, push_conditional, _cpp_handle_directive): Update
11431         for renaming of mi_state to mi_valid.
11432 doc:
11433         * cpp.texi: Add index entries for digraphs, and add comment
11434         that C++ refers to them as alternative tokens.
11435
11436 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
11437
11438         * basic-block.h (CLEANUP_PRE_LOOP): New.
11439         * except.c (finish_eh_generation): Update call of cleanup_cfg.
11440         * sibcall.c (optimize_sibling_calls): Likewise.
11441         * toplev.c (rest_of_compilation): Likewise.
11442         * flow.c (try_forward_edges): Take argument MODE;
11443         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
11444         (try_optimize_cfg): Update call of try_forward_edges.
11445
11446 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
11447                                 Jan Hubicka  <jh@suse.cz>
11448
11449         * (validate_replace_rtx_1): Fix simplification of MINUS.
11450
11451 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
11452
11453         PR preprocessor/3669
11454         * cppinit.c (init_dependency_output): Turn off dump requests
11455         if sending dependencies to stdout.
11456
11457 2001-07-28  Richard Henderson  <rth@redhat.com>
11458
11459         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
11460         not optimizing.
11461
11462 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
11463
11464         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
11465
11466 2001-07-28  Kazu Hirata  <kazu@hxi.com>
11467
11468         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
11469         is VAR_DECL first to prevent an ICE.
11470
11471 2001-07-28  Richard Henderson  <rth@redhat.com>
11472
11473         * varasm.c (immed_real_const_1): Don't elide special cases for
11474         nested functions.
11475         (clear_const_double_mem): Clear const_tiny_rtx too.
11476
11477 2001-07-28  Richard Henderson  <rth@redhat.com>
11478
11479         * dwarf2out.c (dw_val_class_offset): New.
11480         (struct dw_ranges_struct, dw_ranges_ref): New.
11481         (ranges_table, ranges_table_allocated): New.
11482         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
11483         (add_AT_offset, add_ranges, output_ranges): New.
11484         (print_die, output_die): Handle dw_val_class_offset.
11485         (attr_checksum, size_of_die, value_format): Likewise.
11486         (gen_lexical_block_die): Handle non-contiguous blocks.
11487         (gen_block_die): Likewise.
11488         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
11489         if needed.  Dump the ranges table.
11490         * final.c (final_start_function): Remove unnecessary notes and
11491         rebuild the block tree before numbering the blocks.
11492         * function.c (reorder_blocks_0): Walk the existing block tree
11493         to unmark all blocks.
11494         (reorder_blocks_1): Create block fragments when duplicate block
11495         notes are seen.
11496         (reorder_fix_fragments): New.
11497         (reorder_blocks): Call it.
11498         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
11499
11500 2001-07-28  Richard Henderson  <rth@redhat.com>
11501
11502         * emit-rtl.c (adjust_address): Make a copy of the memory address.
11503
11504 2001-07-28  Richard Henderson  <rth@redhat.com>
11505
11506         * flow.c (add_to_mem_set_list): New function.
11507         (init_propagate_block_info): Use it.
11508         (mark_set_1): Likewise.
11509         (insn_dead_p): Canonicalize memory address for dead store
11510         comparison.  Allow wider mode stores to kill narrower mode stores.
11511         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
11512         (invalidate_mems_from_set): Don't handle MEMs.
11513
11514 2001-07-28  Kazu Hirata  <kazu@hxi.com>
11515
11516         * config/h8300/h8300.h: Fix formatting.
11517
11518 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
11519
11520         * basic-block.h (EDGE_FREQUENCY): New macro.
11521         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
11522         for new BB/edges.
11523         * flow.c (find_sub_basic_blocks): Likewise.
11524         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
11525         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
11526
11527         * predict.c (DEF_PREDICTOR): New argument FLAGS.
11528         (HITRATE): New macro.
11529         (PRED_FLAG_FIRST_MATCH): New constant.
11530         (predictor_info): New field flgags.
11531         (combine_predictions_for_insn): Use DS theory to combine
11532         probabilities; set the edge probabilities when finished.
11533         (estimate_probability): Avoid duplicated matches
11534         of LOOP_BRANCH heuristics for nested loops; update comment.
11535         * predict.def: Add flags for each prediction, set probabilities
11536         according to B&L paper.
11537         * predict.h (DEF_PREDICTOR): New argument FLAGS.
11538
11539         * profile.c (compute_branch_probabilities):  Cleanup way the edge
11540         probabilities are computed and REG_BR_PROB notes are dropped; if
11541         values does not match, emit error.
11542         (init_branch_prob): Do error instead of warning when profile driven
11543         feedback is missing or corrupt.
11544
11545 2001-07-27  DJ Delorie  <dj@redhat.com>
11546
11547         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
11548         against a constant, try to adjust the compare to have the desired
11549         constant in it so that min/max optimizations happen more often.
11550
11551 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
11552
11553         * flow.c (last_loop_beg_note): New function.
11554         (redirect_edge_and_branch): Use it.
11555         (split_edge): Likewise.
11556
11557         * alias.c (loop_p): Avoid uninitialized memory access.
11558
11559         * flow.c (try_forward_edges): Avoid accessing freed memory.
11560
11561         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
11562         variable access.
11563
11564 2001-07-26  Andrew Haley  <aph@redhat.com>
11565         Joern Rennecke <amylaar@redhat.com>
11566
11567         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
11568         (SUBTARGET_CPP_ENDIAN_SPEC): New.
11569         (SUBTARGET_CPP_SPEC): New.
11570         (CPP_SPEC): Remove.
11571         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
11572         (SUBTARGET_CPP_PTR_SPEC): New.
11573         (CPP_DEFAULT_CPU_SPEC): New.
11574         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
11575         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
11576         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
11577         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
11578         (SUBTARGET_CPP_SPEC): Define as an empty string.
11579
11580 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11581
11582         * doc/install.texi (Configuration): Properly link the host
11583         specific instructions also when generating HTML.
11584
11585 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
11586
11587         * flow.c (redirect_edge_and_branch_force): Test
11588         target->global_live_at_start.
11589
11590 2001-07-26  Richard Henderson  <rth@redhat.com>
11591
11592         * simplify-rtx.c (avoid_constant_pool_reference): Export.
11593         * rtl.h (avoid_constant_pool_reference): Declare it.
11594         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
11595         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
11596
11597 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
11598
11599         * rtl.h (cleanup_barriers): Declare.
11600         * jump.c (cleanup_barriers): New function.
11601         * toplev.c (rest_of_compilation): Call cleanup_barriers
11602         before loop optimizer and after bb_reorder.
11603
11604         * flow.c (back_edge_of_syntactic_loop_p): New.
11605         (split_edge): Use it.
11606
11607 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11608
11609         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
11610
11611 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
11612
11613         * cse.c (cse_process_notes): Replace any registers if the address
11614         remains valid.
11615
11616 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
11617
11618         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
11619         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
11620         (propagate_block): Update prototype.
11621         * flow.c (update_life_info): Simplify the CFG and
11622         recalculate the global regs which are alive when
11623         removing dead code during a global update.
11624         (propagate_block): Return non-zero if an INSN is
11625         deleted.
11626
11627 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11628
11629         * Makefile.in (LIBICONV): Define.
11630
11631 2001-07-26  Catherine Moore  <clm@redhat.com>
11632
11633         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
11634         of conditional to avoid tree checking errors.
11635
11636 2001-07-26  Kazu Hirata  <kazu@hxi.com>
11637
11638         * regmove.c (regmove_optimize): Don't replace a reg with
11639         another reg of a different mode.
11640
11641 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
11642
11643         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
11644         limit length of dependency flush list.
11645         * params.h (MAX_PENDING_LIST_LENGTH): Define.
11646         * sched-int.h  (struct deps): Add pending_flush_length field.
11647         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
11648         has 1 element in it.
11649         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
11650         (sched_analyze): After a jump, if the pending memory flush list is too
11651         large, flush the pending lists.
11652         (init_deps): Initialize pending_flush_length to 0.
11653         * doc/invoke.texi (max_pending_list_length): Document parameter.
11654
11655 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
11656
11657         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
11658         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
11659         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
11660
11661 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11662
11663         * cpphash.h (struct_lexer_state): Delete was_skipping.
11664         Move skipping here from struct cpp_reader.
11665         * cpplex.c (parse_identifier): Update.
11666         (_cpp_lex_token): Don't skip tokens in a directive.
11667         * cpplib.c (struct if_stack): Update.
11668         (start_directive, end_directive): Don't change skipping state.
11669         (_cpp_handle_directive): Update.
11670         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
11671         (do_else, do_endif): Update; only check for excess tokens if not
11672         in a skipped conditional block.
11673         (push_conditional): Update for new struct if_stack.
11674
11675 2001-07-26  Graham Stott  <grahams@redhat.com>
11676
11677         * function.c (locate_and_pad_parm): Also pad initial offset
11678         so that the total argument size also includes the padding.
11679
11680 2001-07-26  Graham Stott <grahams@redhat.com>
11681
11682         * gensupport.c (alter_output_for_insn): Correct enable checking failure
11683         change XSTR to XTMPL.
11684
11685         (process_one_cond_exec): Likewise
11686
11687 2001-07-25  Richard Henderson  <rth@redhat.com>
11688
11689         * varasm.c (assemble_variable): Create DECL_RTL before setting
11690         TREE_ASM_WRITTEN.
11691
11692 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
11693
11694         * predict.c (estimate_probability): Avoid duplicated predictions.
11695
11696         * loop.c (find_and_verify_loops): Grok multiple barriers.
11697
11698 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11699
11700         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
11701
11702         * dbxout.c: Consistently use putc instead of fputc.
11703         (print_wide_int): New function; call instead of direct fprintf.
11704         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
11705         (dbxout_type_fields, dbxout_type_method_1): Likewise.
11706         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
11707         (print_int_cst_octal): Likewise.
11708         (print_octal): Show we wrote characters.
11709         (dbxout_type): Set have_used_extensions in more places.
11710
11711 2001-07-25  Catherine Moore  <clm@redhat.com>
11712
11713         * config/v850/v850.c (v850_va_arg):  Use addr
11714         instead of valist to build incr.
11715
11716 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
11717
11718         * flow.c (delete_dead_jumptables): New function.
11719         (life_analyzis): Call it.
11720         * bb-reorder.c (skip_insns_after_block): Handle contradictory
11721         sequences.
11722
11723 2001-07-25  Richard Henderson  <rth@redhat.com>
11724
11725         * except.c (reachable_handlers): Handle a region being removed
11726         out from under a RESX.
11727
11728 2001-07-25  Richard Henderson  <rth@redhat.com>
11729
11730         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
11731         swap GE/GT if it is an fp comparison.
11732
11733 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
11734
11735         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
11736         operands.
11737
11738 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
11739
11740         * ssa.c (rename_insn_1): Do not wrap an assignment to a
11741         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
11742         glitch.
11743
11744         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
11745         throw an exception.
11746         (visit_expression): When attempting to simplify an expression,
11747         retrieve any modes for arguments before they are simplified
11748         to constants.
11749
11750 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
11751             Janis Johnson  <janis@us.ibm.com>
11752
11753         * stmt.c (expand_goto): A nonlocal goto can be a call too.
11754         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
11755         pointer parameters to match documented usage of nonlocal_goto.
11756         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
11757         parameters to their correct order.
11758         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
11759         parameters to their correct order.
11760
11761 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
11762
11763         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
11764
11765 2001-07-25  Jan Hubicka  <jh@suse.cz>
11766             Richard Henderson  <rth@redhat.com>
11767
11768         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
11769         the sequence.
11770         (make_edges): New argument update_p; populate the edge cache if set.
11771         (find_basic_blocks): Update make_edges invocation.
11772
11773 2001-07-24  Joel Sherrill <joel@OARcorp.com>
11774
11775         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
11776
11777 2001-07-24  Joel Sherrill <joel@OARcorp.com>
11778
11779         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
11780         -Acpu and -Amachine.h.
11781         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
11782         Corrected header to say ELF not a.out.
11783         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
11784         when given -msoft-float.
11785
11786 2001-07-24  Joel Sherrill <joel@OARcorp.com>
11787
11788         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
11789         extra multilib parts like arm-elf.
11790         (i960-*-coff*, i960-*-rtems): Should not use collect2.
11791         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
11792         crtfini.o as extra multilib parts.
11793
11794 2001-07-24  Joel Sherrill <joel@OARcorp.com>
11795
11796         * configure.in: Add rtems as a supported thread model.
11797         * gthr-rtems.h: Add missing entry point __gthread_active_p.
11798         * configure: Rebuilt.
11799
11800 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
11801
11802         * stor-layout.c (get_mode_alignment): make it work when
11803         BITS_PER_UNIT is not a power of two.
11804         * builtins.c (get_pointer_alignment): Likewise.
11805
11806 2001-07-24  Richard Henderson  <rth@redhat.com>
11807
11808         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
11809         the retrieved constant into the expected mode.
11810
11811 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
11812
11813         * flow.c (try_simplify_condjump): Avoid duplicated edges.
11814         (verify_flow_info): Check for duplicated edges; clarify
11815         error reporting.
11816
11817         * flow.c (block_label): Update basic_block_for_insn.
11818         (commit_edge_insertions): Call compute_bb_for_insn.
11819
11820         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
11821         returns too.
11822
11823         * flow.c (redirect_edge_and_branch,
11824         try_optimize_cfg): Use redirect_edge_succ_nodup
11825         (redirect_edge_succ_nodup): New.
11826         * basic_block.h (redirect_edge_succ_nodup): Declare.
11827
11828         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
11829         after gcse.
11830
11831 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
11832
11833         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
11834         (try_crossjump_to_edge): Update commetns.
11835         (try_crossjump_bb): Likewise.
11836
11837 2001-07-24  Richard Henderson  <rth@redhat.com>
11838
11839         * combine.c (distribute_notes): Move set of need_refresh
11840         for noop_move_p down to catch all cases.
11841
11842 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
11843
11844         * recog.c (split_all_insns_noflow): New.
11845         * rtl.h (split_all_insns_noflow): Declare.
11846         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
11847         * m68hc11.c (m68hc11_reorg): Likewise.
11848         * sh.c (machine_dependent_reorg): Likewise.
11849         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
11850         call.
11851
11852 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
11853
11854         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
11855         (ashlsi3_n splitter): Likewise.
11856         (lshrsi3_n splitter): Likewise.
11857
11858         (GOTaddr2picreg): Make const SImode.
11859         (sym_label2reg): Likewise.
11860         (symGOT2reg): Likewise.
11861         (symGOTOFF2reg) Likewise.
11862
11863         (casesi_worker_0): Make unspec SImode.
11864
11865 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
11866
11867         * config/sh/sh.c (barrier_align): Check that an operand really is
11868         an insn before extracting its INSN_CODE.
11869
11870 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
11871
11872         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
11873         dangling else.
11874
11875         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
11876         for SImode to prevent overflow.
11877
11878 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11879
11880         * config/mips/irix6-libc-compat.c: New file.
11881         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
11882         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
11883         passing workaround.
11884
11885 2001-07-24  lars brinkhoff  <lars@nocrew.org>
11886
11887         * rtl.texi (REG_POINTER): Document.
11888         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
11889         QFmode, HFmode, TQFmode, QCmode, and HCmode.
11890
11891 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
11892
11893         * flow.c (delete_noop_moves): Do not confuse libcall regions.
11894
11895 2001-07-23  Richard Henderson  <rth@redhat.com>
11896
11897         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
11898
11899 2001-07-23  Kazu Hirata  <kazu@hxi.com>
11900
11901         * config/h8300/h8300-protos.h: Add a prototype for
11902         general_operand_dst_push.
11903         * config/h8300/h8300.c (general_operand_dst_push): New.
11904         * config/h8300/h8300.h (OK_FOR_T): New.
11905         (EXTRA_CONSTRAINT): Use it.
11906         * config/h8300/h8300.md (movqi_push): Remove and integrate into
11907         the existing movqi pattern.
11908         (movhi_push): Likewise.
11909
11910         * reload.c: Fix comment typos.
11911
11912 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
11913
11914         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
11915
11916 2001-07-23  H.J. Lu  (hjl@gnu.org)
11917
11918         * doc/extend.texi: Update __builtin_return_address and
11919         __builtin_frame_address.
11920
11921 2001-07-23  Richard Henderson  <rth@redhat.com>
11922
11923         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
11924         before CSE.
11925         * config/i386/i386.md: New setcc+movzbl peephole2.
11926
11927 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11928
11929         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
11930         * objc/objc-act.c: Include debug.h.
11931         (synth_module_prologue): Save and restore debug hooks too.
11932
11933 2001-07-23  lars brinkhoff  <lars@nocrew.org>
11934
11935         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
11936         and C4X_FLOAT_FORMAT.
11937         (BOOL_TYPE_SIZE): Document.
11938
11939 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
11940
11941         * unroll.c (loop_iterations): Fix miscalculation of initial
11942         giv offset.
11943
11944 2001-07-13  Andrew Haley  <aph@redhat.com>
11945
11946         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
11947         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
11948         * config/sh/sh.c (sh_can_redirect_branch): New function.
11949         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
11950         * reorg.c (steal_delay_list_from_target): Use
11951         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
11952
11953 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
11954
11955         * flow.c (try_simplify_condjump): Unlink insn chain on
11956         fallthru edge; use can_fallthru.
11957
11958 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
11959
11960         * basic-block.h (find_sub_basic_block): Declare.
11961         * flow.c (make_edges): New arguments MIN and MAX;
11962         (find_sub_basic_blocks): Revamp to use make_edges
11963         and purge_dead_edges.
11964         (find_basic_blocks): Update call of find_sub_basic_block.
11965
11966         * recog.c (split_all_insns): Always expect CFG to be consistent;
11967         call find_sub_basic_blocks in case something has changed.
11968         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
11969         has been built.
11970
11971         * basic-block.h (delete_noop_moves): Declare.
11972         * combine.c (combine_instructions): Call it.
11973         (recog_for_combine): Tolerate noop moves
11974         (distribute_notes): Force refresh when register dies at noop move.
11975         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
11976         too.
11977         (life_analysis): Update delete_noop_moves call.
11978         (set_noop_p): Move too ...
11979         * rtlanal.c (noop_move_p): ... here.
11980         * rtl.h (noop_move_p): Declare.
11981
11982         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
11983         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
11984         after combine.
11985         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
11986         (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
11987
11988 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
11989
11990         * reload.c (push_reload): Fix typo in comment.
11991         (find_reloads_address): Ditto.
11992         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
11993
11994 2001-07-22  Richard Henderson  <rth@redhat.com>
11995
11996         * flow.c: Grammar check and clarify a lot of comments.
11997         (try_simplify_condjump): Rename variables to be clearer.
11998         (try_forward_edges): Skip complex and fallthru edges.
11999         Rearrange tests to avoid duplicate checks.
12000         (flow_find_cross_jump): Likewise.
12001         (outgoing_edges_match): Allow match if neither branch has
12002         probability data.  Loosen probability match to 5%.
12003         (try_crossjump_to_edge): Hoist repeated indirection into
12004         local variables.
12005         (try_crossjump_bb): Don't check complex edges.  Eliminate
12006         redundant crossjump tests.
12007         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
12008         checks before more expensive checks.
12009
12010 2001-07-22  Richard Henderson  <rth@redhat.com>
12011
12012         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
12013         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
12014         arguments.
12015
12016 2001-07-22  Richard Henderson  <rth@redhat.com>
12017
12018         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
12019         (const_sint32_operand): Likewise.
12020         * m68k.md (anon mulsi pattern): Use const_int_operand not
12021         const_sint32_operand.
12022         (umulsi3_highpart): Zero extend a constant input.
12023         (smulsi3_highpart): Don't bother checking SImode constant.
12024         (const_umulsi3_highpart): Give op3 DImode.
12025         (const_smulsi3_highpart): Likewise.
12026
12027 2001-07-22  Richard Henderson  <rth@redhat.com>
12028
12029         * flow.c (split_block): Make sure bb_note is included in the
12030         new block when splitting before a label.
12031
12032 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
12033
12034         * basic-block.h (redirect_edge_and_branch_force,
12035         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
12036         * flow.c (redirect_edge_and_branch_force,
12037         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
12038         (redirect_edge_and_branch_force): Fix copying of lifeness information.
12039         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
12040         * ifcvt.c (dead_or_predictable): Take BB as an new destination
12041         instead of label; update CFG after transformation.
12042         (find_if_case_1): Update call, use redirect_edge_and_branch_force
12043         for finishing the transformation; handle even case where ELSE
12044         does not follow THEN.
12045         (find_if_case_2): Update call of dead_or_predictable; simplify
12046         CFG update.
12047
12048         * emit-rtl.c (split_branch_probability): New global variable.
12049         (try_split): Take care to set split_branch_probability and
12050         create REG_BR_PROB note for new jump insns.
12051         * md.texi (define_split): Document new feature.
12052
12053         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
12054
12055 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
12056
12057         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
12058         (asm_out_file): Remove redundant declaration.
12059         (assemble_asm): Remove old #if 0 block.
12060         (assemble_variable): Remove end of function; debug output is
12061         now handled with global_decl.  Remove old #if 0 block.  Update.
12062         Remove saved_in_section and associated no-op code.
12063         * Makefile.in (varasm.o): Correct dependencies.
12064
12065 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
12066
12067         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
12068         the definition in defaults.h.
12069
12070 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
12071
12072         * jump.c: Update comments.
12073         (delete_barrier_successors, delete_unreferenced_labels,
12074         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
12075         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
12076         jump_optimize, jump_optimize_minimal): Kill.
12077         (rebuild_jump_labels): Move code from jump_optimize_1.
12078         (purge_line_number_notes): Likewise.
12079         (copy_loop_headers): Likewise.
12080         * reg-stack.c: Update comment.
12081         * stmt.c: Likewise.
12082         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
12083         JUMP_AFTER_REGSCAN): Kill.
12084         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
12085         purge_line_number_notes and copy_loop_headers.
12086
12087 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
12088            Richard Henderson  <rth@redhat.com>
12089
12090         * dbxout.c (dbxout_global_decl): New.
12091         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
12092         * sdbout.c (sdbout_finish): New.
12093         (sdbout_debug_hooks): Use it, add comments.
12094         (sdbout_global_decl): Defer initialised public vars to
12095         sdbout_finish.
12096         * varasm.c (assemble_variable): Don't output debug information
12097         for file-scope variables.
12098
12099 2001-07-22  Richard Henderson  <rth@redhat.com>
12100
12101         * config/alpha/alpha.c (get_trap_mode_suffix): New.
12102         (get_round_mode_suffix): New.
12103         (print_operand): Use them for [/].  Remove support for [&'`()+].
12104         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
12105         * config/alpha/alpha.md (attr round_suffix): New.
12106         (attr trap_suffix): New.
12107         (all insns): Set them appropriately.  Use %/ instead of the
12108         myriad punctuators.
12109
12110 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
12111
12112         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
12113
12114 2001-07-22  Richard Henderson  <rth@redhat.com>
12115
12116         * regrename.c (regrename_optimize): Compute nregs for each
12117         potential target register.
12118
12119 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
12120            Richard Henderson  <rth@redhat.com>
12121
12122         * dbxout.c (dbxout_global_decl): New.
12123         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
12124         * sdbout.c (sdbout_finish): New.
12125         (sdbout_debug_hooks): Use it, add comments.
12126         (sdbout_global_decl): Defer initialised public vars to
12127         sdbout_finish.
12128         * varasm.c (assemble_variable): Don't output debug information
12129         for file-scope variables.
12130
12131 2001-07-21  H.J. Lu  (hjl@gnu.org)
12132
12133         * config/mips/mips.c (mips_cpu): Moved into ...
12134         (override_options): Here.
12135
12136         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
12137         mips_tune.
12138         (mips_cpu): Removed.
12139
12140 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12141
12142         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
12143         ("iorqi3"): Likewise.
12144         ("xorqi3"): Likewise.
12145         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
12146         ("*subhi3_sp): Likewise.
12147         ("*subhi3"): Likewise.
12148         ("extendhisi2"): Accept D, X and Y as source operand to avoid
12149         reload problems.
12150
12151 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
12152
12153         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
12154         * config/freebsd.h: Likewise.
12155         * config/linux.h: Likewise.
12156         * config/openbsd.h: Likewise.
12157         * config/alpha/linux-elf.h: Likewise.
12158         * config/arm/linux-elf.h: Likewise.
12159         * config/d30v/d30v.h: Likewise.
12160         * config/fr30/fr30.h: Likewise.
12161         * config/ia64/aix.h: Likewise.
12162         * config/ia64/ia64.h: Likewise.
12163         * config/mips/linux.h: Likewise.
12164         * config/pj/pj.h: Likewise.
12165         * config/rs6000/linux.h: Likewise.
12166         * config/sparc/linux.h: Likewise.
12167         * config/sparc/linux64.h: Likewise.
12168
12169 2001-07-20  Bruce Korb  <bkorb@gnu.org>
12170
12171         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
12172         because getc() and char* may disagree on signedness.
12173
12174 2001-07-20  Richard Henderson  <rth@redhat.com>
12175
12176         * doc/rtl.texi (REG_DEAD): Update for current semantics.
12177
12178         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
12179         insns to delete in the presence of cc0 in a jump insn.
12180
12181 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
12182                                 Jan Hubicka  <jh@suse.cz>
12183
12184         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
12185         of doing the change by hand.
12186
12187 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
12188
12189         * rtlanal.c (set_noop_p): Return true for noop jumps.
12190
12191         * expr.c (emit_single_push_insn): Add call to push expander.
12192         * expr.h (optab_index): Add OTI_push
12193         (push_optab): New constant.
12194         * genopinit.c (optabs): Add push_optab.
12195         * optabs.c (init_optab): Init push optab.
12196         * md.texi (push??1): Document
12197
12198 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12199
12200         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
12201         expand to emit the pattern; put a REG_INC note for push/pop
12202         instructions.
12203         ("movdf", "movdf_internal"): Likewise.
12204         ("movsi", "movsi_internal"): Likewise.
12205         ("movsf", "movsf_internal"): Likewise.
12206         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
12207
12208 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12209
12210         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
12211         gen_highpart.
12212
12213 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
12214
12215         * params.def: Change default max inline insns to 100.
12216
12217 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
12218
12219         * combine.c (combine_simplify_rtx): Generate a new shift operation
12220         when simplifying the first operand of a (neg (ashift)) expression.
12221
12222 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
12223
12224         * regclass.c (N_REG_INTS): Use only 32 bits per element.
12225
12226 2001-07-20  Kelley Cook  <kelley.cook@home.com>
12227
12228         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
12229         information.   Move rest into ...
12230         (*-*-solaris): ... here.  Eliminate redundant information and
12231         reword necessary packages section.  Delete 4.x assembler bug info.
12232         (sparc-sun-*): Merge into ...
12233         (sparc-sun-sunos*): here.
12234
12235 2001-07-20  Catherine Moore  <clm@redhat.com>
12236
12237         * config/v850/v850.md (casesi): Generate LABEL_REF
12238         with Pmode.
12239
12240 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
12241
12242         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
12243         * i386.c (ix86_zero_extend_to_Pmode): Make global.
12244         * i386.md (strclrsi expander): Use it.
12245
12246 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
12247
12248         * integrate.c (copy_insn_list): handle
12249         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
12250         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
12251         identically as to CODE_LABEL.
12252
12253         * fold-const (fold): Convert A/B/C to A/(B*C) and
12254         A/(B/C) to (A/B)*C
12255
12256         * except.c (connect_post_landing_pads): Delete the RESX insns.
12257
12258 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
12259
12260         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
12261
12262         * config/mips/mips.md (nmadd/nmsub): Use macro.
12263
12264 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
12265
12266         * cppinit.c (remove_dup_dir): Make static.
12267         (remove_dup_dirs): Make static. Only warn about preempting a
12268         system directory with a non-system directory.
12269
12270 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
12271
12272         * ifcvt.c (noce_try_store_flag_constants): Correct order
12273         of parameters to trunc_int_for_mode.
12274
12275 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
12276
12277         * reorg.c (fill_simple_delay_slots): If an instruction might throw
12278         an exception that will be caught within this function, do not fill
12279         its delay slot with any subsequent instruction.
12280
12281 2001-07-19  Steve Ellcey <sje@cup.hp.com>
12282
12283         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
12284         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
12285         pointer extension instruction.
12286         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
12287         * simplify-rtx.c (simplify_unary_operation) Likewise.
12288         * explow.c (convert_memory_address) Check value of
12289         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
12290         less than zero.
12291         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
12292         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
12293         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
12294         Add Multilib Support.
12295         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
12296         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
12297         Add Multilib Support.
12298         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
12299         support.
12300         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
12301         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
12302         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
12303
12304 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
12305
12306         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
12307         old and new operands in `<', `3' and `b'.
12308
12309 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
12310
12311         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
12312         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
12313         (toplev.o): Don't depend on xcoffout.h.
12314         * c-decl.c: Include debug.h
12315         (duplicate_decls): Use debug hook.
12316         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
12317         (dbx_debug_hooks, xcoff_debug_hooks): Update.
12318         (dbxout_types): Remove.
12319         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
12320         * debug.c (do_nothing_debug_hooks): Update.
12321         (debug_true_tree, debug_nothing_rtx): New.
12322         * debug.h (struct rtx_def): New.
12323         (struct gcc_debug_hooks): New hooks ignore_block,
12324         outlining_inline_function and label.
12325         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
12326         dwarf2out_frame_finish): New.
12327         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
12328         Make static, update prototype.
12329         (dwarf2_debug_hooks): Update.
12330         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
12331         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
12332         * dwarfout.c (dwarf_debug_hooks): Update.
12333         * emit-rtl.c: Include debug.h.
12334         (remove_unnecessary_notes): Use debug hook.
12335         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
12336         (final_scan_insn): Use debug hook.
12337         * integrate.c (output_inline_function): Use debug hook.
12338         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
12339         (sdb_debug_hooks): Update.
12340         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
12341         * toplev.c: Don't include xcoffout.h.
12342         (note_outlining_of_inline_function, debug_ignore_block): Remove.
12343         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
12344         Remove.
12345         * tree.h (dwarf2out_do_frame): Remove.
12346
12347 2001-07-19  Catherine Moore  <clm@cygnus.com>
12348
12349         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
12350
12351 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
12352
12353         * reload1.c (eliminate_regs_in_insn): When updating a set
12354         to the frame pointer to the hardware frame pointer, perform
12355         the update always not just when REPLACE is set.
12356
12357         * reload1.c (choose_reload_regs): Don't inherit a reload
12358         that crosses multiple registers if registers past the first
12359         don't fit in the desired class.
12360
12361         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
12362         when negating constants.
12363
12364 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
12365
12366         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
12367         * doc/tree.texi: Ditto.
12368
12369 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
12370             Jakub Jelinek  <jakub@redhat.com>
12371
12372         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
12373         (extract_cie_info): Handle "eh" augmentation properly,
12374         remember eh_ptr.
12375         (struct frame_state, __frame_state_for): New.
12376
12377 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12378
12379         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
12380         HANDLE_SYSV_PRAGMA): Define.
12381         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
12382         previous args.
12383         (copy_object): Caller changed.
12384
12385 2001-07-19  Andreas Schwab  <schwab@suse.de>
12386
12387         * configure.in (assembler dwarf2 debug_line support): Define nop
12388         insn for m68k.
12389         * configure: Regenerated.
12390
12391 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
12392
12393         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
12394         dwarfout.h.
12395         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
12396         to conditionally compiled block.
12397         (dbx_debug_hooks, xcoff_debug_hooks): Update.
12398         * dbxout.h (dbxout_function): Remove.
12399         * debug.c (do_nothing_debug_hooks): Update.
12400         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
12401         global_decl, deferred_inline_function.
12402         * dwarf2out.c (dwarf2_debug_hooks): Update.
12403         (dwarf2out_global_decl): New.
12404         * dwarfout.c: Don't include dwarfout.h.
12405         (dwarfout_global_decl, dwarfout_function_decl,
12406         dwarfout_deferred_inline_function): New.
12407         (dwarf_debug_hooks): Update.
12408         * dwarfout.h: Remove.
12409         * final.c: Don't include dwarfout.h.
12410         * sdbout.c (sdbout_global_decl): New.
12411         (sdbout_debug_hooks): Update.
12412         * toplev.c: Don't include dwarfout.h.
12413         (check_global_declarations, rest_of_compilation): Use new debug hooks.
12414         (note_deferral_of_defined_inline_function): Remove.
12415         * toplev.h (note_deferral_of_defined_inline_function): Remove.
12416         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
12417         * ch/lex.c: Don't include dwarfout.h.
12418         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
12419         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
12420         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
12421         * cp/optimize.c: Include debug.h.
12422         (maybe_clone_body): Use debug hook.
12423         * cp/semantics.c: Include debug.h.
12424         (expand_body): Use debug hook.
12425         * po/POTFILES.in: Remove dwarfout.h.
12426
12427 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
12428
12429         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
12430         * c-parse.in (yyerror, _yylex): Similarly.
12431         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
12432         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
12433         Update comments.
12434         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
12435         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
12436
12437 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
12438
12439         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
12440         in-class declaration at -g1.  Fixes c++/2814.
12441
12442 2001-07-18  Richard Henderson  <rth@redhat.com>
12443
12444         * doc/md.texi (reload_in/out): Document restrictions in predicates
12445         and constraints for these patterns.  Document empty string matching
12446         ALL_REGS.
12447
12448 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12449
12450         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
12451
12452 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
12453
12454         * cse.c: Undo my previous patch.
12455
12456 2001-07-18  Tom Tromey  <tromey@redhat.com>
12457
12458         For PR java/2812:
12459         * configure: Rebuilt.
12460         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
12461         instead.
12462         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
12463
12464 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
12465                                 Jan Hubicka  <jh@suse.cz>
12466
12467         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
12468         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
12469         * jump.c (mark_jump_label): Do not forward branches.
12470
12471 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
12472
12473         * cse.c (delete_trivially_dead_insns): Delete the libcall block
12474         when return value is unused.
12475
12476 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
12477
12478         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
12479
12480 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
12481
12482         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
12483         on error.  We can't blindly return the result of
12484         pthread_mutex_trylock because it returns a positive number on
12485         error, while we must return -1 on error.
12486         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
12487         fixes.
12488         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
12489
12490 2001-07-18  Andreas Jaeger  <aj@suse.de>
12491
12492         * integrate.c (output_inline_function): Correct type of debug_hooks.
12493
12494 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
12495
12496         * combine.c (combine_simplify_rtx): DIV can be treated
12497         associatively for floats if unsafe math optimisations are enabled.
12498
12499 2001-07-17  Richard Henderson  <rth@redhat.com>
12500
12501         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
12502
12503 2001-07-17  Richard Henderson  <rth@redhat.com>
12504
12505         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
12506         don't force the function address into a register.
12507         (expand_call, emit_library_call_value_1): Update callers.
12508         * builtins.c (expand_builtin_apply): Likewise.
12509         * expr.h (prepare_call_address): Update decl.
12510
12511 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
12512
12513         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
12514         config directory.
12515         * config/i386/chorus.h: Move up.
12516         * config/sparc/chorus.h: Likewise.
12517         * config/rs6000/chorus.h: Likewise.
12518         * config/chorus.h: Moved here.
12519
12520 2001-07-17  Andreas Schwab  <schwab@suse.de>
12521
12522         * configure.in  (assembler eh_frame optimization): Handle big
12523         endian.
12524         * configure: Regenerated.
12525
12526 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
12527
12528         * expr.c (epxand_expr): Convert divisions into multiplications by
12529         reciprocals if -ffast-math.
12530
12531 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
12532
12533         * dbxout.c (dbxout_really_begin_function): Rename to
12534         dbxout_begin_function.
12535         (dbx_debug_hooks, xcoff_debug_hooks): Update.
12536         (dbxout_begin_function): Remove.
12537         (dbxout_function): Update.
12538         (dbxout_source_line): Update prototype.
12539         * dbxout.h (dbxout_begin_function): Remove.
12540         * debug.c (do_nothing_debug_hooks): Update.
12541         (debug_nothing_tree): Update.
12542         (debug_nothing_charstar_rtx): Remove.
12543         * debug.h (union tree_node): Declare.
12544         (struct rtx_def): Remove.
12545         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
12546         begin_function.  Change source_line prototype.
12547         (debug_nothing_tree): New.
12548         (debug_nothing_charstar_rtx): Delete.
12549         (dwarf2out_begin_prologue): Moved from ...
12550         * tree.h: ... here.
12551         * dwarf2out.c (dwarf2_debug_hooks): Update.
12552         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
12553         debug info, call dwarf2out_source_line.
12554         (dwarf2out_souce_line): Update prototype.
12555         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
12556         Change prototype, make static.
12557         (dwarfout_source_line): Update prototype.
12558         (dwarf_debug_hooks): Update.
12559         * dwarfout.h (dwarfout_begin_function): Remove.
12560         * final.c (final_start_function, final_scan_insn): Use appropriate
12561         debug hooks, update to use notice_source_line.
12562         (output_source_line): Rename notice_source_line.  Don't call the
12563         source_line debug hook.
12564         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
12565         make static, update prototype.
12566         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
12567         prototype.
12568         (sdbout_end_prologue): New.
12569         (sdbout_source_line): Update prototype.
12570         (sdbout_debug_hooks): Update.
12571         (sdbout_symbol): Remove unused var.
12572         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
12573         Delete.
12574         * varasm.c: Include debug.h.
12575         (assemble_start_function): Use begin_function debug_hook.
12576         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
12577         update with prototype.
12578         (xcoffout_source_line): Update prototype.
12579         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
12580         update prototype.
12581         (xcoffout_source_line): Update prototype.
12582
12583 2001-07-17  Richard Henderson  <rth@redhat.com>
12584
12585         * c-typeck.c (build_binary_op): Do not shorten unsigned
12586         right shift after sign extension.
12587
12588 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
12589
12590         * combine.c (combine_simplify_rtx): Attempt to simplify
12591         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
12592
12593         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
12594         (simplify_binary_operation, simplify_unary_operation,
12595          simplify_relational_operation): Use it.
12596
12597         * combine.c (combine_simplify_rtx): Don't do associative law
12598         on divisions; allow associative law on floats.
12599
12600 2001-07-17  H.J. Lu <hjl@gnu.org>
12601             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12602
12603         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
12604         ASM_OUTPUT_WEAK_ALIAS are defined.
12605         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
12606         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
12607         Moved ...
12608         * config/mips/iris5.h: ... here.
12609         (HANDLE_SYSV_PRAGMA): Defined as 1.
12610         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
12611         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
12612         symbol.
12613
12614 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
12615
12616         * c-parse.in (all_prefix_attributes): New variable.
12617         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
12618         (maybe_resetattrs): New production.
12619         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
12620         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
12621         notype_initdcl, nested_function, notype_nested_function,
12622         component_decl, components, components_notype,
12623         component_declarator, component_notype_declarator,
12624         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
12625         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
12626         after a comma being applied to more than one declarator.
12627         * doc/extend.texi (Attribute Syntax): Update.  Remove
12628         documentation of bugs that are no longer present.
12629
12630 2001-07-13  Eric Christopher  <echristo@redhat.com>
12631
12632         * config/mips/mips.h: Change TUNE_MIPS* options to use
12633         mips_tune.
12634         (EXTRA_SPECS): Add cc1_cpu_spec.
12635         * config/mips/mips.md (muldf3): Fix typo.
12636
12637 2001-07-16  Richard Henderson  <rth@redhat.com>
12638
12639         * config/m68k/m68k.c: Include expr.h and reload.h.
12640         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
12641         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
12642
12643 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
12644             Richard Henderson  <rth@redhat.com>
12645
12646         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
12647         (insn_live_p): Fix fall off end of function.
12648         (dead_libcall_p): Remove COUNTS argument; update callers.
12649         (delete_trivially_dead_insns): Remove unused variables.
12650
12651 2001-07-17  Andreas Jaeger  <aj@suse.de>
12652
12653         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
12654         x86-64 pic support.
12655
12656         * lcm.c (optimize_mode_switching): Avoid warning for unused
12657         variable if !NORMAL_MODE.
12658
12659         * flow.c (try_crossjump_to_edge): Remove unused variable.
12660
12661 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12662
12663         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
12664         atexit declaration in stdlib.h.
12665
12666 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
12667
12668         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
12669
12670 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
12671
12672         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
12673         * except.c (finish_eh_generation): Update call of cleanup_cfg;
12674         do rebuild_jump_labels instead of jump_optimize
12675         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
12676         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
12677         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
12678
12679         * flow.c: Include timevar.h
12680         (find_basic_block): Push/pop timevar;
12681         (cleanup_cfg): Likewise.
12682         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
12683         * Makefile: Add dependencies on timevar.h
12684
12685         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
12686         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
12687
12688         * rtl.h (delete_trivially_dead_insns): Add new parameter.
12689         * toplev.c (rest_of_compilation): Update calls.
12690         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
12691         (delete_trivially_dead_insns): ... here; accept new argument
12692         preserve_basic_blocks; preserve basic blocks if set.
12693
12694         * reg-stack.c (stack_regs_mentioned): Return 0 if
12695         stack_regs_mentioned_data is not initialized.
12696         (reg_to_stack): Make stack_regs_mentioned survive after the
12697         reg-stack is completted; do not call cleanup_cfg.
12698         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
12699         make cleanup_cfg after bb-reorder to output to debug file.
12700
12701 2001-07-16  Richard Henderson  <rth@redhat.com>
12702
12703         * regclass.c (init_reg_sets): Use only 32 bits per initializer
12704         from int_reg_class_contents.
12705
12706 2001-07-16  Richard Henderson  <rth@redhat.com>
12707
12708         * hard-reg-set.h (regs_invalidated_by_call): Declare.
12709         * regclass.c (regs_invalidated_by_call): Move from cse.c.
12710         (init_reg_sets_1): Move initialization from cse_main.
12711         * cse.c (regs_invalidated_by_call): Move to regclass.c.
12712         (cse_main): Move its initialization also.
12713         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
12714         * flow.c (propagate_one_insn): Likewise.
12715         * gcse.c (compute_hash_table): Likewise.
12716         (compute_kill_rd, compute_store_table): Likewise.
12717         * sched-deps.c (sched_analyze_1): Likewise.
12718
12719 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
12720
12721         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
12722         gen_rtx_SET.
12723
12724 2001-07-16  Steve Ellcey <sje@cup.hp.com>
12725
12726         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
12727         in if statement so we don't access undefined memory.
12728
12729 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
12730
12731         * gcse.c: Update comment at top.
12732         Update comment on mem handling.
12733         mem_last_set, mem_first_set, mem_set_in_block: gone.
12734         Declaration of reg_set_info: gone.
12735         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
12736         pointless with load_killed_in_block_p (they are *more*
12737         conservative then it, not less, and less accurate).
12738         (oprs_not_set_p): Ditto.
12739         (alloc_gcse_mem): Don't allocate mem_set_in_block
12740         (free_gcse_mem): Don't free it, either.
12741         (record_last_mem_set_info): Update comment in front, remove
12742         mem_*set_* stuff. Note the reason we don't handle stores directly
12743         here.
12744         (compute_hash_table): Update comments to reflect reality. Remove
12745         mem_*set_* references.
12746         (reset_opr_set_tables): Remove mem_*set_* references.
12747         (mark_call): Ditto.
12748         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
12749         (mark_clobber): Ditto (on both parts, we double set here too).
12750         (expr_killed_p): Remove mem_set_in_block test.
12751         (compute_transp): Remove mem_set_in_block test.
12752
12753         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
12754         of edge, and removal of phi alternative to dump file.
12755         (ssa_ccp_substitute_constants): Add note about register now being
12756         constant, and which uses were replaced in what insns to dump file.
12757
12758 2001-07-16  Andreas Jaeger  <aj@suse.de>
12759
12760         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
12761         variables of type HOST_WIDEST_INT.
12762
12763         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
12764         (__bb_exit_func): Correct type of count_max to avoid overflow.
12765         (num_digits): Handle long long argument.
12766
12767         * combine.c (gen_lowpart_for_combine): Remove unused variable.
12768
12769 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
12770
12771         * output.h (sdb_begin_function_line): Restore as an extern
12772         variable.
12773         * sdbout.c (sdb_begin_function_line): Make extern.
12774
12775 2001-07-15  Richard Henderson  <rth@redhat.com>
12776
12777         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
12778         * genrecog.c (maybe_both_true_mode): New.
12779         (maybe_both_true_2): Use it.
12780         (write_switch): Don't put Pmode in a switch.
12781         * rtl.c (mode arrays): Don't explicitly size them.
12782
12783 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
12784
12785         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
12786         handling; move unconditional splitting before mode switching.
12787
12788         * i386.md (type): Add fistp type.
12789         (i387, length_attr, scheduling definitions): Handle this type.
12790         (fix_trunc?f?i2): Revamp to use mode switching.
12791         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
12792         * i386.h (fp_cw_mode): New enum
12793         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
12794         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
12795
12796 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12797
12798         * Makefile.in (integrate.o): Add debug.h.
12799         * integrate.c (debug.h): Add.
12800         (output_inline_function): Save, reset, and restore debug_hooks.
12801
12802 2001-07-15  Richard Henderson  <rth@redhat.com>
12803
12804         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
12805         instead of COMPARE for the EQUIV expression.
12806
12807 2001-07-15  Richard Henderson  <rth@redhat.com>
12808
12809         * flow.c (redirect_edge_and_branch_force): Initialize
12810         global_live_at_start and global_live_at_end.
12811         (allocate_bb_life_data): Export.
12812         * basic-block.h (allocate_bb_life_data): Declare.
12813         * toplev.c (rest_of_compilation): Call it.
12814
12815 2001-07-15  Richard Henderson  <rth@redhat.com>
12816
12817         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
12818         (alpha_tablejump_best_label): New.
12819         * config/alpha/alpha-protos.h: Declare them.
12820         * config/alpha/alpha.md: Use braced strings for code blocks.
12821         (tablejump_osf): Break out add with r29.
12822         (tablejump_osf_internal): Remove.
12823         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
12824         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
12825
12826 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
12827
12828         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
12829         of the movable.
12830
12831         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
12832
12833         * i386-protos.h (ix86_split_fp_branch): Update prototype.
12834         (ix86_fp_jump_nontrivial_p): New.
12835         * i386.md (fp_jcc_?): Update call of split_fp_branch;
12836         use ix86_fp_jump_nontrivial_p.
12837         * i386.c (ix86_fp_jump_nontrivial_p): New.
12838         (ix86_split_fp_branch): Accept code instead of rtx.
12839         (ix86_expand_compare): Expand comparison early in case
12840         doing so is resonably cheap.
12841
12842 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
12843
12844         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
12845         not 'machine'.
12846         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
12847         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
12848
12849 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
12850
12851         * dbxout.c (dbxout_source_line): Make static, update prototype.
12852         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
12853         (dbxout_init, dbxout_finish, dbxout_source_line,
12854         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
12855         * dbxout.h (dbxout_source_line): Delete.
12856         * debug.c (debug_nothing_file, debug_nothing_file_int,
12857         debug_nothing_file_charstar_rtx): New.
12858         (do_nothing_debug_hooks): Update.
12859         (debug_nothing_void, debug_nothing_charstar_rtx,
12860         dwarf2out_end_epilogue): New.
12861         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
12862         * debug.h (struct rtx_def): Declare.
12863         (gcc_debug_hooks): New hooks source_line, end_epilogue
12864         and end_function.
12865         (debug_nothing_void, debug_nothing_charstar_rtx,
12866         dwarf2out_end_epilogue): New.
12867         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
12868         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
12869         (dwarf2_debug_hooks): Update.
12870         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
12871         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
12872         * dwarf2out.h (dwarf2out_source_line): Remove.
12873         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
12874         Make static, update prototype.
12875         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
12876         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
12877         (dwarf_debug_hooks): Update.
12878         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
12879         dwarfout_end_function): Remove.
12880         * final.c (profile_function): Use debug hooks for ending functions
12881         and epilogues.
12882         (output_source_line, final_end_function): Update prototype,
12883         use debug hooks.
12884         (final_start_function, final_scan_insn): Update.
12885         * output.h (sdb_begin_function_line): Remove.
12886         (final_end_function): Update prototype.
12887         * sdbout.c (sdb_begin_function_line): Make static.
12888         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
12889         (sdbout_source_line): New.
12890         (sdbout_end_epilogue, sdbout_end_function): Make static, update
12891         prototypes.
12892         (sdb_debug_hooks): Update.
12893         (sdbout_init, sdbout_source_line,
12894         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
12895         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
12896         * toplev.c (compile_file, rest_of_compilation): Update.
12897         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
12898         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
12899         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
12900         Update for prototype changes.
12901         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
12902         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
12903
12904 2001-07-15  Richard Henderson  <rth@redhat.com>
12905
12906         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
12907         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
12908         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
12909         * config/alpha/alpha.c: Likewise.
12910         * config/alpha/alpha.md: Likewise.
12911         * config/alpha/alpha32.h: Likewise.
12912         * config/alpha/vms.h: Likewise.
12913         (OPEN_VMS): Remove.
12914
12915 2001-07-14  Richard Henderson  <rth@redhat.com>
12916
12917         * config/alpha/alpha.md: Use define_constants for unspec values.
12918         Substitute throughout.
12919
12920 2001-07-14  Tim Josling  <tej@melbpc.org.au>
12921
12922         * tree.def (EXPON_EXPR) remove. Never supported anyway.
12923
12924 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12925
12926         * pa.md: Remove unused constraints from define_split's.
12927
12928 2001-04-14  Richard Henderson  <rth@redhat.com>
12929
12930         * ifcvt.c (find_cond_trap): Test for exit block.
12931
12932 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
12933
12934         Re-install recently reverted patch.
12935         * emit-rtl.c (try_split): Update mark_jump_label call.
12936         * flow.c (find_sub_basic_blocks): Likewise.
12937         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
12938         jump_back_p): Kill.
12939         (mark_all_labels): Kill second parameter.
12940         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
12941         (rebuild_jump_labels, jump_optimize_minimal): Update call
12942         of jump_optimize_1.
12943         (jump_optimize_1): Kill crossjumping code.
12944         (mark_jump_label): Kill cross_jump parameter.
12945         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
12946         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
12947         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
12948          splitting.
12949         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
12950         DFI_bpro.
12951         (dump_file_info): Likewise.
12952         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
12953         reorganize passes to do reg-stack first, bb-reorder second.
12954         * invoke.texi (-d letters doc): Remove the jump2 pass.
12955
12956 2001-07-14  Richard Henderson  <rth@redhat.com>
12957
12958         * ifcvt.c (find_cond_trap): New.
12959         (find_if_header): Call it.
12960         (merge_if_block): Relax existing jump sanity check.
12961         * jump.c (jump_optimize_1): Remove conditional trap handling.
12962
12963 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
12964
12965         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
12966         millicode.
12967         (insn_refs_are_delayed): Correct comment.
12968         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
12969         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
12970         instead of r31.  Make associated insn !TARGET_64BIT, and
12971         provide an additional 64-bit insn that clobbers r2.
12972         (divsi3): Likewise.
12973         (udivsi3): Likewise.
12974         (modsi3): Likewise.
12975         (umodsi3): Likewise.
12976
12977 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
12978
12979         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
12980
12981         * flow.c (redirect_edge_and_branch_force, split_edge,
12982         try_crossjump_to_edge): Use set_block_for_new_insns.
12983         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
12984
12985 2001-07-13  H.J. Lu  (hjl@gnu.org)
12986
12987         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
12988         the correct patch.
12989
12990 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
12991
12992         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
12993
12994 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
12995
12996         * c-common.c (decl_attributes): Take a pointer to the node to
12997         which attributes are to be attached, and a flags argument.
12998         * c-common.h (enum attribute_flags): New.
12999         (decl_attributes): Update prototype.
13000         * c-decl.c (start_decl, push_parm_decl, finish_struct,
13001         finish_enum, start_function): Update calls to decl_attributes.
13002         * c-parse.in (component_declarator, component_notype_declarator,
13003         label): Update calls to decl_attributes.
13004
13005 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
13006
13007         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
13008         * config/avr/avr.c (legitimate_address_p): Return value changed
13009         from letter to register classes. For better debugging.
13010
13011 2001-07-13  Kazu Hirata  <kazu@hxi.com>
13012
13013         * jump.c (reversed_comparison_code_parts): Fix comment typos.
13014
13015 2001-07-13  H.J. Lu  (hjl@gnu.org)
13016
13017         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
13018
13019 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
13020
13021         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
13022         correctly for shared configurations.
13023         * config/t-libgcc-pic:  New.
13024         * config/{i386,m68k,sparc}/t-openbsd:  New.
13025         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
13026         Support -shared.  Support debugging libraries with -g.
13027         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
13028         frame information does not emit pointer diffs.
13029         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
13030         emit pointer diffs.
13031
13032 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
13033
13034         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
13035
13036 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
13037
13038         * combine.c (try_combine): Ensure const_int pow2 is positive.
13039
13040 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
13041
13042         * config.gcc: Add configuration for s/390.
13043         * config/s390/s390.c: New. Subroutines for code generation.
13044         * config/s390/s390.h: New. Definitions for s/390.
13045         * config/s390/s390-protos.h: New. Prototypes.
13046         * config/s390/linux.h: New. Definitions for linux for s/390.
13047         * config/s390/linux64.h: New. Definitions for linux for zSeries.
13048         * config/s390/t-linux: New. Makefile fragment.
13049         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
13050         * config/s390/fixdfdi.h: New. Fix L_fix*di.
13051
13052 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
13053
13054         * emit-rtl.c (try_split): Update mark_jump_label call.
13055         * flow.c (find_sub_basic_blocks): Likewise.
13056         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
13057         jump_back_p): Kill.
13058         (mark_all_labels): Kill second parameter.
13059         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
13060         (rebuild_jump_labels, jump_optimize_minimal): Update call
13061         of jump_optimize_1.
13062         (jump_optimize_1): Kill crossjumping code.
13063         (mark_jump_label): Kill cross_jump parameter.
13064         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
13065         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
13066         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
13067          splitting.
13068         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
13069         DFI_bpro.
13070         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
13071         reorganize passes to do reg-stack first, bb-reorder second.
13072         * invoke.texi (-d letters doc): Remove the jump2 pass.
13073
13074 2001-07-12  Steve Ellcey <sje@cup.hp.com>
13075
13076         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
13077
13078 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
13079
13080         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
13081         basic blocks.
13082         (verify_flow_info): Make diagnostics prettier.
13083
13084 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
13085
13086         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
13087
13088         * flow.c (outgoing_edges_match): Return early if condition reversal
13089         failed.
13090
13091 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
13092
13093         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
13094         (mips_move_2words): When splitting a move into two instructions,
13095         prefix the second address operand with '%D'.
13096
13097 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
13098
13099         * Makefile.in (final.o): Depend on debug.h.
13100         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
13101         (dbx_debug_hooks): Add new hooks.
13102         (xcoff_debug_hooks): New.
13103         * debug.c (debug_nothing_file_int_int): New.
13104         (do_nothing_debug_hooks): Update.
13105         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
13106         (debug_nothing_file_int_int): New.
13107         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
13108         static, update prototype.
13109         (dwarf2_debug_hooks): Update.
13110         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
13111         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
13112         static, update prototype.
13113         (dwarf_debug_hooks): Update.
13114         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
13115         * final.c: Include debug.h.
13116         (final_scan_insn): Use debug hooks when beginning and ending blocks.
13117         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
13118         static, update prototype.
13119         (sdb_debug_hooks): Update.
13120         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
13121         * toplev.c: Distinguish between xcoff and dbx.
13122
13123         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
13124         Call all debug hooks, not just dwarf ones.
13125
13126 2001-07-11  Timothy Wall  <twall@redhat.com>
13127
13128         * config.gcc: Add configuration for AIX5/IA64.
13129         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
13130         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
13131         support prefix/suffix code.
13132         * config/ia64/t-aix: New.  Makefile fragment.
13133         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
13134
13135 2001-07-11  Kazu Hirata  <kazu@hxi.com>
13136
13137         * recog.c (validate_change): Fix a comment typo.
13138
13139 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
13140
13141         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
13142         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
13143         hooks directly.
13144         * dbxout.c (dbx_debug_hooks): Add new hooks.
13145         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
13146         make static.
13147         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
13148         make static.
13149         * dbxout.h (dbxout_start_new_source_file,
13150         dbxout_resume_previous_source_file): Delete.
13151         * debug.c (do_nothing_debug_hooks): Add new hooks.
13152         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
13153         (debug_nothing_int_charstar, debug_nothing_int): New.
13154         * debug.h (gcc_debug_hooks): New hooks define, undef,
13155         start_source_file and end_source_file.
13156         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
13157         (debug_nothing_int_charstar, debug_nothing_int): New.
13158         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
13159         the conditionally compiled section.
13160         (dwarf2out_start_source_file, dwarf2out_end_source_file,
13161         dwarf2out_define, dwarf2out_undef): Make static.
13162         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
13163         dwarf2out_define, dwarf2out_undef): Remove.
13164         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
13165         (dwarfout_start_source_file, dwarfout_end_source_file,
13166         dwarfout_define, dwarfout_undef): Make static.
13167         (dwarfout_start_source_file_check,
13168         dwarfout_end_source_file_check): New.
13169         (dwarfout_define, dwarfout_finish): Update.
13170         * dwarfout.h (dwarfout_start_new_source_file,
13171         dwarfout_resume_previous_source_file, dwarfout_define,
13172         dwarfout_undef): Remove.
13173         * sdbout.c (sdb_debug_hooks): Add new hooks.
13174         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
13175         make static.
13176         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
13177         make static, take an arg.
13178         * sdbout.h (sdbout_start_new_source_file,
13179         sdbout_resume_previous_source_file): Delete.
13180         * toplev.c (debug_start_source_file, debug_end_source_file,
13181         debug_define, debug_undef): Delete.
13182         * toplev.h (debug_start_source_file, debug_end_source_file,
13183         debug_define, debug_undef): Delete.
13184
13185         * java/jcf-parse.c: Include debug.h.
13186         (parse_class_file): Update to use debug hooks directly.
13187         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
13188
13189 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13190
13191         * alias.c (set_mem_alias_set): New function.
13192         * rtl.h (set_mem_alias_set): Declare it.
13193         * builtins.c (expand_builtin_return_addr): Call it instead of
13194         using MEM_ALIAS_SET accessor.
13195         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
13196         (get_memory_rtx, expand_builtin_va_arg): Likewise.
13197         (expand_builtin_va_copy):Likewise.
13198         * caller-save.c (setup_save_areas): Likewise.
13199         * calls.c (compute_argument_addresses): Likewise.
13200         * explow.c (set_mem_attributes): Likewise.
13201         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
13202         (expand_assignment, store_constructor_field, store_field): Likewise.
13203         (expand_expr_unaligned): Likewise.
13204         * function.c (assign_stack_temp_for_type): Likewise.
13205         (put_reg_into_stack, gen_mem_addressof): Likewise.
13206         * ifcvt.c (noce_try_cmove_arith): Likewise.
13207         * reload1.c (reload, alter_reg): Likewise.
13208         * config/alpha/alpha.c (get_aligned_mem): Likewise.
13209         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
13210         (alpha_expand_unaligned_store): Likewise
13211         (alpha_expand_unaligned_load_words): Likewise.
13212         (alpha_expand_unaligned_store_words): Likewise.
13213         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
13214         (alpha_expand_epilogue): Likewise.
13215         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
13216         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
13217         * config/i386/i386.c (legitimize_pic_address): Likewise.
13218         * config/i960/i960.c (setup_incoming_varargs): Likewise.
13219         * config/ia64/ia64.c (spill_restore_mem): Likewise.
13220         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
13221         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
13222         * config/mips/mips.c (mips_va_arg): Likewise.
13223         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
13224         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
13225         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
13226         (setup_incoming_varargs, rs6000_va_arg): Likewise.
13227         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
13228         (rs6000_emit_epilogue): Likewise.
13229         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
13230         * config/sparc/sparc.c (sparc_va_arg): Likewise.
13231         * config/v850/v850.c (v850_va_arg): Likewise.
13232
13233 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
13234
13235         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
13236         when fallthru edge is present.
13237         (mege_blocks): Handle case where creation of jump insn
13238         is required.
13239
13240         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
13241         CLEANUP_POST_REGSTACK): New constants.
13242         * except.c (finish_eh_generation): Update call of cleanup_cfg,
13243         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
13244         * output.h (cleanup_cfg): Update prototype.
13245         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
13246         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
13247         cleanup_cfg call; kill missleading comment.
13248         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
13249         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
13250         parameter; control optimizations performed using it.
13251         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
13252         try_crossjump_bb): New functions.
13253
13254 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13255
13256         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
13257         extern.
13258         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
13259         pa_output_function_prologue.
13260         * pa-protos.h (pa_output_function_prologue): New prototype.
13261
13262 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13263
13264         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
13265         and low to get correct sign extension in low+high test.
13266
13267 2001-07-11  Janis Johnson <janis@us.ibm.com>
13268
13269         * gcov.c (arcdata): Use gcov_type to fix branch percentage
13270         for large hit count.
13271
13272         * profile.c (branch_prob): Fix .bbg info for computed gotos
13273         and C++ EH code.
13274
13275 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
13276
13277         * stmt.c (parse_output_constraint): New function, split out
13278         from ...
13279         (expand_asm_operands): ... here.  Use parse_output_constraint.
13280         * tree.h (parse_output_constraint): Declare it.
13281
13282 2001-07-11  Richard Henderson  <rth@redhat.com>
13283
13284         * bitmap.c: Comment some functions; fiddle whitespace.
13285         (bitmap_free): Don't export.
13286         (bitmap_element_allocate): Use memset.
13287         * bitmap.h (bitmap_free): Don't declare.
13288
13289 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
13290
13291         * gcse.c, lcm.c, sched-deps.c:
13292         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
13293
13294         * flow.c (flow_loops_find): Free dom if we found no loops, since
13295         we aren't going to save it.
13296
13297         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
13298         done.
13299
13300 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
13301
13302         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
13303
13304 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13305
13306         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
13307         #ifndef DWARF2_DEBUGGING_INFO.
13308
13309 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
13310
13311         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
13312
13313 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
13314
13315         * config/mips/mips.c (gen_int_relational): Tell the caller not to
13316         reverse a branch if a NE comparison is implemented with GTU.
13317
13318 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
13319             H.J. Lu  <hjl@gnu.org>
13320
13321         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
13322         constant addresses.
13323         (call_internal2): Likewise.
13324         (call_value_internal1): Likewise.
13325         (call_value_internal2): Likewise.
13326         (call_value_multiple_internal1): Likewise.
13327         (call_value_multiple_internal2): Likewise.
13328
13329 2001-07-10  Kazu Hirata  <kazu@hxi.com>
13330
13331         * calls.c (emit_library_call_value_1): Fix a comment typo.
13332         * dwarf2out.c (mem_loc_descriptor): Likewise.
13333         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
13334
13335 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
13336
13337         * simplify-rtx.c (simplify_subreg): Fix typo in comment
13338
13339 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13340
13341         * recog.c (offsettable_address_p): Handle LO_SUM case.
13342         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
13343         instead of plus_constant.
13344
13345 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
13346
13347         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
13348         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
13349
13350 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13351
13352         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
13353         adjust_address_nv instead of plus_constant.
13354
13355 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
13356
13357         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
13358         dwarf2out.o): Depend on debug.h, wrap long lines.
13359         * dbxout.c: Include debug.h.
13360         (dbx_debug_hooks): New.
13361         (dbxout_init): Make static, take just 2 args.
13362         (dbxout_finish): Make static.
13363         * dbxout.h (dbxout_init, dbxout_finish): Delete.
13364         * debug.c: New file.
13365         * debug.h: New file.
13366         * dwarf2out.c: Include debug.h.
13367         (dwarf2_debug_hooks): New.
13368         (dwarf2out_init): Make static.
13369         (dwarf2out_finish): Make static, take 2 args.
13370         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
13371         * dwarfout.c: Include debug.h.
13372         (dwarf_debug_hooks): New.
13373         (dwarfout_init): Make static.
13374         (dwarfout_finish): Make static, take 2 args.
13375         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
13376         * sdbout.c: Include debug.h.
13377         (sdb_debug_hooks): New.
13378         (sdbout_init): Make static, take 2 args.
13379         * sdbout.h (sdbout_init): Delete.
13380         * toplev.c: Include debug.h.
13381         (debug_hooks): New.
13382         (compile_file): Set deubg_hooks based on command line options.
13383         Use the hooks unconditionally rather than conditional compilation.
13384
13385 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
13386
13387         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
13388         first_insn_after_basic_block_note instead.
13389
13390         * df.c (df_bb_refs_unlink): #if 0 out for now.
13391
13392 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
13393
13394         * ssa.h: Add prototype for ssa_const_prop
13395         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
13396         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
13397         (ssa_fast_dce): Remove unused variable
13398
13399 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
13400
13401         * diagnostic.c (finish_diagnostic): Rename to
13402         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
13403         calls thourghout.
13404
13405 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
13406
13407         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
13408         .loc support.
13409
13410         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
13411         (dump_file): Only pad the demangled name with spaces if the
13412         mangled name was padded with spaces.
13413
13414 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
13415
13416         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
13417         edge detection.
13418
13419 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13420
13421         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
13422         extraction if no direct load if either EXPAND_CONST_ADDRESS or
13423         EXPAND_INITIALIZER.
13424
13425         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
13426         whether can put offset inside LO_SUM to check mode alignment, not size.
13427
13428 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
13429
13430         * doc/tm.texi (Misc): Fix thinko.
13431
13432 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
13433
13434         * regmove.c (replace_in_call_usage): Fix warnings.
13435         * sched-deps.c (add_dependence): Fix warnings.
13436         * simplify-rtx.c (simplify_subreg): Likewise.
13437         Return NULL_RTX instead of NULL.
13438
13439         * reg-stack.c (emit_swap_insn): Eliminate warnings.
13440         (subst_asm_stack_regs): Likewise.
13441
13442         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
13443         warnings.
13444
13445         * dwarf2out.c (output_call_frame_info): Declare i as int.
13446         (build_abbrev_table): Declare n_alloc as int.
13447         (dwarf2out_finish): Initialize die.
13448         * except.c: Declare sjlj_funcdef_number as unsigned.
13449         (connect_post_landing_pads): Declare j as unsigned.
13450         (convert_to_eh_region_ranges): Initialize call_site.
13451         (output_function_exception_table): Initialize tt_format_size.
13452         * expr.c (move_by_pieces_1): Initialize to1.
13453         (store_constructor): Initialize minelt and maxelt.
13454         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
13455         * function.c (instantiate_decls): Avoid signed/unsigned warning.
13456
13457         * c-decl.c (combine_parm_decls): Unused, remove.
13458         * c-tree.h: Remove prototype for combine_parm_decls.
13459
13460         * reload.c (push_reload): Fix warning.
13461         (regno_clobbered_p): Likewise.
13462         * reload1.c (replace_pseudos_in_call_usage): Likewise.
13463         (reload_combine): Likewise.
13464
13465         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
13466         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
13467         warnings.
13468         * bitmap.c (bitmap_operation): Change user.
13469         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
13470
13471 2001-07-10  Eric Christopher  <echristo@redhat.com>
13472
13473         * config/mips/mips.c (override_options): Fix typo.
13474
13475 2001-07-09  Stan Shebs  <shebs@apple.com>
13476
13477         * target.h (struct gcc_target): New fields init_builtins and
13478         expand_builtin.
13479         * target-def.h (TARGET_INIT_BUILTINS): New macro.
13480         (TARGET_EXPAND_BUILTIN): New macro.
13481         (TARGET_INITIALIZER): Add them.
13482         * builtins.c: Include target.h.
13483         (expand_builtin): Use targetm.expand_builtin.
13484         (default_init_builtins): New function.
13485         (default_expand_builtin): New function.
13486         * expr.h (default_init_builtins): Declare.
13487         (default_expand_builtin): Declare.
13488         * c-common.c (c_common_nodes_and_builtins): Use
13489         targetm.init_builtins.
13490         * defaults.h (MD_INIT_BUILTINS): Remove.
13491         * Makefile.in (builtins.o): Depend on target.h.
13492
13493         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
13494         (TARGET_EXPAND_BUILTIN): Define.
13495         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
13496         (MD_EXPAND_BUILTIN): Remove.
13497
13498         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
13499         (TARGET_EXPAND_BUILTIN): Define.
13500         (c4x_init_builtins): Make endlink arg a local.
13501         (c4x_print_operand): Fix typos in adjust_address usages.
13502         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
13503         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
13504         (MD_EXPAND_BUILTIN): Remove.
13505
13506         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
13507         (TARGET_EXPAND_BUILTIN): Define.
13508         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
13509         (ix86_init_builtins): Call new function only if TARGET_MMX.
13510         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
13511         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
13512         (MD_EXPAND_BUILTIN): Remove.
13513
13514         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
13515         (TARGET_EXPAND_BUILTIN): Define.
13516         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
13517         (MD_EXPAND_BUILTIN): Remove.
13518
13519         * doc/tm.texi: Document these changes.
13520
13521 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
13522
13523         * basic-block.h (tree_node): Forward declare if needed.
13524         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
13525         (BLOCK_HEAD_TREE): Define.
13526         (BLOCK_END_TREE): Define.
13527         (struct loops): Rename field 'tree' to 'tree_root'.
13528         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
13529         'end_tree'.
13530         (flow_loops_tree_build): Rename reference to field 'tree' to
13531         'tree_root'.
13532         (flow_loops_level_compute): Ditto.
13533         * predict.c (estimate_bb_frequencies): Ditto.
13534         * tree.h (struct tree_common): Add field 'aux'.
13535
13536 2001-07-09  Stan Shebs  <shebs@apple.com>
13537
13538         * config/darwin.c (darwin_encode_section_info): Don't mark any
13539         DECL_EXTERNAL node as defined.
13540
13541 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13542
13543         * pa.c (pa_init_machine_status, pa_mark_machine_status,
13544         pa_free_machine_status, hppa_init_pic_save): Delete.
13545         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
13546         (hppa_profile_hook): Use hppa_pic_save_rtx.
13547         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
13548         hppa_init_pic_save): Delete.
13549         (hppa_pic_save_rtx): Declare.
13550         * pa.md (call, call_value, sibcall, sibcall_value,
13551         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
13552
13553 2001-07-09  Kazu Hirata  <kazu@hxi.com>
13554
13555         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
13556         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
13557
13558 2001-07-09  Andreas Jaeger  <aj@suse.de>
13559
13560         * output.h: Add declaration of final_forward_branch_p.
13561
13562         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
13563
13564         * varray.c: Include errors.h for internal_error and trim_filename
13565         declarations.
13566
13567         * Makefile.in (varray.o): Add errors.h.
13568
13569 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
13570
13571         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
13572         * optabs.c (have_add2_insn): Check whether the add insn chosen
13573         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
13574         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
13575
13576 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
13577
13578         * Makefile.in (OBJS): Add ssa-ccp.o
13579         (ssa-ccp.o): Add dependencies.
13580         * toplev.c (DFI_ssa_ccp): New dump file enum.
13581         (dump_file): Add entry for dumping after SSA CCP.
13582         (flag_ssa_ccp): New flag variable.
13583         (f_options): Add -fssa-ccp.
13584         (rest_of_compilation): Run SSA CCP if requested.
13585         * timevar.def (TV_SSA_CCP): New timevar.
13586         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
13587         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
13588         Fix minor typo in SSA DCE documentation.
13589         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
13590         Add documentation for new dump option.  Renumber dump files
13591         appropriately.
13592
13593 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
13594
13595         * emit-rtl.c (gen_highpart_mode): New.
13596         * rtl.h (gen_highpart_mode): Declare.
13597         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
13598         operand can be VOIDmode constant.
13599
13600 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
13601
13602         * flow.c (redirect_edge_and_branch_force): New.
13603         (can_fallthru): Ensure that basic blocks are succeeding.
13604         (try_optimize_cfg): Do not delete basic block if it is the last one.
13605
13606         * flow.c (try_redirect_by_replacing_jump): Do not remove
13607         jumps with side effects, unlink chain on fallthru edge;
13608         set block for new jump instruction; avoid basic block to
13609         over by line number note.
13610
13611         * flow.c (try_simplify_condjump): Verify that the condjump
13612         is not always falling through.
13613
13614         Re-install patch:
13615         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
13616
13617         * flow.c (forwarder_block_p): Fix for fallthru blocks.
13618         (try_redirect_by_replacing_jump): Update properly the count
13619         and frequency information.
13620
13621 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13622
13623         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
13624         address that is a LO_SUM specially.
13625         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
13626
13627         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
13628
13629         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
13630         (operand_subword): Use them.
13631         (change_address_1): Renamed from change_address; new arg VALIDATE.
13632         * expr.h: Reflect above changes; change_address now macro.
13633         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
13634         making MEM.
13635         * cselib.c (add_mem_for_addr): Likewise.
13636         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
13637         * regmove.c (try_apply_stack_adjustment): Likewise.
13638         * reload.c (push_reload, make_memloc): Likewise.
13639         * reload1.c (eliminate_regs): Likewise.
13640         * simplify-rtx.c (simplify_replace_rtx): Likewise.
13641         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
13642         adjust_addess.
13643         * combine.c (make_extraction, simplify_shift_const): Likewise.
13644         (gen_lowpart_for_combine): Likewise.
13645         * cse.c (gen_lowpart_if_possible): Likewise.
13646         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
13647         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
13648         * optabs.c (gen_move_insn): Likewise.
13649         * reload1.c (alter_reg): Likewise.
13650         * simplify-rtx.c (simplify_subreg): Likewise.
13651         * stmt.c (expand_anon_union_decl): Likewise.
13652         * recog.c (validate_replace_rtx_1): Likewise.
13653         (expr.h): Include.
13654         * Makefile.in (recog.o): Add $(EXPR_H).
13655         * explow.c (stabilize): Call replace_equiv_address.
13656         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
13657         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
13658
13659 2001-07-03  Andrew Haley  <aph@redhat.com>
13660
13661         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
13662         the mode of the memory location.
13663
13664 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
13665
13666         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
13667
13668 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
13669
13670         * final.c (output_addr_const): Use target opening and
13671         closing parentheses.
13672         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
13673         defaults, add to TARGET_ASM_OUT.
13674         * target.h (struct gcc_target): Add open_paren and close_paren.
13675         * doc/md.texi: Update.
13676         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
13677         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
13678         TARGET_ASM_CLOSE_PAREN.
13679         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
13680         Override.
13681         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
13682         Override.
13683         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
13684         * config/a29k/a29k.h: Similarly.
13685         * config/alpha/alpha.h: Similarly.
13686         * config/arc/arc.h: Similarly.
13687         * config/arm/aof.h: Similarly.
13688         * config/arm/aout.h: Similarly.
13689         * config/avr/avr.h: Similarly.
13690         * config/c4x/c4x.h: Similarly.
13691         * config/clipper/clipper.h: Similarly.
13692         * config/convex/convex.h: Similarly.
13693         * config/d30v/d30v.h: Similarly.
13694         * config/dsp16xx/dsp16xx.h: Similarly.
13695         * config/elxsi/elxsi.h: Similarly.
13696         * config/fr30/fr30.h: Similarly.
13697         * config/h8300/h8300.h: Similarly.
13698         * config/i370/i370.h: Similarly.
13699         * config/i386/i386.h: Similarly.
13700         * config/i860/i860.h: Similarly.
13701         * config/i960/i960.h: Similarly.
13702         * config/ia64/ia64.h: Similarly.
13703         * config/m32r/m32r.h: Similarly.
13704         * config/m68hc11/m68hc11.h: Similarly.
13705         * config/m68k/m68k.h: Similarly.
13706         * config/m88k/m88k.h: Similarly.
13707         * config/mcore/mcore.h: Similarly.
13708         * config/mips/mips.h: Similarly.
13709         * config/mn10200/mn10200.h: Similarly.
13710         * config/mn10300/mn10300.h: Similarly.
13711         * config/ns32k/ns32k.h: Similarly.
13712         * config/pa/pa.h: Similarly.
13713         * config/pdp11/pdp11.h: Similarly.
13714         * config/pj/pj.h: Similarly.
13715         * config/romp/romp.h: Similarly.
13716         * config/rs6000/rs6000.h: Similarly.
13717         * config/sh/sh.h: Similarly.
13718         * config/sparc/sparc.h: Similarly.
13719         * config/v850/v850.h: Similarly.
13720         * config/vax/vax.h: Similarly.
13721         * config/we32k/we32k.h: Similarly.
13722
13723 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
13724
13725         * doc/c-tree.texi: Document representation of attributes.
13726
13727 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
13728
13729         * doc/tm.texi: Update some places for the rename of target to
13730         targetm.  Fix typo.
13731
13732 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
13733
13734         * target.h (struct gcc_target): Add insert_attributes.
13735         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
13736         (TARGET_INITIALIZER): Update.
13737         * tree.c, tree.h (default_insert_attributes): New function.
13738         Update comments on other default functions to refer to targetm,
13739         not target.
13740         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
13741         TARGET_INSERT_ATTRIBUTES.
13742         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
13743         * c-common.c (decl_attributes): Use targetm.insert_attributes.
13744         Don't use PRAGMA_INSERT_ATTRIBUTES.
13745         * Makefile.in (c-common.o): Depend on $(TARGET_H).
13746         * c-decl.c (start_decl, start_function): Don't call
13747         SET_DEFAULT_DECL_ATTRIBUTES.
13748         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
13749         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
13750         declare.
13751         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
13752         (c4x_check_attribute): Avoid modifying attribute list itself.
13753         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
13754         Make static.
13755         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
13756         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
13757         declare.
13758         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
13759         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
13760         Make static.
13761         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
13762         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
13763         declare.
13764         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
13765         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
13766         Adjust parameters.  Make static.
13767
13768 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
13769
13770         * c-common.c (decl_attributes): Only take a single attributes
13771         parameter.
13772         * c-common.h (decl_attributes): Update prototype.
13773         * c-decl.c (start_decl, start_function): Only take a single
13774         attributes parameter.  Update calls to decl_attributes.
13775         (finish_struct, finish_enum): Update calls to decl_attributes.
13776         (push_parm_decl): Expect unified list of attributes.  Update call
13777         to decl_attributes.
13778         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
13779         notype_nested_function, component_declarator,
13780         component_notype_declarator, label): Update calls to
13781         decl_attributes.
13782         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
13783         lists that are passed to push_parm_decl.
13784         * c-tree.h (start_function, start_decl): Update prototypes.
13785         * config/sh/sh-protos.h, config/sh/sh.c
13786         (sh_pragma_insert_attributes): Only take a single attributes
13787         parameter.
13788         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
13789         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
13790         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
13791         build_module_descriptor, generate_static_references,
13792         generate_strings, build_selector_translation_table,
13793         generate_descriptor_table, generate_protocols,
13794         generate_ivars_list, generate_dispatch_table,
13795         generate_protocol_list, generate_category,
13796         generate_shared_structures, really_start_method, add_objc_decls,
13797         generate_classref_translation_entry): Update calls to start_decl
13798         and start_function.
13799         (build_tmp_function_decl, start_method_def): Unify attribute lists
13800         that are passed to push_parm_decl.
13801
13802 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
13803
13804         * final.c (no_asm_to_stream): New.
13805         (final_scan_insn): Use target structures for prologue ends
13806         and epilogue starts.
13807         * output.h (no_asm_to_stream): New.
13808         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
13809         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
13810         (TARGET_ASM_OUT): Update.
13811         * target.h (struct gcc_target): New members function_end_prologue
13812         and function_begin_epilogue.
13813         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
13814         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
13815         * config/alpha/alpha.c (output_end_prologue): Rename to
13816         alpha_output_function_end_prologue.  Use in target struct
13817         and make static.
13818         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
13819         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
13820         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
13821         ia64_output_function_end_prologue.  Use in target struct
13822         and make static.
13823         (ia64_function_prologue, ia64_funciton_epilogue): Rename
13824         mistyped prototypes.
13825         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
13826         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
13827         Delete.
13828         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
13829         an use in target struct, make static.
13830         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
13831         Delete.
13832
13833 2001-07-08  Richard Henderson  <rth@redhat.com>
13834
13835         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
13836
13837 2001-07-08  Richard Henderson  <rth@redhat.com>
13838
13839         * config/i386/i386.md: Remove constraints strings from define_split
13840         and define_peephole2 patterns.
13841         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
13842         (eh_return): Use them.
13843
13844 2001-07-08  Richard Henderson  <rth@redhat.com>
13845
13846         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
13847         Document MD_FALLBACK_FRAME_STATE_FOR.
13848
13849 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
13850
13851         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
13852         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
13853         elimination.
13854         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
13855
13856 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
13857
13858         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
13859         of the label inside NAME as opposed to just the end of NAME.
13860
13861 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
13862
13863         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
13864         * config/alpha/alpha.c (alpha_init_machine_status,
13865         alpha_mark_machine_status, alpha_free_machine_status): Delete.
13866         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
13867         (vms_valid_decl_attribute_p): Make static, conditionally compile.
13868         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
13869
13870 2001-07-06  Stan Shebs  <shebs@apple.com>
13871
13872         * target.h (targetm): Rename global from "target", so as not to
13873         conflict with local variables.
13874         * c-decl.c: Ditto.
13875         * c-typeck.c: Ditto.
13876         * final.c: Ditto.
13877         * tree.c: Ditto.
13878         * cp/decl.c: Ditto.
13879         * cp/decl2.c: Ditto.
13880         * cp/typeck.c: Ditto.
13881         * 1750a/1750a.c: Ditto.
13882         * a29k/a29k.c: Ditto.
13883         * arc/arc.c: Ditto.
13884         * arm/arm.c: Ditto.
13885         * avr/avr.c: Ditto.
13886         * clipper/clipper.c: Ditto.
13887         * convex/convex.c: Ditto.
13888         * d30v/d30v.c: Ditto.
13889         * dsp16xx/dsp16xx.c: Ditto.
13890         * elxsi/elxsi.c: Ditto.
13891         * fr30/fr30.c: Ditto.
13892         * h8300/h8300.c: Ditto.
13893         * i370/i370.c: Ditto.
13894         * i386/i386.c: Ditto.
13895         * i860/i860.c: Ditto.
13896         * i960/i960.c: Ditto.
13897         * ia64/ia64.c: Ditto.
13898         * m32r/m32r.c: Ditto.
13899         * m68hc11/m68hc11.c: Ditto.
13900         * m68k/m68k.c: Ditto.
13901         * m88k/m88k.c: Ditto.
13902         * mips/mips.c: Ditto.
13903         * ns32k/ns32k.c: Ditto.
13904         * pa/pa.c: Ditto.
13905         * pdp11/pdp11.c: Ditto.
13906         * romp/romp.c: Ditto.
13907         * rs6000/rs6000.c: Ditto.
13908         * sh/sh.c: Ditto.
13909         * sparc/sparc.c: Ditto.
13910         * vax/vax.c: Ditto.
13911         * we32k/we32k.c: Ditto.
13912         * doc/tm.texi: Update the manual to match.
13913
13914 2001-07-06  Richard Henderson  <rth@redhat.com>
13915
13916         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
13917         DWARF2_UNWIND_INFO not just whether it is defined.
13918
13919 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
13920
13921         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
13922         call to simplify_binary_operation returns a new pattern.
13923
13924 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
13925
13926         * glimits.h (__SHRT_MAX__): New.
13927         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
13928         (SHRT_MAX): Define in terms of __SHRT_MAX__.
13929
13930 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
13931
13932         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
13933         avoid warnings.
13934
13935 2001-07-06  Richard Henderson  <rth@redhat.com>
13936
13937         * bitmap.c (bitmap_release_memory): Move adjacent to the
13938         allocation functions.
13939         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
13940         the implementation.  Binary search for the set bit.
13941         (bitmap_union_of_diff): Allocate the temporary on the stack
13942         instead of using xmalloc.
13943
13944 2001-07-06  Richard Henderson  <rth@redhat.com>
13945
13946         * genrecog.c (validate_pattern): Warn for constraints in
13947         define_{expand,split,peephole2}.  Remove strict_low_part
13948         before looking up match_dup.
13949
13950 2001-07-06  DJ Delorie  <dj@redhat.com>
13951
13952         * doc/gcc.texi (Makefile): Rename to be a more general purpose
13953         chapter about various build hints and history.  Add section
13954         talking about the various types of native and cross builds.
13955
13956 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
13957
13958         * Makefile.in (final.o): Depend on target.h.
13959         * final.c: Include target.h.
13960         (default_function_pro_epilogue): New.
13961         (final_start_function): Use target structure for function prologues.
13962         (final_end_function): Use target structure for function epilogues.
13963         * fold-const.c (real_hex_to_f): Constify s and p.
13964         * output.h (default_function_pro_epilogue): New.
13965         * real.h (real_hex_to_f): Update prototype.
13966         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
13967         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
13968         (TARGET_INITIALIZER): Update.
13969         * target.h (gcc_target): Add struct asm_out.
13970         * doc/tm.texi: Update.
13971
13972 config:
13973         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
13974         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
13975         in cpu/cpu.c, or rename old functions consistently.  Take
13976         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
13977         redundant macros and prototypes.  Make new functions static.
13978
13979         * 1750a/1750a.c: Similarly.
13980         * 1750a/1750a.h: Similarly.
13981         * a29k/a29k-protos.h: Similarly.
13982         * a29k/a29k.c: Similarly.
13983         * a29k/a29k.h: Similarly.
13984         * arc/arc-protos.h: Similarly.
13985         * arc/arc.c: Similarly.
13986         * arc/arc.h: Similarly.
13987         * arm/arm-protos.h: Similarly.
13988         * arm/arm.c: Similarly.
13989         * arm/arm.h: Similarly.
13990         * avr/avr-protos.h: Similarly.
13991         * avr/avr.c: Similarly.
13992         * avr/avr.h: Similarly.
13993         * clipper/clipper-protos.h: Similarly.
13994         * clipper/clipper.c: Similarly.
13995         * clipper/clipper.h: Similarly.
13996         * convex/convex.c: Similarly.
13997         * convex/convex.h: Similarly.
13998         * d30v/d30v-protos.h: Similarly.
13999         * d30v/d30v.c: Similarly.
14000         * d30v/d30v.h: Similarly.
14001         * d30v/d30v.md: Similarly.
14002         * dsp16xx/dsp16xx-protos.h: Similarly.
14003         * dsp16xx/dsp16xx.c: Similarly.
14004         * dsp16xx/dsp16xx.h: Similarly.
14005         * elxsi/elxsi.c: Similarly.
14006         * elxsi/elxsi.h: Similarly.
14007         * fr30/fr30.c: Similarly.
14008         * fr30/fr30.md: Similarly.
14009         * h8300/h8300-protos.h: Similarly.
14010         * h8300/h8300.c: Similarly.
14011         * h8300/h8300.h: Similarly.
14012         * i370/i370-protos.h: Similarly.
14013         * i370/i370.c: Similarly.
14014         * i370/i370.h: Similarly.
14015         * i386/i386.c: Similarly.
14016         * i386/osf1elf.h: Similarly.
14017         * i386/osfrose.h: Similarly.
14018         * i860/i860-protos.h: Similarly.
14019         * i860/i860.c: Similarly.
14020         * i860/i860.h: Similarly.
14021         * i960/i960-protos.h: Similarly.
14022         * i960/i960.c: Similarly.
14023         * i960/i960.h: Similarly.
14024         * ia64/ia64-protos.h: Similarly.
14025         * ia64/ia64.c: Similarly.
14026         * ia64/ia64.h: Similarly.
14027         * m32r/m32r-protos.h: Similarly.
14028         * m32r/m32r.c: Similarly.
14029         * m32r/m32r.h: Similarly.
14030         * m68hc11/m68hc11-protos.h: Similarly.
14031         * m68hc11/m68hc11.c: Similarly.
14032         * m68hc11/m68hc11.h: Similarly.
14033         * m68k/crds.h: Similarly.
14034         * m68k/dpx2.h: Similarly.
14035         * m68k/m68k-protos.h: Similarly.
14036         * m68k/m68k.c: Similarly.
14037         * m68k/m68k.h: Similarly.
14038         * m68k/news.h: Similarly.
14039         * m88k/m88k-protos.h: Similarly.
14040         * m88k/m88k.c: Similarly.
14041         * m88k/m88k.h: Similarly.
14042         * mips/mips-protos.h: Similarly.
14043         * mips/mips.c: Similarly.
14044         * mips/mips.h: Similarly.
14045         * ns32k/merlin.h: Similarly.
14046         * ns32k/ns32k.c: Similarly.
14047         * ns32k/ns32k.h: Similarly.
14048         * ns32k/tek6000.h: Similarly.
14049         * pa/pa-protos.h: Similarly.
14050         * pa/pa.c: Similarly.
14051         * pa/pa.h: Similarly.
14052         * pdp11/2bsd.h: Similarly.
14053         * pdp11/pdp11-protos.h: Similarly.
14054         * pdp11/pdp11.c: Similarly.
14055         * pdp11/pdp11.h: Similarly.
14056         * romp/romp-protos.h: Similarly.
14057         * romp/romp.c: Similarly.
14058         * romp/romp.h: Similarly.
14059         * rs6000/rs6000-protos.h: Similarly.
14060         * rs6000/rs6000.c: Similarly.
14061         * rs6000/rs6000.h: Similarly.
14062         * rs6000/sysv4.h: Similarly.
14063         * sh/sh-protos.h: Similarly.
14064         * sh/sh.c: Similarly.
14065         * sh/sh.h: Similarly.
14066         * sparc/sparc-protos.h: Similarly.
14067         * sparc/sparc.c: Similarly.
14068         * sparc/sparc.h: Similarly.
14069         * vax/vax.c: Similarly.
14070         * vax/vax.h: Similarly.
14071         * vax/vms.h: Similarly.
14072         * we32k/we32k.c: Similarly.
14073         * we32k/we32k.h: Similarly.
14074
14075 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
14076
14077         * basic-block.h (first_insn_after_basic_block_note): Declare.
14078         * flow.c (first_insn_after_basic_block_note): Define.  Moved
14079         from...
14080         * ssa.c (first_insn_after_basic_block_note): Remove.
14081         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
14082         necessary.
14083         (ssa_eliminate_dead_code): Properly update the CFG and PHI
14084         nodes when we find a dead conditional branch.  Insert BARRIERs
14085         after any blocks with no successors, but which do not have
14086         any BARRIERs.
14087
14088 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
14089
14090         * varray.c (varray_check_failed): Use internal_error.
14091
14092 2001-07-05  Andrew Haley  <aph@redhat.com>
14093
14094         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
14095         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
14096         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
14097
14098 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
14099
14100         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
14101         reference if the target constant is also a SYMBOL_REF.
14102
14103 2001-07-05  Eric Christopher  <echristo@redhat.com>
14104
14105         * config/mips/mips.h (MASK_MIPS3900): Remove.
14106         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
14107         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
14108         (TARGET_MIPS3900): Change to use mips_arch.
14109         (TARGET_MIPS4000): New.
14110         (TARGET_MIPS4100): New.
14111         (TARGET_MIPS4300): New.
14112         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
14113         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
14114         for -mipsX.
14115         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
14116         (ISA_HAS_BRANCHLIKELY): To here.
14117         (CC1_CPU_SPEC):  New.
14118         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
14119         (mips_arch_string): Declare.
14120         (mips_arch): Declare.
14121         (TARGET_OPTIONS): Add -march and -mtune.
14122
14123         * config/mips/mips.c (mips_arch_string): New.
14124         (mips_arch): New.
14125         (override_options): Handle -march for codegen and -mtune
14126         for scheduling. Use mips_arch. Move tx39 target default here.
14127         (mips_parse_cpu): Move error message to override_options.
14128
14129         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
14130
14131         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
14132
14133         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
14134         (MIPS Options): Ditto.  Change mcpu entry to historical text.
14135
14136 2001-07-05  H.J. Lu  (hjl@gnu.org)
14137
14138         * config/mips/mips.c (mips_parse_cpu): New function to parse
14139         -march=*/-mcpu=*.
14140
14141 2001-07-05  Jim Wilson  <wilson@redhat.com>
14142
14143         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
14144         * config/ia64/t-ia64: Likewise.
14145         (LIB1ASMFUNCS): Update comment.
14146
14147 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
14148
14149         * doc/install.texi (Install GCC: Binaries): Fix typo.
14150
14151 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14152
14153         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
14154         reference using the stack pointer, adjust it since we push Y
14155         temporarily.
14156         ("*ashrsi3"): Likewise.
14157         ("*lshrsi3"): Likewise.
14158
14159 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14160
14161         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
14162         when -fomit-frame-pointer is used.
14163
14164 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
14165
14166         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
14167         (try_redirect_by_replacing_jump): Reverse updating properly the
14168         count and frequency information.  Reverse removing cc0 setter.
14169         (forwarder_block_p): Reverse fixing for fallthru blocks.
14170
14171 2001-07-05  DJ Delorie  <dj@redhat.com>
14172
14173         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
14174         (translate_options): If the above is defined, use it to map
14175         given options to new options.
14176         * doc/tm.texi: Document it.
14177
14178 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
14179             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14180
14181         * doc/invoke.texi (Optimize Options): Document that -fgcse may
14182         cause programs using computed gotos to run more slowly.
14183
14184 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14185
14186         * doc/install.texi (Specific): Markup, spelling and typo fixes.
14187         Fixed sorting.
14188         Consistently require binutils 2.11.2, not prereleases.
14189         (Specific, decstation-*): Canonicalize as mips-dec-*.
14190         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
14191         always necessary.
14192         (Specific, m68k-altos): Removed reference to README.altos, deleted.
14193         (Specific, mips-*): Reword MIPS C compiler requirements.
14194         (Specific, powerpc*-*-*): New, mention --with-cpu once.
14195         (Specific, sunv5): Removed, obsolete.
14196
14197 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
14198
14199         * dwarf2out.c (output_loc_list): Use an all ones mask for
14200         .text asm output and don't rely on long long
14201         literals. Reformat some long lines.
14202
14203 2001-07-05  Andreas Jaeger  <aj@suse.de>
14204
14205         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
14206         section.
14207
14208 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
14209
14210         * dwarf2out.c (dwarf2out_define): Update comment.
14211         (dwarf2out_undef): Ditto.
14212         (dwarf2out_start_source_file): Ditto.
14213         (dwarf2out_end_source_file): Ditto.
14214         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
14215         since we never call the start/end debug hook for the primary file.
14216
14217 2001-07-04  Kazu Hirata  <kazu@hxi.com>
14218
14219         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
14220         from shll.
14221
14222 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
14223
14224         * cppinit.c (remove_dup_dirs): Inform if a system include
14225         directory is being reordered.
14226         * doc/invoke.texi (Directory Options): GCC warns if you hide a
14227         system include.
14228         * doc/cpp.texi (Search Paths): Likewise.
14229         * doc/gcc.texi (Interoperation): Remove information about
14230         -I/usr/include.
14231
14232 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
14233
14234         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
14235         (VARRAY_TOP_CHAR_PTR): Likewise.
14236
14237 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14238
14239         * gcc.c (process_command): Don't assign elements of a const char*.
14240
14241 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14242
14243         * emit-rtl.c (change_address): Don't abort if invalid address while
14244         reload is in progress.
14245
14246 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
14247
14248         * c-lex.c (cb_file_change): Pass line number to
14249         debug_start_source_file.
14250         (cb_undefine): Pass correct line number to debug_undef.
14251
14252         * toplev.c (debug_start_source_file): Add line number to
14253         parameters. Pass it along to dwarf2out_start_source_file.
14254         (decode_g_option): Stop resetting debug level back to normal when
14255         we change debug formats, unless the current level is
14256         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
14257         3).
14258
14259         * toplev.h (debug_start_source_file): Add line number to
14260         parameters.
14261
14262         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
14263         parameters.
14264
14265         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
14266         parameters.
14267         Output debug_macinfo data for starting file if requested.
14268         (dwarf2out_end_source_file): Output debug_macinfo data for ending
14269         file if requested.
14270         (dwarf2out_define): Output debug_macinfo data for defining a macro
14271         if requested.
14272         (dwarf2out_undef): Output debug_macinfo data for undefining a
14273         macro if requested.
14274         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
14275         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
14276         (macinfo_section_label): New. DWARF2 macro info section label.
14277         (dwarf2out_init): If we want macro info, output the start label
14278         for the section.
14279         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
14280         attribute to the compilation unit die pointing to the macro info.
14281
14282 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
14283
14284         * dwarf2out.c (new_loc_list): Move to inside #ifdef
14285         DWARF2_DEBUGGING_INFO.
14286         (add_loc_descr_to_loc_list): Ditto.
14287         (output_loc_list): Ditto.
14288         Also, fix thinko in curr not being initialized.
14289         (gen_internal_sym): Ditto.
14290
14291 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14292
14293         * emit-rtl.c (replace_equiv_address): New function.
14294         * expr.h (replace_equiv_address): New declaration.
14295         * explow.c (validize_mem): Call it instead of change_address and
14296         also call if -fforce-addr and address is constant.
14297         * expr.c: Replace more calls to change_address with adjust_address
14298         and/or replace_equiv_address or to validize_mem.
14299         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
14300         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
14301         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
14302         * config/i370/i370.md, config/i860/i860.md: Likewise.
14303         * config/i960/i960.md, config/mips/mips.c: Likewise.
14304         * config/mips/mips.md, config/pa/pa.md: Likewise.
14305         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
14306         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
14307
14308 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14309
14310         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
14311
14312         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
14313         function.
14314
14315 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
14316
14317         * doc/include: New directory.
14318         * doc/fdl.texi: Move to doc/include/fdl.texi.
14319         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
14320         * doc/include/funding.texi, doc/include/gpl.texi: New files.
14321         * doc/gcc.texi: Use funding.texi and gpl.texi.
14322         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
14323         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
14324         Update dependencies and use -I $(docdir)/include.
14325
14326 2001-07-04  Anthony Green  <green@redhat.com>
14327
14328         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
14329
14330 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14331
14332         * doc/install.texi (sparc64-*-*): Remove garbage.
14333
14334 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
14335
14336         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
14337         Fix typo in last change to use adjust_address.
14338
14339 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14340
14341         * doc/install.texi (Specific): Update information for *-*-solaris*.
14342
14343 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14344
14345         * explow.c (plus_constant_wide): Reinitialize Y for restart.
14346
14347 2001-07-03  Stan Shebs  <shebs@apple.com>
14348
14349         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
14350         case for flag_no_mach_text_sections.
14351         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
14352         * config/darwin.c (flag_no_mach_text_sections): Remove.
14353         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
14354
14355 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14356
14357         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
14358         and avoid checking for constant as first operand.
14359         * recog.c (find_constant_term_loc): No longer static.
14360         (adj_offettable_operand): Delete.
14361         * rtl.h (adj_offsettable_operand): Delete declaration.
14362         (find_constant_term): Add declaration.
14363         * caller-save.c: Replace calls to adj_offsettable_operand with calls
14364         to adjust_address.
14365         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
14366         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
14367         * config/i386/i386.c, config/i386/i386.md: Likewise.
14368         * config/i860/i860.c, config/i960/i960.c: Likewise.
14369         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
14370         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
14371         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
14372         * config/mips/mips.c, config/mips/mips.md: Likewise.
14373         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
14374         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
14375         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
14376         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
14377         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
14378         * config/ns32k/ns32k.md: Likewise.
14379
14380 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
14381
14382         * rtl.c (copy_rtx): Handle 'T' format letter.
14383         * gensupport.c (collect_insn_data): Likewise.
14384         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
14385
14386 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
14387
14388         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
14389         -B option.  Use 'dir' not 'foo' as example directory name.
14390
14391 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14392
14393         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
14394         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
14395
14396 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
14397
14398         * doc/cppinternals.texi: Improve formatting and logical markup.
14399
14400 2001-07-03  Andreas Jaeger  <aj@suse.de>
14401
14402         * Makefile.in (insn-recog.o): Add dependency on reload.h.
14403
14404         * genrecog.c (write_header): Include reload.h for prototypes in
14405         insn-recog.c.
14406
14407 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
14408
14409 config:
14410         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
14411         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
14412         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
14413         i386_pe_valid_type_attribute_p): Add.
14414         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
14415         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
14416
14417 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14418
14419         * explow.c (plus_constant_wide, case LO_SUM): New case.
14420         (plus_constant_for_output_wide): Delete.
14421         * rtl.h (plus_constant_for_output): Delete.
14422         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
14423         instead of plus_constant_for_output.
14424         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
14425         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
14426         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
14427         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
14428         * config/sparc/sparc.md: Likewise.
14429         Convert some change_address calls to adjust_address.
14430
14431 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
14432
14433         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
14434         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
14435         documentation of -std and -Wwrite-strings.
14436
14437 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
14438
14439         * cse.c (canon_hash): Don't register registers in very small
14440         register classes, as extending their lifetime might cause
14441         reload to fail.
14442
14443 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
14444
14445         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
14446
14447         * flow.c (forwarder_block_p): Fix for fallthru blocks.
14448         (try_redirect_by_replacing_jump): Update properly the count
14449         and frequency information.
14450
14451 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
14452
14453         * toplev.c (dump_file_index): Move SSA dumps just after first
14454         jump dump.
14455         (dump_file): Corresponding changes.
14456         (rest_of_compilation): Move SSA path to just after the first
14457         jump pass.
14458         * doc/gcc.texi (Passes): Update due to movement of SSA path.
14459         * doc/invoke.texi: Update dump file #s as they were completely
14460         out of date with reality.
14461
14462 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
14463
14464         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
14465
14466         * expr.c (emit_move_insn_1): Deal with non-default
14467         STACK_PUSH_CODE.
14468
14469         * expr.c (emit_single_push_insn): Fix warning.
14470
14471 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
14472
14473         * expr.c (emit_move_insn_1): Avoid modifying
14474         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
14475
14476 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14477
14478         * emit-rtl.c (adjust_address): New function.
14479         * expr.h (adjust_address): Add declaration.
14480         * builtins.c: Replace some calls to change_address with calls to it
14481         or to validize_mem.
14482         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
14483         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
14484         * config/arm/arm.c, config/convex/convex.c: Likewise.
14485         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
14486         * config/i386/i386.c, config/i386/i386.md: Likewise.
14487         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
14488         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
14489         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
14490         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
14491         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
14492
14493 2001-07-02  Jim Wilson  <wilson@redhat.com>
14494
14495         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
14496
14497 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
14498
14499         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
14500         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
14501
14502 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
14503
14504         * cppinit.c (lang_defaults): New table.
14505         (set_lang): Just read from lang_defaults into the live options
14506         structure.
14507
14508 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
14509
14510         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
14511         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
14512         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
14513
14514 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14515
14516         * doc/install.texi: Various spelling and markup fixes.
14517         (Installing GCC): Component specific installation instructions are
14518         gone.
14519         Fix reference.
14520         Warn about removing old install dir in the presence of shared libs.
14521         (Configuration): Invoke with options target to match configure
14522         --help.
14523         Consistently refer to gas, gld pathnames.
14524         Invert --enable-multilib documentation.
14525         Remove references to old compiler versions.
14526
14527 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14528
14529         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
14530
14531 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14532
14533         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
14534         section.
14535         (Specific, mips*-sgi-irix5): Note IDO download.
14536         Reworded MIPS C hints.
14537         Use GNU as instead of GAS.
14538         Markup fixes.
14539         Removed SGI Freeware reference, IRIX 6 only.
14540         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
14541         Note N64 library requirement/workaround.
14542         Update O32 hints.
14543         Complete list of structure passing bug victims.
14544
14545 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14546
14547         * doc/install.texi: Remove CVS Id.
14548
14549 2001-07-02  Andreas Jaeger  <aj@suse.de>
14550
14551         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
14552         (find_inherently_necessary): Remove unused variable.
14553
14554 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
14555
14556         * c-common.h (TDI_inlined): New ast dump phase.
14557         (dump_flag_name): New function.
14558         * c-dump.c (dump_files): Add inlined phase.
14559         (dump_flag_name): Define.
14560         * doc/invoke.texi (-fdump-ast-inlined): Document.
14561
14562 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14563
14564         * stor-layout.c (layout_decl): Revert change to handling of alignment
14565         in packed types.
14566
14567 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14568
14569         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
14570         for FIELD_DECL.
14571
14572 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
14573
14574         * doc/tm.texi (FUNCTION_ARG): Document that the last call
14575         is special.
14576
14577 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
14578
14579         * tlink.c (recompile_files): Remove COMPILER_PATH and
14580         LIBRARY_PATH from the environment.
14581
14582 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
14583
14584         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
14585         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
14586         enumerators.
14587         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
14588
14589         * c-parse.in (OBJC_STRING): Kill.
14590         (objc_string): Decompose to [objc_string] '@' STRING.
14591         (reswords): Take the leading '@' off all the Objective C keywords.
14592         (objc_rid_sans_at): Kill.
14593         (init_reswords): Don't initialize it.
14594         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
14595         (_yylex): Kill reconsider label.  Look ahead one token after
14596         an '@'; if we get an identifier, check whether it's an
14597         Objective C @-keyword.  If so, return the keyword.  Otherwise,
14598         put back the token and return the '@' as a terminal.
14599
14600         * cpplib.c (lex_macro_node): Remove unnecessary check for
14601         leading '@' on identifier.  Clarify control flow and commentary.
14602
14603 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14604
14605         * cse.c (new_label_ref): Variable deleted.
14606         (insert): Remove set of new_label_ref.
14607         (check_for_label_ref): New function.
14608         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
14609
14610 See ChangeLog.5 for earlier changes.