OSDN Git Service

* doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
2
3         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
4         Use "invalid" instead of "illegal".  Use @r in comments in
5         examples.
6
7 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
8
9         * c-decl.c (pushdecl): Move block inside if conditional to remove
10         possibility of a segfault.  Lookup block-level extern
11         variables in enclosing scopes correctly.
12
13         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
14
15 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
16
17         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
18         SUBREG so we avoid SUBREGing memory.
19
20         * expmed.c (store_bit_field): Same.
21
22 2001-11-02  DJ Delorie  <dj@redhat.com>
23
24         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
25         using FP registers for DImode mem-mem moves is acceptable.
26
27 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
28
29         * builtins.c (apply_args_size): Handle vector arguments.
30         (apply_result_size): Same.
31
32         * machmode.def: Set WIDER mode field for all vector entries.
33
34 2001-11-02  Graham Stott  <grahams@redhat.com>
35
36         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
37
38 2001-11-01  Eric Christopher  <echristo@redhat.com>
39
40         * config.gcc: Revert part of earlier patch.
41         * config/mips/linux.h: Ditto.
42         * df.c: Include tm_p.h to avoid warnings.
43         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
44         #if/#endif.
45         * config/mips/mips.c: Define mips_abi regardless.
46         (mips_output_function_prologues): Add long casts for .frame
47         output.
48         (override_options): Allow use of ABI_32.
49
50 2001-11-01  Kazu Hirata  <kazu@hxi.com>
51
52         * config/m68hc11/m68hc11.c: Fix comment formatting.
53         * config/m68hc11/m68hc11.h: Likewise.
54         * config/m68hc11/m68hc11.md: Likewise.
55
56 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
57
58         * c-typeck.c (default_conversion): Retain the original expression
59         codes.
60         * gcc.dg/Wparentheses.c: New tests.
61
62 2001-11-01  David S. Miller  <davem@redhat.com>
63
64         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
65         64-bit Sparc description more in line with reality.
66
67 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
68
69         * Makefile.in (GCOV_OBJS): Add version.o.
70         * gcov.c: Include "version.h" and <getopt.h>.
71         (gcov_version_string): Remove.
72         (print_usage): Take a parameter to determine whether this is a
73         call from --help or an error message.  Give fuller output that
74         follows the GNU Coding Standards for --help.
75         (print_version): New function.
76         (options): New.
77         (process_args): Use getopt_long.  Support long options.  Follow
78         GNU Coding Standards for --help and --version.
79         * doc/gcov.texi: Document long options.
80         Addresses part of PR other/704.
81
82 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
83
84         * pa.c (output_move_double): Fix typo in double load.
85
86 2001-11-01  Kazu Hirata  <kazu@hxi.com>
87
88         * config/h8300/h8300.c (h8300_encode_label): Compute a string
89         before passing it to ggc_alloc_string.
90
91 2001-11-01  Kazu Hirata  <kazu@hxi.com>
92
93         * config/m68k/3b1.h: Fix comment formatting.
94         * config/m68k/3b1g.h: Likewise.
95         * config/m68k/a-ux.h: Likewise.
96         * config/m68k/amix.h: Likewise.
97         * config/m68k/apollo68.h: Likewise.
98         * config/m68k/atari.h: Likewise.
99         * config/m68k/aux-exit.c: Likewise.
100         * config/m68k/ccur-GAS.h: Likewise.
101         * config/m68k/crds.h: Likewise.
102         * config/m68k/dpx2.h: Likewise.
103         * config/m68k/dpx2g.h: Likewise.
104         * config/m68k/hp310.h: Likewise.
105         * config/m68k/hp320.h: Likewise.
106         * config/m68k/isi.h: Likewise.
107         * config/m68k/linux.h: Likewise.
108         * config/m68k/lynx.h: Likewise.
109         * config/m68k/m68k-psos.h: Likewise.
110         * config/m68k/m68k.c: Likewise.
111         * config/m68k/m68k.h: Likewise.
112         * config/m68k/m68k.md: Likewise.
113         * config/m68k/m68kelf.h: Likewise.
114         * config/m68k/m68kv4.h: Likewise.
115         * config/m68k/mot3300.h: Likewise.
116         * config/m68k/news.h: Likewise.
117         * config/m68k/next.h: Likewise.
118         * config/m68k/pbb.h: Likewise.
119         * config/m68k/plexus.h: Likewise.
120         * config/m68k/sgs.h: Likewise.
121         * config/m68k/sun3.h: Likewise.
122         * config/m68k/tower.h: Likewise.
123         * config/m68k/vxm68k.h: Likewise.
124
125 2001-10-31  DJ Delorie  <dj@redhat.com>
126
127         * config/mips/mips.h (mips_cache_flush_func): Prototype.
128         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
129         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
130         * config/mips/mips.c (mips_cache_flush_func): New.
131         * doc/invoke.texi: Document the new options.
132
133 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
134
135         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
136         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
137
138         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
139
140         * config/cris/cris.c: Include output.h after tree.h but before
141         target.h.
142
143 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
144
145         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
146         (INTL_SUBDIRS): Just intl.
147         (.SUFFIXES): Add .gmo .po .pox.
148         (native): Also depend on build-@POSUB@.
149         (intl.all, intl.install): Depend on config.h and things it includes.
150         (po-generated): New target; depend on c-parse.c and tradcif.c.
151         (install-normal): Also depend on install-@POSUB@.
152         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
153         (build-, install-, build-po, update-po, install-po,
154         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
155
156         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
157         * configure.in: Don't munge XGETTEXT.  Don't generate
158         po/Makefile.in.
159         * configure: Regenerate.
160
161         * exgettext: Delete.
162         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
163         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
164
165 2001-10-31  Kazu Hirata  <kazu@hxi.com>
166
167         * config/h8300/h8300.md (two anonymous patterns): New.
168
169 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
170
171         * tree.h (tree_index): Add support for V16QI and V8HI.
172         (V8HI_type_node): New.
173         (V16QI_type_node): New.
174
175         * tree.c (build_common_tree_nodes_2): Same.
176
177         * c-common.c (type_for_mode): Same.
178
179 2001-10-31  Kazu Hirata  <kazu@hxi.com>
180
181         * config/i386/att.h: Fix comment formatting.
182         * config/i386/beos-elf.h: Likewise.
183         * config/i386/bsd.h: Likewise.
184         * config/i386/bsd386.h: Likewise.
185         * config/i386/crtdll.h: Likewise.
186         * config/i386/cygwin.asm: Likewise.
187         * config/i386/cygwin.h: Likewise.
188         * config/i386/djgpp.h: Likewise.
189         * config/i386/freebsd-aout.h: Likewise.
190         * config/i386/freebsd.h: Likewise.
191         * config/i386/gas.h: Likewise.
192         * config/i386/i386-interix.h: Likewise.
193         * config/i386/i386-protos.h: Likewise.
194         * config/i386/i386.c: Likewise.
195         * config/i386/i386.h: Likewise.
196         * config/i386/i386.md: Likewise.
197         * config/i386/i386elf.h: Likewise.
198         * config/i386/interix.c: Likewise.
199         * config/i386/isc.h: Likewise.
200         * config/i386/isccoff.h: Likewise.
201         * config/i386/iscdbx.h: Likewise.
202         * config/i386/linux.h: Likewise.
203         * config/i386/lynx.h: Likewise.
204         * config/i386/mingw32.h: Likewise.
205         * config/i386/netbsd-elf.h: Likewise.
206         * config/i386/next.h: Likewise.
207         * config/i386/osf1elf.h: Likewise.
208         * config/i386/osfrose.h: Likewise.
209         * config/i386/sco5.h: Likewise.
210         * config/i386/seq-gas.h: Likewise.
211         * config/i386/seq-sysv3.h: Likewise.
212         * config/i386/sequent.h: Likewise.
213         * config/i386/sol2.h: Likewise.
214         * config/i386/sun386.h: Likewise.
215         * config/i386/uwin.asm: Likewise.
216         * config/i386/uwin.h: Likewise.
217         * config/i386/vxi386.h: Likewise.
218         * config/i386/win32.h: Likewise.
219         * config/i386/winnt.c: Likewise.
220         * config/i386/xm-cygwin.h: Likewise.
221         * config/i386/xm-mingw32.h: Likewise.
222
223 2001-10-31  Kazu Hirata  <kazu@hxi.com>
224
225         * builtins.def: Fix comment typos.
226         * config/alpha.c: Likewise.
227         * config/arm/arm.c: Likewise.
228         * config/avr/avr.h: Likewise.
229         * config/d30v/d30v.c: Likewise.
230         * config/d30v/d30v.h: Likewise.
231         * config/d30v/d30v.md: Likewise.
232         * config/dsp16xx/dsp16xx.c: Likewise.
233         * config/fr30/fr30.c: Likewise.
234         * config/fr30/fr30.md: Likewise.
235         * config/i386/i386.c: Likewise.
236         * config/i860/i860.c: Likewise.
237         * config/i960/i960.c: Likewise.
238         * config/ia64/ia64.c: Likewise.
239         * config/mips/mips.c: Likewise.
240         * config/pa/pa.c: Likewise.
241         * config/rs6000/rs6000.c: Likewise.
242         * config/s390/s390.c: Likewise.
243         * config/sparc/sparc.c: Likewise.
244
245 2001-10-30  Kazu Hirata  <kazu@hxi.com>
246
247         * config/mips/elf.h: Fix comment formatting.
248         * config/mips/elf64.h: Likewise.
249         * config/mips/iris5.h: Likewise.
250         * config/mips/iris5gas.h: Likewise.
251         * config/mips/iris6.h: Likewise.
252         * config/mips/isa3264.h: Likewise.
253         * config/mips/linux.h: Likewise.
254         * config/mips/mips.c: Likewise.
255         * config/mips/mips.h: Likewise.
256         * config/mips/mips.md: Likewise.
257         * config/mips/mips16.S: Likewise.
258         * config/mips/netbsd.h: Likewise.
259         * config/mips/osfrose.h: Likewise.
260         * config/mips/r3900.h: Likewise.
261         * config/mips/sni-svr4.h: Likewise.
262         * config/mips/svr4-t.h: Likewise.
263         * config/mips/ultrix.h: Likewise.
264
265 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
266
267         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
268         when we update head->current.
269
270 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
271
272         * tree.c (id_string_size): Remove.
273         (dump_tree_statistics): Update.
274         * toplev.c (compile_file): If dumping stats, dump tree stats too.
275
276 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
277
278         * sched-rgn.c (schedule_insns): Fix comment.
279
280 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
281
282         * configure.in: Correct previous change: don't assume that
283         gas's version number _isn't_ the last thing on the line, or
284         isn't the only number on the line, either.
285         * configure: Regenerate.
286
287 2001-10-30  Kazu Hirata  <kazu@hxi.com>
288
289         * cfgcleanup.c: Fix a comment typo.
290
291 2001-10-30  Kazu Hirata  <kazu@hxi.com>
292
293         * alias.c: Fix comment formatting.
294         * recog.c: Likewise.
295         * config/cris/cris.c: Likewise.
296         * config/cris/cris.h: Likewise.
297         * config/i960/i960.c: Likewise.
298         * config/i960/i960.h: Likewise.
299
300 2001-10-30  Kazu Hirata  <kazu@hxi.com>
301
302         * config/arm/arm.c: Fix a comment typo.
303         * config/arm/arm.h: Likewise.
304         * config/ia64/ia64.c: Likewise.
305
306 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
307
308         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
309         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
310         * rtl.h (set_unique_reg_note): Change return value.
311         * gcse.c (try_replace_reg): Use set_unique_reg_note.
312         * cse.c (cse_insn): Likewise.
313         * expr.c (emit_move_insn): Likewise.
314         * explow.c (force_reg): Likewise.
315         * local-alloc (update_equiv_regs): Likewise.
316         * loop.c (move_moveables, load_mems): Likewise.
317         * reload (find_reloads): Likewise.
318
319 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
320
321         Localization fixes.
322         * c-decl.c (parmlist_tags_warning, start_struct,
323         check_for_loop_decls): Separate messages for struct, union and
324         enum cases to allow for languages in which they have different
325         genders.
326         * c-format.c (scanf_flag_specs): Separate short and long name of
327         the assignment suppression feature.
328         (check_format_types): Localize "pointer" and "different types"
329         strings.
330         * c-lex.c (lex_number): Localize "an unsigned long int" and
331         related strings.
332         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
333         warning message.
334         * c-typeck.c (build_unary_up): Separate messages for increment and
335         decrement cases to allow for languages in which they use different
336         articles.  Localize the strings "increment" and "decrement" in one
337         case.
338
339 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
340
341         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
342         when no changes has been made.
343
344         * gcse.c (reg_set_bitmap): Turn into reg_set.
345         (modify_mem_list_set, canon_modify_mem_list_set)
346         (clear_modify_mem_tables, free_modify_mem_tables): New.
347         (gcse_main); Use free_modify_mem_tables.
348         (free_gcse_mem): Likewise; free the bitmaps.
349         (alloc_gcse_main): Initialize the bitmaps.
350         (canon_list_insert): Set canon_modify_mem_list_set.
351         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
352         (compute_hash_table): Use clear_modify_mem_tables.
353         (reset_opr_set_tables): Likewise.
354         (oprs_not_set_p): reg_set_bitmap is regset.
355         (mark_set, mark_clobber): Likewise.
356
357         * df.h (DF_EQUIV_NOTES): New constant.
358         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
359         when asked for.
360
361         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
362         (init_regions, schedule_insns): Conditionalize the checking
363         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
364
365 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
366
367         * i386.md (movti_rex64 splitter): Fix condition.
368
369 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
370
371         * configure.in: Do not assume that gas's version number is the
372         last thing on the first line of as --version output.
373         * configure: Regenerate.
374
375         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
376         MT_WARNING, MT_ERROR, MT_FATAL.
377         (main): Call gcc_init_libintl.
378         (v_message): Call gettext on msgid and "warning: "
379         * tradcif.y: Include intl.h.
380         (yyerror): Make parameter definition consistent with
381         prototype.  Call gettext on msgid argument.
382
383 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
384
385         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
386         warnings.
387
388         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
389
390 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
391
392         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
393         before referencing it.
394
395 2001-10-26  DJ Delorie  <dj@redhat.com>
396
397         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
398         override -G, and force -G0.
399
400 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
401
402         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
403         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
404         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
405         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
406
407         * loop.h (struct induction): Rename ext_dependant to
408         ext_dependent.
409         * loop.c: Change all uses.
410         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
411         All callers changed.
412         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
413
414 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
415
416         * c-parse.in (expr_no_commas, primary), c-typeck.c
417         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
418
419 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
420
421         Undo assemble_name change in earlier patch.
422
423 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
424
425         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
426         determining the type of the receiver, do not check that TREE_CODE
427         of receiver is CALL_EXPR before calling receiver_is_class_object().
428         (receiver_is_class_object): For the GNU runtime: recognize
429         the case that the receiver is self in a class method context.
430         Check that TREE_CODE of receiver is CALL_EXPR when checking that
431         the receiver is a call to objc_get_class.
432
433 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
434
435         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
436
437 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
438
439         * Makefile.in (OBJS): Put all files in alphabetical order.
440
441         * dwarf2out.c (add_const_value_attribute): Fix error in last
442         change.
443
444 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
445
446         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
447         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
448         fix warning.
449         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
450         (life_analysis): call purge_all_dead_edges after deleting noops.
451         (delete_noop_move): Do not purge CFG.
452         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
453
454 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
455
456         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
457         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
458         (ASM_GLOBALIZE_LABEL): Use assemble_name.
459         (ASM_OUTPUT_COMMON): Likewise.
460         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
461         (rs6000_output_function_epilogue): Likewise.
462         (output_mi_thunk): Fix typo.
463         (rs6000_output_symbol_ref): Use assemble_name.
464         (output_toc): Likewise.
465         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
466         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
467         assemble_name calls STRIP_NAME_ENCODING.
468         (ASM_OUTPUT_LABEL): Use assemble_name.
469         (ASM_GLOBALIZE_LABEL): Likewise.
470         (ASM_DECLARE_FUNCTION_NAME): Likewise.
471         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
472         (ASM_OUTPUT_LOCAL): Likewise.
473
474 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
475
476         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
477         (expand_builtin_apply, expand_builtin_return): Likewise.
478         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
479
480 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
481
482         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
483         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
484         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
485         configure, configure.in, except.c, except.h, flow.c, function.c,
486         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
487         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
488         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
489         unroll.c: Fix spelling errors.
490
491         * doc/extend.texi, doc/invoke.texi: Fix spelling.
492
493         * doc/gcc.texi: Document use of "dependent" and American spelling.
494
495 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
496
497         * expr.c (emit_group_load): Support CONCATs by storing them to memory
498         and reloading.
499
500 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
501
502         * expr.c (store_constructor_field): Only call adjust_address on MEM.
503
504 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
505
506         * genrecog.c (write_switch):  Output if before switch for
507         DT_elt_zero_wide_safe.
508
509 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
510
511         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
512         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
513         (FUNCTION_PROFILER): Const-ify.
514         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
515         (eliminate_constant_term, assemble_name, output_addr_const):
516         Remove declarations.
517         (ptr_half_pic_address_p, half_pic_hash): Prototype.
518         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
519         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
520         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
521         (half_pic_declare, half_pic_external): Const-ify.
522         * toplev.c: Include "halfpic.h".
523
524 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
525
526         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
527         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
528         config/i386/i386.c, config/i386/i386-interix.h,
529         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
530         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
531         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
532         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
533         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
534         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
535         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
536         spelling errors.
537
538         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
539         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
540         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
541         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
542         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
543         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
544         system.h, toplev.c: Fix spelling errors.
545
546 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
547
548         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
549
550         * dwarf2out.c (reg_number): Abort if pseudo.
551         (reg_loc_descriptor): Return 0 if pseudo.
552         (is_based_loc): Return 0 if pseudo.
553         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
554         recursive calls.
555         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
556         (loc_descriptor): Return 0 if can't find location and handle 0
557         return from recursive calls.
558         (loc_descriptor_from_tree): Likewise.
559         Fix handling of indirect.
560         Also return 0 for PLACEHOLDER_EXPR.
561         Clean up COMPONENT_REF cases.
562         (add_AT_location_descriptor): Simplify, but handle 0 return from
563         loc_descriptor.
564         (add_const_value_attribute): Avoid shift count warning.
565         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
566         Set comp_unit_die as context if not in function.
567
568         * config/mips/mips-protos.h: Break up long lines.
569         Remove needless #ifdef/#endif blocks.
570         Don't declare functions declared in file made by genpreds or recog.h.
571         * config/mips/mips.c (mips_output_function_prologue): TSIZE
572         is now HOST_WIDE_INT; delete unneeded casts.
573         * config/mips/mips.h: Don't use #elif.
574
575         * expr.c (stor_constructor_field): Always call adjust_address.
576         Copy TARGET before changing its alias set.
577         (store_field): Likewise, for TO_RTX.
578         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
579         replacement.
580         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
581         (find_placeholder): Return 0 if can't find object.
582         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
583         returns 0.
584
585 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
586
587         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
588
589 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
590
591         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
592         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
593         (merge_blocks): Properly udpate life after making edge nonfallthru.
594         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
595
596 2001-10-26  Kazu Hirata  <kazu@hxi.com>
597
598         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
599
600 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
601
602         * c-typeck.c (convert_arguments): When comparing for enumeral
603         type equality, use TYPE_MAIN_VARIANT.
604         * gcc.dg/Wconversion.c: New tests.
605
606 2001-10-26  Kazu Hirata  <kazu@hxi.com>
607
608         * s390/s390.c: Fix comment typos.
609         * s390/s390.h: Likewise.
610         * s390/s390.md: Likewise.
611
612 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
613
614         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
615         (walk_tree): Use it for tail calls where appropriate.
616
617 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
618
619         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
620         non-local label_refs.
621
622 2001-10-26  Kazu Hirata  <kazu@hxi.com>
623
624         * config/h8300/h8300.md (4 anonymous patterns): New.
625
626 2001-10-26  Kazu Hirata  <kazu@hxi.com>
627
628         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
629         algorithm through the shift_info structure.
630         (emit_a_shift): Update the use of get_shift_alg.
631
632 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
633
634         * sched-rgn.c: Remove bitset typedef.
635         Change bitset to sbitmap in prototypes / variable types.
636         Remove bbset_size.
637         Remove edgeset_bits.
638         Remove edgeset_size.
639         s/BITSET_ADD/SET_BIT/g
640         s/BITSET_INVERT/sbitmap_ones/g
641         s/BITSET_INTER/sbitmap_a_and_b/g
642         s/BITSET_UNION/sbitmap_a_or_b/g
643         s/BITSET_DIFFER/sbitmap_difference/g
644         s/bitset_member/TEST_BIT/g
645         (BITSET_*): Removed.
646         (bitset_member): Removed.
647         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
648         EXECUTE_IF_SET_IN_SBITMAP.
649         (split_edges): Rewrite, use sbitmap functions instead of bitset
650         operations.
651         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
652
653 2001-10-26  Andreas Schwab  <schwab@suse.de>
654
655         * reload1.c (emit_input_reload_insns): Fix parens in last
656         (undocumented) change that was supposed to change only whitespace.
657
658 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
659
660         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
661
662         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
663         ASM_OPERANDS.
664
665 2001-10-26  Andreas Jaeger  <aj@suse.de>
666
667         * flow.c (clear_log_links): Remove unused variable.
668         * cfgcleanup.c (cleanup_cfg): Likewise.
669
670 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
671
672         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
673         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
674
675 2001-10-26  Richard Henderson  <rth@redhat.com>
676
677         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
678         rename PV_REG to R27_REG.
679         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
680         (REG_CLASS_FROM_LETTER): Update.
681         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
682         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
683         (udivsi3, modsi3, umodsi3): Likewise.
684         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
685
686 2001-10-26  Richard Henderson  <rth@redhat.com>
687
688         * cfg.c (clear_aux_for_blocks): Split out of ...
689         (free_aux_for_blocks): here.
690         (clear_aux_for_edges): Split from ...
691         (free_aux_for_edges): here.
692         * basic-block.h: Declare them.
693         * lcm.c (compute_antinout_edge): Use them.
694         (compute_laterin, compute_available, compute_nearerout): Likewise.
695         (optimize_mode_switching): Likewise.
696
697 2001-10-26  Richard Henderson  <rth@redhat.com>
698
699         * Makefile.in (unstage*): Remove as, ld, collect-ld before
700         moving everything back to the main build directory.
701
702 2001-10-26  Christopher Faylor  <cgf@redhat.com>
703
704         * config/i386/cygwin.h: Search target specfic include directory, if
705         appropriate.
706
707 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
708
709         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
710         of macro guards. Fix #endif comment.
711
712         * output.h (default_exception_section, default_eh_frame_section):
713         Move prototypes outside of macro guard.
714
715         * crtstuff.c: Fix #endif comment.
716
717 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
718
719         * doc/md.texi (movMM): Clarify semantics of storing into a
720         non-paradoxical SUBREG.
721
722 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
723
724         * langhooks.c (lang_hook_default_clear_binding_stack): New.
725         (lang_hook_default_get_alias_set): Move next to other alias
726         hooks.
727         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
728         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
729         (LANG_HOOKS_INITIALIZER): Add it.
730         * toplev.h (struct lang_hooks): Add clear_binding_stack.
731         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
732         instead of a loop calling poplevel.
733
734 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
735
736         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
737         occurrences of #elif with #if...#endif.
738
739 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
740
741         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
742
743 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
744
745         * alias.c (can_address_p): No longer static.
746         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
747         Return 0 if all parameters are default values.
748         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
749         (adjust_address_1): Try harder to compute a size.
750         * expr.c (expand_assignment, store_constructor): If can't address,
751         set MEM_KEEP_ALIAS_SET_P.
752         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
753         (store_field): Likewise.
754         (store_constructor): Simplify call to store_constructor_field.
755         * expr.h (can_address_p): New declaration.
756         * gensupport.c (gen_rtx_CONST_INT): New function.
757         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
758         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
759         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
760
761         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
762
763 2001-10-24  Christopher Faylor  <cgf@redhat.com>
764
765         * config/i386/cygwin.h: Use proper path for mingw crt files when
766         -mno-cygwin.
767
768 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
769
770         * dwarf2out.c (file_info_cmp): Always return consistent results.
771
772 2001-10-24  Roger Sayle <roger@eyesopen.com>
773
774         * stmt.c (expand_end_case): Index jumptables from zero for
775         suitably small values of minval.
776
777 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
778
779         * stor-layout.c (place_union_field): If any field was aligned with
780         attribute aligned, set record type's TYPE_USER_ALIGN.
781         (place_field): Likewise.
782         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
783         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
784
785 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
786
787         * c-common.h (struct c_common_identifier): Remove rid_code field.
788         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
789
790         * c-typeck.c (constructor_designated): New local flag.
791         (struct constructor_stack): Add "designated" field to match.
792         (start_init): Clear it.
793         (really_start_incremental_init, push_init_level): Push and
794         clear it.
795         (pop_init_level): Pop it.
796         (set_designator): Set it.
797
798         (pop_init_level): Suppress "missing initializer" warnings if
799         constructor_designated is true.
800         (process_init_element): Suppress warning about union
801         initialization under traditional C, if constructor_designated
802         is true.
803
804 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
805
806         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
807         change.
808
809 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
810
811         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
812
813 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
814
815         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
816         the node was already a set to a constant.
817
818 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
819
820         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
821         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
822
823 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
824
825         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
826         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
827         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
828         * s390.c (s390_final_chunkify): Don't use string concatenation.
829         (s390_function_prologue, s390_function_epilogue): Const-ify.
830         * s390.h (FUNCTION_PROFILER): Remove unused variable.
831
832 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
833
834         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
835         prototypes.
836
837 2001-10-23  Stan Shebs  <shebs@apple.com>
838
839         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
840         -traditional-cpp in first-stage compilation.
841
842 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
843
844         * gensupport.c (target_flags): Add.
845
846 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
847
848         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
849         if needed.
850         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
851         * except.c (expand_builtin_frob_return_addr): Likewise.
852         (expand_builtin_eh_return): Likewise.
853         * stmt.c (expand_computed_goto): Likewise.
854         * explow.c (memory_address): Likewise.
855         (allocate_dynamic_stack_space): Clean up predicate testing.
856         (probe_stack_range): Convert SIZE to Pmode.
857         * calls.c (rtx_for_function_call): Only call convert_memory_address
858         if needed.
859         Pass function call operand as ptr_mode, not Pmode.
860         * expr.c (expand_assignment): Clean up calls to convert_memory
861         address by only doing so when needed and making offsets Pmode.
862         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
863         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
864         is in Pmode, not ptr_mode.
865
866 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
867
868         * darwin-protos.h (constructor_section, destructor_section,
869         mod_init_section, mod_term_section): Prototype.
870         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
871         Const-ify.
872         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
873         Likewise.
874         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
875         objc_section_init declaration.
876         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
877         (objc_section_init, try_section_alias): Make static.
878         (alias_section): Make static and hide unused function.
879         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
880
881 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
882
883         * alias.c (can_address_p): Compnonents are not addressable if
884         the containing type has alias set 0.
885         (get_alias_set): Rework to use STRIP_NOPS.
886         Only call front-end routine on object, type, or object with
887         NOPs stripped, not inner values.
888         Use language hook to call front-end routine.
889         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
890         (expand_builtin_apply): Call set_mem_align on MEMs we make.
891         Don't pass alignment to emit_block_move.
892         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
893         (expand_builtin_memset): Likewise, but for clear_storage.
894         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
895         and remove C++ specific parts.
896         * c-common.h (c_common_get_alias_set): Add declaration.
897         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
898         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
899         (save_fixed_argument_area): Call set_mem_align.
900         Remove alignment in call to emit_block_move.
901         (emit_library_call_value_1, store_one_arg): Likewise.
902         (target_for_arg): Remove; disabled long ago.
903         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
904         once and similar cleanups.
905         (offset_address): Use proper introductory comment.
906         * expr.c (emit_block_move): Use alignment from that of MEM args, not
907         from explicit operand; all callers changed.
908         (clear_storage): Likewise.
909         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
910         (store_field): Remove kludge on alias set used for to_rtx.
911         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
912         (expand_expr_unaligned): Call set_mem_attributes instead of
913         set_mem_alias_set.
914         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
915         * function.c (assign_stack_temp_for_type): Set MEM alignment.
916         (expand_function_end): Track MEM attributes of trampolines.
917         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
918         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
919         attributes from original.
920         * langhooks.c (lang_hook_default_get_alias_set): New function.
921         (hook_get_alias_set_0): New function.
922         * langhooks.h (hook_get_alias_set_0): New declaration.
923         (lang_hook_default_get_alias_set): Likewise.
924         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
925         * reload1.c (alter_reg): Use adjust_address_nv.
926         * rtl.c (get_mode_alignment): Moved to here.
927         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
928         change default if unknown from 1 to BITS_PER_UNIT.
929         * stor-layout.c (get_mode_alignment): Remove from here.
930         * toplev.h (struct lang_hoks): Add get_alias_set field.
931         * tree.h (lang_get_alias_set): Delete declaration.
932         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
933         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
934         (ix86_va_arg): Likewise.
935         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
936         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
937         * config/sparc/sparc.c (sparc_va_arg): Likewise.
938         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
939         (expand_block_move_mem): Remove dead code.
940
941 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
942
943         * c-common.c (warn_div_by_zero): New.
944         * c-common.h (warn_div_by_zero): New.
945         * c-decl.c (c_decode_option): Take it on the command line.
946         * c-typeck.c (build_binary_op): Warn about division by zero.
947         * doc/invoke.texi: Document the new command line option, fix
948         documentation of -Wmultichar.
949         * testsuite/gcc.dg/divbyzero.c: New tests.
950         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
951
952 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
953
954         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
955
956         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
957         to avoid update_life_info call.
958         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
959         * cfgcleanup.c (bb_flags): New enum.
960         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
961         (notice_new_block, update_forwarder_flag): New functions.
962         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
963         (try_forward_edges): Likewise; update flags.
964         (merge_blocks): Likewise.
965         (outgoing_edges_match): Likewise.
966         (try_crossjump_to_edge): Likewise.
967         (try_optimize_cfg): Likewise; initialize and clear the flags;
968         recompute life info if needed.
969         (cleanup_cfg): No need to clear aux pointers.
970
971 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
972
973         * config/i386/i386.c (override_options): Default to minimum
974         stack alignment when optimizing for code size.
975         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
976         change.
977
978         * config/i386/i386.c (override_options): Set upper limit of
979         -mpreferred-stack-boundary to 12.
980
981 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
982
983         * recog.c (peephole2_optimize): Add default case to switch.
984
985 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
986
987         * doc/gcc.texi (Sending Patches): Remove.
988
989 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
990
991         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
992         fields when comparing.
993
994 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
995
996         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
997         * arm.c (HOST_INT, HOST_UINT): Likewise.
998
999 2001-10-22  Stan Shebs  <shebs@apple.com>
1000
1001         * config/darwin-protos.h (darwin_exception_section): Declare.
1002         (darwin_eh_frame_section): Declare.
1003
1004 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
1005
1006         * i386.md (movti_rex64): Fix mode.
1007
1008 2001-10-22  Stan Shebs  <shebs@apple.com>
1009
1010         * target.h (struct gcc_target): Add asm_out.exception_section,
1011         asm_out.eh_frame_section.
1012         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
1013         (TARGET_ASM_EH_FRAME_SECTION): New.
1014         (TARGET_INITIALIZER): Update.
1015         * output.h (default_exception_section): Declare.
1016         (default_eh_frame_section): Declare.
1017         * dwarf2out.c: Include target.h.
1018         (output_call_frame_info): Call target hook for eh frames.
1019         (default_eh_frame_section): New function.
1020         * except.c: Include target.h.
1021         (output_function_exception_table): Call target hook for exception
1022         section.
1023         * varasm.c (default_exception_section): Rename from
1024         exception_section, remove EXCEPTION_SECTION macro.
1025
1026         * config/darwin.h (darwin_eh_frame_section): New function.
1027         (EXCEPTION_SECTION): Remove.
1028         (TARGET_ASM_EXCEPTION_SECTION): Define.
1029         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
1030         (nextstep_exception_section): New function.
1031         (nextstep_eh_frame_section): New function.
1032         (TARGET_ASM_EXCEPTION_SECTION): Define.
1033         (TARGET_ASM_EH_FRAME_SECTION): Define.
1034
1035         * config/pa/som.h (EXCEPTION_SECTION): Remove.
1036         (TARGET_ASM_EXCEPTION_SECTION): Define.
1037         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
1038         (EXCEPTION_SECTION): Remove.
1039         (TARGET_ASM_EXCEPTION_SECTION): Define.
1040         * config/stormy16/stormy16.h: Remove comments referencing
1041         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
1042
1043         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
1044         TARGET_ASM_EH_FRAME_SECTION.
1045
1046 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
1047
1048         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
1049         terms.
1050
1051         * c-format.c: Fix spelling typo in comment.
1052
1053         * sched-int.h: Fix typo in GCC preamble.
1054
1055 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1056
1057         PR debug/4252
1058         * doc/invoke.texi: Remove references to -fdump-translation-unit.
1059
1060 2001-10-22  Richard Henderson  <rth@redhat.com>
1061
1062         * config/i386/i386.c (ix86_expand_clear): New.
1063         * config/i386/i386-protos.h: Declare it.
1064         * config/i386/i386.md (setcc peep2s): Use it.
1065         (movsi_xor): Unexport.
1066
1067 2001-10-22  Richard Henderson  <rth@redhat.com>
1068
1069         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
1070         free_EXPR_LIST_list for LOG_LINKS.
1071
1072 2001-10-21  Robert Lipe  <robertlipe@usa.net>
1073
1074         * config/i386/i386.c (sco_asm_named_section): Delete.
1075         (sco_asm_out_constructor): Delete.
1076         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
1077         (ASM_OUTPUT_DOUBLE_INT): Likewise.
1078         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
1079         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
1080         (EXCEPTION_SECTION): Delete EH scn renaming hack.
1081
1082 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1083
1084         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
1085         and/or fold extra calls into fewer ones.
1086         * collect2.c (dump_file): Likewise.
1087         * cppexp.c (parse_number): Likewise.
1088         * cpplex.c (_cpp_lex_direct): Likewise.
1089         * final.c (output_asm_insn, asm_fprintf): Likewise.
1090         * fix-header.c (inf_scan_ident, main): Likewise.
1091         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
1092         Likewise.
1093         * fold-const.c (real_hex_to_f): Likewise.
1094         * gen-protos.c (parse_fn_proto): Likewise.
1095         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
1096         * genrecog.c (change_state, write_action): Likewise.
1097         * gensupport.c (shift_output_template): Likewise.
1098         * local-alloc.c (requires_inout): Likewise.
1099         * mips-tfile.c (IS_ASM_IDENT): Likewise.
1100         * protoize.c (is_id_char, main): Likewise.
1101         * real.c (asctoeg): Likewise.
1102         * recog.c (asm_operand_ok): Likewise.
1103         * reload.c (find_reloads): Likewise.
1104         * scan.c (scan_identget_token): Likewise.
1105         * sched-vis.c (print_value): Likewise.
1106         * stringpool.c (ggc_alloc_string): Likewise.
1107         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
1108         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
1109         * tradcpp.c (rescan): Likewise.
1110         * tree.c (clean_symbol_name): Likewise.
1111         * varasm.c (decode_reg_name): Likewise.
1112
1113         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
1114         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
1115         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
1116         * m88k.c (output_ascii): Likewise.
1117         * m88k.h (OVERRIDE_OPTIONS): Likewise.
1118         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
1119         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
1120         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
1121
1122 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
1123
1124         * langhooks.c (lang_hook_default_do_nothing,
1125         lang_hook_default_decode_option): New defaults.
1126         * langhooks.h: Make hooks unconditional and non-NULL.
1127         * toplev.c (compile_file, toplev_main): Update.
1128         * toplev.h: Update comments.
1129         * objc/objc-act.c (lang_hooks): Update to new paradigm.
1130
1131 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1132
1133         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
1134
1135         * system.h (IN_RANGE): New macro.
1136
1137 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
1138
1139         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
1140         INTLDEPS variable, which does not include $LIBICONV.
1141         * Makefile.in: Use INTLDEPS in LIBDEPS.
1142         * configure: Regenerate.
1143
1144 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
1145
1146         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
1147         * cpplex.c (lex_percent, lex_dot): Remove.
1148         (get_effective_char, skip_block_comment, skip_line_comment,
1149         parse_identifier_slow, parse_number, parse_string, save_comment,
1150         _cpp_lex_direct): Update to do lookback freely.
1151         (IF_NEXT_IS, BACKUP): New macros.
1152         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
1153         * cppmacro.c (paste_tokens): Update.
1154
1155 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
1156
1157         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
1158
1159 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
1160
1161         * reload1.c (reload): Check CONSTANT_P before calling
1162         LEGITIMATE_PIC_OPERAND_P.
1163         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
1164         workaround of 2001-10-13.
1165
1166 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
1167
1168         * i386.c (split_di): Handle splitting of DFmode.
1169
1170 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1171
1172         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
1173         (adjust_address_1, offset_address): Likewise.
1174
1175         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
1176         (output_asm_insn): Call it for each line output.
1177         Don't record an operand more than once.
1178
1179         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
1180         * main.c: Include config.h and system.h, but not ansidecl.h.
1181         * Makefile.in (main.o): Update accordingly.
1182
1183 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
1184
1185         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
1186
1187 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
1188
1189         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
1190         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
1191         Break out from ...
1192         (find_sub_basic_blocks): ... here;
1193         (find_many_sub_basic_blocks): New.
1194         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
1195
1196         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
1197
1198         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
1199
1200         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
1201
1202         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
1203         * flow.c (update_life_info): Measure time.
1204         * c-decl.c: Include timevar.h
1205         (c_expand_body): Measure time.
1206         * toplev.c (rest_of_compilation): Measure time of mode switching
1207         separately.
1208         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
1209
1210         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
1211         (lang_independent_options): Add asynchronous-unwind-tables
1212         (toplev_main): flag_asynchronous_unwind_tables implies
1213         flag_unwind_tables.
1214         * flags.h (flag_asynchronous_unwind_tables): Declare.
1215         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
1216         flag_asynchronous_unwind_tables.
1217         (output_call_frame_info): Likewise.
1218         * invoke.texi (-fasynchronous-unwind-tables): Document.
1219         * i386.c (optimization_options): Enable
1220         flag_asynchronous_unwind_tables.
1221
1222         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
1223         * i386.md (s* expanders): Destination is QImode.
1224
1225         * toplev.c (rest_of_compilation): Do not call clear_log_links.
1226         * rtl.h (clear_log_links): Kill.
1227         * flow.c (clear_log_links): Make static; accept blocks parameter;
1228         do no clear life info.
1229         (update_life_info): Call clear_log_links.
1230
1231         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
1232
1233 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
1234
1235         * cpplex.c (handle_newline, skip_escaped_newlines,
1236         get_effective_char, skip_block_comment, skip_line_comment,
1237         parse_identifier_slow, parse_number, parse_string,
1238         _cpp_lex_direct): Update to do more stepping back.
1239         (trigraph_ok): Similarly.  Rename trigraph_p.
1240         (SAVE_STATE, RESTORE_STATE): Remove.
1241         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
1242
1243         * cpplib.c (destringize): Rename destringize_and_run, and
1244         call run_directive directly.
1245         (_cpp_do__Pragma): Simplify.
1246
1247 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1248
1249         * pe.c (arm_pe_unique_section): Const-ify.
1250         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
1251         (switch_to_section): Add static prototype.
1252
1253         * output.h (drectve_section): Prototype.
1254
1255 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1256
1257         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
1258         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
1259         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
1260         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
1261         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
1262         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
1263         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
1264         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
1265         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
1266         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
1267         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
1268         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
1269         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
1270         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
1271         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
1272         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
1273         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
1274         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
1275         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
1276         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
1277         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
1278         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
1279         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
1280         cris-*-none, cris-*-linux*: Update ${tmfile} list.
1281         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
1282         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
1283         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
1284         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
1285         v850-*-*): Delete superflous ${cpu_type} setting.
1286         * config/linux.h: Delete svr4.h include.
1287         (SET_ASM_OP): Delete.
1288         * config/netware.h (INT_ASM_OP): Undef before define.
1289         * config/ptx4.h: Delete elfos.h include.
1290         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
1291         * config/svr4.h: Delete elfos.h include. Update commentary.
1292         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
1293         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
1294         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
1295         config/v850/v850.h: Delete svr4.h include.
1296         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
1297         config/m68k/m68kv4.h, config/m88k/sysv4.h,
1298         config/sparc/sysv4.h: Update includes.
1299         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
1300         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
1301         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
1302         config/m88k/dguxbcs.h: Delete includes.
1303         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
1304         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
1305         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
1306         it.
1307         * config/m88k/dgux.h: Delete include.
1308         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
1309         defining it.
1310         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
1311         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
1312         * config/sh/elf.h: Update include.
1313         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
1314         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
1315
1316 2001-10-19  Catherine Moore  <clm@redhat.com>
1317
1318         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
1319         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
1320         base and count fields.
1321         (stormy16_expand_builtin_va_start):  last_reg_count changed to
1322         size_of_reg_args.  Use count + size in first comparison.
1323
1324 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1325
1326         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
1327         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
1328         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
1329         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
1330         Set alignment from type if INDIRECT_REF.
1331         (adjust_address_1, offset_address): Simplify alignment compuitation.
1332         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
1333         here; done by set_mem_attributes.
1334
1335 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1336
1337         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
1338         * arm-protos.h (rdata_section, zero_init_section, common_section):
1339         Prototype.
1340         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
1341         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
1342         traditional mode stringification.
1343         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
1344         in macros controling its use.
1345         * rtlanal.c: Include tm_p.h.
1346         * varasm.c (asm_output_aligned_bss): Mark parameter with
1347         ATTRIBUTE_UNUSED.
1348         (assemble_constant_align, assemble_start_function, assemble_align,
1349         assemble_variable, assemble_trampoline_template,
1350         output_constant_def_contents): Wrap potentially empty if-stmt body
1351         in brackets.
1352
1353 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1354
1355         * a29k-protos.h (literal_section): Prototype.
1356         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
1357         * a29k.md: Ensure function pointers are prototyped.
1358         * genattrtab.c (write_eligible_delay): Mark parameter with
1359         ATTRIBUTE_UNUSED.
1360
1361 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1362
1363         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
1364         * 1750a.c (print_operand): Fix format specifier warning.
1365         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
1366         * 1750a.md: Likewise.
1367         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
1368         * genemit.c (output_add_clobbers): Mark parameter with
1369         ATTRIBUTE_UNUSED.
1370         * genrecog.c (write_subroutine): Likewise.
1371         * integrate.c (expand_inline_function): Delete unused variable.
1372         * varasm.c (remove_from_pending_weak_list): Wrap with
1373         ASM_WEAKEN_LABEL.
1374
1375 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
1376
1377         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
1378         field is different to previous argument's neg field.
1379
1380         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
1381
1382 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1383
1384         * final.c (get_decl_from_op): New function.
1385         (output_asm_insn): Call it; write "*" when item with decl is address.
1386
1387 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
1388
1389         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
1390         about 64-bit support from the 3.0_branch version.
1391
1392 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
1393
1394         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
1395         USE_INCLUDED_LIBINTL when appropriate.
1396         * configure, config.in: Regenerate.
1397         * Makefile.in (datadir): Set to @datadir@.
1398         (intl.o): Also depend on $(CONFIG_H) and system.h.
1399
1400         * intl.c: Factor out common gettext initialization sequence.
1401         (gcc_init_libintl):  New function.
1402         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
1403         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
1404         off NLS.  Add multiple include guard.  No need to #ifdef-guard
1405         an #undef.  Prototype gcc_init_libintl here.
1406
1407         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
1408         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
1409         Use gcc_init_libintl.
1410
1411 2001-10-19  Catherine Moore  <clm@redhat.com>
1412
1413         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
1414
1415         * config/stormy16/stormy16.c (stormy16_split_move):  Make
1416         sure that REG_INC notes are present for auto_inc operands.
1417
1418 2001-10-19  Andreas Jaeger  <aj@suse.de>
1419
1420         * configure: Regenerated.
1421         * configure.in: Add x86_64 to switch statements.
1422
1423 2001-10-18  Richard Henderson  <rth@redhat.com>
1424
1425         * config/alpha/alpha.md (sibcall_osf_1): Load destination
1426         address into $27 explicitly.
1427         (sibcall_value_osf_1): Likewise.
1428
1429 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1430
1431         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
1432         (offset_address): New function.
1433         (free_emit_status): Free regno_decl.
1434         (init_emit): Pass proper number of elements to xcalloc.
1435         Allocate regno_decl.
1436         (mark_emit_status): Mark regno_decl values.
1437         * expr.c (highest_pow2_factor): New function.
1438         (expand_assigment): Use it and offset_address.
1439         Properly handle ptr_mode vs. Pmode in offset calculation.
1440         (store_constructor, expand_expr_unaligned): Likewise.
1441         (expand_expr, case COMPONENT_EXPR): Likewise.
1442         * expr.h (offset_address): New decl.
1443         * function.h (struct emit_status): Add regno_decl.
1444         (REGNO_DECL): New macro.
1445         * final.c (output_asm_name): Move in file and don't conditionalize
1446         on flag_print_asm_name.
1447         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
1448         Output names of operands, if known.
1449         * function.c (assign_parms): Set REGNO_DECL.
1450         * integrate.c (integrate_decl_tree): Likewise.
1451         * stmt.c (expand_decl): Likewise.
1452         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
1453
1454 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
1455
1456         * attribs.c (handle_noinline_attribute): New function.
1457         (handle_used_attribute): Likewise.
1458         (c_common_attribute_table): Added noinline and used.
1459         * doc/extend.texi (Function Attributes): Document them.
1460         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
1461         Warn when merging inline with attribute noinline.
1462         (start_decl, start_function): Warn if inline and attribute
1463         noinline appear in the same declaration.
1464
1465 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
1466
1467         * config.gcc: Update c4x and i370 for C front end-specific
1468         dependencies.
1469         * config/c4x/c4x-c.c: New.
1470         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
1471         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
1472         New declarations.
1473         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
1474         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
1475         Make extern.
1476         (c4x_init_pragma): Remove.
1477         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
1478         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
1479         c4x_pr_ignored): Move to c4x-c.c.
1480         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
1481         * config/c4x/t-c4x: Update.
1482         * config/i370/i370-c.c: New.
1483         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
1484         (i370_pr_map): Move to i370-c.c.
1485         * config/i370/t-i370: New.
1486
1487         * doc/tm.texi: Update.
1488
1489 2001-10-17  Stan Shebs  <shebs@apple.com>
1490
1491         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
1492         typo fixes throughout.
1493         (machopic_output_stub): Remove some dead code.
1494
1495 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
1496
1497         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
1498         leak.
1499
1500 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1501
1502         * Makefile.in (print-rtl.o): Depend on TREE_H.
1503         * alias.c (get_alias_set): Make two passes over objects to first
1504         see if inner object is access via restricted pointer.
1505         Defer allocating alias set for restricted pointer until here.
1506         Call find_placeholder with second arg nonzero.
1507         Minor cleanups.
1508         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
1509         set for restricted pointer types.
1510         * emit-rtl.c (set_mem_attributes): Set more attributes.
1511         (set_mem_align, change_address, adjust_address_1): New functions.
1512         (change_address_1): Now static.
1513         (adjust_address, adjust_address_nv): Deleted.
1514         (replace_equiv_address): Call change_address_1.
1515         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
1516         (find_placeholder): Get starting point from PLIST arg.
1517         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
1518         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
1519         (adjust_address, adjust_address_nv): New macros.
1520         * print-rtl.c (tree.h): New include.
1521         (print_rtx, case MEM): Print all memory attributes.
1522
1523 2001-10-17  Richard Henderson  <rth@redhat.com>
1524
1525         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
1526
1527 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
1528
1529         * c-tree.texi: Eliminate duplicated word.
1530         * cpp.texi: Likewise.
1531         * install.texi: Likewise.
1532         * invoke.texi: Likewise.
1533         * tm.texi: Likewise.
1534
1535 2001-10-17  Michael Collison  <collison@isisinc.net>
1536
1537         * dsp16xx.c: Fix comment formatting to match GNU standards.
1538         (dsp16xx_output_function_prologue): Change type of 'size'
1539         parameter from 'int' to HOST_WIDE_INT.
1540         (dsp16xx_output_function_epilogue): Change type of 'size'
1541         parameter from 'int' to HOST_WIDE_INT.
1542
1543 2001-10-16  Richard Henderson  <rth@redhat.com>
1544
1545         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
1546         * configure, config.in: Rebuild.
1547
1548         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
1549         (ix86_output_addr_diff_elt): New.
1550         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
1551         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
1552         (JUMP_TABLES_IN_TEXT_SECTION): New.
1553         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
1554         * config/i386/i386-protos.h: Update.
1555
1556         * config/i386/386bsd.h, config/i386/beos-elf.h,
1557         config/i386/freebsd-aout.h, config/i386/freebsd.h,
1558         config/i386/i386-interix.h, config/i386/i386elf.h,
1559         config/i386/linux.h, config/i386/netbsd-elf.h,
1560         config/i386/netbsd.h, config/i386/openbsd.h,
1561         config/i386/ptx4-i.h, config/i386/rtemself.h,
1562         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
1563         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
1564
1565 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
1566
1567         * stmt.c (expand_asm_operands): Update commentary.
1568
1569 2001-10-16  Stan Shebs  <shebs@apple.com>
1570
1571         * config/darwin.h (GCC_NAME): Remove, no longer used.
1572         (NO_MATH_LIBRARY): Ditto.
1573         (MATH_LIBRARY): Define to emptiness.
1574         (DWARF2_DEBUGGING_INFO): Define.
1575         (PREFERRED_DEBUGGING_TYPE): Define.
1576         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
1577         (EXCEPTION_SECTION): Define.
1578         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
1579         * config/darwin.c (darwin_encode_section_info): Handle case of
1580         DECL_INITIAL being error_mark_node.
1581
1582 2001-10-16  Richard Henderson  <rth@redhat.com>
1583
1584         * alpha.c (current_file_function_operand): Don't fail for profiling.
1585         (direct_call_operand): New.
1586         * alpha-protos.h: Declare it.
1587         * alpha.h (EXTRA_CONSTRAINT): Use it.
1588         (PREDICATE_CODES): Add it.
1589         (ASM_OUTPUT_MI_THUNK): Remove.
1590         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
1591         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
1592
1593 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
1594
1595         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
1596         (JUMP_TABLES_IN_TEXT_SECTION): Define.
1597
1598 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
1599
1600         * cfg.c (free_edge): Break out from ....
1601         (remove_edge): ... here.
1602         (clear_edges): Use free_edge.
1603
1604         * att.h (ASM_QUAD): Add comment.
1605         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
1606
1607 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
1608
1609         * i386.c (split_ti): New function.
1610         (ix86_split_to_parts): Support TImodes.
1611         * i386.h (VALID_INT_MODE_P): Add TImode.
1612         * i386.md (movdi splitter): Fix.
1613         (movti): Support 64bit integer registers.
1614         (movti_rex64): New function and splitter.
1615
1616         * i386.c (*_cost): Add movsx/movzx cost.
1617         * i386.h (struct processor_costs): Add movsx/movzx fields.
1618         (RTX_COSTS): Handle zero/sign extend + avoid believing that
1619         64bit operations require split on 64bit machine.
1620         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
1621
1622         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
1623         (ix86_expand_move): Avoid pushes of memory if size does not match;
1624         move long constants to register.
1625         (x86_initialize_trampoline): Fix mode.
1626         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
1627         Use ASM_QUAD on 64bit.
1628         * i386.md (test pattern): Disallow impossible constants.
1629         (tablejump PIC expander): Fix emitting of sum.
1630         (movdicc_rex64): Rename to movdicc.
1631         * linux64.h (LINK_SPEC): Add missing '%'.
1632
1633 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
1634
1635         * tree-inline.c (inlinable_function_p): Leave it up to the
1636         front-end to turn -finline-functions into DECL_INLINE set for all
1637         functions.
1638
1639 2001-10-16  Stan Shebs  <shebs@apple.com>
1640
1641         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
1642
1643 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
1644
1645         * recog.c: Formatting and comment typo fixes.
1646
1647         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
1648         version in single tree build.
1649         * configure: Regenerate.
1650
1651 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
1652
1653         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
1654         MODE arguments to gen_rtx and compare operand with const0_rtx.
1655
1656 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
1657
1658         * system.h: Poison old unused target macros.
1659         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
1660         * config/stormy16/stormy16.c: Update references to obsolete macros.
1661         * config/stormy16/stormy16.h: Similarly.
1662         * config/stormy16/stormy16.md: Similarly.
1663         * config/cris/cris.h: Similarly.
1664
1665 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
1666
1667         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
1668         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
1669         cpp_register_pragma): Update accordingly.
1670
1671 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
1672
1673         * c-pragma.h (cpp_register_pragma_space): Remove.
1674         * cpplib.h (cpp_register_pragma_space): Remove.
1675         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
1676         (cpp_register_pragma_space): Remove.
1677         (cpp_register_pragma): Simplify using lookup_pragma_entry,
1678         add sanity checks.
1679         (do_pragma): Similarly.
1680         (_cpp_init_internal_pragmas): Don't register namespaces.
1681
1682         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
1683         Don't register namespaces.
1684         * cp/lex.c (init_cp_pragma): Similarly.
1685         * doc/tm.texi: Update.
1686
1687 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1688
1689         PR c/4157
1690         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
1691
1692 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
1693
1694         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
1695         add scheduling support.
1696         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
1697         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
1698         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
1699
1700
1701 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
1702
1703         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
1704         missing CONSTANT_P test in core GCC.
1705
1706 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
1707
1708         * cppmain.c (struct printer): New member source.
1709         (scan_translation_unit): Fix spacing at start of lines.
1710         (cb_line_change): Update.
1711
1712         * gcc.dg/cpp/spacing2.c: New test.
1713
1714 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
1715
1716         * config/cris/arit.c: Use __builtin_labs, not abs.
1717
1718         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
1719
1720         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
1721         misplaced sprintf and fprintf argument.
1722
1723 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
1724
1725         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
1726         * configure.in, Makefile.in: Take out obsolete check-po logic.
1727         * configure, config.in: Regenerate.
1728
1729 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
1730
1731         * objc/objc-act.c (finish_objc): Correct precondition for emitting
1732         symtab declarations.
1733
1734 2001-10-12  Stan Shebs  <shebs@apple.com>
1735
1736         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
1737         declarations of arguments and local variables.
1738
1739 2001-10-12  Christopher Faylor  <cgf@redhat.com>
1740
1741         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
1742         ENDFILE_SPEC definition.
1743
1744 2001-10-12  Kazu Hirata  <kazu@hxi.com>
1745
1746         * gthr-dce.h: Fix comment formatting.
1747         * gthr-posix.h: Likewise.
1748         * gthr-single.h: Likewise.
1749         * gthr-solaris.h: Likewise.
1750         * gthr-vxworks.h: Likewise.
1751         * gthr-win32.h: Likewise.
1752
1753 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
1754
1755         * final.c (output_asm_insn): Make sure assembly dialects are
1756         terminated, not nested.  Output `|' and `}' characters if they
1757         don't appear inside assembly dialect selection.
1758         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
1759         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
1760         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
1761         strsetsi_rex_1): Add {} braces.
1762
1763 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
1764
1765         * toplev.c (compile_file): Ignore return value from yyparse.
1766         Always pop any nested binding levels after yyparse returns.
1767
1768 2001-10-11  Richard Henderson  <rth@redhat.com>
1769
1770         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
1771
1772 2001-10-11  Richard Henderson  <rth@redhat.com>
1773
1774         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
1775         fall back to add_AT_long_long for large CONST_INT.
1776
1777 2001-10-11  Richard Henderson  <rth@redhat.com>
1778
1779         * config/i386/i386.md (setcc splitters): Add four splitters to
1780         simplify compound compares that simplify_comparison can't handle.
1781
1782 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
1783
1784         * cpplex.c (digraph_spellings, token_spellings): Make static.
1785
1786 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1787
1788         * unroll.c (loop_iterations): Fixup last patch.
1789
1790 2001-10-11  Richard Henderson  <rth@redhat.com>
1791
1792         * rtl.h (REG_VTABLE_REF): New.
1793         * rtl.c (reg_note_name): Add it.
1794         * combine.c (distribute_notes): Handle it.
1795         * final.c (final_scan_insn): Handle it.
1796         * tree.def (VTABLE_REF): New.
1797         * expr.c (expand_expr): Handle it.
1798         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
1799         * output.h: Declare them.
1800
1801 2001-10-11  Richard Henderson  <rth@redhat.com>
1802
1803         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
1804         for a DECL_INITIAL.
1805
1806 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
1807
1808         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
1809         available in 64-bit mode.
1810
1811 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
1812
1813         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
1814         cris-*-linux* cases.
1815         * config/cris/cris-protos.h: New file.
1816         * config/cris/cris.c: New file.
1817         * config/cris/cris.h: New file.
1818         * config/cris/cris.md: New file.
1819         * config/cris/linux.h: New file.
1820         * config/cris/aout.h: New file.
1821         * config/cris/arit.c: New file.
1822         * config/cris/cris_abi_symbol.c: New file.
1823         * config/cris/mulsi3.asm: New file.
1824         * config/cris/t-aout: New file.
1825         * config/cris/t-cris: New file.
1826         * config/cris/t-elfmulti: New file.
1827         * config/cris/t-linux: New file.
1828         * doc/invoke.texi: Add CRIS options.
1829         * doc/install.texi (Specific): Add blurb for CRIS.
1830
1831 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
1832
1833         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
1834         before using it.
1835         * config/float/i32.h: Likewise.
1836         * config/float-i386.h: Likewise.
1837         * config/float-i64.h: Likewise.
1838         * config/float-m68k.h: Likewise.
1839         * config/float-sh.h: Likewise.
1840         * config/float-sparc.h: Likewise.
1841
1842 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
1843
1844         * doc/contrib.texi: Add note about CRIS port to my entry.
1845
1846 2001-10-11  Kazu Hirata  <kazu@hxi.com>
1847
1848         * basic-block.h: Fix formatting.
1849         * bitmap.h: Likewise.
1850         * cpplib.h: Likewise.
1851         * c-tree.h: Likewise.
1852         * diagnostic.h: Likewise.
1853         * flags.h: Likewise.
1854         * ggc.h: Likewise.
1855         * longlong.h: Likewise.
1856         * real.h: Likewise.
1857         * reload.h: Likewise.
1858         * rtl.h: Likewise.
1859         * tree.h: Likewise.
1860
1861 2001-10-10  Richard Henderson  <rth@redhat.com>
1862
1863         * c-parse.in (asm_operand): Allow named operands.
1864         * genconfig.c (max_recog_operands): Set to 29.
1865         * local-alloc.c (requires_inout): Skip multiple digits.
1866         * recog.c (asm_operand_ok): Likewise.
1867         (preprocess_constraints): Use strtoul for matching constraints.
1868         (constrain_operands): Likewise.
1869         * regmove.c (find_matches): Likewise.
1870         * reload.c (find_reloads): Likewise.
1871         * stmt.c (parse_output_constraint): Don't reject in-out
1872         constraint on operands > 9.  Reject '[' in constraint.
1873         (expand_asm_operands): Handle named operands.  Use strtoul
1874         for matching constraints.
1875         (check_operand_nalternatives): Split out from expand_asm_operands.
1876         (check_unique_operand_names): New.
1877         (resolve_operand_names, resolve_operand_name_1): New.
1878
1879         * doc/extend.texi (Extended Asm): Document named operands.
1880         * doc/md.texi (Simple Constraints): Document matching constraints
1881         on operands > 9.
1882
1883 2001-10-10  Richard Henderson  <rth@redhat.com>
1884
1885         * combine.c (try_combine): Handle a SEQUENCE of one insn.
1886
1887         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
1888         (jcc splitters): Add two splitters to simplify compound compares
1889         that simplify_comparison can't handle.
1890
1891 2001-10-10  Richard Henderson  <rth@redhat.com>
1892
1893         * langhooks.c: Include langhooks.h.
1894         * Makefile.in (langhooks.o): Depend on it.
1895
1896 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
1897
1898         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
1899         should not be considered as a no-op.
1900         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
1901
1902 2001-10-10  Stan Shebs  <shebs@apple.com>
1903
1904         * alias.c: Remove uses of "register" specifier in declarations
1905         of arguments and local variables.
1906         * c-common.c: Ditto.
1907         * c-convert.c: Ditto.
1908         * c-decl.c: Ditto.
1909         * c-format.c: Ditto.
1910         * c-semantics.c: Ditto.
1911         * c-typeck.c: Ditto.
1912         * caller-save.c: Ditto.
1913         * calls.c: Ditto.
1914         * cfg.c: Ditto.
1915         * cfgbuild.c: Ditto.
1916         * cfgrtl.c: Ditto.
1917         * collect2.c: Ditto.
1918         * combine.c: Ditto.
1919         * convert.c: Ditto.
1920         * cppexp.c: Ditto.
1921         * cppfiles.c: Ditto.
1922         * cse.c: Ditto.
1923         * dbxout.c: Ditto.
1924         * defaults.h: Ditto.
1925         * df.c: Ditto.
1926         * dwarf2out.c: Ditto.
1927         * dwarfout.c: Ditto.
1928         * emit-rtl.c: Ditto.
1929         * explow.c: Ditto.
1930         * expmed.c: Ditto.
1931         * expr.c: Ditto.
1932         * final.c: Ditto.
1933         * fix-header.c: Ditto.
1934         * floatlib.c: Ditto.
1935         * flow.c: Ditto.
1936         * fold-const.c: Ditto.
1937         * function.c: Ditto.
1938         * gcc.c: Ditto.
1939         * gcse.c: Ditto.
1940         * gen-protos.c: Ditto.
1941         * genattrtab.c: Ditto.
1942         * gencheck.c: Ditto.
1943         * genconfig.c: Ditto.
1944         * genemit.c: Ditto.
1945         * genextract.c: Ditto.
1946         * genflags.c: Ditto.
1947         * gengenrtl.c: Ditto.
1948         * genoutput.c: Ditto.
1949         * genpeep.c: Ditto.
1950         * genrecog.c: Ditto.
1951         * gensupport.c: Ditto.
1952         * global.c: Ditto.
1953         * gmon.c: Ditto.
1954         * graph.c: Ditto.
1955         * haifa-sched.c: Ditto.
1956         * hard-reg-set.h: Ditto.
1957         * hash.c: Ditto.
1958         * integrate.c: Ditto.
1959         * jump.c: Ditto.
1960         * lists.c: Ditto.
1961         * local-alloc.c: Ditto.
1962         * loop.c: Ditto.
1963         * mips-tdump.c: Ditto.
1964         * mips-tfile.c: Ditto.
1965         * optabs.c: Ditto.
1966         * prefix.c: Ditto.
1967         * print-rtl.c: Ditto.
1968         * read-rtl.c: Ditto.
1969         * real.c: Ditto.
1970         * recog.c: Ditto.
1971         * reg-stack.c: Ditto.
1972         * regclass.c: Ditto.
1973         * regmove.c: Ditto.
1974         * reload.c: Ditto.
1975         * reload1.c: Ditto.
1976         * reorg.c: Ditto.
1977         * resource.c: Ditto.
1978         * rtl.c: Ditto.
1979         * rtlanal.c: Ditto.
1980         * scan.c: Ditto.
1981         * sched-deps.c: Ditto.
1982         * sched-rgn.c: Ditto.
1983         * sdbout.c: Ditto.
1984         * simplify-rtx.c: Ditto.
1985         * stmt.c: Ditto.
1986         * stor-layout.c: Ditto.
1987         * toplev.c: Ditto.
1988         * tradcif.y: Ditto.
1989         * tradcpp.c: Ditto.
1990         * tree.c: Ditto.
1991         * unroll.c: Ditto.
1992         * varasm.c: Ditto.
1993         * xcoffout.c: Ditto.
1994
1995 2001-10-10  Richard Henderson  <rth@redhat.com>
1996
1997         * rtl.h (can_reverse_comparison_p): Remove.
1998
1999 2001-10-10  Christopher Faylor <cgf@redhat.com>
2000
2001         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
2002         used.
2003
2004 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
2005
2006         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
2007         (Thanks to Chris Faylor for suggesting macro name).
2008         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
2009         WIN32 defines.
2010         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
2011         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
2012         (MATH_LIBRARY): Undef before definition.
2013         (OUTPUT_QUOTED_STRING): Likewise.
2014         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
2015
2016 2001-10-10  Richard Henderson  <rth@redhat.com>
2017
2018         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
2019         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
2020         a tristate comparison value.
2021         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
2022
2023 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2024
2025         PR c++/4512
2026         * unroll.c (loop_iterations): Ignore insns generated by loop
2027         unrolling.
2028
2029         * config.gcc (mips*-*-gnu*): Delete support.
2030         * config/mips/gnu.h: Remove.
2031
2032 2001-10-10  Kazu Hirata  <kazu@hxi.com>
2033
2034         * calls.c: Fix formatting.
2035         * c-decl.c: Likewise.
2036         * cfgcleanup.c: Likewise.
2037         * combine.c: Likewise.
2038         * cppfiles.c: Likewise.
2039         * cpplib.c: Likewise.
2040         * cppmacro.c: Likewise.
2041         * crtstuff.c: Likewise.
2042         * cse.c: Likewise.
2043         * dwarf2out.c: Likewise.
2044         * expmed.c: Likewise.
2045         * expr.c: Likewise.
2046         * fold-const.c: Likewise.
2047         * function.c: Likewise.
2048         * gcse.c: Likewise.
2049         * genattrtab.c: Likewise.
2050         * ggc-page.c: Likewise.
2051         * integrate.c: Likewise.
2052         * libgcc2.c: Likewise.
2053         * loop.c: Likewise.
2054         * optabs.c: Likewise.
2055         * profile.c: Likewise.
2056         * protoize.c: Likewise.
2057         * real.c: Likewise.
2058         * recog.c: Likewise.
2059         * reload1.c: Likewise.
2060         * reload.c: Likewise.
2061         * reorg.c: Likewise.
2062         * resource.c: Likewise.
2063         * sched-rgn.c: Likewise.
2064         * sdbout.c: Likewise.
2065         * stmt.c: Likewise.
2066         * toplev.c: Likewise.
2067         * varasm.c: Likewise.
2068
2069 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
2070
2071         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
2072         * Makefile.in (langhooks.o): Add dependencies.
2073
2074 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
2075
2076         * rs6000.c (rs6000_emit_load_toc_table): Don't
2077         strdup the toc label.
2078         (create_TOC_reference): Likewise.
2079
2080 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
2081
2082         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
2083         version default.
2084
2085 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
2086
2087         * config/i386/i386.c (ix86_attribute_table): Correct
2088         min_len, max_len fields for dllimport, dllexport and shared.
2089
2090 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
2091
2092         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
2093         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
2094         Consistently use "nonzero" instead of "non-zero".
2095
2096 2001-10-09  Kazu Hirata  <kazu@hxi.com>
2097
2098         * acconfig.h: Fix comment formatting.
2099         * c-dump.h: Likewise.
2100         * c-tree.h: Likewise.
2101         * conditions.h: Likewise.
2102         * expr.h: Likewise.
2103         * function.h: Likewise.
2104         * gthr.h: Likewise.
2105         * hwint.h: Likewise.
2106         * integrate.h: Likewise.
2107         * intl.h: Likewise.
2108         * loop.h: Likewise.
2109         * optabs.h: Likewise.
2110
2111 2001-10-09  Kazu Hirata  <kazu@hxi.com>
2112
2113         * c-common.h: Fix comment formatting.
2114         * c-dump.c: Likewise.
2115         * cfg.c: Likewise.
2116         * diagnostic.h: Likewise.
2117         * except.c: Likewise.
2118         * gcc.h: Likewise.
2119         * gcov-io.h: Likewise.
2120         * genattrtab.c: Likewise.
2121         * output.h: Likewise.
2122         * predict.h: Likewise.
2123         * reload1.c: Likewise.
2124         * reload.h: Likewise.
2125         * resource.h: Likewise.
2126         * scan.h: Likewise.
2127         * system.h: Likewise.
2128         * tree.h: Likewise.
2129         * tree-inline.c: Likewise.
2130         * tsystem.h: Likewise.
2131         * varasm.c: Likewise.
2132         * xcoffout.h: Likewise.
2133
2134 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
2135
2136         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
2137
2138 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
2139
2140         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
2141         config/i386/i386elf.h, config/i386/netbsd-elf.h,
2142         config/i386/netware.h, config/mcore/gfloat.h,
2143         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
2144         config/netware.h, gccbug.in: Update FSF address.
2145
2146 2001-10-09  Kazu Hirata  <kazu@hxi.com>
2147
2148         * c-common.c: Fix comment typos.
2149         * cfgrtl.c: Likewise.
2150         * collect2.c: Likewise.
2151         * cpplex.c: Likewise.
2152         * doloop.c: Likewise.
2153         * dwarf2out.c: Likewise.
2154         * dwarfout.c: Likewise.
2155         * expr.c: Likewise.
2156         * fold-const.c: Likewise.
2157         * gcc.c: Likewise.
2158         * gcov.c: Likewise.
2159         * gcse.c: Likewise.
2160         * global.c: Likewise.
2161         * ifcvt.c: Likewise.
2162         * loop.c: Likewise.
2163         * optabs.c: Likewise.
2164         * protoize.c: Likewise.
2165         * regclass.c: Likewise.
2166         * reorg.c: Likewise.
2167         * rtl.h: Likewise.
2168         * stmt.c: Likewise.
2169         * tree.h: Likewise.
2170         * doc/cpp.texi: Likewise.
2171         * doc/c-tree.texi: Likewise.
2172         * doc/extend.texi: Likewise.
2173         * doc/invoke.texi: Likewise.
2174         * doc/objc.texi: Likewise.
2175         * doc/tm.texi: Likewise.
2176
2177 2001-10-08  Richard Henderson  <rth@redhat.com>
2178
2179         * varasm.c (set_named_section_flags): Initialize "declared".
2180
2181 2001-10-08  Robert Lipe  <robertlipe@usa.net>
2182
2183         * varasm.c (struct in_named_entry): Add declared.
2184         (named_section_first_declaration): New function.
2185         (default_elf_asm_named_section): Use it.
2186         * output.h (named_section_first_declaration): New.
2187
2188 2001-10-08  Richard Henderson  <rth@redhat.com>
2189
2190         * i386.md (movsi_xor): Export.
2191         (setcc peep2): Use it when available; add an alternative to
2192         match zero_extendhisi2_and.
2193
2194 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2195
2196         * romp-protos.h (romp_initialize_trampoline): New function.
2197         * romp.c (romp_initialize_trampoline): Likewise.
2198         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
2199         romp_initialize_trampoline.
2200
2201 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2202
2203         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
2204         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
2205         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
2206         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
2207
2208 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2209
2210         * unroll.c (loop_iterations): Extend check for multiple back edges.
2211
2212 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
2213
2214         * langhooks.h: New file.
2215         * Makefile.in (OBJS): Added langhooks.o.
2216         (c-lang.o): Depend on langhooks.h.
2217         (c-common.o): Don't depend on tree-inline.h.
2218         (tree-inline.o): Depend on toplev.h.
2219         (langhooks.o): New rule.
2220         * c-common.c: Don't include tree-inline.h.
2221         (c_mark_lang_decl): Mark argument c as unused.
2222         (c_common_lang_init): Don't initialize hooks here.
2223         * c-lang.c: Include langhooks.h, then override some macros.
2224         (lang_hooks): Initialize with macros in langhooks.h.
2225         (c_init): Don't initialize hooks here.
2226         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
2227         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
2228         * tree-inline.c: Include toplev.h.  Don't define hook variables.
2229         * tree-inline.h: Don't define hook types nor declare hook
2230         variables.  Move macros to...
2231         * langhooks.c: ... new file, as functions.  Adjust all callers.
2232
2233 2001-10-08  Jeffrey A Law  <law@cygnus.com>
2234
2235         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
2236         purge_mem_unchanging_flag on all instructions, not just on those
2237         before NOTE_INSN_FUNCTION_BEG.
2238
2239 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2240
2241         * cppmacro.c (_cpp_create_definition): Leave comments off.
2242
2243         * doc/cpp.texi: Update.
2244
2245 2001-10-08  DJ Delorie  <dj@redhat.com>
2246
2247         * c-decl.c (grokfield): Make sure the only unnamed fields
2248         we're allowing are either structs or unions.
2249         * doc/extend.texi: Add documentation for the unnamed field
2250         extension.
2251
2252 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
2253
2254         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
2255         * configure.in: Use it.
2256         * configure: Regenerated.
2257         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
2258         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
2259
2260 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2261
2262         * cppfiles.c (open_file): Don't mark zero-length files
2263         never-reread here.  Don't output diagnostics here either.
2264         (stack_include_file): Mark them never-reread here.
2265         (_cpp_read_file): Update.
2266
2267 2001-10-08  Richard Henderson  <rth@redhat.com>
2268
2269         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
2270
2271 2001-10-08  Richard Henderson  <rth@redhat.com>
2272
2273         * expr.c (store_expr): When converting a CONST_INT for storage
2274         in a SUBREG, convert it to both SUBREG modes before stripping
2275         the SUBREG.
2276
2277 2001-10-08  Richard Henderson  <rth@redhat.com>
2278
2279         * varasm.c (restore_varasm_status): New.
2280         * function.h: Declare it.
2281         * function.c (pop_function_context_from): Call it.
2282
2283 2001-10-08  Richard Henderson  <rth@redhat.com>
2284
2285         * c-common.h (struct c_lang_decl): Add declared_inline.
2286         * c-tree.h (DECL_DECLARED_INLINE_P): New.
2287         * c-lang.c (c_disregard_inline_limits): Use it.
2288         * c-decl.c (duplicate_decls): Likewise.
2289         (pushdecl, redeclaration_error_message): Likewise.
2290         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
2291         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
2292         Set DECL_INLINE if -finline-functions.
2293         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
2294
2295 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2296
2297         * cppmacro.c (funlike_invocation_p): Move some logic to caller
2298         in enter_macro_context.  Create a padding token in its own context
2299         if necessary when the search for '(' fails.
2300         (enter_macro_context): Update.
2301
2302 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2303
2304         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
2305         genmultilib, toplev.c: Fix spelling errors of "separate" as
2306         "seperate", and corresponding spelling errors of related words.
2307
2308 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2309
2310         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
2311         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
2312         Likewise.
2313         * c-dump.c (dump_option_value_info): Likewise.
2314         * c-format.c (format_length_info, format_char_info,
2315         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
2316         * collect2.c (names): Likewise.
2317         * cppdefault.h (default_include): Likewise.
2318         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
2319         * flow.c (life_analysis): Likewise.
2320         * gcc.c (dir_separator_str, modify_target, option_map,
2321         target_option_translations, spec_list_1, extra_specs_1,
2322         init_spec): Likewise.
2323         * gcov.c (gcov_version_string): Likewise.
2324         * genattr.c (write_units): Likewise.
2325         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
2326         * gengenrtl.c (rtx_definition, defs): Likewise.
2327         * genrecog.c (pred_table): Likewise.
2328         * global.c (global_alloc): Likewise.
2329         * lcm.c (optimize_mode_switching): Likewise.
2330         * local-alloc.c (find_free_reg): Likewise.
2331         * params.h (param_info): Likewise.
2332         * predict.c (predictor_info): Likewise.
2333         * protoize.c (unexpansion_struct): Likewise.
2334         * real.c (bmask): Likewise.
2335         * recog.h (insn_operand_data, insn_data): Likewise.
2336         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
2337         * stmt.c (expand_nl_goto_receiver): Likewise.
2338         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
2339         target_switches, target_options): Likewise.
2340         * tradcif.y (token, tokentab2, yylex): Likewise.
2341         * tree.h (attribute_spec): Likewise.
2342
2343         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
2344         Likewise.
2345         * arc.c (arc_output_function_epilogue): Likewise.
2346         * arm.c (processors, all_cores, all_architectures,
2347         arm_override_options, isr_attribute_arg, isr_attribute_args,
2348         arm_isr_value): Likewise.
2349         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
2350         Likewise.
2351         * c4x.c (c4x_int_reglist): Likewise.
2352         * d30v.c (override_options): Likewise.
2353         * h8300.c (shift_insn): Likewise.
2354         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
2355         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
2356         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
2357         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
2358         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
2359         * i386.h (processor_costs, ix86_cost): Likewise.
2360         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
2361         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
2362         * m68k.c (codes_68881, codes_FPA): Likewise.
2363         * m88k.c (mode_from_align, max_from_align, all_from_align,
2364         best_from_align, m_options): Likewise.
2365         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
2366         * mcore.c (mode_from_align): Likewise.
2367         * mips/elf64.h (UNIQUE_SECTION): Likewise.
2368         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
2369         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
2370         * mips.h (mips_regno_to_class): Likewise.
2371         * ns32k.c (scales): Likewise.
2372         * pa.c (import_string, magic_milli): Likewise.
2373         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
2374         * sparc.c (leaf_reg_remap, sparc_override_options,
2375         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
2376         Likewise.
2377         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
2378
2379 2001-10-07  Dale Johannesen  <dalej@apple.com>
2380
2381         * reload1.c (reload_reg_free_p): Teach register interference
2382         checking that multiple output reloads are emitted in
2383         reverse order.
2384         reload1.c (reload_reg_reaches_end_p):  Ditto.
2385         reload1.c (reloads_conflict):  Ditto.
2386
2387 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2388
2389         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
2390         NULL_TREE inside @code.
2391
2392 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2393
2394         * doc/gcc.texi: Document consistent style of "32-bit",
2395         "Objective-C", and "@code{NULL}".
2396
2397 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
2398
2399         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
2400         (cpp_token_len, cpp_spell_token, cpp_output_token,
2401         _cpp_equiv_tokens): Handle it.
2402         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
2403         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
2404         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
2405         error messages.
2406
2407 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2408
2409         * gcc.c (default_compilers): Remove .ada.
2410
2411 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
2412
2413         * doc/cppinternals.texi: Update.
2414
2415 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
2416
2417         * gcc.c (main): Set this_file_error if the appropriate
2418         compiler for a language has not been installed.
2419
2420 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
2421
2422         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
2423
2424 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
2425
2426         * gccbug.in (CATEGORIES): Add ada.
2427
2428 2001-10-05  Catherine Moore  <clm@redhat.com>
2429
2430         * config/stormy16/stormy-abi:  Document abi changes.
2431         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
2432         (ICALL_REGS): New register class.
2433         (NUM_ARGUMENT_REGISTERS): Now 6.
2434         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
2435         in registers.
2436         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
2437         * config/stormy16.md (call_internal, call_value_internal,
2438         indirect_jump): Use new 'z' constraint.
2439
2440 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2441
2442         * doc/cppinternals.texi: Update.
2443
2444 2001-10-05  Richard Henderson  <rth@redhat.com>
2445
2446         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
2447         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
2448         the gas section-name-as-label feature.
2449
2450 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2451
2452         * doc/cppinternals.texi: Update.
2453
2454 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2455
2456         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
2457         to ensure valid SImode constants.
2458
2459 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
2460
2461         * Makefile.in (c-decl.o): Depend on tree-inline.h.
2462         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
2463         * c-decl.c: Include tree-inline.h.
2464         (c_expand_body): Call optimize_inline_calls. Determine whether
2465         a function is inlinable upfront, and only clear
2466         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
2467         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
2468         (c_disregard_inline_limits): New function.
2469         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
2470         (c_post_options): Enable tree inlining if inlining is enabled.
2471         Don't inline trees when instrumenting functions.
2472         (c_init): Initialize lang_disregard_inline_limits and
2473         lang_cannot_inline_tree_fn.
2474         * tree-inline.c (initialize_inlined_parameters): Handle calls
2475         with fewer arguments than declared parameters, and fewer
2476         parameters than passed arguments.  Don't assume value is a
2477         DECL.
2478         (declare_return_variable): Convert return value back to the
2479         original type, if it was promoted.
2480         (tree_inlinable_function_p): New function.
2481         (inlinable_function_p): Don't look at DECL_INLINE if we're
2482         inlining all functions.  Make it work with a NULL id.
2483         Re-check DECL_UNINLINABLE after language-specific checks.
2484         * tree-inline.h (tree_inlinable_function_p): Declare it.
2485         * integrate.c (save_for_inline): Don't bother to prepare argvec
2486         when not inlining.
2487         * cse.c (check_for_label_ref): Don't check deleted labels.
2488
2489         * Makefile.in (tree-inline.o): Depend on newly-included headers.
2490         * tree-inline.c: Include headers needed for the functions moved in.
2491         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
2492         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
2493         (copy_body, initialize_inlined_parameters): Likewise.
2494         (declare_return_variable, inlinable_function_p): Likewise.
2495         (expand_call_inline, expand_calls_inline): Likewise.
2496         (optimize_inline_calls, clone_body): Likewise.
2497         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
2498         (copy_tree_r, remap_save_expr): Likewise.
2499
2500 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
2501
2502         * Makefile.in (OBJS): Added tree-inline.o.
2503         (c-common.o): Depend on tree-inline.h.
2504         (tree-inline.o): New target.
2505         * c-common.c: Include tree-inline.h.
2506         (c_mark_lang_decl): Don't mark saved_tree.
2507         (c_common_lang_init): Set lang_anon_aggr_type_p.
2508         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
2509         (struct c_lang_decl): Moved saved_tree to tree_decl.
2510         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
2511         * integrate.h (function_attribute_inlinable_p): Declare it.
2512         * integrate.c (function_attribute_inlinable_p): Export it.
2513         * tree-inline.c: New file.  Define variables declared in...
2514         * tree-inline.h: New file.  Declare functions to be moved to
2515         tree-inline.c.  Define macros and declare types and hooks for
2516         language-specific tree inlining.
2517         (flag_inline_trees): Moved definition from cp/decl2.c.
2518         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
2519         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
2520         (struct tree_decl): Moved saved_tree from c_lang_decl and
2521         inlined_fns from C++'s lang_decl.
2522
2523 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
2524
2525         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
2526         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
2527
2528 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
2529
2530         * doc/cppinternals.texi: Update.
2531
2532 2001-10-04  Eric Christopher  <echristo@redhat.com>
2533
2534         * config/mips/mips.c (init_cumulative_args): Remember to set
2535         cum->prototype.
2536         * config.gcc: Redo linux configuration. Add target_cpu_default
2537         of soft-float to all mipsisa32 combinations and tx39.
2538         * config/mips/linux.h: Remove include of mips.h.
2539
2540 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
2541
2542         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
2543         HOST_LDFLAGS and HOST_CPPFLAGS.
2544
2545 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
2546
2547         * c-parse.in (objc_inherit_code, objc_pq_context,
2548         objc_public_flag): Make static.
2549         (objc_interface_context, objc_implementation_context,
2550         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
2551         global tree array in objc/objc-act.[ch].
2552         (methoddef): Remove unnecessary code.
2553
2554         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
2555         Hoist struct definitions to objc-act.h.
2556         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
2557         cat_count): Place declaration in objc-act.h.
2558         (objc_tree_index): Move enumeration to objc-act.h.
2559         (objc_global_trees): Place declaration and macro accessors in
2560         objc-act.h.
2561         (implementation_context): Remove duplicate; use
2562         objc_implementation_context instead:
2563         (method_context): Remove duplicate; use objc_method_context
2564         instead.
2565         (objc_ellipsis_node, objc_method_prototype_template,
2566         implemented_classes, function_type): Move global vars to
2567         objc_global_trees.
2568         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
2569         (build_message_expr): Move actual construction of ObjC message
2570         send nodes to finish_message_expr.
2571         (finish_message_expr): New routine, contains code formerly in
2572         build_message_expr.
2573         * objc/objc-act.h (finish_message_expr): New prototype.
2574         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
2575         declarations; these vars are now part of objc_global_trees.
2576         (objc_tree_index, objc_global_trees): Move definitions from
2577         objc-act.c.
2578         * objc/objc-tree.def: Update copyright info.
2579
2580 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
2581
2582         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
2583         op is NULL.
2584         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
2585         only if TARGET_ARCH64.
2586
2587 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
2588
2589         * doc/extend.texi: Fix some problems with previous checkin.
2590         * doc/invoke.texi: Likewise.
2591
2592 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
2593
2594         * cpphash.h: Update comments.
2595         (cpp_context): Update.
2596         (spec_nodes): Remove n__Pragma.
2597         * cppinit.c (cpp_create_reader): Update.
2598         (builtin_array): Add _Pragma.
2599         * cpplib.h: Update comments.
2600         (NODE_DISABLED, BT_PRAGMA): New.
2601         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
2602         * cppmacro.c (struct cpp_macro): Remove disabled.
2603         (builtin_macro): Return int, handle _Pragma, push the new token
2604         on the context stack.
2605         (funlike_invocation_p): Unconstify, update.
2606         (enter_macro_context): Handle builtins here.
2607         (replace_args, push_token_context, push_ptoken_context):
2608         Update for prototype changes.
2609         (_cpp_pop_context): Update.
2610         (cpp_get_token): Don't handle buitins, nor _Pragma here.
2611         (cpp_sys_macro_p): Update.
2612         (_cpp_free_definition): Clear disabled flag.
2613         (_cpp_create_definition): Upate.
2614         * cppmain.c: Update comments.
2615
2616 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
2617                                 Andreas Jaeger <aj@suse.de>,
2618                                 Jan Hubicka    <jh@suse.cz>
2619
2620         * doc/invoke.texi (i386 Options): Document x86-64 options.
2621         (i386 and x86-64 Options): Rename i386 options section.
2622
2623         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
2624         (TARGET_SWITCHES): Add -munwind-info.
2625         (MASK_NO_UNWIND_INFO): New.
2626         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
2627         biarch compilation.
2628         (ASM_OUTPUT_DOUBLE_INT): New.
2629
2630         * config/i386/linux64.h: New spec file for Linux x86-64 support.
2631         * config.gcc: Fix tm_file settings for x86-64.
2632         * config/i386/x86-64.h: New file with OS independent x86-64
2633         definitions.
2634         * config/i386/biarch64.h: New file used to configure compiler
2635         to biarch/64bit compilation.
2636
2637         * config/i386/i386.c: (override_options): Set flags default
2638         for 64bit compilation.
2639
2640 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
2641
2642         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
2643         (ix86_expand_int_movcc): Optimize DImode conditional moves with
2644         constants on x86_64.
2645         (ix86_attr_length_immediate_default): Support MODE_DI.
2646         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
2647         condition.
2648         (indirect_jump, tablejump): Turn into expander.
2649
2650 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
2651
2652         * c-common.c (c_format_attribute_table): Make format and
2653         format_arg attributes apply to function types rather than to
2654         decls.
2655         (is_valid_printf_arglist): Construct an attribute list and pass
2656         that to check_function_format rather than a name.
2657         * c-common.h (check_function_format): Adjust prototype.
2658         * c-decl.c (duplicate_decls): Preserve attributes from type of
2659         built-in decl when allowing for harmless conflict in types.
2660         * c-format.c (record_function_format,
2661         record_international_format, function_format_list,
2662         international_format_info, international_format_list): Remove.
2663         (function_format_info): Remove next, name and assembler_name.
2664         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
2665         (decode_format_attr): New.
2666         (handle_format_attribute): Handle receiving a type rather than a
2667         decl.  Call decode_format_attr.  Store format information in a
2668         function_format_info.
2669         (handle_format_arg_attribute): Correct comment.  Handle receiving
2670         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
2671         arg_num.
2672         (check_format_info_recurse, check_format_info_main): Take argument
2673         numbers as unsigned HOST_WIDE_INT.
2674         (check_function_format): Take a list of attributes from the
2675         function type rather than a name or assembler name.  Check for
2676         format attributes in that list and the attributes on the type of
2677         the current function rather than looking through
2678         function_format_list.
2679         (check_format_info): Use unsigned HOST_WIDE_INT for argument
2680         numbers.
2681         (check_format_info_recurse): Take format_arg attributes from the
2682         type of the function calls rather than using
2683         international_format_list.  Allow for multiple format_arg
2684         attributes.
2685         * c-typeck.c (build_function_call): Pass type attributes to
2686         check_function_format rather than name or assembler name.  Don't
2687         require there to be a name or assembler name to check formats.
2688
2689 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
2690
2691         * attribs.c (decl_attributes): Possibly call
2692         insert_default_attributes to insert default attributes on
2693         functions in a lazy manner.
2694         * builtin-attrs.def: New file; define the default format and
2695         format_arg attributes.
2696         * c-common.c (c_format_attribute_table): Move to earlier in the
2697         file.
2698         (c_common_nodes_and_builtins): Initialize format_attribute_table.
2699         (enum built_in_attribute, built_in_attributes,
2700         c_attrs_initialized, c_init_attributes,
2701         c_common_insert_default_attributes): New.
2702         (c_common_lang_init): Don't initialize format_attribute_table.  Do
2703         call c_init_attributes.
2704         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
2705         * c-common.h (init_function_format_info): Don't declare.
2706         (c_common_insert_default_attributes): Declare.
2707         * c-decl.c (implicitly_declare, builtin_function): Call
2708         decl_attributes.
2709         (init_decl_processing): Don't call init_function_format_info.
2710         (insert_default_attributes): New.
2711         * c-format.c (handle_format_attribute,
2712         handle_format_arg_attribute): Be quiet about inappropriate
2713         declaration when applying default attributes.
2714         (init_function_format_info): Remove.
2715         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
2716         (insert_default_attributes): Declare.
2717
2718 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
2719
2720         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
2721
2722 2001-10-01  Jim Wilson  <wilson@redhat.com>
2723
2724         * sched-deps.c (add_dependence): When elide conditional dependence,
2725         check that insn doesn't modify cond2.
2726
2727 2001-10-01  Dale Johannesen  <dalej@apple.com>
2728
2729         * config/rs6000/rs6000.h (enum processor_type): Add support
2730         for 7400 (G4) and 7450.
2731         (RTX_COSTS): Ditto.
2732         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
2733         (rs6000_issue_rate): Ditto.
2734         (rs6000_adjust_cost): Fix cycle counts for compares.
2735         (debug_stack_info):  Fix an obvious typo.
2736         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
2737         * doc/invoke.texi: Document.
2738         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
2739         for Darwin.
2740         (PROCESSOR_DEFAULT): Ditto.
2741
2742 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
2743
2744         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
2745         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
2746         later recursive make invocation.
2747
2748 2001-10-01  Hans Boehm  <boehm@acm.org>
2749
2750         * optabs.c (emit_libcall_block): When using non-call exceptions,
2751         don't add REG_LIBCALL reg notes to trapping calls.
2752
2753 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
2754
2755         * flow.c (propagate_block_delete_libcall): Remove unused first arg
2756         (propagate_one_insn):  Update for above change
2757
2758 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
2759
2760         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
2761         _Unwind_GetTextRelBase): Argument is unused.
2762
2763 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2764
2765         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
2766         Loop through NOPs, placeholders, and components.
2767         Don't go through NOPs if change mode.
2768         (record_alias_subset): Do nothing if SUBSET and SET are the same.
2769         * emit-rtl.c (set_mem_alias_set): Enable check.
2770         * expr.c (find_placeholder): New function.
2771         (expand_expr, case PLACEHOLDER_EXPR): Use it.
2772         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
2773         to modify it and avoid unneeded copies.
2774         * expr.h (expand_expr): Always define.
2775         (find_placeholder): New declaration.
2776
2777 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2778
2779         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
2780         operand 2 is the stack pointer.
2781         ("addr-peephole"): Fix address computation peephole when operand 2
2782         is the stack pointer.
2783
2784 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2785
2786         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
2787         (ix86_setup_incoming_varargs): Likewise.
2788
2789 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
2790
2791         * stor-layout.c (layout_type): Don't complain about too-large
2792         array here.
2793
2794 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2795
2796         * function.c (keep_stack_depressed): Don't use delete_insn.
2797
2798         * expr.h (set_mem_alias_set): Move decl to here.
2799         * rtl.h (mem_attrs): New typedef and struct.
2800         (union rtunion_def): Add field for mem_attrs.
2801         (X0MEMATTR, MEM_ATTRS): New macros.
2802         (MEM_ALIAS_SET): Use MEM_ATTRS.
2803         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
2804         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
2805         (set_mem_alias_set): Delete decl from here.
2806
2807         * alias.c (set_mem_alias_set): Delete from here.
2808         * emit-rtl.c (mem_attrs_htab): New variable.
2809         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
2810         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
2811         (mem_attrs_mark, get_mem_attrs): Likewise.
2812         (gen_rtx_MEM): Clear MEM_ATTRS.
2813         (set_mem_attributes): Move to here.
2814         (set_mem_alias_set): Likewise, and call get_mem_attrs.
2815         (init_emit_once): const_int_htab now deletable htab.
2816         Initialize mem_attrs_htab.
2817         * explow.c (set_mem_attributes): Delete from here.
2818         * function.c (put_var_into_stack): Clear MEM_ATTRS.
2819         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
2820         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
2821         * reload1.c (reload): Rework changing REG to MEM.
2822
2823 2001-09-30  H.J. Lu <hjl@gnu.org>
2824
2825         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
2826         * config.in: Rebuild.
2827
2828 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2829
2830         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
2831         ("tsthi_1"): Avoid allocation in register y.
2832         ("*movqi_68hc12"): Reorganize and fix constraints.
2833         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
2834         ("addqi3"): Likewise.
2835         ("addhi3"): Fix constraints.
2836         ("*logicalhi3_zexthi"): Disparage soft registers.
2837
2838 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2839
2840         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
2841         to tmp reg.
2842
2843 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2844
2845         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
2846         that we use setjmp/longjmp exceptions.
2847
2848 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
2849
2850         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
2851         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
2852         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
2853         _cpp_pool_alloc, _cpp_next_chunk): Remove.
2854         (_cpp_extend_buff, BUFF_ROOM): Update.
2855         (_cpp_append_extend_buff): New.
2856         (struct cpp_reader): Remove macro_pool, add a_buff.
2857         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
2858         macro_pool.
2859         (cpp_destroy): Free a_buff instead of macro_pool.
2860         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
2861         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
2862         _cpp_pool_alloc, ): Remove.
2863         (parse_number, parse_string): Update use of _cpp_extend_buff.
2864         (_cpp_extend_buff): Update.
2865         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
2866         * cpplib.c (glue_header_name, parse_answer):
2867         Update use of _cpp_extend_buff.
2868         (cpp_register_pragma, cpp_register_pragma_space): Use
2869         _cpp_aligned_alloc.
2870         (do_assert, do_unassert): Check for EOL, update.
2871         * cppmacro.c (stringify_arg, collect_args): Update to use
2872         _cpp_extend_buff and _cpp_append_extend_buff.
2873         (save_parameter, parse_params, alloc_expansion_token,
2874         _cpp_create_definition): Rework memory management.
2875
2876 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
2877
2878         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
2879         update md_exec_prefix.
2880         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
2881         to string constant.
2882
2883 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
2884
2885         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
2886         (SELECT_CC_MODE): Use s390_select_ccmode.
2887         * config/s390/s390-protos.h (s390_select_ccmode): Add.
2888         * config/s390/s390.c (s390_select_ccmode): New.
2889         (s390_match_ccmode): Add CCLmode.
2890         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
2891         (output_branch_condition, output_inverse_branch_condition): Removed.
2892         (print_operand): Use s390_branch_condition_mnemonic.
2893         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
2894         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
2895         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
2896
2897         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
2898         when converting conditional branches to far branches.
2899         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
2900         cmpint_di): Use CCSmode instead of CCUmode.
2901
2902         * config/s390/s390.c (legitimate_la_operand_p): New.
2903         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
2904         * config/s390/s390.md (movsi): Convert load address patterns to
2905         arithmetic operations when necessary.
2906         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
2907         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
2908         (*do_la_reg_0): Don't use before reload.
2909
2910         * config/s390/s390.c (legitimize_address): Make more efficient
2911         use of two-register addressing mode.
2912
2913         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
2914         with -mno-backchain in some corner cases.
2915
2916         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
2917
2918 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
2919
2920         * reload.c (find_reloads): Mark new USE insns with QImode.
2921         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
2922         find_reloads_subreg_address): Likewise.
2923         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
2924         encountered.
2925         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
2926         CLOBBERs.
2927         (reload): Make sure there are no USEs with mode other than
2928         VOIDmode.  At the end, remove those marked with QImode.
2929
2930 2001-09-29  Per Bothner  <per@bothner.com>
2931
2932         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
2933         * Makefile.in (includedir):  Rename to local_includedir.
2934         (includedir):  Define as $(prefix)/include.
2935         * config.in (PREFIX_INCLUDE_DIR):  New variable.
2936         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
2937
2938 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
2939
2940         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
2941         storehps builtins.
2942         * doc/extend.texi (Vector Extensions): New node.
2943         * doc/invoke.texi (Machine Dependent Options): Add documentation for
2944         i386 -mmmx, -msse, -m3dnow.
2945
2946 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
2947
2948         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
2949
2950 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
2951
2952         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
2953
2954         * doc/invoke.texi (Optimize Options): Delete spurious @table.
2955
2956 2001-09-28  Richard Henderson  <rth@redhat.com>
2957
2958         * varasm.c (assemble_integer): Bound alignment check by
2959         BIGGEST_ALIGNMENT.
2960
2961         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
2962
2963 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2964
2965         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
2966
2967 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
2968
2969         Mostly from Graham Stott  <grahams@redhat.com>
2970         * c-common.c (type_for_mode): Add support for V2SFmode.
2971         * tree.c (build_common_tree_nodes_2): Likewise.
2972         * tree.h (enum tree_index, global_trees): Likewise.
2973         * config/i386/i386.c (x86_3dnow_a): New variable.
2974         (override_options): Support 3Dnow extensions.
2975         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
2976         Athlon's version of 3Dnow.
2977         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
2978         (ix86_expand_builtin): Handle them.
2979         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
2980         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
2981         TARGET_3DNOW_A): New macros.
2982         (TARGET_SWITCHES): Add 3Dnow switches.
2983         (VALID_MMX_REG_MODE_3DNOW): New macro.
2984         (VECTOR_MODE_SUPPORTED_P): Use it.
2985         (enum ix86_builtins): Add entries for 3Dnow builtins.
2986         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
2987         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
2988         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
2989         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
2990         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
2991         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
2992         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
2993         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
2994         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
2995         sfence_insn, prefetch): Make these available if TARGET_SSE or
2996         TARGET_3DNOW_A.
2997
2998 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
2999
3000         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
3001         ix86_va_start, ix86_build_va_list): Declare.
3002         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
3003         ix86_va_start, ix86_build_va_list): New global functions.
3004         * i386.md (sse_prologue_save_insn): New insn.
3005         (sse_prologue_save): New expander.
3006         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
3007         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
3008
3009 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
3010
3011         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
3012         Use size_t everywhere, make definitions consistent with
3013         prototypes.
3014
3015 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
3016
3017         * gcse.c (replace_store_insn): Use delete_insn.
3018         * loop.c (move_movables): Likewise; avoid delete_insn
3019         from clobbering notes moved elsewhere.
3020         (check_dbra_loop): Use delete_insn.
3021         * ssa.c (convert_from_ssa): Likewise.
3022         * cse.c (cse_insn): Use delete_insn.
3023
3024 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
3025
3026         * cpphash.h (struct cpp_buff): Make unsigned.
3027         (_cpp_get_buff): Take length of size_t.
3028         (_cpp_unaligned_alloc): New.
3029         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
3030         (struct cpp_reader): Remove ident_pool.  Add u_buff.
3031         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
3032         (cpp_destroy): Destroy u_buff, not ident_pool.
3033         * cpplex.c (parse_number, parse_string, save_comment,
3034         cpp_token_as_text): Update to use the unaligned buffer.
3035         (new_buff): Make unsigned.
3036         (_cpp_unaligned_alloc): New.
3037         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
3038         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
3039         Similarly.
3040         (collect_args): Make unsigned.
3041
3042 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
3043
3044         * cpplex.c (cpp_output_token): Use a putc loop for
3045         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
3046
3047         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
3048         * configure, config.in: Regenerate.
3049         * system.h: Replace fwrite and fprintf with their unlocked
3050         variants if available.
3051
3052 2001-09-27  Richard Henderson  <rth@redhat.com>
3053
3054         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
3055         in favour of .eh_frame.
3056
3057 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
3058
3059         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
3060         to macros.
3061         (LIBCALL_VALUE): Likewise.
3062
3063 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
3064
3065         * cpphash.h: Update comment.
3066         * cpplex.c: Update comments.
3067         (_cpp_can_paste): Remove.
3068         * cpplib.h (_cpp_can_paste): Remove.
3069         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
3070         lexer rather than _cpp_can_paste.
3071
3072 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
3073
3074         * doc/cppinternals.texi: Update.
3075
3076 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3077
3078         * cpphash.h (struct cpp_pool): Remove locks and locked.
3079         (struct cpp_context): Add member buff.
3080         (struct cpp_reader): Remove member argument_pool.
3081         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
3082         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
3083         * cpplex.c (chunk_suitable): Remove pool argument.
3084         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
3085         (new_buff, _cpp_extend_buff): Update.
3086         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
3087         which buffer is returned.
3088         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
3089         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
3090         * cppmacro.c (lock_pools, unlock_pools): Remove.
3091         (push_ptoken_context): Take a _cpp_buff.
3092         (enter_macro_context): Pool locking removed.
3093         (replace_args): Use a _cpp_buff for the replacement list with
3094         arguments replaced.
3095         (push_token_context): Clear buff.
3096         (expand_arg): Use _cpp_pop_context.
3097         (_cpp_pop_context): Free a context's buffer, if any.
3098
3099 2001-09-26  DJ Delorie  <dj@redhat.com>
3100
3101         * c-typeck.c (digest_init): Check for sizeless arrays.
3102
3103 2001-09-26  Richard Henderson  <rth@redhat.com>
3104
3105         * optabs.c (init_one_libfunc): Create a dummy function type
3106         instead of using error_mark_node.
3107
3108 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3109
3110         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
3111         _cpp_extend_buff, _cpp_free_buff): New.
3112         (struct cpp_reader): New member free_buffs.
3113         * cppinit.c (cpp_destroy): Free buffers.
3114         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
3115         _cpp_extend_buff, _cpp_free_buff): New.
3116         * cpplib.h (struct cpp_options): Remove unused member.
3117         * cppmacro.c (collect_args): New.  Combines the old parse_arg
3118         and parse_args.  Use _cpp_buff for memory allocation.
3119         (funlike_invocation_p, replace_args): Update.
3120
3121 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
3122
3123         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
3124
3125 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
3126
3127         * except.c (sjlj_mark_call_sites): Change address inside sequence.
3128
3129 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
3130
3131         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
3132         glibc.
3133
3134 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
3135             Jim Wilson  <wilson@redhat.com>
3136
3137         * doc/install.texi (Specific, ia64-*-linux): Document.
3138
3139 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
3140
3141         * Makefile.in (cfgrtl.o): Add.
3142         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
3143         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
3144         free_aux_for_edge): Declare.
3145         * cfg.c
3146         (HAVE_return): Undefine.
3147         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
3148         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
3149         free_aux_for_edge): New global functions.
3150         (first_delete_block): New static variable.
3151         (init_flow): Clear first_delete_block.
3152         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
3153          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
3154          try_redirect_by_replacing_jump, last_loop_beg_note,
3155          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
3156          delete_insn, delete_insn_chain, create_basic_block_structure,
3157          create_basic_block, flow_delete_block, compute_bb_for_insn,
3158          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
3159          set_block_for_new_insns, split_block, merge_blocks_nomove,
3160          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
3161          redirect_edge_and_branch, force_nonfallthru_and_redirect,
3162          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
3163          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
3164          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
3165          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
3166          purge_all_dead_edges): Move to ....
3167         * cfgrtl.c: New file; .... Here.
3168
3169         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
3170         (reroder_basic_block): Use alloc_aux_for_blocks.
3171         * predict.c (estimate_bb_frequencies): Likewise; use
3172         alloc_aux_for_edges.
3173         * profile.c (compute_branch_probabilities): Likewise.
3174         (branch_prob): Likewise.
3175         * reg-stack.c (reg_to_stack): Likewise.
3176
3177         * emit-rtl.c (emit_insns_after): Never return NULL.
3178
3179         * basic-block.h (set_block_for_new_insns): Delete.
3180         * cfgrtl.c (set_block_for_new_insns): Delete.
3181
3182         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
3183         calls when crossjumping.
3184
3185         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
3186         * unroll.c (copy_loop_body): Use delete_insn.
3187
3188         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
3189         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
3190         keep_stack_depressed): Likewise.
3191         * gcse.c (cprop_cc0_jump): Likewise.
3192         * local-alloc.c (update_equiv_regs): Likewise.
3193         * loop.c (scan_loop, loop_delete_insns): Likewise.
3194         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
3195         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
3196         delete_output_reload, delete_address_reloads_1,
3197         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
3198         Likewise.
3199         * sibcall.c (replace_call_placeholder): Likewise.
3200         * cse.c (cse_insn): Likewise.
3201
3202 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
3203
3204         From Graham Stott  <grahams@redhat.com>
3205         (def_builtin): Only define builtins appropriate for target_flags.  All
3206         callers changed.
3207         (builtin_decsription): Add new field mask which is used to determine
3208         when to define the builtin via the macro def_builtin.
3209
3210         (bdesc_comi): Initialise new mask fields.
3211         (bdesc_2srg): Likewise.
3212         (bdesc_1arg): Likewise.
3213
3214         * config/i386/i386.c (ix86_init_builtins): Correct return type
3215         building v4hi_ftype_v4hi_int_int tree node.
3216         (ix86_expand_sse_comi): Fix typo swapping operands.
3217         Don't swap comparision condition, it is already swapped.
3218         (ix86_expand_sse_compare): Before swapping operands
3219         move operand 1 into new rtx and not the target rtx.
3220         Don't swap comparison condition, it is already swapped.
3221         Always check whether we need to create a new TARGET.
3222
3223         * config/i386/i386.md: (sse_comi) Fix typos.
3224         (sse_ucomi): Likewise.
3225         (cvtss2si): Fix operand 0 contraint.
3226         (cvttss2si): Likewise.
3227         (sse_unpckhps): Fix mode for operand 2.
3228         (sse_unpcklps): Likewise.
3229
3230 2001-09-25  Graham Stott  <grahams@redhat.com>
3231
3232         * sibcall.c (skip_copy_to_return_value): Tighten return value
3233         copy check.
3234
3235 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
3236
3237         * rs6000.c (lwa_operand): Address must be word aligned.
3238
3239 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3240
3241         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
3242         number has been set.
3243         (type_hash_mark): Mark type itself.
3244
3245 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
3246
3247         * c-lex.c (cb_def_pragma): Update.
3248         (c_lex): Update, and skip padding.
3249         * cppexp.c (lex, parse_defined): Update, remove unused variable.
3250         * cpphash.h (struct toklist): Delete.
3251         (union utoken): New.
3252         (struct cpp_context): Update.
3253         (struct cpp_reader): New members eof, avoid_paste.
3254         (_cpp_temp_token): New.
3255         * cppinit.c (cpp_create_reader): Update.
3256         * cpplex.c (_cpp_temp_token): New.
3257         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
3258         (cpp_output_token): Don't print leading whitespace.
3259         (cpp_output_line): Update.
3260         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
3261         do_include_common, do_line, do_ident, do_pragma,
3262         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
3263         parse_assertion): Update.
3264         (get_token_no_padding): New.
3265         * cpplib.h (CPP_PADDING): New.
3266         (AVOID_LPASTE): Delete.
3267         (struct cpp_token): New union member source.
3268         (cpp_get_token): Update.
3269         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
3270         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
3271         replace_args, quote_string, stringify_arg, parse_arg, next_context,
3272         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
3273         _cpp_backup_tokens, _cpp_create_definition): Update.
3274         (push_arg_context): Delete.
3275         (padding_token, push_token_context, push_ptoken_context): New.
3276         (make_string_token, make_number_token): Update, rename.
3277         (cpp_get_token): Update to handle tokens as pointers to const,
3278         and insert padding appropriately.
3279         * cppmain.c (struct printer): New member prev.
3280         (check_multiline_token): Constify.
3281         (do_preprocessing, cb_line_change): Update.
3282         (scan_translation_unit): Update to handle spacing.
3283         * scan-decls.c (get_a_token): New.
3284         (skip_to_closing_brace, scan_decls): Update.
3285         * fix-header.c (read_scan_file): Update.
3286
3287         * doc/cpp.texi: Update.
3288
3289 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3290
3291         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
3292         leak by passing malloc'ed pointer to reconcat, not concat.
3293
3294 2001-09-24  DJ Delorie  <dj@redhat.com>
3295
3296         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
3297
3298 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
3299
3300         * flow.c (delete_dead_jumptables): Delete jumptable if the only
3301         reference is from the literal pool.
3302
3303 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
3304
3305         * doc/install.texi (Final install): Request additional information
3306         in mail about successful builds.
3307
3308 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3309
3310         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
3311         initial value of return pointer register instead of value in frame-20.
3312         Revise comments.
3313
3314 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3315
3316         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
3317         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
3318         the libcall if there isn't a referenced identifier for the symbol.
3319
3320 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3321
3322         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
3323         non 64-bit machines.  Use these as a plabel for the trampoline.
3324         (TRAMPOLINE_SIZE): Adjust size for new words.
3325         (INITIALIZE_TRAMPOLINE): Initialize new words.
3326         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
3327         pointer to the plabel in the trampoline.
3328
3329 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3330
3331         * pa.c (function_arg): Pass floating arguments in both general and
3332         floating registers in indirect (dynamic) calls when generating code
3333         for the 32 bit ABI and the HP assembler.
3334
3335 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3336
3337         * doc/install.texi: Markup fixes.
3338         Use Solaris 2, SunOS 4 as appropriate.
3339         (Specific, *-*-solaris2*): Explain this.
3340         Unconditionally warn against /usr/ucb tools.
3341         Remove Sun as warning, obsolete.
3342         Move X11 header bug workaround here, update patches.
3343         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
3344         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
3345
3346 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
3347
3348         * errors.h (warning, error, fatal, internal_error): Don't mark
3349         with ATTRIBUTE_PRINTF_n.
3350         * toplev.h (internal_error, fatal_io_error, warning, error,
3351         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
3352         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
3353         Likewise.
3354
3355 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3356
3357         * function.c (pop_function_context_from): var_refs_queue
3358         and temp slots now in GC memory.
3359         (mark_function_status, free_after_compilation): Likewise;
3360         also struct function now in GC memory.
3361         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
3362         (combine_temp_slots): Likewise.
3363         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
3364         (prepare_function_start): Use GC memory for struct function.
3365         (mark_temp_slot): Deleted.
3366         (gcc_mark_struct_function): struct function now in GC memory.
3367
3368         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
3369         code for division, not modulus.
3370
3371         * rtl.def (MEM): Remove obsolete part of comment.
3372
3373 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
3374
3375         * c-format.c (init_function_format_info): Check __builtin_printf
3376         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
3377         in gnu89 mode.
3378
3379 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3380
3381         * c-common.c (format_attribute_table): Remove decl.
3382         * tree.h (format_attribute_table, lang_attribute_table): New decls.
3383         (lang_attribute_common): Likewise.
3384
3385         * function.c (fix_lexical_address): Use set_mem_alias_set.
3386         (expand_function_start): Likewise.
3387         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
3388
3389         * varasm.c (output_constant): Fix unused variable warning.
3390
3391         * attribs.c: New file, from c-common.c.
3392         (attribute_tables): Now four elements.
3393         (format_attribute_table, lang_attribute_common): New variables.
3394         (init_attributes): Reflect above changes.
3395         (handle_mode_attribute): Delete check for wider than uintmax.
3396         * c-common.c: Delete parts moved to attribs.c.
3397         (enum attrs): Deleted; unused.
3398         (c_format_attribute_table): New variable.
3399         (c_common_lang_init): Initialize format_attribute_table with it.
3400         * c-common.h (decl_attributes): Remove decl.
3401         * tree.h (decl_attribute): Move it to here.
3402         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
3403         (attribs.o): New rule.
3404
3405 2001-09-22  Andreas Jaeger  <aj@suse.de>
3406
3407         * builtins.c (c_getstr): Remove unused variable.
3408
3409 2001-09-21  Richard Henderson  <rth@redhat.com>
3410
3411         * reload1.c (reload): Use delete_insn instead of splatting
3412         NOTE_INSN_DELETED.
3413
3414 2001-09-21  Richard Henderson  <rth@redhat.com>
3415
3416         * reload.c (push_secondary_reload): Don't check for "=" in output
3417         constraint after ""->ALL_REGS check.
3418
3419 2001-09-21  Richard Henderson  <rth@redhat.com>
3420
3421         * predict.c (expected_value_to_br_prob): Use pc_set.
3422
3423         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
3424         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
3425
3426 2001-09-21  Richard Henderson  <rth@redhat.com>
3427
3428         * rtl.h (LCT_RETURNS_TWICE): New.
3429         * calls.c (emit_call_1): Set current_function_calls_setjmp for
3430         ECF_RETURNS_TWICE.
3431         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
3432         to ECF_RETURNS_TWICE.
3433         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
3434         call to setjmp.
3435
3436         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
3437
3438         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
3439         (JMP_BUF_SIZE): New.
3440
3441 2001-09-21  Richard Henderson  <rth@redhat.com>
3442
3443         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
3444         to R8_REGS.
3445
3446 2001-09-21  Richard Henderson  <rth@redhat.com>
3447
3448         * tree.def (FDESC_EXPR): New.
3449         * expr.c (expand_expr): Handle it.
3450         * varasm.c (initializer_constant_valid_p): Likewise.
3451         (output_constant): Likewise.
3452         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
3453         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
3454         (ASM_OUTPUT_FDESC): New.
3455         * doc/tm.texi: Document the new macros.
3456
3457 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
3458
3459         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
3460         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
3461         once merging is complete.
3462
3463 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3464
3465         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
3466
3467 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
3468
3469         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
3470         that would be invalid after a merge.
3471
3472 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
3473
3474         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
3475         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
3476         remove some labels.
3477         (flow_delete_insn): This one.
3478         (delete_insn_chain): Rename from ...; do not care labels.
3479         (flow_delete_insn_chain): ... this one.
3480         (flow_delete_block): Remove the insns one BB has been expunged.
3481         (merge_blocks_nomove): Likewise.
3482         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
3483         updating BB boundaries.
3484         (tidy_fallthru_edge): Likewise.
3485         (commit_one_edge_insertion): Likewise.
3486         * cfgbuild.c (find_basic_block): Likewise.
3487         (find_basic_blocks_1): Likewise.
3488         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
3489         (try_crossjump_to_edge): Likewise.
3490         (try_optimize_cfg): Likewise.
3491         * cse.c (delete_trivially_dead_insns): Likewise.
3492         * df.c (df_insn_delete): Likewise.
3493         * doloop.c (doloop_modify): Use delete_related_insns.
3494         * emit-rtl.c (try_split): Likewise.
3495         (remove_insn): Update BB boundaries.
3496         * expect.c (connect_post_landing_pads): Use delete_related_insns.
3497         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
3498         updating BB boundaries.
3499         (propagate_block_delete_insn): Likewise.
3500         (propagate_block_delete_libcall): Likewise.
3501         * function.c (delete_handlers): Use delete_related_insns.
3502         (thread_prologue_and_epilogue_insns): Likewise.
3503         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
3504         * genpeep.c (gen_peephole): Use delete_related_insns.
3505         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
3506         BB boundaries.
3507         (find_cond_trap): Likewise.
3508         * integrate.c (save_for_inline): Use delete_related_insns.
3509         (copy_insn_list): Likewise.
3510         * jump.c (pruge_linie_number_notes): Likewise.
3511         (duplicate_loop_exit_test): Likewise.
3512         (delete_computation): Likewise.
3513         (delete_related_insn): Rename from ...; use delete_insn
3514         (delete_insn): ... this one.
3515         (redirect_jump): Use delete_related_insns.
3516         * loop.c (scan_loop): Likewise.
3517         (move_movables): Likewise.
3518         (find_and_verify_loops): Likewise.
3519         (check_dbra_loop): Likewise.
3520         * recog.c (peephole2_optimize): Likewise.
3521         * reg-stack.c (delete_insn_for_stacker): Remove.
3522         (move_for_stack_reg): Use delete_insn.
3523         * regmove.c (combine_stack_adjustments_for_block): Likewise.
3524         * reload1.c (delete_address_reloads): Use delete_related_insns.
3525         (fixup_abnormal_edges): Use delete_insn.
3526         * recog.c (emit_delay_sequence): Use delete_related_insns.
3527         (delete_from-delay_slot): Likewise.
3528         (delete_scheduled_jump): likewise.
3529         (optimize_skip): Likewise.
3530         (try_merge_delay_insns): Likewise.
3531         (full_simple_delay_slots): Likewise.
3532         (fill_slots_from_thread): Likewise.
3533         (relax_delay_slots): Likewise.
3534         (make_return_insns): Likewise.
3535         (dbr_schedule): Likewise.
3536         * rtl.h (delete_insn): Rename to delete_related_insns.
3537         (delete_insn, delete_insn_chain): New prototypes.
3538         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
3539         by df_insn_delete already.
3540         * ssa-dce.c (delete_insn_bb): Use delete_insn.
3541         * ssa.c (convert_from_ssa): Use delete_related_insns.
3542         * unroll.c (unroll_loop): Likewise.
3543         (calculate_giv_inc): Likewise.
3544         (copy_loop_body): Likewise.
3545
3546         * i386-protos.h (ix86_libcall_value, ix86_function_value,
3547         ix86_function_arg_regno_p, ix86_function_arg_boundary,
3548         ix86_return_in_memory, ix86_function_value): Declare.
3549         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
3550         new static valurables.
3551         (x86_64_reg_class): New enum
3552         (x86_64_reg_class_name): New array.
3553         (classify_argument, examine_argument, construct_container,
3554          merge_classes): New static functions.
3555         (optimization_options): Enable flag_omit_frame_pointer and disable
3556         flag_pcc_struct_return on 64bit.
3557         (ix86_libcall_value, ix86_function_value,
3558         ix86_function_arg_regno_p, ix86_function_arg_boundary,
3559         ix86_return_in_memory, ix86_function_value): New global functions.
3560         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
3561         (function_arg_advance): Handle x86_64 passing conventions.
3562         (function_arg): Likewise.
3563         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
3564         (RETURN_IN_MEMORY): Move offline.
3565         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
3566         (FUNCTION_VALUE_REGNO_P): New macro.
3567         (FUNCTION_ARG_REGNO_P): Move offline.
3568         (struct ix86_args): Add maybe_vaarg.
3569         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
3570         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
3571
3572 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
3573
3574         * s390.md: Changed attributes for scheduling.
3575         * s390.c: (s390_adjust_cost, s390_adjust_priority)
3576         Changed scheduling
3577
3578 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
3579
3580         Table-driven attributes.
3581         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
3582         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
3583         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
3584         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
3585         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
3586         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
3587         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
3588         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
3589         * tree.h (struct tree_decl): Change machine_attributes to
3590         attributes.
3591         * doc/c-tree.texi: Document that all attributes are now attached
3592         to decls and types.
3593         * c-common.c (add_attribute, attrtab, attrtab_idx,
3594         default_valid_lang_attribute, valid_lang_attribute): Remove.
3595         (attribute_tables, attributes_initialized,
3596         c_common_attribute_table, default_lang_attribute_table): New
3597         variables.
3598         (handle_packed_attribute, handle_nocommon_attribute,
3599         handle_common_attribute, handle_noreturn_attribute,
3600         handle_unused_attribute, handle_const_attribute,
3601         handle_transparent_union_attribute, handle_constructor_attribute,
3602         handle_destructor_attribute, handle_mode_attribute,
3603         handle_section_attribute, handle_aligned_attribute,
3604         handle_weak_attribute, handle_alias_attribute,
3605         handle_no_instrument_function_attribute,
3606         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
3607         handle_no_limit_stack_attribute, handle_pure_attribute): New
3608         functions.
3609         (init_attributes, decl_attributes): Rewrite to implement
3610         table-driven attributes.
3611         * c-common.h (enum attribute_flags): Move to tree.h.
3612         * c-format.c (decl_handle_format_attribute,
3613         decl_handle_format_arg_attribute): Rename to
3614         handle_format_attribute and handle_format_arg_attribute.  Update
3615         for table-driven attributes.
3616         * c-common.h (decl_handle_format_attribute,
3617         decl_handle_format_arg_attribute): Remove prototypes.
3618         (handle_format_attribute, handle_format_arg_attribute): Add
3619         prototypes.
3620         * c-decl.c (grokdeclarator): Handle attributes nested inside
3621         declarators.
3622         * c-parse.in (setattrs, maybe_setattrs): Remove.
3623         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
3624         Update to handle nested attributes properly.
3625         (maybe_resetattrs, after_type_declarator,
3626         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
3627         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
3628         properly.
3629         (make_pointer_declarator): Update to handle nested attributes
3630         properly.
3631         * doc/extend.texi: Update documentation of limits of attributes
3632         syntax.  Warn about problems with attribute semantics in C++.
3633         * target.h (struct target): Remove valid_decl_attribute and
3634         valid_type_attribute.  Add attribute_table and
3635         function_attribute_inlinable_p.
3636         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
3637         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
3638         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
3639         Add.
3640         (TARGET_INITIALIZER): Update.
3641         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
3642         definition.
3643         (function_attribute_inlinable_p): New function.  Check for the
3644         presence of any machine attributes before using
3645         targetm.function_attribute_inlinable_p.
3646         (function_cannot_inline_p): Update.
3647         * Makefile.in (integrate.o): Update dependencies.
3648         * doc/tm.texi: Update documentation of target attributes and
3649         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
3650         * tree.c (default_valid_attribute_p, valid_machine_attribute):
3651         Remove.
3652         (default_target_attribute_table,
3653         default_function_attribute_inlinable_p): New.
3654         (lookup_attribute): Update comment to clarify handling of multiple
3655         attributes with the same name.
3656         (merge_attributes, attribute_list_contained): Allow multiple
3657         attributes with the same name but different arguments to appear in
3658         the same attribute list.
3659         * tree.h (default_valid_attribute_p): Remove prototype.
3660         (struct attribute_spec): New.
3661         (default_target_attribute_table): Declare.
3662         (enum attribute_flags): Move from c-common.h.  Add
3663         ATTR_FLAG_TYPE_IN_PLACE.
3664         (default_function_attribute_inlinable_p): Declare.
3665         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
3666         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
3667         (TARGET_ATTRIBUTE_TABLE): Define.
3668         (vms_attribute_table): New.
3669         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
3670         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
3671         (TARGET_ATTRIBUTE_TABLE): Define.
3672         (arc_attribute_table, arc_handle_interrupt_attribute): New.
3673         * config/arm/arm.c (arm_valid_type_attribute_p,
3674         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
3675         Remove.
3676         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
3677         define.
3678         (TARGET_ATTRIBUTE_TABLE): Define.
3679         (arm_attribute_table, arm_handle_fndecl_attribute,
3680         arm_handle_isr_attribute): New.
3681         * config/avr/avr.c (avr_valid_type_attribute,
3682         avr_valid_decl_attribute): Remove.
3683         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
3684         define.
3685         (TARGET_ATTRIBUTE_TABLE): Define.
3686         (avr_attribute_table, avr_handle_progmem_attribute,
3687         avr_handle_fndecl_attribute): New.
3688         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
3689         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
3690         (TARGET_ATTRIBUTE_TABLE): Define.
3691         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
3692         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
3693         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
3694         (TARGET_ATTRIBUTE_TABLE): Define.
3695         (h8300_attribute_table, h8300_handle_fndecl_attribute,
3696         h8300_handle_eightbit_data_attribute,
3697         h8300_handle_tiny_data_attribute): New.
3698         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
3699         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
3700         Remove prototypes.
3701         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
3702         declarations.
3703         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
3704         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
3705         define.
3706         (TARGET_ATTRIBUTE_TABLE): Define.
3707         (ix86_attribute_table, ix86_handle_cdecl_attribute,
3708         ix86_handle_regparm_attribute): New.
3709         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
3710         i386_pe_valid_type_attribute_p): Remove.
3711         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
3712         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
3713         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
3714         (TARGET_ATTRIBUTE_TABLE): Define.
3715         (ia64_attribute_table): New.
3716         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
3717         interrupt_ident2, model_ident1, model_ident2): Remove.
3718         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
3719         (TARGET_ATTRIBUTE_TABLE): Define.
3720         (init_idents): Update.
3721         (m32r_attribute_table, m32r_handle_model_attribute): New.
3722         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
3723         Remove.
3724         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
3725         (TARGET_ATTRIBUTE_TABLE): Define.
3726         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
3727         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
3728         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
3729         (TARGET_ATTRIBUTE_TABLE): Define.
3730         (mcore_attribute_table, mcore_handle_naked_attribute): New.
3731         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
3732         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
3733         (TARGET_ATTRIBUTE_TABLE): Define.
3734         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
3735         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
3736         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
3737         (TARGET_ATTRIBUTE_TABLE): Define.
3738         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
3739         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
3740         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
3741         (TARGET_ATTRIBUTE_TABLE): Define.
3742         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
3743         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
3744         New.
3745         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
3746         Remove.
3747         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
3748         (TARGET_ATTRIBUTE_TABLE): Define.
3749         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
3750         New.
3751         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
3752         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
3753         (TARGET_ATTRIBUTE_TABLE): Define.
3754         (v850_attribute_table, v850_handle_interrupt_attribute,
3755         v850_handle_data_area_attribute): New.
3756         * config/v850/v850-c.c (mark_current_function_as_interrupt):
3757         Return void.  Call decl_attributes instead of
3758         valid_machine_attribute.
3759
3760 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
3761
3762         * sh-protos.h (sh_pr_n_sets): Declare.
3763         * sh.c (calc_live_regs): If the initial value for PR has been copied,
3764         look at the copy to determine if PR needs to be saved.
3765         sh_pr_n_sets: New function.
3766         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
3767         (ALLOCATE_INITIAL_VALUE): Define.
3768
3769         * sh.c (initial_elimination_offset):
3770         Fix RETURN_ADDRESS_POINTER_REGNUM case.
3771
3772 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
3773
3774         * integrate.c (allocate_initial_values): New function.
3775         * integrate.h (allocate_initial_values): Declare.
3776         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
3777         here...
3778         * reload1.c (reload): And initialization of reg_equiv_memory_loc
3779         from here...
3780         * toplev.c (rest_of_compilation): To here.
3781         Call allocate_initial_values.
3782         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
3783
3784 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3785
3786         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
3787
3788 2001-09-20  DJ Delorie  <dj@redhat.com>
3789
3790         * c-typeck.c (really_start_incremental_init): Discriminate
3791         between zero-length arrays and flexible arrays.
3792         (push_init_level): Detect zero-length arrays and handle them
3793         like fixed-sized arrays.
3794         * expr.c (store_constructor): Handle zero-length arrays and
3795         flexible arrays correctly.
3796         * doc/extend.texi: Update zero-length array notes.
3797
3798 2001-09-20  Jim Wilson  <wilson@redhat.com>
3799
3800         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
3801         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
3802         for issue port conflicts.
3803         (cycle_end_fill_slots): TYPE_L instructions take two slots.
3804
3805 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
3806
3807         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
3808         on ia64.
3809
3810 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3811
3812         * fold-const.c (hashtab.h): Include.
3813         (int_const_binop): Remove FORSIZE arg and compute from type; all
3814         callers changed.
3815         Call size_int_type_wide for all single-word constants.
3816         (size_htab_hash, size_htab_eq): New functions.
3817         (size_int_type_wide): Rework to use hash table.
3818         * ggc-common.c (hashtab.h): Include.
3819         (struct d_htab_root): New struct.
3820         (d_htab_roots): New variable.
3821         (ggc_add_deletable_htab, ggc_htab_delete): New functions
3822         (ggc_mark_roots): Handle deletable htabs.
3823         * ggc-page.c (ggc_marked_p): New function.
3824         * ggc-simple.c (ggc_marked_p): Likewise.
3825         * ggc.h: Reformatting throughout.
3826         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
3827         * tree.c (init_obstacks): Make type_hash_table a deletable root.
3828         (type_hash_add): Allocate struct type_hash from GC memory.
3829         (mark_hash_entry, mark_type_hash): Deleted.
3830         (type_hash_marked_p, type_hash_mark): New functions.
3831         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
3832
3833 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
3834
3835         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
3836         than SImode.
3837
3838 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3839
3840         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
3841         array-too-large test for signed sizetype.
3842
3843 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
3844
3845         * i386.md (indirect_jump): Allow Pmode operand.
3846         (tablejump): LIkewise; perform expansion to 64bit mode.
3847         * i386.c (symbolic_operand): Allow 64bit PIC references.
3848         (pic_symbolic_operand): Likewise.
3849         (ix86_find_base_term): Strip the 64bit PIC references.
3850         (legitimate_pic_address_disp_p): Handle 64bit PIC.
3851         (legitimize_pic_address): Likewise.
3852         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
3853         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
3854
3855 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
3856
3857         * stringpool.c (get_identifier_with_length): New function.
3858         * tree.h (get_identifier_with_length): New prototype.
3859
3860 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
3861             David Edelsohn  <edelsohn@gnu.org>
3862
3863         Revert:
3864         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
3865         already sign-extended.
3866
3867         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
3868         * config/rs6000/rs6000.c (logical_operand): Always compare op as
3869         HOST_WIDE_INT.
3870         (rs6000_emit_set_long_const): Avoid unnecessary shift.
3871         (output_profile_hook): Declare label_name const.
3872         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
3873         to match constraints.
3874
3875 2001-09-19  Stan Shebs  <shebs@apple.com>
3876
3877         * alias.c: Fix typos in comments.
3878         * sched-rgn.c (init_ready_list): Ditto.
3879         * unwind-dw2.c (uw_frame_state_for): Ditto.
3880         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
3881         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
3882         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
3883
3884 2001-09-19  Richard Henderson  <rth@redhat.com>
3885
3886         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
3887         to the exit block.
3888         * Makefile.in (cfg.o): Depend on TM_P_H.
3889
3890 2001-09-19  Richard Henderson  <rth@redhat.com>
3891
3892         * config/alpha/alpha.c (local_symbol_p): Split out from ...
3893         (local_symbolic_operand): ... here.
3894         (small_symbolic_operand): Check mode.
3895         (global_symbolic_operand): New.
3896         (input_operand): Reject symbolics if explicit relocs.
3897         (call_operand): Tidy.
3898         (alpha_legitimize_address): Use movdi_er_high_g.
3899         (alpha_expand_mov): Likewise.
3900         * config/alpha/alpha-protos.h: Update.
3901         * config/alpha/alpha.h (PREDICATE_CODES): Update.
3902         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
3903         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
3904         (UNSPECV_LDGP2): Remove.
3905         (all call patterns): Use 's' not 'i' for symbolic constraint.
3906         (call_osf call_value_osf): Use call_operand.
3907         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
3908         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
3909         (prologue_ldgp_1_er): Remove.
3910         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
3911         (builtin_setjmp_receiver_er patterns): Use them.
3912         (exception_receiver_er): Likewise.
3913
3914 2001-09-19  Richard Henderson  <rth@redhat.com>
3915
3916         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
3917
3918         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
3919         and NON_LOCAL_GOTO notes.
3920         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
3921         copy over CALL_INSN_FUNCTION_USAGE.
3922
3923 2001-09-18  Catherine Moore  <clm@redhat.com>
3924
3925         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
3926         Define as 0.
3927
3928 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
3929
3930         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
3931         new-style tm_file specification.  Specify correct tm_p_file,
3932         md_file, and out_file for s390x.
3933
3934         * config/s390/linux.h, linux64.h:  Don't include other target
3935         macro header files.  Now handled via tm_file.
3936
3937         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
3938         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
3939         are defined before use.
3940
3941 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
3942
3943         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
3944         code generation only for Gnu assembler.
3945
3946 2001-09-18  Catherine Moore  <clm@redhat.com>
3947
3948         * config/stormy16 (LIB_SPEC): Remove -lnosys.
3949
3950 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
3951
3952         * config/mips/mips.c (mips_frame_set): New.
3953         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
3954         a parallel frame-related expression with a set for each register.
3955
3956 2001-09-18  Philip Blundell  <philb@gnu.org>
3957
3958         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
3959         header files.
3960
3961 2001-09-17  Dale Johannesen  <dalej@apple.com>
3962
3963         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
3964         * config/rs6000/aix.h (FIXED_R2): Define.
3965         * config/rs6000/darwin.h (FIXED_R2): Define.
3966         * config/rs6000/sysv4.h (FIXED_R2): Define.
3967
3968 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
3969
3970         * except.c (dw2_build_landing_pads): New local
3971         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
3972         barrier after clobbers.  Fixes c++/4012.
3973
3974 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3975
3976         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
3977
3978 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
3979
3980         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
3981         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
3982
3983 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3984
3985         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
3986         alloca/strcpy.
3987
3988 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
3989
3990         * cpphash.h (_cpp_lex_direct): New.
3991         * cpplex.c (_cpp_lex_token): Update.
3992         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
3993         and increment that pointer.
3994         * cppmacro.c (alloc_expansion_token): New.
3995         (lex_expansion_token): Lex macro expansion directly into
3996         macro storage.
3997
3998 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
3999
4000         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
4001
4002 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
4003
4004         * basic-block.h (free_bb_for_insn): Declare.
4005         * bb-reorder.c (label_for_bb): Use block_label.
4006         (emit_jump_to_block_after): Remove.
4007         (insert_intra_1): Do not update block_for_insn.
4008         (insert_inter_bb_scope_notes): Likewise; update bb->end
4009         * cfg.c (free_bb_for_insn): New.
4010         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
4011         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
4012         (commit_one_edge_insertion): Likewise.
4013         (commit_one_edge_insertion): Do not update BB boundary.
4014         (commit_edge_insertions): Do not call compute_bb_for_insn.
4015         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
4016         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
4017         (merge_blocks_move_successor_nojumps): Likewise.
4018         (try_crossjump_to_edge): Do not update block_for_insn.
4019         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
4020         * df.c (df_pattern_emit_later): Do not update BB boundary.
4021         (df_jump_pattern_emit_after): Likewise.
4022         (df_insn_move_before): Use emit_insn_before.
4023         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
4024          properly.
4025         (add_insn_after, add_insn_before, emit_insns_after): Update BB
4026         boundaries and basic_block_for_insn.
4027         (reorder_insns_nobb): Rename from reorder_insns.
4028         (reorder_insns): New.
4029         (emit_block_insn_before, emit_block_insn_after): Kill.
4030         * flow.c (check_function_return_warnings): Do not call
4031         compute_bb_for_insn; Do not free basic_block_for_insn.
4032         (attempt_auto_inc): Do not update basic_block_for_insn.
4033         * function.c (emit_return_into_block): Likewise;
4034         do not update BB boundaries.
4035         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
4036         (insert_insn_end_bb): Use emit_insn_before; Likewise.
4037         (pre_insert_copy_insn): Likewise.
4038         (update_ld_motion_notes): Likewise.
4039         (insert_insn_start_bb): Likewise.
4040         (replace_store_insn): Likewise.
4041         * ifcvt.c (noce_process_if_block): Likewise.
4042         (if_convert): Do not call compute_bb_for_insn.
4043         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
4044         Use emit_insn_before and emit_insn_after.
4045         * recog.c (split_all_insns): Do not update BB boundaries;
4046         Do not call compute_bb_for_insn.
4047         (peephole2_optimize): Do not update BB boundaries.
4048         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
4049         emit_insn_before.
4050         (emit_swap_insn): Likewise.
4051         (convert_regs_1): Likewise.
4052         * reload1.c (reload): Call compute_bb_for_insn.
4053         * rtl.h (reorder_insns_nobb): Declare.
4054         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
4055         * toplev.c (rest_of_compilation): Call free_bb_for_insn
4056         at places CFG is invalidated; do not call compute_bb_for_insn.
4057
4058         * cfg.c (expunge_block): Invalidate BB structure.
4059
4060         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
4061         array.
4062
4063         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
4064
4065 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
4066
4067         * cpphash.h (_cpp_lex_token): Update prototype.
4068         * cpplex.c (_cpp_lex_token): New prototype.
4069         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
4070         lex_macro_node, read_flag, do_pragma_poison): Update.
4071         * cppmacro.c (cpp_get_token, parse_params,
4072         lex_expansion_token): Update.
4073
4074 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
4075
4076         * cppmain.c (scan_translation_unit): Don't worry about
4077         putting a space after hashes.
4078         * cpplib.c (directive_diagnostics): New.
4079         (_cpp_handle_directive): Update to use directive_diagnostics.
4080         (run_directive): Don't toggle prevent_expansion.
4081         (do_line): Backup in case of the line extension.
4082         * cpplib.h (cpp_lexer_pos): Remove.
4083         * cppmacro.c (_cpp_create_definition): Precede a leading #
4084         with whitespace.
4085
4086 2001-09-15  Richard Henderson  <rth@redhat.com>
4087
4088         * c-typeck.c (comptypes): Handle zero-length arrays properly.
4089
4090 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
4091
4092         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
4093
4094 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4095
4096         PR preprocessor/3571
4097         * tradcpp.c (handle_directive): Skip non-vertical space.
4098
4099 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4100
4101         * cppmain.c (setup_callbacks): Set line callback only
4102         if outputting preprocessed source.
4103
4104 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4105
4106         * collect2.c (main): Const-ification.
4107         * gcc.c (translate_options, process_command): Use xstrdup in
4108         lieu of xmalloc/strcpy.
4109         (main): Use concat in lieu of xmalloc/strcpy/strcat.
4110
4111 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
4112
4113         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
4114         example.
4115
4116 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4117
4118         * scan-decls.c (scan_decls): Fix typo.
4119
4120 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4121
4122         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
4123         Split mlstring_pos into mls_line and mls_col.
4124         * cppinit.c (cpp_create_reader): Initialize line to 1.
4125         (cpp_destroy): Free tokenruns.
4126         (push_include): Don't update lexer_pos.
4127         * cpplex.c (unterminated, parse_string): Update.
4128         (lex_token): Don't update lexer_pos, update.
4129         * cpplib.c (if_stack): Save line instead of line + col.
4130         (start_directive, _cpp_do__Pragma, do_else, do_elif,
4131         push_conditional, _cpp_pop_buffer): Update.
4132         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
4133         (_cpp_create_definition): Update.
4134
4135 2001-09-15  Eric Christopher  <echristo@redhat.com>
4136
4137         * config/mips/abi64.h: Add support for MEABI.
4138
4139 2001-09-15  Eric Christopher  <echristo@redhat.com>
4140
4141         * config/mips/mips.md: Add unspec #2.
4142         (reload_indi): Use.
4143         (reload_outdi): Ditto.
4144         (reload_outsi): Ditto.
4145         (HILO_delay): New.
4146
4147 2001-09-15  Eric Christopher  <echristo@redhat.com>
4148             Jason Eckhardt  <jle@redhat.com>
4149
4150         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
4151         * config/mips/isa32-linux.h: New file.
4152         * config/mips/isa3264.h: Ditto.
4153         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
4154         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
4155         (output_block_mode): Support MEABI.
4156         (function_arg): Ditto. Fix floating point arg passing.
4157         (mips_va_start): Ditto.
4158         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
4159         processors.
4160         (mips_asm_file_start): Add new section to pass abi to gdb.
4161         (function_arg_pass_by_reference): Support MEABI.
4162         (mips_parse_cpu): Support mips32 and mips64 processors.
4163         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
4164         TARGET_MIPS5KC.  Support isa32 and isa64.
4165         (processor_type): Add r4kc, r5kc, r20kc.
4166         (GENERATE_MULT3_SI): New.
4167         (GENERATE_MULT3_DI): Ditto.
4168         (GENERATE_MULT3): Remove.
4169         (ISA_HAS_64BIT_REGS): Add isa == 64.
4170         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
4171         (ISA_HAS_MADD_MSUB): New.
4172         (ISA_HAS_CLZ_CLO): Ditto.
4173         (ISA_HAS_DCLZ_DCLO): Ditto.
4174         (ABI_GAS_ASM_SPEC): New.
4175         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
4176         (ASM_SPEC): Ditto.
4177         (LINK_SPEC): Ditto.
4178         (SUBTARGET_CC1_SPEC): Ditto.
4179         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
4180         (PAD_VARARGS_DOWN): Support MEABI.
4181         (HARD_REGNO_NREGS): Move to mips.c.
4182         (ASM_OUTPUT_IDENT): Add #undef.
4183         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
4184         (mulsi3): Use GENERATE_MULT3_SI.
4185         (mulsi3_mult3): Ditto.  Support mips32, mips64.
4186         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
4187         (mul_sub_si): New pattern.
4188         (unnamed splitters): New.
4189         (muldi3): Use GENERATE_MULT3_DI.
4190         (muldi3_internal2): Ditto.
4191         (movdicc): Support mips32.
4192         * config/mips/t-isa3264: New file.
4193
4194 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
4195
4196         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
4197         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
4198         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
4199
4200         * reorg.c (fill_slots_from_thread): After call to
4201         steal_delay_list_from_target, update own_thread as new_thread may
4202         have branched.
4203
4204 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
4205
4206         * cpperror.c (print_location): Take line and column, for
4207         default positioning use the previously lexed token.
4208         (_cpp_begin_message): Take line and column.
4209         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
4210         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
4211         * cpphash.h (_cpp_begin_message): Update prototype.
4212         * cppinit.c (push_include): Don't set output line.
4213         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
4214         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
4215         (do_pragma): Kludge for front ends.  Don't expand macros at all.
4216         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
4217         (struct cpp_token): Remove output_line.
4218         (struct cpp_callbacks): New member line_change.
4219         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
4220         cpp_get_token): Preserve BOL flag.
4221         (cpp_get_line): Remove.
4222         (_cpp_backup_tokens): Remove useless abort().
4223         * cppmain.c (cb_line_change): New.
4224         (scan_translation_unit): Don't worry about starting new lines here.
4225         * scan-decls.c (scan_decls): Update.
4226         * c-lex.c (c_lex, init_c_lex): Update.
4227         (cb_line_change, src_lineno): New.
4228
4229 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
4230
4231         * tree.c (append_random_chars): Generate the random
4232         characters in a reproducable fashion.
4233
4234 2001-09-14  Richard Henderson  <rth@redhat.com>
4235
4236         * config/i386/i386.c (internal_label_prefix): New.
4237         (internal_label_prefix_len): New.
4238         (override_options): Set them.
4239         (local_symbolic_operand): New.
4240         (legitimate_pic_address_disp_p): Use it.
4241         (legitimize_pic_address): Likewise.
4242
4243 2001-09-14  Marc Espie <espie@openbsd.org>
4244
4245         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
4246         correctly.
4247
4248 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
4249
4250         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
4251         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
4252
4253 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
4254
4255         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
4256         invocation of SUBREG_REGNO_OFFSET.
4257
4258         * haifa-sched.c: Fix typo in FSF copyright statement.
4259         * sched-deps.c: Fix typo in FSF copyright statement.
4260         * sched-ebb.c: Fix typo in FSF copyright statement.
4261         * sched-rgn.c: Fix typo in FSF copyright statement.
4262         * sched-vis.c: Fix typo in FSF copyright statement.
4263
4264         * config.gcc: Move inclusion of arm elf specific header files
4265         from the files themselves into the tm_file variable.  Make
4266         sure that elfos.h is included before target specific elf
4267         headers.
4268         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
4269         already defined.
4270         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
4271         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
4272         ASM_OUTPUT_CASE_LABEL): Protect definition.
4273         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
4274         not already defined.
4275         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
4276         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
4277         Remove duplicate definition.
4278         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
4279         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
4280         (RDATA_SECTION_FUNCTION): Remove redundant definition.
4281         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
4282         Remove inclusion of arm/elf.h.
4283         * config/arm/unknown-elf.h: as for conix-elf.h.
4284         (STARTFILE_SPEC): Include crti.o and crtn.o.
4285         * config/arm/linux-elf.h: as for conix-elf.h.
4286         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
4287         * config/arm/strongarm-elf.h: Remove inclusion of
4288         unknown-elf.h.
4289         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
4290         * config/arm/unknown-elf-oabi.h: Remove inclusion of
4291         unknown-elf.h and elf.h.
4292         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
4293         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
4294         ASM_WEAKEN_LABEL): Remove redundant definition.
4295         * config/arm/elf.h: Test for inclusion of elfos.h
4296         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
4297         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
4298         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
4299         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
4300         redundant definition.
4301         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
4302         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
4303         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
4304         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
4305         Add rules to build crti.o and crtn.o
4306         * crti.asm: New file.
4307         * crtn.asm: New file.
4308
4309 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
4310
4311         * c-parse.in (_yylex): Use _cpp_backup_tokens.
4312         * cpphash.h (struct tokenrun): Add prev.
4313         (struct lexer_state): Remove bol.
4314         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
4315         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
4316         : Remove.
4317         * cppinit.c (cpp_create_reader): Don't set bol.
4318         (cpp_destroy): Don't free lookaheads.
4319         * cpplex.c (lex_directive): Remove.
4320         (next_tokenrun): Update.
4321         (_cpp_lex_token): Clean up logic.
4322         (lex_token): Update to return a pointer to lexed token, since it
4323         can move to the start of the buffer.  Simpify newline handling.
4324         * cpplib.c (SEEN_EOL): Update.
4325         (skip_rest_of_line): Remove lookahead stuff.
4326         (end_directive): Line numbers are already incremented.  Revert
4327         to start of lexed token buffer if we can.
4328         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
4329         parse_answer): Use _cpp_backup_tokens.
4330         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
4331         instead.  Don't check for EOL.
4332         (do_include_common, do_line, do_pragma_system_header): Use
4333         skip_rest_of_line.
4334         * cpplib.h (BOL, _cpp_backup_tokens): New.
4335         * cppmacro.c (save_lookahead_token, take_lookahead_token,
4336         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
4337         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
4338         (builtin_macro): Don't use cpp_get_line.
4339         (cpp_get_line): Short term kludge.
4340         (parse_arg): Handle directives in arguments here.  Back up when
4341         appropriate.  Store EOF at end of argument list.
4342         (funlike_invocation_p): Use _cpp_backup_tokens.
4343         (push_arg_context): Account for EOF at end of list.
4344         (cpp_get_token): Remove lookahead stuff.  Update.
4345
4346 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4347
4348         * c-parse.in (yyerror): Const-ification and/or static-ization.
4349         * c-typeck.c (push_member_name): Likewise.
4350         * collect2.c (main): Likewise.
4351         * dbxout.c (dbxout_parms): Likewise.
4352         * diagnostic.c (format_with_decl): Likewise.
4353         * dwarf2out.c (output_ranges): Likewise.
4354         * dwarfout.c (fundamental_type_code): Likewise.
4355         * except.c (dw2_output_call_site_table): Likewise.
4356         * gcc.c (do_spec_1): Likewise.
4357         * genopinit.c (optabs): Likewise.
4358         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
4359         gen_declaration_1, handle_impent): Likewise.
4360         * protoize.c (default_include, in_system_include_dir, abspath):
4361         Likewise.
4362         * sched-vis.c (visualize_stall_cycles): Likewise.
4363         * sdbout.c (plain_type_1, sdbout_end_function,
4364         sdbout_end_epilogue): Likewise.
4365         * varasm.c (decode_reg_name): Likewise.
4366
4367         * 1750a.c (mod_regno_adjust): Likewise.
4368         * alpha.c (alpha_write_one_linkage,
4369         unicosmk_output_default_externs): Likewise.
4370         * arm.c (arm_condition_codes): Likewise.
4371         * arm.h (arm_condition_codes): Likewise.
4372         * avr.c (output_movsisf, encode_section_info): Likewise.
4373         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
4374         Likewise.
4375         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
4376         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
4377         * m88k.c (output_function_profiler): Likewise.
4378         * mips.c (mips_output_conditional_branch): Likewise.
4379         * ns32k.c (ns32k_out_reg_names): Likewise.
4380         * ns32k.h (ns32k_out_reg_names): Likewise.
4381         * pj.c (pj_output_rval): Likewise.
4382         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
4383         * sparc.c (sparc_flat_function_prologue,
4384         sparc_flat_function_epilogue): Likewise.
4385
4386 2001-09-13  Markus Werle <numerical.simulation@web.de>
4387             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4388
4389         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
4390         Aachen University of Technology".
4391
4392 2001-09-13  Andreas Schwab  <schwab@suse.de>
4393
4394         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
4395         C99.
4396
4397 2001-09-13  Richard Henderson  <rth@redhat.com>
4398
4399         * config/alpha/alpha.c (small_symbolic_operand): New.
4400         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
4401         (some_operand, input_operand): Don't handle HIGH.
4402         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
4403         (alpha_expand_mov): Likewise.
4404         (print_operand) [H]: Just print HIGH symbol.
4405         (print_operand_address): Handle small data.
4406         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
4407         (TARGET_SWITCHES): Add -msmall-data/large-data.
4408         (PIC_OFFSET_TABLE_REGNUM): New.
4409         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
4410         (PREDICATE_COES): Update.
4411         * config/alpha/alpha.md (adddi_er_high): New.
4412         (adddi_er_low): Handle small data.
4413         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
4414         prefer .sdata to .rodata.
4415         (SELECT_RTX_SECTION): Likewise.
4416
4417 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
4418
4419         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
4420         defining __size_t and leaving size_t undefined.
4421
4422 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
4423
4424         * basic-block.h (expunge_block): Declare.
4425         * cfg.c (expunge_block): Remove static declaration.
4426
4427 2001-09-12  Richard Henderson  <rth@redhat.com>
4428
4429         * integrate.c (copy_insn_list): Copy label name from
4430         NOTE_INSN_DELETED_LABEL.
4431
4432 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4433
4434         * c-common.c (c_tree_code_name): Const-ification.
4435         * c-decl.c (c_decode_option): Likewise.
4436         * c-typeck.c (warn_for_assignment): Likewise.
4437         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
4438         Likewise.
4439         * cppinit.c (output_deps): Likewise.
4440         * dependence.c (dependence_string, direction_string): Likewise.
4441         * dwarf2out.c (output_ranges): Likewise.
4442         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
4443         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
4444         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
4445         standard_startfile_prefix, standard_startfile_prefix_1,
4446         standard_startfile_prefix_2, tooldir_base_prefix,
4447         standard_bindir_prefix, find_a_file): Likewise.
4448         * genattrtab.c (make_length_attrs): Likewise.
4449         * gencheck.c (tree_codes): Likewise.
4450         * genemit.c (gen_split): Likewise.
4451         * genrecog.c (special_mode_pred_table): Likewise.
4452         * graph.c (graph_ext): Likewise.
4453         * protoize (default_include): Likewise.
4454         * reload.c (reload_when_needed_name): Likewise.
4455         * sched-vis.c (visualize_stall_cycles): Likewise.
4456         * tlink.c (recompile_files): Likewise.
4457         * toplev.c (decode_g_option): Likewise.
4458         * tradcpp.c (output_deps): Likewise.
4459         * varasm.c (decode_reg_name): Likewise.
4460
4461         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
4462         Const-ification.
4463         * arm.md: Likewise.
4464         * avr.c (avr_regnames, encode_section_info): Likewise.
4465         * c4x.c (float_reg_names): Likewise.
4466         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
4467         * elfos.h (const_section): Likewise.
4468         * i386.c (ix86_comp_type_attributes): Likewise.
4469         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
4470         * ia64/aix.h (UNIQUE_SECTION): Likewise.
4471         * ia64.c (type_names): Likewise.
4472         * m68hc11.c (reg_class_names): Likewise.
4473         * m88k.c (m_options): Likewise.
4474         * mips.c (mips_output_conditional_branch, mips_unique_section):
4475         Likewise.
4476         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
4477         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
4478         ultra_code_names): Likewise.
4479         * sparc.h (OVERRIDE_OPTIONS): Likewise.
4480
4481 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
4482
4483         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
4484         Use --fatal-warnings option for gas.
4485         * configure: Rebuilt.
4486
4487 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
4488
4489         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
4490
4491 2001-09-11  Jim Wilson  <wilson@redhat.com>
4492
4493         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
4494
4495 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
4496
4497         * builtins.c (c_strlen): Treat an offset too large for a
4498         HOST_WIDE_INT as out of range.
4499
4500 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
4501
4502         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
4503         (EDGE_CRITICAL_P): New predicate.
4504         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
4505         handling.
4506         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
4507         (dump_edge_info): Remove "crit".
4508         * cfganal.c (mark_critical_edges): Kill.
4509         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
4510         * cfgcleanup.c (cleanup_cfg): Likewise.
4511         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
4512         (find_spanning_tree): Likewise.
4513         * reg-stack.c (convert_regs_1): Likewise.
4514         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
4515
4516         * basic-block.h (create_basic_block_structure): New.
4517         (create_basic_block): Update prototype.
4518         (force_nonfallthru): New.
4519         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
4520         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
4521         handle updating of block_for_insn, creating of empty BBs and BBs at
4522         the end of INSN chain.
4523         (create_basic_block): New function.
4524         (split_block): Use create_basic_block.
4525         (force_nonfallthru_and_redirect): Break out from ...; cleanup
4526         (redirect_edge_and_branch_force): ... here.
4527         (force_nonfallthru): New.
4528         (split_edge): Rewrite to use force_nonfallthru and create_block.
4529         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
4530         (find_basic_blocks): Free basic_block_for_insn.
4531         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
4532
4533         * cfg.c: Fix formating.
4534         * cfgcleanup.c: Fix formating.
4535         (merge_blocks, tail_recursion_label_p): Return bool.
4536         (merge_blocks_move_predecessor_nojumps,
4537          merge_blocks_move_successor_nojumps): Return void.
4538
4539 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
4540
4541         * configure.in: Check whether assembler supports section merging.
4542         * config.in: Rebuilt.
4543         * configure: Rebuilt.
4544         * varasm.c (variable_section, output_constant_pool): Pass alignment
4545         to SELECT_SECTION and SELECT_RTX_SECTION.
4546         (mergeable_string_section): New.
4547         (mergeable_constant_section): New.
4548         (default_elf_asm_named_section): Output SECTION_MERGE and
4549         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
4550         * output.h (mergeable_string_section): New.
4551         (mergeable_constant_section): New.
4552         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
4553         * toplev.c (flag_merge_constants): New.
4554         (f_options): Add -fmerge-constants and -fmerge-all-constants
4555         options.
4556         (toplev_main): Default to -fno-merge-constants if not optimizing.
4557         * flags.h (flag_merge_constants): Add extern.
4558         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
4559         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
4560         argument.
4561         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
4562         Define if assembler has working .subsection -1 support.
4563         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
4564         Put constant into special SHF_MERGE sections if the linker should
4565         attempt to merge duplicates.
4566         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
4567         macro argument.
4568         Put constant into special SHF_MERGE sections if the linker should
4569         attempt to merge duplicates.
4570         * config/alpha/elf.h: Likewise.
4571         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
4572         has working .subsection -1 support.
4573         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
4574         SELECT_SECTION.
4575         * config/svr3.h: Likewise.
4576         * config/darwin.h: Likewise.
4577         * config/arm/aof.h: Likewise.
4578         * config/arm/linux-elf.h: Likewise.
4579         * config/avr/avr.h: Likewise.
4580         * config/c4x/c4x.h: Likewise.
4581         * config/d30v/d30v.h: Likewise.
4582         * config/i386/dgux.h: Likewise.
4583         * config/i386/osfrose.h: Likewise.
4584         * config/i386/sco5.h: Likewise.
4585         * config/i386/svr3gas.h: Likewise.
4586         * config/ia64/aix.h: Likewise.
4587         * config/m32r/m32r.h: Likewise.
4588         * config/m68k/m68k.h: Likewise.
4589         * config/m88k/dgux.h: Likewise.
4590         * config/m88k/m88k.h: Likewise.
4591         * config/mcore/mcore-pe.h: Likewise.
4592         * config/mips/mips.h: Likewise.
4593         * config/pa/pa.h: Likewise.
4594         * config/pa/pa-linux.h: Likewise.
4595         * config/romp/romp.h: Likewise.
4596         * config/rs6000/sysv4.h: Likewise.
4597         * config/rs6000/xcoff.h: Likewise.
4598         * config/s390/linux.h: Likewise.
4599         * config/sparc/sparc.h: Likewise.
4600         * config/sparc/sysv4.h: Likewise.
4601         * config/stormy16/stormy16.h: Likewise.
4602         * config/v850/v850.h: Likewise.
4603         * config/vax/vms.h: Likewise.
4604         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
4605         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
4606         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
4607         default_elf_asm_named_section for SHF_MERGE sections.
4608
4609 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
4610
4611         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
4612         is OK.
4613
4614 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
4615
4616         * c-common.c (split_specs_attrs): Allow for empty attributes with
4617         empty TREE_PURPOSE.  Fixes PR c/4294.
4618
4619 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
4620
4621         * basic-block.h (cached_make_edge, make_single_succ): New.
4622         (make_edge): Remove first parameter.
4623         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
4624         * cfg.c (cached_make_edge): Rename from make_edge; return newly
4625         created edge; use obstack allocation.
4626         (make_edge, make_single_succ_edge): New.
4627         (first_removed_edge): New static variable.
4628         (init_flow): Initialize first_removed_edge and n_edges.
4629         (clear_edges): Use remove_edge.
4630         (flow_delete_block): Likewise.
4631         (remove_edge): Add removed edges to the removed edges list.
4632         (split_block, redirect_edge_and_branch_force, split_edge):
4633         Use make_edge.
4634         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
4635         (add_noreturn_fake_exit_edges): Likewise.
4636         (connect_infinite_loops_to_exit): Liekwise.
4637         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
4638         Use cached_make_edge.
4639         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
4640         * profile.c (branch_prob): Update make_edge call.
4641         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
4642
4643 2001-09-11  Richard Henderson  <rth@redhat.com>
4644
4645         * config/alpha/alpha.c: Tidy formatting.
4646         (local_symbolic_operand): Verify mode.
4647         (alpha_sa_mask): Ignore unicos for eh_return.
4648         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
4649         * config/alpha/alpha.md (umk divsi patterns): Remove.
4650         (extendsfdf2): Remove unicos check.
4651         (tablejump): Merge vms and unicos code; always use direct set
4652         plus label_ref use.
4653
4654 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
4655
4656         * config.gcc (alpha*-*-unicosmk*): New target.
4657
4658         * config/alpha/alpha-protos.h (symbolic_operand,
4659         unicosmk_add_call_info_word, unicosmk_add_extern,
4660         unicosmk_defer_case_vector, unicosmk_unique_section,
4661         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
4662         unicosmk_asm_file_start, unicosmk_asm_file_end,
4663         unicosmk_output_common): Declare.
4664
4665         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
4666         direct_return, function_arg, alpha_va_start, alpha_va_arg,
4667         alpha_does_function_need_gp, alpha_end_function): Support Cray
4668         Unicos/Mk.
4669         (alpha_init_machine_status, alpha_mark_machine_status,
4670         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
4671         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
4672         unicosmk_asm_named_section, unicosmk_insert_attributes,
4673         unicosmk_section_type_flags, symbolic_operand,
4674         unicosmk_output_module_name, unicosmk_output_default_externs,
4675         unicosmk_output_dex, unicosmk_output_externs,
4676         unicosmk_output_addr_vec, unicosmk_ssib_name,
4677         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
4678         unicosmk_asm_file_end, unicosmk_output_common,
4679         unicosmk_section_type_flags, unicosmk_unique_section,
4680         unicosmk_add_call_info_word, unicosmk_text_section,
4681         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
4682         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
4683         unicosmk_dex_count, unicosmk_special_name): New.
4684         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
4685         TARGET_ABI_UNICOSMK.
4686         (get_aligned_mem, alpha_expand_unaligned_load,
4687         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
4688         alpha_expand_unaligned_store_words): Support big-endian mode.
4689         (print_operand): Likewise. New format specifier 't'. Use
4690         TARGET_AS_SLASH_BEFORE_SUFFIX.
4691         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
4692         (alpha_pv_save_size): Update with above change.
4693         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
4694         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
4695         Unicos/Mk.
4696
4697         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
4698         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
4699         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
4700         (EXTRA_CONSTRAINT): New constraint 'U'.
4701         (PREDICATE_CODES): Add symbolic_operand.
4702
4703         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
4704         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
4705         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
4706         (integer division and modulus patterns): Split in default and
4707         Unicos/Mk versions.
4708         (*divmodsi_internal, *divmoddi_internal): Disable for
4709         TARGET_ABI_UNICOSMK.
4710         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
4711         little-endian and big-endian versions.
4712         (ext, ins, msk): Likewise.
4713         (extv, extzv, insv): Support big-endian mode.
4714         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
4715         (call_umk, call_value_umk, *call_umk, tablejump_umk,
4716         *tablejump_umk_internal, *call_value_umk): New.
4717         (*movdi_nofix): Add pattern for loading an address into a register on
4718         TARGET_ABI_UNICOSMK.
4719         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
4720         (umk_mismatch_args, arg_home_umk): New.
4721         (various insns): Don't use mov, fmov, nop, fnop and unop.
4722         (realign): Support TARGET_ABI_UNICOSMK.
4723
4724         * config/alpha/unicosmk.h: New file.
4725         * config/alpha/t-unicosmk: New file.
4726
4727         * fixinc/inclhack.def (unicosmk_restrict): New.
4728         * fixinc/fixincl.x: Regenerate.
4729
4730         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
4731         (wchar_t): Check for and define __WCHAR_T__.
4732
4733 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
4734
4735         * combine.c (simplify_shift_const): Treat shifts by the mode
4736         size as undefined.
4737
4738 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
4739
4740         * cpphash.h (struct tokenrun): New.
4741         (struct cpp_context): New member bol.
4742         (struct cpp_reader): New members.
4743         (_cpp_init_tokenrun): New.
4744         * cppinit.c (cpp_create_reader): Set up the token runs.
4745         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
4746         (lex_token): New internalised version of _cpp_lex_token.  Don't
4747         handle directives or the multiple include opimisation here any
4748         more.  Simply lex a token.
4749         * cpplib.c (run_directive): Clear bol.
4750         (_cpp_pop_buffer): Set bol.
4751         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
4752         arguments.
4753
4754 2001-09-11  Michael Meissner  <meissner@redhat.com>
4755
4756         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
4757         give an error if the user uses -mfp32.
4758         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
4759         default options.
4760         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
4761         floating point register size.
4762         (EXTRA_SPECS): Add CPP_FPR_SPEC.
4763
4764         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
4765         HOST_WIDE_INT_PRINT_DEC to properly print the result of
4766         int_size_in_bytes.
4767         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
4768         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
4769
4770 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
4771
4772         * dbxout.c (dbxout_parms): Fix typo in comment.
4773         * unroll.c (loop_find_equiv_value): Ditto.
4774         * toplev.c (rest_of_compilation): Ditto.
4775         * loop.c (scan_loop): Ditto.
4776         * dwarf2out.c (struct dw_fde_struct): Ditto.
4777
4778 2001-09-10  Zack Weinberg  <zackw@panix.com>
4779
4780         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
4781         copying identifier when we're just going to throw it away.
4782         (parse_identifier_slow): New routine to handle abnormal cases.
4783         (_cpp_lex_token): Update call site.
4784
4785         * hashtable.c (ht_lookup): Don't assume that the string we've
4786         been given is NUL-terminated.
4787         * system.h: #define __builtin_expect(a, b) to (a) if not
4788         GCC >=3.0.
4789
4790 2001-09-10  Michael Meissner  <meissner@redhat.com>
4791
4792         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
4793         binutils, gdb.
4794
4795 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
4796
4797         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
4798
4799 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4800
4801         * builtins.c (c_getstr): Correct thinko in last change and further
4802         cleanup.
4803
4804 2001-09-10  Tim Freeman <tim@fungibole.com>
4805
4806         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
4807         into varray's and register them as roots with the garbage
4808         collector so they are not collected too soon.
4809
4810 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
4811
4812         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
4813         New.
4814         * basic-block.h (flow_obstack, label_value_list,
4815         tail_recursion_label_list): Declare
4816         (tidy_fallthru_edges): Declare.
4817         (expunge_block, last_loop_beg_note): Delete.
4818         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
4819         * cfg.c: New file
4820         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
4821         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
4822         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
4823         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
4824         expunge_block, flow_delete_block, compute_bb_for_insn,
4825         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
4826         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
4827         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
4828         try_redirect_by_replacing_jump, last_loop_beg_note,
4829         redirect_edge_and_branch, redirect_edge_and_branch_force,
4830         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
4831         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
4832         commit_edge_insertions, dump_flow_info, debug_flow_info,
4833         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
4834         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
4835         Move here from flow.c
4836         * cfganal.c: New file.
4837         (forwarder_block_p, can_fallthru, mark_critical_edges,
4838          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
4839          find_unreachable_blocks, create_edge_list, free_edge_list,
4840          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
4841          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
4842          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
4843          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
4844          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
4845          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
4846         Move here from flow.c
4847         * cfgbuild.c: New file
4848         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
4849          make_edges, find_basic_blocks_1, find_basic_blocks,
4850          find_sub_basic_blocks): Move here from flow.c
4851         * cfgcleanup.c: New file.
4852         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
4853          merge_blocks_move_predecessor_nojumps,
4854          merge_blocks_move_successor_nojumps, merge_blocks,
4855          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
4856          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
4857         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
4858         if succeeded.
4859         * cfgloop.c: New file
4860         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
4861          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
4862          flow_loop_exit_edges_find, flow_loop_nodes_find,
4863          flow_loop_pre_header_scan, flow_loop_pre_header_find,
4864          flow_loop_tree_node_add, flow_loops_tree_build,
4865          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
4866          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
4867         Move here from flow.c
4868         * flow.c: Remove everything moved elsewhere
4869         * output.h (cleanup_cfg): Return bool.
4870
4871         * bb-reorder.c (reorder_block_def): Remove 'index'.
4872         (insert_intra_1): Add argument BB, set block for new note.
4873         (make_reorder_chain): Do not depdent on BB indexes.
4874         (make_reorder_chain_1): Do not use BB indexes.
4875         (label_for_bb): Likewise; set BB for new insn.
4876         (emit_jump_to_block_after): Likewise.
4877         (fixup_reoder_chain): Sanity check that all basic blocks
4878         are chained; verify newly created insn chain; remove
4879         undocnitional jump simplifying; Do not use BB indexes;
4880         properly initialize count and frequency information;
4881         dump reordered sequence.
4882         (insert_intra_bb_scope_notes): update call of insert_intra_1.
4883         (insert_inter_bb_scope_notes): Set block for new insn.
4884         (reorder_basic_blocks): Dump flow info before reoredering.
4885
4886 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4887
4888         * alias.c (clear_reg_alias_info): Use K&R format definition.
4889         Avoid unsigned warning.
4890         * builtins.c: Use "unsigned int", not "unsigned".
4891         (target_char_cast): Use host_integerp and tree_low_cst.
4892         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
4893         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
4894         (c_getstr): Likewise.
4895         (std_expand_builtin_va_arg): Use int_size_in_bytes.
4896         (builtin_memcpy_read_str): Avoid unsigned warning.
4897         (expand_builtin_memcpy): Alignments are unsigned.
4898         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
4899         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
4900         * predict.c (expensive_function_p): LIMIT now unsigned.
4901         * resource.c (mark_target_live_regs): Make some vars unsigned.
4902         * sdbout.c: Use "unsigned int", not "unsigned".
4903         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
4904         (sdbout_source_line): Likewise.
4905         (sdbout_record_type_name): Remove "const" for NAME declaration.
4906         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
4907
4908 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
4909
4910         * calls.c (store_one_arg): Expand comment.
4911
4912 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
4913
4914         * calls.c (store_one_arg): Make sure that the entire argument is
4915         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
4916
4917 2001-09-09  Richard Henderson  <rth@redhat.com>
4918
4919         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
4920
4921 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
4922
4923         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
4924
4925 2001-09-09  Richard Henderson  <rth@redhat.com>
4926
4927         * config/alpha/alpha.c (alpha_next_sequence_number): New.
4928         (alpha_this_literal_sequence_number): New.
4929         (alpha_this_gpdisp_sequence_number): New.
4930         (some_operand, input_operand): Add HIGH.
4931         (local_symbolic_operand): New.
4932         (alpha_encode_section_info): New.
4933         (alpha_legitimate_address_p): Allow LO_SUM.
4934         (alpha_legitimize_address): Generate HIGH+LO_SUM.
4935         (alpha_expand_mov): Likewise.
4936         (secondary_reload_class): Check memory_operand not general_operand
4937         for FP_REGS test.
4938         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
4939         (alpha_expand_unaligned_store): Likewise.
4940         (alpha_expand_unaligned_load_words): Likewise.
4941         (alpha_expand_unaligned_store_words): Likewise.
4942         (alpha_expand_block_clear): Likewise.
4943         (print_operand): Handle %#, %*, %H.
4944         (print_operand_address): Handle LO_SUM.
4945         (find_lo_sum): New.
4946         (alpha_does_function_need_gp): Use it.
4947         (alpha_expand_block_move): Fix signed compare warnings.
4948         (alpha_sa_mask, alpha_align_insns): Likewise.
4949         * config/alpha/alpha-protos.h: Update.
4950         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
4951         (MASK_EXPLICIT_RELOCS): New.
4952         (TARGET_SWITCHES): Add -mexplicit-relocs.
4953         (EXTRA_CONSTRAINT): Add 'T'.
4954         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
4955         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
4956         (ENCODE_SECTION_INFO): Out line.
4957         (REDO_SECTION_INFO_P): New.
4958         (STRIP_NAME_ENCODING): New.
4959         (ASM_OUTPUT_LABELREF): New.
4960         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
4961         (PREDICATE_CODES): Update.
4962         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
4963         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
4964         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
4965         builtin_setjmp_receiver_er, exception_receiver_1_er,
4966         call_value_osf_1_er): New patterns.
4967         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
4968         (movqi, movhi, movsi): Add explicit $31 base register to lda.
4969         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
4970         (FINAL_PRESCAN_INSN): New.
4971
4972 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
4973
4974         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
4975
4976 2001-09-08  Andreas Jaeger  <aj@suse.de>
4977
4978         * i386.h (TARGET_SWITCHES): Fix description.
4979
4980 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
4981
4982         * rs6000.c (num_insns_constant): Compute number of instructions
4983         more accurately.
4984
4985         * doc/install.texi: Explain AIX exception handling work-around.
4986         Update URL for AIX fixes.
4987
4988 2001-09-07  Jim Wilson  <wilson@redhat.com>
4989
4990         * alias.c (clear_reg_alias_info): New.
4991         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
4992         * rtl.h (clear_reg_alias_info): Declare.
4993
4994 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
4995
4996         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
4997         available.
4998         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
4999         (m16m,edivm,emulm): Change declaration to match definition.
5000
5001 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
5002
5003         * reload.c (push_reload): Check for subreg_lowpart_p instead of
5004         SUBREG_BYTE being 0 when determining if the inner part of a subreg
5005         can be reloaded.
5006
5007 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5008
5009         * c-common.c (signed_or_unsigned_type): Handle machine mode types
5010         which have no corresponding C type.
5011         * fold_const.c (target_isinf,target_isnan,target_negative): Update
5012         the representation of 64-bit doubles to work with 64-bit ints.
5013
5014 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
5015
5016         * config/mips/mips.c (override_options): Do not override ISA when ABI
5017         specified if MIPS_CPU_STRING_DEFAULT was specified.
5018
5019 2001-09-07  Richard Henderson  <rth@redhat.com>
5020
5021         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
5022         (express_from_1): Wrap lines.
5023         * rtlanal.c (commutative_operand_precedence): Rename from
5024         operand_preference; export.
5025         * rtl.h: Declare it.
5026         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
5027         (simplify_binary_operation): Invoke simplify_plus_minus on
5028         (CONST (PLUS ...)) as well.
5029         (struct simplify_plus_minus_op_data): New.
5030         (simplify_plus_minus_op_data_cmp): New.
5031         (simplify_plus_minus): Use them.  Avoid infinite recursion with
5032         simplify_binary_operation wrt CONST.
5033
5034 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
5035
5036         * h8300-protos.h (general_operand_dst_push): Remove.
5037         * h8300.c (general_operand_dst_push): Likewise.
5038         * h8300.h (OK_FOR_T): Likewise.
5039         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
5040         * h8300.md (pushqi_h8300): New.
5041         (pushqi_h8300hs): Likewise.
5042         (pushqi): Likewise.
5043         (pushhi_h8300): Likewise.
5044         (pushhi_h8300hs): Likewise.
5045         (pushhi): Likewise.
5046
5047 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5048
5049         * genattrtab.c (attr_printf): First arg is unsigned.
5050         Clean up formatting of callers.
5051
5052 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
5053
5054         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
5055         registers.
5056
5057 2001-09-07  Andreas Jaeger  <aj@suse.de>
5058
5059         * i386.h (TARGET_SWITCHES): Fix descriptions.
5060
5061 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
5062
5063         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
5064
5065 2001-09-06  Ira Ruben  <ira@apple.com>
5066
5067         Remove OP_IDENTIFIER.
5068         * tree.def (OP_IDENTIFIER): Remove.
5069         * tree.c (tree_node_kind enum): Remove op_id_kind.
5070         (tree_node_kind_names): Remove "op_identifiers".
5071         (make_node): Remove OP_IDENTIFIER test.
5072         (build_op_identifier): Removed because it isn't being used.
5073         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
5074         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
5075
5076 2001-09-06  Richard Henderson  <rth@redhat.com>
5077
5078         * simplify-rtx.c (simplify_binary_operation): Revert last change.
5079
5080 2001-09-06  Richard Henderson  <rth@redhat.com>
5081
5082         * simplify-rtx.c (simplify_binary_operation): Simplify contents
5083         of CONST.
5084
5085 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5086
5087         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
5088         number used for CR register.
5089
5090 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
5091                           Joern Rennecke (amylaar@cygnus.com)
5092
5093         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
5094         * h8300.c (initial_offset): Handle offset between RP and FP.
5095         (h8300_return_addr_rtx): New function.
5096         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
5097         return register.
5098         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
5099         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
5100         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
5101         (CAN_ELIMINATE, REGISTER_NAMES):
5102         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
5103
5104 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
5105
5106         Remove TYPE_NONCOPIED_PARTS.
5107         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
5108         (struct tree_type): Remove noncopied_parts.
5109         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
5110         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
5111         (fixed_type_p): Remove.
5112         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
5113         (expand_expr, MODIFY_EXPR): Likewise.
5114         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
5115         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
5116
5117 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
5118
5119         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
5120         compiler warnings.
5121         (mask64_operand): Likewise.
5122         (includes_rldic_lshift_p): Likewise.
5123         (includes_rldicr_lshift_p): Likewise.
5124
5125 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
5126
5127         * objc/objc-act.c (build_message_expr): If a class method cannot
5128         be found, do not issue a warning if a corresponding instance
5129         method exists in the root class.
5130
5131 2001-09-05  Richard Henderson  <rth@redhat.com>
5132
5133         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
5134
5135 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
5136
5137         * function.c (ggc_mark_struct_function): Mark f->outer.
5138         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
5139         * integrate.c (output_inline_function): ... not here.
5140
5141 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
5142
5143         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
5144
5145         * i386.c (size_cost): New static variable.
5146         (override_function): Use size_cost when -Os is specified.
5147
5148         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
5149         properly;  Use current_function_calls_eh_return.
5150         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
5151         use leave to avoid depdendancy chain.
5152
5153         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
5154         get BB loop_depth instead of computing it from LOOP notes.
5155
5156         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
5157
5158 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5159
5160         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5161         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
5162         UNALIGNED_DOUBLE_INT_ASM_OP): Define
5163
5164 2001-09-05  Jeffrey A Law  (law@cygnus.com)
5165             Jason Merrill (jason@redhat.com)
5166
5167         * stor-layout.c (layout_type): Complain if an array's size can
5168         not be represented in a size_t.
5169
5170         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
5171
5172 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
5173
5174         * gcc.c: (process_command) Add parentheses around assignment
5175         used as truth value.
5176
5177 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
5178
5179         * config/mips/mips.c (save_restore_insns): Don't mark any register
5180         save slots as unchanging if current_function_calls_eh_return.
5181
5182 2001-09-05  Richard Henderson  <rth@redhat.com>
5183
5184         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
5185         * config/alpha/alpha-protos.h: Declare it.
5186         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
5187         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
5188         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
5189         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
5190         (REG_OK_FOR_BASE_P): Select one of the above.
5191
5192 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
5193
5194         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
5195         (crti.o): Prefix name of object file with $(T).
5196         (crtn.o): Likewise.
5197
5198 2001-09-05  David S. Miller  <davem@redhat.com>
5199
5200         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
5201         * config/sparc/linux64.h: Likewise.
5202
5203 2001-09-05  Andreas Jaeger  <aj@suse.de>
5204
5205         * doc/invoke.texi (i386 Options): -mwide-multiply is not
5206         available anymore, remove the documentation.
5207         (i386 Options): Fix typo, cleanup index entries.
5208
5209         * prefix.c (concat): Remove, we can use the version from liberty.
5210
5211 2001-09-05  Richard Henderson  <rth@redhat.com>
5212
5213         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
5214         New functions split out of md file expanders.
5215         * config/alpha/alpha-protos.h: Declare them.
5216         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
5217
5218 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
5219
5220         * cppmacro.c (funlike_invocation_p): No need to restore context.
5221
5222 2001-09-04  Richard Henderson  <rth@redhat.com>
5223
5224         * reload.c (push_reload): Export.
5225         * reload.h (push_reload): Declare it.
5226
5227         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
5228         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
5229         * config/alpha/alpha.c (alpha_legitimize_address): New.
5230         (alpha_legitimize_reload_address): Likewise.
5231         * config/alpha/alpha-protos.h: Declare them.
5232
5233 2001-09-04  Stan Shebs  <shebs@apple.com>
5234
5235         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
5236         * config/darwin.c (machopic_stub_name): Account for internally
5237         generated lib calls such as memcpy.
5238
5239 2001-09-04  Richard Henderson  <rth@redhat.com>
5240
5241         * unwind.h (_UA_END_OF_STACK): New flag.
5242         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
5243
5244 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
5245
5246         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
5247
5248 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
5249
5250         * config/mips/mips.c (save_restore_insns): Change base_offset to
5251         fp_offset in second call to mips_emit_frame_related_store.
5252
5253 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
5254
5255         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
5256         sometimes be represented as a NOTE of type
5257         NOTE_INSN_DELETED_LABEL.
5258         (Insns): Document NOTE_INSN_DELETED_LABEL.
5259
5260 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
5261
5262         * c-common.h (tree_dump_index): Add more comments.
5263         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
5264         (dump_option_value_info): New struct.
5265         (dump_options): New array.
5266         (dump_switch_p): Parse switch options symbolically.
5267         * doc/invoke.texi (-fdump-ast): Rename to ...
5268         (-fdump-tree): ... here. Document that options are symbolic, and
5269         not all are applicable.
5270
5271 2001-09-04  David S. Miller  <davem@redhat.com>
5272
5273         * config/sparc/sparc.md (define_splits): Kill constraints.
5274
5275         Cleanup redundant and unused insn attributes.
5276         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
5277         binary, and move.  Mark ialu as default.
5278         (commented out define_function_unit "alu"): Kill.
5279         (define_attr "use_clobbered"): Kill.
5280         (whole file): Kill address insn type references.  Replace
5281         all unary/binary/move references with ialu.
5282         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
5283         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
5284         TYPE_IALU.
5285
5286         Simplify length insn attribute and make more judicious use
5287         of insn attribute defaulting.
5288         * config/sparc/sparc.md (all insns with length > one): Mark as
5289         insn type multi if real instructions, else use default if
5290         it is a forced splitter.
5291         (all insns with length == one): Use default insn length.
5292         (all insns of type ialu): Use default insn type.
5293
5294         Fix erroneous insn attribute settings.
5295         (addx): Set insn type to misc.
5296         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
5297         const_umulsidi3_sp64): Set insn type to imul.
5298
5299         Track SFmode vs DFmode insns according to UltraSPARC
5300         scheduling rules.
5301         * config/sparc/sparc.md ("fptype"): New attribute, default
5302         to "single".
5303         (all DFmode single insns): Mark as fptype "double".
5304
5305 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
5306
5307         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
5308
5309 2001-09-03  Richard Henderson  <rth@redhat.com>
5310
5311         * function.h (struct function): Add arg_pointer_save_area_init.
5312         * function.c (expand_function_end): Init arg_pointer_save_area.
5313         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
5314         when called from a nested function.
5315
5316 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
5317
5318         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
5319         is enabled.
5320
5321 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
5322
5323         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
5324
5325 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
5326
5327         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
5328         (emit_push_insn): Use specified padding direction when
5329         STACK_PUSH_CODE is POST_INC.
5330
5331         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
5332
5333 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5334
5335         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
5336
5337 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
5338
5339         * cppinit.c (cpp_start_read): Free the imacros list as we
5340         traverse it.  Don't free the chains before returning.
5341         (_cpp_push_next_buffer): Only try pushing buffers if we've
5342         completed -imacros handling.
5343
5344 2001-08-31  Eric Christopher  <echristo@redhat.com>
5345
5346         * gcc.c (handle_braces): Add explaination for abort.
5347
5348 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
5349
5350         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
5351         move adjustment of bitpos instead.
5352
5353 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
5354
5355         * function.c: Remove all_functions.  Make outer_function_chain
5356         static.
5357         (init_function_start): Don't add new function structure to
5358         all_functions.
5359         (find_function_data, push_function_context_to,
5360         pop_function_context_from, put_var_into_stack,
5361         trampoline_address): Update for changed structure element names.
5362         (push_function_context_to): Disentangle.
5363         (free_after_compilation): Also free F.
5364         (expand_dummy_function_end): Don't free cfun here.
5365         (put_var_into_stack): Comment why we can't use find_function_data here.
5366         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
5367         (mark_function_chain): Split into maybe_mark_struct_function and
5368         ggc_mark_struct_function.  Export the latter.
5369         (init_function_once): Mark from cfun and outer_function_chain;
5370         not all_functions.
5371
5372         * function.h (struct function): Kill next_global.  Rename next
5373         to outer.  All users updated to match.
5374         (all_functions, outer_function_chain): Don't declare.
5375
5376         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
5377         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
5378         don't touch f->inlinable, after calling rest_of_compilation.
5379
5380         * tree.h: Forward-declare struct function.  Prototype
5381         ggc_mark_struct_function.
5382
5383 2001-08-31  Kazu Hirata  <kazu@hxi.com>
5384
5385         * config/h8300/h8300.md (*andorhi3): Fix typos.
5386
5387 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5388
5389         * calls.c (emit_library_call_value): Don't use a fixed
5390         argument after VA_CLOSE, i.e. out of scope in traditional C.
5391
5392         * emit-rtl.c (gen_rtvec): Likewise.
5393
5394 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5395
5396         * Makefile.in (c-pragma.o): Depend on output.h.
5397         (reorg.o): Depend on except.h.
5398
5399         * c-pragma.c: Include output.h.
5400
5401         * reorg.c: Include except.h.
5402
5403         * unwind-dw2.c: Call __builtin_alloca, not alloca.
5404
5405 2001-08-31  Richard Henderson  <rth@redhat.com>
5406
5407         * sched-deps.c (add_dependence): Don't elide dependency if the
5408         conditional used by insn is modified in elem.
5409
5410 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
5411
5412         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
5413
5414 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
5415
5416         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
5417         dump_switch_p.
5418
5419 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
5420
5421         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
5422         function.
5423         (stormy16_asm_out_constructor): New function.
5424         (TARGET_ASM_CONSTRUCTOR): Define.
5425         (TARGET_ASM_DESTRUCTOR): Define.
5426
5427 2001-08-31  Andreas Jaeger  <aj@suse.de>
5428
5429         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
5430         * loop.c (add_label_notes): Likewise.
5431         * reload.c (find_reloads): Likewise.
5432         * config/sh/sh.c (machine_dependent_reorg): Likewise.
5433
5434 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
5435
5436         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
5437         code here.  Take _Unwind_{W,Sw}ord*.
5438         (read_encoded_value_with_base): Use them.
5439         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
5440         words.
5441         (extract_cie_info): Simplify read_?leb128 handling.
5442         (execute_stack_op, execute_cfa_program): Likewise.
5443         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
5444
5445 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
5446
5447         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
5448         the frame pointer to pop the stack if convenient.
5449
5450         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
5451         Don't use post-increment before combine.
5452         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
5453         a call-saved register.
5454
5455 2001-08-31  Andreas Jaeger  <aj@suse.de>
5456
5457         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
5458         code was correct.
5459
5460 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
5461
5462         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
5463         not DIV/MOD, of course.
5464
5465 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
5466
5467         * rtl.def: Undo my patch commited 2001-08-27.
5468
5469         * genattrtab.c: Ditto.
5470
5471         * rtl.h: Ditto.
5472
5473         * sched-int.h: Ditto.
5474
5475         * target-def.h: Ditto.
5476
5477         * target.h: Ditto.
5478
5479         * haifa-sched.c: Ditto.
5480
5481         * sched-rgn.c: Ditto.
5482
5483         * sched-vis.c: Ditto.
5484
5485         * Makefile.in: Ditto.
5486
5487         * doc/md.texi: Ditto.
5488
5489         * doc/tm.texi: Ditto.
5490
5491         * doc/contrib.texi: Ditto.
5492
5493         * doc/gcc.texi: Ditto.
5494
5495         * genattrtab.h: Remove it.
5496
5497         * genautomata.c: Remove it.
5498
5499         * genattr.c: Undo my patch and Richard Henderson's patch commited
5500         2001-08-27.
5501
5502 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
5503
5504         * config.gcc (h8300-*-elf*): New case.
5505         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
5506         (SUBTARGET_CPP_SPEC): Define.
5507         (EXTRA_SPECS): Define.
5508         (SUBTARGET_EXTRA_SPECS): Define.
5509         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
5510         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
5511
5512 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
5513
5514         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
5515         (LIB2FUNCS_EXTRA): Define.
5516         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
5517         config/h8300/fixunssfsi.c: New file.
5518
5519 2001-08-30  Kazu Hirata  <kazu@hxi.com>
5520
5521         * config/h8300/h8300.md (zero_extendqihi2): Changes to
5522         define_expand to accommodate target-specific attributes.
5523         (anonymous zero_extendqihi2 patterns): New.
5524
5525 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
5526
5527         * h8300.md (*andorhi3): New pattern.
5528
5529 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
5530
5531         * h8300.c (dosize): Fix test for "sub".
5532
5533 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
5534
5535         * c-typeck.c (pointer_diff): Try to eliminate common term before
5536         doing conversions.
5537
5538 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
5539
5540         * config/arm/arm.c (arm_compute_initial_elimination_offset):
5541         Account for the saves of the FP registers.
5542
5543         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
5544         (TEXT_SECTION_ASM_OP): Define.
5545         (INIT_SECTION_ASM_OP): Define.
5546         (FINI_SECTION_ASM_OP): Define.
5547         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
5548         (RDATA_SECTION_FUNCITON): Provide prototype.
5549
5550 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
5551
5552         * reload1.c (move2add_note_store): Correct typo checking for
5553         argument pushes.
5554
5555 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
5556
5557         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
5558         note should not be considered outside the libcall block.
5559
5560 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5561
5562         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
5563
5564 2001-08-29  Kazu Hirata  <kazu@hxi.com>
5565
5566         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
5567
5568 2001-08-29  Kazu Hirata  <kazu@hxi.com>
5569
5570         * config/h8300/h8300-protos.h: Add a prototype for
5571         emit_logical_op.
5572         * config/h8300/h8300.c (emit_logical_op): New.
5573         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
5574         (andsi3): Likewise.
5575         (iorhi3): Likewise.
5576         (iorsi3): Likewise.
5577         (xorhi3): Likewise.
5578         (xorsi3): Likewise.
5579
5580 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5581
5582         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
5583         comparison with rtx INTVAL.
5584         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
5585         expression.
5586         * pa.h (FUNCTION_ARG_SIZE): Likewise.
5587
5588 2001-08-29  Kazu Hirata  <kazu@hxi.com>
5589
5590         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
5591         comment typos.
5592
5593 2001-08-29  Kazu Hirata  <kazu@hxi.com>
5594
5595         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
5596         (reg n) to (mem (pre_dec (reg n))
5597         (anonymous movsi pattern): Likewise.
5598
5599 2001-08-29  Kazu Hirata  <kazu@hxi.com>
5600
5601         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
5602
5603 2001-08-29  Kazu Hirata  <kazu@hxi.com>
5604
5605         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
5606         several special constants.
5607
5608 2001-08-29  Kazu Hirata  <kazu@hxi.com>
5609
5610         * config/h8300/lib1funcs.asm: Fix comment typos.
5611
5612 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5613
5614         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
5615         Fix format specifier warnings.
5616
5617         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
5618         inet_makeaddr, semctl): Prototype.
5619
5620         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
5621         (save_restore_insns): Use base_offset, not gp_offset.
5622
5623         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
5624         (ASM_OUTPUT_BYTE): Fix format specifier warning.
5625
5626 2001-08-29  Richard Henderson  <rth@redhat.com>
5627
5628         * bb-reorder.c (function_tail_eff_head): New.
5629         (record_effective_endpoints): Set it.
5630         (fixup_reorder_chain): Use it.
5631
5632 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5633
5634         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
5635
5636 2001-08-28  Dale Johannesen  <dalej@apple.com>
5637
5638         * config/darwin.c (machopic_function_base_name): Add const
5639         qualifier to a string.
5640         (darwin_encode_section_info): Ditto.
5641
5642 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5643
5644         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
5645         function definition.
5646
5647 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
5648
5649         * df.h (struct df): Add rts_order variable.
5650
5651         * df.c (df_visit_next_rts): New function.
5652         (df_visit_next): Renamed to df_visit_next_rc
5653         (df_analyse_1): Allocate/compute/free rts_order as well.
5654         (df_rd_global_compute): Use df_visit_next_rc instead of
5655         df_visit_next.
5656         (df_ru_global_compute): Use df_visit_next_rts instead of
5657         df_visit_next.
5658
5659         * flow.c (flow_reverse_top_sort_order_compute): New function.
5660
5661         * basic-block.h: Add prototype.
5662
5663 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
5664
5665         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
5666         blocks, the BB_REACHABLE is now set, rather than aux being
5667         non-NULL. Update the test to reflect this.
5668
5669 2001-08-28  Eric Christopher  <echristo@redhat.com>
5670
5671         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
5672         config/mips/crti.asm: Ditto.
5673
5674 2001-08-28  Eric Christopher <echristo@redhat.com>
5675             Richard Henderson <rth@redhat.com>
5676
5677         * c-pragma.h (add_weak): Move prototype from here...
5678         * output.h (add_weak): ... to here.
5679         * varasm.c (add_weak): Fix typo.
5680         * config/mips/crti.asm: New file.
5681         * config/mips/crtn.asm: Ditto.
5682         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
5683         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
5684         (INVOKE__main): Ditto.
5685         (INIT_SECTION_ASM_OP): New.
5686         (FINI_SECTION_ASM_OP): Ditto.
5687         (STARTFILE_SPEC): Add crti.
5688         (ENDFILE_SPEC): Add crtn.
5689         * config/mips/elf64.h: Same.
5690         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
5691         Remove.
5692         * config/mips/vxworks.h: Ditto.
5693         * config/mips/t-elf: Support crti and crtn.
5694
5695 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
5696
5697         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
5698         INSN_LIST.
5699
5700 2001-08-28  Richard Henderson  <rth@redhat.com>
5701
5702         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
5703         (one_cmplbi2 splitter): Remove redundant test.
5704
5705 2001-08-28  Dale Johannesen  <dalej@apple.com>
5706
5707         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
5708
5709 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
5710
5711         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
5712
5713 2001-08-28  Stan Shebs  <shebs@apple.com>
5714
5715         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
5716         (UNALIGNED_SHORT_ASM_OP): Define.
5717         (UNALIGNED_INT_ASM_OP): Define.
5718
5719 2001-08-28  Will Cohen  <wcohen@redhat.com>
5720
5721         * config/rs6000/rs6000.md (store_multiple): Correct RTL
5722         generation for first set.
5723
5724 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
5725
5726         * flow.c (redirect_edge_succ_nodup): Return new edge.
5727         (try_simplify_condjump): Use new edge.
5728         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
5729
5730         * cse.c (cse_basic_block): Skip note instructions.
5731
5732 2001-08-27  Richard Henderson  <rth@redhat.com>
5733
5734         * combine.c (combine_simplify_rtx): Don't reverse condition
5735         if there is no reverse for the condition.
5736         (simplify_comparison): Don't simplify subregs from INT to FP.
5737
5738         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
5739         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
5740         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
5741         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
5742         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
5743         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
5744
5745 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
5746
5747         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
5748         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
5749         (pushqi1): New.
5750         (adddi_dilshr32, adddi_dishl32): Only data register can be
5751         source for mem destination.
5752
5753         * expmed.c (store_bit_field): Ignore adjustment to bitpos
5754         and use bitnum to decide about register move.
5755
5756 2001-08-27  Richard Henderson  <rth@redhat.com>
5757
5758         * genattr.c (main): Emit state_t even when not doing scheduling.
5759
5760 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
5761             Richard Henderson  <rth@redhat.com>
5762
5763         * gcse.c (reg_first_set, reg_last_set): Replace with ...
5764         (reg_avail_info, current_bb): ... these.
5765         (oprs_unchanged_p, record_last_reg_set_info): Use them.
5766         (compute_hash_table): Likewise.
5767
5768 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
5769
5770         * flow.c (verify_flow_info): Use checksums to verify edges.
5771
5772 2001-08-27  Richard Henderson  <rth@redhat.com>
5773
5774         * genautomata.c (expand_automata): Always create a description.
5775
5776 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
5777
5778         * optabs.c (expand_binop): Correctly handle the carry in multiword
5779         add/subtract operations.
5780
5781 2001-08-27  Fred Fish  <fnf@be.com>
5782
5783         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
5784         __SIZE_TYPE__.
5785
5786 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
5787
5788         * reload.c (find_reloads_toplev): Back out this change:
5789
5790         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
5791
5792         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
5793         mem if the address is a mode_dependent_address_p.
5794
5795 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
5796
5797         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
5798         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
5799         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
5800         RTL constructions.
5801
5802         * genattr.c (main): New variable num_insn_reservations.  Increase
5803         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
5804         pipeline hazard recognizer interface.
5805
5806         * genattrtab.h: New file.
5807
5808         * genattrtab.c: Include genattrtab.h.
5809         (attr_printf, check_attr_test, make_internal_attr,
5810         make_numeric_value): Move protypes into genattrtab.h.  Define them
5811         as external.
5812         (num_dfa_decls): New global variable.
5813         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
5814         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
5815         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
5816         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
5817
5818         * genautomata.c: New file.
5819
5820         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
5821
5822         * sched-int.h: (curr_state): Add the external definition for
5823         automaton pipeline interface.
5824         (haifa_insn_data): Add comments for members blockage and units.
5825
5826         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
5827         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
5828         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
5829         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
5830         TARGET_SCHED_DFA_POST_CYCLE_INSN,
5831         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
5832         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
5833         macros.
5834         (TARGET_SCHED): Use the new macros.
5835
5836         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
5837         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
5838         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
5839         dfa_bubble): New members in gcc_target.sched.
5840
5841         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
5842         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
5843         (insn_queue): Redefine it as pointer to array.
5844         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
5845         INSN_QUEUE_SIZE.
5846         (max_insn_queue_index_macro_value): New variable.
5847         (curr_state, dfa_state_size, ready_try): New varaibles for
5848         automaton interface.
5849         (ready_element, ready_remove, max_issue): New function prototypes
5850         for automaton interface.
5851         (choose_ready): New function prototype.
5852         (insn_unit, blockage_range): Add comments.
5853         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
5854         FUNCTION_UNITS_SIZE == 0.
5855         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
5856         actual_hazard, potential_hazard): Add comments.
5857         (insn_cost): Use cost -1 as undefined value.  Remove
5858         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
5859         pipeline interface.
5860         (ready_element, ready_remove): New functions for automaton
5861         interface.
5862         (schedule_insn): Add new code for automaton pipeline interface.
5863         (queue_to_ready): Add new code for automaton pipeline interface.
5864         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
5865         (debug_ready_list): Print newline when the queue is empty.
5866         (max_issue): New function for automaton pipeline interface.
5867         (choose_ready): New function.
5868         (schedule_block): Add new code for automaton pipeline interface.
5869         Print ready list before scheduling each insn.
5870         (sched_init): Add new code for automaton pipeline interface.
5871         Initiate insn cost by -1.
5872         (sched_finish): Free the current automaton state and finalize
5873         automaton pipeline interface.
5874
5875         * sched-rgn.c: Include target.h.
5876         (init_ready_list, new_ready, debug_dependencies): Add new code for
5877         automaton pipeline interface.
5878
5879         * sched-vis.c: Include target.h.
5880         (get_visual_tbl_length): Add code for automaton interface.
5881         (target_units, print_block_visualization):  Add comments.
5882
5883         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
5884         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
5885         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
5886         (getruntime.o, genautomata.o): New entries.
5887         (genattrtab.o): Add new dependency file genattrtab.h.
5888         (genattrtab): Add new dependencies.  Link it with `libm.a'.
5889         (getruntime.o, hashtab.o): New entries for canadian cross.
5890
5891         * doc/md.texi: Description of automaton based model.
5892
5893         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
5894         Add comments.
5895         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
5896         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
5897         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
5898         TARGET_SCHED_DFA_POST_CYCLE_INSN,
5899         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
5900         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
5901         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
5902         hook descriptions.
5903         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
5904         MAX_DFA_ISSUE_RATE): New macro descriptions.
5905
5906         * doc/contrib.texi: Add dfa based scheduler contribution.
5907
5908         * doc/gcc.texi: Add more information about genattrtab.
5909
5910 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
5911
5912         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
5913         an RTL basic block.
5914
5915 2001-08-27  Richard Henderson  <rth@redhat.com>
5916
5917         * function.c (expand_function_end): Don't init arg_pointer_save_area.
5918         (get_arg_pointer_save_area): New.  Create an init it here.
5919         (fix_lexical_addr): Use it.
5920         * function.h: Declare it.
5921         * builtins.c (expand_builtin_setjmp_receiver): Use it.
5922         * stmt.c (expand_nl_goto_receiver): Use it.
5923
5924 2001-08-27  Richard Henderson  <rth@redhat.com>
5925
5926         * final.c (final_scan_insn): Don't enter APP_ON mode for
5927         empty asm strings.
5928
5929         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
5930         alignment for assemble_integer for DW_EH_PE_aligned.
5931         * except.c (output_function_exception_table): Likewise.
5932
5933 2001-08-26  Andreas Jaeger  <aj@suse.de>
5934
5935         * c-tree.h: Add prototyp for c_sizeof_nowarn.
5936
5937 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
5938
5939         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
5940
5941 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
5942
5943         * config/rs6000/rs6000.c (mask_operand): Rewrite without
5944         bit-shifting loop.
5945         (mask64_operand): Likewise.
5946         (rldic_operand): Delete.
5947         (includes_lshift64_p): Delete.
5948         (includes_rldic_lshift_p): New function.
5949         (includes_rldicr_lshift_p): New function.
5950         (print_operand): Don't call rldic_operand in case 'W'.
5951         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
5952         (includes_lshift64_p): Remove.
5953         (includes_rldic_lshift_p): Declare.
5954         (includes_rldicr_lshift_p): Declare.
5955         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
5956         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
5957         Replace match_operand rldic_operand predicate with
5958         const_int_operand.  Replace includes_lshift64_p condition with
5959         includes_rldic_lshift_p.
5960         <ashldi3_internal 64 bit rldicr patterns>: New.
5961
5962 2001-08-27  Andreas Jaeger  <aj@suse.de>
5963
5964         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
5965         * errors.c: Likewise.
5966         * final.c: Likewise.
5967         * dwarf2asm.c: Likewise.
5968         * doprint.c (checkit): Likewise.
5969         * diagnostic.c: Likewise.
5970         * collect2.c: Likewise.
5971         * calls.c: Likewise.
5972         * c-semantics.c (build_stmt): Likewise.
5973         * c-format.c (status_warning): Likewise.
5974         * c-errors.c (pedwarn_c99): Likewise.
5975         * builtins.c (validate_arglist): Likewise.
5976         * config/pj/pj.c (pj_printf): Likewise.
5977         * fix-header.c: Likewise.
5978         * gcc.c: Likewise.
5979         * gcov.c (fnotice): Likewise.
5980         * gensupport.c (message_with_line): Likewise.
5981         * mips-tfile.c: Likewise.
5982         * protoize.c (notice): Likewise.
5983         * read-rtl.c (fatal_with_file_and_line): Likewise.
5984         * rtl-error.c: Likewise.
5985         * tradcpp.c: Likewise.
5986         * tree.c: Likewise.
5987         * cp/tree.c (build_min_nt): Likewise.
5988         (build_min): Likewise.
5989         * cp/lex.c: Likewise.
5990         * cp/errfn.c: Likewise.
5991         * cp/rtti.c (create_pseudo_type_info): Likewise.
5992
5993 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
5994
5995         * df.c (df_uses_record): Return after recording all uses
5996         in ASM_OPERANDS.
5997
5998 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
5999
6000         * df.c (df_insn_modify): Realloc the INSN table here, if
6001         necessary, here, too.
6002
6003 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
6004
6005         * config/mips/mips.c (mips_function_value): Handle complex return
6006         values.
6007
6008 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
6009
6010         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
6011         unshared.
6012         * reload.c (make_memloc): Copy result if it is still
6013         reg_equiv_memory_loc[regno] on return.
6014         (subst_reloads) [ENABLE_CHECKING]: Check that none of
6015         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
6016         reg_equiv_mem are modified by the substitutions.
6017
6018 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
6019
6020         * predict.c (expensive_function_p): New.
6021         * rtl.h (expensive_function_p): Declare.
6022         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
6023         (use_fast_prologue_epilogue): New static variable.
6024         (expand_prologue): Set it; emit short prologues if unset.
6025         (expand_epilogue): Likewise.
6026
6027 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
6028
6029         * config.gcc: Add stormy16-*-elf case.
6030         * config/stormy16/stormy-abi: New file.
6031         * config/stormy16/stormy16-lib2.c: New file.
6032         * config/stormy16/stormy16-protos.h: New file.
6033         * config/stormy16/stormy16.c: New file.
6034         * config/stormy16/stormy16.h: New file.
6035         * config/stormy16/stormy16.md: New file.
6036         * config/stormy16/t-stormy16: New file.
6037
6038 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
6039
6040         * i386.h (no-accumulate-outgoing-args): Use proper mask.
6041
6042 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
6043
6044         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
6045         descriptor members are pointer size, not constant 4.
6046         * config/rs6000/rs6000.md (define_splits): Remove more unused
6047         constraints.
6048
6049 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6050
6051         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
6052
6053 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
6054
6055         * cp/rtti.c (VPARAMS): Fix parameter.
6056
6057 2001-08-24  Zack Weinberg  <zackw@panix.com>
6058
6059         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
6060         to zero.
6061         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
6062         to switch.
6063         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
6064         in if controlling use of insv.
6065         (extract_bit_field): Likewise, for extv and extzv.
6066
6067 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
6068
6069         * i386.md (movcc peep2): Fix load of 0.
6070
6071 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6072
6073         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
6074         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
6075
6076 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
6077
6078         * c-pragma.h: Move weak_syms and weak_decls...
6079         * varasm.c: ...here.  Now static.
6080         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
6081         depend on HANDLE_PRAGMA_WEAK.
6082
6083         * c-common.c (c_alignof, c_alignof_expr): Move here...
6084         * c-typeck.c: ...from here.
6085         * c-tree.h, c-common.h: Adjust.
6086
6087 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
6088
6089         * config/ia64/ia64.c (rws_update): If !pred, set write_count
6090         instead of incrementing it.
6091
6092         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
6093         asm ready, don't try to move them all into the same array element.
6094
6095 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
6096
6097         * function.c (thread_prologue_and_epilogue_insns): Avoid
6098         fallthru flag on edge to exit.
6099
6100         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
6101
6102         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
6103         dead edges.
6104
6105 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
6106
6107         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
6108         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
6109         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
6110         Remove prototype.
6111
6112 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
6113
6114         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
6115         replace "GNU CC" with "GCC".
6116
6117 2001-08-23  Richard Henderson  <rth@redhat.com>
6118
6119         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
6120         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
6121         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
6122         Need GR between FR and not GR_AND_FR.
6123         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
6124         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
6125         AR regs before GR regs.
6126         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
6127         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
6128         (REGISTER_MOVE_COST): Update.
6129         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
6130
6131 2001-08-23  Richard Henderson  <rth@redhat.com>
6132
6133         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
6134         a register class.
6135
6136 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
6137
6138         * reload1.c (emit_reload_insns): Don't look for notes
6139         on a NULL store_insn.
6140
6141 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6142
6143         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
6144         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
6145         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
6146         format specifier warnings.
6147         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
6148
6149 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
6150
6151         * config/i386/i386-protos.h: Correct declaration of
6152         i386_pe_asm_named_section.
6153
6154 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6155
6156         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
6157         variable i.
6158         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
6159
6160 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
6161
6162         * cpperror.c (print_location): Don't show _Pragma.
6163         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
6164         and file change callback generation here.
6165         (stack_include_file): Update use of cpp_push_buffer.
6166         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
6167         (struct cpp_buffer): Remove type, pfile members.
6168         * cppinit.c (cpp_handle_option): Use free_chain.
6169         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
6170         (skip_escaped_newlines, get_effective_char, lex_percent): Take
6171         a cpp_reader rather than a cpp_buffer.
6172         (skip_escaped_newlines, get_effective_char, skip_block_comment,
6173         skip_line_comment, parse_string, lex_percent, lex_dot,
6174         _cpp_lex_token): Update accordingly.
6175         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
6176         generation here.
6177         (cpp_push_buffer): Update prototype.
6178         (run_directive): Update use of cpp_push_buffer.
6179         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
6180         handle_assertion): Update use of run_directive.
6181         * cpplib.h (enum cpp_buffer_type): Remove.
6182         (cpp_push_buffer): Update prototype.
6183         * fix-header.c (read_scan_file): Update.
6184
6185 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
6186
6187         * gcc.c (struct prefix_list): Change prefix to const char *.
6188
6189 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
6190
6191         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
6192
6193 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
6194
6195         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
6196         from a new MEM.
6197
6198         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
6199         a squeezable note.
6200         * rtl.h: Adjust.
6201         * ifcvt.c (dead_or_predicable): Adjust.
6202         * loop.c (find_and_verify_loops): Adjust.
6203         * stmt.c (expand_end_case): Adjust.
6204         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
6205         head and end insn pointers in the basic block, not just local copies.
6206         (merge_blocks_move_predecessor_nojumps): Likewise.
6207
6208 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
6209
6210         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
6211         bitmap.h, builtin-types.def, builtins.c, builtins.def,
6212         c-aux-info.c, c-common.c, c-common.def, c-common.h,
6213         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
6214         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
6215         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
6216         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
6217         conditions.h, config.gcc, configure.frag, configure.in,
6218         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
6219         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
6220         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
6221         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
6222         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
6223         emit-rtl.c, errors.c, errors.h, except.c, except.h,
6224         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
6225         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
6226         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
6227         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
6228         gencheck.c, gencodes.c, genconfig.c, genemit.c,
6229         genextract.c, genflags.c, gengenrtl.c, genmultilib,
6230         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
6231         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
6232         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
6233         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
6234         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
6235         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
6236         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
6237         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
6238         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
6239         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
6240         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
6241         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
6242         params.h, predict.c, predict.def, predict.h, prefix.c,
6243         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
6244         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
6245         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
6246         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
6247         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
6248         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
6249         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
6250         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
6251         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
6252         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
6253         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
6254         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
6255         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
6256         xcoffout.h: replace "GNU CC" with "GCC".
6257
6258 2001-08-21  Richard Henderson  <rth@redhat.com>
6259
6260         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
6261         (final_scan_insn): Consider jump tables data even if we have no
6262         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
6263         ADDR_VEC_ALIGN.
6264         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
6265         (ASM_OUTPUT_CASE_END): Remove.
6266         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
6267         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
6268         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
6269
6270 2001-08-21  Richard Henderson  <rth@redhat.com>
6271
6272         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
6273         at barrier insns.  Emit stop bits before barriers.
6274
6275         * flow.c (flow_find_cross_jump): Don't consider unconditional
6276         return insns for commoning.
6277
6278         * final.c (compute_alignments): Fix typo.
6279
6280         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
6281         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
6282         (store_bit_field): Use mode_for_extraction more places.
6283         (extract_bit_field): Likewise.
6284
6285 2001-08-21  Zack Weinberg  <zackw@panix.com>
6286
6287         * caller-save.c: Don't include insn-codes.h.
6288         (reg_save_code, reg_restore_code): Make arrays of int.
6289         All uses updated to match.
6290         (insert_save, insert_restore): No need to initialize "code"
6291         variable upon declaration.
6292         * Makefile.in: update dependencies; fix typo in clean rule.
6293
6294 2001-08-21  Richard Henderson  <rth@redhat.com>
6295
6296         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
6297         (merge_if_block): Handle fallout from same.
6298
6299 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6300
6301         * builtins.c (type_to_class): Fix typo in last change.
6302
6303 2001-08-21  Richard Henderson  <rth@redhat.com>
6304
6305         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
6306         ia64_asm_output_label.
6307
6308         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
6309         copy of gp while the real gp register contains garbage.
6310
6311 2001-08-21  Zack Weinberg  <zackw@panix.com>
6312
6313         * expmed.c (mode_for_extraction): New function.
6314         (store_bit_field, extract_bit_field): Use it.
6315         * expr.h: Prototype it and provide an enum for its first argument.
6316
6317         * combine.c, function.c, recog.c: Don't include insn-codes.h.
6318         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
6319         and digging through the insn_data tables.
6320         * Makefile.in: Update dependencies.
6321
6322 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
6323
6324         * cppfiles.c (stack_include_file): line-map.c now handles include
6325         depth.
6326         (handle_missing_handler): Similarly.
6327         (_cpp_execute_include): Similarly.
6328         (_cpp_pop_file_buffer): Similarly.
6329         * cpphash.h (struct cpp_reader): Remove system_include_depth,
6330         buffer_stack_depth and include_depth.
6331         * cpplib.c (do_include_common): line-map.c now handles include depth.
6332         (cpp_push_buffer): Similarly.
6333         (_cpp_pop_buffer): Similarly.
6334         * cppmacro.c (builtin_macro): Update.
6335         * line-map.c (init_line_maps): Set depth.
6336         (add_line_map): Increment "used" earlier.  Update and use the
6337         include depth.
6338         (trace_include): Use the include depth.
6339         * line-map.h (struct line_maps): New member depth.
6340
6341 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
6342
6343         * cppfiles.c (stack_include_file): Don't handle -H here.
6344         * cppinit.c (cpp_start_read): Set include tracing after
6345         cpp_post_options and after stacking the main file.
6346         * line-map.c (trace_include): New.
6347         (init_line_maps, add_line_map): Update.
6348         * line-map.h (struct line_maps): New member trace_includes.
6349
6350 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
6351
6352         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
6353         * cppfiles.c (stack_include_file): Only stack a file if there
6354         is something to do.  Return a boolean indicating whether a
6355         buffer was stacked or not.
6356         (_cpp_execute_include): Similarly.
6357         (_cpp_read_file): Similarly.
6358         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
6359
6360 2001-08-21  Sam Steingold  <sds@gnu.org>
6361
6362         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
6363         (RECACHE): keep obufp_before_macroname up to date
6364
6365 2001-08-21  Zack Weinberg  <zackw@panix.com>
6366
6367         * stmt.c: Don't include insn-codes.h.
6368         (expand_end_case): Machine specific logic moved to expr.c.
6369         No need to worry about __builtin_classify_type.
6370         (check_for_full_enumeration_handling, emit_case_nodes):
6371         Kill #if 0 blocks.
6372
6373         * builtins.o (expand_builtin_classify_type): Split up so code
6374         can be shared with fold_builtin_classify_type.
6375         (type_to_class, fold_builtin_classify_type): New functions.
6376         (fold_builtins): Handle __builtin_classify_type.
6377
6378         * expr.c (do_tablejump): Now static.
6379         (case_values_threshold, try_casesi, try_tablejump): New;
6380         code mostly from stmt.c (expand_end_case).
6381         (expr.h): Update prototypes.
6382
6383         * Makefile.in (stmt.o): Update dependencies.
6384
6385 2001-08-21  Will Cohen  <wcohen@redhat.com>
6386
6387         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
6388         declaration of variable i.
6389         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
6390         declaration of variable i.
6391
6392 2001-08-21  Richard Henderson  <rth@redhat.com>
6393
6394         * crtstuff.c: Fix thinko last change.  Move list tails to start
6395         of CRT_END section.  Tidy ifdefs.
6396         (__EH_FRAME_BEGIN__): Always static for ELF.
6397         (__do_global_ctors_1): Rename from __frame_dummy.
6398         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
6399         name change; don't hide __EH_FRAME_BEGIN__.
6400
6401 2001-08-21  Richard Henderson  <rth@redhat.com>
6402
6403         * gdbinit.in: Move break on exit after break on fancy_abort.
6404
6405         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
6406         sized types.
6407
6408 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
6409
6410         * cpphash.h (_cpp_push_next_buffer): New.
6411         * cppinit.c (do_includes): Remove.
6412         (push_include, free_chain, _cpp_push_next_buffer): New.
6413         (cpp_start_read): Use them to rework command line option handling.
6414         (cpp_handle_option): Combine handling of -include and -imacros.
6415         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
6416         appropriate.  Always insert missing \n at EOF.
6417         * cpplib.c (start_directive): Get the directive position right.
6418         * cppmain.c (cb_file_change): Always print the first line, unless
6419         preprocessed.
6420
6421 2001-08-20  Andreas Jaeger  <aj@suse.de>
6422
6423         * profile.c (compute_branch_probabilities): Remove extra new-line
6424         in error message.
6425         * flow.c (verify_flow_info): Likewise.
6426
6427 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
6428
6429         * basic-block.h (basic_block): Add new field 'flags'.
6430         (BB_REACHABLE): Define.
6431         (expunge_block): Declare.
6432         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
6433         (EXIT_BLOCK_PTR): Ditto.
6434         (expunge_block): Remove static declaration.
6435         (cleanup_cfg): Clear bb->aux on every basic block.
6436         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
6437         computing reachability.
6438         (delete_unreachable_blocks): Delete block b if b->flags has
6439         BB_REACHABLE unset.
6440
6441 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
6442
6443         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
6444
6445 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6446
6447         * sparc.c (sparc_variable_issue): Fix typo in last change.
6448
6449 2001-08-20  Richard Henderson  <rth@redhat.com>
6450
6451         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
6452
6453 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6454
6455         * pa.h (RETURN_IN_MEMORY): Improve comment.
6456
6457 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
6458
6459         * doc/invoke.texi (Profiling options): Clarify the interactions
6460         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
6461
6462 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
6463
6464         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
6465         command.
6466
6467 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
6468
6469         * gcc.c (make_relative_prefix): Allocate a sufficiently large
6470         buffer.
6471
6472 2001-08-20  Richard Henderson  <rth@redhat.com>
6473
6474         * final.c (end_final): Fix typo last change.
6475
6476 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
6477
6478         * cppinit.c (init_standard_includes): The returned buffer
6479         is already malloc-ed.
6480         * gcc.c (add_prefix): Similarly.
6481         * prefix.c (translate_name): Update to support clear buffer
6482         ownership rules.
6483         (update_path): Similarly.  Be sure to free any newly allocated
6484         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
6485         (tr): New function.
6486         * prefix.h (update_path): Update prototype and document.
6487         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
6488         up and update to new buffer ownership rules.
6489         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
6490
6491 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
6492
6493         * final.c (compute_alignments): New function.
6494         (init_insn_lengths): Do not care label_align.
6495         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
6496         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
6497         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
6498         (shorted_branches): Realloc label_align array; do
6499         not call init_insn_lengths; Do not care about loop alignments.
6500         * output.h (compute_alignments): Declare.
6501         * toplev.c (rest_of_compilation): Call compute_alignments.
6502         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
6503
6504         * predict.c (block_info_def): Add npredecesors, remove nvisited;
6505         change visited to tovisit.
6506         (propagate_freq): Use faster traversing algorithm.
6507         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
6508         to tovisit; reverse meaning.
6509
6510         * predict.c (struct block_info_def): Remove nvisited.
6511         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
6512         (estimate_bb_frequencies): Call mark_dfs_back_edges.
6513
6514 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
6515
6516         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
6517         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
6518         (TARGET_FUSED_MADD): New.
6519         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
6520         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
6521         the multiply-add instructions.
6522
6523 2001-08-19  Richard Henderson  <rth@redhat.com>
6524
6525         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
6526         is aligned to pointer size.
6527
6528 2001-08-19  Richard Henderson  <rth@redhat.com>
6529
6530         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
6531         display markers during final schedule.
6532
6533 2001-08-19  Richard Henderson  <rth@redhat.com>
6534
6535         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
6536
6537 2001-08-19  Richard Henderson  <rth@redhat.com>
6538
6539         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
6540         in the same string.
6541         (ASM_NAME_TO_STRING): Remove.
6542         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
6543         in the same string.  Remove support for expressions.
6544
6545 2001-08-19  Richard Henderson  <rth@redhat.com>
6546
6547         * config/i386/i386.md (tablejump): Make an expander; handle
6548         pic relative addressing here.
6549         (tablejump_1): Rename from tablejump_pic.
6550         (casesi): Remove.
6551
6552 2001-08-19  Richard Henderson  <rth@redhat.com>
6553
6554         * regclass.c (fix_register): Fix typo.
6555
6556 2001-08-18  Richard Henderson  <rth@redhat.com>
6557
6558         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
6559         (struct _Unwind_Context): Expand br_loc to hold it.
6560         (uw_frame_state_for): Handle leaf functions better.
6561         (uw_update_reg_address): Update for br_loc change.
6562
6563 2001-08-18  Richard Henderson  <rth@redhat.com>
6564
6565         * crtstuff.c: Move list heads before code that uses them.
6566         (__JCR_LIST__): Remove initial null.
6567         (frame_dummy, __frame_dummy): Do java registration here ...
6568         (__do_global_ctors_aux): ... not here.
6569
6570         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
6571         (__do_global_dtors_aux): Update to match.
6572         (__JCR_LIST__, __do_jv_register_classes): New.
6573         (.init): Call it.
6574         * config/ia64/crtend.asm (__JCR_END__): New.
6575         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
6576         instead of an indirect LTOFF22 reloc.
6577
6578 2001-08-18  Richard Henderson  <rth@redhat.com>
6579
6580         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
6581         * regclass.c (init_reg_sets_1): Fix typo.
6582         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
6583         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
6584         (ia64_compute_frame_size): Make ar.unat live when in use.
6585         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
6586         for ar.pfs; remove ar.unat handling.
6587         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
6588         call-saved.
6589         (PREDICATE_CODES): Add ar_pfs_reg_operand.
6590         * config/ia64/ia64-protos.h: Update decls.
6591         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
6592         (sibcall_pic): Likewise.
6593
6594 2001-08-18  Richard Henderson  <rth@redhat.com>
6595
6596         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
6597         pred_rel_mutex when searching for insn_group_barrier.
6598         * config/ia64/ia64.md (cycle_display): Combine the expander
6599         and insn patterns.
6600
6601         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
6602         bit before asm as needed.
6603
6604 2001-08-18  Richard Henderson  <rth@redhat.com>
6605
6606         * timevar.def (TV_MACH_DEP): New.
6607         * toplev.c (rest_of_compilation): Use it.
6608         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
6609
6610 2001-08-18  Zack Weinberg  <zackw@panix.com>
6611
6612         * unwind-dw2.c (execute_stack_op): Add default aborts to
6613         the inner switches to prevent warnings.
6614
6615 2001-08-18  Richard Henderson  <rth@redhat.com>
6616
6617         * timevar.h (struct timevar_time_def): Change element type to float.
6618         (ticks_to_msec, clocks_to_msec): Likewise.
6619         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
6620         (get_time): Likewise.
6621         (timevar_print): Adjust zero check and printing to match.
6622
6623 2001-08-18  Zack Weinberg  <zackw@panix.com>
6624
6625         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
6626         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
6627         Eliminate overfull or underfull hboxes.
6628
6629 2001-08-18  Zack Weinberg  <zackw@panix.com>
6630
6631         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
6632
6633 2001-08-18  Zack Weinberg  <zackw@panix.com>
6634
6635         * haifa-sched.c: Convert to target hooks.  Macros replaced
6636         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
6637         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
6638         MD_SCHED_FINISH, and HAVE_cycle_display.
6639         * target-def.h (TARGET_SCHED_ADJUST_COST,
6640         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
6641         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
6642         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
6643         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
6644         New hook #defines to be overridden.
6645         (TARGET_SCHED): Bring them all together.
6646         (TARGET_INITIALIZER): Update.
6647         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
6648         instead of 'struct rtx_def *' throughout.
6649         (struct sched): New set of hooks for the scheduler.
6650         * Makefile.in (haifa-sched.o): Depend on target.h.
6651         * doc/tm.texi: Document the new scheduler hooks, together in
6652         their own section, instead of scattered around.
6653         Fix a bunch of underfull/overfull hboxes.
6654
6655         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
6656         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
6657         sparc.h: Don't define any of the old scheduler macros.
6658
6659         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
6660         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
6661         sparc.c: Create hook functions from code extracted from
6662         corresponding target header, or make existing hooks static, as
6663         appropriate.  Set the appropriate entries in targetm.
6664
6665         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
6666         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
6667         rs6000-protos.h, s390-protos.h, sparc-protos.h:
6668         Remove prototypes for functions which are now static.
6669
6670         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
6671         related gunk; the Haifa scheduler is now the only choice.
6672
6673 2001-08-18  Zack Weinberg  <zackw@panix.com>
6674
6675         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
6676         * genopinit.c: Put floating point divide insns in sdiv_optab.
6677         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
6678         * config/gofast.h, config/c4x/c4x.h,
6679         config/ia64/hpux_longdouble.h, config/mips/mips.h,
6680         config/pa/long_double.h, config/rs6000/sysv4.h,
6681         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
6682         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
6683         (init_optabs): Use init_optabv for overflow-trapping optabs.
6684         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
6685         cmp_optab RTX codes so have_insn_for can find them.
6686
6687         * optabs.c (expand_simple_binop, expand_simple_unop,
6688         have_insn_for, gen_sub3_insn): New interfaces.
6689         * expr.h: Prototype new functions.
6690         (enum optab_methods): Move here from optabs.h.
6691
6692         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
6693         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
6694         Use new functions instead of working directly with optabs.
6695         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
6696         unroll.c: Don't include optabs.h.
6697         * caller-save.c, combine.c, function.c, stmt.c: Just include
6698         insn-codes.h, not optabs.h.
6699         * Makefile.in: Update dependencies.
6700
6701         * combine.c (make_compound_operation, simplify_comparison):
6702         Fix typos testing for this or that instruction.
6703
6704 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
6705
6706         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
6707         generating libgcc.a.
6708
6709 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6710
6711         * except.c (TYPE_HASH): Delete.
6712
6713         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
6714         HOST_WIDE_INT.
6715
6716         * tree.c (TYPE_HASH): Delete.
6717
6718         * tree.h (TYPE_HASH): Define.
6719
6720 2001-08-18  Graham Stott  <grahams@redhat.com>
6721
6722         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
6723         define_split.
6724         (adddi3_internal_2+2): Likewise.
6725         (eh_set_lr_di+1): Likewise.
6726
6727 2001-08-17  Richard Henderson  <rth@redhat.com>
6728
6729         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
6730         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
6731         * dwarf2asm.c: ... here.
6732         * dwarfout.c: Remove them.
6733
6734         * varasm.c (assemble_integer): Add align parameter.
6735         (assemble_real, output_constant, output_constructor): Likewise.
6736         * output.h: Update decls.
6737         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
6738         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
6739         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
6740         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
6741         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
6742         Update all callers.
6743
6744         * final.c (end_final): Abort profile block generation if we
6745         havn't layed it out properly.
6746         * output.h (assemble_eh_integer): Remove stale decl.
6747         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
6748         (min_align): New.
6749         (assemble_integer): Handle unaligned data.
6750         (assemble_real): Abort on unaligned data.
6751         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
6752         anything useful.
6753         (default_dtor_section_asm_out_destructor): Use assemble_align.
6754         (default_named_section_asm_out_constructor): Likewise.
6755         (default_ctor_section_asm_out_constructor): Likewise.
6756         * config/darwin.c (machopic_asm_out_constructor): Likewise.
6757         (machopic_asm_out_destructor): Likewise.
6758         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
6759         (nextstep_asm_out_destructor): Likewise.
6760         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
6761         (vms_asm_out_destructor): Likewise.
6762
6763 2001-08-17  Richard Henderson  <rth@redhat.com>
6764
6765         * config/mips/iris6.h (TARGET_IRIX6): New.
6766         (current_section_name, current_section_flags): New.
6767         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
6768         (MAX_OFILE_ALIGNMENT): New.
6769         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
6770         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
6771         (copy_file_data): Split out from
6772         (mips_asm_file_end): ... here.
6773         (mips_asm_file_start): Remove extra .section directive.  Use
6774         tmpfile instead of mips_make_temp_file.
6775         (mips_unique_section): Use const char * as needed for warnings.
6776         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
6777         re-add align parameter.
6778         (iris6_asm_named_section): New.
6779         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
6780         (iris6_asm_output_align, iris6_section_align_1): New.
6781         (iris6_asm_file_start, iris6_asm_file_end): New.
6782         * config/mips/mips-protos.h: Update decls.
6783
6784 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
6785
6786         * doc/install.texi (Install GCC): Add links to build status pages.
6787         (Specific): Ditto.
6788         (Final install): Ditto; request updates for specific info
6789
6790 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
6791
6792         * cpperror.c (print_location):  Don't take a file name; use the
6793         line map instead.
6794         (_cpp_begin_message): Similarly.
6795         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
6796         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
6797         (cpp_pedwarn_with_file_and_line): Remove.
6798         * cppfiles.c (stack_include_file): Update; set filename to stdin
6799         here when appropriate.
6800         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
6801         (_cpp_begin_message): Don't take a file name.
6802         * cppinit.c: Add comment.
6803         * cpplex.c: Fix end-of-directive indicator.
6804         * cpplib.c: Don't include intl.h.
6805         (run_directive, do_diagnostic): Update.
6806         (do_line): Update to not use nominal_fname.
6807         (cpp_push_buffer): Don't take a filename.
6808         * cpplib.h (struct ht): Remove.
6809         (cpp_push_buffer): Don't take a filename.
6810         (cpp_pedwarn_with_file_and_line): Remove.
6811         * cppmacro.c (struct cpp_macro): Remove file.
6812         (builtin_macro): Update.
6813         (_cpp_create_definition): Update.
6814         * cppmain.c: Correct comment.
6815         * fix-header.c (read_scan_file): Update.
6816
6817 2001-08-17  Kazu Hirata  <kazu@hxi.com>
6818
6819         * sbitmap.c: Fix comment formatting.
6820         * sched-deps.c: Likewise.
6821         * sibcall.c: Likewise.
6822         * simplify-rtx.c: Likewise.
6823         * ssa.c: Likewise.
6824         * ssa-ccp.c: Likewise.
6825         * stor-layout.c: Likewise.
6826         * timevar.c: Likewise.
6827         * toplev.c: Likewise.
6828         * unwind-dw2.c: Likewise.
6829         * unwind-dw2-fde.c: Likewise.
6830         * varasm.c: Likewise.
6831
6832 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6833
6834         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
6835         or larger than an integer in memory.
6836
6837 2001-08-17  Zack Weinberg  <zackw@panix.com>
6838
6839         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
6840         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
6841         * rtl.h: Don't forward-declare union tree_node here.  Don't
6842         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
6843         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
6844         and tree respectively.
6845         * tree.h: Don't forward-declare struct rtx_def here.  Don't
6846         typedef tree here.  Change all uses of struct rtx_def *,
6847         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
6848         and tree respectively.
6849
6850 2001-08-17  Richard Henderson  <rth@redhat.com>
6851
6852         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
6853         config/mips/openbsd.h: Fix typos last change.
6854
6855 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6856
6857         * doc/invoke.texi (Optimize Options): The default for
6858         -finline-limit is 600.
6859
6860 2001-08-17  Richard Henderson  <rth@redhat.com>
6861
6862         * varasm.c (text_section): Allow TEXT_SECTION to override the
6863         printing of TEXT_SECTION_ASM_OP.
6864         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
6865         (DATA_SECTION, BSS_SECTION): Remove.
6866         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
6867         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
6868         Rename from s/_NAME//.
6869         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
6870         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
6871         (TEXT_SECTION): ... here.  New.
6872         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
6873         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
6874         * config/mips/openbsd.h: Likewise.
6875         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
6876         (mips_asm_file_end): Likewise test.
6877         (mips_output_function_epilogue): Likewise.  Switch back to data
6878         section after emitting the function.
6879
6880         * doc/tm.texi (Sections): Document TEXT_SECTION.
6881
6882 2001-08-17  Richard Henderson  <rth@redhat.com>
6883
6884         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
6885         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
6886
6887 2001-08-17  Richard Henderson  <rth@redhat.com>
6888
6889         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
6890         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
6891         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
6892         Add aligned attribute.
6893
6894 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
6895
6896         * config/sh/sh.md: Add modes to unspecs in first insn to match
6897         those in the second.
6898
6899         * Makefile.in: Fix collect2 copy for Cygwin.
6900
6901 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
6902
6903         Install the proper patch.
6904         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
6905         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
6906         (expand_function_start): Likewise.
6907         * stmt.c (expand_decl): Likewise.
6908         * varasm.c (make_decl_rtx): Likewise.
6909
6910 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
6911
6912         * final.c: Undo my previous accidental checkin.
6913         * output.h: Likewise.
6914         * tm.texi: Likewise.
6915
6916 2001-08-16  Richard Henderson  <rth@redhat.com>
6917
6918         * varasm.c (named_section_flags): Remove align parameter.
6919         * varasm.c, dwarf2out.c: Update all callers.
6920         * output.h: Update prototypes.
6921
6922         * target.h (target.asm_out.named_section): Remove align parameter.
6923         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
6924         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
6925         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
6926         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
6927         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
6928
6929         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
6930         (get_named_section_flags, set_named_section_flags): New.
6931         (named_section_flags): Use them.
6932         (named_section): Do decl vs section flags check here...
6933         (default_section_type_flags): ... not here.
6934         (init_varasm_once): Create in_named_htab.
6935         (resolve_unique_section): Mark reloc unused.
6936
6937 2001-08-16  Richard Henderson  <rth@redhat.com>
6938
6939         * varasm.c (force_const_mem): Keep pool alignment in bits.
6940         (output_constant_pool): Use assemble_align.
6941
6942 2001-08-16  Zack Weinberg  <zackw@panix.com>
6943
6944         * doc/tm.texi: Remove extra @table command.
6945
6946 2001-08-16  Zack Weinberg  <zackw@panix.com>
6947
6948         * final.c (shorten_branches): Clear the end of the label_align
6949         array only if we made it larger.  Break up messy expressions
6950         for clarity.
6951
6952         * diagnostic.c (internal_error): Check for error recursion
6953         before doing ICE suppression.
6954
6955         * timevar.c: Timing variables now count in milliseconds.
6956         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
6957         (get_time): Not here.
6958         (timevar_print): Don't print any timer whose user, cpu, and
6959         wall times are all zero as displayed.
6960         * timevar.h: Update comment aboout units.  Make timevar
6961         counters unsigned.
6962
6963 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
6964
6965         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
6966         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
6967         (expand_function_start): Likewise.
6968         * stmt.c (expand_decl): Likewise.
6969         * varasm.c (make_decl_rtx): Likewise.
6970
6971 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
6972
6973         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
6974         (finalize_record_size): Don't set TYPE_USER_ALIGN.
6975
6976 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
6977
6978         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
6979         variables.
6980
6981 2001-08-16  Andreas Jaeger  <aj@suse.de>
6982
6983         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
6984         prototype.
6985
6986 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
6987
6988         * rtl.h (only_sets_cc0_p): New prototype.
6989         * jump.c (sets_cc0_p): Handle INSN.
6990         (only_sets_cc0_p): New function.
6991         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
6992         (tidy_fallthru_edge): Likewise.
6993         * integrate.c (copy_insn_list): Likewise.
6994         * unroll.c (unroll_loop): Likewise.
6995         (copy_loop_body): Likewise.
6996
6997 2001-08-15  Jason Eckhardt  <jle@redhat.com>
6998
6999         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
7000
7001 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
7002
7003         * predict.c (struct block_info_def): Remove nvisited.
7004         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
7005         (estimate_bb_frequencies): Call mark_dfs_back_edges.
7006
7007         * i386.c (ix86_agi_depdendant): Lea causes AGI only on the Pentium
7008         (ix86_adjust_cost): Teach scheduler that latency to load operand can
7009         be masked.
7010
7011 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
7012
7013         * predict.def: Update hitrates.
7014
7015 2001-08-15  Richard Henderson  <rth@redhat.com>
7016
7017         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
7018
7019 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
7020
7021         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
7022         note from its associated jump.
7023
7024 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
7025
7026         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
7027         also on 64-bit s390x targets.
7028
7029 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
7030
7031         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
7032         function.
7033         (arm_expand_prologue): Handled nested functions which take a
7034         variable argument list.
7035         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
7036         macro with an invocation of
7037         arm_compute_initial_elimination_offset.
7038         * config/arm/arm-protos.h: Prototype
7039         arm_compute_initial_elimination_offset.
7040
7041 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7042
7043         * doc/install.texi (Specific, avr): Fix markup.
7044         (Specific, c4x): Ditto.
7045
7046 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7047
7048         * predict.c (dump_prediction): Change `bool' parameter to `int'.
7049
7050 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
7051
7052         * Makefile.in (OBJS): Add rtl-error.o
7053         (rtl-error.o): New rule.
7054         (diagnostic.o): Adjust dependency.
7055         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
7056         error_for_asm, _fatal_insn, _fatal_insn_not_found,
7057         warning_for_asm): Move to...
7058         rtl-error.c: ...here.  New file.
7059
7060 2001-08-14  Richard Henderson  <rth@redhat.com>
7061
7062         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
7063         if USING_SJLJ_EXCEPTIONS.
7064
7065 2001-08-14  Steve Ellcey <sje@cup.hp.com>
7066
7067         * tlink.c (scan_linker_output): Check string for unsatisfied in
7068         addition to undefined and unresolved.
7069
7070 2001-08-14  Graham Stott  <grahams@redhat.com>
7071
7072         * libgcc2.c (*): Replace EH_FRAME_SECTION with
7073         EH_FRAME_SECTION_NAME.
7074
7075 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
7076
7077         * genattrtab.c (simplify_test_exp_in_temp): New function.
7078         (simplify_test_exp): Avoid explicit use of temporary obstack.
7079         (simplify_cond, insert_right_side, evaluate_eq_attr,
7080         simplify_and_tree, simplify_or_tree, eliminate_known_true):
7081         Use simplify_test_exp_in_temp.
7082         (optimize_attrs): Iterate until expression stabilizes.
7083
7084 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
7085
7086         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
7087         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
7088
7089 2001-08-13  Richard Henderson  <rth@redhat.com>
7090
7091         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
7092         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
7093         * config/arm/conix-elf.h: Likewise.
7094
7095 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
7096
7097         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
7098         in gcc.c.
7099         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
7100
7101         * gcse.c (hash_scan_set): Expressions that are set as part of
7102         jump instructions are not available.
7103
7104 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
7105
7106         * config/s390/s390.c (print_operand, s390_function_prologue,
7107         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
7108
7109 2001-08-13  Richard Henderson  <rth@redhat.com>
7110
7111         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
7112         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
7113         * doc/tm.texi (Exception Region Output): Document it.
7114
7115 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
7116
7117         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
7118         DWARF2 instead of stabs by default.
7119
7120 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
7121
7122         * config/rs6000/rs6000.c: Include optabs.h.
7123
7124 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
7125
7126         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
7127         save/restore routines.
7128         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
7129
7130 2001-08-13  Andreas Jaeger  <aj@suse.de>
7131
7132         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
7133         the english is correct.
7134
7135 2001-08-13  Zack Weinberg  <zackw@panix.com>
7136
7137         * expr.h: Split out optab- and libfunc-related code to...
7138         * optabs.h, libfuncs.h: ... these new headers.
7139
7140         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
7141         (OPTABS_H): New.
7142         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
7143         dependencies.
7144         * mkconfig.sh: Don't include insn-codes.h from config.h.
7145
7146         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
7147         enum insn_code is available.  Move reload_in_optab and
7148         reload_out_optab array declarations to optabs.h.
7149         * regmove.c (gen_add3_insn): Move to optabs.c, export from
7150         there, prototype in expr.h.
7151         * gencodes.c: Cleanup: zap global variables, don't use
7152         printf where puts will do, don't bother defining MAX_INSN_CODE
7153         which nothing uses, let CODE_FOR_nothing get its value implicitly.
7154
7155         * genemit.c, genopinit.c: Include optabs.h in generated file.
7156         * genoutput.c: Include insn-codes.h in generated file.
7157         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
7158         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
7159         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
7160         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
7161         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
7162         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
7163         Include optabs.h.
7164         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
7165         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
7166         config/m88k/m88k.c, config/sparc/sparc.c:
7167         Include libfuncs.h.
7168         * reload.c: Include expr.h and optabs.h before reload.h.
7169         * config/alpha/alpha.c: Include tree.h before reload.h.
7170         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
7171         and reload.h in that order.
7172         * config/sparc/sparc.c: Include debug.h.
7173         * recog.c: Include insn-codes.h.
7174
7175 2001-08-13  Andreas Jaeger  <aj@suse.de>
7176
7177         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
7178         s390*linux.
7179
7180 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
7181
7182         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
7183         * gcc.c (init_spec): Fix typo in comment.
7184         * varasm.c (data_section): Fix typo in comment.
7185
7186 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
7187
7188         * predict.c (dump_prediction): New argument "USED".
7189         (combine_predictions_for_insn): Determine the used heuristics,
7190         output the case no heuristic applied.
7191         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
7192
7193 2001-08-13  Andreas Jaeger  <aj@suse.de>
7194
7195         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
7196         register %rip.
7197
7198 2001-08-13  Kazu Hirata  <kazu@hxi.com>
7199
7200         * jump.c: Fix formatting.
7201
7202 2001-08-13  Kazu Hirata  <kazu@hxi.com>
7203
7204         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
7205         length.
7206
7207 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
7208
7209         * loop.c (check_dbra_loop): Use condjump_label to compute
7210         jump_label.
7211
7212         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
7213         to better document the files they're in.
7214
7215 2001-08-12  Zack Weinberg  <zackw@panix.com>
7216
7217         * recog.h (struct insn_operand_data): Shrink 'mode' field
7218         to 16 bits.
7219
7220 2001-08-12  Kazu Hirata  <kazu@hxi.com>
7221
7222         * gcc.c: Fix comment formatting.
7223         * gccspec.c: Likewise.
7224         * gcov.c: Likewise.
7225         * gcse.c: Likewise.
7226         * genemit.c: Likewise.
7227         * gengenrtl.c: Likewise.
7228         * genrecog.c: Likewise.
7229         * gensupport.c: Likewise.
7230         * ggc-page.c: Likewise.
7231         * global.c: Likewise.
7232         * graph.c: Likewise.
7233         * ifcvt.c: Likewise.
7234         * integrate.c: Likewise.
7235         * lcm.c: Likewise.
7236         * libgcc2.c: Likewise.
7237         * loop.c: Likewise.
7238         * mbchar.c: Likewise.
7239         * optabs.c: Likewise.
7240         * predict.c: Likewise.
7241         * prefix.c: Likewise.
7242         * profile.c: Likewise.
7243         * protoize.c: Likewise.
7244         * real.c: Likewise.
7245         * recog.c: Likewise.
7246         * regclass.c: Likewise.
7247         * regmove.c: Likewise.
7248         * reg-stack.c: Likewise.
7249         * reload1.c: Likewise.
7250         * resource.c: Likewise.
7251         * rtlanal.c: Likewise.
7252         * rtl.c: Likewise.
7253
7254 2001-08-12  Kazu Hirata  <kazu@hxi.com>
7255
7256         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
7257         a tree representing a constant is passed to the macro.
7258
7259 2001-08-12  Richard Henderson  <rth@redhat.com>
7260
7261         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
7262         (rs6000_elf_asm_out_destructor): New.
7263         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
7264         (DTORS_SECTION_ASM_OP): Remove.
7265         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
7266         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
7267
7268 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
7269
7270         Revert:
7271         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7272         * gcc.c (set_collect_gcc_options): New function, split out from
7273         main.
7274         Ignore elided switches.
7275         (do_spec_1): Invoke before executing command.
7276         (set_input): Export.
7277         Move declaration ...
7278         * gcc.h (set_input): ... here.
7279         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
7280         file.
7281
7282 2001-08-12  Richard Henderson  <rth@redhat.com>
7283
7284         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
7285         thinko wrt TARGET_RELOCATABLE.
7286
7287 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
7288
7289         * fix-header.c (cb_file_change): Update prototype.
7290
7291 2001-08-11  Zack Weinberg  <zackw@panix.com>
7292
7293         * toplev.c (set_float_handler): Make static.
7294         * toplev.h: Don't prototype set_float_handler.
7295
7296         * simplify-rtx.c: Don't include setjmp.h.
7297         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
7298         New functions.
7299         (simplify_unary_operation, simplify_binary_operation): Use them,
7300         via do_float_handler.
7301
7302         * fold-const.c: Don't include setjmp.h.
7303         (exact_real_inverse_1): New function.
7304         (exact_real_inverse): Use it, via do_float_handler.
7305
7306         * varasm.c: Don't include setjmp.h.
7307         (assemble_real_1): New function.
7308         (assemble_real): Use it, via do_float_handler.
7309         Call internal_error if we get a trap here.
7310
7311         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
7312         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
7313
7314 2001-08-11  Zack Weinberg  <zackw@panix.com>
7315
7316         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
7317         STACK_BOUNDARY if not already defined.
7318
7319         * calls.c, function.c, reload1.c, explow.c: Don't default
7320         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
7321         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
7322
7323         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
7324         to run-time test.
7325
7326         * doc/tm.texi: Document that STACK_BOUNDARY is required;
7327         clarify difference between it and PREFERRED_STACK_BOUNDARY.
7328
7329 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
7330
7331         * cppmacro.c (enter_macro_context): Push macro expansions even
7332         if empty.
7333
7334 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7335
7336         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
7337         (rs6000_elf_section_type_flags): Actually return a value.
7338
7339 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
7340
7341         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
7342         Clean up code: add missing comments and prototypes, fix warnings,
7343         remove obsolete code, fix spacing to conform to coding style.
7344
7345 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
7346
7347         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
7348         and TARGET_ASM_CLOSE_PAREN.
7349         (regclass_map): CC register belongs to class NO_REGS.
7350         (legitimize_pic_address): Don't generate unnecessary moves
7351         (to avoid confusing loop optimization).
7352         (check_and_change_labels): Replace jump_long by indirect_jump.
7353         (s390_final_chunkify): Don't start a new literal pool on section
7354         switch in 64-bit code.
7355         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
7356
7357         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
7358         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
7359         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
7360         modes correctly.
7361         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
7362         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
7363         (CONST_COSTS): Fixed incorrect costs.
7364
7365         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
7366         Use emit_jump instead of emit_jump_insn (gen_jump).
7367         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
7368         (to avoid confusing flow analysis).
7369         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
7370         (casesi, casesi_jump): New.
7371         (jump_long): Removed.  Functionality merged into indirect_jump.
7372         (indirect_jump): Accept address_operand, not just register_operand.
7373         (cjump_long, icjump_long): Use same logic as indirect_jump.
7374         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
7375         Fixed broken setjmp/longjmp handling.
7376         (do_builtin_setjmp_setup): Removed.
7377
7378         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
7379         broken GNU as versions that don't accept .quad with large
7380         negative values.  Use hexadecimal output instead.
7381         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
7382         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
7383         FUNCTION_EPILOGUE): Removed.  Now in targetm.
7384
7385         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
7386
7387         * config/s390/fixdfdi.h: Add missing copyright statement.
7388         Fix type conflicts on 64-bit.  Add missing SFmode routines.
7389
7390         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
7391         email address.
7392
7393 2001-08-11  Richard Henderson  <rth@redhat.com>
7394
7395         * rtl.h (REG_EH_RETHROW): Remove.
7396         * rtl.c (reg_note_name): Update.
7397         * combine.c (distribute_notes): Don't check for it.
7398
7399 2001-08-11  Richard Henderson  <rth@redhat.com>
7400
7401         * combine.c (distribute_notes): Place REG_SETJMP.
7402
7403 2001-08-11  Richard Henderson  <rth@redhat.com>
7404
7405         * doc/extend.texi (Arrays and pointers implementation): Discourage
7406         relying on sign-extension of pointers.
7407
7408 2001-08-11  H.J. Lu <hjl@gnu.org>
7409
7410         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
7411         in_dtors.
7412         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
7413         RDATA_SECTION_ASM_OP.
7414
7415 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7416
7417         * doc/install.texi (Specific, c4x): Fix cross-reference to the
7418         main manual to work both for info and HTML versions.
7419
7420 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
7421             Matt Kraai <kraai@alumni.carnegiemellon.edu>
7422
7423         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
7424         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
7425         (struct cpp_pool): New member first.
7426         * cppinit.c (append_include_chain): Plug memory leaks.
7427         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
7428         Allocate pragma structures from the (aligned) macro pool to
7429         avoid leaking memory.
7430         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
7431         so we don't leak memory.
7432         * hashtable.c (ht_destroy): New.
7433         * hashtable.h (ht_destroy): New.
7434
7435 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
7436             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7437
7438         * c-lex.c (map): Make const.
7439         (cb_file_change): Update for callback passing a line map.
7440         Don't assume we have a previous map.  Remove sanity check
7441         about popping too many files.
7442         * cpperror.c (print_location): Make map const.
7443         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
7444         (cpp_make_system_header): Similarly.
7445         (search_from): Similarly.
7446         (_cpp_execute_include): Don't remember where we came from.
7447         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
7448         (struct cpp_reader): Make map const.
7449         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
7450         * cpplib.c (do_line): Update; line maps now hold sysp.
7451         (cpp_push_buffer): Similarly.
7452         (_cpp_do_file_change): Similarly; callback with map instead.
7453         (cpp_get_line_maps): Constify return value.
7454         (_cpp_pop_buffer): Update.
7455         * cpplib.h (struct cpp_file_change): Remove.
7456         (struct cpp_callbacks): Update.
7457         (cpp_get_line_maps): Constify return value.
7458         * cppmacro.c (_cpp_create_definition): Update.
7459         * cppmain.c (struct printer): Constify map.
7460         (maybe_print_line): Similarly.
7461         (print_line): Similarly.  Deduce flags 1 and 2 here.
7462         (cb_file_change): Update.
7463         * line-map.c (free_line_maps): Warn regardless.
7464         (add_line_map): Return pointer to const.  When passed NULL to_file
7465         with LC_LEAVE, use the obvious values for the return point so the
7466         caller doesn't have to figure them out.
7467         (lookup_line): Return pointer to const.
7468         (print_containing_files): Take pointer to const.
7469         * line-map.h (struct line_map): New members reason, sysp.
7470         (add_line_map): Return pointer to const.
7471         (lookup_line): Similarly.
7472         (print_containing_files): Take pointer to const.
7473
7474 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
7475             Richard Henderson  <rth@redhat.com>
7476
7477         * regmove.c (regmove_optimize): Avoid setting a register twice in
7478         a parallel set.
7479
7480 2001-08-10  Richard Henderson  <rth@redhat.com>
7481
7482         * doc/extend.texi (Arrays and pointers implementation): Document
7483         behavior of pointer/integer conversion.
7484
7485 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
7486
7487         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
7488
7489 2001-08-10  Richard Henderson  <rth@redhat.com>
7490
7491         * doc/extend.texi (C Implementation): New chapter.
7492         * doc/gcc.texi (Top): Link it in.
7493
7494 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
7495
7496         * doc/install.texi (Specific): Fix CVS merge botch.
7497
7498 2001-08-10  Richard Henderson  <rth@redhat.com>
7499
7500         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
7501         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
7502
7503 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
7504
7505         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
7506         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
7507         this macro is now required.
7508
7509         * cselib.c (cselib_process_insn), flow.c (propagate_block),
7510         loop.c (find_and_verify_loops), reload.c (reload): Check
7511         for rtx code of CALL_INSN, not CALL, when deciding if we
7512         need to check for REG_SETJMP note.
7513
7514         * gcse.c (compute_hash_table, compute_store_table): Update
7515         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
7516         logic.
7517
7518         * config/avr/avr.c: Fix typo.
7519         * config/convex/convex.c (expand_movstr): Use adjust_address.
7520         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
7521         variable.
7522         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
7523         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
7524         Fix typo.
7525         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
7526         Do define STACK_BOUNDARY.
7527         * config/i370/i370.c: Include expr.h.
7528         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
7529         config/pa/som.h, config/v850/v850.h: Take in_ctors and
7530         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
7531         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
7532         * config/m88k/m88k.c: Include c-tree.h after expr.h.
7533         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
7534         * config/romp/romp.c: Include expr.h after tree.h.
7535         Include toplev.h.
7536         (output_fpop): Use xmalloc, not oballoc.
7537         * config/we32k/we32k.c: Include expr.h.
7538
7539 2001-08-10  Kazu Hirata  <kazu@hxi.com>
7540
7541         * config/h8300/h8300.h: Fix formatting.
7542
7543 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
7544
7545         * c-common.h (RETURN_NULLIFIED_P): Lose.
7546         * c-semantics.c (genrtl_return_stmt): Don't check it.
7547
7548 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
7549
7550         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
7551         (mips_annotate_frame_insn): New function.
7552         (mips_emit_frame_related_store): New function.
7553         (save_restore_insns): Don't mark instructions that set up the base
7554         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
7555         the store instructions instead.
7556         (mips_expand_prologue): If the stack size is moved into a temporary
7557         register, do not mark that move as frame-related.  Add a
7558         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
7559
7560 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
7561
7562         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
7563         stack slot as unchanging if current_function_calls_eh_return.
7564
7565 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
7566
7567         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
7568         access the second half of the TFmode scratch operand.
7569
7570 2001-08-10  Anthony Green  <green@redhat.com>
7571
7572         * java/class.c (emit_register_classes): Conditionalize code on
7573         JCR_SECTION_NAME.
7574
7575 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7576
7577         * doc/install.texi (Specific, avr): Fix cross-reference to the
7578         main manual to work both for info and HTML versions.
7579
7580 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7581
7582         * stmt.c (expand_null_return_1): Remove code to generate simple returns
7583         and "use_goto" argument.
7584         (expand_null_return, expand_value_return): Update all callers.
7585         * function.c (expand_function_end): Remove code to generate simple
7586         return.
7587         * config/vax/vax.md (epilogue): New expander for function return.
7588         * doc/md.texi (epilogue): Remove "if defined".
7589
7590 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
7591
7592         * Makefile.in: Partially revert my previous change:
7593         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
7594         of the hashtab.o and safe-ctype.o rules.
7595
7596 2001-08-09  Richard Henderson  <rth@redhat.com>
7597
7598         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
7599         (USE_COLLECT2): Remove duplicate definition.
7600         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
7601         (use_collect2): Remove dead code.
7602         * configure.in (use_collect2): Remove will_use_collect2 and
7603         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
7604         * configure: Rebuild.
7605
7606         * target.h (targetm.asm_out.constructor): New.
7607         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
7608         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
7609         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
7610         * varasm.c (in_ctors, in_dtors): New.
7611         (assemble_constructor, assemble_destructor): Remove.
7612         (default_stabs_asm_out_destructor): New.
7613         (default_named_section_asm_out_destructor): New.
7614         (dtors_section, default_dtor_section_asm_out_destructor): New.
7615         (default_stabs_asm_out_constructor): New.
7616         (default_named_section_asm_out_constructor): New.
7617         (ctors_section, default_ctor_section_asm_out_constructor): New.
7618         * output.h: Update declarations.
7619         * c-decl.c (c_expand_body): Use target hooks instead of
7620         assemble_constructor and assemble_destructor.
7621         * profile.c (output_func_start_profiler): Likewise.
7622         * objc/objc-act.c (finish_objc): Likewise.
7623         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
7624         for the constructor.
7625         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
7626
7627         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
7628         (DTORS_SECTION_ASM_OP): Likewise.
7629         (__CTOR_LIST__): Use attribute section when possible.
7630         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
7631
7632         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
7633         ASM_OUTPUT_CONSTRUCTOR.
7634
7635         * config/darwin.c (machopic_asm_out_constructor): New.
7636         (machopic_asm_out_destructor): New.
7637         * config/darwin-protos.h: Update declarations.
7638         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
7639         (ASM_OUTPUT_DESTRUCTOR): Remove.
7640         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
7641         * config/nextstep.c (nextstep_asm_out_constructor): New.
7642         (nextstep_asm_out_destructor): New.
7643         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
7644         (ASM_OUTPUT_DESTRUCTOR): Remove.
7645         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
7646         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
7647         ASM_OUTPUT_*STRUCTOR.
7648         * config/i386/aix386ng.h: Likewise.
7649
7650         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
7651         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
7652         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
7653         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
7654         * config/lynx.h: Likewise.
7655         * config/netware.h: Likewise.
7656         * config/psos.h: Likewise.
7657         * config/alpha/alpha-interix.h: Likewise.
7658         * config/alpha/elf.h: Likewise.
7659         * config/arc/arc.h: Likewise.
7660         * config/arm/aof.h: Likewise.
7661         * config/arm/coff.h: Likewise.
7662         * config/arm/elf.h: Likewise.
7663         * config/c4x/c4x.h: Likewise.
7664         * config/h8300/h8300.h: Likewise.
7665         * config/i386/cygwin.h: Likewise.
7666         * config/i386/djgpp.h: Likewise.
7667         * config/i386/i386-coff.h: Likewise.
7668         * config/i386/i386-interix.h: Likewise.
7669         * config/i386/sco5.h: Likewise.
7670         * config/i386/vsta.h: Likewise.
7671         * config/i386/win32.h: Likewise.
7672         * config/i960/i960-coff.h: Likewise.
7673         * config/ia64/sysv4.h: Likewise.
7674         * config/m68hc11/m68hc11.h: Likewise.
7675         * config/m68k/coff.h: Likewise.
7676         * config/m68k/mot3300.h: Likewise.
7677         * config/m88k/m88k.h: Likewise.
7678         * config/mcore/mcore-pe.h: Likewise.
7679         * config/mcore/mcore.h: Likewise.
7680         * config/mips/elf.h: Likewise.
7681         * config/mips/elf64.h: Likewise.
7682         * config/mips/iris6.h: Likewise.
7683         * config/pa/pa64-hpux.h: Likewise.
7684         * config/rs6000/sysv4.h: Likewise.
7685         * config/sh/sh.h: Likewise.
7686         * config/sparc/litecoff.h: Likewise.
7687
7688         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
7689         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
7690         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
7691         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
7692         (ASM_OUTPUT_DESTRUCTOR): Remove.
7693         * config/a29k/a29k.c: Move include of tree.h.
7694         * config/a29k/udi.h: Delete file.
7695         * config/alpha/alpha.c (vms_asm_out_constructor): New.
7696         (vms_asm_out_destructor): New.
7697         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
7698         (EXTRA_SECTION_FUNCTIONS): Likewise.
7699         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
7700         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
7701         * config/c4x/c4x.c: Move include of tree.h.
7702         * config/clipper/clipper.c (clix_asm_out_constructor): New.
7703         (clix_asm_out_destructor): New.
7704         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
7705         (ASM_OUTPUT_DESTRUCTOR): Remove.
7706         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
7707         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
7708         (TARGET_ASM_CONSTRUCTOR): New.
7709         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
7710         (sco_asm_out_constructor): New.
7711         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
7712         * config/i386/svr3gas.h: Remove stack grows up code.
7713         Remove code duplicated from i386/sysv3.h.
7714         (TARGET_ASM_CONSTRUCTOR): New.
7715         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
7716         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
7717         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
7718         (TARGET_ASM_CONSTRUCTOR): New.
7719         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
7720         (m68hc11_asm_out_destructor): New.
7721         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
7722         (TARGET_ASM_DESTRUCTOR): New.
7723         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
7724         * config/m68k/dpx2.h: Properly undef all the bits inherited from
7725         config/svr3.h pertaining to section manipulation.
7726         * config/m68k/dpx2g.h: Remove #if 0 code.
7727         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
7728         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
7729         (ASM_OUTPUT_CONSTRUCTOR): Remove.
7730         (TARGET_ASM_CONSTRUCTOR): New.
7731         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
7732         (m88k_svr3_asm_out_constructor): New.
7733         (m88k_svr3_asm_out_destructor): New.
7734         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
7735         (ASM_OUTPUT_DESTRUCTOR): Remove.
7736         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
7737         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
7738         * config/rs6000/aix.h: Likewise.
7739         * config/mips/rtems64.h: Don't undef removed constructor related bits.
7740         * config/mips/vxworks.h: Likewise.
7741         * config/rs6000/lynx.h: Likewise.
7742         * config/sh/elf.h: Likewise.
7743         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
7744         (DTORS_SECTION_ASM_OP): New.
7745         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
7746         (ASM_OUTPUT_DESTRUCTOR): Remove.
7747         * config/sparc/sol2-sld-64.h: Likewise.
7748         * config/vax/vax.c (vms_asm_out_constructor): New.
7749         (vms_asm_out_destructor): New.
7750         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
7751         (ASM_OUTPUT_DESTRUCTOR): Remove.
7752         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
7753
7754         * doc/tm.texi (@node Initialization): Update.
7755
7756 2001-08-09  Richard Henderson  <rth@redhat.com>
7757
7758         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
7759         (__do_global_dtors_aux): Use gp-relative static data to avoid
7760         one dynamic relocation.
7761         (__do_frame_setup): Register Java classes.
7762         * config/alpha/crtend.asm (__JCR_END__): New.
7763
7764 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
7765
7766         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
7767         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
7768         (GEN, STAGESTUFF): Add new files.
7769         (insn-constants.h, s-constants, tm-preds.h, s-preds,
7770         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
7771         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
7772         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
7773         as well as insn-codes.h and insn-flags.h in config.h; and no
7774         extra headers in tconfig.h and hconfig.h.
7775
7776         * gencodes.c: Eliminate code to generate predicate declarations
7777         or #defines for md-file constants.
7778         * genconstants.c, genpreds.c: New files.
7779
7780         * i386.md: Re-order guard expressions such that TARGET_64BIT
7781         comes first, when this permits better optimization.  Add
7782         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
7783         why this is desirable.
7784
7785 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
7786
7787         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
7788         (find_fde_for_dso): Remove.
7789         (_Unwind_IteratePhdrCallback): New.
7790         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
7791         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
7792
7793 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7794
7795         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
7796         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
7797
7798 2001-08-09  Graham Stott  <grahams@redhat.com>
7799
7800         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
7801         (vis_no_unit): Use it.
7802         (visualize_no_unit): Add the insn only if room exists.
7803
7804 2001-08-09  Graham Stott  <grahams@redhat.com>
7805
7806         * predict.c (estimate_probability): Replace magic numbers with
7807         appropriate enumeration.
7808
7809 2001-08-09  Graham Stott  <grahams@redhat.com>
7810
7811         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
7812         parameter.
7813         (EXTRACT_FLAGS): Likewise.
7814
7815 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
7816
7817         * config/mips/mips.c    (mips_legitimate_address_p): Check for
7818         CONST_INT in last patch.
7819
7820 2001-08-08  Anthony Green  <green@redhat.com>
7821
7822         * java/class.c (emit_register_classes): Use assemble_jcr if
7823         possible.  Keep the original mechanism as a fallback.
7824         * defaults.h (JCR_SECTION_NAME): Define if we have named section
7825         and weak symbol support.
7826         * crtstuff.c (__JCR_LIST__): Define.
7827         (__JCR_END__): Define.
7828         (_Jv_RegiserClasses): Define weak symbol if possible.
7829         (__do_global_ctors_aux): Register classes for ELF targets with
7830         weak symbol support.
7831
7832 2001-08-08  Kazu Hirata  <kazu@hxi.com>
7833
7834         * dbxout.c: Fix comment formatting.
7835         * dependence.c: Likewise.
7836         * df.c: Likewise.
7837         * diagnostic.c: Likewise.
7838         * dominance.c: Likewise.
7839         * doprint.c: Likewise.
7840         * dwarf2out.c: Likewise.
7841         * dwarfout.c: Likewise.
7842         * emit-rtl.c: Likewise.
7843         * except.c: Likewise.
7844         * explow.c: Likewise.
7845         * expmed.c: Likewise.
7846         * expr.c: Likewise.
7847         * flow.c: Likewise.
7848         * fold-const.c: Likewise.
7849         * function.c: Likewise.
7850
7851 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7852
7853         * global.c (retry_global_alloc): Avoid shadowing allocno.
7854
7855 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
7856
7857         * except.c (remove_fixup_regions): Fix typo.
7858
7859 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
7860
7861         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
7862         unsigned HOST_WIDE_INT to avoid warning.
7863         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
7864         * flow.c (set_block_for_new_insns): Likewise.
7865
7866 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
7867
7868         * sibcall.c (return_value_pseudo): New static variable.
7869         (skip_copy_to_return_value): Handle return_value_pseudo.
7870         (call_ends_block_p): Ensure that return_value_pseudo is set.
7871         (optimize_sibling_and_tail_recursive_call): Discover the
7872         load of pseudo return value in alternate exit block.
7873
7874 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
7875
7876         * calls.c (ECF_ALWAYS_RETURN): New constant.
7877         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
7878         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
7879         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
7880         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
7881         * rtl.c (reg_note_name): New name.
7882         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
7883
7884 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
7885
7886         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
7887
7888 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
7889
7890         * alias.c (get_alias_set): Return a previously calculated
7891         alias set for a VAR_DECL.
7892         * function.c (gen_mem_addressof): Calculate the alias set before
7893         touching the RTL.
7894
7895 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
7896
7897         * predict.def: Set hitrates according our experimental run.
7898
7899 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
7900
7901         * i386.h (HARD_REGNO_RENAME_OK): New macro.
7902
7903 2001-08-08  H.J. Lu <hjl@gnu.org>
7904
7905         * config/mips/mips.c (mips_unique_section): New. Copied from
7906         config/mips/elf.h.
7907
7908         * config/mips/mips-protos.h (mips_unique_section): New
7909         prototype.
7910
7911         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
7912
7913         * config/mips/little.h: New. Generic little endian mips
7914         targets. Only mips*-*-linux* is converted to use it so far.
7915
7916         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
7917         (WCHAR_TYPE): Defined
7918         (WCHAR_TYPE_SIZE): Likewise.
7919         (INIT_SUBTARGET_OPTABS): Likewise.
7920         (BSS_SECTION_ASM_OP): Likewise.
7921         (SBSS_SECTION_ASM_OP): Likewise.
7922         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
7923         (ASM_DECLARE_OBJECT_NAME): Likewise.
7924         (UNIQUE_SECTION): Likewise.
7925         (EXTRA_SECTIONS): Likewise.
7926         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
7927         (ASM_OUTPUT_DESTRUCTOR): Likewise.
7928         (ASM_OUTPUT_DEF): Likewise.
7929         (HANDLE_SYSV_PRAGMA): Removed.
7930         (NO_IMPLICIT_EXTERN_C): Likewise.
7931         (TARGET_MEM_FUNCTIONS): Likewise.
7932         (STARTFILE_SPEC): Likewise.
7933         (ENDFILE_SPEC): Likewise.
7934         (LIB_SPEC): Likewise.
7935         (INVOKE__main): Likewise.
7936         (CTOR_LIST_BEGIN): Likewise.
7937         (CTOR_LIST_END): Likewise.
7938         (DTOR_LIST_BEGIN): Likewise.
7939         (DTOR_LIST_END): Likewise.
7940         (SET_ASM_OP): Likewise.
7941         (ASM_OUTPUT_SOURCE_LINE): Likewise.
7942         (ASM_OUTPUT_DEF): Likewise.
7943         (ASM_OUTPUT_IDENT): Likewise.
7944
7945         * config/mips/mips.h (ASM_SPEC): Undefine before define.
7946         (CPLUSPLUS_CPP_SPEC): Likewise.
7947         (ASM_APP_ON) Redefine only if not defined.
7948         (ASM_APP_OFF): Likewise.
7949         (ASM_OUTPUT_SOURCE_LINE): Likewise.
7950         (ASM_OUTPUT_IDENT): Likewise.
7951
7952         * config.gcc: Update tm_file for Linux/mips.
7953
7954 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
7955
7956         * cselib.c (cselib_record_sets): If insn is predicated, turn
7957         sources into IF_THEN_ELSEs.
7958
7959         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
7960         Turn into define_insn_and_split.
7961
7962         * sched-deps.c: Include "cselib.h".
7963         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
7964         Use cselib to turn memory addresses into VALUEs.
7965         (sched_analyze): Call cselib_init/cselib_finish if necessary.
7966         * sched-int.h (struct sched_info): New member USE_CSELIB.
7967         * sched-ebb.c (ebb_sched_info): Initialize it.
7968         * sched-rgn.c (rgn_sched_info): Likewise.
7969         * Makefile.in (sched-deps.o): Update dependencies.
7970
7971         * cselib.h (cselib_subst_to_values): Declare.
7972         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
7973         that have no value and autoincs to be handled by generating a new
7974         dummy value.
7975
7976 2001-08-08  Graham Stott  <grahams@redhat.com>
7977
7978         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
7979         within fixed length SEQUENCE.
7980
7981 2001-08-08  Graham Stott  <grahams@redhat.com>
7982
7983         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
7984         (diagnostic_prefixing_rule): Likewise.
7985         (diagnostic_line_cutoff): Likewise.
7986         (diagnostic_kind_count): Likewise.
7987
7988 2001-08-08  Graham Stott  <grahams@redhat.com>
7989
7990         * alias.c (find_base_decl): Delete redundent assignment.
7991
7992 2001-08-08  Graham Stott  <grahams@redhat.com>
7993
7994         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
7995         (abs): Uppercase and paranthesize macro parameter.
7996         (MEM_DEPENDENCY): Add whitespace.
7997
7998 2001-08-08  Graham Stott  <grahams@redhat.com>
7999
8000         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
8001         failure check for CONST_INT
8002
8003 2001-08-08  Graham Stott  <grahams@redhat.com>
8004
8005         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
8006         (libcall_dead_p): Likewise.
8007
8008         (mark_used_regs): Constify fmt.
8009         (find_use_as_address): Likewise.
8010
8011 2001-08-08  Graham Stott  <grahams@redhat.com>
8012
8013         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
8014          parameter.
8015
8016 2001-08-08  Graham Stott  <grahams@redhat.com>
8017
8018         * combine.c (combine_simplify_rtx): Update comment and
8019         remove erroneous test.
8020
8021 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
8022
8023         * cppinit.c (cpp_finish): Pop the final buffer without comment.
8024         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
8025         take care to avoid multiple no-newline at EOF warnings in that
8026         case.
8027
8028 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
8029
8030         * calls.c (expand_call): Do not emit INSN_SETJMP note.
8031         (emit_library_call_value_1): Likewise.
8032         (emit_call_1): Emit REG_SETJMP note.
8033         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
8034         of INSN_SETJMP
8035         * cselib.c (cselib_process_insn): Likewise.
8036         * flow.c (propagate_block): Likewise.
8037         * loop.c (find_and_verify_loops): Likewise.
8038         * reload.c (find_equiv_regs): Likewise.
8039         * reload1.c (reload): Likewise.
8040         * resource.c (mark_referenced_resources,
8041         mark_set_resources): Likewise.
8042         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
8043         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
8044         * haifa-sched.c (unlink_other_notes): Likewise.
8045         (reemit_notes): Likewise.
8046         * sched-ebb.c (sched_ebb): Likewise.
8047         * sched-rgc.c (sched_region): Likewise.
8048         * rtl.c (note_insn_name): Likewise.
8049         (reg_note_name): Add REG_SETJMP
8050         * rtl.h (reg_note): Add REG_SETJMP.
8051         (insn_note): Remove NOTE_INSN_SETJMP.
8052
8053         * profile.c (branch_prob): Add fake edges for setjmp.
8054
8055 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
8056
8057         * config.gcc: Quote target_cpu_default2 correctly for
8058         powerpc*-*-* targets.
8059
8060 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
8061
8062         * cpplib.h, line-map.h: Update comments.
8063         * cppmain.c (printer_init): Move inline.
8064         (maybe_print_line, print_line): Take a map pointer.
8065         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
8066         (cb_file_change): Don't use prior value of print.map.
8067
8068 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
8069
8070         * doc/install.texi: Document fine-grained multilib configuration.
8071
8072 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
8073
8074         * rtlanal.c (find_first_parameter_load): Call note_stores
8075         only on the instructions.
8076
8077 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
8078
8079         * alias.c (nonlocal_mentioned_p):
8080         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
8081         * calls.c (emit_call_1): Likewise.
8082         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
8083         * cselib.c (cselib_process_insn): Likewise.
8084         * df.c (df_insns_modify): Likewise.
8085         * flow.c (need_fake_edge_p): Likewise.
8086         (propagate_one_insn): Likewise.
8087         * haifa-sched.c (reemit_notes): Likewise.
8088         * integrate.c (copy_insn_list): Likewise.
8089         * jump.c (delete_prior_computation): Likewise.
8090         * local-alloc.c (validate_equiv_mem): Likewise.
8091         * loop.c (scan_loop): Likewise.
8092         * predict.c (estimate_probability): Likewise.
8093         * reload.c (reload): Likewise.
8094         * sched-deps (sched_analyze): Likewise.
8095         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
8096         * gcse.c (compute_hash_table): Likewise.
8097         (mark_call): Likewise.
8098         (store_killed_in_insn): Likewise.
8099
8100 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
8101
8102         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
8103
8104 2001-08-06  Richard Henderson  <rth@redhat.com>
8105
8106         * varasm.c (assemble_gc_entry): Remove.
8107         * output.h: Likewise.
8108
8109 2001-08-06  Richard Henderson  <rth@redhat.com>
8110
8111         * varasm.c (assemble_constructor): Take a symbol_ref and a
8112         priority instead of a bare string.  Move priority handling
8113         here from cp/decl2.c.
8114         * output.h: Update decls.
8115
8116         * c-decl.c (c_expand_body): Update calls to assemble_constructor
8117         and assemble_destructor.
8118         * profile.c (output_func_start_profiler): Likewise.
8119         * objc/objc-act.c (finish_objc): Likewise.
8120         (build_module_descriptor): Return the symbol not the symbol name.
8121
8122 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
8123
8124         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
8125         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
8126         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
8127         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
8128         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
8129         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
8130
8131 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
8132
8133         * cpperror.c (print_containing_files): Moved to line-map.c.
8134         (print_location): line-map.c handles re-listing or otherwise.
8135         * cpphash.h (struct lexer_state): Remove next_bol.
8136         (struct cpp_buffer): Remove include_stack_listed.
8137         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
8138         Remove faked buffer handling.
8139         (_cpp_do_file_change): Tweak.
8140         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
8141         * cppmain.c (struct printer): Remove filename.
8142         (print_line, cb_file_change): Update accordingly.
8143         * line-map.c: Include intl.h.
8144         (init_line_maps): Initialize last_listed.
8145         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
8146         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
8147         (print_containing_files): New.
8148         * line-map.h (struct line_maps): New member last_listed.
8149         (print_containing_files, INCLUDED_FROM): New.
8150         * Makefile.in: Update.
8151         * po/POTFILES.in: Add line-map.c.
8152
8153 2001-08-06  Richard Henderson  <rth@redhat.com>
8154
8155         * except.c (convert_from_eh_region_ranges_1): Never mark
8156         USE or CLOBBER insns as throwing.
8157
8158         * expr.c (store_constructor): Don't clobber memory targets.
8159
8160 2001-08-06  Andreas Jaeger  <aj@suse.de>
8161
8162         * profile.c (branch_prob): Remove unused variable insn.
8163
8164         * Makefile.in (local-alloc.o): Add dependency on except.h.
8165
8166         * local-alloc.c: Include except.h for can_throw_internal prototype.
8167
8168 2001-08-06  Richard Henderson  <rth@redhat.com>
8169
8170         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
8171         * function.c (expand_main_function): Implement it.
8172         * doc/tm.texi: Document it.
8173
8174 2001-08-06  Stan Shebs  <shebs@apple.com>
8175
8176         * doc/install.texi: Document powerpc-*-darwin* details.
8177
8178 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
8179
8180         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
8181         (ASM_CPU_SPEC): Move back to rs6000.h
8182         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
8183
8184         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
8185
8186         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
8187         readded.
8188
8189         * config/rs6000/linux64.h: Ditto.
8190
8191         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
8192         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
8193         nothing.
8194
8195         Remove accidently readded definitions of FUNCTION_PROLOGUE,
8196         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
8197
8198         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
8199         to rs6000.h
8200
8201 2001-08-05  Richard Henderson  <rth@redhat.com>
8202
8203         * local-alloc.c (update_equiv_regs): Do not move insns that
8204         can throw.
8205
8206 2001-08-05  Jan Hubicka  <jh@suse.cz>
8207
8208         * Makefile.in (reload1.o): Add dedendancy on except.h
8209         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
8210         prototypes.
8211         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
8212         indicating wehther edges has been cleaned up.
8213         * reload1.c: Inlucde except.h
8214         (fixup_abnormal_edges): Accept deleted insns.
8215         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
8216         after combine.
8217
8218 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
8219
8220         * cpplib.c (do_line): Correct line number after pop_buffer.
8221
8222 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
8223
8224         PR preprocessor/3824
8225         * line-map.c: Update comments.
8226         * line-map.h: Update comments.
8227         * tradcif.y: Don't consider large numbers unsigned.
8228
8229 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
8230
8231         PR preprocessor/3081
8232         * c-lex.c (map): New.
8233         (cb_file_change): Update map and use it.
8234         (cb_def_pragma, cb_define, cb_undef): Use map and line.
8235         (c_lex): Update to use map.
8236         * cpperror.c (print_location): Move to using logical line numbers.
8237         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
8238         (cpp_make_system_header): Similarly.
8239         (_cpp_execute_include): Stop line numbering hacks.  Store the
8240         line we will return to.
8241         * cpphash.h (CPP_BUF_LINE): Remove.
8242         (struct cpp_buffer): Remove lineno and pseudo_newlines.
8243         Add map and return_to_line.
8244         (_cpp_do_file_change): Update.
8245         * cppinit.c (cpp_start_read): Update line kludge.
8246         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
8247         (trigraph_ok): Use logical line numbers for diagnostics.
8248         (skip_block_comment): Likewise.
8249         (skip_whitespace): Likewise.
8250         (skip_line_comment): Use pfile->line instead.
8251         (_cpp_lex_token): Update to use logical line numbering exclusively.
8252         Handle BOL locally.  Accept new lines in directives, but keep
8253         pfile->line decremented.  Diagnostics use logical lines.  Update
8254         directive handling.
8255         * cpplib.c (SEEN_EOL): New.
8256         (skip_rest_of_line, check_eol): Use it.
8257         (end_directive): Increase line number when accepting the newline
8258         at the end of a directive.
8259         (run_directive): Simplify.
8260         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
8261         (_cpp_do_file_change): Update to take buffer line number as an
8262         argument, and store the current map in the cpp_reader.  Remove
8263         line number kludges.
8264         (_cpp_do__Pragma): Restore output position after a _Pragma.
8265         (cpp_push_buffer): Don't set output line or lineno.
8266         (_cpp_pop_buffer): Transfer more info from a faked buffer.
8267         Remove line kludge.  Set output_line.
8268         * cppmacro.c (builtin_macro): Update handling of __LINE__.
8269         (parse_arg): Use logical lines.
8270         (save_lookahead_token): Save EOFs too now.
8271         * cppmain.c (struct printer): Fix comments.
8272         (printer_init): Simplify, let caller do errors.
8273         (scan_translation_unit, check_multiline_token, dump_macro): Update.
8274         (maybe_print_line): Simplify.
8275         (print_line): Don't print a linemarker if -P.
8276         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
8277         (cb_file_change): Simplify.
8278         * line-map.h (LAST_SOURCE_LINE): Fix.
8279         (CURRENT_LINE_MAP): New.
8280
8281 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
8282
8283         * doloop.c (doloop_modify_runtime): Properly compute number of
8284         iterations if loop was unrolled.
8285
8286         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
8287         if their CSELIB_VAL_PTRs are.
8288
8289         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
8290         (setup_spill_pointers): Initialize it.
8291         (spill_restore_mem): Set it.
8292         (do_spill, do_restore): Use it to add REG_INC note.
8293         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
8294
8295         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
8296         asms if other insns are available.
8297
8298         * config/ia64/ia64.c (condop_operator): New predicate.
8299         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
8300         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
8301         patterns.
8302
8303         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
8304         temporary register than directly using a MEM.
8305
8306 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
8307
8308         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
8309         parameter in last change.
8310
8311 2001-08-04  Zack Weinberg  <zackw@panix.com>
8312
8313         * sparc.md: Don't use #if inside C test expression.
8314
8315 2001-08-04  Richard Henderson  <rth@redhat.com>
8316
8317         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
8318
8319 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
8320
8321         * cpphash.h (struct cpp_reader): New member directive_line.
8322         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
8323         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
8324         do_pragma): Pass line to callbacks.
8325         (start_directive): Record line of directive.
8326         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
8327         cb_include): Similarly.
8328         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
8329         Similarly.
8330
8331 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
8332
8333         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
8334         comment.
8335
8336 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
8337
8338         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
8339
8340         * reload1.c (fixup_abnormal_edges): New static function.
8341         (reload): Use it.
8342
8343         * flow.c (need_fake_edge_p): New function.
8344         (flow_call_edges_add): Fix handling of noreturn and sibbling calls;
8345         avoid call insn to be very last insn in the insn stream.
8346
8347         * profile.c (branch_prob): Call flow_call_edges_add instead of
8348         doing that by hand; cleanup cfg to re-merge basic blocks once
8349         we are done.
8350
8351 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
8352
8353         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
8354         are also on line-map.h.
8355         * cppfiles.c (stack_include_file): Update.
8356         * cpphash.h (struct cpp_buffer): New member return_at_eof.
8357         (_cpp_pop_buffer): New.
8358         * cppinit.c (cpp_destroy, cpp_finish): Update.
8359         (do_includes): Mark each buffer to return at EOF.
8360         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
8361         return as requested.
8362         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
8363         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
8364         * cpplib.h (cpp_pop_buffer): Remove.
8365         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
8366         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
8367         buffers.
8368         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
8369         to pop buffers.
8370         (do_preprocessing): Update.
8371         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
8372         * c-parse.in (_yylex): Similarly.
8373         * scan-decls.c (scan_decls): Similarly.
8374         * line-map.h: Update comments.
8375
8376         * objc/Make-lang.in (objc-act.o): Update dependencies.
8377
8378 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8379
8380         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
8381         and soft register for operand 0.
8382         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
8383
8384 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8385
8386         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
8387         register for operand 0.
8388         ("bitcmpqi_z_used"): Allow memory for operand 0.
8389         (split "bitcmpqi"): New split to handle address reg as operand 1.
8390
8391 2001-08-04  Andreas Jaeger  <aj@suse.de>
8392
8393         * gcse.c: Revert Daniel's last patch.
8394
8395 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
8396
8397         * sparc-protos.h: Add prototypes for fp_zero_operand and
8398         reg_or_0_operand.
8399         * sh-protos.h: Add prototype for fpul_operand.
8400
8401 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
8402
8403         * doc/extend.texi (Other Builtins): Fix typo in last change.
8404
8405 2001-08-03  Richard Henderson  <rth@redhat.com>
8406
8407         * target.h (gcc_target): Add asm_out.named_section,
8408         section_type_flags, have_named_sections.
8409         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
8410         (TARGET_HAVE_NAMED_SECTIONS): New.
8411         (TARGET_SECTION_TYPE_FLAGS): New.
8412
8413         * Makefile.in (toplev.o): Depend on TARGET_H.
8414         (varasm.o, dbxout.o): Likewise.
8415         * c-common.c (decl_attributes): Check targetm.have_named_sections
8416         instead of ifdef ASM_OUTPUT_SECTION_NAME.
8417         * dbxout.c (dbxout_function_decl): Likewise.
8418         (dbxout_function_end): Likewise.
8419         * toplev.c (compile_file): Likewise.
8420         * varasm.c (exception_section): Likewise.
8421         * cp/decl2.c (finish_objects): Likewise.
8422
8423         * defaults.h (EH_FRAME_SECTION): Remove.
8424         (EH_FRAME_SECTION_ASM_OP): Remove.
8425         (EH_FRAME_SECTION_NAME): New.
8426         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
8427         (UNIQUE_SECTION_P): Remove.
8428         * dwarf2out.c (SECTION_FORMAT): Remove.
8429         (ASM_OUTPUT_SECTION): Remove.
8430         (output_call_frame_info): Use named_section_flags.
8431         (output_comp_unit, dwarf2out_start_source_file): Likewise.
8432         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
8433         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
8434         * varasm.c (in_eh_frame, eh_frame_section): Remove.
8435         (named_section_flags): New.
8436         (named_section): Use it and targetm.section_type_flags.
8437         (resolve_unique_section): New.
8438         (assemble_start_function): Use it.
8439         (asm_emit_uninitialised, assemble_variable): Likewise.
8440         (default_section_type_flags): New.
8441         (default_no_named_section, default_elf_asm_named_section): New.
8442         (default_coff_asm_named_section, default_pe_asm_named_section): New.
8443         * output.h: Update varasm.c decls.
8444         (SECTION_*): New flags.
8445
8446         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
8447         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
8448
8449         * config/elfos.h (UNIQUE_SECTION_P): Remove.
8450         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
8451         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
8452         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
8453         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
8454         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
8455         * config/mips/elf.h, config/mips/elf64.h: Likewise.
8456         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
8457         * config/pa/pa64-hpux.h,
8458
8459         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
8460         (TARGET_ASM_NAMED_SECTION): New.
8461         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
8462         * config/alpha/vms.h, config/arm/coff.h: Likewise.
8463         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
8464         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
8465         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
8466         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
8467         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
8468         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
8469         * config/i386/sco5.h, config/i386/win32.h: Likewise.
8470         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
8471         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
8472         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
8473         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
8474         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
8475         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
8476         * config/sparc/sysv4.h: Likewise.
8477
8478         * config/nextstep.h: Error until named sections implemented.
8479
8480         * config/a29k/a29k.c (a29k_asm_named_section): New.
8481         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
8482         (vms_section_type_flags, vms_asm_named_section): New.
8483         * config/arm/arm.c (arm_elf_asm_named_section): New.
8484         * config/avr/avr.c (asm_output_section_name): Remove.
8485         * config/avr/avr-protos.h: Update.
8486         * config/c4x/c4x.c (c4x_asm_named_section): New.
8487         * config/h8300/h8300.c (h8300_asm_named_section): New.
8488         * config/i386/i386.c (sco_asm_named_section): New.
8489         * config/i386/winnt.c (SECTION_PE_SHARED): New.
8490         (i386_pe_section_type_flags): New.
8491         (i386_pe_asm_named_section): New.
8492         * config/i386/i386-protos.h: Update.
8493         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
8494         * config/mcore/mcore.c (mcore_asm_named_section): New.
8495         * config/mips/mips.c (iris6_asm_named_section): New.
8496         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
8497         instead of UNIQUE_SECTION_P.
8498         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
8499         (xcoff_asm_named_section): New.
8500         * config/sh/sh.c (sh_asm_named_section): New.
8501         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
8502
8503         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
8504         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
8505         (EH_FRAME_SECTION_NAME): New.
8506         (EXCEPTION_SECTION): New.
8507         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
8508         (DEBUG_*_SECTION): Remove.
8509         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
8510         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
8511         (EH_FRAME_SECTION_ASM_OP): Remove.
8512
8513         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
8514         (ASM_OUTPUT_SECTION_NAME): Remove.
8515         (TARGET_ASM_NAMED_SECTION): New.
8516         (TARGET_HAVE_NAMED_SECTIONS): New.
8517         (TARGET_SECTION_TYPE_FLAGS): New.
8518         (EH_FRAME_SECTION_ASM_OP): Remove.
8519         (EH_FRAME_SECTION_NAME): New.
8520
8521 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
8522
8523         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
8524         for complex expressions when cfun == 0.
8525         * doc/extend.texi: Document that __builtin_constant_p can be
8526         used in data initializers as well as functions.
8527
8528 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
8529
8530         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
8531         variable I locally, instead of expecting a declaration in the
8532         calling context.
8533
8534 2001-08-03  Richard Henderson  <rth@redhat.com>
8535
8536         * except.c (collect_one_action_chain): Add an explicit cleanup
8537         action if regions surrounding a catch were encoded entirely
8538         within the call-site entry.
8539
8540 2001-08-03  Richard Henderson  <rth@redhat.com>
8541
8542         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
8543         don't take REGNO of a non-register.
8544
8545 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8546
8547         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
8548         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
8549         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
8550         (__gthread_mutex_init_function): New function for mutex initialization.
8551
8552 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
8553
8554         * Makefile.in: Revert screwed up commit.
8555
8556 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8557
8558         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
8559         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
8560         merged by linker script to get a final _exit().
8561         (__do_global_dtors): New for destructor handling in specific exit
8562         section.
8563         (__do_global_ctors): New for constructors in specific install section.
8564         (__map_data_section): Map data sections before running constructors.
8565         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
8566         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
8567         (DTORS_SECTION_ASM_OP): Likewise.
8568         (CTORS_SECTION_FUNCTION): Define to force a reference to
8569         __do_global_ctors.
8570         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
8571
8572 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
8573
8574         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
8575
8576         * Makefile.in: Add df.h to gcse.c dependencies.
8577
8578 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8579
8580         * varasm.c (output_constant_def_contents): Use for the length of a
8581         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
8582         depending on which is larger.
8583
8584 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
8585
8586         * gcse.c: Include df.h for use as a dataflow analyzer.
8587         Remove regvec.
8588         Declaration of reg_set_info: gone.
8589         New df_analyzer variable used by store motion.
8590         (reg_set_info): Deleted.
8591         (mark_mem_regs): New function, analyze regs used by a mem.
8592         (store_ops_ok): Use dataflow analyzer results to determine if
8593         necessary regs are changed in the block.
8594         (find_moveable_store): Remove check for symbol ref, we can handle
8595         much more complex expressions now.
8596         (compute_store_table): Remove most of the code, it's unnecessary
8597         now that the dataflow analyzer records the info for us.
8598         (store_killed_after): Add parameter to say whether to do the
8599         store_ops_okay test, used to speed up testing when we already know
8600         the answer, and just want to know if the store itself was killed.
8601         (build_store_vector): Largely rewritten to calculate the various
8602         vectors properly, and somewhat optimized.
8603         (store_motion): Init the df_analyzer, get REG_DEF chains.
8604         Also handle trapping expressions (since mems almost always trap)
8605         (simple_mem): Redefine what a simple mem is.
8606
8607 2001-08-03  DJ Delorie  <dj@redhat.com>
8608
8609         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
8610         set from a constant part of the condition.
8611
8612 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
8613
8614         * mkdeps.c (deps_add_default_target): Make local variable
8615         ``start'' a const char pointer.
8616         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
8617
8618 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8619
8620         * doc/install.texi (Configuration): Fix markup.
8621         (Specific, i?86-*-udk): Likewise.
8622         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
8623         --with-gnu-ld.
8624         Document --enable-threads and --enable-libgcj status.
8625         (Specific, mips-sgi-irix*): Canonicalize triples.
8626         (Specific, mips-sgi-irix5): Warn about problems with this config.
8627         Mention required GNU as patch.
8628         Native assembler problems are fixed.
8629         (Specific, mips-sgi-irix6): Update O32 ABI support status.
8630         Document --enable-threads and --enable-libgcj status.
8631
8632 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
8633
8634         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
8635         of mkinstalldirs.
8636
8637 2001-08-03  Richard Henderson  <rth@redhat.com>
8638
8639         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
8640         constant data.
8641
8642 2001-08-03  Richard Henderson  <rth@redhat.com>
8643
8644         * rtlanal.c (find_first_parameter_load): Stop if we
8645         reach a CODE_LABEL at BOUNDARY.
8646
8647 2001-08-03  Richard Henderson  <rth@redhat.com>
8648
8649         * config/alpha/alpha.md (force_movdi): New insn.
8650         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
8651         Tweek FRP marking of VMS prologue insns.
8652         * config/alpha/vms.h (EPILOGUE_USES): New.
8653
8654 2001-08-02  Richard Henderson  <rth@redhat.com>
8655
8656         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
8657
8658 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
8659
8660         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
8661         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
8662         config/convex/convex.h, config/d30v/d30v.c,
8663         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
8664         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
8665         config/mips/mips.h, config/mn10200/mn10200.h,
8666         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
8667         config/v850/v850.h, config/vax/openbsd.h,
8668         config/vax/openbsd1.h, config/vax/ultrix.h,
8669         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
8670         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
8671         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
8672         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
8673         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
8674         in comments and documentation.
8675
8676 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
8677
8678         * line-map.c: New.
8679         * line-map.h: New.
8680         * Makefile.in (line-map.o): New.
8681         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
8682         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
8683         * cpperror.c (print_containing_files): Similarly.
8684         (print_location): Update.  Don't output a space before _Pragma.
8685         * cppfiles.c (stack_include_file): Set to line 1 immediately.
8686         (stack_include_filee, cpp_make_system_header): Update.
8687         (_cpp_execute_include): Get logical line number right for calling
8688         as-yet-unterminated #include.
8689         * cpphash.h (struct cpp_reader): Add line_maps.
8690         (_cpp_do_file_change): Update.
8691         * cppinit.c (cpp_create_reader): Initialize line maps.
8692         (cpp_destroy): Destroy line maps.
8693         (cpp_start_read): Get logical line number right.
8694         * cpplex.c (parse_string): Only warn once for multi-line strings.
8695         Use boolean variable for null warning.
8696         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
8697         already.
8698         (do_include_common): End the directive early.
8699         (do_line): Don't warn about out-of-range lines in preprocessed
8700         source.  Update.  Remove unused variables.
8701         (_cpp_do_file_change): Update for new line mapping.
8702         (pragma_cb): New typedef.
8703         (cpp_register_pragma): Stop looking ahead before calling the
8704         handler.  Clean up.
8705         (do_pragma_system_header): End directive early.
8706         (cpp_get_line_maps): New.
8707         (cpp_pop_buffer): Fudge logical line.  Update.
8708         * cpplib.h: Include line-map.h
8709         (enum cpp_fc_reason): Remove.
8710         (struct cpp_file_change): Update.
8711         (cpp_get_line_maps): New.
8712         * cppmain.c (struct_printer): New member map.
8713         (cb_file_change): Update for new mappings.
8714         * fix-header.c (cb_file_change): Similarly.
8715
8716 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
8717
8718         * Makefile.in (libgcc.mk): Define mkinstalldirs.
8719         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
8720
8721 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
8722
8723         * config/vax/vax.c: include expr.h.
8724
8725 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
8726
8727         * Makefile.in ($(srcdir)/configure): Only rebuild in
8728         maintainer mode.
8729         ($(srcdir)/config.in): Only define in maintainer mode.
8730         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
8731
8732 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
8733
8734         * doc/install.texi (Install GCC: Binaries): Update Bull info.
8735
8736 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8737
8738         * gcc.c (set_collect_gcc_options): New function, split out from
8739         main.
8740         Ignore elided switches.
8741         (do_spec_1): Invoke before executing command.
8742         (set_input): Export.
8743         Move declaration ...
8744         * gcc.h (set_input): ... here.
8745         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
8746         file.
8747
8748 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
8749
8750         Kill -fhonor-std.
8751         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
8752         interaction.
8753         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
8754
8755 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
8756
8757         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
8758         for the unnamed instructions it expands to.
8759
8760 2001-08-02  Richard Henderson  <rth@redhat.com>
8761
8762         * regclass.c (call_really_used_regs): Conditionally define.
8763         (init_reg_sets_1): Don't use it if not defined.
8764         (fix_register): Similarly, don't set it.
8765
8766 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8767
8768         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
8769         Correct comment that had been missed in the previous change.
8770
8771 2001-08-01  Stan Shebs  <shebs@apple.com>
8772
8773         * config/darwin.c (machopic_stub_name): Try matching by name.
8774         (update_stubs): New function.
8775         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
8776         unconditionally.
8777
8778 2001-08-01  Richard Henderson  <rth@redhat.com>
8779
8780         * except.c (output_function_exception_table): Use assemble_align.
8781         * varasm.c (assemble_eh_label): Remove.
8782         (assemble_eh_align, assemble_eh_integer): Remove.
8783
8784 2001-08-01  Robert Lipe  <robertl@caldera.com>
8785
8786         * dwarfout.c: Remove reference to README.DWARF.
8787
8788 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
8789
8790         * regclass.c (call_really_used_regs): New array for registers which
8791         are actually used by a call.
8792         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
8793         new array.
8794         (fix_register): Set call_really_used too.
8795         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
8796         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
8797
8798 2001-08-01  Richard Henderson  <rth@redhat.com>
8799
8800         * read-rtl.c (read_name): Consider \r whitespace.
8801
8802 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
8803
8804         * config.gcc: Recognize powerpc-*-netbsd*.
8805
8806         * doc/install.texi (Host/target specific installation notes for
8807         GCC): Mention powerpc-*-netbsd*.
8808
8809         * config/rs6000/netbsd.h: New file.
8810         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
8811         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
8812         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
8813         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
8814         (TARGET_VERSION): Redefine.
8815
8816         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
8817         mcall-netbsd as a match for mcall-sysv.
8818         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
8819         (ncrti.S, ncrtn.S): New targets.
8820         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
8821
8822         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
8823         "netbsd' as a V4 ABI.
8824         (ASM_SPEC): Check for -mcall-netbsd.
8825         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
8826         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
8827         (LIB_SPEC, ENDFILE_SPEC): Ditto.
8828         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
8829         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
8830         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
8831         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
8832
8833         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
8834         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
8835
8836 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
8837
8838         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
8839         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
8840         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
8841         including "unwind-pe.h".
8842
8843 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
8844
8845         * rs6000.md (define_splits): Kill unused constraints.
8846
8847 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
8848                               Jan Hubicka  <jh@suse.cz>
8849
8850         * function.c (thread_prologue_and_epilogue_insns): Kill code
8851         dealing with non-existent CFG.
8852
8853 2001-08-01  Kazu Hirata  <kazu@hxi.com>
8854
8855         * alias.c: Fix comment formatting.
8856         * bitmap.c: Likewise.
8857         * builtins.c: Likewise.
8858         * calls.c: Likewise.
8859         * c-common.c: Likewise.
8860         * c-decl.c: Likewise.
8861         * c-dump.c: Likewise.
8862         * c-lex.c: Likewise.
8863         * collect2.c: Likewise.
8864         * combine.c: Likewise.
8865         * conflict.c: Likewise.
8866         * cppfiles.c: Likewise.
8867         * cppinit.c: Likewise.
8868         * cpplex.c: Likewise.
8869         * cpplib.c: Likewise.
8870         * cppmacro.c: Likewise.
8871         * cppspec.c: Likewise.
8872         * c-pragma.c: Likewise.
8873         * crtstuff.c: Likewise.
8874         * cse.c: Likewise.
8875         * cselib.c: Likewise.
8876         * c-semantics.c: Likewise.
8877         * c-typeck.c: Likewise.
8878
8879 2001-08-01  H.J. Lu <hjl@gnu.org>
8880
8881         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
8882
8883 2001-08-01  H.J. Lu <hjl@gnu.org>
8884
8885         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
8886
8887 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
8888
8889         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
8890         contextualizing Objective-C class name lookup by the lexer.
8891         (typespec_reserved_nonattr): Disable ObjC class name lookup after
8892         seeing a TYPESPEC.
8893         (protocoldef): Add support for forward @protocol declarations.
8894         (yylexname): Suppress ObjC class name lookup in certain contexts;
8895         re-enable after lookup is complete.
8896         (_yylex): Re-enable ObjC class name lookup when certain
8897         punctuation marks are seen.
8898
8899         * objc/objc-act.c (check_protocol_recursively): New function used
8900         for finding circular dependencies in protocols.
8901         (objc_declare_protocols): New function for handling forward
8902         @protocol declarations.
8903         (receiver_is_class_object): Detect the case when 'self' is used
8904         inside of a class method.
8905         (build_message_expr): Issue a warning if class method is desired
8906         but instance method is found instead.
8907         (conforms_to_protocol): Streamline.
8908         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
8909         protocol Foo, even if 'Bar foo' does not.
8910         (check_protocols): Streamline.
8911         (start_protocol): Add checks for circular and duplicate protocol
8912         definitions.
8913         (encode_aggregate_within): For typedefs of structs, encode the
8914         underlying struct.
8915         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
8916         (objc_declare_protocols): New prototype.
8917
8918 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
8919
8920         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
8921         * cpplex.c (handle_newline): Update prototype.  Maintain logical
8922         line number.
8923         (skip_escaped_newlines, skip_block_comment, parse_string):
8924         Update accordingly.
8925         (_cpp_lex_token): Update, and store token position within the token.
8926         * cpplib.h (struct cpp_token): Add line and column entries.
8927         * cppmacro.c (replace_args): Position stringified tokens correctly.
8928
8929 2001-08-01  Andreas Jaeger  <aj@suse.de>
8930
8931         * basic-block.h: Add prototype for last_loop_beg_note.
8932
8933 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
8934
8935         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
8936         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
8937         comment.
8938         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
8939         while handling WITH_CLEANUP_EXPR node. Use second operand calling
8940         expand_decl_cleanup.
8941         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
8942         the first RTX.
8943         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
8944         operand while calling simple_cst_equal.
8945         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
8946         operand is the cleanup expression, the third is the RTL_EXPR.
8947         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
8948
8949 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
8950
8951         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
8952
8953 2001-07-31  matthew green  <mrg@eterna.com.au>
8954
8955         * config.gcc (i386-*-netbsdelf): New description.
8956         * config/i386/netbsd-elf.h: New file.
8957
8958 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
8959
8960         * loop.c (check_dbra_loop): Use single_set to compute
8961         jump_label.
8962
8963 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
8964
8965         PowerPC reorg and support for powerpc64-*-linux*.
8966
8967         Also fixes emitting of constants on 32 bit and 64 bit
8968         platforms.
8969
8970         * config.gcc: powerpc64-*-linux* is a new target.
8971         Things that needed aix.h now also include xcoff.h
8972
8973         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
8974         xcoff.h.
8975         Move AIX specific stuff into aix.h.
8976         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
8977         with more than just XCOFF now.
8978         (SET_ASM_OP): Remove, now defined where needed.
8979         (FUNCTION_PROLOGUE): New macro definition.
8980         (FUNCTION_EPILOGUE): New macro definition.
8981         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
8982
8983         * config/rs6000/xcoff.h: New file.
8984
8985         * config/rs6000/linux64.h: New file.
8986
8987         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
8988
8989 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
8990
8991         * rs6000.c (print_operand_address): Handle ELF syntax.
8992         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
8993         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
8994         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
8995
8996 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
8997
8998         * rs6000.c (rs6000_override_options): Only disable
8999         flag_function_sections for XCOFF.
9000         (exact_log2_cint_operand): New predicate.
9001         (reg_or_{add,sub}_cint64_operand): New predicates.
9002         (add_operand): Compare CONST_INT with fewer function calls.
9003         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
9004         (print_operand, case 'p'): Ensure positive operand.
9005         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
9006         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
9007         (PREDICATE_CODES): Add new predicates.
9008         * rs6000.md (addsi3): Split 32-bit constants more correctly.
9009         (divsi3, modsi3): Ensure positive power-of-2.
9010         (adddi3): Use new predicate.  Split 32-bit constants more
9011         correctly.  Re-arrange splitter to handle any constant.
9012         (subdi3): Use new predicate.
9013         (divdi3, moddi3): Ensure positive power-of-2.
9014         (movdi): Use rs6000_emit_set_const.
9015         (load_toc_v4_pic_di): Delete.
9016
9017 2001-07-31  Graham Stott <grahams@redhat.com>
9018
9019         * function.c (pad_below): Revert 2001-07-26 patch.
9020
9021 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
9022
9023         * reg-stack (convert_regs_1): Fix best edge condition.
9024
9025 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
9026
9027         * jump.c (duplicate_loop_exit_test): Better test for jumps
9028         entering the loop; create loop pre_header.
9029
9030 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
9031
9032         * doc/install.texi: Add s390 and s390x as new targets.
9033         * doc/invoke.texi: Add documentation of S/390 and zSeries
9034         target options.
9035         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
9036
9037 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
9038
9039         * config/m68k/m68k.md: Replace all general_operand with
9040         nonimmediate_operand for all destinations.
9041         * config/m68k/m68k.c (not_sp_operand): Likewise.
9042
9043 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
9044
9045         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
9046
9047 2001-07-30  Richard Henderson  <rth@redhat.com>
9048
9049         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
9050         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
9051
9052 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
9053
9054         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
9055         Add missing doc strings
9056         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
9057         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
9058
9059 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
9060
9061         * i386.c (ix86_output_main_function_alignment_hack): New function.
9062         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
9063
9064         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
9065         edges by EDGE_DFS_BACK flag.
9066         (dump_edge_info): Add dfs_back flag.
9067         * basic-block.h (EDGE_DFS_BACK): New constant.
9068         (mark_dfs_back_edges): Declare.
9069         * alias.c (loop_p): Remove.
9070         (mark_constant_function): Use mark_dfs_back_edges.
9071
9072         * reg-stack.c (block_info_def): Add predecesors counter and stack_out.
9073         (reg_to_stack): Call mark_dfs_back_edges; count the predecesors.
9074         (compensate_edge): Break out from ...
9075         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
9076         (convert_regs_2): Set block_done once block is really done;
9077         Do updating of the predecesors counts.
9078
9079         * toplev.c (rest_of_compilation): Recompute block_for_insn
9080         before post-reload cfg_cleanup.
9081         * function.c (thread_prologue_epilogue_insns):
9082         Call set_block_for_new_insns when emitting prologue directly.
9083
9084 2001-07-30  Andreas Jaeger  <aj@suse.de>
9085
9086         * jump.c: Add prototype for mark_modified_reg.
9087
9088         * cse.c (set_live_p): Add unused attribute.
9089
9090         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
9091         overflow.
9092         (scan_for_source_files): Use long for count to avoid overflow.
9093         (output_data): Likewise.
9094         (output_data): Don't use string concatatenation to silence gcc
9095         -traditional.
9096
9097         * predict.c: Fix typos and grammar.
9098
9099         * gcse.c (insert_insn_end_bb): Remove unused variables.
9100
9101 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
9102
9103         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
9104         (attempt_auto_inc): LIkewise.
9105         (mark_used_reg): Likewise.
9106         (try_pre_increment_1): Likewise.
9107         * regclass.c (regclass): Likewise.
9108         * global.c (allocno_compare): Update comment; change scaling factor.
9109         * local-alloc.c (QTY_CMP_PRI): Likewise.
9110         * regs.h (REG_FREQ_FROM_BB): New.
9111         (REG_FREQ_MAX): Likewise.
9112
9113 2001-07-30  H.J. Lu <hjl@gnu.org>
9114
9115         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
9116         -D_GNU_SOURCE.
9117
9118 2001-07-30  H.J. Lu  (hjl@gnu.org)
9119
9120         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
9121         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
9122         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
9123
9124 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
9125
9126         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
9127         as -mthumb-interwork when -mcpu=arm7 is specified.
9128
9129 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
9130
9131         * predict.def (noreturn, loop branch, loop exit): Mark as first
9132         match heuristics.
9133
9134 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
9135
9136         * combine.c (try_combine): Avoid barrier after noop jumps.
9137
9138 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9139
9140         * cpphash.h (struct cpp_reader): Remove import_warning.
9141         * cpplib.c (skip_rest_of_line): Don't bother turning off
9142         macro expansion.
9143         (parse_include): Move include handling to...
9144         (do_include_common): ... here.  Move import warning from...
9145         (do_import): ... here.
9146         (do_pragma_poison): Don't do a callback for poison identifiers.
9147         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
9148         * cppmain.c (setup_callbacks): Similarly.
9149
9150 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
9151
9152         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
9153         handle multiple sets.
9154         * except.c (sjlj_mark_call_sites): .... here.
9155         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
9156
9157 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
9158
9159         Suggested by Richard Henderson and Richard Kenner:
9160         * combine.c (recog_for_combine): Use the fake recog
9161         only if instruction does not match.
9162         * rtl.h (NOOP_MOVE_INSN_CODE): New.
9163         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
9164
9165         * combine.c (try_combine): Discover noop jump as direct jump.
9166
9167 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
9168
9169         * df.c (df_rd_global_compute): Add successors to worklist, not
9170         current item.
9171         (df_ru_global_compute): Ditto.
9172
9173 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
9174
9175         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
9176         increment REG_N_SETS.
9177
9178 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
9179
9180         * sbitmap.h: New prototype for sbitmap_a_xor_b.
9181
9182         * sbitmap.c (sbitmap_a_xor_b): New function.
9183         ifdef the basic block stuff on IN_GCC.
9184
9185 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9186
9187         * cppexp.c (parse_defined): Always record the macro name.
9188         (lex): Don't worry about identifiers, or special-case
9189         CPP_NOT here.
9190         (_cpp_parse_expr): Figure out at the end of the routine
9191         whether we saw a valid !defined() expression.
9192         * cppfiles.c (stack_include_file): Update for mi_valid.
9193         (_cpp_pop_file_buffer): Similarly.
9194         * cpplex.c (_cpp_lex_token): Similarly.
9195         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
9196         mi_if_not_defined, mi_lexed): Remove.
9197         (mi_valid): New.
9198         * cpplib.c (do_if): Simplify.
9199         (do_endif, push_conditional, _cpp_handle_directive): Update
9200         for renaming of mi_state to mi_valid.
9201 doc:
9202         * cpp.texi: Add index entries for digraphs, and add comment
9203         that C++ refers to them as alternative tokens.
9204
9205 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
9206
9207         * basic-block.h (CLEANUP_PRE_LOOP): New.
9208         * except.c (finish_eh_generation): Update call of cleanup_cfg.
9209         * sibcall.c (optimize_sibling_calls): Likewise.
9210         * toplev.c (rest_of_compilation): Likewise.
9211         * flow.c (try_forward_edges): Take argument MODE;
9212         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
9213         (try_optimize_cfg): Update call of try_forward_edges.
9214
9215 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
9216                                 Jan Hubicka  <jh@suse.cz>
9217
9218         * (validate_replace_rtx_1): Fix simplification of MINUS.
9219
9220 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
9221
9222         PR preprocessor/3669
9223         * cppinit.c (init_dependency_output): Turn off dump requests
9224         if sending dependencies to stdout.
9225
9226 2001-07-28  Richard Henderson  <rth@redhat.com>
9227
9228         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
9229         not optimizing.
9230
9231 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
9232
9233         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
9234
9235 2001-07-28  Kazu Hirata  <kazu@hxi.com>
9236
9237         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
9238         is VAR_DECL first to prevent an ICE.
9239
9240 2001-07-28  Richard Henderson  <rth@redhat.com>
9241
9242         * varasm.c (immed_real_const_1): Don't elide special cases for
9243         nested functions.
9244         (clear_const_double_mem): Clear const_tiny_rtx too.
9245
9246 2001-07-28  Richard Henderson  <rth@redhat.com>
9247
9248         * dwarf2out.c (dw_val_class_offset): New.
9249         (struct dw_ranges_struct, dw_ranges_ref): New.
9250         (ranges_table, ranges_table_allocated): New.
9251         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
9252         (add_AT_offset, add_ranges, output_ranges): New.
9253         (print_die, output_die): Handle dw_val_class_offset.
9254         (attr_checksum, size_of_die, value_format): Likewise.
9255         (gen_lexical_block_die): Handle non-contiguous blocks.
9256         (gen_block_die): Likewise.
9257         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
9258         if needed.  Dump the ranges table.
9259         * final.c (final_start_function): Remove unnecessary notes and
9260         rebuild the block tree before numbering the blocks.
9261         * function.c (reorder_blocks_0): Walk the existing block tree
9262         to unmark all blocks.
9263         (reorder_blocks_1): Create block fragments when duplicate block
9264         notes are seen.
9265         (reorder_fix_fragments): New.
9266         (reorder_blocks): Call it.
9267         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
9268
9269 2001-07-28  Richard Henderson  <rth@redhat.com>
9270
9271         * emit-rtl.c (adjust_address): Make a copy of the memory address.
9272
9273 2001-07-28  Richard Henderson  <rth@redhat.com>
9274
9275         * flow.c (add_to_mem_set_list): New function.
9276         (init_propagate_block_info): Use it.
9277         (mark_set_1): Likewise.
9278         (insn_dead_p): Canonicalize memory address for dead store
9279         comparison.  Allow wider mode stores to kill narrower mode stores.
9280         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
9281         (invalidate_mems_from_set): Don't handle MEMs.
9282
9283 2001-07-28  Kazu Hirata  <kazu@hxi.com>
9284
9285         * config/h8300/h8300.h: Fix formatting.
9286
9287 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
9288
9289         * basic-block.h (EDGE_FREQUENCY): New macro.
9290         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
9291         for new BB/edges.
9292         * flow.c (find_sub_basic_blocks): Likewise.
9293         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
9294         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
9295
9296         * predict.c (DEF_PREDICTOR): New argument FLAGS.
9297         (HITRATE): New macro.
9298         (PRED_FLAG_FIRST_MATCH): New constant.
9299         (predictor_info): New field flgags.
9300         (combine_predictions_for_insn): Use DS theory to combine
9301         probabilities; set the edge probabilities when finished.
9302         (estimate_probability): Avoid duplicated matches
9303         of LOOP_BRANCH heuristics for nested loops; update comment.
9304         * predict.def: Add flags for each prediction, set probabilities
9305         according to B&L paper.
9306         * predict.h (DEF_PREDICTOR): New argument FLAGS.
9307
9308         * profile.c (compute_branch_probabilities):  Cleanup way the edge
9309         probabilities are computed and REG_BR_PROB notes are dropped; if
9310         values does not match, emit error.
9311         (init_branch_prob): Do error instead of warning when profile driven
9312         feedback is missing or corrupt.
9313
9314 2001-07-27  DJ Delorie  <dj@redhat.com>
9315
9316         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
9317         against a constant, try to adjust the compare to have the desired
9318         constant in it so that min/max optimizations happen more often.
9319
9320 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
9321
9322         * flow.c (last_loop_beg_note): New function.
9323         (redirect_edge_and_branch): Use it.
9324         (split_edge): Likewise.
9325
9326         * alias.c (loop_p): Avoid uninitialized memory access.
9327
9328         * flow.c (try_forward_edges): Avoid accessing freed memory.
9329
9330         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
9331         variable access.
9332
9333 2001-07-26  Andrew Haley  <aph@redhat.com>
9334         Joern Rennecke <amylaar@redhat.com>
9335
9336         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
9337         (SUBTARGET_CPP_ENDIAN_SPEC): New.
9338         (SUBTARGET_CPP_SPEC): New.
9339         (CPP_SPEC): Remove.
9340         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
9341         (SUBTARGET_CPP_PTR_SPEC): New.
9342         (CPP_DEFAULT_CPU_SPEC): New.
9343         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
9344         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
9345         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
9346         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
9347         (SUBTARGET_CPP_SPEC): Define as an empty string.
9348
9349 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9350
9351         * doc/install.texi (Configuration): Properly link the host
9352         specific instructions also when generating HTML.
9353
9354 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
9355
9356         * flow.c (redirect_edge_and_branch_force): Test
9357         target->global_live_at_start.
9358
9359 2001-07-26  Richard Henderson  <rth@redhat.com>
9360
9361         * simplify-rtx.c (avoid_constant_pool_reference): Export.
9362         * rtl.h (avoid_constant_pool_reference): Declare it.
9363         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
9364         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
9365
9366 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
9367
9368         * rtl.h (cleanup_barriers): Declare.
9369         * jump.c (cleanup_barriers): New function.
9370         * toplev.c (rest_of_compilation): Call cleanup_barriers
9371         before loop optimizer and after bb_reorder.
9372
9373         * flow.c (back_edge_of_syntactic_loop_p): New.
9374         (split_edge): Use it.
9375
9376 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9377
9378         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
9379
9380 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
9381
9382         * cse.c (cse_process_notes): Replace any registers if the address
9383         remains valid.
9384
9385 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
9386
9387         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
9388         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
9389         (propagate_block): Update prototype.
9390         * flow.c (update_life_info): Simplify the CFG and
9391         recalculate the global regs which are alive when
9392         removing dead code during a global update.
9393         (propagate_block): Return non-zero if an INSN is
9394         deleted.
9395
9396 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9397
9398         * Makefile.in (LIBICONV): Define.
9399
9400 2001-07-26  Catherine Moore  <clm@redhat.com>
9401
9402         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
9403         of conditional to avoid tree checking errors.
9404
9405 2001-07-26  Kazu Hirata  <kazu@hxi.com>
9406
9407         * regmove.c (regmove_optimize): Don't replace a reg with
9408         another reg of a different mode.
9409
9410 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
9411
9412         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
9413         limit length of dependency flush list.
9414         * params.h (MAX_PENDING_LIST_LENGTH): Define.
9415         * sched-int.h  (struct deps): Add pending_flush_length field.
9416         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
9417         has 1 element in it.
9418         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
9419         (sched_analyze): After a jump, if the pending memory flush list is too
9420         large, flush the pending lists.
9421         (init_deps): Initialize pending_flush_length to 0.
9422         * doc/invoke.texi (max_pending_list_length): Document parameter.
9423
9424 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
9425
9426         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
9427         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
9428         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
9429
9430 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9431
9432         * cpphash.h (struct_lexer_state): Delete was_skipping.
9433         Move skipping here from struct cpp_reader.
9434         * cpplex.c (parse_identifier): Update.
9435         (_cpp_lex_token): Don't skip tokens in a directive.
9436         * cpplib.c (struct if_stack): Update.
9437         (start_directive, end_directive): Don't change skipping state.
9438         (_cpp_handle_directive): Update.
9439         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
9440         (do_else, do_endif): Update; only check for excess tokens if not
9441         in a skipped conditional block.
9442         (push_conditional): Update for new struct if_stack.
9443
9444 2001-07-26  Graham Stott  <grahams@redhat.com>
9445
9446         * function.c (locate_and_pad_parm): Also pad initial offset
9447         so that the total argument size also includes the padding.
9448
9449 2001-07-26  Graham Stott <grahams@redhat.com>
9450
9451         * gensupport.c (alter_output_for_insn): Correct enable checking failure
9452         change XSTR to XTMPL.
9453
9454         (process_one_cond_exec): Likewise
9455
9456 2001-07-25  Richard Henderson  <rth@redhat.com>
9457
9458         * varasm.c (assemble_variable): Create DECL_RTL before setting
9459         TREE_ASM_WRITTEN.
9460
9461 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
9462
9463         * predict.c (estimate_probability): Avoid duplicated predictions.
9464
9465         * loop.c (find_and_verify_loops): Grok multiple barriers.
9466
9467 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9468
9469         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
9470
9471         * dbxout.c: Consistently use putc instead of fputc.
9472         (print_wide_int): New function; call instead of direct fprintf.
9473         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
9474         (dbxout_type_fields, dbxout_type_method_1): Likewise.
9475         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
9476         (print_int_cst_octal): Likewise.
9477         (print_octal): Show we wrote characters.
9478         (dbxout_type): Set have_used_extensions in more places.
9479
9480 2001-07-25  Catherine Moore  <clm@redhat.com>
9481
9482         * config/v850/v850.c (v850_va_arg):  Use addr
9483         instead of valist to build incr.
9484
9485 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
9486
9487         * flow.c (delete_dead_jumptables): New function.
9488         (life_analyzis): Call it.
9489         * bb-reorder.c (skip_insns_after_block): Handle contradictory
9490         sequences.
9491
9492 2001-07-25  Richard Henderson  <rth@redhat.com>
9493
9494         * except.c (reachable_handlers): Handle a region being removed
9495         out from under a RESX.
9496
9497 2001-07-25  Richard Henderson  <rth@redhat.com>
9498
9499         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
9500         swap GE/GT if it is an fp comparison.
9501
9502 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
9503
9504         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
9505         operands.
9506
9507 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
9508
9509         * ssa.c (rename_insn_1): Do not wrap an assignment to a
9510         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
9511         glitch.
9512
9513         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
9514         throw an exception.
9515         (visit_expression): When attempting to simplify an expression,
9516         retrieve any modes for arguments before they are simplified
9517         to constants.
9518
9519 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
9520             Janis Johnson  <janis@us.ibm.com>
9521
9522         * stmt.c (expand_goto): A nonlocal goto can be a call too.
9523         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
9524         pointer parameters to match documented usage of nonlocal_goto.
9525         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
9526         parameters to their correct order.
9527         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
9528         parameters to their correct order.
9529
9530 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
9531
9532         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
9533
9534 2001-07-25  Jan Hubicka  <jh@suse.cz>
9535             Richard Henderson  <rth@redhat.com>
9536
9537         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
9538         the sequence.
9539         (make_edges): New argument update_p; populate the edge cache if set.
9540         (find_basic_blocks): Update make_edges invocation.
9541
9542 2001-07-24  Joel Sherrill <joel@OARcorp.com>
9543
9544         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
9545
9546 2001-07-24  Joel Sherrill <joel@OARcorp.com>
9547
9548         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
9549         -Acpu and -Amachine.h.
9550         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
9551         Corrected header to say ELF not a.out.
9552         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
9553         when given -msoft-float.
9554
9555 2001-07-24  Joel Sherrill <joel@OARcorp.com>
9556
9557         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
9558         extra multilib parts like arm-elf.
9559         (i960-*-coff*, i960-*-rtems): Should not use collect2.
9560         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
9561         crtfini.o as extra multilib parts.
9562
9563 2001-07-24  Joel Sherrill <joel@OARcorp.com>
9564
9565         * configure.in: Add rtems as a supported thread model.
9566         * gthr-rtems.h: Add missing entry point __gthread_active_p.
9567         * configure: Rebuilt.
9568
9569 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
9570
9571         * stor-layout.c (get_mode_alignment): make it work when
9572         BITS_PER_UNIT is not a power of two.
9573         * builtins.c (get_pointer_alignment): Likewise.
9574
9575 2001-07-24  Richard Henderson  <rth@redhat.com>
9576
9577         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
9578         the retrieved constant into the expected mode.
9579
9580 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
9581
9582         * flow.c (try_simplify_condjump): Avoid duplicated edges.
9583         (verify_flow_info): Check for duplicated edges; clarify
9584         error reporting.
9585
9586         * flow.c (block_label): Update basic_block_for_insn.
9587         (commit_edge_insertions): Call compute_bb_for_insn.
9588
9589         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
9590         returns too.
9591
9592         * flow.c (redirect_edge_and_branch,
9593         try_optimize_cfg): Use redirect_edge_succ_nodup
9594         (redirect_edge_succ_nodup): New.
9595         * basic_block.h (redirect_edge_succ_nodup): Declare.
9596
9597         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
9598         after gcse.
9599
9600 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
9601
9602         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
9603         (try_crossjump_to_edge): Update commetns.
9604         (try_crossjump_bb): Likewise.
9605
9606 2001-07-24  Richard Henderson  <rth@redhat.com>
9607
9608         * combine.c (distribute_notes): Move set of need_refresh
9609         for noop_move_p down to catch all cases.
9610
9611 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
9612
9613         * recog.c (split_all_insns_noflow): New.
9614         * rtl.h (split_all_insns_noflow): Declare.
9615         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
9616         * m68hc11.c (m68hc11_reorg): Likewise.
9617         * sh.c (machine_dependent_reorg): Likewise.
9618         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
9619         call.
9620
9621 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
9622
9623         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
9624         (ashlsi3_n splitter): Likewise.
9625         (lshrsi3_n splitter): Likewise.
9626
9627         (GOTaddr2picreg): Make const SImode.
9628         (sym_label2reg): Likewise.
9629         (symGOT2reg): Likewise.
9630         (symGOTOFF2reg) Likewise.
9631
9632         (casesi_worker_0): Make unspec SImode.
9633
9634 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
9635
9636         * config/sh/sh.c (barrier_align): Check that an operand really is
9637         an insn before extracting its INSN_CODE.
9638
9639 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
9640
9641         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
9642         dangling else.
9643
9644         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
9645         for SImode to prevent overflow.
9646
9647 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9648
9649         * config/mips/irix6-libc-compat.c: New file.
9650         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
9651         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
9652         passing workaround.
9653
9654 2001-07-24  lars brinkhoff  <lars@nocrew.org>
9655
9656         * rtl.texi (REG_POINTER): Document.
9657         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
9658         QFmode, HFmode, TQFmode, QCmode, and HCmode.
9659
9660 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
9661
9662         * flow.c (delete_noop_moves): Do not confuse libcall regions.
9663
9664 2001-07-23  Richard Henderson  <rth@redhat.com>
9665
9666         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
9667
9668 2001-07-23  Kazu Hirata  <kazu@hxi.com>
9669
9670         * config/h8300/h8300-protos.h: Add a prototype for
9671         general_operand_dst_push.
9672         * config/h8300/h8300.c (general_operand_dst_push): New.
9673         * config/h8300/h8300.h (OK_FOR_T): New.
9674         (EXTRA_CONSTRAINT): Use it.
9675         * config/h8300/h8300.md (movqi_push): Remove and integrate into
9676         the existing movqi pattern.
9677         (movhi_push): Likewise.
9678
9679         * reload.c: Fix comment typos.
9680
9681 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
9682
9683         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
9684
9685 2001-07-23  H.J. Lu  (hjl@gnu.org)
9686
9687         * doc/extend.texi: Update __builtin_return_address and
9688         __builtin_frame_address.
9689
9690 2001-07-23  Richard Henderson  <rth@redhat.com>
9691
9692         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
9693         before CSE.
9694         * config/i386/i386.md: New setcc+movzbl peephole2.
9695
9696 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9697
9698         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
9699         * objc/objc-act.c: Include debug.h.
9700         (synth_module_prologue): Save and restore debug hooks too.
9701
9702 2001-07-23  lars brinkhoff  <lars@nocrew.org>
9703
9704         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
9705         and C4X_FLOAT_FORMAT.
9706         (BOOL_TYPE_SIZE): Document.
9707
9708 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
9709
9710         * unroll.c (loop_iterations): Fix miscalculation of initial
9711         giv offset.
9712
9713 2001-07-13  Andrew Haley  <aph@redhat.com>
9714
9715         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
9716         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
9717         * config/sh/sh.c (sh_can_redirect_branch): New function.
9718         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
9719         * reorg.c (steal_delay_list_from_target): Use
9720         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
9721
9722 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
9723
9724         * flow.c (try_simplify_condjump): Unlink insn chain on
9725         fallthru edge; use can_fallthru.
9726
9727 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
9728
9729         * basic-block.h (find_sub_basic_block): Declare.
9730         * flow.c (make_edges): New arguments MIN and MAX;
9731         (find_sub_basic_blocks): Revamp to use make_edges
9732         and purge_dead_edges.
9733         (find_basic_blocks): Update call of find_sub_basic_block.
9734
9735         * recog.c (split_all_insns): Always expect CFG to be consistent;
9736         call find_sub_basic_blocks in case something has changed.
9737         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
9738         has been built.
9739
9740         * basic-block.h (delete_noop_moves): Declare.
9741         * combine.c (combine_instructions): Call it.
9742         (recog_for_combine): Tolerate noop moves
9743         (distribute_notes): Force refresh when register dies at noop move.
9744         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
9745         too.
9746         (life_analysis): Update delete_noop_moves call.
9747         (set_noop_p): Move too ...
9748         * rtlanal.c (noop_move_p): ... here.
9749         * rtl.h (noop_move_p): Declare.
9750
9751         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
9752         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
9753         after combine.
9754         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
9755         (cprop_jump): Likewise; call purge_dead_edges if substitution suceeded.
9756
9757 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
9758
9759         * reload.c (push_reload): Fix typo in comment.
9760         (find_reloads_address): Ditto.
9761         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
9762
9763 2001-07-22  Richard Henderson  <rth@redhat.com>
9764
9765         * flow.c: Grammar check and clarify a lot of comments.
9766         (try_simplify_condjump): Rename variables to be clearer.
9767         (try_forward_edges): Skip complex and fallthru edges.
9768         Rearrange tests to avoid duplicate checks.
9769         (flow_find_cross_jump): Likewise.
9770         (outgoing_edges_match): Allow match if neither branch has
9771         probability data.  Loosen probability match to 5%.
9772         (try_crossjump_to_edge): Hoist repeated indirection into
9773         local variables.
9774         (try_crossjump_bb): Don't check complex edges.  Eliminate
9775         redundant crossjump tests.
9776         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
9777         checks before more expensive checks.
9778
9779 2001-07-22  Richard Henderson  <rth@redhat.com>
9780
9781         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
9782         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
9783         arguments.
9784
9785 2001-07-22  Richard Henderson  <rth@redhat.com>
9786
9787         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
9788         (const_sint32_operand): Likewise.
9789         * m68k.md (anon mulsi pattern): Use const_int_operand not
9790         const_sint32_operand.
9791         (umulsi3_highpart): Zero extend a constant input.
9792         (smulsi3_highpart): Don't bother checking SImode constant.
9793         (const_umulsi3_highpart): Give op3 DImode.
9794         (const_smulsi3_highpart): Likewise.
9795
9796 2001-07-22  Richard Henderson  <rth@redhat.com>
9797
9798         * flow.c (split_block): Make sure bb_note is included in the
9799         new block when splitting before a label.
9800
9801 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
9802
9803         * basic-block.h (redirect_edge_and_branch_force,
9804         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
9805         * flow.c (redirect_edge_and_branch_force,
9806         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
9807         (redirect_edge_and_branch_force): Fix copying of lifeness information.
9808         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
9809         * ifcvt.c (dead_or_predictable): Take BB as an new destionation
9810         instead of label; update CFG after transformation.
9811         (find_if_case_1): Update call, use redirect_edge_and_branch_force
9812         for finishing the transformation; handle even case where ELSE
9813         does not follow THEN.
9814         (find_if_case_2): Update call of dead_or_predictable; simplify
9815         CFG update.
9816
9817         * emit-rtl.c (split_branch_probability): New global variable.
9818         (try_split): Take care to set split_branch_probability and
9819         create REG_BR_PROB note for new jump insns.
9820         * md.texi (define_split): Document new feature.
9821
9822         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
9823
9824 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
9825
9826         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
9827         (asm_out_file): Remove redundant declaration.
9828         (assemble_asm): Remove old #if 0 block.
9829         (assemble_variable): Remove end of function; debug output is
9830         now handled with global_decl.  Remove old #if 0 block.  Update.
9831         Remove saved_in_section and associated no-op code.
9832         * Makefile.in (varasm.o): Correct dependencies.
9833
9834 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
9835
9836         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
9837         the definition in defaults.h.
9838
9839 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
9840
9841         * jump.c: Update comments.
9842         (delete_barrier_successors, delete_unreferenced_labels,
9843         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
9844         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
9845         jump_optimize, jump_optimize_minimal): Kill.
9846         (rebuild_jump_labels): Move code from jump_optimize_1.
9847         (purge_line_number_notes): Likewise.
9848         (copy_loop_headers): Likewise.
9849         * reg-stack.c: Update comment.
9850         * stmt.c: Likewise.
9851         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
9852         JUMP_AFTER_REGSCAN): Kill.
9853         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
9854         purge_line_number_notes and copy_loop_headers.
9855
9856 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
9857            Richard Henderson  <rth@redhat.com>
9858
9859         * dbxout.c (dbxout_global_decl): New.
9860         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
9861         * sdbout.c (sdbout_finish): New.
9862         (sdbout_debug_hooks): Use it, add comments.
9863         (sdbout_global_decl): Defer initialised public vars to
9864         sdbout_finish.
9865         * varasm.c (assemble_variable): Don't output debug information
9866         for file-scope variables.
9867
9868 2001-07-22  Richard Henderson  <rth@redhat.com>
9869
9870         * config/alpha/alpha.c (get_trap_mode_suffix): New.
9871         (get_round_mode_suffix): New.
9872         (print_operand): Use them for [/].  Remove support for [&'`()+].
9873         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
9874         * config/alpha/alpha.md (attr round_suffix): New.
9875         (attr trap_suffix): New.
9876         (all insns): Set them appropriately.  Use %/ instead of the
9877         myriad punctuators.
9878
9879 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9880
9881         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
9882
9883 2001-07-22  Richard Henderson  <rth@redhat.com>
9884
9885         * regrename.c (regrename_optimize): Compute nregs for each
9886         potential target register.
9887
9888 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
9889            Richard Henderson  <rth@redhat.com>
9890
9891         * dbxout.c (dbxout_global_decl): New.
9892         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
9893         * sdbout.c (sdbout_finish): New.
9894         (sdbout_debug_hooks): Use it, add comments.
9895         (sdbout_global_decl): Defer initialised public vars to
9896         sdbout_finish.
9897         * varasm.c (assemble_variable): Don't output debug information
9898         for file-scope variables.
9899
9900 2001-07-21  H.J. Lu  (hjl@gnu.org)
9901
9902         * config/mips/mips.c (mips_cpu): Moved into ...
9903         (override_options): Here.
9904
9905         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
9906         mips_tune.
9907         (mips_cpu): Removed.
9908
9909 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9910
9911         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
9912         ("iorqi3"): Likewise.
9913         ("xorqi3"): Likewise.
9914         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
9915         ("*subhi3_sp): Likewise.
9916         ("*subhi3"): Likewise.
9917         ("extendhisi2"): Accept D, X and Y as source operand to avoid
9918         reload problems.
9919
9920 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
9921
9922         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
9923         * config/freebsd.h: Likewise.
9924         * config/linux.h: Likewise.
9925         * config/openbsd.h: Likewise.
9926         * config/alpha/linux-elf.h: Likewise.
9927         * config/arm/linux-elf.h: Likewise.
9928         * config/d30v/d30v.h: Likewise.
9929         * config/fr30/fr30.h: Likewise.
9930         * config/ia64/aix.h: Likewise.
9931         * config/ia64/ia64.h: Likewise.
9932         * config/mips/linux.h: Likewise.
9933         * config/pj/pj.h: Likewise.
9934         * config/rs6000/linux.h: Likewise.
9935         * config/sparc/linux.h: Likewise.
9936         * config/sparc/linux64.h: Likewise.
9937
9938 2001-07-20  Bruce Korb  <bkorb@gnu.org>
9939
9940         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
9941         because getc() and char* may disagree on signedness.
9942
9943 2001-07-20  Richard Henderson  <rth@redhat.com>
9944
9945         * doc/rtl.texi (REG_DEAD): Update for current semantics.
9946
9947         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
9948         insns to delete in the presence of cc0 in a jump insn.
9949
9950 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
9951                                 Jan Hubicka  <jh@suse.cz>
9952
9953         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
9954         of doing the change by hand.
9955
9956 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
9957
9958         * rtlanal.c (set_noop_p): Return true for noop jumps.
9959
9960         * expr.c (emit_single_push_insn): Add call to push expander.
9961         * expr.h (optab_index): Add OTI_push
9962         (push_optab): New constant.
9963         * genopinit.c (optabs): Add push_optab.
9964         * optabs.c (init_optab): Init push optab.
9965         * md.texi (push??1): Document
9966
9967 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9968
9969         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
9970         expand to emit the pattern; put a REG_INC note for push/pop
9971         instructions.
9972         ("movdf", "movdf_internal"): Likewise.
9973         ("movsi", "movsi_internal"): Likewise.
9974         ("movsf", "movsf_internal"): Likewise.
9975         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
9976
9977 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9978
9979         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
9980         gen_highpart.
9981
9982 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
9983
9984         * params.def: Change default max inline insns to 100.
9985
9986 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
9987
9988         * combine.c (combine_simplify_rtx): Generate a new shift operation
9989         when simplifying the first operand of a (neg (ashift)) expression.
9990
9991 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
9992
9993         * regclass.c (N_REG_INTS): Use only 32 bits per element.
9994
9995 2001-07-20  Kelley Cook  <kelley.cook@home.com>
9996
9997         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
9998         information.   Move rest into ...
9999         (*-*-solaris): ... here.  Eliminate redundant information and
10000         reword necessary packages section.  Delete 4.x assembler bug info.
10001         (sparc-sun-*): Merge into ...
10002         (sparc-sun-sunos*): here.
10003
10004 2001-07-20  Catherine Moore  <clm@redhat.com>
10005
10006         * config/v850/v850.md (casesi): Generate LABEL_REF
10007         with Pmode.
10008
10009 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
10010
10011         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
10012         * i386.c (ix86_zero_extend_to_Pmode): Make global.
10013         * i386.md (strclrsi expander): Use it.
10014
10015 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
10016
10017         * integrate.c (copy_insn_list): handle
10018         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
10019         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
10020         identically as to CODE_LABEL.
10021
10022         * fold-const (fold): Convert A/B/C to A/(B*C) and
10023         A/(B/C) to (A/B)*C
10024
10025         * except.c (connect_post_landing_pads): Delete the RESX insns.
10026
10027 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
10028
10029         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
10030
10031         * config/mips/mips.md (nmadd/nmsub): Use macro.
10032
10033 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
10034
10035         * cppinit.c (remove_dup_dir): Make static.
10036         (remove_dup_dirs): Make static. Only warn about preempting a
10037         system directory with a non-system directory.
10038
10039 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
10040
10041         * ifcvt.c (noce_try_store_flag_constants): Correct order
10042         of parameters to trunc_int_for_mode.
10043
10044 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
10045
10046         * reorg.c (fill_simple_delay_slots): If an instruction might throw
10047         an exception that will be caught within this function, do not fill
10048         its delay slot with any subsequent instruction.
10049
10050 2001-07-19  Steve Ellcey <sje@cup.hp.com>
10051
10052         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
10053         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
10054         pointer extension instruction.
10055         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
10056         * simplify-rtx.c (simplify_unary_operation) Likewise.
10057         * explow.c (convert_memory_address) Check value of
10058         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
10059         less than zero.
10060         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
10061         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
10062         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
10063         Add Multilib Support.
10064         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
10065         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
10066         Add Multilib Support.
10067         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
10068         support.
10069         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
10070         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
10071         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
10072
10073 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
10074
10075         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
10076         old and new operands in `<', `3' and `b'.
10077
10078 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
10079
10080         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
10081         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
10082         (toplev.o): Don't depend on xcoffout.h.
10083         * c-decl.c: Include debug.h
10084         (duplicate_decls): Use debug hook.
10085         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
10086         (dbx_debug_hooks, xcoff_debug_hooks): Update.
10087         (dbxout_types): Remove.
10088         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
10089         * debug.c (do_nothing_debug_hooks): Update.
10090         (debug_true_tree, debug_nothing_rtx): New.
10091         * debug.h (struct rtx_def): New.
10092         (struct gcc_debug_hooks): New hooks ignore_block,
10093         outlining_inline_function and label.
10094         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
10095         dwarf2out_frame_finish): New.
10096         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
10097         Make static, update prototype.
10098         (dwarf2_debug_hooks): Update.
10099         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
10100         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
10101         * dwarfout.c (dwarf_debug_hooks): Update.
10102         * emit-rtl.c: Include debug.h.
10103         (remove_unnecessary_notes): Use debug hook.
10104         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
10105         (final_scan_insn): Use debug hook.
10106         * integrate.c (output_inline_function): Use debug hook.
10107         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
10108         (sdb_debug_hooks): Update.
10109         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
10110         * toplev.c: Don't include xcoffout.h.
10111         (note_outlining_of_inline_function, debug_ignore_block): Remove.
10112         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
10113         Remove.
10114         * tree.h (dwarf2out_do_frame): Remove.
10115
10116 2001-07-19  Catherine Moore  <clm@cygnus.com>
10117
10118         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
10119
10120 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
10121
10122         * reload1.c (eliminate_regs_in_insn): When updating a set
10123         to the frame pointer to the hardware frame pointer, perform
10124         the update always not just when REPLACE is set.
10125
10126         * reload1.c (choose_reload_regs): Don't inherit a reload
10127         that crosses multiple registers if registers past the first
10128         don't fit in the desired class.
10129
10130         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
10131         when negating constants.
10132
10133 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
10134
10135         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
10136         * doc/tree.texi: Ditto.
10137
10138 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
10139             Jakub Jelinek  <jakub@redhat.com>
10140
10141         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
10142         (extract_cie_info): Handle "eh" augmentation properly,
10143         remember eh_ptr.
10144         (struct frame_state, __frame_state_for): New.
10145
10146 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10147
10148         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
10149         HANDLE_SYSV_PRAGMA): Define.
10150         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
10151         previous args.
10152         (copy_object): Caller changed.
10153
10154 2001-07-19  Andreas Schwab  <schwab@suse.de>
10155
10156         * configure.in (assembler dwarf2 debug_line support): Define nop
10157         insn for m68k.
10158         * configure: Regenerated.
10159
10160 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
10161
10162         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
10163         dwarfout.h.
10164         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
10165         to conditionally compiled block.
10166         (dbx_debug_hooks, xcoff_debug_hooks): Update.
10167         * dbxout.h (dbxout_function): Remove.
10168         * debug.c (do_nothing_debug_hooks): Update.
10169         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
10170         global_decl, deferred_inline_function.
10171         * dwarf2out.c (dwarf2_debug_hooks): Update.
10172         (dwarf2out_global_decl): New.
10173         * dwarfout.c: Don't include dwarfout.h.
10174         (dwarfout_global_decl, dwarfout_function_decl,
10175         dwarfout_deferred_inline_function): New.
10176         (dwarf_debug_hooks): Update.
10177         * dwarfout.h: Remove.
10178         * final.c: Don't include dwarfout.h.
10179         * sdbout.c (sdbout_global_decl): New.
10180         (sdbout_debug_hooks): Update.
10181         * toplev.c: Don't include dwarfout.h.
10182         (check_global_declarations, rest_of_compilation): Use new debug hooks.
10183         (note_deferral_of_defined_inline_function): Remove.
10184         * toplev.h (note_deferral_of_defined_inline_function): Remove.
10185         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
10186         * ch/lex.c: Don't include dwarfout.h.
10187         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
10188         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
10189         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
10190         * cp/optimize.c: Include debug.h.
10191         (maybe_clone_body): Use debug hook.
10192         * cp/semantics.c: Include debug.h.
10193         (expand_body): Use debug hook.
10194         * po/POTFILES.in: Remove dwarfout.h.
10195
10196 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
10197
10198         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
10199         * c-parse.in (yyerror, _yylex): Similarly.
10200         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
10201         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
10202         Update comments.
10203         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
10204         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
10205
10206 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
10207
10208         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
10209         in-class declaration at -g1.  Fixes c++/2814.
10210
10211 2001-07-18  Richard Henderson  <rth@redhat.com>
10212
10213         * doc/md.texi (reload_in/out): Document restrictions in predicates
10214         and constraints for these patterns.  Document empty string matching
10215         ALL_REGS.
10216
10217 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10218
10219         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
10220
10221 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
10222
10223         * cse.c: Undo my previous patch.
10224
10225 2001-07-18  Tom Tromey  <tromey@redhat.com>
10226
10227         For PR java/2812:
10228         * configure: Rebuilt.
10229         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
10230         instead.
10231         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
10232
10233 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
10234                                 Jan Hubicka  <jh@suse.cz>
10235
10236         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
10237         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
10238         * jump.c (mark_jump_label): Do not forward branches.
10239
10240 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
10241
10242         * cse.c (delete_trivially_dead_insns): Delete the libcall block
10243         when return value is unused.
10244
10245 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
10246
10247         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
10248
10249 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
10250
10251         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
10252         on error.  We can't blindly return the result of
10253         pthread_mutex_trylock because it returns a positive number on
10254         error, while we must return -1 on error.
10255         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
10256         fixes.
10257         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
10258
10259 2001-07-18  Andreas Jaeger  <aj@suse.de>
10260
10261         * integrate.c (output_inline_function): Correct type of debug_hooks.
10262
10263 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
10264
10265         * combine.c (combine_simplify_rtx): DIV can be treated
10266         associatively for floats if unsafe math optimisations are enabled.
10267
10268 2001-07-17  Richard Henderson  <rth@redhat.com>
10269
10270         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
10271
10272 2001-07-17  Richard Henderson  <rth@redhat.com>
10273
10274         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
10275         don't force the function address into a register.
10276         (expand_call, emit_library_call_value_1): Update callers.
10277         * builtins.c (expand_builtin_apply): Likewise.
10278         * expr.h (prepare_call_address): Update decl.
10279
10280 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
10281
10282         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
10283         config directory.
10284         * config/i386/chorus.h: Move up.
10285         * config/sparc/chorus.h: Likewise.
10286         * config/rs6000/chorus.h: Likewise.
10287         * config/chorus.h: Moved here.
10288
10289 2001-07-17  Andreas Schwab  <schwab@suse.de>
10290
10291         * configure.in  (assembler eh_frame optimization): Handle big
10292         endian.
10293         * configure: Regenerated.
10294
10295 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
10296
10297         * expr.c (epxand_expr): Convert divisions into multiplications by
10298         reciprocals if -ffast-math.
10299
10300 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
10301
10302         * dbxout.c (dbxout_really_begin_function): Rename to
10303         dbxout_begin_function.
10304         (dbx_debug_hooks, xcoff_debug_hooks): Update.
10305         (dbxout_begin_function): Remove.
10306         (dbxout_function): Update.
10307         (dbxout_source_line): Update prototype.
10308         * dbxout.h (dbxout_begin_function): Remove.
10309         * debug.c (do_nothing_debug_hooks): Update.
10310         (debug_nothing_tree): Update.
10311         (debug_nothing_charstar_rtx): Remove.
10312         * debug.h (union tree_node): Declare.
10313         (struct rtx_def): Remove.
10314         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
10315         begin_function.  Change source_line prototype.
10316         (debug_nothing_tree): New.
10317         (debug_nothing_charstar_rtx): Delete.
10318         (dwarf2out_begin_prologue): Moved from ...
10319         * tree.h: ... here.
10320         * dwarf2out.c (dwarf2_debug_hooks): Update.
10321         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
10322         debug info, call dwarf2out_source_line.
10323         (dwarf2out_souce_line): Update prototype.
10324         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
10325         Change prototype, make static.
10326         (dwarfout_source_line): Update prototype.
10327         (dwarf_debug_hooks): Update.
10328         * dwarfout.h (dwarfout_begin_function): Remove.
10329         * final.c (final_start_function, final_scan_insn): Use appropriate
10330         debug hooks, update to use notice_source_line.
10331         (output_source_line): Rename notice_source_line.  Don't call the
10332         source_line debug hook.
10333         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
10334         make static, update prototype.
10335         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
10336         prototype.
10337         (sdbout_end_prologue): New.
10338         (sdbout_source_line): Update prototype.
10339         (sdbout_debug_hooks): Update.
10340         (sdbout_symbol): Remove unused var.
10341         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
10342         Delete.
10343         * varasm.c: Include debug.h.
10344         (assemble_start_function): Use begin_function debug_hook.
10345         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
10346         update with prototype.
10347         (xcoffout_source_line): Update prototype.
10348         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
10349         update prototype.
10350         (xcoffout_source_line): Update prototype.
10351
10352 2001-07-17  Richard Henderson  <rth@redhat.com>
10353
10354         * c-typeck.c (build_binary_op): Do not shorten unsigned
10355         right shift after sign extension.
10356
10357 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
10358
10359         * combine.c (combine_simplify_rtx): Attempt to simplify
10360         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
10361
10362         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
10363         (simplify_binary_operation, simplify_unary_operation,
10364          simplify_relational_operation): Use it.
10365
10366         * combine.c (combine_simplify_rtx): Don't do associative law
10367         on divisions; allow associative law on floats.
10368
10369 2001-07-17  H.J. Lu <hjl@gnu.org>
10370             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10371
10372         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
10373         ASM_OUTPUT_WEAK_ALIAS are defined.
10374         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
10375         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
10376         Moved ...
10377         * config/mips/iris5.h: ... here.
10378         (HANDLE_SYSV_PRAGMA): Defined as 1.
10379         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
10380         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
10381         symbol.
10382
10383 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
10384
10385         * c-parse.in (all_prefix_attributes): New variable.
10386         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
10387         (maybe_resetattrs): New production.
10388         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
10389         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
10390         notype_initdcl, nested_function, notype_nested_function,
10391         component_decl, components, components_notype,
10392         component_declarator, component_notype_declarator,
10393         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
10394         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
10395         after a comma being applied to more than one declarator.
10396         * doc/extend.texi (Attribute Syntax): Update.  Remove
10397         documentation of bugs that are no longer present.
10398
10399 2001-07-13  Eric Christopher  <echristo@redhat.com>
10400
10401         * config/mips/mips.h: Change TUNE_MIPS* options to use
10402         mips_tune.
10403         (EXTRA_SPECS): Add cc1_cpu_spec.
10404         * config/mips/mips.md (muldf3): Fix typo.
10405
10406 2001-07-16  Richard Henderson  <rth@redhat.com>
10407
10408         * config/m68k/m68k.c: Include expr.h and reload.h.
10409         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
10410         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
10411
10412 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
10413             Richard Henderson  <rth@redhat.com>
10414
10415         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
10416         (insn_live_p): Fix fall off end of function.
10417         (dead_libcall_p): Remove COUNTS argument; update callers.
10418         (delete_trivially_dead_insns): Remove unused variables.
10419
10420 2001-07-17  Andreas Jaeger  <aj@suse.de>
10421
10422         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
10423         x86-64 pic support.
10424
10425         * lcm.c (optimize_mode_switching): Avoid warning for unused
10426         variable if !NORMAL_MODE.
10427
10428         * flow.c (try_crossjump_to_edge): Remove unused variable.
10429
10430 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10431
10432         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
10433         atexit declaration in stdlib.h.
10434
10435 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
10436
10437         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
10438
10439 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
10440
10441         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
10442         * except.c (finish_eh_generation): Update call of cleanup_cfg;
10443         do rebuild_jump_labels instead of jump_optimize
10444         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
10445         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
10446         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
10447
10448         * flow.c: Include timevar.h
10449         (find_basic_block): Push/pop timevar;
10450         (cleanup_cfg): Likewise.
10451         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
10452         * Makefile: Add dependencies on timevar.h
10453
10454         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
10455         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
10456
10457         * rtl.h (delete_trivially_dead_insns): Add new parameter.
10458         * toplev.c (rest_of_compilation): Update calls.
10459         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
10460         (delete_trivially_dead_insns): ... here; accept new argument
10461         preserve_basic_blocks; preserve basic blocks if set.
10462
10463         * reg-stack.c (stack_regs_mentioned): Return 0 if
10464         stack_regs_mentioned_data is not initialized.
10465         (reg_to_stack): Make stack_regs_mentioned survive after the
10466         reg-stack is completted; do not call cleanup_cfg.
10467         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
10468         make cleanup_cfg after bb-reorder to output to debug file.
10469
10470 2001-07-16  Richard Henderson  <rth@redhat.com>
10471
10472         * regclass.c (init_reg_sets): Use only 32 bits per initializer
10473         from int_reg_class_contents.
10474
10475 2001-07-16  Richard Henderson  <rth@redhat.com>
10476
10477         * hard-reg-set.h (regs_invalidated_by_call): Declare.
10478         * regclass.c (regs_invalidated_by_call): Move from cse.c.
10479         (init_reg_sets_1): Move initialization from cse_main.
10480         * cse.c (regs_invalidated_by_call): Move to regclass.c.
10481         (cse_main): Move its initialization also.
10482         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
10483         * flow.c (propagate_one_insn): Likewise.
10484         * gcse.c (compute_hash_table): Likewise.
10485         (compute_kill_rd, compute_store_table): Likewise.
10486         * sched-deps.c (sched_analyze_1): Likewise.
10487
10488 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
10489
10490         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
10491         gen_rtx_SET.
10492
10493 2001-07-16  Steve Ellcey <sje@cup.hp.com>
10494
10495         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
10496         in if statement so we don't access undefined memory.
10497
10498 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
10499
10500         * gcse.c: Update comment at top.
10501         Update comment on mem handling.
10502         mem_last_set, mem_first_set, mem_set_in_block: gone.
10503         Declaration of reg_set_info: gone.
10504         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
10505         pointless with load_killed_in_block_p (they are *more*
10506         conservative then it, not less, and less accurate).
10507         (oprs_not_set_p): Ditto.
10508         (alloc_gcse_mem): Don't allocate mem_set_in_block
10509         (free_gcse_mem): Don't free it, either.
10510         (record_last_mem_set_info): Update comment in front, remove
10511         mem_*set_* stuff. Note the reason we don't handle stores directly
10512         here.
10513         (compute_hash_table): Update comments to reflect reality. Remove
10514         mem_*set_* references.
10515         (reset_opr_set_tables): Remove mem_*set_* references.
10516         (mark_call): Ditto.
10517         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
10518         (mark_clobber): Ditto (on both parts, we double set here too).
10519         (expr_killed_p): Remove mem_set_in_block test.
10520         (compute_transp): Remove mem_set_in_block test.
10521
10522         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
10523         of edge, and removal of phi alternative to dump file.
10524         (ssa_ccp_substitute_constants): Add note about register now being
10525         constant, and which uses were replaced in what insns to dump file.
10526
10527 2001-07-16  Andreas Jaeger  <aj@suse.de>
10528
10529         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
10530         variables of type HOST_WIDEST_INT.
10531
10532         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
10533         (__bb_exit_func): Correct type of count_max to avoid overflow.
10534         (num_digits): Handle long long argument.
10535
10536         * combine.c (gen_lowpart_for_combine): Remove unused variable.
10537
10538 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10539
10540         * output.h (sdb_begin_function_line): Restore as an extern
10541         variable.
10542         * sdbout.c (sdb_begin_function_line): Make extern.
10543
10544 2001-07-15  Richard Henderson  <rth@redhat.com>
10545
10546         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
10547         * genrecog.c (maybe_both_true_mode): New.
10548         (maybe_both_true_2): Use it.
10549         (write_switch): Don't put Pmode in a switch.
10550         * rtl.c (mode arrays): Don't explicitly size them.
10551
10552 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
10553
10554         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
10555         handling; move unconditional splitting before mode switching.
10556
10557         * i386.md (type): Add fistp type.
10558         (i387, length_attr, scheduling definitions): Handle this type.
10559         (fix_trunc?f?i2): Revamp to use mode switching.
10560         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
10561         * i386.h (fp_cw_mode): New enum
10562         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
10563         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
10564
10565 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10566
10567         * Makefile.in (integrate.o): Add debug.h.
10568         * integrate.c (debug.h): Add.
10569         (output_inline_function): Save, reset, and restore debug_hooks.
10570
10571 2001-07-15  Richard Henderson  <rth@redhat.com>
10572
10573         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
10574         instead of COMPARE for the EQUIV expression.
10575
10576 2001-07-15  Richard Henderson  <rth@redhat.com>
10577
10578         * flow.c (redirect_edge_and_branch_force): Initialize
10579         global_live_at_start and global_live_at_end.
10580         (allocate_bb_life_data): Export.
10581         * basic-block.h (allocate_bb_life_data): Declare.
10582         * toplev.c (rest_of_compilation): Call it.
10583
10584 2001-07-15  Richard Henderson  <rth@redhat.com>
10585
10586         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
10587         (alpha_tablejump_best_label): New.
10588         * config/alpha/alpha-protos.h: Declare them.
10589         * config/alpha/alpha.md: Use braced strings for code blocks.
10590         (tablejump_osf): Break out add with r29.
10591         (tablejump_osf_internal): Remove.
10592         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
10593         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
10594
10595 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
10596
10597         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
10598         of the movable.
10599
10600         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
10601
10602         * i386-protos.h (ix86_split_fp_branch): Update prototype.
10603         (ix86_fp_jump_nontrivial_p): New.
10604         * i386.md (fp_jcc_?): Update call of split_fp_branch;
10605         use ix86_fp_jump_nontrivial_p.
10606         * i386.c (ix86_fp_jump_nontrivial_p): New.
10607         (ix86_split_fp_branch): Accept code instead of rtx.
10608         (ix86_expand_compare): Expand comparison early in case
10609         doing so is resonably cheap.
10610
10611 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
10612
10613         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
10614         not 'machine'.
10615         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
10616         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
10617
10618 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10619
10620         * dbxout.c (dbxout_source_line): Make static, update prototype.
10621         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
10622         (dbxout_init, dbxout_finish, dbxout_source_line,
10623         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
10624         * dbxout.h (dbxout_source_line): Delete.
10625         * debug.c (debug_nothing_file, debug_nothing_file_int,
10626         debug_nothing_file_charstar_rtx): New.
10627         (do_nothing_debug_hooks): Update.
10628         (debug_nothing_void, debug_nothing_charstar_rtx,
10629         dwarf2out_end_epilogue): New.
10630         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
10631         * debug.h (struct rtx_def): Declare.
10632         (gcc_debug_hooks): New hooks source_line, end_epilogue
10633         and end_function.
10634         (debug_nothing_void, debug_nothing_charstar_rtx,
10635         dwarf2out_end_epilogue): New.
10636         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
10637         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
10638         (dwarf2_debug_hooks): Update.
10639         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
10640         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
10641         * dwarf2out.h (dwarf2out_source_line): Remove.
10642         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
10643         Make static, update prototype.
10644         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
10645         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
10646         (dwarf_debug_hooks): Update.
10647         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
10648         dwarfout_end_function): Remove.
10649         * final.c (profile_function): Use debug hooks for ending functions
10650         and epilogues.
10651         (output_source_line, final_end_function): Update prototype,
10652         use debug hooks.
10653         (final_start_function, final_scan_insn): Update.
10654         * output.h (sdb_begin_function_line): Remove.
10655         (final_end_function): Update prototype.
10656         * sdbout.c (sdb_begin_function_line): Make static.
10657         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
10658         (sdbout_source_line): New.
10659         (sdbout_end_epilogue, sdbout_end_function): Make static, update
10660         prototypes.
10661         (sdb_debug_hooks): Update.
10662         (sdbout_init, sdbout_source_line,
10663         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
10664         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
10665         * toplev.c (compile_file, rest_of_compilation): Update.
10666         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
10667         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
10668         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
10669         Update for prototype changes.
10670         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
10671         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
10672
10673 2001-07-15  Richard Henderson  <rth@redhat.com>
10674
10675         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
10676         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
10677         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
10678         * config/alpha/alpha.c: Likewise.
10679         * config/alpha/alpha.md: Likewise.
10680         * config/alpha/alpha32.h: Likewise.
10681         * config/alpha/vms.h: Likewise.
10682         (OPEN_VMS): Remove.
10683
10684 2001-07-14  Richard Henderson  <rth@redhat.com>
10685
10686         * config/alpha/alpha.md: Use define_constants for unspec values.
10687         Substitute throughout.
10688
10689 2001-07-14  Tim Josling  <tej@melbpc.org.au>
10690
10691         * tree.def (EXPON_EXPR) remove. Never supported anyway.
10692
10693 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10694
10695         * pa.md: Remove unused constraints from define_split's.
10696
10697 2001-04-14  Richard Henderson  <rth@redhat.com>
10698
10699         * ifcvt.c (find_cond_trap): Test for exit block.
10700
10701 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
10702
10703         Re-install recently reverted patch.
10704         * emit-rtl.c (try_split): Update mark_jump_label call.
10705         * flow.c (find_sub_basic_blocks): Likewise.
10706         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
10707         jump_back_p): Kill.
10708         (mark_all_labels): Kill second parameter.
10709         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
10710         (rebuild_jump_labels, jump_optimize_minimal): Update call
10711         of jump_optimize_1.
10712         (jump_optimize_1): Kill crossjumping code.
10713         (mark_jump_label): Kill cross_jump parameter.
10714         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
10715         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
10716         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
10717          splitting.
10718         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
10719         DFI_bpro.
10720         (dump_file_info): Likewise.
10721         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
10722         reorganize passes to do reg-stack first, bb-reorder second.
10723         * invoke.texi (-d letters doc): Remove the jump2 pass.
10724
10725 2001-07-14  Richard Henderson  <rth@redhat.com>
10726
10727         * ifcvt.c (find_cond_trap): New.
10728         (find_if_header): Call it.
10729         (merge_if_block): Relax existing jump sanity check.
10730         * jump.c (jump_optimize_1): Remove conditional trap handling.
10731
10732 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
10733
10734         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
10735         millicode.
10736         (insn_refs_are_delayed): Correct comment.
10737         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
10738         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
10739         instead of r31.  Make associated insn !TARGET_64BIT, and
10740         provide an additional 64-bit insn that clobbers r2.
10741         (divsi3): Likewise.
10742         (udivsi3): Likewise.
10743         (modsi3): Likewise.
10744         (umodsi3): Likewise.
10745
10746 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
10747
10748         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
10749
10750         * flow.c (redirect_edge_and_branch_force, split_edge,
10751         try_crossjump_to_edge): Use set_block_for_new_insns.
10752         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
10753
10754 2001-07-13  H.J. Lu  (hjl@gnu.org)
10755
10756         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
10757         the correct patch.
10758
10759 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
10760
10761         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
10762
10763 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
10764
10765         * c-common.c (decl_attributes): Take a pointer to the node to
10766         which attributes are to be attached, and a flags argument.
10767         * c-common.h (enum attribute_flags): New.
10768         (decl_attributes): Update prototype.
10769         * c-decl.c (start_decl, push_parm_decl, finish_struct,
10770         finish_enum, start_function): Update calls to decl_attributes.
10771         * c-parse.in (component_declarator, component_notype_declarator,
10772         label): Update calls to decl_attributes.
10773
10774 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
10775
10776         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
10777         * config/avr/avr.c (legitimate_address_p): Return value changed
10778         from letter to register classes. For better debugging.
10779
10780 2001-07-13  Kazu Hirata  <kazu@hxi.com>
10781
10782         * jump.c (reversed_comparison_code_parts): Fix comment typos.
10783
10784 2001-07-13  H.J. Lu  (hjl@gnu.org)
10785
10786         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
10787
10788 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
10789
10790         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
10791         correctly for shared configurations.
10792         * config/t-libgcc-pic:  New.
10793         * config/{i386,m68k,sparc}/t-openbsd:  New.
10794         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
10795         Support -shared.  Support debugging libraries with -g.
10796         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
10797         frame information does not emit pointer diffs.
10798         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
10799         emit pointer diffs.
10800
10801 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
10802
10803         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
10804
10805 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
10806
10807         * combine.c (try_combine): Ensure const_int pow2 is positive.
10808
10809 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
10810
10811         * config.gcc: Add configuration for s/390.
10812         * config/s390/s390.c: New. Subroutines for code generation.
10813         * config/s390/s390.h: New. Definitions for s/390.
10814         * config/s390/s390-protos.h: New. Prototypes.
10815         * config/s390/linux.h: New. Definitions for linux for s/390.
10816         * config/s390/linux64.h: New. Definitions for linux for zSeries.
10817         * config/s390/t-linux: New. Makefile fragment.
10818         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
10819         * config/s390/fixdfdi.h: New. Fix L_fix*di.
10820
10821 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
10822
10823         * emit-rtl.c (try_split): Update mark_jump_label call.
10824         * flow.c (find_sub_basic_blocks): Likewise.
10825         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
10826         jump_back_p): Kill.
10827         (mark_all_labels): Kill second parameter.
10828         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
10829         (rebuild_jump_labels, jump_optimize_minimal): Update call
10830         of jump_optimize_1.
10831         (jump_optimize_1): Kill crossjumping code.
10832         (mark_jump_label): Kill cross_jump parameter.
10833         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
10834         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
10835         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
10836          splitting.
10837         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
10838         DFI_bpro.
10839         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
10840         reorganize passes to do reg-stack first, bb-reorder second.
10841         * invoke.texi (-d letters doc): Remove the jump2 pass.
10842
10843 2001-07-12  Steve Ellcey <sje@cup.hp.com>
10844
10845         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
10846
10847 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
10848
10849         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
10850         basic blocks.
10851         (verify_flow_info): Make diagnostics prettier.
10852
10853 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
10854
10855         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
10856
10857         * flow.c (outgoing_edges_match): Return early if condition reversal
10858         failed.
10859
10860 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
10861
10862         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
10863         (mips_move_2words): When splitting a move into two instructions,
10864         prefix the second address operand with '%D'.
10865
10866 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
10867
10868         * Makefile.in (final.o): Depend on debug.h.
10869         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
10870         (dbx_debug_hooks): Add new hooks.
10871         (xcoff_debug_hooks): New.
10872         * debug.c (debug_nothing_file_int_int): New.
10873         (do_nothing_debug_hooks): Update.
10874         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
10875         (debug_nothing_file_int_int): New.
10876         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
10877         static, update prototype.
10878         (dwarf2_debug_hooks): Update.
10879         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
10880         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
10881         static, update prototype.
10882         (dwarf_debug_hooks): Update.
10883         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
10884         * final.c: Include debug.h.
10885         (final_scan_insn): Use debug hooks when beginning and ending blocks.
10886         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
10887         static, update prototype.
10888         (sdb_debug_hooks): Update.
10889         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
10890         * toplev.c: Distinguish between xcoff and dbx.
10891
10892         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
10893         Call all debug hooks, not just dwarf ones.
10894
10895 2001-07-11  Timothy Wall  <twall@redhat.com>
10896
10897         * config.gcc: Add configuration for AIX5/IA64.
10898         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
10899         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
10900         support prefix/suffix code.
10901         * config/ia64/t-aix: New.  Makefile fragment.
10902         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
10903
10904 2001-07-11  Kazu Hirata  <kazu@hxi.com>
10905
10906         * recog.c (validate_change): Fix a comment typo.
10907
10908 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
10909
10910         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
10911         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
10912         hooks directly.
10913         * dbxout.c (dbx_debug_hooks): Add new hooks.
10914         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
10915         make static.
10916         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
10917         make static.
10918         * dbxout.h (dbxout_start_new_source_file,
10919         dbxout_resume_previous_source_file): Delete.
10920         * debug.c (do_nothing_debug_hooks): Add new hooks.
10921         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
10922         (debug_nothing_int_charstar, debug_nothing_int): New.
10923         * debug.h (gcc_debug_hooks): New hooks define, undef,
10924         start_source_file and end_source_file.
10925         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
10926         (debug_nothing_int_charstar, debug_nothing_int): New.
10927         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
10928         the conditionally compiled section.
10929         (dwarf2out_start_source_file, dwarf2out_end_source_file,
10930         dwarf2out_define, dwarf2out_undef): Make static.
10931         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
10932         dwarf2out_define, dwarf2out_undef): Remove.
10933         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
10934         (dwarfout_start_source_file, dwarfout_end_source_file,
10935         dwarfout_define, dwarfout_undef): Make static.
10936         (dwarfout_start_source_file_check,
10937         dwarfout_end_source_file_check): New.
10938         (dwarfout_define, dwarfout_finish): Update.
10939         * dwarfout.h (dwarfout_start_new_source_file,
10940         dwarfout_resume_previous_source_file, dwarfout_define,
10941         dwarfout_undef): Remove.
10942         * sdbout.c (sdb_debug_hooks): Add new hooks.
10943         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
10944         make static.
10945         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
10946         make static, take an arg.
10947         * sdbout.h (sdbout_start_new_source_file,
10948         sdbout_resume_previous_source_file): Delete.
10949         * toplev.c (debug_start_source_file, debug_end_source_file,
10950         debug_define, debug_undef): Delete.
10951         * toplev.h (debug_start_source_file, debug_end_source_file,
10952         debug_define, debug_undef): Delete.
10953
10954         * java/jcf-parse.c: Include debug.h.
10955         (parse_class_file): Update to use debug hooks directly.
10956         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
10957
10958 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10959
10960         * alias.c (set_mem_alias_set): New function.
10961         * rtl.h (set_mem_alias_set): Declare it.
10962         * builtins.c (expand_builtin_return_addr): Call it instead of
10963         using MEM_ALIAS_SET accessor.
10964         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
10965         (get_memory_rtx, expand_builtin_va_arg): Likewise.
10966         (expand_builtin_va_copy):Likewise.
10967         * caller-save.c (setup_save_areas): Likewise.
10968         * calls.c (compute_argument_addresses): Likewise.
10969         * explow.c (set_mem_attributes): Likewise.
10970         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
10971         (expand_assignment, store_constructor_field, store_field): Likewise.
10972         (expand_expr_unaligned): Likewise.
10973         * function.c (assign_stack_temp_for_type): Likewise.
10974         (put_reg_into_stack, gen_mem_addressof): Likewise.
10975         * ifcvt.c (noce_try_cmove_arith): Likewise.
10976         * reload1.c (reload, alter_reg): Likewise.
10977         * config/alpha/alpha.c (get_aligned_mem): Likewise.
10978         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
10979         (alpha_expand_unaligned_store): Likewise
10980         (alpha_expand_unaligned_load_words): Likewise.
10981         (alpha_expand_unaligned_store_words): Likewise.
10982         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
10983         (alpha_expand_epilogue): Likewise.
10984         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
10985         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
10986         * config/i386/i386.c (legitimize_pic_address): Likewise.
10987         * config/i960/i960.c (setup_incoming_varargs): Likewise.
10988         * config/ia64/ia64.c (spill_restore_mem): Likewise.
10989         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
10990         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
10991         * config/mips/mips.c (mips_va_arg): Likewise.
10992         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
10993         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
10994         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
10995         (setup_incoming_varargs, rs6000_va_arg): Likewise.
10996         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
10997         (rs6000_emit_epilogue): Likewise.
10998         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
10999         * config/sparc/sparc.c (sparc_va_arg): Likewise.
11000         * config/v850/v850.c (v850_va_arg): Likewise.
11001
11002 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
11003
11004         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
11005         when fallthru edge is present.
11006         (mege_blocks): Handle case where creation of jump insn
11007         is required.
11008
11009         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
11010         CLEANUP_POST_REGSTACK): New constants.
11011         * except.c (finish_eh_generation): Update call of cleanup_cfg,
11012         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
11013         * output.h (cleanup_cfg): Update prototype.
11014         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
11015         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
11016         cleanup_cfg call; kill missleading comment.
11017         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
11018         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
11019         parameter; control optimizations performed using it.
11020         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
11021         try_crossjump_bb): New functions.
11022
11023 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11024
11025         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
11026         extern.
11027         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
11028         pa_output_function_prologue.
11029         * pa-protos.h (pa_output_function_prologue): New prototype.
11030
11031 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11032
11033         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
11034         and low to get correct sign extension in low+high test.
11035
11036 2001-07-11  Janis Johnson <janis@us.ibm.com>
11037
11038         * gcov.c (arcdata): Use gcov_type to fix branch percentage
11039         for large hit count.
11040
11041         * profile.c (branch_prob): Fix .bbg info for computed gotos
11042         and C++ EH code.
11043
11044 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
11045
11046         * stmt.c (parse_output_constraint): New function, split out
11047         from ...
11048         (expand_asm_operands): ... here.  Use parse_output_constraint.
11049         * tree.h (parse_output_constraint): Declare it.
11050
11051 2001-07-11  Richard Henderson  <rth@redhat.com>
11052
11053         * bitmap.c: Comment some functions; fiddle whitespace.
11054         (bitmap_free): Don't export.
11055         (bitmap_element_allocate): Use memset.
11056         * bitmap.h (bitmap_free): Don't declare.
11057
11058 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
11059
11060         * gcse.c, lcm.c, sched-deps.c:
11061         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
11062
11063         * flow.c (flow_loops_find): Free dom if we found no loops, since
11064         we aren't going to save it.
11065
11066         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
11067         done.
11068
11069 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
11070
11071         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
11072
11073 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11074
11075         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
11076         #ifndef DWARF2_DEBUGGING_INFO.
11077
11078 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
11079
11080         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
11081
11082 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
11083
11084         * config/mips/mips.c (gen_int_relational): Tell the caller not to
11085         reverse a branch if a NE comparison is implemented with GTU.
11086
11087 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
11088             H.J. Lu  <hjl@gnu.org>
11089
11090         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
11091         constant addresses.
11092         (call_internal2): Likewise.
11093         (call_value_internal1): Likewise.
11094         (call_value_internal2): Likewise.
11095         (call_value_multiple_internal1): Likewise.
11096         (call_value_multiple_internal2): Likewise.
11097
11098 2001-07-10  Kazu Hirata  <kazu@hxi.com>
11099
11100         * calls.c (emit_library_call_value_1): Fix a comment typo.
11101         * dwarf2out.c (mem_loc_descriptor): Likewise.
11102         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
11103
11104 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
11105
11106         * simplify-rtx.c (simplify_subreg): Fix typo in comment
11107
11108 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11109
11110         * recog.c (offsettable_address_p): Handle LO_SUM case.
11111         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
11112         instead of plus_constant.
11113
11114 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11115
11116         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
11117         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
11118
11119 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11120
11121         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
11122         adjust_address_nv instead of plus_constant.
11123
11124 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
11125
11126         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
11127         dwarf2out.o): Depend on debug.h, wrap long lines.
11128         * dbxout.c: Include debug.h.
11129         (dbx_debug_hooks): New.
11130         (dbxout_init): Make static, take just 2 args.
11131         (dbxout_finish): Make static.
11132         * dbxout.h (dbxout_init, dbxout_finish): Delete.
11133         * debug.c: New file.
11134         * debug.h: New file.
11135         * dwarf2out.c: Include debug.h.
11136         (dwarf2_debug_hooks): New.
11137         (dwarf2out_init): Make static.
11138         (dwarf2out_finish): Make static, take 2 args.
11139         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
11140         * dwarfout.c: Include debug.h.
11141         (dwarf_debug_hooks): New.
11142         (dwarfout_init): Make static.
11143         (dwarfout_finish): Make static, take 2 args.
11144         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
11145         * sdbout.c: Include debug.h.
11146         (sdb_debug_hooks): New.
11147         (sdbout_init): Make static, take 2 args.
11148         * sdbout.h (sdbout_init): Delete.
11149         * toplev.c: Include debug.h.
11150         (debug_hooks): New.
11151         (compile_file): Set deubg_hooks based on command line options.
11152         Use the hooks unconditionally rather than conditional compilation.
11153
11154 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
11155
11156         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
11157         first_insn_after_basic_block_note instead.
11158
11159         * df.c (df_bb_refs_unlink): #if 0 out for now.
11160
11161 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
11162
11163         * ssa.h: Add prototype for ssa_const_prop
11164         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
11165         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
11166         (ssa_fast_dce): Remove unused variable
11167
11168 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
11169
11170         * diagnostic.c (finish_diagnostic): Rename to
11171         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
11172         calls thourghout.
11173
11174 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
11175
11176         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
11177         .loc support.
11178
11179         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
11180         (dump_file): Only pad the demangled name with spaces if the
11181         mangled name was padded with spaces.
11182
11183 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
11184
11185         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
11186         edge detection.
11187
11188 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11189
11190         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
11191         extraction if no direct load if either EXPAND_CONST_ADDRESS or
11192         EXPAND_INITIALIZER.
11193
11194         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
11195         whether can put offset inside LO_SUM to check mode alignment, not size.
11196
11197 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
11198
11199         * doc/tm.texi (Misc): Fix thinko.
11200
11201 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
11202
11203         * regmove.c (replace_in_call_usage): Fix warnings.
11204         * sched-deps.c (add_dependence): Fix warnings.
11205         * simplify-rtx.c (simplify_subreg): Likewise.
11206         Return NULL_RTX instead of NULL.
11207
11208         * reg-stack.c (emit_swap_insn): Eliminate warnings.
11209         (subst_asm_stack_regs): Likewise.
11210
11211         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
11212         warnings.
11213
11214         * dwarf2out.c (output_call_frame_info): Declare i as int.
11215         (build_abbrev_table): Declare n_alloc as int.
11216         (dwarf2out_finish): Initialize die.
11217         * except.c: Declare sjlj_funcdef_number as unsigned.
11218         (connect_post_landing_pads): Declare j as unsigned.
11219         (convert_to_eh_region_ranges): Initialize call_site.
11220         (output_function_exception_table): Initialize tt_format_size.
11221         * expr.c (move_by_pieces_1): Initialize to1.
11222         (store_constructor): Initialize minelt and maxelt.
11223         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
11224         * function.c (instantiate_decls): Avoid signed/unsigned warning.
11225
11226         * c-decl.c (combine_parm_decls): Unused, remove.
11227         * c-tree.h: Remove prototype for combine_parm_decls.
11228
11229         * reload.c (push_reload): Fix warning.
11230         (regno_clobbered_p): Likewise.
11231         * reload1.c (replace_pseudos_in_call_usage): Likewise.
11232         (reload_combine): Likewise.
11233
11234         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
11235         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
11236         warnings.
11237         * bitmap.c (bitmap_operation): Change user.
11238         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
11239
11240 2001-07-10  Eric Christopher  <echristo@redhat.com>
11241
11242         * config/mips/mips.c (override_options): Fix typo.
11243
11244 2001-07-09  Stan Shebs  <shebs@apple.com>
11245
11246         * target.h (struct gcc_target): New fields init_builtins and
11247         expand_builtin.
11248         * target-def.h (TARGET_INIT_BUILTINS): New macro.
11249         (TARGET_EXPAND_BUILTIN): New macro.
11250         (TARGET_INITIALIZER): Add them.
11251         * builtins.c: Include target.h.
11252         (expand_builtin): Use targetm.expand_builtin.
11253         (default_init_builtins): New function.
11254         (default_expand_builtin): New function.
11255         * expr.h (default_init_builtins): Declare.
11256         (default_expand_builtin): Declare.
11257         * c-common.c (c_common_nodes_and_builtins): Use
11258         targetm.init_builtins.
11259         * defaults.h (MD_INIT_BUILTINS): Remove.
11260         * Makefile.in (builtins.o): Depend on target.h.
11261
11262         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
11263         (TARGET_EXPAND_BUILTIN): Define.
11264         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
11265         (MD_EXPAND_BUILTIN): Remove.
11266
11267         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
11268         (TARGET_EXPAND_BUILTIN): Define.
11269         (c4x_init_builtins): Make endlink arg a local.
11270         (c4x_print_operand): Fix typos in adjust_address usages.
11271         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
11272         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
11273         (MD_EXPAND_BUILTIN): Remove.
11274
11275         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
11276         (TARGET_EXPAND_BUILTIN): Define.
11277         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
11278         (ix86_init_builtins): Call new function only if TARGET_MMX.
11279         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
11280         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
11281         (MD_EXPAND_BUILTIN): Remove.
11282
11283         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
11284         (TARGET_EXPAND_BUILTIN): Define.
11285         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
11286         (MD_EXPAND_BUILTIN): Remove.
11287
11288         * doc/tm.texi: Document these changes.
11289
11290 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
11291
11292         * basic-block.h (tree_node): Forward declare if needed.
11293         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
11294         (BLOCK_HEAD_TREE): Define.
11295         (BLOCK_END_TREE): Define.
11296         (struct loops): Rename field 'tree' to 'tree_root'.
11297         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
11298         'end_tree'.
11299         (flow_loops_tree_build): Rename reference to field 'tree' to
11300         'tree_root'.
11301         (flow_loops_level_compute): Ditto.
11302         * predict.c (estimate_bb_frequencies): Ditto.
11303         * tree.h (struct tree_common): Add field 'aux'.
11304
11305 2001-07-09  Stan Shebs  <shebs@apple.com>
11306
11307         * config/darwin.c (darwin_encode_section_info): Don't mark any
11308         DECL_EXTERNAL node as defined.
11309
11310 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11311
11312         * pa.c (pa_init_machine_status, pa_mark_machine_status,
11313         pa_free_machine_status, hppa_init_pic_save): Delete.
11314         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
11315         (hppa_profile_hook): Use hppa_pic_save_rtx.
11316         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
11317         hppa_init_pic_save): Delete.
11318         (hppa_pic_save_rtx): Declare.
11319         * pa.md (call, call_value, sibcall, sibcall_value,
11320         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
11321
11322 2001-07-09  Kazu Hirata  <kazu@hxi.com>
11323
11324         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
11325         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
11326
11327 2001-07-09  Andreas Jaeger  <aj@suse.de>
11328
11329         * output.h: Add declaration of final_forward_branch_p.
11330
11331         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
11332
11333         * varray.c: Include errors.h for internal_error and trim_filename
11334         declarations.
11335
11336         * Makefile.in (varray.o): Add errors.h.
11337
11338 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
11339
11340         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
11341         * optabs.c (have_add2_insn): Check whether the add insn chosen
11342         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
11343         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
11344
11345 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
11346
11347         * Makefile.in (OBJS): Add ssa-ccp.o
11348         (ssa-ccp.o): Add dependencies.
11349         * toplev.c (DFI_ssa_ccp): New dump file enum.
11350         (dump_file): Add entry for dumping after SSA CCP.
11351         (flag_ssa_ccp): New flag variable.
11352         (f_options): Add -fssa-ccp.
11353         (rest_of_compilation): Run SSA CCP if requested.
11354         * timevar.def (TV_SSA_CCP): New timevar.
11355         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
11356         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
11357         Fix minor typo in SSA DCE documentation.
11358         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
11359         Add documentation for new dump option.  Renumber dump files
11360         appropriately.
11361
11362 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
11363
11364         * emit-rtl.c (gen_highpart_mode): New.
11365         * rtl.h (gen_highpart_mode): Declare.
11366         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
11367         operand can be VOIDmode constant.
11368
11369 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
11370
11371         * flow.c (redirect_edge_and_branch_force): New.
11372         (can_fallthru): Ensure that basic blocks are succeeding.
11373         (try_optimize_cfg): Do not delete basic block if it is the last one.
11374
11375         * flow.c (try_redirect_by_replacing_jump): Do not remove
11376         jumps with side effects, unlink chain on fallthru edge;
11377         set block for new jump instruction; avoid basic block to
11378         over by line number note.
11379
11380         * flow.c (try_simplify_condjump): Verify that the condjump
11381         is not always falling trought.
11382
11383         Re-install patch:
11384         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
11385
11386         * flow.c (forwarder_block_p): Fix for fallthru blocks.
11387         (try_redirect_by_replacing_jump): Update properly the count
11388         and frequency information.
11389
11390 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11391
11392         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
11393         address that is a LO_SUM specially.
11394         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
11395
11396         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
11397
11398         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
11399         (operand_subword): Use them.
11400         (change_address_1): Renamed from change_address; new arg VALIDATE.
11401         * expr.h: Reflect above changes; change_address now macro.
11402         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
11403         making MEM.
11404         * cselib.c (add_mem_for_addr): Likewise.
11405         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
11406         * regmove.c (try_apply_stack_adjustment): Likewise.
11407         * reload.c (push_reload, make_memloc): Likewise.
11408         * reload1.c (eliminate_regs): Likewise.
11409         * simplify-rtx.c (simplify_replace_rtx): Likewise.
11410         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
11411         adjust_addess.
11412         * combine.c (make_extraction, simplify_shift_const): Likewise.
11413         (gen_lowpart_for_combine): Likewise.
11414         * cse.c (gen_lowpart_if_possible): Likewise.
11415         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
11416         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
11417         * optabs.c (gen_move_insn): Likewise.
11418         * reload1.c (alter_reg): Likewise.
11419         * simplify-rtx.c (simplify_subreg): Likewise.
11420         * stmt.c (expand_anon_union_decl): Likewise.
11421         * recog.c (validate_replace_rtx_1): Likewise.
11422         (expr.h): Include.
11423         * Makefile.in (recog.o): Add $(EXPR_H).
11424         * explow.c (stabilize): Call replace_equiv_address.
11425         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
11426         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
11427
11428 2001-07-03  Andrew Haley  <aph@redhat.com>
11429
11430         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
11431         the mode of the memory location.
11432
11433 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
11434
11435         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
11436
11437 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
11438
11439         * final.c (output_addr_const): Use target opening and
11440         closing parentheses.
11441         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
11442         defaults, add to TARGET_ASM_OUT.
11443         * target.h (struct gcc_target): Add open_paren and close_paren.
11444         * doc/md.texi: Update.
11445         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
11446         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
11447         TARGET_ASM_CLOSE_PAREN.
11448         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
11449         Override.
11450         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
11451         Override.
11452         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
11453         * config/a29k/a29k.h: Similarly.
11454         * config/alpha/alpha.h: Similarly.
11455         * config/arc/arc.h: Similarly.
11456         * config/arm/aof.h: Similarly.
11457         * config/arm/aout.h: Similarly.
11458         * config/avr/avr.h: Similarly.
11459         * config/c4x/c4x.h: Similarly.
11460         * config/clipper/clipper.h: Similarly.
11461         * config/convex/convex.h: Similarly.
11462         * config/d30v/d30v.h: Similarly.
11463         * config/dsp16xx/dsp16xx.h: Similarly.
11464         * config/elxsi/elxsi.h: Similarly.
11465         * config/fr30/fr30.h: Similarly.
11466         * config/h8300/h8300.h: Similarly.
11467         * config/i370/i370.h: Similarly.
11468         * config/i386/i386.h: Similarly.
11469         * config/i860/i860.h: Similarly.
11470         * config/i960/i960.h: Similarly.
11471         * config/ia64/ia64.h: Similarly.
11472         * config/m32r/m32r.h: Similarly.
11473         * config/m68hc11/m68hc11.h: Similarly.
11474         * config/m68k/m68k.h: Similarly.
11475         * config/m88k/m88k.h: Similarly.
11476         * config/mcore/mcore.h: Similarly.
11477         * config/mips/mips.h: Similarly.
11478         * config/mn10200/mn10200.h: Similarly.
11479         * config/mn10300/mn10300.h: Similarly.
11480         * config/ns32k/ns32k.h: Similarly.
11481         * config/pa/pa.h: Similarly.
11482         * config/pdp11/pdp11.h: Similarly.
11483         * config/pj/pj.h: Similarly.
11484         * config/romp/romp.h: Similarly.
11485         * config/rs6000/rs6000.h: Similarly.
11486         * config/sh/sh.h: Similarly.
11487         * config/sparc/sparc.h: Similarly.
11488         * config/v850/v850.h: Similarly.
11489         * config/vax/vax.h: Similarly.
11490         * config/we32k/we32k.h: Similarly.
11491
11492 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
11493
11494         * doc/c-tree.texi: Document representation of attributes.
11495
11496 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
11497
11498         * doc/tm.texi: Update some places for the rename of target to
11499         targetm.  Fix typo.
11500
11501 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
11502
11503         * target.h (struct gcc_target): Add insert_attributes.
11504         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
11505         (TARGET_INITIALIZER): Update.
11506         * tree.c, tree.h (default_insert_attributes): New function.
11507         Update comments on other default functions to refer to targetm,
11508         not target.
11509         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
11510         TARGET_INSERT_ATTRIBUTES.
11511         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
11512         * c-common.c (decl_attributes): Use targetm.insert_attributes.
11513         Don't use PRAGMA_INSERT_ATTRIBUTES.
11514         * Makefile.in (c-common.o): Depend on $(TARGET_H).
11515         * c-decl.c (start_decl, start_function): Don't call
11516         SET_DEFAULT_DECL_ATTRIBUTES.
11517         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
11518         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
11519         declare.
11520         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
11521         (c4x_check_attribute): Avoid modifying attribute list itself.
11522         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
11523         Make static.
11524         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
11525         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
11526         declare.
11527         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
11528         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
11529         Make static.
11530         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
11531         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
11532         declare.
11533         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
11534         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
11535         Adjust parameters.  Make static.
11536
11537 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
11538
11539         * c-common.c (decl_attributes): Only take a single attributes
11540         parameter.
11541         * c-common.h (decl_attributes): Update prototype.
11542         * c-decl.c (start_decl, start_function): Only take a single
11543         attributes parameter.  Update calls to decl_attributes.
11544         (finish_struct, finish_enum): Update calls to decl_attributes.
11545         (push_parm_decl): Expect unified list of attributes.  Update call
11546         to decl_attributes.
11547         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
11548         notype_nested_function, component_declarator,
11549         component_notype_declarator, label): Update calls to
11550         decl_attributes.
11551         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
11552         lists that are passed to push_parm_decl.
11553         * c-tree.h (start_function, start_decl): Update prototypes.
11554         * config/sh/sh-protos.h, config/sh/sh.c
11555         (sh_pragma_insert_attributes): Only take a single attributes
11556         parameter.
11557         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
11558         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
11559         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
11560         build_module_descriptor, generate_static_references,
11561         generate_strings, build_selector_translation_table,
11562         generate_descriptor_table, generate_protocols,
11563         generate_ivars_list, generate_dispatch_table,
11564         generate_protocol_list, generate_category,
11565         generate_shared_structures, really_start_method, add_objc_decls,
11566         generate_classref_translation_entry): Update calls to start_decl
11567         and start_function.
11568         (build_tmp_function_decl, start_method_def): Unify attribute lists
11569         that are passed to push_parm_decl.
11570
11571 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
11572
11573         * final.c (no_asm_to_stream): New.
11574         (final_scan_insn): Use target structures for prologue ends
11575         and epilogue starts.
11576         * output.h (no_asm_to_stream): New.
11577         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
11578         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
11579         (TARGET_ASM_OUT): Update.
11580         * target.h (struct gcc_target): New members function_end_prologue
11581         and function_begin_epilogue.
11582         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
11583         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
11584         * config/alpha/alpha.c (output_end_prologue): Rename to
11585         alpha_output_function_end_prologue.  Use in target struct
11586         and make static.
11587         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
11588         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
11589         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
11590         ia64_output_function_end_prologue.  Use in target struct
11591         and make static.
11592         (ia64_function_prologue, ia64_funciton_epilogue): Rename
11593         mistyped prototypes.
11594         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
11595         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
11596         Delete.
11597         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
11598         an use in target struct, make static.
11599         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
11600         Delete.
11601
11602 2001-07-08  Richard Henderson  <rth@redhat.com>
11603
11604         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
11605
11606 2001-07-08  Richard Henderson  <rth@redhat.com>
11607
11608         * config/i386/i386.md: Remove constraints strings from define_split
11609         and define_peephole2 patterns.
11610         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
11611         (eh_return): Use them.
11612
11613 2001-07-08  Richard Henderson  <rth@redhat.com>
11614
11615         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
11616         Document MD_FALLBACK_FRAME_STATE_FOR.
11617
11618 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11619
11620         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
11621         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
11622         elimination.
11623         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
11624
11625 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
11626
11627         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
11628         of the label inside NAME as opposed to just the end of NAME.
11629
11630 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
11631
11632         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
11633         * config/alpha/alpha.c (alpha_init_machine_status,
11634         alpha_mark_machine_status, alpha_free_machine_status): Delete.
11635         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
11636         (vms_valid_decl_attribute_p): Make static, conditionally compile.
11637         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
11638
11639 2001-07-06  Stan Shebs  <shebs@apple.com>
11640
11641         * target.h (targetm): Rename global from "target", so as not to
11642         conflict with local variables.
11643         * c-decl.c: Ditto.
11644         * c-typeck.c: Ditto.
11645         * final.c: Ditto.
11646         * tree.c: Ditto.
11647         * cp/decl.c: Ditto.
11648         * cp/decl2.c: Ditto.
11649         * cp/typeck.c: Ditto.
11650         * 1750a/1750a.c: Ditto.
11651         * a29k/a29k.c: Ditto.
11652         * arc/arc.c: Ditto.
11653         * arm/arm.c: Ditto.
11654         * avr/avr.c: Ditto.
11655         * clipper/clipper.c: Ditto.
11656         * convex/convex.c: Ditto.
11657         * d30v/d30v.c: Ditto.
11658         * dsp16xx/dsp16xx.c: Ditto.
11659         * elxsi/elxsi.c: Ditto.
11660         * fr30/fr30.c: Ditto.
11661         * h8300/h8300.c: Ditto.
11662         * i370/i370.c: Ditto.
11663         * i386/i386.c: Ditto.
11664         * i860/i860.c: Ditto.
11665         * i960/i960.c: Ditto.
11666         * ia64/ia64.c: Ditto.
11667         * m32r/m32r.c: Ditto.
11668         * m68hc11/m68hc11.c: Ditto.
11669         * m68k/m68k.c: Ditto.
11670         * m88k/m88k.c: Ditto.
11671         * mips/mips.c: Ditto.
11672         * ns32k/ns32k.c: Ditto.
11673         * pa/pa.c: Ditto.
11674         * pdp11/pdp11.c: Ditto.
11675         * romp/romp.c: Ditto.
11676         * rs6000/rs6000.c: Ditto.
11677         * sh/sh.c: Ditto.
11678         * sparc/sparc.c: Ditto.
11679         * vax/vax.c: Ditto.
11680         * we32k/we32k.c: Ditto.
11681         * doc/tm.texi: Update the manual to match.
11682
11683 2001-07-06  Richard Henderson  <rth@redhat.com>
11684
11685         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
11686         DWARF2_UNWIND_INFO not just whether it is defined.
11687
11688 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
11689
11690         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
11691         call to simplify_binary_operation returns a new pattern.
11692
11693 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11694
11695         * glimits.h (__SHRT_MAX__): New.
11696         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
11697         (SHRT_MAX): Define in terms of __SHRT_MAX__.
11698
11699 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
11700
11701         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
11702         avoid warnings.
11703
11704 2001-07-06  Richard Henderson  <rth@redhat.com>
11705
11706         * bitmap.c (bitmap_release_memory): Move adjacent to the
11707         allocation functions.
11708         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
11709         the implementation.  Binary search for the set bit.
11710         (bitmap_union_of_diff): Allocate the temporary on the stack
11711         instead of using xmalloc.
11712
11713 2001-07-06  Richard Henderson  <rth@redhat.com>
11714
11715         * genrecog.c (validate_pattern): Warn for constraints in
11716         define_{expand,split,peephole2}.  Remove strict_low_part
11717         before looking up match_dup.
11718
11719 2001-07-06  DJ Delorie  <dj@redhat.com>
11720
11721         * doc/gcc.texi (Makefile): Rename to be a more general purpose
11722         chapter about various build hints and history.  Add section
11723         talking about the various types of native and cross builds.
11724
11725 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
11726
11727         * Makefile.in (final.o): Depend on target.h.
11728         * final.c: Include target.h.
11729         (default_function_pro_epilogue): New.
11730         (final_start_function): Use target structure for function prologues.
11731         (final_end_function): Use target structure for function epilogues.
11732         * fold-const.c (real_hex_to_f): Constify s and p.
11733         * output.h (default_function_pro_epilogue): New.
11734         * real.h (real_hex_to_f): Update prototype.
11735         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
11736         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
11737         (TARGET_INITIALIZER): Update.
11738         * target.h (gcc_target): Add struct asm_out.
11739         * doc/tm.texi: Update.
11740
11741 config:
11742         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
11743         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
11744         in cpu/cpu.c, or rename old functions consistently.  Take
11745         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
11746         redundant macros and prototypes.  Make new functions static.
11747
11748         * 1750a/1750a.c: Similarly.
11749         * 1750a/1750a.h: Similarly.
11750         * a29k/a29k-protos.h: Similarly.
11751         * a29k/a29k.c: Similarly.
11752         * a29k/a29k.h: Similarly.
11753         * arc/arc-protos.h: Similarly.
11754         * arc/arc.c: Similarly.
11755         * arc/arc.h: Similarly.
11756         * arm/arm-protos.h: Similarly.
11757         * arm/arm.c: Similarly.
11758         * arm/arm.h: Similarly.
11759         * avr/avr-protos.h: Similarly.
11760         * avr/avr.c: Similarly.
11761         * avr/avr.h: Similarly.
11762         * clipper/clipper-protos.h: Similarly.
11763         * clipper/clipper.c: Similarly.
11764         * clipper/clipper.h: Similarly.
11765         * convex/convex.c: Similarly.
11766         * convex/convex.h: Similarly.
11767         * d30v/d30v-protos.h: Similarly.
11768         * d30v/d30v.c: Similarly.
11769         * d30v/d30v.h: Similarly.
11770         * d30v/d30v.md: Similarly.
11771         * dsp16xx/dsp16xx-protos.h: Similarly.
11772         * dsp16xx/dsp16xx.c: Similarly.
11773         * dsp16xx/dsp16xx.h: Similarly.
11774         * elxsi/elxsi.c: Similarly.
11775         * elxsi/elxsi.h: Similarly.
11776         * fr30/fr30.c: Similarly.
11777         * fr30/fr30.md: Similarly.
11778         * h8300/h8300-protos.h: Similarly.
11779         * h8300/h8300.c: Similarly.
11780         * h8300/h8300.h: Similarly.
11781         * i370/i370-protos.h: Similarly.
11782         * i370/i370.c: Similarly.
11783         * i370/i370.h: Similarly.
11784         * i386/i386.c: Similarly.
11785         * i386/osf1elf.h: Similarly.
11786         * i386/osfrose.h: Similarly.
11787         * i860/i860-protos.h: Similarly.
11788         * i860/i860.c: Similarly.
11789         * i860/i860.h: Similarly.
11790         * i960/i960-protos.h: Similarly.
11791         * i960/i960.c: Similarly.
11792         * i960/i960.h: Similarly.
11793         * ia64/ia64-protos.h: Similarly.
11794         * ia64/ia64.c: Similarly.
11795         * ia64/ia64.h: Similarly.
11796         * m32r/m32r-protos.h: Similarly.
11797         * m32r/m32r.c: Similarly.
11798         * m32r/m32r.h: Similarly.
11799         * m68hc11/m68hc11-protos.h: Similarly.
11800         * m68hc11/m68hc11.c: Similarly.
11801         * m68hc11/m68hc11.h: Similarly.
11802         * m68k/crds.h: Similarly.
11803         * m68k/dpx2.h: Similarly.
11804         * m68k/m68k-protos.h: Similarly.
11805         * m68k/m68k.c: Similarly.
11806         * m68k/m68k.h: Similarly.
11807         * m68k/news.h: Similarly.
11808         * m88k/m88k-protos.h: Similarly.
11809         * m88k/m88k.c: Similarly.
11810         * m88k/m88k.h: Similarly.
11811         * mips/mips-protos.h: Similarly.
11812         * mips/mips.c: Similarly.
11813         * mips/mips.h: Similarly.
11814         * ns32k/merlin.h: Similarly.
11815         * ns32k/ns32k.c: Similarly.
11816         * ns32k/ns32k.h: Similarly.
11817         * ns32k/tek6000.h: Similarly.
11818         * pa/pa-protos.h: Similarly.
11819         * pa/pa.c: Similarly.
11820         * pa/pa.h: Similarly.
11821         * pdp11/2bsd.h: Similarly.
11822         * pdp11/pdp11-protos.h: Similarly.
11823         * pdp11/pdp11.c: Similarly.
11824         * pdp11/pdp11.h: Similarly.
11825         * romp/romp-protos.h: Similarly.
11826         * romp/romp.c: Similarly.
11827         * romp/romp.h: Similarly.
11828         * rs6000/rs6000-protos.h: Similarly.
11829         * rs6000/rs6000.c: Similarly.
11830         * rs6000/rs6000.h: Similarly.
11831         * rs6000/sysv4.h: Similarly.
11832         * sh/sh-protos.h: Similarly.
11833         * sh/sh.c: Similarly.
11834         * sh/sh.h: Similarly.
11835         * sparc/sparc-protos.h: Similarly.
11836         * sparc/sparc.c: Similarly.
11837         * sparc/sparc.h: Similarly.
11838         * vax/vax.c: Similarly.
11839         * vax/vax.h: Similarly.
11840         * vax/vms.h: Similarly.
11841         * we32k/we32k.c: Similarly.
11842         * we32k/we32k.h: Similarly.
11843
11844 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
11845
11846         * basic-block.h (first_insn_after_basic_block_note): Declare.
11847         * flow.c (first_insn_after_basic_block_note): Define.  Moved
11848         from...
11849         * ssa.c (first_insn_after_basic_block_note): Remove.
11850         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
11851         necessary.
11852         (ssa_eliminate_dead_code): Properly update the CFG and PHI
11853         nodes when we find a dead conditional branch.  Insert BARRIERs
11854         after any blocks with no successors, but which do not have
11855         any BARRIERs.
11856
11857 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
11858
11859         * varray.c (varray_check_failed): Use internal_error.
11860
11861 2001-07-05  Andrew Haley  <aph@redhat.com>
11862
11863         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
11864         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
11865         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
11866
11867 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
11868
11869         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
11870         reference if the target constant is also a SYMBOL_REF.
11871
11872 2001-07-05  Eric Christopher  <echristo@redhat.com>
11873
11874         * config/mips/mips.h (MASK_MIPS3900): Remove.
11875         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
11876         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
11877         (TARGET_MIPS3900): Change to use mips_arch.
11878         (TARGET_MIPS4000): New.
11879         (TARGET_MIPS4100): New.
11880         (TARGET_MIPS4300): New.
11881         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
11882         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
11883         for -mipsX.
11884         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
11885         (ISA_HAS_BRANCHLIKELY): To here.
11886         (CC1_CPU_SPEC):  New.
11887         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
11888         (mips_arch_string): Declare.
11889         (mips_arch): Declare.
11890         (TARGET_OPTIONS): Add -march and -mtune.
11891
11892         * config/mips/mips.c (mips_arch_string): New.
11893         (mips_arch): New.
11894         (override_options): Handle -march for codegen and -mtune
11895         for scheduling. Use mips_arch. Move tx39 target default here.
11896         (mips_parse_cpu): Move error message to override_options.
11897
11898         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
11899
11900         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
11901
11902         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
11903         (MIPS Options): Ditto.  Change mcpu entry to historical text.
11904
11905 2001-07-05  H.J. Lu  (hjl@gnu.org)
11906
11907         * config/mips/mips.c (mips_parse_cpu): New function to parse
11908         -march=*/-mcpu=*.
11909
11910 2001-07-05  Jim Wilson  <wilson@redhat.com>
11911
11912         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
11913         * config/ia64/t-ia64: Likewise.
11914         (LIB1ASMFUNCS): Update comment.
11915
11916 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
11917
11918         * doc/install.texi (Install GCC: Binaries): Fix typo.
11919
11920 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11921
11922         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
11923         reference using the stack pointer, adjust it since we push Y
11924         temporarily.
11925         ("*ashrsi3"): Likewise.
11926         ("*lshrsi3"): Likewise.
11927
11928 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11929
11930         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
11931         when -fomit-frame-pointer is used.
11932
11933 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
11934
11935         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
11936         (try_redirect_by_replacing_jump): Reverse updating properly the
11937         count and frequency information.  Reverse removing cc0 setter.
11938         (forwarder_block_p): Reverse fixing for fallthru blocks.
11939
11940 2001-07-05  DJ Delorie  <dj@redhat.com>
11941
11942         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
11943         (translate_options): If the above is defined, use it to map
11944         given options to new options.
11945         * doc/tm.texi: Document it.
11946
11947 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
11948             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11949
11950         * doc/invoke.texi (Optimize Options): Document that -fgcse may
11951         cause programs using computed gotos to run more slowly.
11952
11953 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11954
11955         * doc/install.texi (Specific): Markup, spelling and typo fixes.
11956         Fixed sorting.
11957         Consistently require binutils 2.11.2, not prereleases.
11958         (Specific, decstation-*): Canonicalize as mips-dec-*.
11959         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
11960         always necessary.
11961         (Specific, m68k-altos): Removed reference to README.altos, deleted.
11962         (Specific, mips-*): Reword MIPS C compiler requirements.
11963         (Specific, powerpc*-*-*): New, mention --with-cpu once.
11964         (Specific, sunv5): Removed, obsolete.
11965
11966 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
11967
11968         * dwarf2out.c (output_loc_list): Use an all ones mask for
11969         .text asm output and don't rely on long long
11970         literals. Reformat some long lines.
11971
11972 2001-07-05  Andreas Jaeger  <aj@suse.de>
11973
11974         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
11975         section.
11976
11977 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
11978
11979         * dwarf2out.c (dwarf2out_define): Update comment.
11980         (dwarf2out_undef): Ditto.
11981         (dwarf2out_start_source_file): Ditto.
11982         (dwarf2out_end_source_file): Ditto.
11983         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
11984         since we never call the start/end debug hook for the primary file.
11985
11986 2001-07-04  Kazu Hirata  <kazu@hxi.com>
11987
11988         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
11989         from shll.
11990
11991 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
11992
11993         * cppinit.c (remove_dup_dirs): Inform if a system include
11994         directory is being reordered.
11995         * doc/invoke.texi (Directory Options): GCC warns if you hide a
11996         system include.
11997         * doc/cpp.texi (Search Paths): Likewise.
11998         * doc/gcc.texi (Interoperation): Remove information about
11999         -I/usr/include.
12000
12001 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
12002
12003         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
12004         (VARRAY_TOP_CHAR_PTR): Likewise.
12005
12006 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12007
12008         * gcc.c (process_command): Don't assign elements of a const char*.
12009
12010 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12011
12012         * emit-rtl.c (change_address): Don't abort if invalid address while
12013         reload is in progress.
12014
12015 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
12016
12017         * c-lex.c (cb_file_change): Pass line number to
12018         debug_start_source_file.
12019         (cb_undefine): Pass correct line number to debug_undef.
12020
12021         * toplev.c (debug_start_source_file): Add line number to
12022         parameters. Pass it along to dwarf2out_start_source_file.
12023         (decode_g_option): Stop resetting debug level back to normal when
12024         we change debug formats, unless the current level is
12025         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
12026         3).
12027
12028         * toplev.h (debug_start_source_file): Add line number to
12029         parameters.
12030
12031         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
12032         parameters.
12033
12034         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
12035         parameters.
12036         Output debug_macinfo data for starting file if requested.
12037         (dwarf2out_end_source_file): Output debug_macinfo data for ending
12038         file if requested.
12039         (dwarf2out_define): Output debug_macinfo data for defining a macro
12040         if requested.
12041         (dwarf2out_undef): Output debug_macinfo data for undefining a
12042         macro if requested.
12043         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
12044         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
12045         (macinfo_section_label): New. DWARF2 macro info section label.
12046         (dwarf2out_init): If we want macro info, output the start label
12047         for the section.
12048         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
12049         attribute to the compilation unit die pointing to the macro info.
12050
12051 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
12052
12053         * dwarf2out.c (new_loc_list): Move to inside #ifdef
12054         DWARF2_DEBUGGING_INFO.
12055         (add_loc_descr_to_loc_list): Ditto.
12056         (output_loc_list): Ditto.
12057         Also, fix thinko in curr not being initialized.
12058         (gen_internal_sym): Ditto.
12059
12060 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12061
12062         * emit-rtl.c (replace_equiv_address): New function.
12063         * expr.h (replace_equiv_address): New declaration.
12064         * explow.c (validize_mem): Call it instead of change_address and
12065         also call if -fforce-addr and address is constant.
12066         * expr.c: Replace more calls to change_address with adjust_address
12067         and/or replace_equiv_address or to validize_mem.
12068         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
12069         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
12070         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
12071         * config/i370/i370.md, config/i860/i860.md: Likewise.
12072         * config/i960/i960.md, config/mips/mips.c: Likewise.
12073         * config/mips/mips.md, config/pa/pa.md: Likewise.
12074         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
12075         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
12076
12077 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12078
12079         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
12080
12081         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
12082         function.
12083
12084 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
12085
12086         * doc/include: New directory.
12087         * doc/fdl.texi: Move to doc/include/fdl.texi.
12088         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
12089         * doc/include/funding.texi, doc/include/gpl.texi: New files.
12090         * doc/gcc.texi: Use funding.texi and gpl.texi.
12091         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
12092         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
12093         Update dependencies and use -I $(docdir)/include.
12094
12095 2001-07-04  Anthony Green  <green@redhat.com>
12096
12097         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
12098
12099 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12100
12101         * doc/install.texi (sparc64-*-*): Remove garbage.
12102
12103 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
12104
12105         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
12106         Fix typo in last change to use adjust_address.
12107
12108 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12109
12110         * doc/install.texi (Specific): Update information for *-*-solaris*.
12111
12112 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12113
12114         * explow.c (plus_constant_wide): Reinitialize Y for restart.
12115
12116 2001-07-03  Stan Shebs  <shebs@apple.com>
12117
12118         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
12119         case for flag_no_mach_text_sections.
12120         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
12121         * config/darwin.c (flag_no_mach_text_sections): Remove.
12122         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
12123
12124 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12125
12126         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
12127         and avoid checking for constant as first operand.
12128         * recog.c (find_constant_term_loc): No longer static.
12129         (adj_offettable_operand): Delete.
12130         * rtl.h (adj_offsettable_operand): Delete declaration.
12131         (find_constant_term): Add declaration.
12132         * caller-save.c: Replace calls to adj_offsettable_operand with calls
12133         to adjust_address.
12134         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
12135         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
12136         * config/i386/i386.c, config/i386/i386.md: Likewise.
12137         * config/i860/i860.c, config/i960/i960.c: Likewise.
12138         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
12139         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
12140         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
12141         * config/mips/mips.c, config/mips/mips.md: Likewise.
12142         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
12143         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
12144         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
12145         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
12146         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
12147         * config/ns32k/ns32k.md: Likewise.
12148
12149 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
12150
12151         * rtl.c (copy_rtx): Handle 'T' format letter.
12152         * gensupport.c (collect_insn_data): Likewise.
12153         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
12154
12155 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
12156
12157         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
12158         -B option.  Use 'dir' not 'foo' as example directory name.
12159
12160 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12161
12162         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
12163         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
12164
12165 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
12166
12167         * doc/cppinternals.texi: Improve formatting and logical markup.
12168
12169 2001-07-03  Andreas Jaeger  <aj@suse.de>
12170
12171         * Makefile.in (insn-recog.o): Add dependency on reload.h.
12172
12173         * genrecog.c (write_header): Include reload.h for prototypes in
12174         insn-recog.c.
12175
12176 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
12177
12178 config:
12179         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
12180         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
12181         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
12182         i386_pe_valid_type_attribute_p): Add.
12183         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
12184         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
12185
12186 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12187
12188         * explow.c (plus_constant_wide, case LO_SUM): New case.
12189         (plus_constant_for_output_wide): Delete.
12190         * rtl.h (plus_constant_for_output): Delete.
12191         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
12192         instead of plus_constant_for_output.
12193         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
12194         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
12195         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
12196         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
12197         * config/sparc/sparc.md: Likewise.
12198         Convert some change_address calls to adjust_address.
12199
12200 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
12201
12202         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
12203         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
12204         documentation of -std and -Wwrite-strings.
12205
12206 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
12207
12208         * cse.c (canon_hash): Don't register registers in very small
12209         register classes, as extending their lifetime might cause
12210         reload to fail.
12211
12212 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
12213
12214         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
12215
12216         * flow.c (forwarder_block_p): Fix for fallthru blocks.
12217         (try_redirect_by_replacing_jump): Update properly the count
12218         and frequency information.
12219
12220 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
12221
12222         * toplev.c (dump_file_index): Move SSA dumps just after first
12223         jump dump.
12224         (dump_file): Corresponding changes.
12225         (rest_of_compilation): Move SSA path to just after the first
12226         jump pass.
12227         * doc/gcc.texi (Passes): Update due to movement of SSA path.
12228         * doc/invoke.texi: Update dump file #s as they were completely
12229         out of date with reality.
12230
12231 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
12232
12233         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
12234
12235         * expr.c (emit_move_insn_1): Deal with non-default
12236         STACK_PUSH_CODE.
12237
12238         * expr.c (emit_single_push_insn): Fix warning.
12239
12240 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
12241
12242         * expr.c (emit_move_insn_1): Avoid modifying
12243         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
12244
12245 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12246
12247         * emit-rtl.c (adjust_address): New function.
12248         * expr.h (adjust_address): Add declaration.
12249         * builtins.c: Replace some calls to change_address with calls to it
12250         or to validize_mem.
12251         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
12252         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
12253         * config/arm/arm.c, config/convex/convex.c: Likewise.
12254         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
12255         * config/i386/i386.c, config/i386/i386.md: Likewise.
12256         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
12257         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
12258         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
12259         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
12260         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
12261
12262 2001-07-02  Jim Wilson  <wilson@redhat.com>
12263
12264         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
12265
12266 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
12267
12268         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
12269         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
12270
12271 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
12272
12273         * cppinit.c (lang_defaults): New table.
12274         (set_lang): Just read from lang_defaults into the live options
12275         structure.
12276
12277 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
12278
12279         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
12280         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
12281         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
12282
12283 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12284
12285         * doc/install.texi: Various spelling and markup fixes.
12286         (Installing GCC): Component specific installation instructions are
12287         gone.
12288         Fix reference.
12289         Warn about removing old install dir in the presence of shared libs.
12290         (Configuration): Invoke with options target to match configure
12291         --help.
12292         Consistently refer to gas, gld pathnames.
12293         Invert --enable-multilib documentation.
12294         Remove references to old compiler versions.
12295
12296 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12297
12298         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
12299
12300 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12301
12302         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
12303         section.
12304         (Specific, mips*-sgi-irix5): Note IDO download.
12305         Reworded MIPS C hints.
12306         Use GNU as instead of GAS.
12307         Markup fixes.
12308         Removed SGI Freeware reference, IRIX 6 only.
12309         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
12310         Note N64 library requirement/workaround.
12311         Update O32 hints.
12312         Complete list of structure passing bug victims.
12313
12314 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12315
12316         * doc/install.texi: Remove CVS Id.
12317
12318 2001-07-02  Andreas Jaeger  <aj@suse.de>
12319
12320         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
12321         (find_inherently_necessary): Remove unused variable.
12322
12323 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
12324
12325         * c-common.h (TDI_inlined): New ast dump phase.
12326         (dump_flag_name): New function.
12327         * c-dump.c (dump_files): Add inlined phase.
12328         (dump_flag_name): Define.
12329         * doc/invoke.texi (-fdump-ast-inlined): Document.
12330
12331 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12332
12333         * stor-layout.c (layout_decl): Revert change to handling of alignment
12334         in packed types.
12335
12336 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12337
12338         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
12339         for FIELD_DECL.
12340
12341 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
12342
12343         * doc/tm.texi (FUNCTION_ARG): Document that the last call
12344         is special.
12345
12346 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
12347
12348         * tlink.c (recompile_files): Remove COMPILER_PATH and
12349         LIBRARY_PATH from the environment.
12350
12351 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
12352
12353         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
12354         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
12355         enumerators.
12356         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
12357
12358         * c-parse.in (OBJC_STRING): Kill.
12359         (objc_string): Decompose to [objc_string] '@' STRING.
12360         (reswords): Take the leading '@' off all the Objective C keywords.
12361         (objc_rid_sans_at): Kill.
12362         (init_reswords): Don't initialize it.
12363         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
12364         (_yylex): Kill reconsider label.  Look ahead one token after
12365         an '@'; if we get an identifier, check whether it's an
12366         Objective C @-keyword.  If so, return the keyword.  Otherwise,
12367         put back the token and return the '@' as a terminal.
12368
12369         * cpplib.c (lex_macro_node): Remove unnecessary check for
12370         leading '@' on identifier.  Clarify control flow and commentary.
12371
12372 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12373
12374         * cse.c (new_label_ref): Variable deleted.
12375         (insert): Remove set of new_label_ref.
12376         (check_for_label_ref): New function.
12377         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
12378
12379 See ChangeLog.5 for earlier changes.