OSDN Git Service

2001-11-03 Aldy Hernandez <aldyh@redhat.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
2
3         * machmode.def: Add documentation for the seventh argument in
4         vector modes.
5
6 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
7
8         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
9         consistently.
10         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
11         <-melf>: Don't have markup for ELF acronym.
12
13 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
14
15         * config.gcc (mmix-*-*): New target.
16         * doc/invoke.texi: Document MMIX options.
17         * doc/contrib.texi: Add note about MMIX port to my entry.
18         * config/mmix/t-mmix: New file.
19         * config/mmix/mmix.h: New file.
20         * config/mmix/mmix-protos.h: New file.
21         * config/mmix/mmix.c: New file.
22         * config/mmix/mmix.md: New file.
23         * config/mmix/crti.asm: New file.
24         * config/mmix/crtn.asm: New file.
25
26 2001-11-03  Kazu Hirata  <kazu@hxi.com>
27
28         * config/sparc/linux-aout.h: Fix comment formatting.
29         * config/sparc/linux.h: Likewise.
30         * config/sparc/linux64.h: Likewise.
31         * config/sparc/lynx.h: Likewise.
32         * config/sparc/pbd.h: Likewise.
33         * config/sparc/sol2-sld-64.h: Likewise.
34         * config/sparc/sol2.h: Likewise.
35         * config/sparc/sparc.c: Likewise.
36         * config/sparc/sparc.h: Likewise.
37         * config/sparc/sparc.md: Likewise.
38         * config/sparc/sunos4.h: Likewise.
39         * config/sparc/vxsim.h: Likewise.
40         * config/sparc/vxsparc.h: Likewise.
41         * config/sparc/vxsparc64.h: Likewise.
42
43 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
44
45         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
46         reference to CONST_DOUBLE_MEM in comment.
47         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
48         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
49         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
50         * function.c (pop_function_context_from): Don't call
51         restore_varasm_status.
52         * function.h (restore_varasm_status): Delete declaration.
53         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
54         * rtl.c: Likewise.
55         * rtl.def (CONST_DOUBLE): Update comment.
56         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
57         (CONST_DOUBLE_CHAIN): Likewise.
58         (CONST_DOUBLE_MEM): Delete.
59         (gen_rtx_CONST_DOUBLE): Update parameters.
60         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
61         Remove reference to CONST_DOUBLE_MEM.
62         (const_alias_set): New variable.
63         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
64         (immed_real_const_1): Adjust tests for 0, 1, and 2.
65         Don't set CONST_DOUBLE_MEM.
66         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
67         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
68         Put constant in const_alias_set.
69         (struct pool_constant): ALIGN now unsigned.
70         OFFSET now HOST_WIDE_INT.
71         Delete LABEL.
72         (restore_varasm_status): Deleted.
73         (mark_pool_constant): Mark desc->rtl.
74         (force_const_mem): Rework to store rtl in hash table,
75         not CONST_DOUBLE_MEM.
76         Put constant in const_alias_set.
77         (find_pool_constant): Check desc->rtl.
78         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
79         (init_varasm_once): Initialize const_alias_set.
80
81         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
82         force_const_mem.
83
84         * reload.c (combine_reloads): Don't combine an output reload if there
85         are other reloads around for part of the output.
86
87         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
88         constant expression.
89         (set_mem_decl): New function.
90         * expr.h (set_mem_decl): New declaration.
91         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
92         (output_asm_operand_names): Add tab.
93         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
94
95         * builtins.c (get_memory_rtx): Properly set MEM alias set and
96         attributes.
97
98 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
99
100         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
101         Use "invalid" instead of "illegal".  Use @r in comments in
102         examples.
103
104 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
105
106         * c-decl.c (pushdecl): Move block inside if conditional to remove
107         possibility of a segfault.  Lookup block-level extern
108         variables in enclosing scopes correctly.
109
110         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
111
112 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
113
114         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
115         SUBREG so we avoid SUBREGing memory.
116
117         * expmed.c (store_bit_field): Same.
118
119 2001-11-02  DJ Delorie  <dj@redhat.com>
120
121         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
122         using FP registers for DImode mem-mem moves is acceptable.
123
124 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
125
126         * builtins.c (apply_args_size): Handle vector arguments.
127         (apply_result_size): Same.
128
129         * machmode.def: Set WIDER mode field for all vector entries.
130
131 2001-11-02  Graham Stott  <grahams@redhat.com>
132
133         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
134
135 2001-11-01  Eric Christopher  <echristo@redhat.com>
136
137         * config.gcc: Revert part of earlier patch.
138         * config/mips/linux.h: Ditto.
139         * df.c: Include tm_p.h to avoid warnings.
140         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
141         #if/#endif.
142         * config/mips/mips.c: Define mips_abi regardless.
143         (mips_output_function_prologues): Add long casts for .frame
144         output.
145         (override_options): Allow use of ABI_32.
146
147 2001-11-01  Kazu Hirata  <kazu@hxi.com>
148
149         * config/m68hc11/m68hc11.c: Fix comment formatting.
150         * config/m68hc11/m68hc11.h: Likewise.
151         * config/m68hc11/m68hc11.md: Likewise.
152
153 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
154
155         * c-typeck.c (default_conversion): Retain the original expression
156         codes.
157         * gcc.dg/Wparentheses.c: New tests.
158
159 2001-11-01  David S. Miller  <davem@redhat.com>
160
161         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
162         64-bit Sparc description more in line with reality.
163
164 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
165
166         * Makefile.in (GCOV_OBJS): Add version.o.
167         * gcov.c: Include "version.h" and <getopt.h>.
168         (gcov_version_string): Remove.
169         (print_usage): Take a parameter to determine whether this is a
170         call from --help or an error message.  Give fuller output that
171         follows the GNU Coding Standards for --help.
172         (print_version): New function.
173         (options): New.
174         (process_args): Use getopt_long.  Support long options.  Follow
175         GNU Coding Standards for --help and --version.
176         * doc/gcov.texi: Document long options.
177         Addresses part of PR other/704.
178
179 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
180
181         * pa.c (output_move_double): Fix typo in double load.
182
183 2001-11-01  Kazu Hirata  <kazu@hxi.com>
184
185         * config/h8300/h8300.c (h8300_encode_label): Compute a string
186         before passing it to ggc_alloc_string.
187
188 2001-11-01  Kazu Hirata  <kazu@hxi.com>
189
190         * config/m68k/3b1.h: Fix comment formatting.
191         * config/m68k/3b1g.h: Likewise.
192         * config/m68k/a-ux.h: Likewise.
193         * config/m68k/amix.h: Likewise.
194         * config/m68k/apollo68.h: Likewise.
195         * config/m68k/atari.h: Likewise.
196         * config/m68k/aux-exit.c: Likewise.
197         * config/m68k/ccur-GAS.h: Likewise.
198         * config/m68k/crds.h: Likewise.
199         * config/m68k/dpx2.h: Likewise.
200         * config/m68k/dpx2g.h: Likewise.
201         * config/m68k/hp310.h: Likewise.
202         * config/m68k/hp320.h: Likewise.
203         * config/m68k/isi.h: Likewise.
204         * config/m68k/linux.h: Likewise.
205         * config/m68k/lynx.h: Likewise.
206         * config/m68k/m68k-psos.h: Likewise.
207         * config/m68k/m68k.c: Likewise.
208         * config/m68k/m68k.h: Likewise.
209         * config/m68k/m68k.md: Likewise.
210         * config/m68k/m68kelf.h: Likewise.
211         * config/m68k/m68kv4.h: Likewise.
212         * config/m68k/mot3300.h: Likewise.
213         * config/m68k/news.h: Likewise.
214         * config/m68k/next.h: Likewise.
215         * config/m68k/pbb.h: Likewise.
216         * config/m68k/plexus.h: Likewise.
217         * config/m68k/sgs.h: Likewise.
218         * config/m68k/sun3.h: Likewise.
219         * config/m68k/tower.h: Likewise.
220         * config/m68k/vxm68k.h: Likewise.
221
222 2001-10-31  DJ Delorie  <dj@redhat.com>
223
224         * config/mips/mips.h (mips_cache_flush_func): Prototype.
225         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
226         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
227         * config/mips/mips.c (mips_cache_flush_func): New.
228         * doc/invoke.texi: Document the new options.
229
230 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
231
232         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
233         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
234
235         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
236
237         * config/cris/cris.c: Include output.h after tree.h but before
238         target.h.
239
240 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
241
242         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
243         (INTL_SUBDIRS): Just intl.
244         (.SUFFIXES): Add .gmo .po .pox.
245         (native): Also depend on build-@POSUB@.
246         (intl.all, intl.install): Depend on config.h and things it includes.
247         (po-generated): New target; depend on c-parse.c and tradcif.c.
248         (install-normal): Also depend on install-@POSUB@.
249         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
250         (build-, install-, build-po, update-po, install-po,
251         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
252
253         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
254         * configure.in: Don't munge XGETTEXT.  Don't generate
255         po/Makefile.in.
256         * configure: Regenerate.
257
258         * exgettext: Delete.
259         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
260         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
261
262 2001-10-31  Kazu Hirata  <kazu@hxi.com>
263
264         * config/h8300/h8300.md (two anonymous patterns): New.
265
266 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
267
268         * tree.h (tree_index): Add support for V16QI and V8HI.
269         (V8HI_type_node): New.
270         (V16QI_type_node): New.
271
272         * tree.c (build_common_tree_nodes_2): Same.
273
274         * c-common.c (type_for_mode): Same.
275
276 2001-10-31  Kazu Hirata  <kazu@hxi.com>
277
278         * config/i386/att.h: Fix comment formatting.
279         * config/i386/beos-elf.h: Likewise.
280         * config/i386/bsd.h: Likewise.
281         * config/i386/bsd386.h: Likewise.
282         * config/i386/crtdll.h: Likewise.
283         * config/i386/cygwin.asm: Likewise.
284         * config/i386/cygwin.h: Likewise.
285         * config/i386/djgpp.h: Likewise.
286         * config/i386/freebsd-aout.h: Likewise.
287         * config/i386/freebsd.h: Likewise.
288         * config/i386/gas.h: Likewise.
289         * config/i386/i386-interix.h: Likewise.
290         * config/i386/i386-protos.h: Likewise.
291         * config/i386/i386.c: Likewise.
292         * config/i386/i386.h: Likewise.
293         * config/i386/i386.md: Likewise.
294         * config/i386/i386elf.h: Likewise.
295         * config/i386/interix.c: Likewise.
296         * config/i386/isc.h: Likewise.
297         * config/i386/isccoff.h: Likewise.
298         * config/i386/iscdbx.h: Likewise.
299         * config/i386/linux.h: Likewise.
300         * config/i386/lynx.h: Likewise.
301         * config/i386/mingw32.h: Likewise.
302         * config/i386/netbsd-elf.h: Likewise.
303         * config/i386/next.h: Likewise.
304         * config/i386/osf1elf.h: Likewise.
305         * config/i386/osfrose.h: Likewise.
306         * config/i386/sco5.h: Likewise.
307         * config/i386/seq-gas.h: Likewise.
308         * config/i386/seq-sysv3.h: Likewise.
309         * config/i386/sequent.h: Likewise.
310         * config/i386/sol2.h: Likewise.
311         * config/i386/sun386.h: Likewise.
312         * config/i386/uwin.asm: Likewise.
313         * config/i386/uwin.h: Likewise.
314         * config/i386/vxi386.h: Likewise.
315         * config/i386/win32.h: Likewise.
316         * config/i386/winnt.c: Likewise.
317         * config/i386/xm-cygwin.h: Likewise.
318         * config/i386/xm-mingw32.h: Likewise.
319
320 2001-10-31  Kazu Hirata  <kazu@hxi.com>
321
322         * builtins.def: Fix comment typos.
323         * config/alpha.c: Likewise.
324         * config/arm/arm.c: Likewise.
325         * config/avr/avr.h: Likewise.
326         * config/d30v/d30v.c: Likewise.
327         * config/d30v/d30v.h: Likewise.
328         * config/d30v/d30v.md: Likewise.
329         * config/dsp16xx/dsp16xx.c: Likewise.
330         * config/fr30/fr30.c: Likewise.
331         * config/fr30/fr30.md: Likewise.
332         * config/i386/i386.c: Likewise.
333         * config/i860/i860.c: Likewise.
334         * config/i960/i960.c: Likewise.
335         * config/ia64/ia64.c: Likewise.
336         * config/mips/mips.c: Likewise.
337         * config/pa/pa.c: Likewise.
338         * config/rs6000/rs6000.c: Likewise.
339         * config/s390/s390.c: Likewise.
340         * config/sparc/sparc.c: Likewise.
341
342 2001-10-30  Kazu Hirata  <kazu@hxi.com>
343
344         * config/mips/elf.h: Fix comment formatting.
345         * config/mips/elf64.h: Likewise.
346         * config/mips/iris5.h: Likewise.
347         * config/mips/iris5gas.h: Likewise.
348         * config/mips/iris6.h: Likewise.
349         * config/mips/isa3264.h: Likewise.
350         * config/mips/linux.h: Likewise.
351         * config/mips/mips.c: Likewise.
352         * config/mips/mips.h: Likewise.
353         * config/mips/mips.md: Likewise.
354         * config/mips/mips16.S: Likewise.
355         * config/mips/netbsd.h: Likewise.
356         * config/mips/osfrose.h: Likewise.
357         * config/mips/r3900.h: Likewise.
358         * config/mips/sni-svr4.h: Likewise.
359         * config/mips/svr4-t.h: Likewise.
360         * config/mips/ultrix.h: Likewise.
361
362 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
363
364         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
365         when we update head->current.
366
367 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
368
369         * tree.c (id_string_size): Remove.
370         (dump_tree_statistics): Update.
371         * toplev.c (compile_file): If dumping stats, dump tree stats too.
372
373 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
374
375         * sched-rgn.c (schedule_insns): Fix comment.
376
377 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
378
379         * configure.in: Correct previous change: don't assume that
380         gas's version number _isn't_ the last thing on the line, or
381         isn't the only number on the line, either.
382         * configure: Regenerate.
383
384 2001-10-30  Kazu Hirata  <kazu@hxi.com>
385
386         * cfgcleanup.c: Fix a comment typo.
387
388 2001-10-30  Kazu Hirata  <kazu@hxi.com>
389
390         * alias.c: Fix comment formatting.
391         * recog.c: Likewise.
392         * config/cris/cris.c: Likewise.
393         * config/cris/cris.h: Likewise.
394         * config/i960/i960.c: Likewise.
395         * config/i960/i960.h: Likewise.
396
397 2001-10-30  Kazu Hirata  <kazu@hxi.com>
398
399         * config/arm/arm.c: Fix a comment typo.
400         * config/arm/arm.h: Likewise.
401         * config/ia64/ia64.c: Likewise.
402
403 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
404
405         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
406         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
407         * rtl.h (set_unique_reg_note): Change return value.
408         * gcse.c (try_replace_reg): Use set_unique_reg_note.
409         * cse.c (cse_insn): Likewise.
410         * expr.c (emit_move_insn): Likewise.
411         * explow.c (force_reg): Likewise.
412         * local-alloc (update_equiv_regs): Likewise.
413         * loop.c (move_moveables, load_mems): Likewise.
414         * reload (find_reloads): Likewise.
415
416 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
417
418         Localization fixes.
419         * c-decl.c (parmlist_tags_warning, start_struct,
420         check_for_loop_decls): Separate messages for struct, union and
421         enum cases to allow for languages in which they have different
422         genders.
423         * c-format.c (scanf_flag_specs): Separate short and long name of
424         the assignment suppression feature.
425         (check_format_types): Localize "pointer" and "different types"
426         strings.
427         * c-lex.c (lex_number): Localize "an unsigned long int" and
428         related strings.
429         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
430         warning message.
431         * c-typeck.c (build_unary_up): Separate messages for increment and
432         decrement cases to allow for languages in which they use different
433         articles.  Localize the strings "increment" and "decrement" in one
434         case.
435
436 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
437
438         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
439         when no changes has been made.
440
441         * gcse.c (reg_set_bitmap): Turn into reg_set.
442         (modify_mem_list_set, canon_modify_mem_list_set)
443         (clear_modify_mem_tables, free_modify_mem_tables): New.
444         (gcse_main); Use free_modify_mem_tables.
445         (free_gcse_mem): Likewise; free the bitmaps.
446         (alloc_gcse_main): Initialize the bitmaps.
447         (canon_list_insert): Set canon_modify_mem_list_set.
448         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
449         (compute_hash_table): Use clear_modify_mem_tables.
450         (reset_opr_set_tables): Likewise.
451         (oprs_not_set_p): reg_set_bitmap is regset.
452         (mark_set, mark_clobber): Likewise.
453
454         * df.h (DF_EQUIV_NOTES): New constant.
455         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
456         when asked for.
457
458         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
459         (init_regions, schedule_insns): Conditionalize the checking
460         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
461
462 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
463
464         * i386.md (movti_rex64 splitter): Fix condition.
465
466 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
467
468         * configure.in: Do not assume that gas's version number is the
469         last thing on the first line of as --version output.
470         * configure: Regenerate.
471
472         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
473         MT_WARNING, MT_ERROR, MT_FATAL.
474         (main): Call gcc_init_libintl.
475         (v_message): Call gettext on msgid and "warning: "
476         * tradcif.y: Include intl.h.
477         (yyerror): Make parameter definition consistent with
478         prototype.  Call gettext on msgid argument.
479
480 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
481
482         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
483         warnings.
484
485         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
486
487 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
488
489         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
490         before referencing it.
491
492 2001-10-26  DJ Delorie  <dj@redhat.com>
493
494         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
495         override -G, and force -G0.
496
497 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
498
499         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
500         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
501         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
502         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
503
504         * loop.h (struct induction): Rename ext_dependant to
505         ext_dependent.
506         * loop.c: Change all uses.
507         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
508         All callers changed.
509         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
510
511 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
512
513         * c-parse.in (expr_no_commas, primary), c-typeck.c
514         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
515
516 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
517
518         Undo assemble_name change in earlier patch.
519
520 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
521
522         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
523         determining the type of the receiver, do not check that TREE_CODE
524         of receiver is CALL_EXPR before calling receiver_is_class_object().
525         (receiver_is_class_object): For the GNU runtime: recognize
526         the case that the receiver is self in a class method context.
527         Check that TREE_CODE of receiver is CALL_EXPR when checking that
528         the receiver is a call to objc_get_class.
529
530 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
531
532         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
533
534 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
535
536         * Makefile.in (OBJS): Put all files in alphabetical order.
537
538         * dwarf2out.c (add_const_value_attribute): Fix error in last
539         change.
540
541 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
542
543         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
544         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
545         fix warning.
546         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
547         (life_analysis): call purge_all_dead_edges after deleting noops.
548         (delete_noop_move): Do not purge CFG.
549         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
550
551 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
552
553         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
554         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
555         (ASM_GLOBALIZE_LABEL): Use assemble_name.
556         (ASM_OUTPUT_COMMON): Likewise.
557         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
558         (rs6000_output_function_epilogue): Likewise.
559         (output_mi_thunk): Fix typo.
560         (rs6000_output_symbol_ref): Use assemble_name.
561         (output_toc): Likewise.
562         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
563         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
564         assemble_name calls STRIP_NAME_ENCODING.
565         (ASM_OUTPUT_LABEL): Use assemble_name.
566         (ASM_GLOBALIZE_LABEL): Likewise.
567         (ASM_DECLARE_FUNCTION_NAME): Likewise.
568         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
569         (ASM_OUTPUT_LOCAL): Likewise.
570
571 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
572
573         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
574         (expand_builtin_apply, expand_builtin_return): Likewise.
575         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
576
577 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
578
579         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
580         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
581         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
582         configure, configure.in, except.c, except.h, flow.c, function.c,
583         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
584         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
585         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
586         unroll.c: Fix spelling errors.
587
588         * doc/extend.texi, doc/invoke.texi: Fix spelling.
589
590         * doc/gcc.texi: Document use of "dependent" and American spelling.
591
592 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
593
594         * expr.c (emit_group_load): Support CONCATs by storing them to memory
595         and reloading.
596
597 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
598
599         * expr.c (store_constructor_field): Only call adjust_address on MEM.
600
601 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
602
603         * genrecog.c (write_switch):  Output if before switch for
604         DT_elt_zero_wide_safe.
605
606 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
607
608         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
609         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
610         (FUNCTION_PROFILER): Const-ify.
611         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
612         (eliminate_constant_term, assemble_name, output_addr_const):
613         Remove declarations.
614         (ptr_half_pic_address_p, half_pic_hash): Prototype.
615         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
616         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
617         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
618         (half_pic_declare, half_pic_external): Const-ify.
619         * toplev.c: Include "halfpic.h".
620
621 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
622
623         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
624         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
625         config/i386/i386.c, config/i386/i386-interix.h,
626         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
627         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
628         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
629         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
630         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
631         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
632         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
633         spelling errors.
634
635         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
636         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
637         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
638         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
639         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
640         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
641         system.h, toplev.c: Fix spelling errors.
642
643 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
644
645         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
646
647         * dwarf2out.c (reg_number): Abort if pseudo.
648         (reg_loc_descriptor): Return 0 if pseudo.
649         (is_based_loc): Return 0 if pseudo.
650         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
651         recursive calls.
652         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
653         (loc_descriptor): Return 0 if can't find location and handle 0
654         return from recursive calls.
655         (loc_descriptor_from_tree): Likewise.
656         Fix handling of indirect.
657         Also return 0 for PLACEHOLDER_EXPR.
658         Clean up COMPONENT_REF cases.
659         (add_AT_location_descriptor): Simplify, but handle 0 return from
660         loc_descriptor.
661         (add_const_value_attribute): Avoid shift count warning.
662         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
663         Set comp_unit_die as context if not in function.
664
665         * config/mips/mips-protos.h: Break up long lines.
666         Remove needless #ifdef/#endif blocks.
667         Don't declare functions declared in file made by genpreds or recog.h.
668         * config/mips/mips.c (mips_output_function_prologue): TSIZE
669         is now HOST_WIDE_INT; delete unneeded casts.
670         * config/mips/mips.h: Don't use #elif.
671
672         * expr.c (stor_constructor_field): Always call adjust_address.
673         Copy TARGET before changing its alias set.
674         (store_field): Likewise, for TO_RTX.
675         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
676         replacement.
677         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
678         (find_placeholder): Return 0 if can't find object.
679         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
680         returns 0.
681
682 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
683
684         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
685
686 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
687
688         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
689         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
690         (merge_blocks): Properly udpate life after making edge nonfallthru.
691         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
692
693 2001-10-26  Kazu Hirata  <kazu@hxi.com>
694
695         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
696
697 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
698
699         * c-typeck.c (convert_arguments): When comparing for enumeral
700         type equality, use TYPE_MAIN_VARIANT.
701         * gcc.dg/Wconversion.c: New tests.
702
703 2001-10-26  Kazu Hirata  <kazu@hxi.com>
704
705         * s390/s390.c: Fix comment typos.
706         * s390/s390.h: Likewise.
707         * s390/s390.md: Likewise.
708
709 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
710
711         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
712         (walk_tree): Use it for tail calls where appropriate.
713
714 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
715
716         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
717         non-local label_refs.
718
719 2001-10-26  Kazu Hirata  <kazu@hxi.com>
720
721         * config/h8300/h8300.md (4 anonymous patterns): New.
722
723 2001-10-26  Kazu Hirata  <kazu@hxi.com>
724
725         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
726         algorithm through the shift_info structure.
727         (emit_a_shift): Update the use of get_shift_alg.
728
729 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
730
731         * sched-rgn.c: Remove bitset typedef.
732         Change bitset to sbitmap in prototypes / variable types.
733         Remove bbset_size.
734         Remove edgeset_bits.
735         Remove edgeset_size.
736         s/BITSET_ADD/SET_BIT/g
737         s/BITSET_INVERT/sbitmap_ones/g
738         s/BITSET_INTER/sbitmap_a_and_b/g
739         s/BITSET_UNION/sbitmap_a_or_b/g
740         s/BITSET_DIFFER/sbitmap_difference/g
741         s/bitset_member/TEST_BIT/g
742         (BITSET_*): Removed.
743         (bitset_member): Removed.
744         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
745         EXECUTE_IF_SET_IN_SBITMAP.
746         (split_edges): Rewrite, use sbitmap functions instead of bitset
747         operations.
748         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
749
750 2001-10-26  Andreas Schwab  <schwab@suse.de>
751
752         * reload1.c (emit_input_reload_insns): Fix parens in last
753         (undocumented) change that was supposed to change only whitespace.
754
755 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
756
757         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
758
759         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
760         ASM_OPERANDS.
761
762 2001-10-26  Andreas Jaeger  <aj@suse.de>
763
764         * flow.c (clear_log_links): Remove unused variable.
765         * cfgcleanup.c (cleanup_cfg): Likewise.
766
767 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
768
769         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
770         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
771
772 2001-10-26  Richard Henderson  <rth@redhat.com>
773
774         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
775         rename PV_REG to R27_REG.
776         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
777         (REG_CLASS_FROM_LETTER): Update.
778         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
779         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
780         (udivsi3, modsi3, umodsi3): Likewise.
781         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
782
783 2001-10-26  Richard Henderson  <rth@redhat.com>
784
785         * cfg.c (clear_aux_for_blocks): Split out of ...
786         (free_aux_for_blocks): here.
787         (clear_aux_for_edges): Split from ...
788         (free_aux_for_edges): here.
789         * basic-block.h: Declare them.
790         * lcm.c (compute_antinout_edge): Use them.
791         (compute_laterin, compute_available, compute_nearerout): Likewise.
792         (optimize_mode_switching): Likewise.
793
794 2001-10-26  Richard Henderson  <rth@redhat.com>
795
796         * Makefile.in (unstage*): Remove as, ld, collect-ld before
797         moving everything back to the main build directory.
798
799 2001-10-26  Christopher Faylor  <cgf@redhat.com>
800
801         * config/i386/cygwin.h: Search target specfic include directory, if
802         appropriate.
803
804 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
805
806         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
807         of macro guards. Fix #endif comment.
808
809         * output.h (default_exception_section, default_eh_frame_section):
810         Move prototypes outside of macro guard.
811
812         * crtstuff.c: Fix #endif comment.
813
814 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
815
816         * doc/md.texi (movMM): Clarify semantics of storing into a
817         non-paradoxical SUBREG.
818
819 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
820
821         * langhooks.c (lang_hook_default_clear_binding_stack): New.
822         (lang_hook_default_get_alias_set): Move next to other alias
823         hooks.
824         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
825         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
826         (LANG_HOOKS_INITIALIZER): Add it.
827         * toplev.h (struct lang_hooks): Add clear_binding_stack.
828         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
829         instead of a loop calling poplevel.
830
831 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
832
833         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
834         occurrences of #elif with #if...#endif.
835
836 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
837
838         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
839
840 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
841
842         * alias.c (can_address_p): No longer static.
843         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
844         Return 0 if all parameters are default values.
845         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
846         (adjust_address_1): Try harder to compute a size.
847         * expr.c (expand_assignment, store_constructor): If can't address,
848         set MEM_KEEP_ALIAS_SET_P.
849         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
850         (store_field): Likewise.
851         (store_constructor): Simplify call to store_constructor_field.
852         * expr.h (can_address_p): New declaration.
853         * gensupport.c (gen_rtx_CONST_INT): New function.
854         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
855         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
856         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
857
858         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
859
860 2001-10-24  Christopher Faylor  <cgf@redhat.com>
861
862         * config/i386/cygwin.h: Use proper path for mingw crt files when
863         -mno-cygwin.
864
865 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
866
867         * dwarf2out.c (file_info_cmp): Always return consistent results.
868
869 2001-10-24  Roger Sayle <roger@eyesopen.com>
870
871         * stmt.c (expand_end_case): Index jumptables from zero for
872         suitably small values of minval.
873
874 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
875
876         * stor-layout.c (place_union_field): If any field was aligned with
877         attribute aligned, set record type's TYPE_USER_ALIGN.
878         (place_field): Likewise.
879         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
880         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
881
882 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
883
884         * c-common.h (struct c_common_identifier): Remove rid_code field.
885         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
886
887         * c-typeck.c (constructor_designated): New local flag.
888         (struct constructor_stack): Add "designated" field to match.
889         (start_init): Clear it.
890         (really_start_incremental_init, push_init_level): Push and
891         clear it.
892         (pop_init_level): Pop it.
893         (set_designator): Set it.
894
895         (pop_init_level): Suppress "missing initializer" warnings if
896         constructor_designated is true.
897         (process_init_element): Suppress warning about union
898         initialization under traditional C, if constructor_designated
899         is true.
900
901 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
902
903         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
904         change.
905
906 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
907
908         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
909
910 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
911
912         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
913         the node was already a set to a constant.
914
915 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
916
917         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
918         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
919
920 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
921
922         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
923         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
924         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
925         * s390.c (s390_final_chunkify): Don't use string concatenation.
926         (s390_function_prologue, s390_function_epilogue): Const-ify.
927         * s390.h (FUNCTION_PROFILER): Remove unused variable.
928
929 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
930
931         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
932         prototypes.
933
934 2001-10-23  Stan Shebs  <shebs@apple.com>
935
936         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
937         -traditional-cpp in first-stage compilation.
938
939 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
940
941         * gensupport.c (target_flags): Add.
942
943 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
944
945         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
946         if needed.
947         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
948         * except.c (expand_builtin_frob_return_addr): Likewise.
949         (expand_builtin_eh_return): Likewise.
950         * stmt.c (expand_computed_goto): Likewise.
951         * explow.c (memory_address): Likewise.
952         (allocate_dynamic_stack_space): Clean up predicate testing.
953         (probe_stack_range): Convert SIZE to Pmode.
954         * calls.c (rtx_for_function_call): Only call convert_memory_address
955         if needed.
956         Pass function call operand as ptr_mode, not Pmode.
957         * expr.c (expand_assignment): Clean up calls to convert_memory
958         address by only doing so when needed and making offsets Pmode.
959         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
960         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
961         is in Pmode, not ptr_mode.
962
963 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
964
965         * darwin-protos.h (constructor_section, destructor_section,
966         mod_init_section, mod_term_section): Prototype.
967         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
968         Const-ify.
969         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
970         Likewise.
971         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
972         objc_section_init declaration.
973         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
974         (objc_section_init, try_section_alias): Make static.
975         (alias_section): Make static and hide unused function.
976         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
977
978 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
979
980         * alias.c (can_address_p): Compnonents are not addressable if
981         the containing type has alias set 0.
982         (get_alias_set): Rework to use STRIP_NOPS.
983         Only call front-end routine on object, type, or object with
984         NOPs stripped, not inner values.
985         Use language hook to call front-end routine.
986         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
987         (expand_builtin_apply): Call set_mem_align on MEMs we make.
988         Don't pass alignment to emit_block_move.
989         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
990         (expand_builtin_memset): Likewise, but for clear_storage.
991         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
992         and remove C++ specific parts.
993         * c-common.h (c_common_get_alias_set): Add declaration.
994         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
995         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
996         (save_fixed_argument_area): Call set_mem_align.
997         Remove alignment in call to emit_block_move.
998         (emit_library_call_value_1, store_one_arg): Likewise.
999         (target_for_arg): Remove; disabled long ago.
1000         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
1001         once and similar cleanups.
1002         (offset_address): Use proper introductory comment.
1003         * expr.c (emit_block_move): Use alignment from that of MEM args, not
1004         from explicit operand; all callers changed.
1005         (clear_storage): Likewise.
1006         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
1007         (store_field): Remove kludge on alias set used for to_rtx.
1008         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
1009         (expand_expr_unaligned): Call set_mem_attributes instead of
1010         set_mem_alias_set.
1011         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
1012         * function.c (assign_stack_temp_for_type): Set MEM alignment.
1013         (expand_function_end): Track MEM attributes of trampolines.
1014         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
1015         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
1016         attributes from original.
1017         * langhooks.c (lang_hook_default_get_alias_set): New function.
1018         (hook_get_alias_set_0): New function.
1019         * langhooks.h (hook_get_alias_set_0): New declaration.
1020         (lang_hook_default_get_alias_set): Likewise.
1021         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
1022         * reload1.c (alter_reg): Use adjust_address_nv.
1023         * rtl.c (get_mode_alignment): Moved to here.
1024         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
1025         change default if unknown from 1 to BITS_PER_UNIT.
1026         * stor-layout.c (get_mode_alignment): Remove from here.
1027         * toplev.h (struct lang_hoks): Add get_alias_set field.
1028         * tree.h (lang_get_alias_set): Delete declaration.
1029         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
1030         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
1031         (ix86_va_arg): Likewise.
1032         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
1033         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
1034         * config/sparc/sparc.c (sparc_va_arg): Likewise.
1035         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
1036         (expand_block_move_mem): Remove dead code.
1037
1038 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
1039
1040         * c-common.c (warn_div_by_zero): New.
1041         * c-common.h (warn_div_by_zero): New.
1042         * c-decl.c (c_decode_option): Take it on the command line.
1043         * c-typeck.c (build_binary_op): Warn about division by zero.
1044         * doc/invoke.texi: Document the new command line option, fix
1045         documentation of -Wmultichar.
1046         * testsuite/gcc.dg/divbyzero.c: New tests.
1047         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
1048
1049 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
1050
1051         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
1052
1053         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
1054         to avoid update_life_info call.
1055         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
1056         * cfgcleanup.c (bb_flags): New enum.
1057         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
1058         (notice_new_block, update_forwarder_flag): New functions.
1059         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
1060         (try_forward_edges): Likewise; update flags.
1061         (merge_blocks): Likewise.
1062         (outgoing_edges_match): Likewise.
1063         (try_crossjump_to_edge): Likewise.
1064         (try_optimize_cfg): Likewise; initialize and clear the flags;
1065         recompute life info if needed.
1066         (cleanup_cfg): No need to clear aux pointers.
1067
1068 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
1069
1070         * config/i386/i386.c (override_options): Default to minimum
1071         stack alignment when optimizing for code size.
1072         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
1073         change.
1074
1075         * config/i386/i386.c (override_options): Set upper limit of
1076         -mpreferred-stack-boundary to 12.
1077
1078 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
1079
1080         * recog.c (peephole2_optimize): Add default case to switch.
1081
1082 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
1083
1084         * doc/gcc.texi (Sending Patches): Remove.
1085
1086 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
1087
1088         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
1089         fields when comparing.
1090
1091 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1092
1093         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
1094         * arm.c (HOST_INT, HOST_UINT): Likewise.
1095
1096 2001-10-22  Stan Shebs  <shebs@apple.com>
1097
1098         * config/darwin-protos.h (darwin_exception_section): Declare.
1099         (darwin_eh_frame_section): Declare.
1100
1101 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
1102
1103         * i386.md (movti_rex64): Fix mode.
1104
1105 2001-10-22  Stan Shebs  <shebs@apple.com>
1106
1107         * target.h (struct gcc_target): Add asm_out.exception_section,
1108         asm_out.eh_frame_section.
1109         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
1110         (TARGET_ASM_EH_FRAME_SECTION): New.
1111         (TARGET_INITIALIZER): Update.
1112         * output.h (default_exception_section): Declare.
1113         (default_eh_frame_section): Declare.
1114         * dwarf2out.c: Include target.h.
1115         (output_call_frame_info): Call target hook for eh frames.
1116         (default_eh_frame_section): New function.
1117         * except.c: Include target.h.
1118         (output_function_exception_table): Call target hook for exception
1119         section.
1120         * varasm.c (default_exception_section): Rename from
1121         exception_section, remove EXCEPTION_SECTION macro.
1122
1123         * config/darwin.h (darwin_eh_frame_section): New function.
1124         (EXCEPTION_SECTION): Remove.
1125         (TARGET_ASM_EXCEPTION_SECTION): Define.
1126         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
1127         (nextstep_exception_section): New function.
1128         (nextstep_eh_frame_section): New function.
1129         (TARGET_ASM_EXCEPTION_SECTION): Define.
1130         (TARGET_ASM_EH_FRAME_SECTION): Define.
1131
1132         * config/pa/som.h (EXCEPTION_SECTION): Remove.
1133         (TARGET_ASM_EXCEPTION_SECTION): Define.
1134         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
1135         (EXCEPTION_SECTION): Remove.
1136         (TARGET_ASM_EXCEPTION_SECTION): Define.
1137         * config/stormy16/stormy16.h: Remove comments referencing
1138         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
1139
1140         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
1141         TARGET_ASM_EH_FRAME_SECTION.
1142
1143 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
1144
1145         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
1146         terms.
1147
1148         * c-format.c: Fix spelling typo in comment.
1149
1150         * sched-int.h: Fix typo in GCC preamble.
1151
1152 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1153
1154         PR debug/4252
1155         * doc/invoke.texi: Remove references to -fdump-translation-unit.
1156
1157 2001-10-22  Richard Henderson  <rth@redhat.com>
1158
1159         * config/i386/i386.c (ix86_expand_clear): New.
1160         * config/i386/i386-protos.h: Declare it.
1161         * config/i386/i386.md (setcc peep2s): Use it.
1162         (movsi_xor): Unexport.
1163
1164 2001-10-22  Richard Henderson  <rth@redhat.com>
1165
1166         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
1167         free_EXPR_LIST_list for LOG_LINKS.
1168
1169 2001-10-21  Robert Lipe  <robertlipe@usa.net>
1170
1171         * config/i386/i386.c (sco_asm_named_section): Delete.
1172         (sco_asm_out_constructor): Delete.
1173         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
1174         (ASM_OUTPUT_DOUBLE_INT): Likewise.
1175         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
1176         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
1177         (EXCEPTION_SECTION): Delete EH scn renaming hack.
1178
1179 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1180
1181         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
1182         and/or fold extra calls into fewer ones.
1183         * collect2.c (dump_file): Likewise.
1184         * cppexp.c (parse_number): Likewise.
1185         * cpplex.c (_cpp_lex_direct): Likewise.
1186         * final.c (output_asm_insn, asm_fprintf): Likewise.
1187         * fix-header.c (inf_scan_ident, main): Likewise.
1188         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
1189         Likewise.
1190         * fold-const.c (real_hex_to_f): Likewise.
1191         * gen-protos.c (parse_fn_proto): Likewise.
1192         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
1193         * genrecog.c (change_state, write_action): Likewise.
1194         * gensupport.c (shift_output_template): Likewise.
1195         * local-alloc.c (requires_inout): Likewise.
1196         * mips-tfile.c (IS_ASM_IDENT): Likewise.
1197         * protoize.c (is_id_char, main): Likewise.
1198         * real.c (asctoeg): Likewise.
1199         * recog.c (asm_operand_ok): Likewise.
1200         * reload.c (find_reloads): Likewise.
1201         * scan.c (scan_identget_token): Likewise.
1202         * sched-vis.c (print_value): Likewise.
1203         * stringpool.c (ggc_alloc_string): Likewise.
1204         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
1205         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
1206         * tradcpp.c (rescan): Likewise.
1207         * tree.c (clean_symbol_name): Likewise.
1208         * varasm.c (decode_reg_name): Likewise.
1209
1210         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
1211         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
1212         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
1213         * m88k.c (output_ascii): Likewise.
1214         * m88k.h (OVERRIDE_OPTIONS): Likewise.
1215         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
1216         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
1217         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
1218
1219 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
1220
1221         * langhooks.c (lang_hook_default_do_nothing,
1222         lang_hook_default_decode_option): New defaults.
1223         * langhooks.h: Make hooks unconditional and non-NULL.
1224         * toplev.c (compile_file, toplev_main): Update.
1225         * toplev.h: Update comments.
1226         * objc/objc-act.c (lang_hooks): Update to new paradigm.
1227
1228 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1229
1230         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
1231
1232         * system.h (IN_RANGE): New macro.
1233
1234 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
1235
1236         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
1237         INTLDEPS variable, which does not include $LIBICONV.
1238         * Makefile.in: Use INTLDEPS in LIBDEPS.
1239         * configure: Regenerate.
1240
1241 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
1242
1243         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
1244         * cpplex.c (lex_percent, lex_dot): Remove.
1245         (get_effective_char, skip_block_comment, skip_line_comment,
1246         parse_identifier_slow, parse_number, parse_string, save_comment,
1247         _cpp_lex_direct): Update to do lookback freely.
1248         (IF_NEXT_IS, BACKUP): New macros.
1249         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
1250         * cppmacro.c (paste_tokens): Update.
1251
1252 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
1253
1254         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
1255
1256 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
1257
1258         * reload1.c (reload): Check CONSTANT_P before calling
1259         LEGITIMATE_PIC_OPERAND_P.
1260         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
1261         workaround of 2001-10-13.
1262
1263 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
1264
1265         * i386.c (split_di): Handle splitting of DFmode.
1266
1267 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1268
1269         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
1270         (adjust_address_1, offset_address): Likewise.
1271
1272         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
1273         (output_asm_insn): Call it for each line output.
1274         Don't record an operand more than once.
1275
1276         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
1277         * main.c: Include config.h and system.h, but not ansidecl.h.
1278         * Makefile.in (main.o): Update accordingly.
1279
1280 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
1281
1282         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
1283
1284 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
1285
1286         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
1287         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
1288         Break out from ...
1289         (find_sub_basic_blocks): ... here;
1290         (find_many_sub_basic_blocks): New.
1291         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
1292
1293         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
1294
1295         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
1296
1297         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
1298
1299         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
1300         * flow.c (update_life_info): Measure time.
1301         * c-decl.c: Include timevar.h
1302         (c_expand_body): Measure time.
1303         * toplev.c (rest_of_compilation): Measure time of mode switching
1304         separately.
1305         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
1306
1307         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
1308         (lang_independent_options): Add asynchronous-unwind-tables
1309         (toplev_main): flag_asynchronous_unwind_tables implies
1310         flag_unwind_tables.
1311         * flags.h (flag_asynchronous_unwind_tables): Declare.
1312         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
1313         flag_asynchronous_unwind_tables.
1314         (output_call_frame_info): Likewise.
1315         * invoke.texi (-fasynchronous-unwind-tables): Document.
1316         * i386.c (optimization_options): Enable
1317         flag_asynchronous_unwind_tables.
1318
1319         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
1320         * i386.md (s* expanders): Destination is QImode.
1321
1322         * toplev.c (rest_of_compilation): Do not call clear_log_links.
1323         * rtl.h (clear_log_links): Kill.
1324         * flow.c (clear_log_links): Make static; accept blocks parameter;
1325         do no clear life info.
1326         (update_life_info): Call clear_log_links.
1327
1328         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
1329
1330 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
1331
1332         * cpplex.c (handle_newline, skip_escaped_newlines,
1333         get_effective_char, skip_block_comment, skip_line_comment,
1334         parse_identifier_slow, parse_number, parse_string,
1335         _cpp_lex_direct): Update to do more stepping back.
1336         (trigraph_ok): Similarly.  Rename trigraph_p.
1337         (SAVE_STATE, RESTORE_STATE): Remove.
1338         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
1339
1340         * cpplib.c (destringize): Rename destringize_and_run, and
1341         call run_directive directly.
1342         (_cpp_do__Pragma): Simplify.
1343
1344 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1345
1346         * pe.c (arm_pe_unique_section): Const-ify.
1347         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
1348         (switch_to_section): Add static prototype.
1349
1350         * output.h (drectve_section): Prototype.
1351
1352 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1353
1354         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
1355         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
1356         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
1357         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
1358         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
1359         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
1360         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
1361         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
1362         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
1363         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
1364         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
1365         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
1366         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
1367         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
1368         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
1369         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
1370         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
1371         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
1372         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
1373         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
1374         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
1375         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
1376         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
1377         cris-*-none, cris-*-linux*: Update ${tmfile} list.
1378         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
1379         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
1380         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
1381         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
1382         v850-*-*): Delete superflous ${cpu_type} setting.
1383         * config/linux.h: Delete svr4.h include.
1384         (SET_ASM_OP): Delete.
1385         * config/netware.h (INT_ASM_OP): Undef before define.
1386         * config/ptx4.h: Delete elfos.h include.
1387         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
1388         * config/svr4.h: Delete elfos.h include. Update commentary.
1389         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
1390         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
1391         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
1392         config/v850/v850.h: Delete svr4.h include.
1393         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
1394         config/m68k/m68kv4.h, config/m88k/sysv4.h,
1395         config/sparc/sysv4.h: Update includes.
1396         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
1397         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
1398         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
1399         config/m88k/dguxbcs.h: Delete includes.
1400         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
1401         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
1402         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
1403         it.
1404         * config/m88k/dgux.h: Delete include.
1405         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
1406         defining it.
1407         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
1408         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
1409         * config/sh/elf.h: Update include.
1410         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
1411         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
1412
1413 2001-10-19  Catherine Moore  <clm@redhat.com>
1414
1415         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
1416         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
1417         base and count fields.
1418         (stormy16_expand_builtin_va_start):  last_reg_count changed to
1419         size_of_reg_args.  Use count + size in first comparison.
1420
1421 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1422
1423         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
1424         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
1425         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
1426         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
1427         Set alignment from type if INDIRECT_REF.
1428         (adjust_address_1, offset_address): Simplify alignment compuitation.
1429         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
1430         here; done by set_mem_attributes.
1431
1432 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1433
1434         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
1435         * arm-protos.h (rdata_section, zero_init_section, common_section):
1436         Prototype.
1437         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
1438         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
1439         traditional mode stringification.
1440         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
1441         in macros controling its use.
1442         * rtlanal.c: Include tm_p.h.
1443         * varasm.c (asm_output_aligned_bss): Mark parameter with
1444         ATTRIBUTE_UNUSED.
1445         (assemble_constant_align, assemble_start_function, assemble_align,
1446         assemble_variable, assemble_trampoline_template,
1447         output_constant_def_contents): Wrap potentially empty if-stmt body
1448         in brackets.
1449
1450 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1451
1452         * a29k-protos.h (literal_section): Prototype.
1453         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
1454         * a29k.md: Ensure function pointers are prototyped.
1455         * genattrtab.c (write_eligible_delay): Mark parameter with
1456         ATTRIBUTE_UNUSED.
1457
1458 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1459
1460         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
1461         * 1750a.c (print_operand): Fix format specifier warning.
1462         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
1463         * 1750a.md: Likewise.
1464         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
1465         * genemit.c (output_add_clobbers): Mark parameter with
1466         ATTRIBUTE_UNUSED.
1467         * genrecog.c (write_subroutine): Likewise.
1468         * integrate.c (expand_inline_function): Delete unused variable.
1469         * varasm.c (remove_from_pending_weak_list): Wrap with
1470         ASM_WEAKEN_LABEL.
1471
1472 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
1473
1474         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
1475         field is different to previous argument's neg field.
1476
1477         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
1478
1479 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1480
1481         * final.c (get_decl_from_op): New function.
1482         (output_asm_insn): Call it; write "*" when item with decl is address.
1483
1484 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
1485
1486         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
1487         about 64-bit support from the 3.0_branch version.
1488
1489 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
1490
1491         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
1492         USE_INCLUDED_LIBINTL when appropriate.
1493         * configure, config.in: Regenerate.
1494         * Makefile.in (datadir): Set to @datadir@.
1495         (intl.o): Also depend on $(CONFIG_H) and system.h.
1496
1497         * intl.c: Factor out common gettext initialization sequence.
1498         (gcc_init_libintl):  New function.
1499         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
1500         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
1501         off NLS.  Add multiple include guard.  No need to #ifdef-guard
1502         an #undef.  Prototype gcc_init_libintl here.
1503
1504         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
1505         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
1506         Use gcc_init_libintl.
1507
1508 2001-10-19  Catherine Moore  <clm@redhat.com>
1509
1510         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
1511
1512         * config/stormy16/stormy16.c (stormy16_split_move):  Make
1513         sure that REG_INC notes are present for auto_inc operands.
1514
1515 2001-10-19  Andreas Jaeger  <aj@suse.de>
1516
1517         * configure: Regenerated.
1518         * configure.in: Add x86_64 to switch statements.
1519
1520 2001-10-18  Richard Henderson  <rth@redhat.com>
1521
1522         * config/alpha/alpha.md (sibcall_osf_1): Load destination
1523         address into $27 explicitly.
1524         (sibcall_value_osf_1): Likewise.
1525
1526 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1527
1528         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
1529         (offset_address): New function.
1530         (free_emit_status): Free regno_decl.
1531         (init_emit): Pass proper number of elements to xcalloc.
1532         Allocate regno_decl.
1533         (mark_emit_status): Mark regno_decl values.
1534         * expr.c (highest_pow2_factor): New function.
1535         (expand_assigment): Use it and offset_address.
1536         Properly handle ptr_mode vs. Pmode in offset calculation.
1537         (store_constructor, expand_expr_unaligned): Likewise.
1538         (expand_expr, case COMPONENT_EXPR): Likewise.
1539         * expr.h (offset_address): New decl.
1540         * function.h (struct emit_status): Add regno_decl.
1541         (REGNO_DECL): New macro.
1542         * final.c (output_asm_name): Move in file and don't conditionalize
1543         on flag_print_asm_name.
1544         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
1545         Output names of operands, if known.
1546         * function.c (assign_parms): Set REGNO_DECL.
1547         * integrate.c (integrate_decl_tree): Likewise.
1548         * stmt.c (expand_decl): Likewise.
1549         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
1550
1551 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
1552
1553         * attribs.c (handle_noinline_attribute): New function.
1554         (handle_used_attribute): Likewise.
1555         (c_common_attribute_table): Added noinline and used.
1556         * doc/extend.texi (Function Attributes): Document them.
1557         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
1558         Warn when merging inline with attribute noinline.
1559         (start_decl, start_function): Warn if inline and attribute
1560         noinline appear in the same declaration.
1561
1562 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
1563
1564         * config.gcc: Update c4x and i370 for C front end-specific
1565         dependencies.
1566         * config/c4x/c4x-c.c: New.
1567         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
1568         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
1569         New declarations.
1570         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
1571         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
1572         Make extern.
1573         (c4x_init_pragma): Remove.
1574         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
1575         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
1576         c4x_pr_ignored): Move to c4x-c.c.
1577         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
1578         * config/c4x/t-c4x: Update.
1579         * config/i370/i370-c.c: New.
1580         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
1581         (i370_pr_map): Move to i370-c.c.
1582         * config/i370/t-i370: New.
1583
1584         * doc/tm.texi: Update.
1585
1586 2001-10-17  Stan Shebs  <shebs@apple.com>
1587
1588         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
1589         typo fixes throughout.
1590         (machopic_output_stub): Remove some dead code.
1591
1592 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
1593
1594         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
1595         leak.
1596
1597 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1598
1599         * Makefile.in (print-rtl.o): Depend on TREE_H.
1600         * alias.c (get_alias_set): Make two passes over objects to first
1601         see if inner object is access via restricted pointer.
1602         Defer allocating alias set for restricted pointer until here.
1603         Call find_placeholder with second arg nonzero.
1604         Minor cleanups.
1605         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
1606         set for restricted pointer types.
1607         * emit-rtl.c (set_mem_attributes): Set more attributes.
1608         (set_mem_align, change_address, adjust_address_1): New functions.
1609         (change_address_1): Now static.
1610         (adjust_address, adjust_address_nv): Deleted.
1611         (replace_equiv_address): Call change_address_1.
1612         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
1613         (find_placeholder): Get starting point from PLIST arg.
1614         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
1615         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
1616         (adjust_address, adjust_address_nv): New macros.
1617         * print-rtl.c (tree.h): New include.
1618         (print_rtx, case MEM): Print all memory attributes.
1619
1620 2001-10-17  Richard Henderson  <rth@redhat.com>
1621
1622         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
1623
1624 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
1625
1626         * c-tree.texi: Eliminate duplicated word.
1627         * cpp.texi: Likewise.
1628         * install.texi: Likewise.
1629         * invoke.texi: Likewise.
1630         * tm.texi: Likewise.
1631
1632 2001-10-17  Michael Collison  <collison@isisinc.net>
1633
1634         * dsp16xx.c: Fix comment formatting to match GNU standards.
1635         (dsp16xx_output_function_prologue): Change type of 'size'
1636         parameter from 'int' to HOST_WIDE_INT.
1637         (dsp16xx_output_function_epilogue): Change type of 'size'
1638         parameter from 'int' to HOST_WIDE_INT.
1639
1640 2001-10-16  Richard Henderson  <rth@redhat.com>
1641
1642         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
1643         * configure, config.in: Rebuild.
1644
1645         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
1646         (ix86_output_addr_diff_elt): New.
1647         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
1648         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
1649         (JUMP_TABLES_IN_TEXT_SECTION): New.
1650         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
1651         * config/i386/i386-protos.h: Update.
1652
1653         * config/i386/386bsd.h, config/i386/beos-elf.h,
1654         config/i386/freebsd-aout.h, config/i386/freebsd.h,
1655         config/i386/i386-interix.h, config/i386/i386elf.h,
1656         config/i386/linux.h, config/i386/netbsd-elf.h,
1657         config/i386/netbsd.h, config/i386/openbsd.h,
1658         config/i386/ptx4-i.h, config/i386/rtemself.h,
1659         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
1660         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
1661
1662 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
1663
1664         * stmt.c (expand_asm_operands): Update commentary.
1665
1666 2001-10-16  Stan Shebs  <shebs@apple.com>
1667
1668         * config/darwin.h (GCC_NAME): Remove, no longer used.
1669         (NO_MATH_LIBRARY): Ditto.
1670         (MATH_LIBRARY): Define to emptiness.
1671         (DWARF2_DEBUGGING_INFO): Define.
1672         (PREFERRED_DEBUGGING_TYPE): Define.
1673         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
1674         (EXCEPTION_SECTION): Define.
1675         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
1676         * config/darwin.c (darwin_encode_section_info): Handle case of
1677         DECL_INITIAL being error_mark_node.
1678
1679 2001-10-16  Richard Henderson  <rth@redhat.com>
1680
1681         * alpha.c (current_file_function_operand): Don't fail for profiling.
1682         (direct_call_operand): New.
1683         * alpha-protos.h: Declare it.
1684         * alpha.h (EXTRA_CONSTRAINT): Use it.
1685         (PREDICATE_CODES): Add it.
1686         (ASM_OUTPUT_MI_THUNK): Remove.
1687         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
1688         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
1689
1690 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
1691
1692         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
1693         (JUMP_TABLES_IN_TEXT_SECTION): Define.
1694
1695 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
1696
1697         * cfg.c (free_edge): Break out from ....
1698         (remove_edge): ... here.
1699         (clear_edges): Use free_edge.
1700
1701         * att.h (ASM_QUAD): Add comment.
1702         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
1703
1704 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
1705
1706         * i386.c (split_ti): New function.
1707         (ix86_split_to_parts): Support TImodes.
1708         * i386.h (VALID_INT_MODE_P): Add TImode.
1709         * i386.md (movdi splitter): Fix.
1710         (movti): Support 64bit integer registers.
1711         (movti_rex64): New function and splitter.
1712
1713         * i386.c (*_cost): Add movsx/movzx cost.
1714         * i386.h (struct processor_costs): Add movsx/movzx fields.
1715         (RTX_COSTS): Handle zero/sign extend + avoid believing that
1716         64bit operations require split on 64bit machine.
1717         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
1718
1719         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
1720         (ix86_expand_move): Avoid pushes of memory if size does not match;
1721         move long constants to register.
1722         (x86_initialize_trampoline): Fix mode.
1723         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
1724         Use ASM_QUAD on 64bit.
1725         * i386.md (test pattern): Disallow impossible constants.
1726         (tablejump PIC expander): Fix emitting of sum.
1727         (movdicc_rex64): Rename to movdicc.
1728         * linux64.h (LINK_SPEC): Add missing '%'.
1729
1730 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
1731
1732         * tree-inline.c (inlinable_function_p): Leave it up to the
1733         front-end to turn -finline-functions into DECL_INLINE set for all
1734         functions.
1735
1736 2001-10-16  Stan Shebs  <shebs@apple.com>
1737
1738         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
1739
1740 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
1741
1742         * recog.c: Formatting and comment typo fixes.
1743
1744         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
1745         version in single tree build.
1746         * configure: Regenerate.
1747
1748 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
1749
1750         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
1751         MODE arguments to gen_rtx and compare operand with const0_rtx.
1752
1753 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
1754
1755         * system.h: Poison old unused target macros.
1756         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
1757         * config/stormy16/stormy16.c: Update references to obsolete macros.
1758         * config/stormy16/stormy16.h: Similarly.
1759         * config/stormy16/stormy16.md: Similarly.
1760         * config/cris/cris.h: Similarly.
1761
1762 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
1763
1764         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
1765         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
1766         cpp_register_pragma): Update accordingly.
1767
1768 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
1769
1770         * c-pragma.h (cpp_register_pragma_space): Remove.
1771         * cpplib.h (cpp_register_pragma_space): Remove.
1772         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
1773         (cpp_register_pragma_space): Remove.
1774         (cpp_register_pragma): Simplify using lookup_pragma_entry,
1775         add sanity checks.
1776         (do_pragma): Similarly.
1777         (_cpp_init_internal_pragmas): Don't register namespaces.
1778
1779         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
1780         Don't register namespaces.
1781         * cp/lex.c (init_cp_pragma): Similarly.
1782         * doc/tm.texi: Update.
1783
1784 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1785
1786         PR c/4157
1787         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
1788
1789 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
1790
1791         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
1792         add scheduling support.
1793         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
1794         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
1795         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
1796
1797
1798 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
1799
1800         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
1801         missing CONSTANT_P test in core GCC.
1802
1803 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
1804
1805         * cppmain.c (struct printer): New member source.
1806         (scan_translation_unit): Fix spacing at start of lines.
1807         (cb_line_change): Update.
1808
1809         * gcc.dg/cpp/spacing2.c: New test.
1810
1811 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
1812
1813         * config/cris/arit.c: Use __builtin_labs, not abs.
1814
1815         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
1816
1817         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
1818         misplaced sprintf and fprintf argument.
1819
1820 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
1821
1822         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
1823         * configure.in, Makefile.in: Take out obsolete check-po logic.
1824         * configure, config.in: Regenerate.
1825
1826 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
1827
1828         * objc/objc-act.c (finish_objc): Correct precondition for emitting
1829         symtab declarations.
1830
1831 2001-10-12  Stan Shebs  <shebs@apple.com>
1832
1833         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
1834         declarations of arguments and local variables.
1835
1836 2001-10-12  Christopher Faylor  <cgf@redhat.com>
1837
1838         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
1839         ENDFILE_SPEC definition.
1840
1841 2001-10-12  Kazu Hirata  <kazu@hxi.com>
1842
1843         * gthr-dce.h: Fix comment formatting.
1844         * gthr-posix.h: Likewise.
1845         * gthr-single.h: Likewise.
1846         * gthr-solaris.h: Likewise.
1847         * gthr-vxworks.h: Likewise.
1848         * gthr-win32.h: Likewise.
1849
1850 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
1851
1852         * final.c (output_asm_insn): Make sure assembly dialects are
1853         terminated, not nested.  Output `|' and `}' characters if they
1854         don't appear inside assembly dialect selection.
1855         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
1856         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
1857         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
1858         strsetsi_rex_1): Add {} braces.
1859
1860 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
1861
1862         * toplev.c (compile_file): Ignore return value from yyparse.
1863         Always pop any nested binding levels after yyparse returns.
1864
1865 2001-10-11  Richard Henderson  <rth@redhat.com>
1866
1867         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
1868
1869 2001-10-11  Richard Henderson  <rth@redhat.com>
1870
1871         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
1872         fall back to add_AT_long_long for large CONST_INT.
1873
1874 2001-10-11  Richard Henderson  <rth@redhat.com>
1875
1876         * config/i386/i386.md (setcc splitters): Add four splitters to
1877         simplify compound compares that simplify_comparison can't handle.
1878
1879 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
1880
1881         * cpplex.c (digraph_spellings, token_spellings): Make static.
1882
1883 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1884
1885         * unroll.c (loop_iterations): Fixup last patch.
1886
1887 2001-10-11  Richard Henderson  <rth@redhat.com>
1888
1889         * rtl.h (REG_VTABLE_REF): New.
1890         * rtl.c (reg_note_name): Add it.
1891         * combine.c (distribute_notes): Handle it.
1892         * final.c (final_scan_insn): Handle it.
1893         * tree.def (VTABLE_REF): New.
1894         * expr.c (expand_expr): Handle it.
1895         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
1896         * output.h: Declare them.
1897
1898 2001-10-11  Richard Henderson  <rth@redhat.com>
1899
1900         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
1901         for a DECL_INITIAL.
1902
1903 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
1904
1905         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
1906         available in 64-bit mode.
1907
1908 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
1909
1910         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
1911         cris-*-linux* cases.
1912         * config/cris/cris-protos.h: New file.
1913         * config/cris/cris.c: New file.
1914         * config/cris/cris.h: New file.
1915         * config/cris/cris.md: New file.
1916         * config/cris/linux.h: New file.
1917         * config/cris/aout.h: New file.
1918         * config/cris/arit.c: New file.
1919         * config/cris/cris_abi_symbol.c: New file.
1920         * config/cris/mulsi3.asm: New file.
1921         * config/cris/t-aout: New file.
1922         * config/cris/t-cris: New file.
1923         * config/cris/t-elfmulti: New file.
1924         * config/cris/t-linux: New file.
1925         * doc/invoke.texi: Add CRIS options.
1926         * doc/install.texi (Specific): Add blurb for CRIS.
1927
1928 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
1929
1930         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
1931         before using it.
1932         * config/float/i32.h: Likewise.
1933         * config/float-i386.h: Likewise.
1934         * config/float-i64.h: Likewise.
1935         * config/float-m68k.h: Likewise.
1936         * config/float-sh.h: Likewise.
1937         * config/float-sparc.h: Likewise.
1938
1939 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
1940
1941         * doc/contrib.texi: Add note about CRIS port to my entry.
1942
1943 2001-10-11  Kazu Hirata  <kazu@hxi.com>
1944
1945         * basic-block.h: Fix formatting.
1946         * bitmap.h: Likewise.
1947         * cpplib.h: Likewise.
1948         * c-tree.h: Likewise.
1949         * diagnostic.h: Likewise.
1950         * flags.h: Likewise.
1951         * ggc.h: Likewise.
1952         * longlong.h: Likewise.
1953         * real.h: Likewise.
1954         * reload.h: Likewise.
1955         * rtl.h: Likewise.
1956         * tree.h: Likewise.
1957
1958 2001-10-10  Richard Henderson  <rth@redhat.com>
1959
1960         * c-parse.in (asm_operand): Allow named operands.
1961         * genconfig.c (max_recog_operands): Set to 29.
1962         * local-alloc.c (requires_inout): Skip multiple digits.
1963         * recog.c (asm_operand_ok): Likewise.
1964         (preprocess_constraints): Use strtoul for matching constraints.
1965         (constrain_operands): Likewise.
1966         * regmove.c (find_matches): Likewise.
1967         * reload.c (find_reloads): Likewise.
1968         * stmt.c (parse_output_constraint): Don't reject in-out
1969         constraint on operands > 9.  Reject '[' in constraint.
1970         (expand_asm_operands): Handle named operands.  Use strtoul
1971         for matching constraints.
1972         (check_operand_nalternatives): Split out from expand_asm_operands.
1973         (check_unique_operand_names): New.
1974         (resolve_operand_names, resolve_operand_name_1): New.
1975
1976         * doc/extend.texi (Extended Asm): Document named operands.
1977         * doc/md.texi (Simple Constraints): Document matching constraints
1978         on operands > 9.
1979
1980 2001-10-10  Richard Henderson  <rth@redhat.com>
1981
1982         * combine.c (try_combine): Handle a SEQUENCE of one insn.
1983
1984         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
1985         (jcc splitters): Add two splitters to simplify compound compares
1986         that simplify_comparison can't handle.
1987
1988 2001-10-10  Richard Henderson  <rth@redhat.com>
1989
1990         * langhooks.c: Include langhooks.h.
1991         * Makefile.in (langhooks.o): Depend on it.
1992
1993 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
1994
1995         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
1996         should not be considered as a no-op.
1997         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
1998
1999 2001-10-10  Stan Shebs  <shebs@apple.com>
2000
2001         * alias.c: Remove uses of "register" specifier in declarations
2002         of arguments and local variables.
2003         * c-common.c: Ditto.
2004         * c-convert.c: Ditto.
2005         * c-decl.c: Ditto.
2006         * c-format.c: Ditto.
2007         * c-semantics.c: Ditto.
2008         * c-typeck.c: Ditto.
2009         * caller-save.c: Ditto.
2010         * calls.c: Ditto.
2011         * cfg.c: Ditto.
2012         * cfgbuild.c: Ditto.
2013         * cfgrtl.c: Ditto.
2014         * collect2.c: Ditto.
2015         * combine.c: Ditto.
2016         * convert.c: Ditto.
2017         * cppexp.c: Ditto.
2018         * cppfiles.c: Ditto.
2019         * cse.c: Ditto.
2020         * dbxout.c: Ditto.
2021         * defaults.h: Ditto.
2022         * df.c: Ditto.
2023         * dwarf2out.c: Ditto.
2024         * dwarfout.c: Ditto.
2025         * emit-rtl.c: Ditto.
2026         * explow.c: Ditto.
2027         * expmed.c: Ditto.
2028         * expr.c: Ditto.
2029         * final.c: Ditto.
2030         * fix-header.c: Ditto.
2031         * floatlib.c: Ditto.
2032         * flow.c: Ditto.
2033         * fold-const.c: Ditto.
2034         * function.c: Ditto.
2035         * gcc.c: Ditto.
2036         * gcse.c: Ditto.
2037         * gen-protos.c: Ditto.
2038         * genattrtab.c: Ditto.
2039         * gencheck.c: Ditto.
2040         * genconfig.c: Ditto.
2041         * genemit.c: Ditto.
2042         * genextract.c: Ditto.
2043         * genflags.c: Ditto.
2044         * gengenrtl.c: Ditto.
2045         * genoutput.c: Ditto.
2046         * genpeep.c: Ditto.
2047         * genrecog.c: Ditto.
2048         * gensupport.c: Ditto.
2049         * global.c: Ditto.
2050         * gmon.c: Ditto.
2051         * graph.c: Ditto.
2052         * haifa-sched.c: Ditto.
2053         * hard-reg-set.h: Ditto.
2054         * hash.c: Ditto.
2055         * integrate.c: Ditto.
2056         * jump.c: Ditto.
2057         * lists.c: Ditto.
2058         * local-alloc.c: Ditto.
2059         * loop.c: Ditto.
2060         * mips-tdump.c: Ditto.
2061         * mips-tfile.c: Ditto.
2062         * optabs.c: Ditto.
2063         * prefix.c: Ditto.
2064         * print-rtl.c: Ditto.
2065         * read-rtl.c: Ditto.
2066         * real.c: Ditto.
2067         * recog.c: Ditto.
2068         * reg-stack.c: Ditto.
2069         * regclass.c: Ditto.
2070         * regmove.c: Ditto.
2071         * reload.c: Ditto.
2072         * reload1.c: Ditto.
2073         * reorg.c: Ditto.
2074         * resource.c: Ditto.
2075         * rtl.c: Ditto.
2076         * rtlanal.c: Ditto.
2077         * scan.c: Ditto.
2078         * sched-deps.c: Ditto.
2079         * sched-rgn.c: Ditto.
2080         * sdbout.c: Ditto.
2081         * simplify-rtx.c: Ditto.
2082         * stmt.c: Ditto.
2083         * stor-layout.c: Ditto.
2084         * toplev.c: Ditto.
2085         * tradcif.y: Ditto.
2086         * tradcpp.c: Ditto.
2087         * tree.c: Ditto.
2088         * unroll.c: Ditto.
2089         * varasm.c: Ditto.
2090         * xcoffout.c: Ditto.
2091
2092 2001-10-10  Richard Henderson  <rth@redhat.com>
2093
2094         * rtl.h (can_reverse_comparison_p): Remove.
2095
2096 2001-10-10  Christopher Faylor <cgf@redhat.com>
2097
2098         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
2099         used.
2100
2101 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
2102
2103         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
2104         (Thanks to Chris Faylor for suggesting macro name).
2105         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
2106         WIN32 defines.
2107         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
2108         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
2109         (MATH_LIBRARY): Undef before definition.
2110         (OUTPUT_QUOTED_STRING): Likewise.
2111         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
2112
2113 2001-10-10  Richard Henderson  <rth@redhat.com>
2114
2115         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
2116         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
2117         a tristate comparison value.
2118         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
2119
2120 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2121
2122         PR c++/4512
2123         * unroll.c (loop_iterations): Ignore insns generated by loop
2124         unrolling.
2125
2126         * config.gcc (mips*-*-gnu*): Delete support.
2127         * config/mips/gnu.h: Remove.
2128
2129 2001-10-10  Kazu Hirata  <kazu@hxi.com>
2130
2131         * calls.c: Fix formatting.
2132         * c-decl.c: Likewise.
2133         * cfgcleanup.c: Likewise.
2134         * combine.c: Likewise.
2135         * cppfiles.c: Likewise.
2136         * cpplib.c: Likewise.
2137         * cppmacro.c: Likewise.
2138         * crtstuff.c: Likewise.
2139         * cse.c: Likewise.
2140         * dwarf2out.c: Likewise.
2141         * expmed.c: Likewise.
2142         * expr.c: Likewise.
2143         * fold-const.c: Likewise.
2144         * function.c: Likewise.
2145         * gcse.c: Likewise.
2146         * genattrtab.c: Likewise.
2147         * ggc-page.c: Likewise.
2148         * integrate.c: Likewise.
2149         * libgcc2.c: Likewise.
2150         * loop.c: Likewise.
2151         * optabs.c: Likewise.
2152         * profile.c: Likewise.
2153         * protoize.c: Likewise.
2154         * real.c: Likewise.
2155         * recog.c: Likewise.
2156         * reload1.c: Likewise.
2157         * reload.c: Likewise.
2158         * reorg.c: Likewise.
2159         * resource.c: Likewise.
2160         * sched-rgn.c: Likewise.
2161         * sdbout.c: Likewise.
2162         * stmt.c: Likewise.
2163         * toplev.c: Likewise.
2164         * varasm.c: Likewise.
2165
2166 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
2167
2168         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
2169         * Makefile.in (langhooks.o): Add dependencies.
2170
2171 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
2172
2173         * rs6000.c (rs6000_emit_load_toc_table): Don't
2174         strdup the toc label.
2175         (create_TOC_reference): Likewise.
2176
2177 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
2178
2179         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
2180         version default.
2181
2182 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
2183
2184         * config/i386/i386.c (ix86_attribute_table): Correct
2185         min_len, max_len fields for dllimport, dllexport and shared.
2186
2187 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
2188
2189         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
2190         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
2191         Consistently use "nonzero" instead of "non-zero".
2192
2193 2001-10-09  Kazu Hirata  <kazu@hxi.com>
2194
2195         * acconfig.h: Fix comment formatting.
2196         * c-dump.h: Likewise.
2197         * c-tree.h: Likewise.
2198         * conditions.h: Likewise.
2199         * expr.h: Likewise.
2200         * function.h: Likewise.
2201         * gthr.h: Likewise.
2202         * hwint.h: Likewise.
2203         * integrate.h: Likewise.
2204         * intl.h: Likewise.
2205         * loop.h: Likewise.
2206         * optabs.h: Likewise.
2207
2208 2001-10-09  Kazu Hirata  <kazu@hxi.com>
2209
2210         * c-common.h: Fix comment formatting.
2211         * c-dump.c: Likewise.
2212         * cfg.c: Likewise.
2213         * diagnostic.h: Likewise.
2214         * except.c: Likewise.
2215         * gcc.h: Likewise.
2216         * gcov-io.h: Likewise.
2217         * genattrtab.c: Likewise.
2218         * output.h: Likewise.
2219         * predict.h: Likewise.
2220         * reload1.c: Likewise.
2221         * reload.h: Likewise.
2222         * resource.h: Likewise.
2223         * scan.h: Likewise.
2224         * system.h: Likewise.
2225         * tree.h: Likewise.
2226         * tree-inline.c: Likewise.
2227         * tsystem.h: Likewise.
2228         * varasm.c: Likewise.
2229         * xcoffout.h: Likewise.
2230
2231 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
2232
2233         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
2234
2235 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
2236
2237         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
2238         config/i386/i386elf.h, config/i386/netbsd-elf.h,
2239         config/i386/netware.h, config/mcore/gfloat.h,
2240         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
2241         config/netware.h, gccbug.in: Update FSF address.
2242
2243 2001-10-09  Kazu Hirata  <kazu@hxi.com>
2244
2245         * c-common.c: Fix comment typos.
2246         * cfgrtl.c: Likewise.
2247         * collect2.c: Likewise.
2248         * cpplex.c: Likewise.
2249         * doloop.c: Likewise.
2250         * dwarf2out.c: Likewise.
2251         * dwarfout.c: Likewise.
2252         * expr.c: Likewise.
2253         * fold-const.c: Likewise.
2254         * gcc.c: Likewise.
2255         * gcov.c: Likewise.
2256         * gcse.c: Likewise.
2257         * global.c: Likewise.
2258         * ifcvt.c: Likewise.
2259         * loop.c: Likewise.
2260         * optabs.c: Likewise.
2261         * protoize.c: Likewise.
2262         * regclass.c: Likewise.
2263         * reorg.c: Likewise.
2264         * rtl.h: Likewise.
2265         * stmt.c: Likewise.
2266         * tree.h: Likewise.
2267         * doc/cpp.texi: Likewise.
2268         * doc/c-tree.texi: Likewise.
2269         * doc/extend.texi: Likewise.
2270         * doc/invoke.texi: Likewise.
2271         * doc/objc.texi: Likewise.
2272         * doc/tm.texi: Likewise.
2273
2274 2001-10-08  Richard Henderson  <rth@redhat.com>
2275
2276         * varasm.c (set_named_section_flags): Initialize "declared".
2277
2278 2001-10-08  Robert Lipe  <robertlipe@usa.net>
2279
2280         * varasm.c (struct in_named_entry): Add declared.
2281         (named_section_first_declaration): New function.
2282         (default_elf_asm_named_section): Use it.
2283         * output.h (named_section_first_declaration): New.
2284
2285 2001-10-08  Richard Henderson  <rth@redhat.com>
2286
2287         * i386.md (movsi_xor): Export.
2288         (setcc peep2): Use it when available; add an alternative to
2289         match zero_extendhisi2_and.
2290
2291 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2292
2293         * romp-protos.h (romp_initialize_trampoline): New function.
2294         * romp.c (romp_initialize_trampoline): Likewise.
2295         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
2296         romp_initialize_trampoline.
2297
2298 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2299
2300         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
2301         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
2302         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
2303         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
2304
2305 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2306
2307         * unroll.c (loop_iterations): Extend check for multiple back edges.
2308
2309 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
2310
2311         * langhooks.h: New file.
2312         * Makefile.in (OBJS): Added langhooks.o.
2313         (c-lang.o): Depend on langhooks.h.
2314         (c-common.o): Don't depend on tree-inline.h.
2315         (tree-inline.o): Depend on toplev.h.
2316         (langhooks.o): New rule.
2317         * c-common.c: Don't include tree-inline.h.
2318         (c_mark_lang_decl): Mark argument c as unused.
2319         (c_common_lang_init): Don't initialize hooks here.
2320         * c-lang.c: Include langhooks.h, then override some macros.
2321         (lang_hooks): Initialize with macros in langhooks.h.
2322         (c_init): Don't initialize hooks here.
2323         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
2324         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
2325         * tree-inline.c: Include toplev.h.  Don't define hook variables.
2326         * tree-inline.h: Don't define hook types nor declare hook
2327         variables.  Move macros to...
2328         * langhooks.c: ... new file, as functions.  Adjust all callers.
2329
2330 2001-10-08  Jeffrey A Law  <law@cygnus.com>
2331
2332         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
2333         purge_mem_unchanging_flag on all instructions, not just on those
2334         before NOTE_INSN_FUNCTION_BEG.
2335
2336 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2337
2338         * cppmacro.c (_cpp_create_definition): Leave comments off.
2339
2340         * doc/cpp.texi: Update.
2341
2342 2001-10-08  DJ Delorie  <dj@redhat.com>
2343
2344         * c-decl.c (grokfield): Make sure the only unnamed fields
2345         we're allowing are either structs or unions.
2346         * doc/extend.texi: Add documentation for the unnamed field
2347         extension.
2348
2349 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
2350
2351         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
2352         * configure.in: Use it.
2353         * configure: Regenerated.
2354         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
2355         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
2356
2357 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2358
2359         * cppfiles.c (open_file): Don't mark zero-length files
2360         never-reread here.  Don't output diagnostics here either.
2361         (stack_include_file): Mark them never-reread here.
2362         (_cpp_read_file): Update.
2363
2364 2001-10-08  Richard Henderson  <rth@redhat.com>
2365
2366         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
2367
2368 2001-10-08  Richard Henderson  <rth@redhat.com>
2369
2370         * expr.c (store_expr): When converting a CONST_INT for storage
2371         in a SUBREG, convert it to both SUBREG modes before stripping
2372         the SUBREG.
2373
2374 2001-10-08  Richard Henderson  <rth@redhat.com>
2375
2376         * varasm.c (restore_varasm_status): New.
2377         * function.h: Declare it.
2378         * function.c (pop_function_context_from): Call it.
2379
2380 2001-10-08  Richard Henderson  <rth@redhat.com>
2381
2382         * c-common.h (struct c_lang_decl): Add declared_inline.
2383         * c-tree.h (DECL_DECLARED_INLINE_P): New.
2384         * c-lang.c (c_disregard_inline_limits): Use it.
2385         * c-decl.c (duplicate_decls): Likewise.
2386         (pushdecl, redeclaration_error_message): Likewise.
2387         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
2388         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
2389         Set DECL_INLINE if -finline-functions.
2390         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
2391
2392 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2393
2394         * cppmacro.c (funlike_invocation_p): Move some logic to caller
2395         in enter_macro_context.  Create a padding token in its own context
2396         if necessary when the search for '(' fails.
2397         (enter_macro_context): Update.
2398
2399 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2400
2401         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
2402         genmultilib, toplev.c: Fix spelling errors of "separate" as
2403         "seperate", and corresponding spelling errors of related words.
2404
2405 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2406
2407         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
2408         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
2409         Likewise.
2410         * c-dump.c (dump_option_value_info): Likewise.
2411         * c-format.c (format_length_info, format_char_info,
2412         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
2413         * collect2.c (names): Likewise.
2414         * cppdefault.h (default_include): Likewise.
2415         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
2416         * flow.c (life_analysis): Likewise.
2417         * gcc.c (dir_separator_str, modify_target, option_map,
2418         target_option_translations, spec_list_1, extra_specs_1,
2419         init_spec): Likewise.
2420         * gcov.c (gcov_version_string): Likewise.
2421         * genattr.c (write_units): Likewise.
2422         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
2423         * gengenrtl.c (rtx_definition, defs): Likewise.
2424         * genrecog.c (pred_table): Likewise.
2425         * global.c (global_alloc): Likewise.
2426         * lcm.c (optimize_mode_switching): Likewise.
2427         * local-alloc.c (find_free_reg): Likewise.
2428         * params.h (param_info): Likewise.
2429         * predict.c (predictor_info): Likewise.
2430         * protoize.c (unexpansion_struct): Likewise.
2431         * real.c (bmask): Likewise.
2432         * recog.h (insn_operand_data, insn_data): Likewise.
2433         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
2434         * stmt.c (expand_nl_goto_receiver): Likewise.
2435         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
2436         target_switches, target_options): Likewise.
2437         * tradcif.y (token, tokentab2, yylex): Likewise.
2438         * tree.h (attribute_spec): Likewise.
2439
2440         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
2441         Likewise.
2442         * arc.c (arc_output_function_epilogue): Likewise.
2443         * arm.c (processors, all_cores, all_architectures,
2444         arm_override_options, isr_attribute_arg, isr_attribute_args,
2445         arm_isr_value): Likewise.
2446         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
2447         Likewise.
2448         * c4x.c (c4x_int_reglist): Likewise.
2449         * d30v.c (override_options): Likewise.
2450         * h8300.c (shift_insn): Likewise.
2451         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
2452         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
2453         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
2454         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
2455         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
2456         * i386.h (processor_costs, ix86_cost): Likewise.
2457         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
2458         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
2459         * m68k.c (codes_68881, codes_FPA): Likewise.
2460         * m88k.c (mode_from_align, max_from_align, all_from_align,
2461         best_from_align, m_options): Likewise.
2462         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
2463         * mcore.c (mode_from_align): Likewise.
2464         * mips/elf64.h (UNIQUE_SECTION): Likewise.
2465         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
2466         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
2467         * mips.h (mips_regno_to_class): Likewise.
2468         * ns32k.c (scales): Likewise.
2469         * pa.c (import_string, magic_milli): Likewise.
2470         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
2471         * sparc.c (leaf_reg_remap, sparc_override_options,
2472         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
2473         Likewise.
2474         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
2475
2476 2001-10-07  Dale Johannesen  <dalej@apple.com>
2477
2478         * reload1.c (reload_reg_free_p): Teach register interference
2479         checking that multiple output reloads are emitted in
2480         reverse order.
2481         reload1.c (reload_reg_reaches_end_p):  Ditto.
2482         reload1.c (reloads_conflict):  Ditto.
2483
2484 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2485
2486         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
2487         NULL_TREE inside @code.
2488
2489 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2490
2491         * doc/gcc.texi: Document consistent style of "32-bit",
2492         "Objective-C", and "@code{NULL}".
2493
2494 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
2495
2496         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
2497         (cpp_token_len, cpp_spell_token, cpp_output_token,
2498         _cpp_equiv_tokens): Handle it.
2499         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
2500         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
2501         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
2502         error messages.
2503
2504 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2505
2506         * gcc.c (default_compilers): Remove .ada.
2507
2508 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
2509
2510         * doc/cppinternals.texi: Update.
2511
2512 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
2513
2514         * gcc.c (main): Set this_file_error if the appropriate
2515         compiler for a language has not been installed.
2516
2517 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
2518
2519         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
2520
2521 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
2522
2523         * gccbug.in (CATEGORIES): Add ada.
2524
2525 2001-10-05  Catherine Moore  <clm@redhat.com>
2526
2527         * config/stormy16/stormy-abi:  Document abi changes.
2528         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
2529         (ICALL_REGS): New register class.
2530         (NUM_ARGUMENT_REGISTERS): Now 6.
2531         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
2532         in registers.
2533         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
2534         * config/stormy16.md (call_internal, call_value_internal,
2535         indirect_jump): Use new 'z' constraint.
2536
2537 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2538
2539         * doc/cppinternals.texi: Update.
2540
2541 2001-10-05  Richard Henderson  <rth@redhat.com>
2542
2543         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
2544         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
2545         the gas section-name-as-label feature.
2546
2547 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2548
2549         * doc/cppinternals.texi: Update.
2550
2551 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2552
2553         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
2554         to ensure valid SImode constants.
2555
2556 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
2557
2558         * Makefile.in (c-decl.o): Depend on tree-inline.h.
2559         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
2560         * c-decl.c: Include tree-inline.h.
2561         (c_expand_body): Call optimize_inline_calls. Determine whether
2562         a function is inlinable upfront, and only clear
2563         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
2564         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
2565         (c_disregard_inline_limits): New function.
2566         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
2567         (c_post_options): Enable tree inlining if inlining is enabled.
2568         Don't inline trees when instrumenting functions.
2569         (c_init): Initialize lang_disregard_inline_limits and
2570         lang_cannot_inline_tree_fn.
2571         * tree-inline.c (initialize_inlined_parameters): Handle calls
2572         with fewer arguments than declared parameters, and fewer
2573         parameters than passed arguments.  Don't assume value is a
2574         DECL.
2575         (declare_return_variable): Convert return value back to the
2576         original type, if it was promoted.
2577         (tree_inlinable_function_p): New function.
2578         (inlinable_function_p): Don't look at DECL_INLINE if we're
2579         inlining all functions.  Make it work with a NULL id.
2580         Re-check DECL_UNINLINABLE after language-specific checks.
2581         * tree-inline.h (tree_inlinable_function_p): Declare it.
2582         * integrate.c (save_for_inline): Don't bother to prepare argvec
2583         when not inlining.
2584         * cse.c (check_for_label_ref): Don't check deleted labels.
2585
2586         * Makefile.in (tree-inline.o): Depend on newly-included headers.
2587         * tree-inline.c: Include headers needed for the functions moved in.
2588         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
2589         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
2590         (copy_body, initialize_inlined_parameters): Likewise.
2591         (declare_return_variable, inlinable_function_p): Likewise.
2592         (expand_call_inline, expand_calls_inline): Likewise.
2593         (optimize_inline_calls, clone_body): Likewise.
2594         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
2595         (copy_tree_r, remap_save_expr): Likewise.
2596
2597 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
2598
2599         * Makefile.in (OBJS): Added tree-inline.o.
2600         (c-common.o): Depend on tree-inline.h.
2601         (tree-inline.o): New target.
2602         * c-common.c: Include tree-inline.h.
2603         (c_mark_lang_decl): Don't mark saved_tree.
2604         (c_common_lang_init): Set lang_anon_aggr_type_p.
2605         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
2606         (struct c_lang_decl): Moved saved_tree to tree_decl.
2607         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
2608         * integrate.h (function_attribute_inlinable_p): Declare it.
2609         * integrate.c (function_attribute_inlinable_p): Export it.
2610         * tree-inline.c: New file.  Define variables declared in...
2611         * tree-inline.h: New file.  Declare functions to be moved to
2612         tree-inline.c.  Define macros and declare types and hooks for
2613         language-specific tree inlining.
2614         (flag_inline_trees): Moved definition from cp/decl2.c.
2615         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
2616         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
2617         (struct tree_decl): Moved saved_tree from c_lang_decl and
2618         inlined_fns from C++'s lang_decl.
2619
2620 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
2621
2622         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
2623         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
2624
2625 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
2626
2627         * doc/cppinternals.texi: Update.
2628
2629 2001-10-04  Eric Christopher  <echristo@redhat.com>
2630
2631         * config/mips/mips.c (init_cumulative_args): Remember to set
2632         cum->prototype.
2633         * config.gcc: Redo linux configuration. Add target_cpu_default
2634         of soft-float to all mipsisa32 combinations and tx39.
2635         * config/mips/linux.h: Remove include of mips.h.
2636
2637 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
2638
2639         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
2640         HOST_LDFLAGS and HOST_CPPFLAGS.
2641
2642 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
2643
2644         * c-parse.in (objc_inherit_code, objc_pq_context,
2645         objc_public_flag): Make static.
2646         (objc_interface_context, objc_implementation_context,
2647         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
2648         global tree array in objc/objc-act.[ch].
2649         (methoddef): Remove unnecessary code.
2650
2651         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
2652         Hoist struct definitions to objc-act.h.
2653         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
2654         cat_count): Place declaration in objc-act.h.
2655         (objc_tree_index): Move enumeration to objc-act.h.
2656         (objc_global_trees): Place declaration and macro accessors in
2657         objc-act.h.
2658         (implementation_context): Remove duplicate; use
2659         objc_implementation_context instead:
2660         (method_context): Remove duplicate; use objc_method_context
2661         instead.
2662         (objc_ellipsis_node, objc_method_prototype_template,
2663         implemented_classes, function_type): Move global vars to
2664         objc_global_trees.
2665         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
2666         (build_message_expr): Move actual construction of ObjC message
2667         send nodes to finish_message_expr.
2668         (finish_message_expr): New routine, contains code formerly in
2669         build_message_expr.
2670         * objc/objc-act.h (finish_message_expr): New prototype.
2671         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
2672         declarations; these vars are now part of objc_global_trees.
2673         (objc_tree_index, objc_global_trees): Move definitions from
2674         objc-act.c.
2675         * objc/objc-tree.def: Update copyright info.
2676
2677 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
2678
2679         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
2680         op is NULL.
2681         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
2682         only if TARGET_ARCH64.
2683
2684 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
2685
2686         * doc/extend.texi: Fix some problems with previous checkin.
2687         * doc/invoke.texi: Likewise.
2688
2689 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
2690
2691         * cpphash.h: Update comments.
2692         (cpp_context): Update.
2693         (spec_nodes): Remove n__Pragma.
2694         * cppinit.c (cpp_create_reader): Update.
2695         (builtin_array): Add _Pragma.
2696         * cpplib.h: Update comments.
2697         (NODE_DISABLED, BT_PRAGMA): New.
2698         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
2699         * cppmacro.c (struct cpp_macro): Remove disabled.
2700         (builtin_macro): Return int, handle _Pragma, push the new token
2701         on the context stack.
2702         (funlike_invocation_p): Unconstify, update.
2703         (enter_macro_context): Handle builtins here.
2704         (replace_args, push_token_context, push_ptoken_context):
2705         Update for prototype changes.
2706         (_cpp_pop_context): Update.
2707         (cpp_get_token): Don't handle buitins, nor _Pragma here.
2708         (cpp_sys_macro_p): Update.
2709         (_cpp_free_definition): Clear disabled flag.
2710         (_cpp_create_definition): Upate.
2711         * cppmain.c: Update comments.
2712
2713 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
2714                                 Andreas Jaeger <aj@suse.de>,
2715                                 Jan Hubicka    <jh@suse.cz>
2716
2717         * doc/invoke.texi (i386 Options): Document x86-64 options.
2718         (i386 and x86-64 Options): Rename i386 options section.
2719
2720         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
2721         (TARGET_SWITCHES): Add -munwind-info.
2722         (MASK_NO_UNWIND_INFO): New.
2723         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
2724         biarch compilation.
2725         (ASM_OUTPUT_DOUBLE_INT): New.
2726
2727         * config/i386/linux64.h: New spec file for Linux x86-64 support.
2728         * config.gcc: Fix tm_file settings for x86-64.
2729         * config/i386/x86-64.h: New file with OS independent x86-64
2730         definitions.
2731         * config/i386/biarch64.h: New file used to configure compiler
2732         to biarch/64bit compilation.
2733
2734         * config/i386/i386.c: (override_options): Set flags default
2735         for 64bit compilation.
2736
2737 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
2738
2739         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
2740         (ix86_expand_int_movcc): Optimize DImode conditional moves with
2741         constants on x86_64.
2742         (ix86_attr_length_immediate_default): Support MODE_DI.
2743         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
2744         condition.
2745         (indirect_jump, tablejump): Turn into expander.
2746
2747 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
2748
2749         * c-common.c (c_format_attribute_table): Make format and
2750         format_arg attributes apply to function types rather than to
2751         decls.
2752         (is_valid_printf_arglist): Construct an attribute list and pass
2753         that to check_function_format rather than a name.
2754         * c-common.h (check_function_format): Adjust prototype.
2755         * c-decl.c (duplicate_decls): Preserve attributes from type of
2756         built-in decl when allowing for harmless conflict in types.
2757         * c-format.c (record_function_format,
2758         record_international_format, function_format_list,
2759         international_format_info, international_format_list): Remove.
2760         (function_format_info): Remove next, name and assembler_name.
2761         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
2762         (decode_format_attr): New.
2763         (handle_format_attribute): Handle receiving a type rather than a
2764         decl.  Call decode_format_attr.  Store format information in a
2765         function_format_info.
2766         (handle_format_arg_attribute): Correct comment.  Handle receiving
2767         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
2768         arg_num.
2769         (check_format_info_recurse, check_format_info_main): Take argument
2770         numbers as unsigned HOST_WIDE_INT.
2771         (check_function_format): Take a list of attributes from the
2772         function type rather than a name or assembler name.  Check for
2773         format attributes in that list and the attributes on the type of
2774         the current function rather than looking through
2775         function_format_list.
2776         (check_format_info): Use unsigned HOST_WIDE_INT for argument
2777         numbers.
2778         (check_format_info_recurse): Take format_arg attributes from the
2779         type of the function calls rather than using
2780         international_format_list.  Allow for multiple format_arg
2781         attributes.
2782         * c-typeck.c (build_function_call): Pass type attributes to
2783         check_function_format rather than name or assembler name.  Don't
2784         require there to be a name or assembler name to check formats.
2785
2786 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
2787
2788         * attribs.c (decl_attributes): Possibly call
2789         insert_default_attributes to insert default attributes on
2790         functions in a lazy manner.
2791         * builtin-attrs.def: New file; define the default format and
2792         format_arg attributes.
2793         * c-common.c (c_format_attribute_table): Move to earlier in the
2794         file.
2795         (c_common_nodes_and_builtins): Initialize format_attribute_table.
2796         (enum built_in_attribute, built_in_attributes,
2797         c_attrs_initialized, c_init_attributes,
2798         c_common_insert_default_attributes): New.
2799         (c_common_lang_init): Don't initialize format_attribute_table.  Do
2800         call c_init_attributes.
2801         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
2802         * c-common.h (init_function_format_info): Don't declare.
2803         (c_common_insert_default_attributes): Declare.
2804         * c-decl.c (implicitly_declare, builtin_function): Call
2805         decl_attributes.
2806         (init_decl_processing): Don't call init_function_format_info.
2807         (insert_default_attributes): New.
2808         * c-format.c (handle_format_attribute,
2809         handle_format_arg_attribute): Be quiet about inappropriate
2810         declaration when applying default attributes.
2811         (init_function_format_info): Remove.
2812         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
2813         (insert_default_attributes): Declare.
2814
2815 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
2816
2817         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
2818
2819 2001-10-01  Jim Wilson  <wilson@redhat.com>
2820
2821         * sched-deps.c (add_dependence): When elide conditional dependence,
2822         check that insn doesn't modify cond2.
2823
2824 2001-10-01  Dale Johannesen  <dalej@apple.com>
2825
2826         * config/rs6000/rs6000.h (enum processor_type): Add support
2827         for 7400 (G4) and 7450.
2828         (RTX_COSTS): Ditto.
2829         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
2830         (rs6000_issue_rate): Ditto.
2831         (rs6000_adjust_cost): Fix cycle counts for compares.
2832         (debug_stack_info):  Fix an obvious typo.
2833         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
2834         * doc/invoke.texi: Document.
2835         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
2836         for Darwin.
2837         (PROCESSOR_DEFAULT): Ditto.
2838
2839 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
2840
2841         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
2842         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
2843         later recursive make invocation.
2844
2845 2001-10-01  Hans Boehm  <boehm@acm.org>
2846
2847         * optabs.c (emit_libcall_block): When using non-call exceptions,
2848         don't add REG_LIBCALL reg notes to trapping calls.
2849
2850 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
2851
2852         * flow.c (propagate_block_delete_libcall): Remove unused first arg
2853         (propagate_one_insn):  Update for above change
2854
2855 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
2856
2857         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
2858         _Unwind_GetTextRelBase): Argument is unused.
2859
2860 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2861
2862         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
2863         Loop through NOPs, placeholders, and components.
2864         Don't go through NOPs if change mode.
2865         (record_alias_subset): Do nothing if SUBSET and SET are the same.
2866         * emit-rtl.c (set_mem_alias_set): Enable check.
2867         * expr.c (find_placeholder): New function.
2868         (expand_expr, case PLACEHOLDER_EXPR): Use it.
2869         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
2870         to modify it and avoid unneeded copies.
2871         * expr.h (expand_expr): Always define.
2872         (find_placeholder): New declaration.
2873
2874 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2875
2876         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
2877         operand 2 is the stack pointer.
2878         ("addr-peephole"): Fix address computation peephole when operand 2
2879         is the stack pointer.
2880
2881 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2882
2883         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
2884         (ix86_setup_incoming_varargs): Likewise.
2885
2886 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
2887
2888         * stor-layout.c (layout_type): Don't complain about too-large
2889         array here.
2890
2891 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2892
2893         * function.c (keep_stack_depressed): Don't use delete_insn.
2894
2895         * expr.h (set_mem_alias_set): Move decl to here.
2896         * rtl.h (mem_attrs): New typedef and struct.
2897         (union rtunion_def): Add field for mem_attrs.
2898         (X0MEMATTR, MEM_ATTRS): New macros.
2899         (MEM_ALIAS_SET): Use MEM_ATTRS.
2900         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
2901         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
2902         (set_mem_alias_set): Delete decl from here.
2903
2904         * alias.c (set_mem_alias_set): Delete from here.
2905         * emit-rtl.c (mem_attrs_htab): New variable.
2906         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
2907         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
2908         (mem_attrs_mark, get_mem_attrs): Likewise.
2909         (gen_rtx_MEM): Clear MEM_ATTRS.
2910         (set_mem_attributes): Move to here.
2911         (set_mem_alias_set): Likewise, and call get_mem_attrs.
2912         (init_emit_once): const_int_htab now deletable htab.
2913         Initialize mem_attrs_htab.
2914         * explow.c (set_mem_attributes): Delete from here.
2915         * function.c (put_var_into_stack): Clear MEM_ATTRS.
2916         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
2917         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
2918         * reload1.c (reload): Rework changing REG to MEM.
2919
2920 2001-09-30  H.J. Lu <hjl@gnu.org>
2921
2922         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
2923         * config.in: Rebuild.
2924
2925 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2926
2927         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
2928         ("tsthi_1"): Avoid allocation in register y.
2929         ("*movqi_68hc12"): Reorganize and fix constraints.
2930         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
2931         ("addqi3"): Likewise.
2932         ("addhi3"): Fix constraints.
2933         ("*logicalhi3_zexthi"): Disparage soft registers.
2934
2935 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2936
2937         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
2938         to tmp reg.
2939
2940 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2941
2942         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
2943         that we use setjmp/longjmp exceptions.
2944
2945 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
2946
2947         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
2948         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
2949         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
2950         _cpp_pool_alloc, _cpp_next_chunk): Remove.
2951         (_cpp_extend_buff, BUFF_ROOM): Update.
2952         (_cpp_append_extend_buff): New.
2953         (struct cpp_reader): Remove macro_pool, add a_buff.
2954         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
2955         macro_pool.
2956         (cpp_destroy): Free a_buff instead of macro_pool.
2957         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
2958         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
2959         _cpp_pool_alloc, ): Remove.
2960         (parse_number, parse_string): Update use of _cpp_extend_buff.
2961         (_cpp_extend_buff): Update.
2962         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
2963         * cpplib.c (glue_header_name, parse_answer):
2964         Update use of _cpp_extend_buff.
2965         (cpp_register_pragma, cpp_register_pragma_space): Use
2966         _cpp_aligned_alloc.
2967         (do_assert, do_unassert): Check for EOL, update.
2968         * cppmacro.c (stringify_arg, collect_args): Update to use
2969         _cpp_extend_buff and _cpp_append_extend_buff.
2970         (save_parameter, parse_params, alloc_expansion_token,
2971         _cpp_create_definition): Rework memory management.
2972
2973 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
2974
2975         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
2976         update md_exec_prefix.
2977         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
2978         to string constant.
2979
2980 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
2981
2982         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
2983         (SELECT_CC_MODE): Use s390_select_ccmode.
2984         * config/s390/s390-protos.h (s390_select_ccmode): Add.
2985         * config/s390/s390.c (s390_select_ccmode): New.
2986         (s390_match_ccmode): Add CCLmode.
2987         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
2988         (output_branch_condition, output_inverse_branch_condition): Removed.
2989         (print_operand): Use s390_branch_condition_mnemonic.
2990         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
2991         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
2992         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
2993
2994         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
2995         when converting conditional branches to far branches.
2996         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
2997         cmpint_di): Use CCSmode instead of CCUmode.
2998
2999         * config/s390/s390.c (legitimate_la_operand_p): New.
3000         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
3001         * config/s390/s390.md (movsi): Convert load address patterns to
3002         arithmetic operations when necessary.
3003         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
3004         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
3005         (*do_la_reg_0): Don't use before reload.
3006
3007         * config/s390/s390.c (legitimize_address): Make more efficient
3008         use of two-register addressing mode.
3009
3010         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
3011         with -mno-backchain in some corner cases.
3012
3013         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
3014
3015 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
3016
3017         * reload.c (find_reloads): Mark new USE insns with QImode.
3018         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
3019         find_reloads_subreg_address): Likewise.
3020         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
3021         encountered.
3022         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
3023         CLOBBERs.
3024         (reload): Make sure there are no USEs with mode other than
3025         VOIDmode.  At the end, remove those marked with QImode.
3026
3027 2001-09-29  Per Bothner  <per@bothner.com>
3028
3029         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
3030         * Makefile.in (includedir):  Rename to local_includedir.
3031         (includedir):  Define as $(prefix)/include.
3032         * config.in (PREFIX_INCLUDE_DIR):  New variable.
3033         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
3034
3035 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
3036
3037         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
3038         storehps builtins.
3039         * doc/extend.texi (Vector Extensions): New node.
3040         * doc/invoke.texi (Machine Dependent Options): Add documentation for
3041         i386 -mmmx, -msse, -m3dnow.
3042
3043 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
3044
3045         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
3046
3047 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
3048
3049         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
3050
3051         * doc/invoke.texi (Optimize Options): Delete spurious @table.
3052
3053 2001-09-28  Richard Henderson  <rth@redhat.com>
3054
3055         * varasm.c (assemble_integer): Bound alignment check by
3056         BIGGEST_ALIGNMENT.
3057
3058         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
3059
3060 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3061
3062         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
3063
3064 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
3065
3066         Mostly from Graham Stott  <grahams@redhat.com>
3067         * c-common.c (type_for_mode): Add support for V2SFmode.
3068         * tree.c (build_common_tree_nodes_2): Likewise.
3069         * tree.h (enum tree_index, global_trees): Likewise.
3070         * config/i386/i386.c (x86_3dnow_a): New variable.
3071         (override_options): Support 3Dnow extensions.
3072         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
3073         Athlon's version of 3Dnow.
3074         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
3075         (ix86_expand_builtin): Handle them.
3076         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
3077         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
3078         TARGET_3DNOW_A): New macros.
3079         (TARGET_SWITCHES): Add 3Dnow switches.
3080         (VALID_MMX_REG_MODE_3DNOW): New macro.
3081         (VECTOR_MODE_SUPPORTED_P): Use it.
3082         (enum ix86_builtins): Add entries for 3Dnow builtins.
3083         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
3084         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
3085         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
3086         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
3087         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
3088         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
3089         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
3090         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
3091         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
3092         sfence_insn, prefetch): Make these available if TARGET_SSE or
3093         TARGET_3DNOW_A.
3094
3095 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
3096
3097         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
3098         ix86_va_start, ix86_build_va_list): Declare.
3099         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
3100         ix86_va_start, ix86_build_va_list): New global functions.
3101         * i386.md (sse_prologue_save_insn): New insn.
3102         (sse_prologue_save): New expander.
3103         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
3104         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
3105
3106 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
3107
3108         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
3109         Use size_t everywhere, make definitions consistent with
3110         prototypes.
3111
3112 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
3113
3114         * gcse.c (replace_store_insn): Use delete_insn.
3115         * loop.c (move_movables): Likewise; avoid delete_insn
3116         from clobbering notes moved elsewhere.
3117         (check_dbra_loop): Use delete_insn.
3118         * ssa.c (convert_from_ssa): Likewise.
3119         * cse.c (cse_insn): Use delete_insn.
3120
3121 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
3122
3123         * cpphash.h (struct cpp_buff): Make unsigned.
3124         (_cpp_get_buff): Take length of size_t.
3125         (_cpp_unaligned_alloc): New.
3126         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
3127         (struct cpp_reader): Remove ident_pool.  Add u_buff.
3128         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
3129         (cpp_destroy): Destroy u_buff, not ident_pool.
3130         * cpplex.c (parse_number, parse_string, save_comment,
3131         cpp_token_as_text): Update to use the unaligned buffer.
3132         (new_buff): Make unsigned.
3133         (_cpp_unaligned_alloc): New.
3134         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
3135         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
3136         Similarly.
3137         (collect_args): Make unsigned.
3138
3139 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
3140
3141         * cpplex.c (cpp_output_token): Use a putc loop for
3142         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
3143
3144         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
3145         * configure, config.in: Regenerate.
3146         * system.h: Replace fwrite and fprintf with their unlocked
3147         variants if available.
3148
3149 2001-09-27  Richard Henderson  <rth@redhat.com>
3150
3151         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
3152         in favour of .eh_frame.
3153
3154 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
3155
3156         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
3157         to macros.
3158         (LIBCALL_VALUE): Likewise.
3159
3160 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
3161
3162         * cpphash.h: Update comment.
3163         * cpplex.c: Update comments.
3164         (_cpp_can_paste): Remove.
3165         * cpplib.h (_cpp_can_paste): Remove.
3166         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
3167         lexer rather than _cpp_can_paste.
3168
3169 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
3170
3171         * doc/cppinternals.texi: Update.
3172
3173 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3174
3175         * cpphash.h (struct cpp_pool): Remove locks and locked.
3176         (struct cpp_context): Add member buff.
3177         (struct cpp_reader): Remove member argument_pool.
3178         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
3179         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
3180         * cpplex.c (chunk_suitable): Remove pool argument.
3181         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
3182         (new_buff, _cpp_extend_buff): Update.
3183         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
3184         which buffer is returned.
3185         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
3186         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
3187         * cppmacro.c (lock_pools, unlock_pools): Remove.
3188         (push_ptoken_context): Take a _cpp_buff.
3189         (enter_macro_context): Pool locking removed.
3190         (replace_args): Use a _cpp_buff for the replacement list with
3191         arguments replaced.
3192         (push_token_context): Clear buff.
3193         (expand_arg): Use _cpp_pop_context.
3194         (_cpp_pop_context): Free a context's buffer, if any.
3195
3196 2001-09-26  DJ Delorie  <dj@redhat.com>
3197
3198         * c-typeck.c (digest_init): Check for sizeless arrays.
3199
3200 2001-09-26  Richard Henderson  <rth@redhat.com>
3201
3202         * optabs.c (init_one_libfunc): Create a dummy function type
3203         instead of using error_mark_node.
3204
3205 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3206
3207         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
3208         _cpp_extend_buff, _cpp_free_buff): New.
3209         (struct cpp_reader): New member free_buffs.
3210         * cppinit.c (cpp_destroy): Free buffers.
3211         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
3212         _cpp_extend_buff, _cpp_free_buff): New.
3213         * cpplib.h (struct cpp_options): Remove unused member.
3214         * cppmacro.c (collect_args): New.  Combines the old parse_arg
3215         and parse_args.  Use _cpp_buff for memory allocation.
3216         (funlike_invocation_p, replace_args): Update.
3217
3218 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
3219
3220         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
3221
3222 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
3223
3224         * except.c (sjlj_mark_call_sites): Change address inside sequence.
3225
3226 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
3227
3228         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
3229         glibc.
3230
3231 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
3232             Jim Wilson  <wilson@redhat.com>
3233
3234         * doc/install.texi (Specific, ia64-*-linux): Document.
3235
3236 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
3237
3238         * Makefile.in (cfgrtl.o): Add.
3239         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
3240         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
3241         free_aux_for_edge): Declare.
3242         * cfg.c
3243         (HAVE_return): Undefine.
3244         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
3245         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
3246         free_aux_for_edge): New global functions.
3247         (first_delete_block): New static variable.
3248         (init_flow): Clear first_delete_block.
3249         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
3250          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
3251          try_redirect_by_replacing_jump, last_loop_beg_note,
3252          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
3253          delete_insn, delete_insn_chain, create_basic_block_structure,
3254          create_basic_block, flow_delete_block, compute_bb_for_insn,
3255          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
3256          set_block_for_new_insns, split_block, merge_blocks_nomove,
3257          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
3258          redirect_edge_and_branch, force_nonfallthru_and_redirect,
3259          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
3260          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
3261          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
3262          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
3263          purge_all_dead_edges): Move to ....
3264         * cfgrtl.c: New file; .... Here.
3265
3266         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
3267         (reroder_basic_block): Use alloc_aux_for_blocks.
3268         * predict.c (estimate_bb_frequencies): Likewise; use
3269         alloc_aux_for_edges.
3270         * profile.c (compute_branch_probabilities): Likewise.
3271         (branch_prob): Likewise.
3272         * reg-stack.c (reg_to_stack): Likewise.
3273
3274         * emit-rtl.c (emit_insns_after): Never return NULL.
3275
3276         * basic-block.h (set_block_for_new_insns): Delete.
3277         * cfgrtl.c (set_block_for_new_insns): Delete.
3278
3279         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
3280         calls when crossjumping.
3281
3282         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
3283         * unroll.c (copy_loop_body): Use delete_insn.
3284
3285         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
3286         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
3287         keep_stack_depressed): Likewise.
3288         * gcse.c (cprop_cc0_jump): Likewise.
3289         * local-alloc.c (update_equiv_regs): Likewise.
3290         * loop.c (scan_loop, loop_delete_insns): Likewise.
3291         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
3292         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
3293         delete_output_reload, delete_address_reloads_1,
3294         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
3295         Likewise.
3296         * sibcall.c (replace_call_placeholder): Likewise.
3297         * cse.c (cse_insn): Likewise.
3298
3299 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
3300
3301         From Graham Stott  <grahams@redhat.com>
3302         (def_builtin): Only define builtins appropriate for target_flags.  All
3303         callers changed.
3304         (builtin_decsription): Add new field mask which is used to determine
3305         when to define the builtin via the macro def_builtin.
3306
3307         (bdesc_comi): Initialise new mask fields.
3308         (bdesc_2srg): Likewise.
3309         (bdesc_1arg): Likewise.
3310
3311         * config/i386/i386.c (ix86_init_builtins): Correct return type
3312         building v4hi_ftype_v4hi_int_int tree node.
3313         (ix86_expand_sse_comi): Fix typo swapping operands.
3314         Don't swap comparision condition, it is already swapped.
3315         (ix86_expand_sse_compare): Before swapping operands
3316         move operand 1 into new rtx and not the target rtx.
3317         Don't swap comparison condition, it is already swapped.
3318         Always check whether we need to create a new TARGET.
3319
3320         * config/i386/i386.md: (sse_comi) Fix typos.
3321         (sse_ucomi): Likewise.
3322         (cvtss2si): Fix operand 0 contraint.
3323         (cvttss2si): Likewise.
3324         (sse_unpckhps): Fix mode for operand 2.
3325         (sse_unpcklps): Likewise.
3326
3327 2001-09-25  Graham Stott  <grahams@redhat.com>
3328
3329         * sibcall.c (skip_copy_to_return_value): Tighten return value
3330         copy check.
3331
3332 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
3333
3334         * rs6000.c (lwa_operand): Address must be word aligned.
3335
3336 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3337
3338         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
3339         number has been set.
3340         (type_hash_mark): Mark type itself.
3341
3342 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
3343
3344         * c-lex.c (cb_def_pragma): Update.
3345         (c_lex): Update, and skip padding.
3346         * cppexp.c (lex, parse_defined): Update, remove unused variable.
3347         * cpphash.h (struct toklist): Delete.
3348         (union utoken): New.
3349         (struct cpp_context): Update.
3350         (struct cpp_reader): New members eof, avoid_paste.
3351         (_cpp_temp_token): New.
3352         * cppinit.c (cpp_create_reader): Update.
3353         * cpplex.c (_cpp_temp_token): New.
3354         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
3355         (cpp_output_token): Don't print leading whitespace.
3356         (cpp_output_line): Update.
3357         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
3358         do_include_common, do_line, do_ident, do_pragma,
3359         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
3360         parse_assertion): Update.
3361         (get_token_no_padding): New.
3362         * cpplib.h (CPP_PADDING): New.
3363         (AVOID_LPASTE): Delete.
3364         (struct cpp_token): New union member source.
3365         (cpp_get_token): Update.
3366         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
3367         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
3368         replace_args, quote_string, stringify_arg, parse_arg, next_context,
3369         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
3370         _cpp_backup_tokens, _cpp_create_definition): Update.
3371         (push_arg_context): Delete.
3372         (padding_token, push_token_context, push_ptoken_context): New.
3373         (make_string_token, make_number_token): Update, rename.
3374         (cpp_get_token): Update to handle tokens as pointers to const,
3375         and insert padding appropriately.
3376         * cppmain.c (struct printer): New member prev.
3377         (check_multiline_token): Constify.
3378         (do_preprocessing, cb_line_change): Update.
3379         (scan_translation_unit): Update to handle spacing.
3380         * scan-decls.c (get_a_token): New.
3381         (skip_to_closing_brace, scan_decls): Update.
3382         * fix-header.c (read_scan_file): Update.
3383
3384         * doc/cpp.texi: Update.
3385
3386 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3387
3388         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
3389         leak by passing malloc'ed pointer to reconcat, not concat.
3390
3391 2001-09-24  DJ Delorie  <dj@redhat.com>
3392
3393         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
3394
3395 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
3396
3397         * flow.c (delete_dead_jumptables): Delete jumptable if the only
3398         reference is from the literal pool.
3399
3400 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
3401
3402         * doc/install.texi (Final install): Request additional information
3403         in mail about successful builds.
3404
3405 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3406
3407         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
3408         initial value of return pointer register instead of value in frame-20.
3409         Revise comments.
3410
3411 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3412
3413         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
3414         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
3415         the libcall if there isn't a referenced identifier for the symbol.
3416
3417 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3418
3419         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
3420         non 64-bit machines.  Use these as a plabel for the trampoline.
3421         (TRAMPOLINE_SIZE): Adjust size for new words.
3422         (INITIALIZE_TRAMPOLINE): Initialize new words.
3423         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
3424         pointer to the plabel in the trampoline.
3425
3426 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3427
3428         * pa.c (function_arg): Pass floating arguments in both general and
3429         floating registers in indirect (dynamic) calls when generating code
3430         for the 32 bit ABI and the HP assembler.
3431
3432 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3433
3434         * doc/install.texi: Markup fixes.
3435         Use Solaris 2, SunOS 4 as appropriate.
3436         (Specific, *-*-solaris2*): Explain this.
3437         Unconditionally warn against /usr/ucb tools.
3438         Remove Sun as warning, obsolete.
3439         Move X11 header bug workaround here, update patches.
3440         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
3441         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
3442
3443 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
3444
3445         * errors.h (warning, error, fatal, internal_error): Don't mark
3446         with ATTRIBUTE_PRINTF_n.
3447         * toplev.h (internal_error, fatal_io_error, warning, error,
3448         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
3449         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
3450         Likewise.
3451
3452 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3453
3454         * function.c (pop_function_context_from): var_refs_queue
3455         and temp slots now in GC memory.
3456         (mark_function_status, free_after_compilation): Likewise;
3457         also struct function now in GC memory.
3458         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
3459         (combine_temp_slots): Likewise.
3460         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
3461         (prepare_function_start): Use GC memory for struct function.
3462         (mark_temp_slot): Deleted.
3463         (gcc_mark_struct_function): struct function now in GC memory.
3464
3465         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
3466         code for division, not modulus.
3467
3468         * rtl.def (MEM): Remove obsolete part of comment.
3469
3470 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
3471
3472         * c-format.c (init_function_format_info): Check __builtin_printf
3473         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
3474         in gnu89 mode.
3475
3476 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3477
3478         * c-common.c (format_attribute_table): Remove decl.
3479         * tree.h (format_attribute_table, lang_attribute_table): New decls.
3480         (lang_attribute_common): Likewise.
3481
3482         * function.c (fix_lexical_address): Use set_mem_alias_set.
3483         (expand_function_start): Likewise.
3484         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
3485
3486         * varasm.c (output_constant): Fix unused variable warning.
3487
3488         * attribs.c: New file, from c-common.c.
3489         (attribute_tables): Now four elements.
3490         (format_attribute_table, lang_attribute_common): New variables.
3491         (init_attributes): Reflect above changes.
3492         (handle_mode_attribute): Delete check for wider than uintmax.
3493         * c-common.c: Delete parts moved to attribs.c.
3494         (enum attrs): Deleted; unused.
3495         (c_format_attribute_table): New variable.
3496         (c_common_lang_init): Initialize format_attribute_table with it.
3497         * c-common.h (decl_attributes): Remove decl.
3498         * tree.h (decl_attribute): Move it to here.
3499         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
3500         (attribs.o): New rule.
3501
3502 2001-09-22  Andreas Jaeger  <aj@suse.de>
3503
3504         * builtins.c (c_getstr): Remove unused variable.
3505
3506 2001-09-21  Richard Henderson  <rth@redhat.com>
3507
3508         * reload1.c (reload): Use delete_insn instead of splatting
3509         NOTE_INSN_DELETED.
3510
3511 2001-09-21  Richard Henderson  <rth@redhat.com>
3512
3513         * reload.c (push_secondary_reload): Don't check for "=" in output
3514         constraint after ""->ALL_REGS check.
3515
3516 2001-09-21  Richard Henderson  <rth@redhat.com>
3517
3518         * predict.c (expected_value_to_br_prob): Use pc_set.
3519
3520         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
3521         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
3522
3523 2001-09-21  Richard Henderson  <rth@redhat.com>
3524
3525         * rtl.h (LCT_RETURNS_TWICE): New.
3526         * calls.c (emit_call_1): Set current_function_calls_setjmp for
3527         ECF_RETURNS_TWICE.
3528         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
3529         to ECF_RETURNS_TWICE.
3530         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
3531         call to setjmp.
3532
3533         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
3534
3535         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
3536         (JMP_BUF_SIZE): New.
3537
3538 2001-09-21  Richard Henderson  <rth@redhat.com>
3539
3540         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
3541         to R8_REGS.
3542
3543 2001-09-21  Richard Henderson  <rth@redhat.com>
3544
3545         * tree.def (FDESC_EXPR): New.
3546         * expr.c (expand_expr): Handle it.
3547         * varasm.c (initializer_constant_valid_p): Likewise.
3548         (output_constant): Likewise.
3549         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
3550         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
3551         (ASM_OUTPUT_FDESC): New.
3552         * doc/tm.texi: Document the new macros.
3553
3554 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
3555
3556         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
3557         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
3558         once merging is complete.
3559
3560 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3561
3562         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
3563
3564 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
3565
3566         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
3567         that would be invalid after a merge.
3568
3569 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
3570
3571         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
3572         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
3573         remove some labels.
3574         (flow_delete_insn): This one.
3575         (delete_insn_chain): Rename from ...; do not care labels.
3576         (flow_delete_insn_chain): ... this one.
3577         (flow_delete_block): Remove the insns one BB has been expunged.
3578         (merge_blocks_nomove): Likewise.
3579         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
3580         updating BB boundaries.
3581         (tidy_fallthru_edge): Likewise.
3582         (commit_one_edge_insertion): Likewise.
3583         * cfgbuild.c (find_basic_block): Likewise.
3584         (find_basic_blocks_1): Likewise.
3585         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
3586         (try_crossjump_to_edge): Likewise.
3587         (try_optimize_cfg): Likewise.
3588         * cse.c (delete_trivially_dead_insns): Likewise.
3589         * df.c (df_insn_delete): Likewise.
3590         * doloop.c (doloop_modify): Use delete_related_insns.
3591         * emit-rtl.c (try_split): Likewise.
3592         (remove_insn): Update BB boundaries.
3593         * expect.c (connect_post_landing_pads): Use delete_related_insns.
3594         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
3595         updating BB boundaries.
3596         (propagate_block_delete_insn): Likewise.
3597         (propagate_block_delete_libcall): Likewise.
3598         * function.c (delete_handlers): Use delete_related_insns.
3599         (thread_prologue_and_epilogue_insns): Likewise.
3600         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
3601         * genpeep.c (gen_peephole): Use delete_related_insns.
3602         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
3603         BB boundaries.
3604         (find_cond_trap): Likewise.
3605         * integrate.c (save_for_inline): Use delete_related_insns.
3606         (copy_insn_list): Likewise.
3607         * jump.c (pruge_linie_number_notes): Likewise.
3608         (duplicate_loop_exit_test): Likewise.
3609         (delete_computation): Likewise.
3610         (delete_related_insn): Rename from ...; use delete_insn
3611         (delete_insn): ... this one.
3612         (redirect_jump): Use delete_related_insns.
3613         * loop.c (scan_loop): Likewise.
3614         (move_movables): Likewise.
3615         (find_and_verify_loops): Likewise.
3616         (check_dbra_loop): Likewise.
3617         * recog.c (peephole2_optimize): Likewise.
3618         * reg-stack.c (delete_insn_for_stacker): Remove.
3619         (move_for_stack_reg): Use delete_insn.
3620         * regmove.c (combine_stack_adjustments_for_block): Likewise.
3621         * reload1.c (delete_address_reloads): Use delete_related_insns.
3622         (fixup_abnormal_edges): Use delete_insn.
3623         * recog.c (emit_delay_sequence): Use delete_related_insns.
3624         (delete_from-delay_slot): Likewise.
3625         (delete_scheduled_jump): likewise.
3626         (optimize_skip): Likewise.
3627         (try_merge_delay_insns): Likewise.
3628         (full_simple_delay_slots): Likewise.
3629         (fill_slots_from_thread): Likewise.
3630         (relax_delay_slots): Likewise.
3631         (make_return_insns): Likewise.
3632         (dbr_schedule): Likewise.
3633         * rtl.h (delete_insn): Rename to delete_related_insns.
3634         (delete_insn, delete_insn_chain): New prototypes.
3635         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
3636         by df_insn_delete already.
3637         * ssa-dce.c (delete_insn_bb): Use delete_insn.
3638         * ssa.c (convert_from_ssa): Use delete_related_insns.
3639         * unroll.c (unroll_loop): Likewise.
3640         (calculate_giv_inc): Likewise.
3641         (copy_loop_body): Likewise.
3642
3643         * i386-protos.h (ix86_libcall_value, ix86_function_value,
3644         ix86_function_arg_regno_p, ix86_function_arg_boundary,
3645         ix86_return_in_memory, ix86_function_value): Declare.
3646         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
3647         new static valurables.
3648         (x86_64_reg_class): New enum
3649         (x86_64_reg_class_name): New array.
3650         (classify_argument, examine_argument, construct_container,
3651          merge_classes): New static functions.
3652         (optimization_options): Enable flag_omit_frame_pointer and disable
3653         flag_pcc_struct_return on 64bit.
3654         (ix86_libcall_value, ix86_function_value,
3655         ix86_function_arg_regno_p, ix86_function_arg_boundary,
3656         ix86_return_in_memory, ix86_function_value): New global functions.
3657         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
3658         (function_arg_advance): Handle x86_64 passing conventions.
3659         (function_arg): Likewise.
3660         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
3661         (RETURN_IN_MEMORY): Move offline.
3662         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
3663         (FUNCTION_VALUE_REGNO_P): New macro.
3664         (FUNCTION_ARG_REGNO_P): Move offline.
3665         (struct ix86_args): Add maybe_vaarg.
3666         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
3667         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
3668
3669 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
3670
3671         * s390.md: Changed attributes for scheduling.
3672         * s390.c: (s390_adjust_cost, s390_adjust_priority)
3673         Changed scheduling
3674
3675 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
3676
3677         Table-driven attributes.
3678         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
3679         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
3680         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
3681         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
3682         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
3683         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
3684         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
3685         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
3686         * tree.h (struct tree_decl): Change machine_attributes to
3687         attributes.
3688         * doc/c-tree.texi: Document that all attributes are now attached
3689         to decls and types.
3690         * c-common.c (add_attribute, attrtab, attrtab_idx,
3691         default_valid_lang_attribute, valid_lang_attribute): Remove.
3692         (attribute_tables, attributes_initialized,
3693         c_common_attribute_table, default_lang_attribute_table): New
3694         variables.
3695         (handle_packed_attribute, handle_nocommon_attribute,
3696         handle_common_attribute, handle_noreturn_attribute,
3697         handle_unused_attribute, handle_const_attribute,
3698         handle_transparent_union_attribute, handle_constructor_attribute,
3699         handle_destructor_attribute, handle_mode_attribute,
3700         handle_section_attribute, handle_aligned_attribute,
3701         handle_weak_attribute, handle_alias_attribute,
3702         handle_no_instrument_function_attribute,
3703         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
3704         handle_no_limit_stack_attribute, handle_pure_attribute): New
3705         functions.
3706         (init_attributes, decl_attributes): Rewrite to implement
3707         table-driven attributes.
3708         * c-common.h (enum attribute_flags): Move to tree.h.
3709         * c-format.c (decl_handle_format_attribute,
3710         decl_handle_format_arg_attribute): Rename to
3711         handle_format_attribute and handle_format_arg_attribute.  Update
3712         for table-driven attributes.
3713         * c-common.h (decl_handle_format_attribute,
3714         decl_handle_format_arg_attribute): Remove prototypes.
3715         (handle_format_attribute, handle_format_arg_attribute): Add
3716         prototypes.
3717         * c-decl.c (grokdeclarator): Handle attributes nested inside
3718         declarators.
3719         * c-parse.in (setattrs, maybe_setattrs): Remove.
3720         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
3721         Update to handle nested attributes properly.
3722         (maybe_resetattrs, after_type_declarator,
3723         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
3724         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
3725         properly.
3726         (make_pointer_declarator): Update to handle nested attributes
3727         properly.
3728         * doc/extend.texi: Update documentation of limits of attributes
3729         syntax.  Warn about problems with attribute semantics in C++.
3730         * target.h (struct target): Remove valid_decl_attribute and
3731         valid_type_attribute.  Add attribute_table and
3732         function_attribute_inlinable_p.
3733         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
3734         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
3735         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
3736         Add.
3737         (TARGET_INITIALIZER): Update.
3738         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
3739         definition.
3740         (function_attribute_inlinable_p): New function.  Check for the
3741         presence of any machine attributes before using
3742         targetm.function_attribute_inlinable_p.
3743         (function_cannot_inline_p): Update.
3744         * Makefile.in (integrate.o): Update dependencies.
3745         * doc/tm.texi: Update documentation of target attributes and
3746         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
3747         * tree.c (default_valid_attribute_p, valid_machine_attribute):
3748         Remove.
3749         (default_target_attribute_table,
3750         default_function_attribute_inlinable_p): New.
3751         (lookup_attribute): Update comment to clarify handling of multiple
3752         attributes with the same name.
3753         (merge_attributes, attribute_list_contained): Allow multiple
3754         attributes with the same name but different arguments to appear in
3755         the same attribute list.
3756         * tree.h (default_valid_attribute_p): Remove prototype.
3757         (struct attribute_spec): New.
3758         (default_target_attribute_table): Declare.
3759         (enum attribute_flags): Move from c-common.h.  Add
3760         ATTR_FLAG_TYPE_IN_PLACE.
3761         (default_function_attribute_inlinable_p): Declare.
3762         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
3763         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
3764         (TARGET_ATTRIBUTE_TABLE): Define.
3765         (vms_attribute_table): New.
3766         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
3767         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
3768         (TARGET_ATTRIBUTE_TABLE): Define.
3769         (arc_attribute_table, arc_handle_interrupt_attribute): New.
3770         * config/arm/arm.c (arm_valid_type_attribute_p,
3771         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
3772         Remove.
3773         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
3774         define.
3775         (TARGET_ATTRIBUTE_TABLE): Define.
3776         (arm_attribute_table, arm_handle_fndecl_attribute,
3777         arm_handle_isr_attribute): New.
3778         * config/avr/avr.c (avr_valid_type_attribute,
3779         avr_valid_decl_attribute): Remove.
3780         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
3781         define.
3782         (TARGET_ATTRIBUTE_TABLE): Define.
3783         (avr_attribute_table, avr_handle_progmem_attribute,
3784         avr_handle_fndecl_attribute): New.
3785         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
3786         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
3787         (TARGET_ATTRIBUTE_TABLE): Define.
3788         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
3789         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
3790         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
3791         (TARGET_ATTRIBUTE_TABLE): Define.
3792         (h8300_attribute_table, h8300_handle_fndecl_attribute,
3793         h8300_handle_eightbit_data_attribute,
3794         h8300_handle_tiny_data_attribute): New.
3795         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
3796         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
3797         Remove prototypes.
3798         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
3799         declarations.
3800         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
3801         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
3802         define.
3803         (TARGET_ATTRIBUTE_TABLE): Define.
3804         (ix86_attribute_table, ix86_handle_cdecl_attribute,
3805         ix86_handle_regparm_attribute): New.
3806         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
3807         i386_pe_valid_type_attribute_p): Remove.
3808         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
3809         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
3810         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
3811         (TARGET_ATTRIBUTE_TABLE): Define.
3812         (ia64_attribute_table): New.
3813         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
3814         interrupt_ident2, model_ident1, model_ident2): Remove.
3815         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
3816         (TARGET_ATTRIBUTE_TABLE): Define.
3817         (init_idents): Update.
3818         (m32r_attribute_table, m32r_handle_model_attribute): New.
3819         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
3820         Remove.
3821         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
3822         (TARGET_ATTRIBUTE_TABLE): Define.
3823         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
3824         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
3825         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
3826         (TARGET_ATTRIBUTE_TABLE): Define.
3827         (mcore_attribute_table, mcore_handle_naked_attribute): New.
3828         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
3829         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
3830         (TARGET_ATTRIBUTE_TABLE): Define.
3831         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
3832         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
3833         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
3834         (TARGET_ATTRIBUTE_TABLE): Define.
3835         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
3836         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
3837         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
3838         (TARGET_ATTRIBUTE_TABLE): Define.
3839         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
3840         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
3841         New.
3842         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
3843         Remove.
3844         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
3845         (TARGET_ATTRIBUTE_TABLE): Define.
3846         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
3847         New.
3848         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
3849         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
3850         (TARGET_ATTRIBUTE_TABLE): Define.
3851         (v850_attribute_table, v850_handle_interrupt_attribute,
3852         v850_handle_data_area_attribute): New.
3853         * config/v850/v850-c.c (mark_current_function_as_interrupt):
3854         Return void.  Call decl_attributes instead of
3855         valid_machine_attribute.
3856
3857 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
3858
3859         * sh-protos.h (sh_pr_n_sets): Declare.
3860         * sh.c (calc_live_regs): If the initial value for PR has been copied,
3861         look at the copy to determine if PR needs to be saved.
3862         sh_pr_n_sets: New function.
3863         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
3864         (ALLOCATE_INITIAL_VALUE): Define.
3865
3866         * sh.c (initial_elimination_offset):
3867         Fix RETURN_ADDRESS_POINTER_REGNUM case.
3868
3869 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
3870
3871         * integrate.c (allocate_initial_values): New function.
3872         * integrate.h (allocate_initial_values): Declare.
3873         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
3874         here...
3875         * reload1.c (reload): And initialization of reg_equiv_memory_loc
3876         from here...
3877         * toplev.c (rest_of_compilation): To here.
3878         Call allocate_initial_values.
3879         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
3880
3881 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3882
3883         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
3884
3885 2001-09-20  DJ Delorie  <dj@redhat.com>
3886
3887         * c-typeck.c (really_start_incremental_init): Discriminate
3888         between zero-length arrays and flexible arrays.
3889         (push_init_level): Detect zero-length arrays and handle them
3890         like fixed-sized arrays.
3891         * expr.c (store_constructor): Handle zero-length arrays and
3892         flexible arrays correctly.
3893         * doc/extend.texi: Update zero-length array notes.
3894
3895 2001-09-20  Jim Wilson  <wilson@redhat.com>
3896
3897         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
3898         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
3899         for issue port conflicts.
3900         (cycle_end_fill_slots): TYPE_L instructions take two slots.
3901
3902 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
3903
3904         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
3905         on ia64.
3906
3907 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3908
3909         * fold-const.c (hashtab.h): Include.
3910         (int_const_binop): Remove FORSIZE arg and compute from type; all
3911         callers changed.
3912         Call size_int_type_wide for all single-word constants.
3913         (size_htab_hash, size_htab_eq): New functions.
3914         (size_int_type_wide): Rework to use hash table.
3915         * ggc-common.c (hashtab.h): Include.
3916         (struct d_htab_root): New struct.
3917         (d_htab_roots): New variable.
3918         (ggc_add_deletable_htab, ggc_htab_delete): New functions
3919         (ggc_mark_roots): Handle deletable htabs.
3920         * ggc-page.c (ggc_marked_p): New function.
3921         * ggc-simple.c (ggc_marked_p): Likewise.
3922         * ggc.h: Reformatting throughout.
3923         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
3924         * tree.c (init_obstacks): Make type_hash_table a deletable root.
3925         (type_hash_add): Allocate struct type_hash from GC memory.
3926         (mark_hash_entry, mark_type_hash): Deleted.
3927         (type_hash_marked_p, type_hash_mark): New functions.
3928         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
3929
3930 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
3931
3932         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
3933         than SImode.
3934
3935 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3936
3937         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
3938         array-too-large test for signed sizetype.
3939
3940 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
3941
3942         * i386.md (indirect_jump): Allow Pmode operand.
3943         (tablejump): LIkewise; perform expansion to 64bit mode.
3944         * i386.c (symbolic_operand): Allow 64bit PIC references.
3945         (pic_symbolic_operand): Likewise.
3946         (ix86_find_base_term): Strip the 64bit PIC references.
3947         (legitimate_pic_address_disp_p): Handle 64bit PIC.
3948         (legitimize_pic_address): Likewise.
3949         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
3950         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
3951
3952 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
3953
3954         * stringpool.c (get_identifier_with_length): New function.
3955         * tree.h (get_identifier_with_length): New prototype.
3956
3957 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
3958             David Edelsohn  <edelsohn@gnu.org>
3959
3960         Revert:
3961         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
3962         already sign-extended.
3963
3964         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
3965         * config/rs6000/rs6000.c (logical_operand): Always compare op as
3966         HOST_WIDE_INT.
3967         (rs6000_emit_set_long_const): Avoid unnecessary shift.
3968         (output_profile_hook): Declare label_name const.
3969         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
3970         to match constraints.
3971
3972 2001-09-19  Stan Shebs  <shebs@apple.com>
3973
3974         * alias.c: Fix typos in comments.
3975         * sched-rgn.c (init_ready_list): Ditto.
3976         * unwind-dw2.c (uw_frame_state_for): Ditto.
3977         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
3978         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
3979         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
3980
3981 2001-09-19  Richard Henderson  <rth@redhat.com>
3982
3983         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
3984         to the exit block.
3985         * Makefile.in (cfg.o): Depend on TM_P_H.
3986
3987 2001-09-19  Richard Henderson  <rth@redhat.com>
3988
3989         * config/alpha/alpha.c (local_symbol_p): Split out from ...
3990         (local_symbolic_operand): ... here.
3991         (small_symbolic_operand): Check mode.
3992         (global_symbolic_operand): New.
3993         (input_operand): Reject symbolics if explicit relocs.
3994         (call_operand): Tidy.
3995         (alpha_legitimize_address): Use movdi_er_high_g.
3996         (alpha_expand_mov): Likewise.
3997         * config/alpha/alpha-protos.h: Update.
3998         * config/alpha/alpha.h (PREDICATE_CODES): Update.
3999         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
4000         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
4001         (UNSPECV_LDGP2): Remove.
4002         (all call patterns): Use 's' not 'i' for symbolic constraint.
4003         (call_osf call_value_osf): Use call_operand.
4004         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
4005         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
4006         (prologue_ldgp_1_er): Remove.
4007         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
4008         (builtin_setjmp_receiver_er patterns): Use them.
4009         (exception_receiver_er): Likewise.
4010
4011 2001-09-19  Richard Henderson  <rth@redhat.com>
4012
4013         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
4014
4015         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
4016         and NON_LOCAL_GOTO notes.
4017         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
4018         copy over CALL_INSN_FUNCTION_USAGE.
4019
4020 2001-09-18  Catherine Moore  <clm@redhat.com>
4021
4022         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
4023         Define as 0.
4024
4025 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
4026
4027         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
4028         new-style tm_file specification.  Specify correct tm_p_file,
4029         md_file, and out_file for s390x.
4030
4031         * config/s390/linux.h, linux64.h:  Don't include other target
4032         macro header files.  Now handled via tm_file.
4033
4034         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
4035         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
4036         are defined before use.
4037
4038 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
4039
4040         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
4041         code generation only for Gnu assembler.
4042
4043 2001-09-18  Catherine Moore  <clm@redhat.com>
4044
4045         * config/stormy16 (LIB_SPEC): Remove -lnosys.
4046
4047 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
4048
4049         * config/mips/mips.c (mips_frame_set): New.
4050         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
4051         a parallel frame-related expression with a set for each register.
4052
4053 2001-09-18  Philip Blundell  <philb@gnu.org>
4054
4055         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
4056         header files.
4057
4058 2001-09-17  Dale Johannesen  <dalej@apple.com>
4059
4060         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
4061         * config/rs6000/aix.h (FIXED_R2): Define.
4062         * config/rs6000/darwin.h (FIXED_R2): Define.
4063         * config/rs6000/sysv4.h (FIXED_R2): Define.
4064
4065 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
4066
4067         * except.c (dw2_build_landing_pads): New local
4068         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
4069         barrier after clobbers.  Fixes c++/4012.
4070
4071 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4072
4073         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
4074
4075 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
4076
4077         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
4078         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
4079
4080 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4081
4082         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
4083         alloca/strcpy.
4084
4085 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
4086
4087         * cpphash.h (_cpp_lex_direct): New.
4088         * cpplex.c (_cpp_lex_token): Update.
4089         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
4090         and increment that pointer.
4091         * cppmacro.c (alloc_expansion_token): New.
4092         (lex_expansion_token): Lex macro expansion directly into
4093         macro storage.
4094
4095 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
4096
4097         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
4098
4099 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
4100
4101         * basic-block.h (free_bb_for_insn): Declare.
4102         * bb-reorder.c (label_for_bb): Use block_label.
4103         (emit_jump_to_block_after): Remove.
4104         (insert_intra_1): Do not update block_for_insn.
4105         (insert_inter_bb_scope_notes): Likewise; update bb->end
4106         * cfg.c (free_bb_for_insn): New.
4107         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
4108         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
4109         (commit_one_edge_insertion): Likewise.
4110         (commit_one_edge_insertion): Do not update BB boundary.
4111         (commit_edge_insertions): Do not call compute_bb_for_insn.
4112         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
4113         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
4114         (merge_blocks_move_successor_nojumps): Likewise.
4115         (try_crossjump_to_edge): Do not update block_for_insn.
4116         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
4117         * df.c (df_pattern_emit_later): Do not update BB boundary.
4118         (df_jump_pattern_emit_after): Likewise.
4119         (df_insn_move_before): Use emit_insn_before.
4120         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
4121          properly.
4122         (add_insn_after, add_insn_before, emit_insns_after): Update BB
4123         boundaries and basic_block_for_insn.
4124         (reorder_insns_nobb): Rename from reorder_insns.
4125         (reorder_insns): New.
4126         (emit_block_insn_before, emit_block_insn_after): Kill.
4127         * flow.c (check_function_return_warnings): Do not call
4128         compute_bb_for_insn; Do not free basic_block_for_insn.
4129         (attempt_auto_inc): Do not update basic_block_for_insn.
4130         * function.c (emit_return_into_block): Likewise;
4131         do not update BB boundaries.
4132         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
4133         (insert_insn_end_bb): Use emit_insn_before; Likewise.
4134         (pre_insert_copy_insn): Likewise.
4135         (update_ld_motion_notes): Likewise.
4136         (insert_insn_start_bb): Likewise.
4137         (replace_store_insn): Likewise.
4138         * ifcvt.c (noce_process_if_block): Likewise.
4139         (if_convert): Do not call compute_bb_for_insn.
4140         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
4141         Use emit_insn_before and emit_insn_after.
4142         * recog.c (split_all_insns): Do not update BB boundaries;
4143         Do not call compute_bb_for_insn.
4144         (peephole2_optimize): Do not update BB boundaries.
4145         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
4146         emit_insn_before.
4147         (emit_swap_insn): Likewise.
4148         (convert_regs_1): Likewise.
4149         * reload1.c (reload): Call compute_bb_for_insn.
4150         * rtl.h (reorder_insns_nobb): Declare.
4151         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
4152         * toplev.c (rest_of_compilation): Call free_bb_for_insn
4153         at places CFG is invalidated; do not call compute_bb_for_insn.
4154
4155         * cfg.c (expunge_block): Invalidate BB structure.
4156
4157         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
4158         array.
4159
4160         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
4161
4162 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
4163
4164         * cpphash.h (_cpp_lex_token): Update prototype.
4165         * cpplex.c (_cpp_lex_token): New prototype.
4166         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
4167         lex_macro_node, read_flag, do_pragma_poison): Update.
4168         * cppmacro.c (cpp_get_token, parse_params,
4169         lex_expansion_token): Update.
4170
4171 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
4172
4173         * cppmain.c (scan_translation_unit): Don't worry about
4174         putting a space after hashes.
4175         * cpplib.c (directive_diagnostics): New.
4176         (_cpp_handle_directive): Update to use directive_diagnostics.
4177         (run_directive): Don't toggle prevent_expansion.
4178         (do_line): Backup in case of the line extension.
4179         * cpplib.h (cpp_lexer_pos): Remove.
4180         * cppmacro.c (_cpp_create_definition): Precede a leading #
4181         with whitespace.
4182
4183 2001-09-15  Richard Henderson  <rth@redhat.com>
4184
4185         * c-typeck.c (comptypes): Handle zero-length arrays properly.
4186
4187 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
4188
4189         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
4190
4191 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4192
4193         PR preprocessor/3571
4194         * tradcpp.c (handle_directive): Skip non-vertical space.
4195
4196 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4197
4198         * cppmain.c (setup_callbacks): Set line callback only
4199         if outputting preprocessed source.
4200
4201 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4202
4203         * collect2.c (main): Const-ification.
4204         * gcc.c (translate_options, process_command): Use xstrdup in
4205         lieu of xmalloc/strcpy.
4206         (main): Use concat in lieu of xmalloc/strcpy/strcat.
4207
4208 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
4209
4210         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
4211         example.
4212
4213 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4214
4215         * scan-decls.c (scan_decls): Fix typo.
4216
4217 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4218
4219         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
4220         Split mlstring_pos into mls_line and mls_col.
4221         * cppinit.c (cpp_create_reader): Initialize line to 1.
4222         (cpp_destroy): Free tokenruns.
4223         (push_include): Don't update lexer_pos.
4224         * cpplex.c (unterminated, parse_string): Update.
4225         (lex_token): Don't update lexer_pos, update.
4226         * cpplib.c (if_stack): Save line instead of line + col.
4227         (start_directive, _cpp_do__Pragma, do_else, do_elif,
4228         push_conditional, _cpp_pop_buffer): Update.
4229         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
4230         (_cpp_create_definition): Update.
4231
4232 2001-09-15  Eric Christopher  <echristo@redhat.com>
4233
4234         * config/mips/abi64.h: Add support for MEABI.
4235
4236 2001-09-15  Eric Christopher  <echristo@redhat.com>
4237
4238         * config/mips/mips.md: Add unspec #2.
4239         (reload_indi): Use.
4240         (reload_outdi): Ditto.
4241         (reload_outsi): Ditto.
4242         (HILO_delay): New.
4243
4244 2001-09-15  Eric Christopher  <echristo@redhat.com>
4245             Jason Eckhardt  <jle@redhat.com>
4246
4247         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
4248         * config/mips/isa32-linux.h: New file.
4249         * config/mips/isa3264.h: Ditto.
4250         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
4251         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
4252         (output_block_mode): Support MEABI.
4253         (function_arg): Ditto. Fix floating point arg passing.
4254         (mips_va_start): Ditto.
4255         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
4256         processors.
4257         (mips_asm_file_start): Add new section to pass abi to gdb.
4258         (function_arg_pass_by_reference): Support MEABI.
4259         (mips_parse_cpu): Support mips32 and mips64 processors.
4260         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
4261         TARGET_MIPS5KC.  Support isa32 and isa64.
4262         (processor_type): Add r4kc, r5kc, r20kc.
4263         (GENERATE_MULT3_SI): New.
4264         (GENERATE_MULT3_DI): Ditto.
4265         (GENERATE_MULT3): Remove.
4266         (ISA_HAS_64BIT_REGS): Add isa == 64.
4267         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
4268         (ISA_HAS_MADD_MSUB): New.
4269         (ISA_HAS_CLZ_CLO): Ditto.
4270         (ISA_HAS_DCLZ_DCLO): Ditto.
4271         (ABI_GAS_ASM_SPEC): New.
4272         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
4273         (ASM_SPEC): Ditto.
4274         (LINK_SPEC): Ditto.
4275         (SUBTARGET_CC1_SPEC): Ditto.
4276         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
4277         (PAD_VARARGS_DOWN): Support MEABI.
4278         (HARD_REGNO_NREGS): Move to mips.c.
4279         (ASM_OUTPUT_IDENT): Add #undef.
4280         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
4281         (mulsi3): Use GENERATE_MULT3_SI.
4282         (mulsi3_mult3): Ditto.  Support mips32, mips64.
4283         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
4284         (mul_sub_si): New pattern.
4285         (unnamed splitters): New.
4286         (muldi3): Use GENERATE_MULT3_DI.
4287         (muldi3_internal2): Ditto.
4288         (movdicc): Support mips32.
4289         * config/mips/t-isa3264: New file.
4290
4291 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
4292
4293         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
4294         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
4295         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
4296
4297         * reorg.c (fill_slots_from_thread): After call to
4298         steal_delay_list_from_target, update own_thread as new_thread may
4299         have branched.
4300
4301 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
4302
4303         * cpperror.c (print_location): Take line and column, for
4304         default positioning use the previously lexed token.
4305         (_cpp_begin_message): Take line and column.
4306         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
4307         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
4308         * cpphash.h (_cpp_begin_message): Update prototype.
4309         * cppinit.c (push_include): Don't set output line.
4310         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
4311         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
4312         (do_pragma): Kludge for front ends.  Don't expand macros at all.
4313         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
4314         (struct cpp_token): Remove output_line.
4315         (struct cpp_callbacks): New member line_change.
4316         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
4317         cpp_get_token): Preserve BOL flag.
4318         (cpp_get_line): Remove.
4319         (_cpp_backup_tokens): Remove useless abort().
4320         * cppmain.c (cb_line_change): New.
4321         (scan_translation_unit): Don't worry about starting new lines here.
4322         * scan-decls.c (scan_decls): Update.
4323         * c-lex.c (c_lex, init_c_lex): Update.
4324         (cb_line_change, src_lineno): New.
4325
4326 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
4327
4328         * tree.c (append_random_chars): Generate the random
4329         characters in a reproducable fashion.
4330
4331 2001-09-14  Richard Henderson  <rth@redhat.com>
4332
4333         * config/i386/i386.c (internal_label_prefix): New.
4334         (internal_label_prefix_len): New.
4335         (override_options): Set them.
4336         (local_symbolic_operand): New.
4337         (legitimate_pic_address_disp_p): Use it.
4338         (legitimize_pic_address): Likewise.
4339
4340 2001-09-14  Marc Espie <espie@openbsd.org>
4341
4342         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
4343         correctly.
4344
4345 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
4346
4347         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
4348         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
4349
4350 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
4351
4352         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
4353         invocation of SUBREG_REGNO_OFFSET.
4354
4355         * haifa-sched.c: Fix typo in FSF copyright statement.
4356         * sched-deps.c: Fix typo in FSF copyright statement.
4357         * sched-ebb.c: Fix typo in FSF copyright statement.
4358         * sched-rgn.c: Fix typo in FSF copyright statement.
4359         * sched-vis.c: Fix typo in FSF copyright statement.
4360
4361         * config.gcc: Move inclusion of arm elf specific header files
4362         from the files themselves into the tm_file variable.  Make
4363         sure that elfos.h is included before target specific elf
4364         headers.
4365         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
4366         already defined.
4367         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
4368         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
4369         ASM_OUTPUT_CASE_LABEL): Protect definition.
4370         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
4371         not already defined.
4372         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
4373         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
4374         Remove duplicate definition.
4375         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
4376         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
4377         (RDATA_SECTION_FUNCTION): Remove redundant definition.
4378         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
4379         Remove inclusion of arm/elf.h.
4380         * config/arm/unknown-elf.h: as for conix-elf.h.
4381         (STARTFILE_SPEC): Include crti.o and crtn.o.
4382         * config/arm/linux-elf.h: as for conix-elf.h.
4383         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
4384         * config/arm/strongarm-elf.h: Remove inclusion of
4385         unknown-elf.h.
4386         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
4387         * config/arm/unknown-elf-oabi.h: Remove inclusion of
4388         unknown-elf.h and elf.h.
4389         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
4390         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
4391         ASM_WEAKEN_LABEL): Remove redundant definition.
4392         * config/arm/elf.h: Test for inclusion of elfos.h
4393         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
4394         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
4395         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
4396         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
4397         redundant definition.
4398         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
4399         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
4400         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
4401         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
4402         Add rules to build crti.o and crtn.o
4403         * crti.asm: New file.
4404         * crtn.asm: New file.
4405
4406 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
4407
4408         * c-parse.in (_yylex): Use _cpp_backup_tokens.
4409         * cpphash.h (struct tokenrun): Add prev.
4410         (struct lexer_state): Remove bol.
4411         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
4412         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
4413         : Remove.
4414         * cppinit.c (cpp_create_reader): Don't set bol.
4415         (cpp_destroy): Don't free lookaheads.
4416         * cpplex.c (lex_directive): Remove.
4417         (next_tokenrun): Update.
4418         (_cpp_lex_token): Clean up logic.
4419         (lex_token): Update to return a pointer to lexed token, since it
4420         can move to the start of the buffer.  Simpify newline handling.
4421         * cpplib.c (SEEN_EOL): Update.
4422         (skip_rest_of_line): Remove lookahead stuff.
4423         (end_directive): Line numbers are already incremented.  Revert
4424         to start of lexed token buffer if we can.
4425         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
4426         parse_answer): Use _cpp_backup_tokens.
4427         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
4428         instead.  Don't check for EOL.
4429         (do_include_common, do_line, do_pragma_system_header): Use
4430         skip_rest_of_line.
4431         * cpplib.h (BOL, _cpp_backup_tokens): New.
4432         * cppmacro.c (save_lookahead_token, take_lookahead_token,
4433         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
4434         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
4435         (builtin_macro): Don't use cpp_get_line.
4436         (cpp_get_line): Short term kludge.
4437         (parse_arg): Handle directives in arguments here.  Back up when
4438         appropriate.  Store EOF at end of argument list.
4439         (funlike_invocation_p): Use _cpp_backup_tokens.
4440         (push_arg_context): Account for EOF at end of list.
4441         (cpp_get_token): Remove lookahead stuff.  Update.
4442
4443 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4444
4445         * c-parse.in (yyerror): Const-ification and/or static-ization.
4446         * c-typeck.c (push_member_name): Likewise.
4447         * collect2.c (main): Likewise.
4448         * dbxout.c (dbxout_parms): Likewise.
4449         * diagnostic.c (format_with_decl): Likewise.
4450         * dwarf2out.c (output_ranges): Likewise.
4451         * dwarfout.c (fundamental_type_code): Likewise.
4452         * except.c (dw2_output_call_site_table): Likewise.
4453         * gcc.c (do_spec_1): Likewise.
4454         * genopinit.c (optabs): Likewise.
4455         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
4456         gen_declaration_1, handle_impent): Likewise.
4457         * protoize.c (default_include, in_system_include_dir, abspath):
4458         Likewise.
4459         * sched-vis.c (visualize_stall_cycles): Likewise.
4460         * sdbout.c (plain_type_1, sdbout_end_function,
4461         sdbout_end_epilogue): Likewise.
4462         * varasm.c (decode_reg_name): Likewise.
4463
4464         * 1750a.c (mod_regno_adjust): Likewise.
4465         * alpha.c (alpha_write_one_linkage,
4466         unicosmk_output_default_externs): Likewise.
4467         * arm.c (arm_condition_codes): Likewise.
4468         * arm.h (arm_condition_codes): Likewise.
4469         * avr.c (output_movsisf, encode_section_info): Likewise.
4470         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
4471         Likewise.
4472         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
4473         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
4474         * m88k.c (output_function_profiler): Likewise.
4475         * mips.c (mips_output_conditional_branch): Likewise.
4476         * ns32k.c (ns32k_out_reg_names): Likewise.
4477         * ns32k.h (ns32k_out_reg_names): Likewise.
4478         * pj.c (pj_output_rval): Likewise.
4479         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
4480         * sparc.c (sparc_flat_function_prologue,
4481         sparc_flat_function_epilogue): Likewise.
4482
4483 2001-09-13  Markus Werle <numerical.simulation@web.de>
4484             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4485
4486         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
4487         Aachen University of Technology".
4488
4489 2001-09-13  Andreas Schwab  <schwab@suse.de>
4490
4491         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
4492         C99.
4493
4494 2001-09-13  Richard Henderson  <rth@redhat.com>
4495
4496         * config/alpha/alpha.c (small_symbolic_operand): New.
4497         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
4498         (some_operand, input_operand): Don't handle HIGH.
4499         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
4500         (alpha_expand_mov): Likewise.
4501         (print_operand) [H]: Just print HIGH symbol.
4502         (print_operand_address): Handle small data.
4503         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
4504         (TARGET_SWITCHES): Add -msmall-data/large-data.
4505         (PIC_OFFSET_TABLE_REGNUM): New.
4506         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
4507         (PREDICATE_COES): Update.
4508         * config/alpha/alpha.md (adddi_er_high): New.
4509         (adddi_er_low): Handle small data.
4510         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
4511         prefer .sdata to .rodata.
4512         (SELECT_RTX_SECTION): Likewise.
4513
4514 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
4515
4516         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
4517         defining __size_t and leaving size_t undefined.
4518
4519 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
4520
4521         * basic-block.h (expunge_block): Declare.
4522         * cfg.c (expunge_block): Remove static declaration.
4523
4524 2001-09-12  Richard Henderson  <rth@redhat.com>
4525
4526         * integrate.c (copy_insn_list): Copy label name from
4527         NOTE_INSN_DELETED_LABEL.
4528
4529 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4530
4531         * c-common.c (c_tree_code_name): Const-ification.
4532         * c-decl.c (c_decode_option): Likewise.
4533         * c-typeck.c (warn_for_assignment): Likewise.
4534         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
4535         Likewise.
4536         * cppinit.c (output_deps): Likewise.
4537         * dependence.c (dependence_string, direction_string): Likewise.
4538         * dwarf2out.c (output_ranges): Likewise.
4539         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
4540         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
4541         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
4542         standard_startfile_prefix, standard_startfile_prefix_1,
4543         standard_startfile_prefix_2, tooldir_base_prefix,
4544         standard_bindir_prefix, find_a_file): Likewise.
4545         * genattrtab.c (make_length_attrs): Likewise.
4546         * gencheck.c (tree_codes): Likewise.
4547         * genemit.c (gen_split): Likewise.
4548         * genrecog.c (special_mode_pred_table): Likewise.
4549         * graph.c (graph_ext): Likewise.
4550         * protoize (default_include): Likewise.
4551         * reload.c (reload_when_needed_name): Likewise.
4552         * sched-vis.c (visualize_stall_cycles): Likewise.
4553         * tlink.c (recompile_files): Likewise.
4554         * toplev.c (decode_g_option): Likewise.
4555         * tradcpp.c (output_deps): Likewise.
4556         * varasm.c (decode_reg_name): Likewise.
4557
4558         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
4559         Const-ification.
4560         * arm.md: Likewise.
4561         * avr.c (avr_regnames, encode_section_info): Likewise.
4562         * c4x.c (float_reg_names): Likewise.
4563         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
4564         * elfos.h (const_section): Likewise.
4565         * i386.c (ix86_comp_type_attributes): Likewise.
4566         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
4567         * ia64/aix.h (UNIQUE_SECTION): Likewise.
4568         * ia64.c (type_names): Likewise.
4569         * m68hc11.c (reg_class_names): Likewise.
4570         * m88k.c (m_options): Likewise.
4571         * mips.c (mips_output_conditional_branch, mips_unique_section):
4572         Likewise.
4573         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
4574         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
4575         ultra_code_names): Likewise.
4576         * sparc.h (OVERRIDE_OPTIONS): Likewise.
4577
4578 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
4579
4580         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
4581         Use --fatal-warnings option for gas.
4582         * configure: Rebuilt.
4583
4584 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
4585
4586         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
4587
4588 2001-09-11  Jim Wilson  <wilson@redhat.com>
4589
4590         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
4591
4592 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
4593
4594         * builtins.c (c_strlen): Treat an offset too large for a
4595         HOST_WIDE_INT as out of range.
4596
4597 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
4598
4599         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
4600         (EDGE_CRITICAL_P): New predicate.
4601         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
4602         handling.
4603         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
4604         (dump_edge_info): Remove "crit".
4605         * cfganal.c (mark_critical_edges): Kill.
4606         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
4607         * cfgcleanup.c (cleanup_cfg): Likewise.
4608         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
4609         (find_spanning_tree): Likewise.
4610         * reg-stack.c (convert_regs_1): Likewise.
4611         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
4612
4613         * basic-block.h (create_basic_block_structure): New.
4614         (create_basic_block): Update prototype.
4615         (force_nonfallthru): New.
4616         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
4617         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
4618         handle updating of block_for_insn, creating of empty BBs and BBs at
4619         the end of INSN chain.
4620         (create_basic_block): New function.
4621         (split_block): Use create_basic_block.
4622         (force_nonfallthru_and_redirect): Break out from ...; cleanup
4623         (redirect_edge_and_branch_force): ... here.
4624         (force_nonfallthru): New.
4625         (split_edge): Rewrite to use force_nonfallthru and create_block.
4626         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
4627         (find_basic_blocks): Free basic_block_for_insn.
4628         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
4629
4630         * cfg.c: Fix formating.
4631         * cfgcleanup.c: Fix formating.
4632         (merge_blocks, tail_recursion_label_p): Return bool.
4633         (merge_blocks_move_predecessor_nojumps,
4634          merge_blocks_move_successor_nojumps): Return void.
4635
4636 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
4637
4638         * configure.in: Check whether assembler supports section merging.
4639         * config.in: Rebuilt.
4640         * configure: Rebuilt.
4641         * varasm.c (variable_section, output_constant_pool): Pass alignment
4642         to SELECT_SECTION and SELECT_RTX_SECTION.
4643         (mergeable_string_section): New.
4644         (mergeable_constant_section): New.
4645         (default_elf_asm_named_section): Output SECTION_MERGE and
4646         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
4647         * output.h (mergeable_string_section): New.
4648         (mergeable_constant_section): New.
4649         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
4650         * toplev.c (flag_merge_constants): New.
4651         (f_options): Add -fmerge-constants and -fmerge-all-constants
4652         options.
4653         (toplev_main): Default to -fno-merge-constants if not optimizing.
4654         * flags.h (flag_merge_constants): Add extern.
4655         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
4656         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
4657         argument.
4658         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
4659         Define if assembler has working .subsection -1 support.
4660         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
4661         Put constant into special SHF_MERGE sections if the linker should
4662         attempt to merge duplicates.
4663         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
4664         macro argument.
4665         Put constant into special SHF_MERGE sections if the linker should
4666         attempt to merge duplicates.
4667         * config/alpha/elf.h: Likewise.
4668         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
4669         has working .subsection -1 support.
4670         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
4671         SELECT_SECTION.
4672         * config/svr3.h: Likewise.
4673         * config/darwin.h: Likewise.
4674         * config/arm/aof.h: Likewise.
4675         * config/arm/linux-elf.h: Likewise.
4676         * config/avr/avr.h: Likewise.
4677         * config/c4x/c4x.h: Likewise.
4678         * config/d30v/d30v.h: Likewise.
4679         * config/i386/dgux.h: Likewise.
4680         * config/i386/osfrose.h: Likewise.
4681         * config/i386/sco5.h: Likewise.
4682         * config/i386/svr3gas.h: Likewise.
4683         * config/ia64/aix.h: Likewise.
4684         * config/m32r/m32r.h: Likewise.
4685         * config/m68k/m68k.h: Likewise.
4686         * config/m88k/dgux.h: Likewise.
4687         * config/m88k/m88k.h: Likewise.
4688         * config/mcore/mcore-pe.h: Likewise.
4689         * config/mips/mips.h: Likewise.
4690         * config/pa/pa.h: Likewise.
4691         * config/pa/pa-linux.h: Likewise.
4692         * config/romp/romp.h: Likewise.
4693         * config/rs6000/sysv4.h: Likewise.
4694         * config/rs6000/xcoff.h: Likewise.
4695         * config/s390/linux.h: Likewise.
4696         * config/sparc/sparc.h: Likewise.
4697         * config/sparc/sysv4.h: Likewise.
4698         * config/stormy16/stormy16.h: Likewise.
4699         * config/v850/v850.h: Likewise.
4700         * config/vax/vms.h: Likewise.
4701         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
4702         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
4703         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
4704         default_elf_asm_named_section for SHF_MERGE sections.
4705
4706 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
4707
4708         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
4709         is OK.
4710
4711 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
4712
4713         * c-common.c (split_specs_attrs): Allow for empty attributes with
4714         empty TREE_PURPOSE.  Fixes PR c/4294.
4715
4716 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
4717
4718         * basic-block.h (cached_make_edge, make_single_succ): New.
4719         (make_edge): Remove first parameter.
4720         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
4721         * cfg.c (cached_make_edge): Rename from make_edge; return newly
4722         created edge; use obstack allocation.
4723         (make_edge, make_single_succ_edge): New.
4724         (first_removed_edge): New static variable.
4725         (init_flow): Initialize first_removed_edge and n_edges.
4726         (clear_edges): Use remove_edge.
4727         (flow_delete_block): Likewise.
4728         (remove_edge): Add removed edges to the removed edges list.
4729         (split_block, redirect_edge_and_branch_force, split_edge):
4730         Use make_edge.
4731         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
4732         (add_noreturn_fake_exit_edges): Likewise.
4733         (connect_infinite_loops_to_exit): Liekwise.
4734         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
4735         Use cached_make_edge.
4736         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
4737         * profile.c (branch_prob): Update make_edge call.
4738         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
4739
4740 2001-09-11  Richard Henderson  <rth@redhat.com>
4741
4742         * config/alpha/alpha.c: Tidy formatting.
4743         (local_symbolic_operand): Verify mode.
4744         (alpha_sa_mask): Ignore unicos for eh_return.
4745         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
4746         * config/alpha/alpha.md (umk divsi patterns): Remove.
4747         (extendsfdf2): Remove unicos check.
4748         (tablejump): Merge vms and unicos code; always use direct set
4749         plus label_ref use.
4750
4751 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
4752
4753         * config.gcc (alpha*-*-unicosmk*): New target.
4754
4755         * config/alpha/alpha-protos.h (symbolic_operand,
4756         unicosmk_add_call_info_word, unicosmk_add_extern,
4757         unicosmk_defer_case_vector, unicosmk_unique_section,
4758         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
4759         unicosmk_asm_file_start, unicosmk_asm_file_end,
4760         unicosmk_output_common): Declare.
4761
4762         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
4763         direct_return, function_arg, alpha_va_start, alpha_va_arg,
4764         alpha_does_function_need_gp, alpha_end_function): Support Cray
4765         Unicos/Mk.
4766         (alpha_init_machine_status, alpha_mark_machine_status,
4767         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
4768         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
4769         unicosmk_asm_named_section, unicosmk_insert_attributes,
4770         unicosmk_section_type_flags, symbolic_operand,
4771         unicosmk_output_module_name, unicosmk_output_default_externs,
4772         unicosmk_output_dex, unicosmk_output_externs,
4773         unicosmk_output_addr_vec, unicosmk_ssib_name,
4774         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
4775         unicosmk_asm_file_end, unicosmk_output_common,
4776         unicosmk_section_type_flags, unicosmk_unique_section,
4777         unicosmk_add_call_info_word, unicosmk_text_section,
4778         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
4779         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
4780         unicosmk_dex_count, unicosmk_special_name): New.
4781         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
4782         TARGET_ABI_UNICOSMK.
4783         (get_aligned_mem, alpha_expand_unaligned_load,
4784         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
4785         alpha_expand_unaligned_store_words): Support big-endian mode.
4786         (print_operand): Likewise. New format specifier 't'. Use
4787         TARGET_AS_SLASH_BEFORE_SUFFIX.
4788         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
4789         (alpha_pv_save_size): Update with above change.
4790         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
4791         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
4792         Unicos/Mk.
4793
4794         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
4795         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
4796         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
4797         (EXTRA_CONSTRAINT): New constraint 'U'.
4798         (PREDICATE_CODES): Add symbolic_operand.
4799
4800         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
4801         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
4802         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
4803         (integer division and modulus patterns): Split in default and
4804         Unicos/Mk versions.
4805         (*divmodsi_internal, *divmoddi_internal): Disable for
4806         TARGET_ABI_UNICOSMK.
4807         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
4808         little-endian and big-endian versions.
4809         (ext, ins, msk): Likewise.
4810         (extv, extzv, insv): Support big-endian mode.
4811         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
4812         (call_umk, call_value_umk, *call_umk, tablejump_umk,
4813         *tablejump_umk_internal, *call_value_umk): New.
4814         (*movdi_nofix): Add pattern for loading an address into a register on
4815         TARGET_ABI_UNICOSMK.
4816         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
4817         (umk_mismatch_args, arg_home_umk): New.
4818         (various insns): Don't use mov, fmov, nop, fnop and unop.
4819         (realign): Support TARGET_ABI_UNICOSMK.
4820
4821         * config/alpha/unicosmk.h: New file.
4822         * config/alpha/t-unicosmk: New file.
4823
4824         * fixinc/inclhack.def (unicosmk_restrict): New.
4825         * fixinc/fixincl.x: Regenerate.
4826
4827         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
4828         (wchar_t): Check for and define __WCHAR_T__.
4829
4830 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
4831
4832         * combine.c (simplify_shift_const): Treat shifts by the mode
4833         size as undefined.
4834
4835 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
4836
4837         * cpphash.h (struct tokenrun): New.
4838         (struct cpp_context): New member bol.
4839         (struct cpp_reader): New members.
4840         (_cpp_init_tokenrun): New.
4841         * cppinit.c (cpp_create_reader): Set up the token runs.
4842         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
4843         (lex_token): New internalised version of _cpp_lex_token.  Don't
4844         handle directives or the multiple include opimisation here any
4845         more.  Simply lex a token.
4846         * cpplib.c (run_directive): Clear bol.
4847         (_cpp_pop_buffer): Set bol.
4848         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
4849         arguments.
4850
4851 2001-09-11  Michael Meissner  <meissner@redhat.com>
4852
4853         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
4854         give an error if the user uses -mfp32.
4855         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
4856         default options.
4857         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
4858         floating point register size.
4859         (EXTRA_SPECS): Add CPP_FPR_SPEC.
4860
4861         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
4862         HOST_WIDE_INT_PRINT_DEC to properly print the result of
4863         int_size_in_bytes.
4864         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
4865         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
4866
4867 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
4868
4869         * dbxout.c (dbxout_parms): Fix typo in comment.
4870         * unroll.c (loop_find_equiv_value): Ditto.
4871         * toplev.c (rest_of_compilation): Ditto.
4872         * loop.c (scan_loop): Ditto.
4873         * dwarf2out.c (struct dw_fde_struct): Ditto.
4874
4875 2001-09-10  Zack Weinberg  <zackw@panix.com>
4876
4877         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
4878         copying identifier when we're just going to throw it away.
4879         (parse_identifier_slow): New routine to handle abnormal cases.
4880         (_cpp_lex_token): Update call site.
4881
4882         * hashtable.c (ht_lookup): Don't assume that the string we've
4883         been given is NUL-terminated.
4884         * system.h: #define __builtin_expect(a, b) to (a) if not
4885         GCC >=3.0.
4886
4887 2001-09-10  Michael Meissner  <meissner@redhat.com>
4888
4889         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
4890         binutils, gdb.
4891
4892 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
4893
4894         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
4895
4896 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4897
4898         * builtins.c (c_getstr): Correct thinko in last change and further
4899         cleanup.
4900
4901 2001-09-10  Tim Freeman <tim@fungibole.com>
4902
4903         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
4904         into varray's and register them as roots with the garbage
4905         collector so they are not collected too soon.
4906
4907 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
4908
4909         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
4910         New.
4911         * basic-block.h (flow_obstack, label_value_list,
4912         tail_recursion_label_list): Declare
4913         (tidy_fallthru_edges): Declare.
4914         (expunge_block, last_loop_beg_note): Delete.
4915         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
4916         * cfg.c: New file
4917         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
4918         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
4919         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
4920         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
4921         expunge_block, flow_delete_block, compute_bb_for_insn,
4922         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
4923         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
4924         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
4925         try_redirect_by_replacing_jump, last_loop_beg_note,
4926         redirect_edge_and_branch, redirect_edge_and_branch_force,
4927         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
4928         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
4929         commit_edge_insertions, dump_flow_info, debug_flow_info,
4930         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
4931         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
4932         Move here from flow.c
4933         * cfganal.c: New file.
4934         (forwarder_block_p, can_fallthru, mark_critical_edges,
4935          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
4936          find_unreachable_blocks, create_edge_list, free_edge_list,
4937          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
4938          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
4939          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
4940          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
4941          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
4942          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
4943         Move here from flow.c
4944         * cfgbuild.c: New file
4945         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
4946          make_edges, find_basic_blocks_1, find_basic_blocks,
4947          find_sub_basic_blocks): Move here from flow.c
4948         * cfgcleanup.c: New file.
4949         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
4950          merge_blocks_move_predecessor_nojumps,
4951          merge_blocks_move_successor_nojumps, merge_blocks,
4952          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
4953          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
4954         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
4955         if succeeded.
4956         * cfgloop.c: New file
4957         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
4958          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
4959          flow_loop_exit_edges_find, flow_loop_nodes_find,
4960          flow_loop_pre_header_scan, flow_loop_pre_header_find,
4961          flow_loop_tree_node_add, flow_loops_tree_build,
4962          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
4963          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
4964         Move here from flow.c
4965         * flow.c: Remove everything moved elsewhere
4966         * output.h (cleanup_cfg): Return bool.
4967
4968         * bb-reorder.c (reorder_block_def): Remove 'index'.
4969         (insert_intra_1): Add argument BB, set block for new note.
4970         (make_reorder_chain): Do not depdent on BB indexes.
4971         (make_reorder_chain_1): Do not use BB indexes.
4972         (label_for_bb): Likewise; set BB for new insn.
4973         (emit_jump_to_block_after): Likewise.
4974         (fixup_reoder_chain): Sanity check that all basic blocks
4975         are chained; verify newly created insn chain; remove
4976         undocnitional jump simplifying; Do not use BB indexes;
4977         properly initialize count and frequency information;
4978         dump reordered sequence.
4979         (insert_intra_bb_scope_notes): update call of insert_intra_1.
4980         (insert_inter_bb_scope_notes): Set block for new insn.
4981         (reorder_basic_blocks): Dump flow info before reoredering.
4982
4983 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4984
4985         * alias.c (clear_reg_alias_info): Use K&R format definition.
4986         Avoid unsigned warning.
4987         * builtins.c: Use "unsigned int", not "unsigned".
4988         (target_char_cast): Use host_integerp and tree_low_cst.
4989         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
4990         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
4991         (c_getstr): Likewise.
4992         (std_expand_builtin_va_arg): Use int_size_in_bytes.
4993         (builtin_memcpy_read_str): Avoid unsigned warning.
4994         (expand_builtin_memcpy): Alignments are unsigned.
4995         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
4996         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
4997         * predict.c (expensive_function_p): LIMIT now unsigned.
4998         * resource.c (mark_target_live_regs): Make some vars unsigned.
4999         * sdbout.c: Use "unsigned int", not "unsigned".
5000         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
5001         (sdbout_source_line): Likewise.
5002         (sdbout_record_type_name): Remove "const" for NAME declaration.
5003         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
5004
5005 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
5006
5007         * calls.c (store_one_arg): Expand comment.
5008
5009 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5010
5011         * calls.c (store_one_arg): Make sure that the entire argument is
5012         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
5013
5014 2001-09-09  Richard Henderson  <rth@redhat.com>
5015
5016         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
5017
5018 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
5019
5020         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
5021
5022 2001-09-09  Richard Henderson  <rth@redhat.com>
5023
5024         * config/alpha/alpha.c (alpha_next_sequence_number): New.
5025         (alpha_this_literal_sequence_number): New.
5026         (alpha_this_gpdisp_sequence_number): New.
5027         (some_operand, input_operand): Add HIGH.
5028         (local_symbolic_operand): New.
5029         (alpha_encode_section_info): New.
5030         (alpha_legitimate_address_p): Allow LO_SUM.
5031         (alpha_legitimize_address): Generate HIGH+LO_SUM.
5032         (alpha_expand_mov): Likewise.
5033         (secondary_reload_class): Check memory_operand not general_operand
5034         for FP_REGS test.
5035         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
5036         (alpha_expand_unaligned_store): Likewise.
5037         (alpha_expand_unaligned_load_words): Likewise.
5038         (alpha_expand_unaligned_store_words): Likewise.
5039         (alpha_expand_block_clear): Likewise.
5040         (print_operand): Handle %#, %*, %H.
5041         (print_operand_address): Handle LO_SUM.
5042         (find_lo_sum): New.
5043         (alpha_does_function_need_gp): Use it.
5044         (alpha_expand_block_move): Fix signed compare warnings.
5045         (alpha_sa_mask, alpha_align_insns): Likewise.
5046         * config/alpha/alpha-protos.h: Update.
5047         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
5048         (MASK_EXPLICIT_RELOCS): New.
5049         (TARGET_SWITCHES): Add -mexplicit-relocs.
5050         (EXTRA_CONSTRAINT): Add 'T'.
5051         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
5052         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
5053         (ENCODE_SECTION_INFO): Out line.
5054         (REDO_SECTION_INFO_P): New.
5055         (STRIP_NAME_ENCODING): New.
5056         (ASM_OUTPUT_LABELREF): New.
5057         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
5058         (PREDICATE_CODES): Update.
5059         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
5060         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
5061         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
5062         builtin_setjmp_receiver_er, exception_receiver_1_er,
5063         call_value_osf_1_er): New patterns.
5064         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
5065         (movqi, movhi, movsi): Add explicit $31 base register to lda.
5066         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
5067         (FINAL_PRESCAN_INSN): New.
5068
5069 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
5070
5071         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
5072
5073 2001-09-08  Andreas Jaeger  <aj@suse.de>
5074
5075         * i386.h (TARGET_SWITCHES): Fix description.
5076
5077 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
5078
5079         * rs6000.c (num_insns_constant): Compute number of instructions
5080         more accurately.
5081
5082         * doc/install.texi: Explain AIX exception handling work-around.
5083         Update URL for AIX fixes.
5084
5085 2001-09-07  Jim Wilson  <wilson@redhat.com>
5086
5087         * alias.c (clear_reg_alias_info): New.
5088         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
5089         * rtl.h (clear_reg_alias_info): Declare.
5090
5091 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5092
5093         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
5094         available.
5095         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
5096         (m16m,edivm,emulm): Change declaration to match definition.
5097
5098 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
5099
5100         * reload.c (push_reload): Check for subreg_lowpart_p instead of
5101         SUBREG_BYTE being 0 when determining if the inner part of a subreg
5102         can be reloaded.
5103
5104 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5105
5106         * c-common.c (signed_or_unsigned_type): Handle machine mode types
5107         which have no corresponding C type.
5108         * fold_const.c (target_isinf,target_isnan,target_negative): Update
5109         the representation of 64-bit doubles to work with 64-bit ints.
5110
5111 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
5112
5113         * config/mips/mips.c (override_options): Do not override ISA when ABI
5114         specified if MIPS_CPU_STRING_DEFAULT was specified.
5115
5116 2001-09-07  Richard Henderson  <rth@redhat.com>
5117
5118         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
5119         (express_from_1): Wrap lines.
5120         * rtlanal.c (commutative_operand_precedence): Rename from
5121         operand_preference; export.
5122         * rtl.h: Declare it.
5123         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
5124         (simplify_binary_operation): Invoke simplify_plus_minus on
5125         (CONST (PLUS ...)) as well.
5126         (struct simplify_plus_minus_op_data): New.
5127         (simplify_plus_minus_op_data_cmp): New.
5128         (simplify_plus_minus): Use them.  Avoid infinite recursion with
5129         simplify_binary_operation wrt CONST.
5130
5131 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
5132
5133         * h8300-protos.h (general_operand_dst_push): Remove.
5134         * h8300.c (general_operand_dst_push): Likewise.
5135         * h8300.h (OK_FOR_T): Likewise.
5136         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
5137         * h8300.md (pushqi_h8300): New.
5138         (pushqi_h8300hs): Likewise.
5139         (pushqi): Likewise.
5140         (pushhi_h8300): Likewise.
5141         (pushhi_h8300hs): Likewise.
5142         (pushhi): Likewise.
5143
5144 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5145
5146         * genattrtab.c (attr_printf): First arg is unsigned.
5147         Clean up formatting of callers.
5148
5149 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
5150
5151         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
5152         registers.
5153
5154 2001-09-07  Andreas Jaeger  <aj@suse.de>
5155
5156         * i386.h (TARGET_SWITCHES): Fix descriptions.
5157
5158 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
5159
5160         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
5161
5162 2001-09-06  Ira Ruben  <ira@apple.com>
5163
5164         Remove OP_IDENTIFIER.
5165         * tree.def (OP_IDENTIFIER): Remove.
5166         * tree.c (tree_node_kind enum): Remove op_id_kind.
5167         (tree_node_kind_names): Remove "op_identifiers".
5168         (make_node): Remove OP_IDENTIFIER test.
5169         (build_op_identifier): Removed because it isn't being used.
5170         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
5171         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
5172
5173 2001-09-06  Richard Henderson  <rth@redhat.com>
5174
5175         * simplify-rtx.c (simplify_binary_operation): Revert last change.
5176
5177 2001-09-06  Richard Henderson  <rth@redhat.com>
5178
5179         * simplify-rtx.c (simplify_binary_operation): Simplify contents
5180         of CONST.
5181
5182 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5183
5184         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
5185         number used for CR register.
5186
5187 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
5188                           Joern Rennecke (amylaar@cygnus.com)
5189
5190         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
5191         * h8300.c (initial_offset): Handle offset between RP and FP.
5192         (h8300_return_addr_rtx): New function.
5193         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
5194         return register.
5195         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
5196         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
5197         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
5198         (CAN_ELIMINATE, REGISTER_NAMES):
5199         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
5200
5201 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
5202
5203         Remove TYPE_NONCOPIED_PARTS.
5204         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
5205         (struct tree_type): Remove noncopied_parts.
5206         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
5207         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
5208         (fixed_type_p): Remove.
5209         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
5210         (expand_expr, MODIFY_EXPR): Likewise.
5211         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
5212         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
5213
5214 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
5215
5216         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
5217         compiler warnings.
5218         (mask64_operand): Likewise.
5219         (includes_rldic_lshift_p): Likewise.
5220         (includes_rldicr_lshift_p): Likewise.
5221
5222 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
5223
5224         * objc/objc-act.c (build_message_expr): If a class method cannot
5225         be found, do not issue a warning if a corresponding instance
5226         method exists in the root class.
5227
5228 2001-09-05  Richard Henderson  <rth@redhat.com>
5229
5230         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
5231
5232 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
5233
5234         * function.c (ggc_mark_struct_function): Mark f->outer.
5235         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
5236         * integrate.c (output_inline_function): ... not here.
5237
5238 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
5239
5240         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
5241
5242         * i386.c (size_cost): New static variable.
5243         (override_function): Use size_cost when -Os is specified.
5244
5245         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
5246         properly;  Use current_function_calls_eh_return.
5247         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
5248         use leave to avoid depdendancy chain.
5249
5250         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
5251         get BB loop_depth instead of computing it from LOOP notes.
5252
5253         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
5254
5255 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5256
5257         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5258         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
5259         UNALIGNED_DOUBLE_INT_ASM_OP): Define
5260
5261 2001-09-05  Jeffrey A Law  (law@cygnus.com)
5262             Jason Merrill (jason@redhat.com)
5263
5264         * stor-layout.c (layout_type): Complain if an array's size can
5265         not be represented in a size_t.
5266
5267         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
5268
5269 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
5270
5271         * gcc.c: (process_command) Add parentheses around assignment
5272         used as truth value.
5273
5274 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
5275
5276         * config/mips/mips.c (save_restore_insns): Don't mark any register
5277         save slots as unchanging if current_function_calls_eh_return.
5278
5279 2001-09-05  Richard Henderson  <rth@redhat.com>
5280
5281         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
5282         * config/alpha/alpha-protos.h: Declare it.
5283         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
5284         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
5285         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
5286         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
5287         (REG_OK_FOR_BASE_P): Select one of the above.
5288
5289 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
5290
5291         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
5292         (crti.o): Prefix name of object file with $(T).
5293         (crtn.o): Likewise.
5294
5295 2001-09-05  David S. Miller  <davem@redhat.com>
5296
5297         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
5298         * config/sparc/linux64.h: Likewise.
5299
5300 2001-09-05  Andreas Jaeger  <aj@suse.de>
5301
5302         * doc/invoke.texi (i386 Options): -mwide-multiply is not
5303         available anymore, remove the documentation.
5304         (i386 Options): Fix typo, cleanup index entries.
5305
5306         * prefix.c (concat): Remove, we can use the version from liberty.
5307
5308 2001-09-05  Richard Henderson  <rth@redhat.com>
5309
5310         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
5311         New functions split out of md file expanders.
5312         * config/alpha/alpha-protos.h: Declare them.
5313         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
5314
5315 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
5316
5317         * cppmacro.c (funlike_invocation_p): No need to restore context.
5318
5319 2001-09-04  Richard Henderson  <rth@redhat.com>
5320
5321         * reload.c (push_reload): Export.
5322         * reload.h (push_reload): Declare it.
5323
5324         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
5325         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
5326         * config/alpha/alpha.c (alpha_legitimize_address): New.
5327         (alpha_legitimize_reload_address): Likewise.
5328         * config/alpha/alpha-protos.h: Declare them.
5329
5330 2001-09-04  Stan Shebs  <shebs@apple.com>
5331
5332         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
5333         * config/darwin.c (machopic_stub_name): Account for internally
5334         generated lib calls such as memcpy.
5335
5336 2001-09-04  Richard Henderson  <rth@redhat.com>
5337
5338         * unwind.h (_UA_END_OF_STACK): New flag.
5339         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
5340
5341 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
5342
5343         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
5344
5345 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
5346
5347         * config/mips/mips.c (save_restore_insns): Change base_offset to
5348         fp_offset in second call to mips_emit_frame_related_store.
5349
5350 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
5351
5352         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
5353         sometimes be represented as a NOTE of type
5354         NOTE_INSN_DELETED_LABEL.
5355         (Insns): Document NOTE_INSN_DELETED_LABEL.
5356
5357 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
5358
5359         * c-common.h (tree_dump_index): Add more comments.
5360         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
5361         (dump_option_value_info): New struct.
5362         (dump_options): New array.
5363         (dump_switch_p): Parse switch options symbolically.
5364         * doc/invoke.texi (-fdump-ast): Rename to ...
5365         (-fdump-tree): ... here. Document that options are symbolic, and
5366         not all are applicable.
5367
5368 2001-09-04  David S. Miller  <davem@redhat.com>
5369
5370         * config/sparc/sparc.md (define_splits): Kill constraints.
5371
5372         Cleanup redundant and unused insn attributes.
5373         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
5374         binary, and move.  Mark ialu as default.
5375         (commented out define_function_unit "alu"): Kill.
5376         (define_attr "use_clobbered"): Kill.
5377         (whole file): Kill address insn type references.  Replace
5378         all unary/binary/move references with ialu.
5379         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
5380         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
5381         TYPE_IALU.
5382
5383         Simplify length insn attribute and make more judicious use
5384         of insn attribute defaulting.
5385         * config/sparc/sparc.md (all insns with length > one): Mark as
5386         insn type multi if real instructions, else use default if
5387         it is a forced splitter.
5388         (all insns with length == one): Use default insn length.
5389         (all insns of type ialu): Use default insn type.
5390
5391         Fix erroneous insn attribute settings.
5392         (addx): Set insn type to misc.
5393         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
5394         const_umulsidi3_sp64): Set insn type to imul.
5395
5396         Track SFmode vs DFmode insns according to UltraSPARC
5397         scheduling rules.
5398         * config/sparc/sparc.md ("fptype"): New attribute, default
5399         to "single".
5400         (all DFmode single insns): Mark as fptype "double".
5401
5402 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
5403
5404         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
5405
5406 2001-09-03  Richard Henderson  <rth@redhat.com>
5407
5408         * function.h (struct function): Add arg_pointer_save_area_init.
5409         * function.c (expand_function_end): Init arg_pointer_save_area.
5410         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
5411         when called from a nested function.
5412
5413 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
5414
5415         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
5416         is enabled.
5417
5418 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
5419
5420         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
5421
5422 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
5423
5424         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
5425         (emit_push_insn): Use specified padding direction when
5426         STACK_PUSH_CODE is POST_INC.
5427
5428         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
5429
5430 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5431
5432         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
5433
5434 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
5435
5436         * cppinit.c (cpp_start_read): Free the imacros list as we
5437         traverse it.  Don't free the chains before returning.
5438         (_cpp_push_next_buffer): Only try pushing buffers if we've
5439         completed -imacros handling.
5440
5441 2001-08-31  Eric Christopher  <echristo@redhat.com>
5442
5443         * gcc.c (handle_braces): Add explaination for abort.
5444
5445 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
5446
5447         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
5448         move adjustment of bitpos instead.
5449
5450 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
5451
5452         * function.c: Remove all_functions.  Make outer_function_chain
5453         static.
5454         (init_function_start): Don't add new function structure to
5455         all_functions.
5456         (find_function_data, push_function_context_to,
5457         pop_function_context_from, put_var_into_stack,
5458         trampoline_address): Update for changed structure element names.
5459         (push_function_context_to): Disentangle.
5460         (free_after_compilation): Also free F.
5461         (expand_dummy_function_end): Don't free cfun here.
5462         (put_var_into_stack): Comment why we can't use find_function_data here.
5463         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
5464         (mark_function_chain): Split into maybe_mark_struct_function and
5465         ggc_mark_struct_function.  Export the latter.
5466         (init_function_once): Mark from cfun and outer_function_chain;
5467         not all_functions.
5468
5469         * function.h (struct function): Kill next_global.  Rename next
5470         to outer.  All users updated to match.
5471         (all_functions, outer_function_chain): Don't declare.
5472
5473         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
5474         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
5475         don't touch f->inlinable, after calling rest_of_compilation.
5476
5477         * tree.h: Forward-declare struct function.  Prototype
5478         ggc_mark_struct_function.
5479
5480 2001-08-31  Kazu Hirata  <kazu@hxi.com>
5481
5482         * config/h8300/h8300.md (*andorhi3): Fix typos.
5483
5484 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5485
5486         * calls.c (emit_library_call_value): Don't use a fixed
5487         argument after VA_CLOSE, i.e. out of scope in traditional C.
5488
5489         * emit-rtl.c (gen_rtvec): Likewise.
5490
5491 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5492
5493         * Makefile.in (c-pragma.o): Depend on output.h.
5494         (reorg.o): Depend on except.h.
5495
5496         * c-pragma.c: Include output.h.
5497
5498         * reorg.c: Include except.h.
5499
5500         * unwind-dw2.c: Call __builtin_alloca, not alloca.
5501
5502 2001-08-31  Richard Henderson  <rth@redhat.com>
5503
5504         * sched-deps.c (add_dependence): Don't elide dependency if the
5505         conditional used by insn is modified in elem.
5506
5507 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
5508
5509         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
5510
5511 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
5512
5513         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
5514         dump_switch_p.
5515
5516 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
5517
5518         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
5519         function.
5520         (stormy16_asm_out_constructor): New function.
5521         (TARGET_ASM_CONSTRUCTOR): Define.
5522         (TARGET_ASM_DESTRUCTOR): Define.
5523
5524 2001-08-31  Andreas Jaeger  <aj@suse.de>
5525
5526         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
5527         * loop.c (add_label_notes): Likewise.
5528         * reload.c (find_reloads): Likewise.
5529         * config/sh/sh.c (machine_dependent_reorg): Likewise.
5530
5531 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
5532
5533         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
5534         code here.  Take _Unwind_{W,Sw}ord*.
5535         (read_encoded_value_with_base): Use them.
5536         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
5537         words.
5538         (extract_cie_info): Simplify read_?leb128 handling.
5539         (execute_stack_op, execute_cfa_program): Likewise.
5540         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
5541
5542 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
5543
5544         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
5545         the frame pointer to pop the stack if convenient.
5546
5547         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
5548         Don't use post-increment before combine.
5549         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
5550         a call-saved register.
5551
5552 2001-08-31  Andreas Jaeger  <aj@suse.de>
5553
5554         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
5555         code was correct.
5556
5557 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
5558
5559         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
5560         not DIV/MOD, of course.
5561
5562 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
5563
5564         * rtl.def: Undo my patch commited 2001-08-27.
5565
5566         * genattrtab.c: Ditto.
5567
5568         * rtl.h: Ditto.
5569
5570         * sched-int.h: Ditto.
5571
5572         * target-def.h: Ditto.
5573
5574         * target.h: Ditto.
5575
5576         * haifa-sched.c: Ditto.
5577
5578         * sched-rgn.c: Ditto.
5579
5580         * sched-vis.c: Ditto.
5581
5582         * Makefile.in: Ditto.
5583
5584         * doc/md.texi: Ditto.
5585
5586         * doc/tm.texi: Ditto.
5587
5588         * doc/contrib.texi: Ditto.
5589
5590         * doc/gcc.texi: Ditto.
5591
5592         * genattrtab.h: Remove it.
5593
5594         * genautomata.c: Remove it.
5595
5596         * genattr.c: Undo my patch and Richard Henderson's patch commited
5597         2001-08-27.
5598
5599 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
5600
5601         * config.gcc (h8300-*-elf*): New case.
5602         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
5603         (SUBTARGET_CPP_SPEC): Define.
5604         (EXTRA_SPECS): Define.
5605         (SUBTARGET_EXTRA_SPECS): Define.
5606         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
5607         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
5608
5609 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
5610
5611         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
5612         (LIB2FUNCS_EXTRA): Define.
5613         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
5614         config/h8300/fixunssfsi.c: New file.
5615
5616 2001-08-30  Kazu Hirata  <kazu@hxi.com>
5617
5618         * config/h8300/h8300.md (zero_extendqihi2): Changes to
5619         define_expand to accommodate target-specific attributes.
5620         (anonymous zero_extendqihi2 patterns): New.
5621
5622 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
5623
5624         * h8300.md (*andorhi3): New pattern.
5625
5626 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
5627
5628         * h8300.c (dosize): Fix test for "sub".
5629
5630 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
5631
5632         * c-typeck.c (pointer_diff): Try to eliminate common term before
5633         doing conversions.
5634
5635 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
5636
5637         * config/arm/arm.c (arm_compute_initial_elimination_offset):
5638         Account for the saves of the FP registers.
5639
5640         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
5641         (TEXT_SECTION_ASM_OP): Define.
5642         (INIT_SECTION_ASM_OP): Define.
5643         (FINI_SECTION_ASM_OP): Define.
5644         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
5645         (RDATA_SECTION_FUNCITON): Provide prototype.
5646
5647 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
5648
5649         * reload1.c (move2add_note_store): Correct typo checking for
5650         argument pushes.
5651
5652 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
5653
5654         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
5655         note should not be considered outside the libcall block.
5656
5657 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5658
5659         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
5660
5661 2001-08-29  Kazu Hirata  <kazu@hxi.com>
5662
5663         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
5664
5665 2001-08-29  Kazu Hirata  <kazu@hxi.com>
5666
5667         * config/h8300/h8300-protos.h: Add a prototype for
5668         emit_logical_op.
5669         * config/h8300/h8300.c (emit_logical_op): New.
5670         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
5671         (andsi3): Likewise.
5672         (iorhi3): Likewise.
5673         (iorsi3): Likewise.
5674         (xorhi3): Likewise.
5675         (xorsi3): Likewise.
5676
5677 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5678
5679         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
5680         comparison with rtx INTVAL.
5681         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
5682         expression.
5683         * pa.h (FUNCTION_ARG_SIZE): Likewise.
5684
5685 2001-08-29  Kazu Hirata  <kazu@hxi.com>
5686
5687         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
5688         comment typos.
5689
5690 2001-08-29  Kazu Hirata  <kazu@hxi.com>
5691
5692         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
5693         (reg n) to (mem (pre_dec (reg n))
5694         (anonymous movsi pattern): Likewise.
5695
5696 2001-08-29  Kazu Hirata  <kazu@hxi.com>
5697
5698         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
5699
5700 2001-08-29  Kazu Hirata  <kazu@hxi.com>
5701
5702         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
5703         several special constants.
5704
5705 2001-08-29  Kazu Hirata  <kazu@hxi.com>
5706
5707         * config/h8300/lib1funcs.asm: Fix comment typos.
5708
5709 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5710
5711         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
5712         Fix format specifier warnings.
5713
5714         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
5715         inet_makeaddr, semctl): Prototype.
5716
5717         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
5718         (save_restore_insns): Use base_offset, not gp_offset.
5719
5720         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
5721         (ASM_OUTPUT_BYTE): Fix format specifier warning.
5722
5723 2001-08-29  Richard Henderson  <rth@redhat.com>
5724
5725         * bb-reorder.c (function_tail_eff_head): New.
5726         (record_effective_endpoints): Set it.
5727         (fixup_reorder_chain): Use it.
5728
5729 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5730
5731         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
5732
5733 2001-08-28  Dale Johannesen  <dalej@apple.com>
5734
5735         * config/darwin.c (machopic_function_base_name): Add const
5736         qualifier to a string.
5737         (darwin_encode_section_info): Ditto.
5738
5739 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5740
5741         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
5742         function definition.
5743
5744 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
5745
5746         * df.h (struct df): Add rts_order variable.
5747
5748         * df.c (df_visit_next_rts): New function.
5749         (df_visit_next): Renamed to df_visit_next_rc
5750         (df_analyse_1): Allocate/compute/free rts_order as well.
5751         (df_rd_global_compute): Use df_visit_next_rc instead of
5752         df_visit_next.
5753         (df_ru_global_compute): Use df_visit_next_rts instead of
5754         df_visit_next.
5755
5756         * flow.c (flow_reverse_top_sort_order_compute): New function.
5757
5758         * basic-block.h: Add prototype.
5759
5760 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
5761
5762         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
5763         blocks, the BB_REACHABLE is now set, rather than aux being
5764         non-NULL. Update the test to reflect this.
5765
5766 2001-08-28  Eric Christopher  <echristo@redhat.com>
5767
5768         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
5769         config/mips/crti.asm: Ditto.
5770
5771 2001-08-28  Eric Christopher <echristo@redhat.com>
5772             Richard Henderson <rth@redhat.com>
5773
5774         * c-pragma.h (add_weak): Move prototype from here...
5775         * output.h (add_weak): ... to here.
5776         * varasm.c (add_weak): Fix typo.
5777         * config/mips/crti.asm: New file.
5778         * config/mips/crtn.asm: Ditto.
5779         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
5780         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
5781         (INVOKE__main): Ditto.
5782         (INIT_SECTION_ASM_OP): New.
5783         (FINI_SECTION_ASM_OP): Ditto.
5784         (STARTFILE_SPEC): Add crti.
5785         (ENDFILE_SPEC): Add crtn.
5786         * config/mips/elf64.h: Same.
5787         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
5788         Remove.
5789         * config/mips/vxworks.h: Ditto.
5790         * config/mips/t-elf: Support crti and crtn.
5791
5792 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
5793
5794         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
5795         INSN_LIST.
5796
5797 2001-08-28  Richard Henderson  <rth@redhat.com>
5798
5799         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
5800         (one_cmplbi2 splitter): Remove redundant test.
5801
5802 2001-08-28  Dale Johannesen  <dalej@apple.com>
5803
5804         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
5805
5806 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
5807
5808         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
5809
5810 2001-08-28  Stan Shebs  <shebs@apple.com>
5811
5812         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
5813         (UNALIGNED_SHORT_ASM_OP): Define.
5814         (UNALIGNED_INT_ASM_OP): Define.
5815
5816 2001-08-28  Will Cohen  <wcohen@redhat.com>
5817
5818         * config/rs6000/rs6000.md (store_multiple): Correct RTL
5819         generation for first set.
5820
5821 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
5822
5823         * flow.c (redirect_edge_succ_nodup): Return new edge.
5824         (try_simplify_condjump): Use new edge.
5825         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
5826
5827         * cse.c (cse_basic_block): Skip note instructions.
5828
5829 2001-08-27  Richard Henderson  <rth@redhat.com>
5830
5831         * combine.c (combine_simplify_rtx): Don't reverse condition
5832         if there is no reverse for the condition.
5833         (simplify_comparison): Don't simplify subregs from INT to FP.
5834
5835         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
5836         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
5837         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
5838         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
5839         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
5840         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
5841
5842 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
5843
5844         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
5845         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
5846         (pushqi1): New.
5847         (adddi_dilshr32, adddi_dishl32): Only data register can be
5848         source for mem destination.
5849
5850         * expmed.c (store_bit_field): Ignore adjustment to bitpos
5851         and use bitnum to decide about register move.
5852
5853 2001-08-27  Richard Henderson  <rth@redhat.com>
5854
5855         * genattr.c (main): Emit state_t even when not doing scheduling.
5856
5857 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
5858             Richard Henderson  <rth@redhat.com>
5859
5860         * gcse.c (reg_first_set, reg_last_set): Replace with ...
5861         (reg_avail_info, current_bb): ... these.
5862         (oprs_unchanged_p, record_last_reg_set_info): Use them.
5863         (compute_hash_table): Likewise.
5864
5865 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
5866
5867         * flow.c (verify_flow_info): Use checksums to verify edges.
5868
5869 2001-08-27  Richard Henderson  <rth@redhat.com>
5870
5871         * genautomata.c (expand_automata): Always create a description.
5872
5873 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
5874
5875         * optabs.c (expand_binop): Correctly handle the carry in multiword
5876         add/subtract operations.
5877
5878 2001-08-27  Fred Fish  <fnf@be.com>
5879
5880         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
5881         __SIZE_TYPE__.
5882
5883 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
5884
5885         * reload.c (find_reloads_toplev): Back out this change:
5886
5887         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
5888
5889         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
5890         mem if the address is a mode_dependent_address_p.
5891
5892 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
5893
5894         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
5895         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
5896         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
5897         RTL constructions.
5898
5899         * genattr.c (main): New variable num_insn_reservations.  Increase
5900         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
5901         pipeline hazard recognizer interface.
5902
5903         * genattrtab.h: New file.
5904
5905         * genattrtab.c: Include genattrtab.h.
5906         (attr_printf, check_attr_test, make_internal_attr,
5907         make_numeric_value): Move protypes into genattrtab.h.  Define them
5908         as external.
5909         (num_dfa_decls): New global variable.
5910         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
5911         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
5912         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
5913         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
5914
5915         * genautomata.c: New file.
5916
5917         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
5918
5919         * sched-int.h: (curr_state): Add the external definition for
5920         automaton pipeline interface.
5921         (haifa_insn_data): Add comments for members blockage and units.
5922
5923         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
5924         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
5925         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
5926         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
5927         TARGET_SCHED_DFA_POST_CYCLE_INSN,
5928         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
5929         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
5930         macros.
5931         (TARGET_SCHED): Use the new macros.
5932
5933         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
5934         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
5935         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
5936         dfa_bubble): New members in gcc_target.sched.
5937
5938         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
5939         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
5940         (insn_queue): Redefine it as pointer to array.
5941         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
5942         INSN_QUEUE_SIZE.
5943         (max_insn_queue_index_macro_value): New variable.
5944         (curr_state, dfa_state_size, ready_try): New varaibles for
5945         automaton interface.
5946         (ready_element, ready_remove, max_issue): New function prototypes
5947         for automaton interface.
5948         (choose_ready): New function prototype.
5949         (insn_unit, blockage_range): Add comments.
5950         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
5951         FUNCTION_UNITS_SIZE == 0.
5952         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
5953         actual_hazard, potential_hazard): Add comments.
5954         (insn_cost): Use cost -1 as undefined value.  Remove
5955         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
5956         pipeline interface.
5957         (ready_element, ready_remove): New functions for automaton
5958         interface.
5959         (schedule_insn): Add new code for automaton pipeline interface.
5960         (queue_to_ready): Add new code for automaton pipeline interface.
5961         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
5962         (debug_ready_list): Print newline when the queue is empty.
5963         (max_issue): New function for automaton pipeline interface.
5964         (choose_ready): New function.
5965         (schedule_block): Add new code for automaton pipeline interface.
5966         Print ready list before scheduling each insn.
5967         (sched_init): Add new code for automaton pipeline interface.
5968         Initiate insn cost by -1.
5969         (sched_finish): Free the current automaton state and finalize
5970         automaton pipeline interface.
5971
5972         * sched-rgn.c: Include target.h.
5973         (init_ready_list, new_ready, debug_dependencies): Add new code for
5974         automaton pipeline interface.
5975
5976         * sched-vis.c: Include target.h.
5977         (get_visual_tbl_length): Add code for automaton interface.
5978         (target_units, print_block_visualization):  Add comments.
5979
5980         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
5981         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
5982         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
5983         (getruntime.o, genautomata.o): New entries.
5984         (genattrtab.o): Add new dependency file genattrtab.h.
5985         (genattrtab): Add new dependencies.  Link it with `libm.a'.
5986         (getruntime.o, hashtab.o): New entries for canadian cross.
5987
5988         * doc/md.texi: Description of automaton based model.
5989
5990         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
5991         Add comments.
5992         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
5993         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
5994         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
5995         TARGET_SCHED_DFA_POST_CYCLE_INSN,
5996         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
5997         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
5998         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
5999         hook descriptions.
6000         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
6001         MAX_DFA_ISSUE_RATE): New macro descriptions.
6002
6003         * doc/contrib.texi: Add dfa based scheduler contribution.
6004
6005         * doc/gcc.texi: Add more information about genattrtab.
6006
6007 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
6008
6009         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
6010         an RTL basic block.
6011
6012 2001-08-27  Richard Henderson  <rth@redhat.com>
6013
6014         * function.c (expand_function_end): Don't init arg_pointer_save_area.
6015         (get_arg_pointer_save_area): New.  Create an init it here.
6016         (fix_lexical_addr): Use it.
6017         * function.h: Declare it.
6018         * builtins.c (expand_builtin_setjmp_receiver): Use it.
6019         * stmt.c (expand_nl_goto_receiver): Use it.
6020
6021 2001-08-27  Richard Henderson  <rth@redhat.com>
6022
6023         * final.c (final_scan_insn): Don't enter APP_ON mode for
6024         empty asm strings.
6025
6026         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
6027         alignment for assemble_integer for DW_EH_PE_aligned.
6028         * except.c (output_function_exception_table): Likewise.
6029
6030 2001-08-26  Andreas Jaeger  <aj@suse.de>
6031
6032         * c-tree.h: Add prototyp for c_sizeof_nowarn.
6033
6034 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
6035
6036         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
6037
6038 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
6039
6040         * config/rs6000/rs6000.c (mask_operand): Rewrite without
6041         bit-shifting loop.
6042         (mask64_operand): Likewise.
6043         (rldic_operand): Delete.
6044         (includes_lshift64_p): Delete.
6045         (includes_rldic_lshift_p): New function.
6046         (includes_rldicr_lshift_p): New function.
6047         (print_operand): Don't call rldic_operand in case 'W'.
6048         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
6049         (includes_lshift64_p): Remove.
6050         (includes_rldic_lshift_p): Declare.
6051         (includes_rldicr_lshift_p): Declare.
6052         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
6053         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
6054         Replace match_operand rldic_operand predicate with
6055         const_int_operand.  Replace includes_lshift64_p condition with
6056         includes_rldic_lshift_p.
6057         <ashldi3_internal 64 bit rldicr patterns>: New.
6058
6059 2001-08-27  Andreas Jaeger  <aj@suse.de>
6060
6061         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
6062         * errors.c: Likewise.
6063         * final.c: Likewise.
6064         * dwarf2asm.c: Likewise.
6065         * doprint.c (checkit): Likewise.
6066         * diagnostic.c: Likewise.
6067         * collect2.c: Likewise.
6068         * calls.c: Likewise.
6069         * c-semantics.c (build_stmt): Likewise.
6070         * c-format.c (status_warning): Likewise.
6071         * c-errors.c (pedwarn_c99): Likewise.
6072         * builtins.c (validate_arglist): Likewise.
6073         * config/pj/pj.c (pj_printf): Likewise.
6074         * fix-header.c: Likewise.
6075         * gcc.c: Likewise.
6076         * gcov.c (fnotice): Likewise.
6077         * gensupport.c (message_with_line): Likewise.
6078         * mips-tfile.c: Likewise.
6079         * protoize.c (notice): Likewise.
6080         * read-rtl.c (fatal_with_file_and_line): Likewise.
6081         * rtl-error.c: Likewise.
6082         * tradcpp.c: Likewise.
6083         * tree.c: Likewise.
6084         * cp/tree.c (build_min_nt): Likewise.
6085         (build_min): Likewise.
6086         * cp/lex.c: Likewise.
6087         * cp/errfn.c: Likewise.
6088         * cp/rtti.c (create_pseudo_type_info): Likewise.
6089
6090 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
6091
6092         * df.c (df_uses_record): Return after recording all uses
6093         in ASM_OPERANDS.
6094
6095 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
6096
6097         * df.c (df_insn_modify): Realloc the INSN table here, if
6098         necessary, here, too.
6099
6100 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
6101
6102         * config/mips/mips.c (mips_function_value): Handle complex return
6103         values.
6104
6105 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
6106
6107         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
6108         unshared.
6109         * reload.c (make_memloc): Copy result if it is still
6110         reg_equiv_memory_loc[regno] on return.
6111         (subst_reloads) [ENABLE_CHECKING]: Check that none of
6112         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
6113         reg_equiv_mem are modified by the substitutions.
6114
6115 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
6116
6117         * predict.c (expensive_function_p): New.
6118         * rtl.h (expensive_function_p): Declare.
6119         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
6120         (use_fast_prologue_epilogue): New static variable.
6121         (expand_prologue): Set it; emit short prologues if unset.
6122         (expand_epilogue): Likewise.
6123
6124 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
6125
6126         * config.gcc: Add stormy16-*-elf case.
6127         * config/stormy16/stormy-abi: New file.
6128         * config/stormy16/stormy16-lib2.c: New file.
6129         * config/stormy16/stormy16-protos.h: New file.
6130         * config/stormy16/stormy16.c: New file.
6131         * config/stormy16/stormy16.h: New file.
6132         * config/stormy16/stormy16.md: New file.
6133         * config/stormy16/t-stormy16: New file.
6134
6135 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
6136
6137         * i386.h (no-accumulate-outgoing-args): Use proper mask.
6138
6139 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
6140
6141         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
6142         descriptor members are pointer size, not constant 4.
6143         * config/rs6000/rs6000.md (define_splits): Remove more unused
6144         constraints.
6145
6146 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6147
6148         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
6149
6150 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
6151
6152         * cp/rtti.c (VPARAMS): Fix parameter.
6153
6154 2001-08-24  Zack Weinberg  <zackw@panix.com>
6155
6156         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
6157         to zero.
6158         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
6159         to switch.
6160         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
6161         in if controlling use of insv.
6162         (extract_bit_field): Likewise, for extv and extzv.
6163
6164 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
6165
6166         * i386.md (movcc peep2): Fix load of 0.
6167
6168 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6169
6170         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
6171         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
6172
6173 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
6174
6175         * c-pragma.h: Move weak_syms and weak_decls...
6176         * varasm.c: ...here.  Now static.
6177         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
6178         depend on HANDLE_PRAGMA_WEAK.
6179
6180         * c-common.c (c_alignof, c_alignof_expr): Move here...
6181         * c-typeck.c: ...from here.
6182         * c-tree.h, c-common.h: Adjust.
6183
6184 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
6185
6186         * config/ia64/ia64.c (rws_update): If !pred, set write_count
6187         instead of incrementing it.
6188
6189         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
6190         asm ready, don't try to move them all into the same array element.
6191
6192 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
6193
6194         * function.c (thread_prologue_and_epilogue_insns): Avoid
6195         fallthru flag on edge to exit.
6196
6197         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
6198
6199         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
6200         dead edges.
6201
6202 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
6203
6204         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
6205         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
6206         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
6207         Remove prototype.
6208
6209 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
6210
6211         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
6212         replace "GNU CC" with "GCC".
6213
6214 2001-08-23  Richard Henderson  <rth@redhat.com>
6215
6216         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
6217         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
6218         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
6219         Need GR between FR and not GR_AND_FR.
6220         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
6221         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
6222         AR regs before GR regs.
6223         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
6224         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
6225         (REGISTER_MOVE_COST): Update.
6226         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
6227
6228 2001-08-23  Richard Henderson  <rth@redhat.com>
6229
6230         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
6231         a register class.
6232
6233 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
6234
6235         * reload1.c (emit_reload_insns): Don't look for notes
6236         on a NULL store_insn.
6237
6238 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6239
6240         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
6241         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
6242         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
6243         format specifier warnings.
6244         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
6245
6246 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
6247
6248         * config/i386/i386-protos.h: Correct declaration of
6249         i386_pe_asm_named_section.
6250
6251 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6252
6253         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
6254         variable i.
6255         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
6256
6257 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
6258
6259         * cpperror.c (print_location): Don't show _Pragma.
6260         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
6261         and file change callback generation here.
6262         (stack_include_file): Update use of cpp_push_buffer.
6263         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
6264         (struct cpp_buffer): Remove type, pfile members.
6265         * cppinit.c (cpp_handle_option): Use free_chain.
6266         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
6267         (skip_escaped_newlines, get_effective_char, lex_percent): Take
6268         a cpp_reader rather than a cpp_buffer.
6269         (skip_escaped_newlines, get_effective_char, skip_block_comment,
6270         skip_line_comment, parse_string, lex_percent, lex_dot,
6271         _cpp_lex_token): Update accordingly.
6272         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
6273         generation here.
6274         (cpp_push_buffer): Update prototype.
6275         (run_directive): Update use of cpp_push_buffer.
6276         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
6277         handle_assertion): Update use of run_directive.
6278         * cpplib.h (enum cpp_buffer_type): Remove.
6279         (cpp_push_buffer): Update prototype.
6280         * fix-header.c (read_scan_file): Update.
6281
6282 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
6283
6284         * gcc.c (struct prefix_list): Change prefix to const char *.
6285
6286 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
6287
6288         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
6289
6290 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
6291
6292         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
6293         from a new MEM.
6294
6295         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
6296         a squeezable note.
6297         * rtl.h: Adjust.
6298         * ifcvt.c (dead_or_predicable): Adjust.
6299         * loop.c (find_and_verify_loops): Adjust.
6300         * stmt.c (expand_end_case): Adjust.
6301         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
6302         head and end insn pointers in the basic block, not just local copies.
6303         (merge_blocks_move_predecessor_nojumps): Likewise.
6304
6305 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
6306
6307         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
6308         bitmap.h, builtin-types.def, builtins.c, builtins.def,
6309         c-aux-info.c, c-common.c, c-common.def, c-common.h,
6310         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
6311         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
6312         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
6313         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
6314         conditions.h, config.gcc, configure.frag, configure.in,
6315         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
6316         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
6317         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
6318         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
6319         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
6320         emit-rtl.c, errors.c, errors.h, except.c, except.h,
6321         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
6322         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
6323         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
6324         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
6325         gencheck.c, gencodes.c, genconfig.c, genemit.c,
6326         genextract.c, genflags.c, gengenrtl.c, genmultilib,
6327         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
6328         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
6329         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
6330         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
6331         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
6332         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
6333         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
6334         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
6335         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
6336         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
6337         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
6338         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
6339         params.h, predict.c, predict.def, predict.h, prefix.c,
6340         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
6341         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
6342         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
6343         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
6344         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
6345         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
6346         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
6347         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
6348         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
6349         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
6350         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
6351         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
6352         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
6353         xcoffout.h: replace "GNU CC" with "GCC".
6354
6355 2001-08-21  Richard Henderson  <rth@redhat.com>
6356
6357         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
6358         (final_scan_insn): Consider jump tables data even if we have no
6359         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
6360         ADDR_VEC_ALIGN.
6361         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
6362         (ASM_OUTPUT_CASE_END): Remove.
6363         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
6364         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
6365         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
6366
6367 2001-08-21  Richard Henderson  <rth@redhat.com>
6368
6369         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
6370         at barrier insns.  Emit stop bits before barriers.
6371
6372         * flow.c (flow_find_cross_jump): Don't consider unconditional
6373         return insns for commoning.
6374
6375         * final.c (compute_alignments): Fix typo.
6376
6377         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
6378         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
6379         (store_bit_field): Use mode_for_extraction more places.
6380         (extract_bit_field): Likewise.
6381
6382 2001-08-21  Zack Weinberg  <zackw@panix.com>
6383
6384         * caller-save.c: Don't include insn-codes.h.
6385         (reg_save_code, reg_restore_code): Make arrays of int.
6386         All uses updated to match.
6387         (insert_save, insert_restore): No need to initialize "code"
6388         variable upon declaration.
6389         * Makefile.in: update dependencies; fix typo in clean rule.
6390
6391 2001-08-21  Richard Henderson  <rth@redhat.com>
6392
6393         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
6394         (merge_if_block): Handle fallout from same.
6395
6396 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6397
6398         * builtins.c (type_to_class): Fix typo in last change.
6399
6400 2001-08-21  Richard Henderson  <rth@redhat.com>
6401
6402         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
6403         ia64_asm_output_label.
6404
6405         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
6406         copy of gp while the real gp register contains garbage.
6407
6408 2001-08-21  Zack Weinberg  <zackw@panix.com>
6409
6410         * expmed.c (mode_for_extraction): New function.
6411         (store_bit_field, extract_bit_field): Use it.
6412         * expr.h: Prototype it and provide an enum for its first argument.
6413
6414         * combine.c, function.c, recog.c: Don't include insn-codes.h.
6415         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
6416         and digging through the insn_data tables.
6417         * Makefile.in: Update dependencies.
6418
6419 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
6420
6421         * cppfiles.c (stack_include_file): line-map.c now handles include
6422         depth.
6423         (handle_missing_handler): Similarly.
6424         (_cpp_execute_include): Similarly.
6425         (_cpp_pop_file_buffer): Similarly.
6426         * cpphash.h (struct cpp_reader): Remove system_include_depth,
6427         buffer_stack_depth and include_depth.
6428         * cpplib.c (do_include_common): line-map.c now handles include depth.
6429         (cpp_push_buffer): Similarly.
6430         (_cpp_pop_buffer): Similarly.
6431         * cppmacro.c (builtin_macro): Update.
6432         * line-map.c (init_line_maps): Set depth.
6433         (add_line_map): Increment "used" earlier.  Update and use the
6434         include depth.
6435         (trace_include): Use the include depth.
6436         * line-map.h (struct line_maps): New member depth.
6437
6438 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
6439
6440         * cppfiles.c (stack_include_file): Don't handle -H here.
6441         * cppinit.c (cpp_start_read): Set include tracing after
6442         cpp_post_options and after stacking the main file.
6443         * line-map.c (trace_include): New.
6444         (init_line_maps, add_line_map): Update.
6445         * line-map.h (struct line_maps): New member trace_includes.
6446
6447 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
6448
6449         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
6450         * cppfiles.c (stack_include_file): Only stack a file if there
6451         is something to do.  Return a boolean indicating whether a
6452         buffer was stacked or not.
6453         (_cpp_execute_include): Similarly.
6454         (_cpp_read_file): Similarly.
6455         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
6456
6457 2001-08-21  Sam Steingold  <sds@gnu.org>
6458
6459         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
6460         (RECACHE): keep obufp_before_macroname up to date
6461
6462 2001-08-21  Zack Weinberg  <zackw@panix.com>
6463
6464         * stmt.c: Don't include insn-codes.h.
6465         (expand_end_case): Machine specific logic moved to expr.c.
6466         No need to worry about __builtin_classify_type.
6467         (check_for_full_enumeration_handling, emit_case_nodes):
6468         Kill #if 0 blocks.
6469
6470         * builtins.o (expand_builtin_classify_type): Split up so code
6471         can be shared with fold_builtin_classify_type.
6472         (type_to_class, fold_builtin_classify_type): New functions.
6473         (fold_builtins): Handle __builtin_classify_type.
6474
6475         * expr.c (do_tablejump): Now static.
6476         (case_values_threshold, try_casesi, try_tablejump): New;
6477         code mostly from stmt.c (expand_end_case).
6478         (expr.h): Update prototypes.
6479
6480         * Makefile.in (stmt.o): Update dependencies.
6481
6482 2001-08-21  Will Cohen  <wcohen@redhat.com>
6483
6484         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
6485         declaration of variable i.
6486         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
6487         declaration of variable i.
6488
6489 2001-08-21  Richard Henderson  <rth@redhat.com>
6490
6491         * crtstuff.c: Fix thinko last change.  Move list tails to start
6492         of CRT_END section.  Tidy ifdefs.
6493         (__EH_FRAME_BEGIN__): Always static for ELF.
6494         (__do_global_ctors_1): Rename from __frame_dummy.
6495         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
6496         name change; don't hide __EH_FRAME_BEGIN__.
6497
6498 2001-08-21  Richard Henderson  <rth@redhat.com>
6499
6500         * gdbinit.in: Move break on exit after break on fancy_abort.
6501
6502         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
6503         sized types.
6504
6505 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
6506
6507         * cpphash.h (_cpp_push_next_buffer): New.
6508         * cppinit.c (do_includes): Remove.
6509         (push_include, free_chain, _cpp_push_next_buffer): New.
6510         (cpp_start_read): Use them to rework command line option handling.
6511         (cpp_handle_option): Combine handling of -include and -imacros.
6512         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
6513         appropriate.  Always insert missing \n at EOF.
6514         * cpplib.c (start_directive): Get the directive position right.
6515         * cppmain.c (cb_file_change): Always print the first line, unless
6516         preprocessed.
6517
6518 2001-08-20  Andreas Jaeger  <aj@suse.de>
6519
6520         * profile.c (compute_branch_probabilities): Remove extra new-line
6521         in error message.
6522         * flow.c (verify_flow_info): Likewise.
6523
6524 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
6525
6526         * basic-block.h (basic_block): Add new field 'flags'.
6527         (BB_REACHABLE): Define.
6528         (expunge_block): Declare.
6529         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
6530         (EXIT_BLOCK_PTR): Ditto.
6531         (expunge_block): Remove static declaration.
6532         (cleanup_cfg): Clear bb->aux on every basic block.
6533         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
6534         computing reachability.
6535         (delete_unreachable_blocks): Delete block b if b->flags has
6536         BB_REACHABLE unset.
6537
6538 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
6539
6540         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
6541
6542 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6543
6544         * sparc.c (sparc_variable_issue): Fix typo in last change.
6545
6546 2001-08-20  Richard Henderson  <rth@redhat.com>
6547
6548         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
6549
6550 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6551
6552         * pa.h (RETURN_IN_MEMORY): Improve comment.
6553
6554 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
6555
6556         * doc/invoke.texi (Profiling options): Clarify the interactions
6557         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
6558
6559 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
6560
6561         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
6562         command.
6563
6564 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
6565
6566         * gcc.c (make_relative_prefix): Allocate a sufficiently large
6567         buffer.
6568
6569 2001-08-20  Richard Henderson  <rth@redhat.com>
6570
6571         * final.c (end_final): Fix typo last change.
6572
6573 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
6574
6575         * cppinit.c (init_standard_includes): The returned buffer
6576         is already malloc-ed.
6577         * gcc.c (add_prefix): Similarly.
6578         * prefix.c (translate_name): Update to support clear buffer
6579         ownership rules.
6580         (update_path): Similarly.  Be sure to free any newly allocated
6581         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
6582         (tr): New function.
6583         * prefix.h (update_path): Update prototype and document.
6584         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
6585         up and update to new buffer ownership rules.
6586         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
6587
6588 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
6589
6590         * final.c (compute_alignments): New function.
6591         (init_insn_lengths): Do not care label_align.
6592         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
6593         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
6594         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
6595         (shorted_branches): Realloc label_align array; do
6596         not call init_insn_lengths; Do not care about loop alignments.
6597         * output.h (compute_alignments): Declare.
6598         * toplev.c (rest_of_compilation): Call compute_alignments.
6599         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
6600
6601         * predict.c (block_info_def): Add npredecesors, remove nvisited;
6602         change visited to tovisit.
6603         (propagate_freq): Use faster traversing algorithm.
6604         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
6605         to tovisit; reverse meaning.
6606
6607         * predict.c (struct block_info_def): Remove nvisited.
6608         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
6609         (estimate_bb_frequencies): Call mark_dfs_back_edges.
6610
6611 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
6612
6613         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
6614         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
6615         (TARGET_FUSED_MADD): New.
6616         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
6617         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
6618         the multiply-add instructions.
6619
6620 2001-08-19  Richard Henderson  <rth@redhat.com>
6621
6622         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
6623         is aligned to pointer size.
6624
6625 2001-08-19  Richard Henderson  <rth@redhat.com>
6626
6627         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
6628         display markers during final schedule.
6629
6630 2001-08-19  Richard Henderson  <rth@redhat.com>
6631
6632         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
6633
6634 2001-08-19  Richard Henderson  <rth@redhat.com>
6635
6636         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
6637         in the same string.
6638         (ASM_NAME_TO_STRING): Remove.
6639         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
6640         in the same string.  Remove support for expressions.
6641
6642 2001-08-19  Richard Henderson  <rth@redhat.com>
6643
6644         * config/i386/i386.md (tablejump): Make an expander; handle
6645         pic relative addressing here.
6646         (tablejump_1): Rename from tablejump_pic.
6647         (casesi): Remove.
6648
6649 2001-08-19  Richard Henderson  <rth@redhat.com>
6650
6651         * regclass.c (fix_register): Fix typo.
6652
6653 2001-08-18  Richard Henderson  <rth@redhat.com>
6654
6655         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
6656         (struct _Unwind_Context): Expand br_loc to hold it.
6657         (uw_frame_state_for): Handle leaf functions better.
6658         (uw_update_reg_address): Update for br_loc change.
6659
6660 2001-08-18  Richard Henderson  <rth@redhat.com>
6661
6662         * crtstuff.c: Move list heads before code that uses them.
6663         (__JCR_LIST__): Remove initial null.
6664         (frame_dummy, __frame_dummy): Do java registration here ...
6665         (__do_global_ctors_aux): ... not here.
6666
6667         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
6668         (__do_global_dtors_aux): Update to match.
6669         (__JCR_LIST__, __do_jv_register_classes): New.
6670         (.init): Call it.
6671         * config/ia64/crtend.asm (__JCR_END__): New.
6672         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
6673         instead of an indirect LTOFF22 reloc.
6674
6675 2001-08-18  Richard Henderson  <rth@redhat.com>
6676
6677         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
6678         * regclass.c (init_reg_sets_1): Fix typo.
6679         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
6680         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
6681         (ia64_compute_frame_size): Make ar.unat live when in use.
6682         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
6683         for ar.pfs; remove ar.unat handling.
6684         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
6685         call-saved.
6686         (PREDICATE_CODES): Add ar_pfs_reg_operand.
6687         * config/ia64/ia64-protos.h: Update decls.
6688         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
6689         (sibcall_pic): Likewise.
6690
6691 2001-08-18  Richard Henderson  <rth@redhat.com>
6692
6693         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
6694         pred_rel_mutex when searching for insn_group_barrier.
6695         * config/ia64/ia64.md (cycle_display): Combine the expander
6696         and insn patterns.
6697
6698         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
6699         bit before asm as needed.
6700
6701 2001-08-18  Richard Henderson  <rth@redhat.com>
6702
6703         * timevar.def (TV_MACH_DEP): New.
6704         * toplev.c (rest_of_compilation): Use it.
6705         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
6706
6707 2001-08-18  Zack Weinberg  <zackw@panix.com>
6708
6709         * unwind-dw2.c (execute_stack_op): Add default aborts to
6710         the inner switches to prevent warnings.
6711
6712 2001-08-18  Richard Henderson  <rth@redhat.com>
6713
6714         * timevar.h (struct timevar_time_def): Change element type to float.
6715         (ticks_to_msec, clocks_to_msec): Likewise.
6716         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
6717         (get_time): Likewise.
6718         (timevar_print): Adjust zero check and printing to match.
6719
6720 2001-08-18  Zack Weinberg  <zackw@panix.com>
6721
6722         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
6723         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
6724         Eliminate overfull or underfull hboxes.
6725
6726 2001-08-18  Zack Weinberg  <zackw@panix.com>
6727
6728         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
6729
6730 2001-08-18  Zack Weinberg  <zackw@panix.com>
6731
6732         * haifa-sched.c: Convert to target hooks.  Macros replaced
6733         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
6734         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
6735         MD_SCHED_FINISH, and HAVE_cycle_display.
6736         * target-def.h (TARGET_SCHED_ADJUST_COST,
6737         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
6738         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
6739         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
6740         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
6741         New hook #defines to be overridden.
6742         (TARGET_SCHED): Bring them all together.
6743         (TARGET_INITIALIZER): Update.
6744         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
6745         instead of 'struct rtx_def *' throughout.
6746         (struct sched): New set of hooks for the scheduler.
6747         * Makefile.in (haifa-sched.o): Depend on target.h.
6748         * doc/tm.texi: Document the new scheduler hooks, together in
6749         their own section, instead of scattered around.
6750         Fix a bunch of underfull/overfull hboxes.
6751
6752         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
6753         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
6754         sparc.h: Don't define any of the old scheduler macros.
6755
6756         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
6757         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
6758         sparc.c: Create hook functions from code extracted from
6759         corresponding target header, or make existing hooks static, as
6760         appropriate.  Set the appropriate entries in targetm.
6761
6762         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
6763         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
6764         rs6000-protos.h, s390-protos.h, sparc-protos.h:
6765         Remove prototypes for functions which are now static.
6766
6767         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
6768         related gunk; the Haifa scheduler is now the only choice.
6769
6770 2001-08-18  Zack Weinberg  <zackw@panix.com>
6771
6772         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
6773         * genopinit.c: Put floating point divide insns in sdiv_optab.
6774         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
6775         * config/gofast.h, config/c4x/c4x.h,
6776         config/ia64/hpux_longdouble.h, config/mips/mips.h,
6777         config/pa/long_double.h, config/rs6000/sysv4.h,
6778         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
6779         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
6780         (init_optabs): Use init_optabv for overflow-trapping optabs.
6781         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
6782         cmp_optab RTX codes so have_insn_for can find them.
6783
6784         * optabs.c (expand_simple_binop, expand_simple_unop,
6785         have_insn_for, gen_sub3_insn): New interfaces.
6786         * expr.h: Prototype new functions.
6787         (enum optab_methods): Move here from optabs.h.
6788
6789         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
6790         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
6791         Use new functions instead of working directly with optabs.
6792         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
6793         unroll.c: Don't include optabs.h.
6794         * caller-save.c, combine.c, function.c, stmt.c: Just include
6795         insn-codes.h, not optabs.h.
6796         * Makefile.in: Update dependencies.
6797
6798         * combine.c (make_compound_operation, simplify_comparison):
6799         Fix typos testing for this or that instruction.
6800
6801 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
6802
6803         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
6804         generating libgcc.a.
6805
6806 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6807
6808         * except.c (TYPE_HASH): Delete.
6809
6810         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
6811         HOST_WIDE_INT.
6812
6813         * tree.c (TYPE_HASH): Delete.
6814
6815         * tree.h (TYPE_HASH): Define.
6816
6817 2001-08-18  Graham Stott  <grahams@redhat.com>
6818
6819         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
6820         define_split.
6821         (adddi3_internal_2+2): Likewise.
6822         (eh_set_lr_di+1): Likewise.
6823
6824 2001-08-17  Richard Henderson  <rth@redhat.com>
6825
6826         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
6827         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
6828         * dwarf2asm.c: ... here.
6829         * dwarfout.c: Remove them.
6830
6831         * varasm.c (assemble_integer): Add align parameter.
6832         (assemble_real, output_constant, output_constructor): Likewise.
6833         * output.h: Update decls.
6834         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
6835         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
6836         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
6837         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
6838         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
6839         Update all callers.
6840
6841         * final.c (end_final): Abort profile block generation if we
6842         havn't layed it out properly.
6843         * output.h (assemble_eh_integer): Remove stale decl.
6844         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
6845         (min_align): New.
6846         (assemble_integer): Handle unaligned data.
6847         (assemble_real): Abort on unaligned data.
6848         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
6849         anything useful.
6850         (default_dtor_section_asm_out_destructor): Use assemble_align.
6851         (default_named_section_asm_out_constructor): Likewise.
6852         (default_ctor_section_asm_out_constructor): Likewise.
6853         * config/darwin.c (machopic_asm_out_constructor): Likewise.
6854         (machopic_asm_out_destructor): Likewise.
6855         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
6856         (nextstep_asm_out_destructor): Likewise.
6857         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
6858         (vms_asm_out_destructor): Likewise.
6859
6860 2001-08-17  Richard Henderson  <rth@redhat.com>
6861
6862         * config/mips/iris6.h (TARGET_IRIX6): New.
6863         (current_section_name, current_section_flags): New.
6864         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
6865         (MAX_OFILE_ALIGNMENT): New.
6866         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
6867         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
6868         (copy_file_data): Split out from
6869         (mips_asm_file_end): ... here.
6870         (mips_asm_file_start): Remove extra .section directive.  Use
6871         tmpfile instead of mips_make_temp_file.
6872         (mips_unique_section): Use const char * as needed for warnings.
6873         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
6874         re-add align parameter.
6875         (iris6_asm_named_section): New.
6876         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
6877         (iris6_asm_output_align, iris6_section_align_1): New.
6878         (iris6_asm_file_start, iris6_asm_file_end): New.
6879         * config/mips/mips-protos.h: Update decls.
6880
6881 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
6882
6883         * doc/install.texi (Install GCC): Add links to build status pages.
6884         (Specific): Ditto.
6885         (Final install): Ditto; request updates for specific info
6886
6887 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
6888
6889         * cpperror.c (print_location):  Don't take a file name; use the
6890         line map instead.
6891         (_cpp_begin_message): Similarly.
6892         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
6893         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
6894         (cpp_pedwarn_with_file_and_line): Remove.
6895         * cppfiles.c (stack_include_file): Update; set filename to stdin
6896         here when appropriate.
6897         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
6898         (_cpp_begin_message): Don't take a file name.
6899         * cppinit.c: Add comment.
6900         * cpplex.c: Fix end-of-directive indicator.
6901         * cpplib.c: Don't include intl.h.
6902         (run_directive, do_diagnostic): Update.
6903         (do_line): Update to not use nominal_fname.
6904         (cpp_push_buffer): Don't take a filename.
6905         * cpplib.h (struct ht): Remove.
6906         (cpp_push_buffer): Don't take a filename.
6907         (cpp_pedwarn_with_file_and_line): Remove.
6908         * cppmacro.c (struct cpp_macro): Remove file.
6909         (builtin_macro): Update.
6910         (_cpp_create_definition): Update.
6911         * cppmain.c: Correct comment.
6912         * fix-header.c (read_scan_file): Update.
6913
6914 2001-08-17  Kazu Hirata  <kazu@hxi.com>
6915
6916         * sbitmap.c: Fix comment formatting.
6917         * sched-deps.c: Likewise.
6918         * sibcall.c: Likewise.
6919         * simplify-rtx.c: Likewise.
6920         * ssa.c: Likewise.
6921         * ssa-ccp.c: Likewise.
6922         * stor-layout.c: Likewise.
6923         * timevar.c: Likewise.
6924         * toplev.c: Likewise.
6925         * unwind-dw2.c: Likewise.
6926         * unwind-dw2-fde.c: Likewise.
6927         * varasm.c: Likewise.
6928
6929 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6930
6931         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
6932         or larger than an integer in memory.
6933
6934 2001-08-17  Zack Weinberg  <zackw@panix.com>
6935
6936         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
6937         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
6938         * rtl.h: Don't forward-declare union tree_node here.  Don't
6939         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
6940         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
6941         and tree respectively.
6942         * tree.h: Don't forward-declare struct rtx_def here.  Don't
6943         typedef tree here.  Change all uses of struct rtx_def *,
6944         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
6945         and tree respectively.
6946
6947 2001-08-17  Richard Henderson  <rth@redhat.com>
6948
6949         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
6950         config/mips/openbsd.h: Fix typos last change.
6951
6952 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6953
6954         * doc/invoke.texi (Optimize Options): The default for
6955         -finline-limit is 600.
6956
6957 2001-08-17  Richard Henderson  <rth@redhat.com>
6958
6959         * varasm.c (text_section): Allow TEXT_SECTION to override the
6960         printing of TEXT_SECTION_ASM_OP.
6961         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
6962         (DATA_SECTION, BSS_SECTION): Remove.
6963         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
6964         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
6965         Rename from s/_NAME//.
6966         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
6967         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
6968         (TEXT_SECTION): ... here.  New.
6969         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
6970         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
6971         * config/mips/openbsd.h: Likewise.
6972         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
6973         (mips_asm_file_end): Likewise test.
6974         (mips_output_function_epilogue): Likewise.  Switch back to data
6975         section after emitting the function.
6976
6977         * doc/tm.texi (Sections): Document TEXT_SECTION.
6978
6979 2001-08-17  Richard Henderson  <rth@redhat.com>
6980
6981         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
6982         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
6983
6984 2001-08-17  Richard Henderson  <rth@redhat.com>
6985
6986         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
6987         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
6988         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
6989         Add aligned attribute.
6990
6991 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
6992
6993         * config/sh/sh.md: Add modes to unspecs in first insn to match
6994         those in the second.
6995
6996         * Makefile.in: Fix collect2 copy for Cygwin.
6997
6998 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
6999
7000         Install the proper patch.
7001         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
7002         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
7003         (expand_function_start): Likewise.
7004         * stmt.c (expand_decl): Likewise.
7005         * varasm.c (make_decl_rtx): Likewise.
7006
7007 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
7008
7009         * final.c: Undo my previous accidental checkin.
7010         * output.h: Likewise.
7011         * tm.texi: Likewise.
7012
7013 2001-08-16  Richard Henderson  <rth@redhat.com>
7014
7015         * varasm.c (named_section_flags): Remove align parameter.
7016         * varasm.c, dwarf2out.c: Update all callers.
7017         * output.h: Update prototypes.
7018
7019         * target.h (target.asm_out.named_section): Remove align parameter.
7020         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
7021         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
7022         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
7023         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
7024         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
7025
7026         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
7027         (get_named_section_flags, set_named_section_flags): New.
7028         (named_section_flags): Use them.
7029         (named_section): Do decl vs section flags check here...
7030         (default_section_type_flags): ... not here.
7031         (init_varasm_once): Create in_named_htab.
7032         (resolve_unique_section): Mark reloc unused.
7033
7034 2001-08-16  Richard Henderson  <rth@redhat.com>
7035
7036         * varasm.c (force_const_mem): Keep pool alignment in bits.
7037         (output_constant_pool): Use assemble_align.
7038
7039 2001-08-16  Zack Weinberg  <zackw@panix.com>
7040
7041         * doc/tm.texi: Remove extra @table command.
7042
7043 2001-08-16  Zack Weinberg  <zackw@panix.com>
7044
7045         * final.c (shorten_branches): Clear the end of the label_align
7046         array only if we made it larger.  Break up messy expressions
7047         for clarity.
7048
7049         * diagnostic.c (internal_error): Check for error recursion
7050         before doing ICE suppression.
7051
7052         * timevar.c: Timing variables now count in milliseconds.
7053         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
7054         (get_time): Not here.
7055         (timevar_print): Don't print any timer whose user, cpu, and
7056         wall times are all zero as displayed.
7057         * timevar.h: Update comment aboout units.  Make timevar
7058         counters unsigned.
7059
7060 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
7061
7062         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
7063         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
7064         (expand_function_start): Likewise.
7065         * stmt.c (expand_decl): Likewise.
7066         * varasm.c (make_decl_rtx): Likewise.
7067
7068 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
7069
7070         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
7071         (finalize_record_size): Don't set TYPE_USER_ALIGN.
7072
7073 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7074
7075         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
7076         variables.
7077
7078 2001-08-16  Andreas Jaeger  <aj@suse.de>
7079
7080         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
7081         prototype.
7082
7083 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
7084
7085         * rtl.h (only_sets_cc0_p): New prototype.
7086         * jump.c (sets_cc0_p): Handle INSN.
7087         (only_sets_cc0_p): New function.
7088         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
7089         (tidy_fallthru_edge): Likewise.
7090         * integrate.c (copy_insn_list): Likewise.
7091         * unroll.c (unroll_loop): Likewise.
7092         (copy_loop_body): Likewise.
7093
7094 2001-08-15  Jason Eckhardt  <jle@redhat.com>
7095
7096         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
7097
7098 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
7099
7100         * predict.c (struct block_info_def): Remove nvisited.
7101         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
7102         (estimate_bb_frequencies): Call mark_dfs_back_edges.
7103
7104         * i386.c (ix86_agi_depdendant): Lea causes AGI only on the Pentium
7105         (ix86_adjust_cost): Teach scheduler that latency to load operand can
7106         be masked.
7107
7108 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
7109
7110         * predict.def: Update hitrates.
7111
7112 2001-08-15  Richard Henderson  <rth@redhat.com>
7113
7114         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
7115
7116 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
7117
7118         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
7119         note from its associated jump.
7120
7121 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
7122
7123         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
7124         also on 64-bit s390x targets.
7125
7126 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
7127
7128         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
7129         function.
7130         (arm_expand_prologue): Handled nested functions which take a
7131         variable argument list.
7132         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
7133         macro with an invocation of
7134         arm_compute_initial_elimination_offset.
7135         * config/arm/arm-protos.h: Prototype
7136         arm_compute_initial_elimination_offset.
7137
7138 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7139
7140         * doc/install.texi (Specific, avr): Fix markup.
7141         (Specific, c4x): Ditto.
7142
7143 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7144
7145         * predict.c (dump_prediction): Change `bool' parameter to `int'.
7146
7147 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
7148
7149         * Makefile.in (OBJS): Add rtl-error.o
7150         (rtl-error.o): New rule.
7151         (diagnostic.o): Adjust dependency.
7152         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
7153         error_for_asm, _fatal_insn, _fatal_insn_not_found,
7154         warning_for_asm): Move to...
7155         rtl-error.c: ...here.  New file.
7156
7157 2001-08-14  Richard Henderson  <rth@redhat.com>
7158
7159         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
7160         if USING_SJLJ_EXCEPTIONS.
7161
7162 2001-08-14  Steve Ellcey <sje@cup.hp.com>
7163
7164         * tlink.c (scan_linker_output): Check string for unsatisfied in
7165         addition to undefined and unresolved.
7166
7167 2001-08-14  Graham Stott  <grahams@redhat.com>
7168
7169         * libgcc2.c (*): Replace EH_FRAME_SECTION with
7170         EH_FRAME_SECTION_NAME.
7171
7172 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
7173
7174         * genattrtab.c (simplify_test_exp_in_temp): New function.
7175         (simplify_test_exp): Avoid explicit use of temporary obstack.
7176         (simplify_cond, insert_right_side, evaluate_eq_attr,
7177         simplify_and_tree, simplify_or_tree, eliminate_known_true):
7178         Use simplify_test_exp_in_temp.
7179         (optimize_attrs): Iterate until expression stabilizes.
7180
7181 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
7182
7183         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
7184         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
7185
7186 2001-08-13  Richard Henderson  <rth@redhat.com>
7187
7188         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
7189         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
7190         * config/arm/conix-elf.h: Likewise.
7191
7192 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
7193
7194         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
7195         in gcc.c.
7196         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
7197
7198         * gcse.c (hash_scan_set): Expressions that are set as part of
7199         jump instructions are not available.
7200
7201 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
7202
7203         * config/s390/s390.c (print_operand, s390_function_prologue,
7204         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
7205
7206 2001-08-13  Richard Henderson  <rth@redhat.com>
7207
7208         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
7209         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
7210         * doc/tm.texi (Exception Region Output): Document it.
7211
7212 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
7213
7214         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
7215         DWARF2 instead of stabs by default.
7216
7217 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
7218
7219         * config/rs6000/rs6000.c: Include optabs.h.
7220
7221 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
7222
7223         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
7224         save/restore routines.
7225         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
7226
7227 2001-08-13  Andreas Jaeger  <aj@suse.de>
7228
7229         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
7230         the english is correct.
7231
7232 2001-08-13  Zack Weinberg  <zackw@panix.com>
7233
7234         * expr.h: Split out optab- and libfunc-related code to...
7235         * optabs.h, libfuncs.h: ... these new headers.
7236
7237         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
7238         (OPTABS_H): New.
7239         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
7240         dependencies.
7241         * mkconfig.sh: Don't include insn-codes.h from config.h.
7242
7243         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
7244         enum insn_code is available.  Move reload_in_optab and
7245         reload_out_optab array declarations to optabs.h.
7246         * regmove.c (gen_add3_insn): Move to optabs.c, export from
7247         there, prototype in expr.h.
7248         * gencodes.c: Cleanup: zap global variables, don't use
7249         printf where puts will do, don't bother defining MAX_INSN_CODE
7250         which nothing uses, let CODE_FOR_nothing get its value implicitly.
7251
7252         * genemit.c, genopinit.c: Include optabs.h in generated file.
7253         * genoutput.c: Include insn-codes.h in generated file.
7254         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
7255         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
7256         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
7257         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
7258         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
7259         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
7260         Include optabs.h.
7261         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
7262         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
7263         config/m88k/m88k.c, config/sparc/sparc.c:
7264         Include libfuncs.h.
7265         * reload.c: Include expr.h and optabs.h before reload.h.
7266         * config/alpha/alpha.c: Include tree.h before reload.h.
7267         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
7268         and reload.h in that order.
7269         * config/sparc/sparc.c: Include debug.h.
7270         * recog.c: Include insn-codes.h.
7271
7272 2001-08-13  Andreas Jaeger  <aj@suse.de>
7273
7274         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
7275         s390*linux.
7276
7277 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
7278
7279         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
7280         * gcc.c (init_spec): Fix typo in comment.
7281         * varasm.c (data_section): Fix typo in comment.
7282
7283 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
7284
7285         * predict.c (dump_prediction): New argument "USED".
7286         (combine_predictions_for_insn): Determine the used heuristics,
7287         output the case no heuristic applied.
7288         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
7289
7290 2001-08-13  Andreas Jaeger  <aj@suse.de>
7291
7292         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
7293         register %rip.
7294
7295 2001-08-13  Kazu Hirata  <kazu@hxi.com>
7296
7297         * jump.c: Fix formatting.
7298
7299 2001-08-13  Kazu Hirata  <kazu@hxi.com>
7300
7301         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
7302         length.
7303
7304 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
7305
7306         * loop.c (check_dbra_loop): Use condjump_label to compute
7307         jump_label.
7308
7309         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
7310         to better document the files they're in.
7311
7312 2001-08-12  Zack Weinberg  <zackw@panix.com>
7313
7314         * recog.h (struct insn_operand_data): Shrink 'mode' field
7315         to 16 bits.
7316
7317 2001-08-12  Kazu Hirata  <kazu@hxi.com>
7318
7319         * gcc.c: Fix comment formatting.
7320         * gccspec.c: Likewise.
7321         * gcov.c: Likewise.
7322         * gcse.c: Likewise.
7323         * genemit.c: Likewise.
7324         * gengenrtl.c: Likewise.
7325         * genrecog.c: Likewise.
7326         * gensupport.c: Likewise.
7327         * ggc-page.c: Likewise.
7328         * global.c: Likewise.
7329         * graph.c: Likewise.
7330         * ifcvt.c: Likewise.
7331         * integrate.c: Likewise.
7332         * lcm.c: Likewise.
7333         * libgcc2.c: Likewise.
7334         * loop.c: Likewise.
7335         * mbchar.c: Likewise.
7336         * optabs.c: Likewise.
7337         * predict.c: Likewise.
7338         * prefix.c: Likewise.
7339         * profile.c: Likewise.
7340         * protoize.c: Likewise.
7341         * real.c: Likewise.
7342         * recog.c: Likewise.
7343         * regclass.c: Likewise.
7344         * regmove.c: Likewise.
7345         * reg-stack.c: Likewise.
7346         * reload1.c: Likewise.
7347         * resource.c: Likewise.
7348         * rtlanal.c: Likewise.
7349         * rtl.c: Likewise.
7350
7351 2001-08-12  Kazu Hirata  <kazu@hxi.com>
7352
7353         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
7354         a tree representing a constant is passed to the macro.
7355
7356 2001-08-12  Richard Henderson  <rth@redhat.com>
7357
7358         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
7359         (rs6000_elf_asm_out_destructor): New.
7360         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
7361         (DTORS_SECTION_ASM_OP): Remove.
7362         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
7363         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
7364
7365 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
7366
7367         Revert:
7368         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7369         * gcc.c (set_collect_gcc_options): New function, split out from
7370         main.
7371         Ignore elided switches.
7372         (do_spec_1): Invoke before executing command.
7373         (set_input): Export.
7374         Move declaration ...
7375         * gcc.h (set_input): ... here.
7376         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
7377         file.
7378
7379 2001-08-12  Richard Henderson  <rth@redhat.com>
7380
7381         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
7382         thinko wrt TARGET_RELOCATABLE.
7383
7384 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
7385
7386         * fix-header.c (cb_file_change): Update prototype.
7387
7388 2001-08-11  Zack Weinberg  <zackw@panix.com>
7389
7390         * toplev.c (set_float_handler): Make static.
7391         * toplev.h: Don't prototype set_float_handler.
7392
7393         * simplify-rtx.c: Don't include setjmp.h.
7394         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
7395         New functions.
7396         (simplify_unary_operation, simplify_binary_operation): Use them,
7397         via do_float_handler.
7398
7399         * fold-const.c: Don't include setjmp.h.
7400         (exact_real_inverse_1): New function.
7401         (exact_real_inverse): Use it, via do_float_handler.
7402
7403         * varasm.c: Don't include setjmp.h.
7404         (assemble_real_1): New function.
7405         (assemble_real): Use it, via do_float_handler.
7406         Call internal_error if we get a trap here.
7407
7408         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
7409         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
7410
7411 2001-08-11  Zack Weinberg  <zackw@panix.com>
7412
7413         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
7414         STACK_BOUNDARY if not already defined.
7415
7416         * calls.c, function.c, reload1.c, explow.c: Don't default
7417         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
7418         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
7419
7420         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
7421         to run-time test.
7422
7423         * doc/tm.texi: Document that STACK_BOUNDARY is required;
7424         clarify difference between it and PREFERRED_STACK_BOUNDARY.
7425
7426 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
7427
7428         * cppmacro.c (enter_macro_context): Push macro expansions even
7429         if empty.
7430
7431 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7432
7433         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
7434         (rs6000_elf_section_type_flags): Actually return a value.
7435
7436 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
7437
7438         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
7439         Clean up code: add missing comments and prototypes, fix warnings,
7440         remove obsolete code, fix spacing to conform to coding style.
7441
7442 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
7443
7444         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
7445         and TARGET_ASM_CLOSE_PAREN.
7446         (regclass_map): CC register belongs to class NO_REGS.
7447         (legitimize_pic_address): Don't generate unnecessary moves
7448         (to avoid confusing loop optimization).
7449         (check_and_change_labels): Replace jump_long by indirect_jump.
7450         (s390_final_chunkify): Don't start a new literal pool on section
7451         switch in 64-bit code.
7452         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
7453
7454         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
7455         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
7456         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
7457         modes correctly.
7458         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
7459         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
7460         (CONST_COSTS): Fixed incorrect costs.
7461
7462         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
7463         Use emit_jump instead of emit_jump_insn (gen_jump).
7464         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
7465         (to avoid confusing flow analysis).
7466         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
7467         (casesi, casesi_jump): New.
7468         (jump_long): Removed.  Functionality merged into indirect_jump.
7469         (indirect_jump): Accept address_operand, not just register_operand.
7470         (cjump_long, icjump_long): Use same logic as indirect_jump.
7471         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
7472         Fixed broken setjmp/longjmp handling.
7473         (do_builtin_setjmp_setup): Removed.
7474
7475         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
7476         broken GNU as versions that don't accept .quad with large
7477         negative values.  Use hexadecimal output instead.
7478         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
7479         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
7480         FUNCTION_EPILOGUE): Removed.  Now in targetm.
7481
7482         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
7483
7484         * config/s390/fixdfdi.h: Add missing copyright statement.
7485         Fix type conflicts on 64-bit.  Add missing SFmode routines.
7486
7487         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
7488         email address.
7489
7490 2001-08-11  Richard Henderson  <rth@redhat.com>
7491
7492         * rtl.h (REG_EH_RETHROW): Remove.
7493         * rtl.c (reg_note_name): Update.
7494         * combine.c (distribute_notes): Don't check for it.
7495
7496 2001-08-11  Richard Henderson  <rth@redhat.com>
7497
7498         * combine.c (distribute_notes): Place REG_SETJMP.
7499
7500 2001-08-11  Richard Henderson  <rth@redhat.com>
7501
7502         * doc/extend.texi (Arrays and pointers implementation): Discourage
7503         relying on sign-extension of pointers.
7504
7505 2001-08-11  H.J. Lu <hjl@gnu.org>
7506
7507         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
7508         in_dtors.
7509         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
7510         RDATA_SECTION_ASM_OP.
7511
7512 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7513
7514         * doc/install.texi (Specific, c4x): Fix cross-reference to the
7515         main manual to work both for info and HTML versions.
7516
7517 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
7518             Matt Kraai <kraai@alumni.carnegiemellon.edu>
7519
7520         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
7521         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
7522         (struct cpp_pool): New member first.
7523         * cppinit.c (append_include_chain): Plug memory leaks.
7524         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
7525         Allocate pragma structures from the (aligned) macro pool to
7526         avoid leaking memory.
7527         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
7528         so we don't leak memory.
7529         * hashtable.c (ht_destroy): New.
7530         * hashtable.h (ht_destroy): New.
7531
7532 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
7533             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7534
7535         * c-lex.c (map): Make const.
7536         (cb_file_change): Update for callback passing a line map.
7537         Don't assume we have a previous map.  Remove sanity check
7538         about popping too many files.
7539         * cpperror.c (print_location): Make map const.
7540         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
7541         (cpp_make_system_header): Similarly.
7542         (search_from): Similarly.
7543         (_cpp_execute_include): Don't remember where we came from.
7544         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
7545         (struct cpp_reader): Make map const.
7546         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
7547         * cpplib.c (do_line): Update; line maps now hold sysp.
7548         (cpp_push_buffer): Similarly.
7549         (_cpp_do_file_change): Similarly; callback with map instead.
7550         (cpp_get_line_maps): Constify return value.
7551         (_cpp_pop_buffer): Update.
7552         * cpplib.h (struct cpp_file_change): Remove.
7553         (struct cpp_callbacks): Update.
7554         (cpp_get_line_maps): Constify return value.
7555         * cppmacro.c (_cpp_create_definition): Update.
7556         * cppmain.c (struct printer): Constify map.
7557         (maybe_print_line): Similarly.
7558         (print_line): Similarly.  Deduce flags 1 and 2 here.
7559         (cb_file_change): Update.
7560         * line-map.c (free_line_maps): Warn regardless.
7561         (add_line_map): Return pointer to const.  When passed NULL to_file
7562         with LC_LEAVE, use the obvious values for the return point so the
7563         caller doesn't have to figure them out.
7564         (lookup_line): Return pointer to const.
7565         (print_containing_files): Take pointer to const.
7566         * line-map.h (struct line_map): New members reason, sysp.
7567         (add_line_map): Return pointer to const.
7568         (lookup_line): Similarly.
7569         (print_containing_files): Take pointer to const.
7570
7571 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
7572             Richard Henderson  <rth@redhat.com>
7573
7574         * regmove.c (regmove_optimize): Avoid setting a register twice in
7575         a parallel set.
7576
7577 2001-08-10  Richard Henderson  <rth@redhat.com>
7578
7579         * doc/extend.texi (Arrays and pointers implementation): Document
7580         behavior of pointer/integer conversion.
7581
7582 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
7583
7584         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
7585
7586 2001-08-10  Richard Henderson  <rth@redhat.com>
7587
7588         * doc/extend.texi (C Implementation): New chapter.
7589         * doc/gcc.texi (Top): Link it in.
7590
7591 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
7592
7593         * doc/install.texi (Specific): Fix CVS merge botch.
7594
7595 2001-08-10  Richard Henderson  <rth@redhat.com>
7596
7597         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
7598         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
7599
7600 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
7601
7602         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
7603         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
7604         this macro is now required.
7605
7606         * cselib.c (cselib_process_insn), flow.c (propagate_block),
7607         loop.c (find_and_verify_loops), reload.c (reload): Check
7608         for rtx code of CALL_INSN, not CALL, when deciding if we
7609         need to check for REG_SETJMP note.
7610
7611         * gcse.c (compute_hash_table, compute_store_table): Update
7612         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
7613         logic.
7614
7615         * config/avr/avr.c: Fix typo.
7616         * config/convex/convex.c (expand_movstr): Use adjust_address.
7617         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
7618         variable.
7619         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
7620         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
7621         Fix typo.
7622         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
7623         Do define STACK_BOUNDARY.
7624         * config/i370/i370.c: Include expr.h.
7625         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
7626         config/pa/som.h, config/v850/v850.h: Take in_ctors and
7627         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
7628         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
7629         * config/m88k/m88k.c: Include c-tree.h after expr.h.
7630         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
7631         * config/romp/romp.c: Include expr.h after tree.h.
7632         Include toplev.h.
7633         (output_fpop): Use xmalloc, not oballoc.
7634         * config/we32k/we32k.c: Include expr.h.
7635
7636 2001-08-10  Kazu Hirata  <kazu@hxi.com>
7637
7638         * config/h8300/h8300.h: Fix formatting.
7639
7640 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
7641
7642         * c-common.h (RETURN_NULLIFIED_P): Lose.
7643         * c-semantics.c (genrtl_return_stmt): Don't check it.
7644
7645 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
7646
7647         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
7648         (mips_annotate_frame_insn): New function.
7649         (mips_emit_frame_related_store): New function.
7650         (save_restore_insns): Don't mark instructions that set up the base
7651         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
7652         the store instructions instead.
7653         (mips_expand_prologue): If the stack size is moved into a temporary
7654         register, do not mark that move as frame-related.  Add a
7655         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
7656
7657 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
7658
7659         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
7660         stack slot as unchanging if current_function_calls_eh_return.
7661
7662 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
7663
7664         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
7665         access the second half of the TFmode scratch operand.
7666
7667 2001-08-10  Anthony Green  <green@redhat.com>
7668
7669         * java/class.c (emit_register_classes): Conditionalize code on
7670         JCR_SECTION_NAME.
7671
7672 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7673
7674         * doc/install.texi (Specific, avr): Fix cross-reference to the
7675         main manual to work both for info and HTML versions.
7676
7677 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7678
7679         * stmt.c (expand_null_return_1): Remove code to generate simple returns
7680         and "use_goto" argument.
7681         (expand_null_return, expand_value_return): Update all callers.
7682         * function.c (expand_function_end): Remove code to generate simple
7683         return.
7684         * config/vax/vax.md (epilogue): New expander for function return.
7685         * doc/md.texi (epilogue): Remove "if defined".
7686
7687 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
7688
7689         * Makefile.in: Partially revert my previous change:
7690         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
7691         of the hashtab.o and safe-ctype.o rules.
7692
7693 2001-08-09  Richard Henderson  <rth@redhat.com>
7694
7695         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
7696         (USE_COLLECT2): Remove duplicate definition.
7697         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
7698         (use_collect2): Remove dead code.
7699         * configure.in (use_collect2): Remove will_use_collect2 and
7700         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
7701         * configure: Rebuild.
7702
7703         * target.h (targetm.asm_out.constructor): New.
7704         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
7705         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
7706         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
7707         * varasm.c (in_ctors, in_dtors): New.
7708         (assemble_constructor, assemble_destructor): Remove.
7709         (default_stabs_asm_out_destructor): New.
7710         (default_named_section_asm_out_destructor): New.
7711         (dtors_section, default_dtor_section_asm_out_destructor): New.
7712         (default_stabs_asm_out_constructor): New.
7713         (default_named_section_asm_out_constructor): New.
7714         (ctors_section, default_ctor_section_asm_out_constructor): New.
7715         * output.h: Update declarations.
7716         * c-decl.c (c_expand_body): Use target hooks instead of
7717         assemble_constructor and assemble_destructor.
7718         * profile.c (output_func_start_profiler): Likewise.
7719         * objc/objc-act.c (finish_objc): Likewise.
7720         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
7721         for the constructor.
7722         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
7723
7724         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
7725         (DTORS_SECTION_ASM_OP): Likewise.
7726         (__CTOR_LIST__): Use attribute section when possible.
7727         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
7728
7729         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
7730         ASM_OUTPUT_CONSTRUCTOR.
7731
7732         * config/darwin.c (machopic_asm_out_constructor): New.
7733         (machopic_asm_out_destructor): New.
7734         * config/darwin-protos.h: Update declarations.
7735         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
7736         (ASM_OUTPUT_DESTRUCTOR): Remove.
7737         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
7738         * config/nextstep.c (nextstep_asm_out_constructor): New.
7739         (nextstep_asm_out_destructor): New.
7740         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
7741         (ASM_OUTPUT_DESTRUCTOR): Remove.
7742         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
7743         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
7744         ASM_OUTPUT_*STRUCTOR.
7745         * config/i386/aix386ng.h: Likewise.
7746
7747         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
7748         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
7749         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
7750         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
7751         * config/lynx.h: Likewise.
7752         * config/netware.h: Likewise.
7753         * config/psos.h: Likewise.
7754         * config/alpha/alpha-interix.h: Likewise.
7755         * config/alpha/elf.h: Likewise.
7756         * config/arc/arc.h: Likewise.
7757         * config/arm/aof.h: Likewise.
7758         * config/arm/coff.h: Likewise.
7759         * config/arm/elf.h: Likewise.
7760         * config/c4x/c4x.h: Likewise.
7761         * config/h8300/h8300.h: Likewise.
7762         * config/i386/cygwin.h: Likewise.
7763         * config/i386/djgpp.h: Likewise.
7764         * config/i386/i386-coff.h: Likewise.
7765         * config/i386/i386-interix.h: Likewise.
7766         * config/i386/sco5.h: Likewise.
7767         * config/i386/vsta.h: Likewise.
7768         * config/i386/win32.h: Likewise.
7769         * config/i960/i960-coff.h: Likewise.
7770         * config/ia64/sysv4.h: Likewise.
7771         * config/m68hc11/m68hc11.h: Likewise.
7772         * config/m68k/coff.h: Likewise.
7773         * config/m68k/mot3300.h: Likewise.
7774         * config/m88k/m88k.h: Likewise.
7775         * config/mcore/mcore-pe.h: Likewise.
7776         * config/mcore/mcore.h: Likewise.
7777         * config/mips/elf.h: Likewise.
7778         * config/mips/elf64.h: Likewise.
7779         * config/mips/iris6.h: Likewise.
7780         * config/pa/pa64-hpux.h: Likewise.
7781         * config/rs6000/sysv4.h: Likewise.
7782         * config/sh/sh.h: Likewise.
7783         * config/sparc/litecoff.h: Likewise.
7784
7785         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
7786         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
7787         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
7788         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
7789         (ASM_OUTPUT_DESTRUCTOR): Remove.
7790         * config/a29k/a29k.c: Move include of tree.h.
7791         * config/a29k/udi.h: Delete file.
7792         * config/alpha/alpha.c (vms_asm_out_constructor): New.
7793         (vms_asm_out_destructor): New.
7794         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
7795         (EXTRA_SECTION_FUNCTIONS): Likewise.
7796         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
7797         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
7798         * config/c4x/c4x.c: Move include of tree.h.
7799         * config/clipper/clipper.c (clix_asm_out_constructor): New.
7800         (clix_asm_out_destructor): New.
7801         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
7802         (ASM_OUTPUT_DESTRUCTOR): Remove.
7803         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
7804         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
7805         (TARGET_ASM_CONSTRUCTOR): New.
7806         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
7807         (sco_asm_out_constructor): New.
7808         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
7809         * config/i386/svr3gas.h: Remove stack grows up code.
7810         Remove code duplicated from i386/sysv3.h.
7811         (TARGET_ASM_CONSTRUCTOR): New.
7812         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
7813         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
7814         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
7815         (TARGET_ASM_CONSTRUCTOR): New.
7816         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
7817         (m68hc11_asm_out_destructor): New.
7818         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
7819         (TARGET_ASM_DESTRUCTOR): New.
7820         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
7821         * config/m68k/dpx2.h: Properly undef all the bits inherited from
7822         config/svr3.h pertaining to section manipulation.
7823         * config/m68k/dpx2g.h: Remove #if 0 code.
7824         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
7825         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
7826         (ASM_OUTPUT_CONSTRUCTOR): Remove.
7827         (TARGET_ASM_CONSTRUCTOR): New.
7828         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
7829         (m88k_svr3_asm_out_constructor): New.
7830         (m88k_svr3_asm_out_destructor): New.
7831         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
7832         (ASM_OUTPUT_DESTRUCTOR): Remove.
7833         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
7834         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
7835         * config/rs6000/aix.h: Likewise.
7836         * config/mips/rtems64.h: Don't undef removed constructor related bits.
7837         * config/mips/vxworks.h: Likewise.
7838         * config/rs6000/lynx.h: Likewise.
7839         * config/sh/elf.h: Likewise.
7840         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
7841         (DTORS_SECTION_ASM_OP): New.
7842         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
7843         (ASM_OUTPUT_DESTRUCTOR): Remove.
7844         * config/sparc/sol2-sld-64.h: Likewise.
7845         * config/vax/vax.c (vms_asm_out_constructor): New.
7846         (vms_asm_out_destructor): New.
7847         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
7848         (ASM_OUTPUT_DESTRUCTOR): Remove.
7849         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
7850
7851         * doc/tm.texi (@node Initialization): Update.
7852
7853 2001-08-09  Richard Henderson  <rth@redhat.com>
7854
7855         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
7856         (__do_global_dtors_aux): Use gp-relative static data to avoid
7857         one dynamic relocation.
7858         (__do_frame_setup): Register Java classes.
7859         * config/alpha/crtend.asm (__JCR_END__): New.
7860
7861 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
7862
7863         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
7864         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
7865         (GEN, STAGESTUFF): Add new files.
7866         (insn-constants.h, s-constants, tm-preds.h, s-preds,
7867         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
7868         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
7869         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
7870         as well as insn-codes.h and insn-flags.h in config.h; and no
7871         extra headers in tconfig.h and hconfig.h.
7872
7873         * gencodes.c: Eliminate code to generate predicate declarations
7874         or #defines for md-file constants.
7875         * genconstants.c, genpreds.c: New files.
7876
7877         * i386.md: Re-order guard expressions such that TARGET_64BIT
7878         comes first, when this permits better optimization.  Add
7879         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
7880         why this is desirable.
7881
7882 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
7883
7884         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
7885         (find_fde_for_dso): Remove.
7886         (_Unwind_IteratePhdrCallback): New.
7887         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
7888         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
7889
7890 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7891
7892         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
7893         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
7894
7895 2001-08-09  Graham Stott  <grahams@redhat.com>
7896
7897         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
7898         (vis_no_unit): Use it.
7899         (visualize_no_unit): Add the insn only if room exists.
7900
7901 2001-08-09  Graham Stott  <grahams@redhat.com>
7902
7903         * predict.c (estimate_probability): Replace magic numbers with
7904         appropriate enumeration.
7905
7906 2001-08-09  Graham Stott  <grahams@redhat.com>
7907
7908         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
7909         parameter.
7910         (EXTRACT_FLAGS): Likewise.
7911
7912 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
7913
7914         * config/mips/mips.c    (mips_legitimate_address_p): Check for
7915         CONST_INT in last patch.
7916
7917 2001-08-08  Anthony Green  <green@redhat.com>
7918
7919         * java/class.c (emit_register_classes): Use assemble_jcr if
7920         possible.  Keep the original mechanism as a fallback.
7921         * defaults.h (JCR_SECTION_NAME): Define if we have named section
7922         and weak symbol support.
7923         * crtstuff.c (__JCR_LIST__): Define.
7924         (__JCR_END__): Define.
7925         (_Jv_RegiserClasses): Define weak symbol if possible.
7926         (__do_global_ctors_aux): Register classes for ELF targets with
7927         weak symbol support.
7928
7929 2001-08-08  Kazu Hirata  <kazu@hxi.com>
7930
7931         * dbxout.c: Fix comment formatting.
7932         * dependence.c: Likewise.
7933         * df.c: Likewise.
7934         * diagnostic.c: Likewise.
7935         * dominance.c: Likewise.
7936         * doprint.c: Likewise.
7937         * dwarf2out.c: Likewise.
7938         * dwarfout.c: Likewise.
7939         * emit-rtl.c: Likewise.
7940         * except.c: Likewise.
7941         * explow.c: Likewise.
7942         * expmed.c: Likewise.
7943         * expr.c: Likewise.
7944         * flow.c: Likewise.
7945         * fold-const.c: Likewise.
7946         * function.c: Likewise.
7947
7948 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7949
7950         * global.c (retry_global_alloc): Avoid shadowing allocno.
7951
7952 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
7953
7954         * except.c (remove_fixup_regions): Fix typo.
7955
7956 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
7957
7958         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
7959         unsigned HOST_WIDE_INT to avoid warning.
7960         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
7961         * flow.c (set_block_for_new_insns): Likewise.
7962
7963 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
7964
7965         * sibcall.c (return_value_pseudo): New static variable.
7966         (skip_copy_to_return_value): Handle return_value_pseudo.
7967         (call_ends_block_p): Ensure that return_value_pseudo is set.
7968         (optimize_sibling_and_tail_recursive_call): Discover the
7969         load of pseudo return value in alternate exit block.
7970
7971 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
7972
7973         * calls.c (ECF_ALWAYS_RETURN): New constant.
7974         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
7975         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
7976         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
7977         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
7978         * rtl.c (reg_note_name): New name.
7979         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
7980
7981 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
7982
7983         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
7984
7985 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
7986
7987         * alias.c (get_alias_set): Return a previously calculated
7988         alias set for a VAR_DECL.
7989         * function.c (gen_mem_addressof): Calculate the alias set before
7990         touching the RTL.
7991
7992 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
7993
7994         * predict.def: Set hitrates according our experimental run.
7995
7996 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
7997
7998         * i386.h (HARD_REGNO_RENAME_OK): New macro.
7999
8000 2001-08-08  H.J. Lu <hjl@gnu.org>
8001
8002         * config/mips/mips.c (mips_unique_section): New. Copied from
8003         config/mips/elf.h.
8004
8005         * config/mips/mips-protos.h (mips_unique_section): New
8006         prototype.
8007
8008         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
8009
8010         * config/mips/little.h: New. Generic little endian mips
8011         targets. Only mips*-*-linux* is converted to use it so far.
8012
8013         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
8014         (WCHAR_TYPE): Defined
8015         (WCHAR_TYPE_SIZE): Likewise.
8016         (INIT_SUBTARGET_OPTABS): Likewise.
8017         (BSS_SECTION_ASM_OP): Likewise.
8018         (SBSS_SECTION_ASM_OP): Likewise.
8019         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
8020         (ASM_DECLARE_OBJECT_NAME): Likewise.
8021         (UNIQUE_SECTION): Likewise.
8022         (EXTRA_SECTIONS): Likewise.
8023         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
8024         (ASM_OUTPUT_DESTRUCTOR): Likewise.
8025         (ASM_OUTPUT_DEF): Likewise.
8026         (HANDLE_SYSV_PRAGMA): Removed.
8027         (NO_IMPLICIT_EXTERN_C): Likewise.
8028         (TARGET_MEM_FUNCTIONS): Likewise.
8029         (STARTFILE_SPEC): Likewise.
8030         (ENDFILE_SPEC): Likewise.
8031         (LIB_SPEC): Likewise.
8032         (INVOKE__main): Likewise.
8033         (CTOR_LIST_BEGIN): Likewise.
8034         (CTOR_LIST_END): Likewise.
8035         (DTOR_LIST_BEGIN): Likewise.
8036         (DTOR_LIST_END): Likewise.
8037         (SET_ASM_OP): Likewise.
8038         (ASM_OUTPUT_SOURCE_LINE): Likewise.
8039         (ASM_OUTPUT_DEF): Likewise.
8040         (ASM_OUTPUT_IDENT): Likewise.
8041
8042         * config/mips/mips.h (ASM_SPEC): Undefine before define.
8043         (CPLUSPLUS_CPP_SPEC): Likewise.
8044         (ASM_APP_ON) Redefine only if not defined.
8045         (ASM_APP_OFF): Likewise.
8046         (ASM_OUTPUT_SOURCE_LINE): Likewise.
8047         (ASM_OUTPUT_IDENT): Likewise.
8048
8049         * config.gcc: Update tm_file for Linux/mips.
8050
8051 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
8052
8053         * cselib.c (cselib_record_sets): If insn is predicated, turn
8054         sources into IF_THEN_ELSEs.
8055
8056         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
8057         Turn into define_insn_and_split.
8058
8059         * sched-deps.c: Include "cselib.h".
8060         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
8061         Use cselib to turn memory addresses into VALUEs.
8062         (sched_analyze): Call cselib_init/cselib_finish if necessary.
8063         * sched-int.h (struct sched_info): New member USE_CSELIB.
8064         * sched-ebb.c (ebb_sched_info): Initialize it.
8065         * sched-rgn.c (rgn_sched_info): Likewise.
8066         * Makefile.in (sched-deps.o): Update dependencies.
8067
8068         * cselib.h (cselib_subst_to_values): Declare.
8069         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
8070         that have no value and autoincs to be handled by generating a new
8071         dummy value.
8072
8073 2001-08-08  Graham Stott  <grahams@redhat.com>
8074
8075         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
8076         within fixed length SEQUENCE.
8077
8078 2001-08-08  Graham Stott  <grahams@redhat.com>
8079
8080         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
8081         (diagnostic_prefixing_rule): Likewise.
8082         (diagnostic_line_cutoff): Likewise.
8083         (diagnostic_kind_count): Likewise.
8084
8085 2001-08-08  Graham Stott  <grahams@redhat.com>
8086
8087         * alias.c (find_base_decl): Delete redundent assignment.
8088
8089 2001-08-08  Graham Stott  <grahams@redhat.com>
8090
8091         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
8092         (abs): Uppercase and paranthesize macro parameter.
8093         (MEM_DEPENDENCY): Add whitespace.
8094
8095 2001-08-08  Graham Stott  <grahams@redhat.com>
8096
8097         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
8098         failure check for CONST_INT
8099
8100 2001-08-08  Graham Stott  <grahams@redhat.com>
8101
8102         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
8103         (libcall_dead_p): Likewise.
8104
8105         (mark_used_regs): Constify fmt.
8106         (find_use_as_address): Likewise.
8107
8108 2001-08-08  Graham Stott  <grahams@redhat.com>
8109
8110         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
8111          parameter.
8112
8113 2001-08-08  Graham Stott  <grahams@redhat.com>
8114
8115         * combine.c (combine_simplify_rtx): Update comment and
8116         remove erroneous test.
8117
8118 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
8119
8120         * cppinit.c (cpp_finish): Pop the final buffer without comment.
8121         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
8122         take care to avoid multiple no-newline at EOF warnings in that
8123         case.
8124
8125 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
8126
8127         * calls.c (expand_call): Do not emit INSN_SETJMP note.
8128         (emit_library_call_value_1): Likewise.
8129         (emit_call_1): Emit REG_SETJMP note.
8130         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
8131         of INSN_SETJMP
8132         * cselib.c (cselib_process_insn): Likewise.
8133         * flow.c (propagate_block): Likewise.
8134         * loop.c (find_and_verify_loops): Likewise.
8135         * reload.c (find_equiv_regs): Likewise.
8136         * reload1.c (reload): Likewise.
8137         * resource.c (mark_referenced_resources,
8138         mark_set_resources): Likewise.
8139         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
8140         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
8141         * haifa-sched.c (unlink_other_notes): Likewise.
8142         (reemit_notes): Likewise.
8143         * sched-ebb.c (sched_ebb): Likewise.
8144         * sched-rgc.c (sched_region): Likewise.
8145         * rtl.c (note_insn_name): Likewise.
8146         (reg_note_name): Add REG_SETJMP
8147         * rtl.h (reg_note): Add REG_SETJMP.
8148         (insn_note): Remove NOTE_INSN_SETJMP.
8149
8150         * profile.c (branch_prob): Add fake edges for setjmp.
8151
8152 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
8153
8154         * config.gcc: Quote target_cpu_default2 correctly for
8155         powerpc*-*-* targets.
8156
8157 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
8158
8159         * cpplib.h, line-map.h: Update comments.
8160         * cppmain.c (printer_init): Move inline.
8161         (maybe_print_line, print_line): Take a map pointer.
8162         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
8163         (cb_file_change): Don't use prior value of print.map.
8164
8165 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
8166
8167         * doc/install.texi: Document fine-grained multilib configuration.
8168
8169 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
8170
8171         * rtlanal.c (find_first_parameter_load): Call note_stores
8172         only on the instructions.
8173
8174 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
8175
8176         * alias.c (nonlocal_mentioned_p):
8177         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
8178         * calls.c (emit_call_1): Likewise.
8179         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
8180         * cselib.c (cselib_process_insn): Likewise.
8181         * df.c (df_insns_modify): Likewise.
8182         * flow.c (need_fake_edge_p): Likewise.
8183         (propagate_one_insn): Likewise.
8184         * haifa-sched.c (reemit_notes): Likewise.
8185         * integrate.c (copy_insn_list): Likewise.
8186         * jump.c (delete_prior_computation): Likewise.
8187         * local-alloc.c (validate_equiv_mem): Likewise.
8188         * loop.c (scan_loop): Likewise.
8189         * predict.c (estimate_probability): Likewise.
8190         * reload.c (reload): Likewise.
8191         * sched-deps (sched_analyze): Likewise.
8192         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
8193         * gcse.c (compute_hash_table): Likewise.
8194         (mark_call): Likewise.
8195         (store_killed_in_insn): Likewise.
8196
8197 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
8198
8199         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
8200
8201 2001-08-06  Richard Henderson  <rth@redhat.com>
8202
8203         * varasm.c (assemble_gc_entry): Remove.
8204         * output.h: Likewise.
8205
8206 2001-08-06  Richard Henderson  <rth@redhat.com>
8207
8208         * varasm.c (assemble_constructor): Take a symbol_ref and a
8209         priority instead of a bare string.  Move priority handling
8210         here from cp/decl2.c.
8211         * output.h: Update decls.
8212
8213         * c-decl.c (c_expand_body): Update calls to assemble_constructor
8214         and assemble_destructor.
8215         * profile.c (output_func_start_profiler): Likewise.
8216         * objc/objc-act.c (finish_objc): Likewise.
8217         (build_module_descriptor): Return the symbol not the symbol name.
8218
8219 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
8220
8221         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
8222         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
8223         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
8224         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
8225         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
8226         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
8227
8228 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
8229
8230         * cpperror.c (print_containing_files): Moved to line-map.c.
8231         (print_location): line-map.c handles re-listing or otherwise.
8232         * cpphash.h (struct lexer_state): Remove next_bol.
8233         (struct cpp_buffer): Remove include_stack_listed.
8234         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
8235         Remove faked buffer handling.
8236         (_cpp_do_file_change): Tweak.
8237         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
8238         * cppmain.c (struct printer): Remove filename.
8239         (print_line, cb_file_change): Update accordingly.
8240         * line-map.c: Include intl.h.
8241         (init_line_maps): Initialize last_listed.
8242         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
8243         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
8244         (print_containing_files): New.
8245         * line-map.h (struct line_maps): New member last_listed.
8246         (print_containing_files, INCLUDED_FROM): New.
8247         * Makefile.in: Update.
8248         * po/POTFILES.in: Add line-map.c.
8249
8250 2001-08-06  Richard Henderson  <rth@redhat.com>
8251
8252         * except.c (convert_from_eh_region_ranges_1): Never mark
8253         USE or CLOBBER insns as throwing.
8254
8255         * expr.c (store_constructor): Don't clobber memory targets.
8256
8257 2001-08-06  Andreas Jaeger  <aj@suse.de>
8258
8259         * profile.c (branch_prob): Remove unused variable insn.
8260
8261         * Makefile.in (local-alloc.o): Add dependency on except.h.
8262
8263         * local-alloc.c: Include except.h for can_throw_internal prototype.
8264
8265 2001-08-06  Richard Henderson  <rth@redhat.com>
8266
8267         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
8268         * function.c (expand_main_function): Implement it.
8269         * doc/tm.texi: Document it.
8270
8271 2001-08-06  Stan Shebs  <shebs@apple.com>
8272
8273         * doc/install.texi: Document powerpc-*-darwin* details.
8274
8275 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
8276
8277         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
8278         (ASM_CPU_SPEC): Move back to rs6000.h
8279         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
8280
8281         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
8282
8283         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
8284         readded.
8285
8286         * config/rs6000/linux64.h: Ditto.
8287
8288         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
8289         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
8290         nothing.
8291
8292         Remove accidently readded definitions of FUNCTION_PROLOGUE,
8293         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
8294
8295         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
8296         to rs6000.h
8297
8298 2001-08-05  Richard Henderson  <rth@redhat.com>
8299
8300         * local-alloc.c (update_equiv_regs): Do not move insns that
8301         can throw.
8302
8303 2001-08-05  Jan Hubicka  <jh@suse.cz>
8304
8305         * Makefile.in (reload1.o): Add dedendancy on except.h
8306         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
8307         prototypes.
8308         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
8309         indicating wehther edges has been cleaned up.
8310         * reload1.c: Inlucde except.h
8311         (fixup_abnormal_edges): Accept deleted insns.
8312         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
8313         after combine.
8314
8315 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
8316
8317         * cpplib.c (do_line): Correct line number after pop_buffer.
8318
8319 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
8320
8321         PR preprocessor/3824
8322         * line-map.c: Update comments.
8323         * line-map.h: Update comments.
8324         * tradcif.y: Don't consider large numbers unsigned.
8325
8326 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
8327
8328         PR preprocessor/3081
8329         * c-lex.c (map): New.
8330         (cb_file_change): Update map and use it.
8331         (cb_def_pragma, cb_define, cb_undef): Use map and line.
8332         (c_lex): Update to use map.
8333         * cpperror.c (print_location): Move to using logical line numbers.
8334         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
8335         (cpp_make_system_header): Similarly.
8336         (_cpp_execute_include): Stop line numbering hacks.  Store the
8337         line we will return to.
8338         * cpphash.h (CPP_BUF_LINE): Remove.
8339         (struct cpp_buffer): Remove lineno and pseudo_newlines.
8340         Add map and return_to_line.
8341         (_cpp_do_file_change): Update.
8342         * cppinit.c (cpp_start_read): Update line kludge.
8343         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
8344         (trigraph_ok): Use logical line numbers for diagnostics.
8345         (skip_block_comment): Likewise.
8346         (skip_whitespace): Likewise.
8347         (skip_line_comment): Use pfile->line instead.
8348         (_cpp_lex_token): Update to use logical line numbering exclusively.
8349         Handle BOL locally.  Accept new lines in directives, but keep
8350         pfile->line decremented.  Diagnostics use logical lines.  Update
8351         directive handling.
8352         * cpplib.c (SEEN_EOL): New.
8353         (skip_rest_of_line, check_eol): Use it.
8354         (end_directive): Increase line number when accepting the newline
8355         at the end of a directive.
8356         (run_directive): Simplify.
8357         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
8358         (_cpp_do_file_change): Update to take buffer line number as an
8359         argument, and store the current map in the cpp_reader.  Remove
8360         line number kludges.
8361         (_cpp_do__Pragma): Restore output position after a _Pragma.
8362         (cpp_push_buffer): Don't set output line or lineno.
8363         (_cpp_pop_buffer): Transfer more info from a faked buffer.
8364         Remove line kludge.  Set output_line.
8365         * cppmacro.c (builtin_macro): Update handling of __LINE__.
8366         (parse_arg): Use logical lines.
8367         (save_lookahead_token): Save EOFs too now.
8368         * cppmain.c (struct printer): Fix comments.
8369         (printer_init): Simplify, let caller do errors.
8370         (scan_translation_unit, check_multiline_token, dump_macro): Update.
8371         (maybe_print_line): Simplify.
8372         (print_line): Don't print a linemarker if -P.
8373         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
8374         (cb_file_change): Simplify.
8375         * line-map.h (LAST_SOURCE_LINE): Fix.
8376         (CURRENT_LINE_MAP): New.
8377
8378 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
8379
8380         * doloop.c (doloop_modify_runtime): Properly compute number of
8381         iterations if loop was unrolled.
8382
8383         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
8384         if their CSELIB_VAL_PTRs are.
8385
8386         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
8387         (setup_spill_pointers): Initialize it.
8388         (spill_restore_mem): Set it.
8389         (do_spill, do_restore): Use it to add REG_INC note.
8390         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
8391
8392         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
8393         asms if other insns are available.
8394
8395         * config/ia64/ia64.c (condop_operator): New predicate.
8396         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
8397         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
8398         patterns.
8399
8400         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
8401         temporary register than directly using a MEM.
8402
8403 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
8404
8405         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
8406         parameter in last change.
8407
8408 2001-08-04  Zack Weinberg  <zackw@panix.com>
8409
8410         * sparc.md: Don't use #if inside C test expression.
8411
8412 2001-08-04  Richard Henderson  <rth@redhat.com>
8413
8414         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
8415
8416 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
8417
8418         * cpphash.h (struct cpp_reader): New member directive_line.
8419         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
8420         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
8421         do_pragma): Pass line to callbacks.
8422         (start_directive): Record line of directive.
8423         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
8424         cb_include): Similarly.
8425         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
8426         Similarly.
8427
8428 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
8429
8430         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
8431         comment.
8432
8433 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
8434
8435         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
8436
8437         * reload1.c (fixup_abnormal_edges): New static function.
8438         (reload): Use it.
8439
8440         * flow.c (need_fake_edge_p): New function.
8441         (flow_call_edges_add): Fix handling of noreturn and sibbling calls;
8442         avoid call insn to be very last insn in the insn stream.
8443
8444         * profile.c (branch_prob): Call flow_call_edges_add instead of
8445         doing that by hand; cleanup cfg to re-merge basic blocks once
8446         we are done.
8447
8448 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
8449
8450         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
8451         are also on line-map.h.
8452         * cppfiles.c (stack_include_file): Update.
8453         * cpphash.h (struct cpp_buffer): New member return_at_eof.
8454         (_cpp_pop_buffer): New.
8455         * cppinit.c (cpp_destroy, cpp_finish): Update.
8456         (do_includes): Mark each buffer to return at EOF.
8457         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
8458         return as requested.
8459         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
8460         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
8461         * cpplib.h (cpp_pop_buffer): Remove.
8462         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
8463         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
8464         buffers.
8465         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
8466         to pop buffers.
8467         (do_preprocessing): Update.
8468         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
8469         * c-parse.in (_yylex): Similarly.
8470         * scan-decls.c (scan_decls): Similarly.
8471         * line-map.h: Update comments.
8472
8473         * objc/Make-lang.in (objc-act.o): Update dependencies.
8474
8475 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8476
8477         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
8478         and soft register for operand 0.
8479         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
8480
8481 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8482
8483         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
8484         register for operand 0.
8485         ("bitcmpqi_z_used"): Allow memory for operand 0.
8486         (split "bitcmpqi"): New split to handle address reg as operand 1.
8487
8488 2001-08-04  Andreas Jaeger  <aj@suse.de>
8489
8490         * gcse.c: Revert Daniel's last patch.
8491
8492 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
8493
8494         * sparc-protos.h: Add prototypes for fp_zero_operand and
8495         reg_or_0_operand.
8496         * sh-protos.h: Add prototype for fpul_operand.
8497
8498 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
8499
8500         * doc/extend.texi (Other Builtins): Fix typo in last change.
8501
8502 2001-08-03  Richard Henderson  <rth@redhat.com>
8503
8504         * target.h (gcc_target): Add asm_out.named_section,
8505         section_type_flags, have_named_sections.
8506         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
8507         (TARGET_HAVE_NAMED_SECTIONS): New.
8508         (TARGET_SECTION_TYPE_FLAGS): New.
8509
8510         * Makefile.in (toplev.o): Depend on TARGET_H.
8511         (varasm.o, dbxout.o): Likewise.
8512         * c-common.c (decl_attributes): Check targetm.have_named_sections
8513         instead of ifdef ASM_OUTPUT_SECTION_NAME.
8514         * dbxout.c (dbxout_function_decl): Likewise.
8515         (dbxout_function_end): Likewise.
8516         * toplev.c (compile_file): Likewise.
8517         * varasm.c (exception_section): Likewise.
8518         * cp/decl2.c (finish_objects): Likewise.
8519
8520         * defaults.h (EH_FRAME_SECTION): Remove.
8521         (EH_FRAME_SECTION_ASM_OP): Remove.
8522         (EH_FRAME_SECTION_NAME): New.
8523         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
8524         (UNIQUE_SECTION_P): Remove.
8525         * dwarf2out.c (SECTION_FORMAT): Remove.
8526         (ASM_OUTPUT_SECTION): Remove.
8527         (output_call_frame_info): Use named_section_flags.
8528         (output_comp_unit, dwarf2out_start_source_file): Likewise.
8529         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
8530         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
8531         * varasm.c (in_eh_frame, eh_frame_section): Remove.
8532         (named_section_flags): New.
8533         (named_section): Use it and targetm.section_type_flags.
8534         (resolve_unique_section): New.
8535         (assemble_start_function): Use it.
8536         (asm_emit_uninitialised, assemble_variable): Likewise.
8537         (default_section_type_flags): New.
8538         (default_no_named_section, default_elf_asm_named_section): New.
8539         (default_coff_asm_named_section, default_pe_asm_named_section): New.
8540         * output.h: Update varasm.c decls.
8541         (SECTION_*): New flags.
8542
8543         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
8544         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
8545
8546         * config/elfos.h (UNIQUE_SECTION_P): Remove.
8547         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
8548         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
8549         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
8550         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
8551         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
8552         * config/mips/elf.h, config/mips/elf64.h: Likewise.
8553         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
8554         * config/pa/pa64-hpux.h,
8555
8556         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
8557         (TARGET_ASM_NAMED_SECTION): New.
8558         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
8559         * config/alpha/vms.h, config/arm/coff.h: Likewise.
8560         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
8561         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
8562         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
8563         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
8564         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
8565         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
8566         * config/i386/sco5.h, config/i386/win32.h: Likewise.
8567         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
8568         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
8569         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
8570         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
8571         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
8572         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
8573         * config/sparc/sysv4.h: Likewise.
8574
8575         * config/nextstep.h: Error until named sections implemented.
8576
8577         * config/a29k/a29k.c (a29k_asm_named_section): New.
8578         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
8579         (vms_section_type_flags, vms_asm_named_section): New.
8580         * config/arm/arm.c (arm_elf_asm_named_section): New.
8581         * config/avr/avr.c (asm_output_section_name): Remove.
8582         * config/avr/avr-protos.h: Update.
8583         * config/c4x/c4x.c (c4x_asm_named_section): New.
8584         * config/h8300/h8300.c (h8300_asm_named_section): New.
8585         * config/i386/i386.c (sco_asm_named_section): New.
8586         * config/i386/winnt.c (SECTION_PE_SHARED): New.
8587         (i386_pe_section_type_flags): New.
8588         (i386_pe_asm_named_section): New.
8589         * config/i386/i386-protos.h: Update.
8590         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
8591         * config/mcore/mcore.c (mcore_asm_named_section): New.
8592         * config/mips/mips.c (iris6_asm_named_section): New.
8593         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
8594         instead of UNIQUE_SECTION_P.
8595         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
8596         (xcoff_asm_named_section): New.
8597         * config/sh/sh.c (sh_asm_named_section): New.
8598         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
8599
8600         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
8601         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
8602         (EH_FRAME_SECTION_NAME): New.
8603         (EXCEPTION_SECTION): New.
8604         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
8605         (DEBUG_*_SECTION): Remove.
8606         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
8607         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
8608         (EH_FRAME_SECTION_ASM_OP): Remove.
8609
8610         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
8611         (ASM_OUTPUT_SECTION_NAME): Remove.
8612         (TARGET_ASM_NAMED_SECTION): New.
8613         (TARGET_HAVE_NAMED_SECTIONS): New.
8614         (TARGET_SECTION_TYPE_FLAGS): New.
8615         (EH_FRAME_SECTION_ASM_OP): Remove.
8616         (EH_FRAME_SECTION_NAME): New.
8617
8618 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
8619
8620         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
8621         for complex expressions when cfun == 0.
8622         * doc/extend.texi: Document that __builtin_constant_p can be
8623         used in data initializers as well as functions.
8624
8625 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
8626
8627         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
8628         variable I locally, instead of expecting a declaration in the
8629         calling context.
8630
8631 2001-08-03  Richard Henderson  <rth@redhat.com>
8632
8633         * except.c (collect_one_action_chain): Add an explicit cleanup
8634         action if regions surrounding a catch were encoded entirely
8635         within the call-site entry.
8636
8637 2001-08-03  Richard Henderson  <rth@redhat.com>
8638
8639         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
8640         don't take REGNO of a non-register.
8641
8642 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8643
8644         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
8645         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
8646         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
8647         (__gthread_mutex_init_function): New function for mutex initialization.
8648
8649 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
8650
8651         * Makefile.in: Revert screwed up commit.
8652
8653 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8654
8655         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
8656         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
8657         merged by linker script to get a final _exit().
8658         (__do_global_dtors): New for destructor handling in specific exit
8659         section.
8660         (__do_global_ctors): New for constructors in specific install section.
8661         (__map_data_section): Map data sections before running constructors.
8662         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
8663         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
8664         (DTORS_SECTION_ASM_OP): Likewise.
8665         (CTORS_SECTION_FUNCTION): Define to force a reference to
8666         __do_global_ctors.
8667         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
8668
8669 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
8670
8671         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
8672
8673         * Makefile.in: Add df.h to gcse.c dependencies.
8674
8675 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8676
8677         * varasm.c (output_constant_def_contents): Use for the length of a
8678         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
8679         depending on which is larger.
8680
8681 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
8682
8683         * gcse.c: Include df.h for use as a dataflow analyzer.
8684         Remove regvec.
8685         Declaration of reg_set_info: gone.
8686         New df_analyzer variable used by store motion.
8687         (reg_set_info): Deleted.
8688         (mark_mem_regs): New function, analyze regs used by a mem.
8689         (store_ops_ok): Use dataflow analyzer results to determine if
8690         necessary regs are changed in the block.
8691         (find_moveable_store): Remove check for symbol ref, we can handle
8692         much more complex expressions now.
8693         (compute_store_table): Remove most of the code, it's unnecessary
8694         now that the dataflow analyzer records the info for us.
8695         (store_killed_after): Add parameter to say whether to do the
8696         store_ops_okay test, used to speed up testing when we already know
8697         the answer, and just want to know if the store itself was killed.
8698         (build_store_vector): Largely rewritten to calculate the various
8699         vectors properly, and somewhat optimized.
8700         (store_motion): Init the df_analyzer, get REG_DEF chains.
8701         Also handle trapping expressions (since mems almost always trap)
8702         (simple_mem): Redefine what a simple mem is.
8703
8704 2001-08-03  DJ Delorie  <dj@redhat.com>
8705
8706         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
8707         set from a constant part of the condition.
8708
8709 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
8710
8711         * mkdeps.c (deps_add_default_target): Make local variable
8712         ``start'' a const char pointer.
8713         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
8714
8715 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8716
8717         * doc/install.texi (Configuration): Fix markup.
8718         (Specific, i?86-*-udk): Likewise.
8719         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
8720         --with-gnu-ld.
8721         Document --enable-threads and --enable-libgcj status.
8722         (Specific, mips-sgi-irix*): Canonicalize triples.
8723         (Specific, mips-sgi-irix5): Warn about problems with this config.
8724         Mention required GNU as patch.
8725         Native assembler problems are fixed.
8726         (Specific, mips-sgi-irix6): Update O32 ABI support status.
8727         Document --enable-threads and --enable-libgcj status.
8728
8729 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
8730
8731         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
8732         of mkinstalldirs.
8733
8734 2001-08-03  Richard Henderson  <rth@redhat.com>
8735
8736         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
8737         constant data.
8738
8739 2001-08-03  Richard Henderson  <rth@redhat.com>
8740
8741         * rtlanal.c (find_first_parameter_load): Stop if we
8742         reach a CODE_LABEL at BOUNDARY.
8743
8744 2001-08-03  Richard Henderson  <rth@redhat.com>
8745
8746         * config/alpha/alpha.md (force_movdi): New insn.
8747         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
8748         Tweek FRP marking of VMS prologue insns.
8749         * config/alpha/vms.h (EPILOGUE_USES): New.
8750
8751 2001-08-02  Richard Henderson  <rth@redhat.com>
8752
8753         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
8754
8755 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
8756
8757         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
8758         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
8759         config/convex/convex.h, config/d30v/d30v.c,
8760         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
8761         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
8762         config/mips/mips.h, config/mn10200/mn10200.h,
8763         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
8764         config/v850/v850.h, config/vax/openbsd.h,
8765         config/vax/openbsd1.h, config/vax/ultrix.h,
8766         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
8767         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
8768         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
8769         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
8770         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
8771         in comments and documentation.
8772
8773 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
8774
8775         * line-map.c: New.
8776         * line-map.h: New.
8777         * Makefile.in (line-map.o): New.
8778         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
8779         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
8780         * cpperror.c (print_containing_files): Similarly.
8781         (print_location): Update.  Don't output a space before _Pragma.
8782         * cppfiles.c (stack_include_file): Set to line 1 immediately.
8783         (stack_include_filee, cpp_make_system_header): Update.
8784         (_cpp_execute_include): Get logical line number right for calling
8785         as-yet-unterminated #include.
8786         * cpphash.h (struct cpp_reader): Add line_maps.
8787         (_cpp_do_file_change): Update.
8788         * cppinit.c (cpp_create_reader): Initialize line maps.
8789         (cpp_destroy): Destroy line maps.
8790         (cpp_start_read): Get logical line number right.
8791         * cpplex.c (parse_string): Only warn once for multi-line strings.
8792         Use boolean variable for null warning.
8793         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
8794         already.
8795         (do_include_common): End the directive early.
8796         (do_line): Don't warn about out-of-range lines in preprocessed
8797         source.  Update.  Remove unused variables.
8798         (_cpp_do_file_change): Update for new line mapping.
8799         (pragma_cb): New typedef.
8800         (cpp_register_pragma): Stop looking ahead before calling the
8801         handler.  Clean up.
8802         (do_pragma_system_header): End directive early.
8803         (cpp_get_line_maps): New.
8804         (cpp_pop_buffer): Fudge logical line.  Update.
8805         * cpplib.h: Include line-map.h
8806         (enum cpp_fc_reason): Remove.
8807         (struct cpp_file_change): Update.
8808         (cpp_get_line_maps): New.
8809         * cppmain.c (struct_printer): New member map.
8810         (cb_file_change): Update for new mappings.
8811         * fix-header.c (cb_file_change): Similarly.
8812
8813 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
8814
8815         * Makefile.in (libgcc.mk): Define mkinstalldirs.
8816         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
8817
8818 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
8819
8820         * config/vax/vax.c: include expr.h.
8821
8822 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
8823
8824         * Makefile.in ($(srcdir)/configure): Only rebuild in
8825         maintainer mode.
8826         ($(srcdir)/config.in): Only define in maintainer mode.
8827         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
8828
8829 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
8830
8831         * doc/install.texi (Install GCC: Binaries): Update Bull info.
8832
8833 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8834
8835         * gcc.c (set_collect_gcc_options): New function, split out from
8836         main.
8837         Ignore elided switches.
8838         (do_spec_1): Invoke before executing command.
8839         (set_input): Export.
8840         Move declaration ...
8841         * gcc.h (set_input): ... here.
8842         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
8843         file.
8844
8845 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
8846
8847         Kill -fhonor-std.
8848         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
8849         interaction.
8850         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
8851
8852 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
8853
8854         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
8855         for the unnamed instructions it expands to.
8856
8857 2001-08-02  Richard Henderson  <rth@redhat.com>
8858
8859         * regclass.c (call_really_used_regs): Conditionally define.
8860         (init_reg_sets_1): Don't use it if not defined.
8861         (fix_register): Similarly, don't set it.
8862
8863 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8864
8865         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
8866         Correct comment that had been missed in the previous change.
8867
8868 2001-08-01  Stan Shebs  <shebs@apple.com>
8869
8870         * config/darwin.c (machopic_stub_name): Try matching by name.
8871         (update_stubs): New function.
8872         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
8873         unconditionally.
8874
8875 2001-08-01  Richard Henderson  <rth@redhat.com>
8876
8877         * except.c (output_function_exception_table): Use assemble_align.
8878         * varasm.c (assemble_eh_label): Remove.
8879         (assemble_eh_align, assemble_eh_integer): Remove.
8880
8881 2001-08-01  Robert Lipe  <robertl@caldera.com>
8882
8883         * dwarfout.c: Remove reference to README.DWARF.
8884
8885 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
8886
8887         * regclass.c (call_really_used_regs): New array for registers which
8888         are actually used by a call.
8889         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
8890         new array.
8891         (fix_register): Set call_really_used too.
8892         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
8893         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
8894
8895 2001-08-01  Richard Henderson  <rth@redhat.com>
8896
8897         * read-rtl.c (read_name): Consider \r whitespace.
8898
8899 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
8900
8901         * config.gcc: Recognize powerpc-*-netbsd*.
8902
8903         * doc/install.texi (Host/target specific installation notes for
8904         GCC): Mention powerpc-*-netbsd*.
8905
8906         * config/rs6000/netbsd.h: New file.
8907         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
8908         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
8909         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
8910         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
8911         (TARGET_VERSION): Redefine.
8912
8913         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
8914         mcall-netbsd as a match for mcall-sysv.
8915         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
8916         (ncrti.S, ncrtn.S): New targets.
8917         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
8918
8919         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
8920         "netbsd' as a V4 ABI.
8921         (ASM_SPEC): Check for -mcall-netbsd.
8922         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
8923         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
8924         (LIB_SPEC, ENDFILE_SPEC): Ditto.
8925         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
8926         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
8927         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
8928         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
8929
8930         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
8931         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
8932
8933 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
8934
8935         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
8936         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
8937         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
8938         including "unwind-pe.h".
8939
8940 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
8941
8942         * rs6000.md (define_splits): Kill unused constraints.
8943
8944 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
8945                               Jan Hubicka  <jh@suse.cz>
8946
8947         * function.c (thread_prologue_and_epilogue_insns): Kill code
8948         dealing with non-existent CFG.
8949
8950 2001-08-01  Kazu Hirata  <kazu@hxi.com>
8951
8952         * alias.c: Fix comment formatting.
8953         * bitmap.c: Likewise.
8954         * builtins.c: Likewise.
8955         * calls.c: Likewise.
8956         * c-common.c: Likewise.
8957         * c-decl.c: Likewise.
8958         * c-dump.c: Likewise.
8959         * c-lex.c: Likewise.
8960         * collect2.c: Likewise.
8961         * combine.c: Likewise.
8962         * conflict.c: Likewise.
8963         * cppfiles.c: Likewise.
8964         * cppinit.c: Likewise.
8965         * cpplex.c: Likewise.
8966         * cpplib.c: Likewise.
8967         * cppmacro.c: Likewise.
8968         * cppspec.c: Likewise.
8969         * c-pragma.c: Likewise.
8970         * crtstuff.c: Likewise.
8971         * cse.c: Likewise.
8972         * cselib.c: Likewise.
8973         * c-semantics.c: Likewise.
8974         * c-typeck.c: Likewise.
8975
8976 2001-08-01  H.J. Lu <hjl@gnu.org>
8977
8978         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
8979
8980 2001-08-01  H.J. Lu <hjl@gnu.org>
8981
8982         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
8983
8984 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
8985
8986         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
8987         contextualizing Objective-C class name lookup by the lexer.
8988         (typespec_reserved_nonattr): Disable ObjC class name lookup after
8989         seeing a TYPESPEC.
8990         (protocoldef): Add support for forward @protocol declarations.
8991         (yylexname): Suppress ObjC class name lookup in certain contexts;
8992         re-enable after lookup is complete.
8993         (_yylex): Re-enable ObjC class name lookup when certain
8994         punctuation marks are seen.
8995
8996         * objc/objc-act.c (check_protocol_recursively): New function used
8997         for finding circular dependencies in protocols.
8998         (objc_declare_protocols): New function for handling forward
8999         @protocol declarations.
9000         (receiver_is_class_object): Detect the case when 'self' is used
9001         inside of a class method.
9002         (build_message_expr): Issue a warning if class method is desired
9003         but instance method is found instead.
9004         (conforms_to_protocol): Streamline.
9005         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
9006         protocol Foo, even if 'Bar foo' does not.
9007         (check_protocols): Streamline.
9008         (start_protocol): Add checks for circular and duplicate protocol
9009         definitions.
9010         (encode_aggregate_within): For typedefs of structs, encode the
9011         underlying struct.
9012         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
9013         (objc_declare_protocols): New prototype.
9014
9015 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9016
9017         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
9018         * cpplex.c (handle_newline): Update prototype.  Maintain logical
9019         line number.
9020         (skip_escaped_newlines, skip_block_comment, parse_string):
9021         Update accordingly.
9022         (_cpp_lex_token): Update, and store token position within the token.
9023         * cpplib.h (struct cpp_token): Add line and column entries.
9024         * cppmacro.c (replace_args): Position stringified tokens correctly.
9025
9026 2001-08-01  Andreas Jaeger  <aj@suse.de>
9027
9028         * basic-block.h: Add prototype for last_loop_beg_note.
9029
9030 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
9031
9032         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
9033         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
9034         comment.
9035         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
9036         while handling WITH_CLEANUP_EXPR node. Use second operand calling
9037         expand_decl_cleanup.
9038         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
9039         the first RTX.
9040         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
9041         operand while calling simple_cst_equal.
9042         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
9043         operand is the cleanup expression, the third is the RTL_EXPR.
9044         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
9045
9046 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
9047
9048         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
9049
9050 2001-07-31  matthew green  <mrg@eterna.com.au>
9051
9052         * config.gcc (i386-*-netbsdelf): New description.
9053         * config/i386/netbsd-elf.h: New file.
9054
9055 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
9056
9057         * loop.c (check_dbra_loop): Use single_set to compute
9058         jump_label.
9059
9060 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
9061
9062         PowerPC reorg and support for powerpc64-*-linux*.
9063
9064         Also fixes emitting of constants on 32 bit and 64 bit
9065         platforms.
9066
9067         * config.gcc: powerpc64-*-linux* is a new target.
9068         Things that needed aix.h now also include xcoff.h
9069
9070         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
9071         xcoff.h.
9072         Move AIX specific stuff into aix.h.
9073         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
9074         with more than just XCOFF now.
9075         (SET_ASM_OP): Remove, now defined where needed.
9076         (FUNCTION_PROLOGUE): New macro definition.
9077         (FUNCTION_EPILOGUE): New macro definition.
9078         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
9079
9080         * config/rs6000/xcoff.h: New file.
9081
9082         * config/rs6000/linux64.h: New file.
9083
9084         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
9085
9086 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
9087
9088         * rs6000.c (print_operand_address): Handle ELF syntax.
9089         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
9090         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
9091         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
9092
9093 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
9094
9095         * rs6000.c (rs6000_override_options): Only disable
9096         flag_function_sections for XCOFF.
9097         (exact_log2_cint_operand): New predicate.
9098         (reg_or_{add,sub}_cint64_operand): New predicates.
9099         (add_operand): Compare CONST_INT with fewer function calls.
9100         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
9101         (print_operand, case 'p'): Ensure positive operand.
9102         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
9103         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
9104         (PREDICATE_CODES): Add new predicates.
9105         * rs6000.md (addsi3): Split 32-bit constants more correctly.
9106         (divsi3, modsi3): Ensure positive power-of-2.
9107         (adddi3): Use new predicate.  Split 32-bit constants more
9108         correctly.  Re-arrange splitter to handle any constant.
9109         (subdi3): Use new predicate.
9110         (divdi3, moddi3): Ensure positive power-of-2.
9111         (movdi): Use rs6000_emit_set_const.
9112         (load_toc_v4_pic_di): Delete.
9113
9114 2001-07-31  Graham Stott <grahams@redhat.com>
9115
9116         * function.c (pad_below): Revert 2001-07-26 patch.
9117
9118 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
9119
9120         * reg-stack (convert_regs_1): Fix best edge condition.
9121
9122 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
9123
9124         * jump.c (duplicate_loop_exit_test): Better test for jumps
9125         entering the loop; create loop pre_header.
9126
9127 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
9128
9129         * doc/install.texi: Add s390 and s390x as new targets.
9130         * doc/invoke.texi: Add documentation of S/390 and zSeries
9131         target options.
9132         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
9133
9134 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
9135
9136         * config/m68k/m68k.md: Replace all general_operand with
9137         nonimmediate_operand for all destinations.
9138         * config/m68k/m68k.c (not_sp_operand): Likewise.
9139
9140 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
9141
9142         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
9143
9144 2001-07-30  Richard Henderson  <rth@redhat.com>
9145
9146         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
9147         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
9148
9149 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
9150
9151         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
9152         Add missing doc strings
9153         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
9154         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
9155
9156 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
9157
9158         * i386.c (ix86_output_main_function_alignment_hack): New function.
9159         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
9160
9161         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
9162         edges by EDGE_DFS_BACK flag.
9163         (dump_edge_info): Add dfs_back flag.
9164         * basic-block.h (EDGE_DFS_BACK): New constant.
9165         (mark_dfs_back_edges): Declare.
9166         * alias.c (loop_p): Remove.
9167         (mark_constant_function): Use mark_dfs_back_edges.
9168
9169         * reg-stack.c (block_info_def): Add predecesors counter and stack_out.
9170         (reg_to_stack): Call mark_dfs_back_edges; count the predecesors.
9171         (compensate_edge): Break out from ...
9172         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
9173         (convert_regs_2): Set block_done once block is really done;
9174         Do updating of the predecesors counts.
9175
9176         * toplev.c (rest_of_compilation): Recompute block_for_insn
9177         before post-reload cfg_cleanup.
9178         * function.c (thread_prologue_epilogue_insns):
9179         Call set_block_for_new_insns when emitting prologue directly.
9180
9181 2001-07-30  Andreas Jaeger  <aj@suse.de>
9182
9183         * jump.c: Add prototype for mark_modified_reg.
9184
9185         * cse.c (set_live_p): Add unused attribute.
9186
9187         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
9188         overflow.
9189         (scan_for_source_files): Use long for count to avoid overflow.
9190         (output_data): Likewise.
9191         (output_data): Don't use string concatatenation to silence gcc
9192         -traditional.
9193
9194         * predict.c: Fix typos and grammar.
9195
9196         * gcse.c (insert_insn_end_bb): Remove unused variables.
9197
9198 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
9199
9200         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
9201         (attempt_auto_inc): LIkewise.
9202         (mark_used_reg): Likewise.
9203         (try_pre_increment_1): Likewise.
9204         * regclass.c (regclass): Likewise.
9205         * global.c (allocno_compare): Update comment; change scaling factor.
9206         * local-alloc.c (QTY_CMP_PRI): Likewise.
9207         * regs.h (REG_FREQ_FROM_BB): New.
9208         (REG_FREQ_MAX): Likewise.
9209
9210 2001-07-30  H.J. Lu <hjl@gnu.org>
9211
9212         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
9213         -D_GNU_SOURCE.
9214
9215 2001-07-30  H.J. Lu  (hjl@gnu.org)
9216
9217         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
9218         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
9219         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
9220
9221 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
9222
9223         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
9224         as -mthumb-interwork when -mcpu=arm7 is specified.
9225
9226 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
9227
9228         * predict.def (noreturn, loop branch, loop exit): Mark as first
9229         match heuristics.
9230
9231 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
9232
9233         * combine.c (try_combine): Avoid barrier after noop jumps.
9234
9235 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9236
9237         * cpphash.h (struct cpp_reader): Remove import_warning.
9238         * cpplib.c (skip_rest_of_line): Don't bother turning off
9239         macro expansion.
9240         (parse_include): Move include handling to...
9241         (do_include_common): ... here.  Move import warning from...
9242         (do_import): ... here.
9243         (do_pragma_poison): Don't do a callback for poison identifiers.
9244         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
9245         * cppmain.c (setup_callbacks): Similarly.
9246
9247 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
9248
9249         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
9250         handle multiple sets.
9251         * except.c (sjlj_mark_call_sites): .... here.
9252         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
9253
9254 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
9255
9256         Suggested by Richard Henderson and Richard Kenner:
9257         * combine.c (recog_for_combine): Use the fake recog
9258         only if instruction does not match.
9259         * rtl.h (NOOP_MOVE_INSN_CODE): New.
9260         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
9261
9262         * combine.c (try_combine): Discover noop jump as direct jump.
9263
9264 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
9265
9266         * df.c (df_rd_global_compute): Add successors to worklist, not
9267         current item.
9268         (df_ru_global_compute): Ditto.
9269
9270 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
9271
9272         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
9273         increment REG_N_SETS.
9274
9275 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
9276
9277         * sbitmap.h: New prototype for sbitmap_a_xor_b.
9278
9279         * sbitmap.c (sbitmap_a_xor_b): New function.
9280         ifdef the basic block stuff on IN_GCC.
9281
9282 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9283
9284         * cppexp.c (parse_defined): Always record the macro name.
9285         (lex): Don't worry about identifiers, or special-case
9286         CPP_NOT here.
9287         (_cpp_parse_expr): Figure out at the end of the routine
9288         whether we saw a valid !defined() expression.
9289         * cppfiles.c (stack_include_file): Update for mi_valid.
9290         (_cpp_pop_file_buffer): Similarly.
9291         * cpplex.c (_cpp_lex_token): Similarly.
9292         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
9293         mi_if_not_defined, mi_lexed): Remove.
9294         (mi_valid): New.
9295         * cpplib.c (do_if): Simplify.
9296         (do_endif, push_conditional, _cpp_handle_directive): Update
9297         for renaming of mi_state to mi_valid.
9298 doc:
9299         * cpp.texi: Add index entries for digraphs, and add comment
9300         that C++ refers to them as alternative tokens.
9301
9302 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
9303
9304         * basic-block.h (CLEANUP_PRE_LOOP): New.
9305         * except.c (finish_eh_generation): Update call of cleanup_cfg.
9306         * sibcall.c (optimize_sibling_calls): Likewise.
9307         * toplev.c (rest_of_compilation): Likewise.
9308         * flow.c (try_forward_edges): Take argument MODE;
9309         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
9310         (try_optimize_cfg): Update call of try_forward_edges.
9311
9312 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
9313                                 Jan Hubicka  <jh@suse.cz>
9314
9315         * (validate_replace_rtx_1): Fix simplification of MINUS.
9316
9317 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
9318
9319         PR preprocessor/3669
9320         * cppinit.c (init_dependency_output): Turn off dump requests
9321         if sending dependencies to stdout.
9322
9323 2001-07-28  Richard Henderson  <rth@redhat.com>
9324
9325         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
9326         not optimizing.
9327
9328 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
9329
9330         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
9331
9332 2001-07-28  Kazu Hirata  <kazu@hxi.com>
9333
9334         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
9335         is VAR_DECL first to prevent an ICE.
9336
9337 2001-07-28  Richard Henderson  <rth@redhat.com>
9338
9339         * varasm.c (immed_real_const_1): Don't elide special cases for
9340         nested functions.
9341         (clear_const_double_mem): Clear const_tiny_rtx too.
9342
9343 2001-07-28  Richard Henderson  <rth@redhat.com>
9344
9345         * dwarf2out.c (dw_val_class_offset): New.
9346         (struct dw_ranges_struct, dw_ranges_ref): New.
9347         (ranges_table, ranges_table_allocated): New.
9348         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
9349         (add_AT_offset, add_ranges, output_ranges): New.
9350         (print_die, output_die): Handle dw_val_class_offset.
9351         (attr_checksum, size_of_die, value_format): Likewise.
9352         (gen_lexical_block_die): Handle non-contiguous blocks.
9353         (gen_block_die): Likewise.
9354         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
9355         if needed.  Dump the ranges table.
9356         * final.c (final_start_function): Remove unnecessary notes and
9357         rebuild the block tree before numbering the blocks.
9358         * function.c (reorder_blocks_0): Walk the existing block tree
9359         to unmark all blocks.
9360         (reorder_blocks_1): Create block fragments when duplicate block
9361         notes are seen.
9362         (reorder_fix_fragments): New.
9363         (reorder_blocks): Call it.
9364         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
9365
9366 2001-07-28  Richard Henderson  <rth@redhat.com>
9367
9368         * emit-rtl.c (adjust_address): Make a copy of the memory address.
9369
9370 2001-07-28  Richard Henderson  <rth@redhat.com>
9371
9372         * flow.c (add_to_mem_set_list): New function.
9373         (init_propagate_block_info): Use it.
9374         (mark_set_1): Likewise.
9375         (insn_dead_p): Canonicalize memory address for dead store
9376         comparison.  Allow wider mode stores to kill narrower mode stores.
9377         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
9378         (invalidate_mems_from_set): Don't handle MEMs.
9379
9380 2001-07-28  Kazu Hirata  <kazu@hxi.com>
9381
9382         * config/h8300/h8300.h: Fix formatting.
9383
9384 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
9385
9386         * basic-block.h (EDGE_FREQUENCY): New macro.
9387         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
9388         for new BB/edges.
9389         * flow.c (find_sub_basic_blocks): Likewise.
9390         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
9391         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
9392
9393         * predict.c (DEF_PREDICTOR): New argument FLAGS.
9394         (HITRATE): New macro.
9395         (PRED_FLAG_FIRST_MATCH): New constant.
9396         (predictor_info): New field flgags.
9397         (combine_predictions_for_insn): Use DS theory to combine
9398         probabilities; set the edge probabilities when finished.
9399         (estimate_probability): Avoid duplicated matches
9400         of LOOP_BRANCH heuristics for nested loops; update comment.
9401         * predict.def: Add flags for each prediction, set probabilities
9402         according to B&L paper.
9403         * predict.h (DEF_PREDICTOR): New argument FLAGS.
9404
9405         * profile.c (compute_branch_probabilities):  Cleanup way the edge
9406         probabilities are computed and REG_BR_PROB notes are dropped; if
9407         values does not match, emit error.
9408         (init_branch_prob): Do error instead of warning when profile driven
9409         feedback is missing or corrupt.
9410
9411 2001-07-27  DJ Delorie  <dj@redhat.com>
9412
9413         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
9414         against a constant, try to adjust the compare to have the desired
9415         constant in it so that min/max optimizations happen more often.
9416
9417 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
9418
9419         * flow.c (last_loop_beg_note): New function.
9420         (redirect_edge_and_branch): Use it.
9421         (split_edge): Likewise.
9422
9423         * alias.c (loop_p): Avoid uninitialized memory access.
9424
9425         * flow.c (try_forward_edges): Avoid accessing freed memory.
9426
9427         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
9428         variable access.
9429
9430 2001-07-26  Andrew Haley  <aph@redhat.com>
9431         Joern Rennecke <amylaar@redhat.com>
9432
9433         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
9434         (SUBTARGET_CPP_ENDIAN_SPEC): New.
9435         (SUBTARGET_CPP_SPEC): New.
9436         (CPP_SPEC): Remove.
9437         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
9438         (SUBTARGET_CPP_PTR_SPEC): New.
9439         (CPP_DEFAULT_CPU_SPEC): New.
9440         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
9441         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
9442         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
9443         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
9444         (SUBTARGET_CPP_SPEC): Define as an empty string.
9445
9446 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9447
9448         * doc/install.texi (Configuration): Properly link the host
9449         specific instructions also when generating HTML.
9450
9451 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
9452
9453         * flow.c (redirect_edge_and_branch_force): Test
9454         target->global_live_at_start.
9455
9456 2001-07-26  Richard Henderson  <rth@redhat.com>
9457
9458         * simplify-rtx.c (avoid_constant_pool_reference): Export.
9459         * rtl.h (avoid_constant_pool_reference): Declare it.
9460         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
9461         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
9462
9463 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
9464
9465         * rtl.h (cleanup_barriers): Declare.
9466         * jump.c (cleanup_barriers): New function.
9467         * toplev.c (rest_of_compilation): Call cleanup_barriers
9468         before loop optimizer and after bb_reorder.
9469
9470         * flow.c (back_edge_of_syntactic_loop_p): New.
9471         (split_edge): Use it.
9472
9473 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9474
9475         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
9476
9477 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
9478
9479         * cse.c (cse_process_notes): Replace any registers if the address
9480         remains valid.
9481
9482 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
9483
9484         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
9485         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
9486         (propagate_block): Update prototype.
9487         * flow.c (update_life_info): Simplify the CFG and
9488         recalculate the global regs which are alive when
9489         removing dead code during a global update.
9490         (propagate_block): Return non-zero if an INSN is
9491         deleted.
9492
9493 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9494
9495         * Makefile.in (LIBICONV): Define.
9496
9497 2001-07-26  Catherine Moore  <clm@redhat.com>
9498
9499         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
9500         of conditional to avoid tree checking errors.
9501
9502 2001-07-26  Kazu Hirata  <kazu@hxi.com>
9503
9504         * regmove.c (regmove_optimize): Don't replace a reg with
9505         another reg of a different mode.
9506
9507 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
9508
9509         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
9510         limit length of dependency flush list.
9511         * params.h (MAX_PENDING_LIST_LENGTH): Define.
9512         * sched-int.h  (struct deps): Add pending_flush_length field.
9513         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
9514         has 1 element in it.
9515         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
9516         (sched_analyze): After a jump, if the pending memory flush list is too
9517         large, flush the pending lists.
9518         (init_deps): Initialize pending_flush_length to 0.
9519         * doc/invoke.texi (max_pending_list_length): Document parameter.
9520
9521 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
9522
9523         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
9524         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
9525         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
9526
9527 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9528
9529         * cpphash.h (struct_lexer_state): Delete was_skipping.
9530         Move skipping here from struct cpp_reader.
9531         * cpplex.c (parse_identifier): Update.
9532         (_cpp_lex_token): Don't skip tokens in a directive.
9533         * cpplib.c (struct if_stack): Update.
9534         (start_directive, end_directive): Don't change skipping state.
9535         (_cpp_handle_directive): Update.
9536         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
9537         (do_else, do_endif): Update; only check for excess tokens if not
9538         in a skipped conditional block.
9539         (push_conditional): Update for new struct if_stack.
9540
9541 2001-07-26  Graham Stott  <grahams@redhat.com>
9542
9543         * function.c (locate_and_pad_parm): Also pad initial offset
9544         so that the total argument size also includes the padding.
9545
9546 2001-07-26  Graham Stott <grahams@redhat.com>
9547
9548         * gensupport.c (alter_output_for_insn): Correct enable checking failure
9549         change XSTR to XTMPL.
9550
9551         (process_one_cond_exec): Likewise
9552
9553 2001-07-25  Richard Henderson  <rth@redhat.com>
9554
9555         * varasm.c (assemble_variable): Create DECL_RTL before setting
9556         TREE_ASM_WRITTEN.
9557
9558 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
9559
9560         * predict.c (estimate_probability): Avoid duplicated predictions.
9561
9562         * loop.c (find_and_verify_loops): Grok multiple barriers.
9563
9564 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9565
9566         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
9567
9568         * dbxout.c: Consistently use putc instead of fputc.
9569         (print_wide_int): New function; call instead of direct fprintf.
9570         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
9571         (dbxout_type_fields, dbxout_type_method_1): Likewise.
9572         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
9573         (print_int_cst_octal): Likewise.
9574         (print_octal): Show we wrote characters.
9575         (dbxout_type): Set have_used_extensions in more places.
9576
9577 2001-07-25  Catherine Moore  <clm@redhat.com>
9578
9579         * config/v850/v850.c (v850_va_arg):  Use addr
9580         instead of valist to build incr.
9581
9582 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
9583
9584         * flow.c (delete_dead_jumptables): New function.
9585         (life_analyzis): Call it.
9586         * bb-reorder.c (skip_insns_after_block): Handle contradictory
9587         sequences.
9588
9589 2001-07-25  Richard Henderson  <rth@redhat.com>
9590
9591         * except.c (reachable_handlers): Handle a region being removed
9592         out from under a RESX.
9593
9594 2001-07-25  Richard Henderson  <rth@redhat.com>
9595
9596         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
9597         swap GE/GT if it is an fp comparison.
9598
9599 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
9600
9601         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
9602         operands.
9603
9604 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
9605
9606         * ssa.c (rename_insn_1): Do not wrap an assignment to a
9607         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
9608         glitch.
9609
9610         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
9611         throw an exception.
9612         (visit_expression): When attempting to simplify an expression,
9613         retrieve any modes for arguments before they are simplified
9614         to constants.
9615
9616 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
9617             Janis Johnson  <janis@us.ibm.com>
9618
9619         * stmt.c (expand_goto): A nonlocal goto can be a call too.
9620         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
9621         pointer parameters to match documented usage of nonlocal_goto.
9622         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
9623         parameters to their correct order.
9624         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
9625         parameters to their correct order.
9626
9627 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
9628
9629         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
9630
9631 2001-07-25  Jan Hubicka  <jh@suse.cz>
9632             Richard Henderson  <rth@redhat.com>
9633
9634         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
9635         the sequence.
9636         (make_edges): New argument update_p; populate the edge cache if set.
9637         (find_basic_blocks): Update make_edges invocation.
9638
9639 2001-07-24  Joel Sherrill <joel@OARcorp.com>
9640
9641         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
9642
9643 2001-07-24  Joel Sherrill <joel@OARcorp.com>
9644
9645         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
9646         -Acpu and -Amachine.h.
9647         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
9648         Corrected header to say ELF not a.out.
9649         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
9650         when given -msoft-float.
9651
9652 2001-07-24  Joel Sherrill <joel@OARcorp.com>
9653
9654         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
9655         extra multilib parts like arm-elf.
9656         (i960-*-coff*, i960-*-rtems): Should not use collect2.
9657         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
9658         crtfini.o as extra multilib parts.
9659
9660 2001-07-24  Joel Sherrill <joel@OARcorp.com>
9661
9662         * configure.in: Add rtems as a supported thread model.
9663         * gthr-rtems.h: Add missing entry point __gthread_active_p.
9664         * configure: Rebuilt.
9665
9666 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
9667
9668         * stor-layout.c (get_mode_alignment): make it work when
9669         BITS_PER_UNIT is not a power of two.
9670         * builtins.c (get_pointer_alignment): Likewise.
9671
9672 2001-07-24  Richard Henderson  <rth@redhat.com>
9673
9674         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
9675         the retrieved constant into the expected mode.
9676
9677 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
9678
9679         * flow.c (try_simplify_condjump): Avoid duplicated edges.
9680         (verify_flow_info): Check for duplicated edges; clarify
9681         error reporting.
9682
9683         * flow.c (block_label): Update basic_block_for_insn.
9684         (commit_edge_insertions): Call compute_bb_for_insn.
9685
9686         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
9687         returns too.
9688
9689         * flow.c (redirect_edge_and_branch,
9690         try_optimize_cfg): Use redirect_edge_succ_nodup
9691         (redirect_edge_succ_nodup): New.
9692         * basic_block.h (redirect_edge_succ_nodup): Declare.
9693
9694         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
9695         after gcse.
9696
9697 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
9698
9699         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
9700         (try_crossjump_to_edge): Update commetns.
9701         (try_crossjump_bb): Likewise.
9702
9703 2001-07-24  Richard Henderson  <rth@redhat.com>
9704
9705         * combine.c (distribute_notes): Move set of need_refresh
9706         for noop_move_p down to catch all cases.
9707
9708 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
9709
9710         * recog.c (split_all_insns_noflow): New.
9711         * rtl.h (split_all_insns_noflow): Declare.
9712         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
9713         * m68hc11.c (m68hc11_reorg): Likewise.
9714         * sh.c (machine_dependent_reorg): Likewise.
9715         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
9716         call.
9717
9718 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
9719
9720         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
9721         (ashlsi3_n splitter): Likewise.
9722         (lshrsi3_n splitter): Likewise.
9723
9724         (GOTaddr2picreg): Make const SImode.
9725         (sym_label2reg): Likewise.
9726         (symGOT2reg): Likewise.
9727         (symGOTOFF2reg) Likewise.
9728
9729         (casesi_worker_0): Make unspec SImode.
9730
9731 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
9732
9733         * config/sh/sh.c (barrier_align): Check that an operand really is
9734         an insn before extracting its INSN_CODE.
9735
9736 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
9737
9738         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
9739         dangling else.
9740
9741         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
9742         for SImode to prevent overflow.
9743
9744 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9745
9746         * config/mips/irix6-libc-compat.c: New file.
9747         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
9748         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
9749         passing workaround.
9750
9751 2001-07-24  lars brinkhoff  <lars@nocrew.org>
9752
9753         * rtl.texi (REG_POINTER): Document.
9754         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
9755         QFmode, HFmode, TQFmode, QCmode, and HCmode.
9756
9757 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
9758
9759         * flow.c (delete_noop_moves): Do not confuse libcall regions.
9760
9761 2001-07-23  Richard Henderson  <rth@redhat.com>
9762
9763         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
9764
9765 2001-07-23  Kazu Hirata  <kazu@hxi.com>
9766
9767         * config/h8300/h8300-protos.h: Add a prototype for
9768         general_operand_dst_push.
9769         * config/h8300/h8300.c (general_operand_dst_push): New.
9770         * config/h8300/h8300.h (OK_FOR_T): New.
9771         (EXTRA_CONSTRAINT): Use it.
9772         * config/h8300/h8300.md (movqi_push): Remove and integrate into
9773         the existing movqi pattern.
9774         (movhi_push): Likewise.
9775
9776         * reload.c: Fix comment typos.
9777
9778 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
9779
9780         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
9781
9782 2001-07-23  H.J. Lu  (hjl@gnu.org)
9783
9784         * doc/extend.texi: Update __builtin_return_address and
9785         __builtin_frame_address.
9786
9787 2001-07-23  Richard Henderson  <rth@redhat.com>
9788
9789         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
9790         before CSE.
9791         * config/i386/i386.md: New setcc+movzbl peephole2.
9792
9793 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9794
9795         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
9796         * objc/objc-act.c: Include debug.h.
9797         (synth_module_prologue): Save and restore debug hooks too.
9798
9799 2001-07-23  lars brinkhoff  <lars@nocrew.org>
9800
9801         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
9802         and C4X_FLOAT_FORMAT.
9803         (BOOL_TYPE_SIZE): Document.
9804
9805 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
9806
9807         * unroll.c (loop_iterations): Fix miscalculation of initial
9808         giv offset.
9809
9810 2001-07-13  Andrew Haley  <aph@redhat.com>
9811
9812         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
9813         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
9814         * config/sh/sh.c (sh_can_redirect_branch): New function.
9815         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
9816         * reorg.c (steal_delay_list_from_target): Use
9817         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
9818
9819 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
9820
9821         * flow.c (try_simplify_condjump): Unlink insn chain on
9822         fallthru edge; use can_fallthru.
9823
9824 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
9825
9826         * basic-block.h (find_sub_basic_block): Declare.
9827         * flow.c (make_edges): New arguments MIN and MAX;
9828         (find_sub_basic_blocks): Revamp to use make_edges
9829         and purge_dead_edges.
9830         (find_basic_blocks): Update call of find_sub_basic_block.
9831
9832         * recog.c (split_all_insns): Always expect CFG to be consistent;
9833         call find_sub_basic_blocks in case something has changed.
9834         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
9835         has been built.
9836
9837         * basic-block.h (delete_noop_moves): Declare.
9838         * combine.c (combine_instructions): Call it.
9839         (recog_for_combine): Tolerate noop moves
9840         (distribute_notes): Force refresh when register dies at noop move.
9841         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
9842         too.
9843         (life_analysis): Update delete_noop_moves call.
9844         (set_noop_p): Move too ...
9845         * rtlanal.c (noop_move_p): ... here.
9846         * rtl.h (noop_move_p): Declare.
9847
9848         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
9849         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
9850         after combine.
9851         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
9852         (cprop_jump): Likewise; call purge_dead_edges if substitution suceeded.
9853
9854 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
9855
9856         * reload.c (push_reload): Fix typo in comment.
9857         (find_reloads_address): Ditto.
9858         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
9859
9860 2001-07-22  Richard Henderson  <rth@redhat.com>
9861
9862         * flow.c: Grammar check and clarify a lot of comments.
9863         (try_simplify_condjump): Rename variables to be clearer.
9864         (try_forward_edges): Skip complex and fallthru edges.
9865         Rearrange tests to avoid duplicate checks.
9866         (flow_find_cross_jump): Likewise.
9867         (outgoing_edges_match): Allow match if neither branch has
9868         probability data.  Loosen probability match to 5%.
9869         (try_crossjump_to_edge): Hoist repeated indirection into
9870         local variables.
9871         (try_crossjump_bb): Don't check complex edges.  Eliminate
9872         redundant crossjump tests.
9873         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
9874         checks before more expensive checks.
9875
9876 2001-07-22  Richard Henderson  <rth@redhat.com>
9877
9878         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
9879         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
9880         arguments.
9881
9882 2001-07-22  Richard Henderson  <rth@redhat.com>
9883
9884         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
9885         (const_sint32_operand): Likewise.
9886         * m68k.md (anon mulsi pattern): Use const_int_operand not
9887         const_sint32_operand.
9888         (umulsi3_highpart): Zero extend a constant input.
9889         (smulsi3_highpart): Don't bother checking SImode constant.
9890         (const_umulsi3_highpart): Give op3 DImode.
9891         (const_smulsi3_highpart): Likewise.
9892
9893 2001-07-22  Richard Henderson  <rth@redhat.com>
9894
9895         * flow.c (split_block): Make sure bb_note is included in the
9896         new block when splitting before a label.
9897
9898 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
9899
9900         * basic-block.h (redirect_edge_and_branch_force,
9901         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
9902         * flow.c (redirect_edge_and_branch_force,
9903         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
9904         (redirect_edge_and_branch_force): Fix copying of lifeness information.
9905         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
9906         * ifcvt.c (dead_or_predictable): Take BB as an new destionation
9907         instead of label; update CFG after transformation.
9908         (find_if_case_1): Update call, use redirect_edge_and_branch_force
9909         for finishing the transformation; handle even case where ELSE
9910         does not follow THEN.
9911         (find_if_case_2): Update call of dead_or_predictable; simplify
9912         CFG update.
9913
9914         * emit-rtl.c (split_branch_probability): New global variable.
9915         (try_split): Take care to set split_branch_probability and
9916         create REG_BR_PROB note for new jump insns.
9917         * md.texi (define_split): Document new feature.
9918
9919         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
9920
9921 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
9922
9923         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
9924         (asm_out_file): Remove redundant declaration.
9925         (assemble_asm): Remove old #if 0 block.
9926         (assemble_variable): Remove end of function; debug output is
9927         now handled with global_decl.  Remove old #if 0 block.  Update.
9928         Remove saved_in_section and associated no-op code.
9929         * Makefile.in (varasm.o): Correct dependencies.
9930
9931 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
9932
9933         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
9934         the definition in defaults.h.
9935
9936 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
9937
9938         * jump.c: Update comments.
9939         (delete_barrier_successors, delete_unreferenced_labels,
9940         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
9941         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
9942         jump_optimize, jump_optimize_minimal): Kill.
9943         (rebuild_jump_labels): Move code from jump_optimize_1.
9944         (purge_line_number_notes): Likewise.
9945         (copy_loop_headers): Likewise.
9946         * reg-stack.c: Update comment.
9947         * stmt.c: Likewise.
9948         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
9949         JUMP_AFTER_REGSCAN): Kill.
9950         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
9951         purge_line_number_notes and copy_loop_headers.
9952
9953 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
9954            Richard Henderson  <rth@redhat.com>
9955
9956         * dbxout.c (dbxout_global_decl): New.
9957         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
9958         * sdbout.c (sdbout_finish): New.
9959         (sdbout_debug_hooks): Use it, add comments.
9960         (sdbout_global_decl): Defer initialised public vars to
9961         sdbout_finish.
9962         * varasm.c (assemble_variable): Don't output debug information
9963         for file-scope variables.
9964
9965 2001-07-22  Richard Henderson  <rth@redhat.com>
9966
9967         * config/alpha/alpha.c (get_trap_mode_suffix): New.
9968         (get_round_mode_suffix): New.
9969         (print_operand): Use them for [/].  Remove support for [&'`()+].
9970         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
9971         * config/alpha/alpha.md (attr round_suffix): New.
9972         (attr trap_suffix): New.
9973         (all insns): Set them appropriately.  Use %/ instead of the
9974         myriad punctuators.
9975
9976 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9977
9978         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
9979
9980 2001-07-22  Richard Henderson  <rth@redhat.com>
9981
9982         * regrename.c (regrename_optimize): Compute nregs for each
9983         potential target register.
9984
9985 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
9986            Richard Henderson  <rth@redhat.com>
9987
9988         * dbxout.c (dbxout_global_decl): New.
9989         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
9990         * sdbout.c (sdbout_finish): New.
9991         (sdbout_debug_hooks): Use it, add comments.
9992         (sdbout_global_decl): Defer initialised public vars to
9993         sdbout_finish.
9994         * varasm.c (assemble_variable): Don't output debug information
9995         for file-scope variables.
9996
9997 2001-07-21  H.J. Lu  (hjl@gnu.org)
9998
9999         * config/mips/mips.c (mips_cpu): Moved into ...
10000         (override_options): Here.
10001
10002         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
10003         mips_tune.
10004         (mips_cpu): Removed.
10005
10006 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10007
10008         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
10009         ("iorqi3"): Likewise.
10010         ("xorqi3"): Likewise.
10011         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
10012         ("*subhi3_sp): Likewise.
10013         ("*subhi3"): Likewise.
10014         ("extendhisi2"): Accept D, X and Y as source operand to avoid
10015         reload problems.
10016
10017 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
10018
10019         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
10020         * config/freebsd.h: Likewise.
10021         * config/linux.h: Likewise.
10022         * config/openbsd.h: Likewise.
10023         * config/alpha/linux-elf.h: Likewise.
10024         * config/arm/linux-elf.h: Likewise.
10025         * config/d30v/d30v.h: Likewise.
10026         * config/fr30/fr30.h: Likewise.
10027         * config/ia64/aix.h: Likewise.
10028         * config/ia64/ia64.h: Likewise.
10029         * config/mips/linux.h: Likewise.
10030         * config/pj/pj.h: Likewise.
10031         * config/rs6000/linux.h: Likewise.
10032         * config/sparc/linux.h: Likewise.
10033         * config/sparc/linux64.h: Likewise.
10034
10035 2001-07-20  Bruce Korb  <bkorb@gnu.org>
10036
10037         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
10038         because getc() and char* may disagree on signedness.
10039
10040 2001-07-20  Richard Henderson  <rth@redhat.com>
10041
10042         * doc/rtl.texi (REG_DEAD): Update for current semantics.
10043
10044         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
10045         insns to delete in the presence of cc0 in a jump insn.
10046
10047 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
10048                                 Jan Hubicka  <jh@suse.cz>
10049
10050         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
10051         of doing the change by hand.
10052
10053 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
10054
10055         * rtlanal.c (set_noop_p): Return true for noop jumps.
10056
10057         * expr.c (emit_single_push_insn): Add call to push expander.
10058         * expr.h (optab_index): Add OTI_push
10059         (push_optab): New constant.
10060         * genopinit.c (optabs): Add push_optab.
10061         * optabs.c (init_optab): Init push optab.
10062         * md.texi (push??1): Document
10063
10064 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10065
10066         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
10067         expand to emit the pattern; put a REG_INC note for push/pop
10068         instructions.
10069         ("movdf", "movdf_internal"): Likewise.
10070         ("movsi", "movsi_internal"): Likewise.
10071         ("movsf", "movsf_internal"): Likewise.
10072         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
10073
10074 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10075
10076         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
10077         gen_highpart.
10078
10079 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
10080
10081         * params.def: Change default max inline insns to 100.
10082
10083 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
10084
10085         * combine.c (combine_simplify_rtx): Generate a new shift operation
10086         when simplifying the first operand of a (neg (ashift)) expression.
10087
10088 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10089
10090         * regclass.c (N_REG_INTS): Use only 32 bits per element.
10091
10092 2001-07-20  Kelley Cook  <kelley.cook@home.com>
10093
10094         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
10095         information.   Move rest into ...
10096         (*-*-solaris): ... here.  Eliminate redundant information and
10097         reword necessary packages section.  Delete 4.x assembler bug info.
10098         (sparc-sun-*): Merge into ...
10099         (sparc-sun-sunos*): here.
10100
10101 2001-07-20  Catherine Moore  <clm@redhat.com>
10102
10103         * config/v850/v850.md (casesi): Generate LABEL_REF
10104         with Pmode.
10105
10106 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
10107
10108         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
10109         * i386.c (ix86_zero_extend_to_Pmode): Make global.
10110         * i386.md (strclrsi expander): Use it.
10111
10112 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
10113
10114         * integrate.c (copy_insn_list): handle
10115         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
10116         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
10117         identically as to CODE_LABEL.
10118
10119         * fold-const (fold): Convert A/B/C to A/(B*C) and
10120         A/(B/C) to (A/B)*C
10121
10122         * except.c (connect_post_landing_pads): Delete the RESX insns.
10123
10124 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
10125
10126         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
10127
10128         * config/mips/mips.md (nmadd/nmsub): Use macro.
10129
10130 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
10131
10132         * cppinit.c (remove_dup_dir): Make static.
10133         (remove_dup_dirs): Make static. Only warn about preempting a
10134         system directory with a non-system directory.
10135
10136 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
10137
10138         * ifcvt.c (noce_try_store_flag_constants): Correct order
10139         of parameters to trunc_int_for_mode.
10140
10141 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
10142
10143         * reorg.c (fill_simple_delay_slots): If an instruction might throw
10144         an exception that will be caught within this function, do not fill
10145         its delay slot with any subsequent instruction.
10146
10147 2001-07-19  Steve Ellcey <sje@cup.hp.com>
10148
10149         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
10150         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
10151         pointer extension instruction.
10152         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
10153         * simplify-rtx.c (simplify_unary_operation) Likewise.
10154         * explow.c (convert_memory_address) Check value of
10155         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
10156         less than zero.
10157         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
10158         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
10159         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
10160         Add Multilib Support.
10161         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
10162         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
10163         Add Multilib Support.
10164         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
10165         support.
10166         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
10167         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
10168         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
10169
10170 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
10171
10172         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
10173         old and new operands in `<', `3' and `b'.
10174
10175 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
10176
10177         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
10178         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
10179         (toplev.o): Don't depend on xcoffout.h.
10180         * c-decl.c: Include debug.h
10181         (duplicate_decls): Use debug hook.
10182         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
10183         (dbx_debug_hooks, xcoff_debug_hooks): Update.
10184         (dbxout_types): Remove.
10185         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
10186         * debug.c (do_nothing_debug_hooks): Update.
10187         (debug_true_tree, debug_nothing_rtx): New.
10188         * debug.h (struct rtx_def): New.
10189         (struct gcc_debug_hooks): New hooks ignore_block,
10190         outlining_inline_function and label.
10191         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
10192         dwarf2out_frame_finish): New.
10193         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
10194         Make static, update prototype.
10195         (dwarf2_debug_hooks): Update.
10196         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
10197         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
10198         * dwarfout.c (dwarf_debug_hooks): Update.
10199         * emit-rtl.c: Include debug.h.
10200         (remove_unnecessary_notes): Use debug hook.
10201         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
10202         (final_scan_insn): Use debug hook.
10203         * integrate.c (output_inline_function): Use debug hook.
10204         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
10205         (sdb_debug_hooks): Update.
10206         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
10207         * toplev.c: Don't include xcoffout.h.
10208         (note_outlining_of_inline_function, debug_ignore_block): Remove.
10209         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
10210         Remove.
10211         * tree.h (dwarf2out_do_frame): Remove.
10212
10213 2001-07-19  Catherine Moore  <clm@cygnus.com>
10214
10215         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
10216
10217 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
10218
10219         * reload1.c (eliminate_regs_in_insn): When updating a set
10220         to the frame pointer to the hardware frame pointer, perform
10221         the update always not just when REPLACE is set.
10222
10223         * reload1.c (choose_reload_regs): Don't inherit a reload
10224         that crosses multiple registers if registers past the first
10225         don't fit in the desired class.
10226
10227         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
10228         when negating constants.
10229
10230 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
10231
10232         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
10233         * doc/tree.texi: Ditto.
10234
10235 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
10236             Jakub Jelinek  <jakub@redhat.com>
10237
10238         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
10239         (extract_cie_info): Handle "eh" augmentation properly,
10240         remember eh_ptr.
10241         (struct frame_state, __frame_state_for): New.
10242
10243 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10244
10245         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
10246         HANDLE_SYSV_PRAGMA): Define.
10247         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
10248         previous args.
10249         (copy_object): Caller changed.
10250
10251 2001-07-19  Andreas Schwab  <schwab@suse.de>
10252
10253         * configure.in (assembler dwarf2 debug_line support): Define nop
10254         insn for m68k.
10255         * configure: Regenerated.
10256
10257 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
10258
10259         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
10260         dwarfout.h.
10261         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
10262         to conditionally compiled block.
10263         (dbx_debug_hooks, xcoff_debug_hooks): Update.
10264         * dbxout.h (dbxout_function): Remove.
10265         * debug.c (do_nothing_debug_hooks): Update.
10266         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
10267         global_decl, deferred_inline_function.
10268         * dwarf2out.c (dwarf2_debug_hooks): Update.
10269         (dwarf2out_global_decl): New.
10270         * dwarfout.c: Don't include dwarfout.h.
10271         (dwarfout_global_decl, dwarfout_function_decl,
10272         dwarfout_deferred_inline_function): New.
10273         (dwarf_debug_hooks): Update.
10274         * dwarfout.h: Remove.
10275         * final.c: Don't include dwarfout.h.
10276         * sdbout.c (sdbout_global_decl): New.
10277         (sdbout_debug_hooks): Update.
10278         * toplev.c: Don't include dwarfout.h.
10279         (check_global_declarations, rest_of_compilation): Use new debug hooks.
10280         (note_deferral_of_defined_inline_function): Remove.
10281         * toplev.h (note_deferral_of_defined_inline_function): Remove.
10282         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
10283         * ch/lex.c: Don't include dwarfout.h.
10284         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
10285         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
10286         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
10287         * cp/optimize.c: Include debug.h.
10288         (maybe_clone_body): Use debug hook.
10289         * cp/semantics.c: Include debug.h.
10290         (expand_body): Use debug hook.
10291         * po/POTFILES.in: Remove dwarfout.h.
10292
10293 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
10294
10295         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
10296         * c-parse.in (yyerror, _yylex): Similarly.
10297         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
10298         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
10299         Update comments.
10300         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
10301         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
10302
10303 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
10304
10305         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
10306         in-class declaration at -g1.  Fixes c++/2814.
10307
10308 2001-07-18  Richard Henderson  <rth@redhat.com>
10309
10310         * doc/md.texi (reload_in/out): Document restrictions in predicates
10311         and constraints for these patterns.  Document empty string matching
10312         ALL_REGS.
10313
10314 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10315
10316         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
10317
10318 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
10319
10320         * cse.c: Undo my previous patch.
10321
10322 2001-07-18  Tom Tromey  <tromey@redhat.com>
10323
10324         For PR java/2812:
10325         * configure: Rebuilt.
10326         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
10327         instead.
10328         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
10329
10330 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
10331                                 Jan Hubicka  <jh@suse.cz>
10332
10333         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
10334         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
10335         * jump.c (mark_jump_label): Do not forward branches.
10336
10337 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
10338
10339         * cse.c (delete_trivially_dead_insns): Delete the libcall block
10340         when return value is unused.
10341
10342 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
10343
10344         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
10345
10346 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
10347
10348         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
10349         on error.  We can't blindly return the result of
10350         pthread_mutex_trylock because it returns a positive number on
10351         error, while we must return -1 on error.
10352         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
10353         fixes.
10354         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
10355
10356 2001-07-18  Andreas Jaeger  <aj@suse.de>
10357
10358         * integrate.c (output_inline_function): Correct type of debug_hooks.
10359
10360 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
10361
10362         * combine.c (combine_simplify_rtx): DIV can be treated
10363         associatively for floats if unsafe math optimisations are enabled.
10364
10365 2001-07-17  Richard Henderson  <rth@redhat.com>
10366
10367         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
10368
10369 2001-07-17  Richard Henderson  <rth@redhat.com>
10370
10371         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
10372         don't force the function address into a register.
10373         (expand_call, emit_library_call_value_1): Update callers.
10374         * builtins.c (expand_builtin_apply): Likewise.
10375         * expr.h (prepare_call_address): Update decl.
10376
10377 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
10378
10379         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
10380         config directory.
10381         * config/i386/chorus.h: Move up.
10382         * config/sparc/chorus.h: Likewise.
10383         * config/rs6000/chorus.h: Likewise.
10384         * config/chorus.h: Moved here.
10385
10386 2001-07-17  Andreas Schwab  <schwab@suse.de>
10387
10388         * configure.in  (assembler eh_frame optimization): Handle big
10389         endian.
10390         * configure: Regenerated.
10391
10392 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
10393
10394         * expr.c (epxand_expr): Convert divisions into multiplications by
10395         reciprocals if -ffast-math.
10396
10397 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
10398
10399         * dbxout.c (dbxout_really_begin_function): Rename to
10400         dbxout_begin_function.
10401         (dbx_debug_hooks, xcoff_debug_hooks): Update.
10402         (dbxout_begin_function): Remove.
10403         (dbxout_function): Update.
10404         (dbxout_source_line): Update prototype.
10405         * dbxout.h (dbxout_begin_function): Remove.
10406         * debug.c (do_nothing_debug_hooks): Update.
10407         (debug_nothing_tree): Update.
10408         (debug_nothing_charstar_rtx): Remove.
10409         * debug.h (union tree_node): Declare.
10410         (struct rtx_def): Remove.
10411         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
10412         begin_function.  Change source_line prototype.
10413         (debug_nothing_tree): New.
10414         (debug_nothing_charstar_rtx): Delete.
10415         (dwarf2out_begin_prologue): Moved from ...
10416         * tree.h: ... here.
10417         * dwarf2out.c (dwarf2_debug_hooks): Update.
10418         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
10419         debug info, call dwarf2out_source_line.
10420         (dwarf2out_souce_line): Update prototype.
10421         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
10422         Change prototype, make static.
10423         (dwarfout_source_line): Update prototype.
10424         (dwarf_debug_hooks): Update.
10425         * dwarfout.h (dwarfout_begin_function): Remove.
10426         * final.c (final_start_function, final_scan_insn): Use appropriate
10427         debug hooks, update to use notice_source_line.
10428         (output_source_line): Rename notice_source_line.  Don't call the
10429         source_line debug hook.
10430         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
10431         make static, update prototype.
10432         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
10433         prototype.
10434         (sdbout_end_prologue): New.
10435         (sdbout_source_line): Update prototype.
10436         (sdbout_debug_hooks): Update.
10437         (sdbout_symbol): Remove unused var.
10438         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
10439         Delete.
10440         * varasm.c: Include debug.h.
10441         (assemble_start_function): Use begin_function debug_hook.
10442         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
10443         update with prototype.
10444         (xcoffout_source_line): Update prototype.
10445         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
10446         update prototype.
10447         (xcoffout_source_line): Update prototype.
10448
10449 2001-07-17  Richard Henderson  <rth@redhat.com>
10450
10451         * c-typeck.c (build_binary_op): Do not shorten unsigned
10452         right shift after sign extension.
10453
10454 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
10455
10456         * combine.c (combine_simplify_rtx): Attempt to simplify
10457         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
10458
10459         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
10460         (simplify_binary_operation, simplify_unary_operation,
10461          simplify_relational_operation): Use it.
10462
10463         * combine.c (combine_simplify_rtx): Don't do associative law
10464         on divisions; allow associative law on floats.
10465
10466 2001-07-17  H.J. Lu <hjl@gnu.org>
10467             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10468
10469         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
10470         ASM_OUTPUT_WEAK_ALIAS are defined.
10471         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
10472         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
10473         Moved ...
10474         * config/mips/iris5.h: ... here.
10475         (HANDLE_SYSV_PRAGMA): Defined as 1.
10476         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
10477         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
10478         symbol.
10479
10480 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
10481
10482         * c-parse.in (all_prefix_attributes): New variable.
10483         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
10484         (maybe_resetattrs): New production.
10485         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
10486         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
10487         notype_initdcl, nested_function, notype_nested_function,
10488         component_decl, components, components_notype,
10489         component_declarator, component_notype_declarator,
10490         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
10491         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
10492         after a comma being applied to more than one declarator.
10493         * doc/extend.texi (Attribute Syntax): Update.  Remove
10494         documentation of bugs that are no longer present.
10495
10496 2001-07-13  Eric Christopher  <echristo@redhat.com>
10497
10498         * config/mips/mips.h: Change TUNE_MIPS* options to use
10499         mips_tune.
10500         (EXTRA_SPECS): Add cc1_cpu_spec.
10501         * config/mips/mips.md (muldf3): Fix typo.
10502
10503 2001-07-16  Richard Henderson  <rth@redhat.com>
10504
10505         * config/m68k/m68k.c: Include expr.h and reload.h.
10506         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
10507         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
10508
10509 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
10510             Richard Henderson  <rth@redhat.com>
10511
10512         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
10513         (insn_live_p): Fix fall off end of function.
10514         (dead_libcall_p): Remove COUNTS argument; update callers.
10515         (delete_trivially_dead_insns): Remove unused variables.
10516
10517 2001-07-17  Andreas Jaeger  <aj@suse.de>
10518
10519         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
10520         x86-64 pic support.
10521
10522         * lcm.c (optimize_mode_switching): Avoid warning for unused
10523         variable if !NORMAL_MODE.
10524
10525         * flow.c (try_crossjump_to_edge): Remove unused variable.
10526
10527 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10528
10529         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
10530         atexit declaration in stdlib.h.
10531
10532 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
10533
10534         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
10535
10536 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
10537
10538         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
10539         * except.c (finish_eh_generation): Update call of cleanup_cfg;
10540         do rebuild_jump_labels instead of jump_optimize
10541         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
10542         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
10543         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
10544
10545         * flow.c: Include timevar.h
10546         (find_basic_block): Push/pop timevar;
10547         (cleanup_cfg): Likewise.
10548         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
10549         * Makefile: Add dependencies on timevar.h
10550
10551         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
10552         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
10553
10554         * rtl.h (delete_trivially_dead_insns): Add new parameter.
10555         * toplev.c (rest_of_compilation): Update calls.
10556         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
10557         (delete_trivially_dead_insns): ... here; accept new argument
10558         preserve_basic_blocks; preserve basic blocks if set.
10559
10560         * reg-stack.c (stack_regs_mentioned): Return 0 if
10561         stack_regs_mentioned_data is not initialized.
10562         (reg_to_stack): Make stack_regs_mentioned survive after the
10563         reg-stack is completted; do not call cleanup_cfg.
10564         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
10565         make cleanup_cfg after bb-reorder to output to debug file.
10566
10567 2001-07-16  Richard Henderson  <rth@redhat.com>
10568
10569         * regclass.c (init_reg_sets): Use only 32 bits per initializer
10570         from int_reg_class_contents.
10571
10572 2001-07-16  Richard Henderson  <rth@redhat.com>
10573
10574         * hard-reg-set.h (regs_invalidated_by_call): Declare.
10575         * regclass.c (regs_invalidated_by_call): Move from cse.c.
10576         (init_reg_sets_1): Move initialization from cse_main.
10577         * cse.c (regs_invalidated_by_call): Move to regclass.c.
10578         (cse_main): Move its initialization also.
10579         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
10580         * flow.c (propagate_one_insn): Likewise.
10581         * gcse.c (compute_hash_table): Likewise.
10582         (compute_kill_rd, compute_store_table): Likewise.
10583         * sched-deps.c (sched_analyze_1): Likewise.
10584
10585 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
10586
10587         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
10588         gen_rtx_SET.
10589
10590 2001-07-16  Steve Ellcey <sje@cup.hp.com>
10591
10592         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
10593         in if statement so we don't access undefined memory.
10594
10595 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
10596
10597         * gcse.c: Update comment at top.
10598         Update comment on mem handling.
10599         mem_last_set, mem_first_set, mem_set_in_block: gone.
10600         Declaration of reg_set_info: gone.
10601         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
10602         pointless with load_killed_in_block_p (they are *more*
10603         conservative then it, not less, and less accurate).
10604         (oprs_not_set_p): Ditto.
10605         (alloc_gcse_mem): Don't allocate mem_set_in_block
10606         (free_gcse_mem): Don't free it, either.
10607         (record_last_mem_set_info): Update comment in front, remove
10608         mem_*set_* stuff. Note the reason we don't handle stores directly
10609         here.
10610         (compute_hash_table): Update comments to reflect reality. Remove
10611         mem_*set_* references.
10612         (reset_opr_set_tables): Remove mem_*set_* references.
10613         (mark_call): Ditto.
10614         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
10615         (mark_clobber): Ditto (on both parts, we double set here too).
10616         (expr_killed_p): Remove mem_set_in_block test.
10617         (compute_transp): Remove mem_set_in_block test.
10618
10619         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
10620         of edge, and removal of phi alternative to dump file.
10621         (ssa_ccp_substitute_constants): Add note about register now being
10622         constant, and which uses were replaced in what insns to dump file.
10623
10624 2001-07-16  Andreas Jaeger  <aj@suse.de>
10625
10626         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
10627         variables of type HOST_WIDEST_INT.
10628
10629         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
10630         (__bb_exit_func): Correct type of count_max to avoid overflow.
10631         (num_digits): Handle long long argument.
10632
10633         * combine.c (gen_lowpart_for_combine): Remove unused variable.
10634
10635 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10636
10637         * output.h (sdb_begin_function_line): Restore as an extern
10638         variable.
10639         * sdbout.c (sdb_begin_function_line): Make extern.
10640
10641 2001-07-15  Richard Henderson  <rth@redhat.com>
10642
10643         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
10644         * genrecog.c (maybe_both_true_mode): New.
10645         (maybe_both_true_2): Use it.
10646         (write_switch): Don't put Pmode in a switch.
10647         * rtl.c (mode arrays): Don't explicitly size them.
10648
10649 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
10650
10651         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
10652         handling; move unconditional splitting before mode switching.
10653
10654         * i386.md (type): Add fistp type.
10655         (i387, length_attr, scheduling definitions): Handle this type.
10656         (fix_trunc?f?i2): Revamp to use mode switching.
10657         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
10658         * i386.h (fp_cw_mode): New enum
10659         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
10660         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
10661
10662 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10663
10664         * Makefile.in (integrate.o): Add debug.h.
10665         * integrate.c (debug.h): Add.
10666         (output_inline_function): Save, reset, and restore debug_hooks.
10667
10668 2001-07-15  Richard Henderson  <rth@redhat.com>
10669
10670         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
10671         instead of COMPARE for the EQUIV expression.
10672
10673 2001-07-15  Richard Henderson  <rth@redhat.com>
10674
10675         * flow.c (redirect_edge_and_branch_force): Initialize
10676         global_live_at_start and global_live_at_end.
10677         (allocate_bb_life_data): Export.
10678         * basic-block.h (allocate_bb_life_data): Declare.
10679         * toplev.c (rest_of_compilation): Call it.
10680
10681 2001-07-15  Richard Henderson  <rth@redhat.com>
10682
10683         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
10684         (alpha_tablejump_best_label): New.
10685         * config/alpha/alpha-protos.h: Declare them.
10686         * config/alpha/alpha.md: Use braced strings for code blocks.
10687         (tablejump_osf): Break out add with r29.
10688         (tablejump_osf_internal): Remove.
10689         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
10690         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
10691
10692 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
10693
10694         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
10695         of the movable.
10696
10697         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
10698
10699         * i386-protos.h (ix86_split_fp_branch): Update prototype.
10700         (ix86_fp_jump_nontrivial_p): New.
10701         * i386.md (fp_jcc_?): Update call of split_fp_branch;
10702         use ix86_fp_jump_nontrivial_p.
10703         * i386.c (ix86_fp_jump_nontrivial_p): New.
10704         (ix86_split_fp_branch): Accept code instead of rtx.
10705         (ix86_expand_compare): Expand comparison early in case
10706         doing so is resonably cheap.
10707
10708 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
10709
10710         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
10711         not 'machine'.
10712         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
10713         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
10714
10715 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10716
10717         * dbxout.c (dbxout_source_line): Make static, update prototype.
10718         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
10719         (dbxout_init, dbxout_finish, dbxout_source_line,
10720         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
10721         * dbxout.h (dbxout_source_line): Delete.
10722         * debug.c (debug_nothing_file, debug_nothing_file_int,
10723         debug_nothing_file_charstar_rtx): New.
10724         (do_nothing_debug_hooks): Update.
10725         (debug_nothing_void, debug_nothing_charstar_rtx,
10726         dwarf2out_end_epilogue): New.
10727         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
10728         * debug.h (struct rtx_def): Declare.
10729         (gcc_debug_hooks): New hooks source_line, end_epilogue
10730         and end_function.
10731         (debug_nothing_void, debug_nothing_charstar_rtx,
10732         dwarf2out_end_epilogue): New.
10733         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
10734         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
10735         (dwarf2_debug_hooks): Update.
10736         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
10737         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
10738         * dwarf2out.h (dwarf2out_source_line): Remove.
10739         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
10740         Make static, update prototype.
10741         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
10742         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
10743         (dwarf_debug_hooks): Update.
10744         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
10745         dwarfout_end_function): Remove.
10746         * final.c (profile_function): Use debug hooks for ending functions
10747         and epilogues.
10748         (output_source_line, final_end_function): Update prototype,
10749         use debug hooks.
10750         (final_start_function, final_scan_insn): Update.
10751         * output.h (sdb_begin_function_line): Remove.
10752         (final_end_function): Update prototype.
10753         * sdbout.c (sdb_begin_function_line): Make static.
10754         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
10755         (sdbout_source_line): New.
10756         (sdbout_end_epilogue, sdbout_end_function): Make static, update
10757         prototypes.
10758         (sdb_debug_hooks): Update.
10759         (sdbout_init, sdbout_source_line,
10760         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
10761         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
10762         * toplev.c (compile_file, rest_of_compilation): Update.
10763         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
10764         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
10765         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
10766         Update for prototype changes.
10767         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
10768         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
10769
10770 2001-07-15  Richard Henderson  <rth@redhat.com>
10771
10772         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
10773         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
10774         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
10775         * config/alpha/alpha.c: Likewise.
10776         * config/alpha/alpha.md: Likewise.
10777         * config/alpha/alpha32.h: Likewise.
10778         * config/alpha/vms.h: Likewise.
10779         (OPEN_VMS): Remove.
10780
10781 2001-07-14  Richard Henderson  <rth@redhat.com>
10782
10783         * config/alpha/alpha.md: Use define_constants for unspec values.
10784         Substitute throughout.
10785
10786 2001-07-14  Tim Josling  <tej@melbpc.org.au>
10787
10788         * tree.def (EXPON_EXPR) remove. Never supported anyway.
10789
10790 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10791
10792         * pa.md: Remove unused constraints from define_split's.
10793
10794 2001-04-14  Richard Henderson  <rth@redhat.com>
10795
10796         * ifcvt.c (find_cond_trap): Test for exit block.
10797
10798 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
10799
10800         Re-install recently reverted patch.
10801         * emit-rtl.c (try_split): Update mark_jump_label call.
10802         * flow.c (find_sub_basic_blocks): Likewise.
10803         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
10804         jump_back_p): Kill.
10805         (mark_all_labels): Kill second parameter.
10806         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
10807         (rebuild_jump_labels, jump_optimize_minimal): Update call
10808         of jump_optimize_1.
10809         (jump_optimize_1): Kill crossjumping code.
10810         (mark_jump_label): Kill cross_jump parameter.
10811         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
10812         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
10813         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
10814          splitting.
10815         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
10816         DFI_bpro.
10817         (dump_file_info): Likewise.
10818         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
10819         reorganize passes to do reg-stack first, bb-reorder second.
10820         * invoke.texi (-d letters doc): Remove the jump2 pass.
10821
10822 2001-07-14  Richard Henderson  <rth@redhat.com>
10823
10824         * ifcvt.c (find_cond_trap): New.
10825         (find_if_header): Call it.
10826         (merge_if_block): Relax existing jump sanity check.
10827         * jump.c (jump_optimize_1): Remove conditional trap handling.
10828
10829 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
10830
10831         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
10832         millicode.
10833         (insn_refs_are_delayed): Correct comment.
10834         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
10835         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
10836         instead of r31.  Make associated insn !TARGET_64BIT, and
10837         provide an additional 64-bit insn that clobbers r2.
10838         (divsi3): Likewise.
10839         (udivsi3): Likewise.
10840         (modsi3): Likewise.
10841         (umodsi3): Likewise.
10842
10843 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
10844
10845         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
10846
10847         * flow.c (redirect_edge_and_branch_force, split_edge,
10848         try_crossjump_to_edge): Use set_block_for_new_insns.
10849         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
10850
10851 2001-07-13  H.J. Lu  (hjl@gnu.org)
10852
10853         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
10854         the correct patch.
10855
10856 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
10857
10858         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
10859
10860 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
10861
10862         * c-common.c (decl_attributes): Take a pointer to the node to
10863         which attributes are to be attached, and a flags argument.
10864         * c-common.h (enum attribute_flags): New.
10865         (decl_attributes): Update prototype.
10866         * c-decl.c (start_decl, push_parm_decl, finish_struct,
10867         finish_enum, start_function): Update calls to decl_attributes.
10868         * c-parse.in (component_declarator, component_notype_declarator,
10869         label): Update calls to decl_attributes.
10870
10871 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
10872
10873         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
10874         * config/avr/avr.c (legitimate_address_p): Return value changed
10875         from letter to register classes. For better debugging.
10876
10877 2001-07-13  Kazu Hirata  <kazu@hxi.com>
10878
10879         * jump.c (reversed_comparison_code_parts): Fix comment typos.
10880
10881 2001-07-13  H.J. Lu  (hjl@gnu.org)
10882
10883         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
10884
10885 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
10886
10887         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
10888         correctly for shared configurations.
10889         * config/t-libgcc-pic:  New.
10890         * config/{i386,m68k,sparc}/t-openbsd:  New.
10891         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
10892         Support -shared.  Support debugging libraries with -g.
10893         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
10894         frame information does not emit pointer diffs.
10895         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
10896         emit pointer diffs.
10897
10898 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
10899
10900         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
10901
10902 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
10903
10904         * combine.c (try_combine): Ensure const_int pow2 is positive.
10905
10906 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
10907
10908         * config.gcc: Add configuration for s/390.
10909         * config/s390/s390.c: New. Subroutines for code generation.
10910         * config/s390/s390.h: New. Definitions for s/390.
10911         * config/s390/s390-protos.h: New. Prototypes.
10912         * config/s390/linux.h: New. Definitions for linux for s/390.
10913         * config/s390/linux64.h: New. Definitions for linux for zSeries.
10914         * config/s390/t-linux: New. Makefile fragment.
10915         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
10916         * config/s390/fixdfdi.h: New. Fix L_fix*di.
10917
10918 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
10919
10920         * emit-rtl.c (try_split): Update mark_jump_label call.
10921         * flow.c (find_sub_basic_blocks): Likewise.
10922         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
10923         jump_back_p): Kill.
10924         (mark_all_labels): Kill second parameter.
10925         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
10926         (rebuild_jump_labels, jump_optimize_minimal): Update call
10927         of jump_optimize_1.
10928         (jump_optimize_1): Kill crossjumping code.
10929         (mark_jump_label): Kill cross_jump parameter.
10930         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
10931         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
10932         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
10933          splitting.
10934         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
10935         DFI_bpro.
10936         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
10937         reorganize passes to do reg-stack first, bb-reorder second.
10938         * invoke.texi (-d letters doc): Remove the jump2 pass.
10939
10940 2001-07-12  Steve Ellcey <sje@cup.hp.com>
10941
10942         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
10943
10944 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
10945
10946         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
10947         basic blocks.
10948         (verify_flow_info): Make diagnostics prettier.
10949
10950 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
10951
10952         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
10953
10954         * flow.c (outgoing_edges_match): Return early if condition reversal
10955         failed.
10956
10957 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
10958
10959         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
10960         (mips_move_2words): When splitting a move into two instructions,
10961         prefix the second address operand with '%D'.
10962
10963 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
10964
10965         * Makefile.in (final.o): Depend on debug.h.
10966         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
10967         (dbx_debug_hooks): Add new hooks.
10968         (xcoff_debug_hooks): New.
10969         * debug.c (debug_nothing_file_int_int): New.
10970         (do_nothing_debug_hooks): Update.
10971         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
10972         (debug_nothing_file_int_int): New.
10973         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
10974         static, update prototype.
10975         (dwarf2_debug_hooks): Update.
10976         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
10977         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
10978         static, update prototype.
10979         (dwarf_debug_hooks): Update.
10980         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
10981         * final.c: Include debug.h.
10982         (final_scan_insn): Use debug hooks when beginning and ending blocks.
10983         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
10984         static, update prototype.
10985         (sdb_debug_hooks): Update.
10986         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
10987         * toplev.c: Distinguish between xcoff and dbx.
10988
10989         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
10990         Call all debug hooks, not just dwarf ones.
10991
10992 2001-07-11  Timothy Wall  <twall@redhat.com>
10993
10994         * config.gcc: Add configuration for AIX5/IA64.
10995         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
10996         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
10997         support prefix/suffix code.
10998         * config/ia64/t-aix: New.  Makefile fragment.
10999         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
11000
11001 2001-07-11  Kazu Hirata  <kazu@hxi.com>
11002
11003         * recog.c (validate_change): Fix a comment typo.
11004
11005 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11006
11007         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
11008         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
11009         hooks directly.
11010         * dbxout.c (dbx_debug_hooks): Add new hooks.
11011         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
11012         make static.
11013         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
11014         make static.
11015         * dbxout.h (dbxout_start_new_source_file,
11016         dbxout_resume_previous_source_file): Delete.
11017         * debug.c (do_nothing_debug_hooks): Add new hooks.
11018         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
11019         (debug_nothing_int_charstar, debug_nothing_int): New.
11020         * debug.h (gcc_debug_hooks): New hooks define, undef,
11021         start_source_file and end_source_file.
11022         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
11023         (debug_nothing_int_charstar, debug_nothing_int): New.
11024         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
11025         the conditionally compiled section.
11026         (dwarf2out_start_source_file, dwarf2out_end_source_file,
11027         dwarf2out_define, dwarf2out_undef): Make static.
11028         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
11029         dwarf2out_define, dwarf2out_undef): Remove.
11030         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
11031         (dwarfout_start_source_file, dwarfout_end_source_file,
11032         dwarfout_define, dwarfout_undef): Make static.
11033         (dwarfout_start_source_file_check,
11034         dwarfout_end_source_file_check): New.
11035         (dwarfout_define, dwarfout_finish): Update.
11036         * dwarfout.h (dwarfout_start_new_source_file,
11037         dwarfout_resume_previous_source_file, dwarfout_define,
11038         dwarfout_undef): Remove.
11039         * sdbout.c (sdb_debug_hooks): Add new hooks.
11040         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
11041         make static.
11042         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
11043         make static, take an arg.
11044         * sdbout.h (sdbout_start_new_source_file,
11045         sdbout_resume_previous_source_file): Delete.
11046         * toplev.c (debug_start_source_file, debug_end_source_file,
11047         debug_define, debug_undef): Delete.
11048         * toplev.h (debug_start_source_file, debug_end_source_file,
11049         debug_define, debug_undef): Delete.
11050
11051         * java/jcf-parse.c: Include debug.h.
11052         (parse_class_file): Update to use debug hooks directly.
11053         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
11054
11055 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11056
11057         * alias.c (set_mem_alias_set): New function.
11058         * rtl.h (set_mem_alias_set): Declare it.
11059         * builtins.c (expand_builtin_return_addr): Call it instead of
11060         using MEM_ALIAS_SET accessor.
11061         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
11062         (get_memory_rtx, expand_builtin_va_arg): Likewise.
11063         (expand_builtin_va_copy):Likewise.
11064         * caller-save.c (setup_save_areas): Likewise.
11065         * calls.c (compute_argument_addresses): Likewise.
11066         * explow.c (set_mem_attributes): Likewise.
11067         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
11068         (expand_assignment, store_constructor_field, store_field): Likewise.
11069         (expand_expr_unaligned): Likewise.
11070         * function.c (assign_stack_temp_for_type): Likewise.
11071         (put_reg_into_stack, gen_mem_addressof): Likewise.
11072         * ifcvt.c (noce_try_cmove_arith): Likewise.
11073         * reload1.c (reload, alter_reg): Likewise.
11074         * config/alpha/alpha.c (get_aligned_mem): Likewise.
11075         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
11076         (alpha_expand_unaligned_store): Likewise
11077         (alpha_expand_unaligned_load_words): Likewise.
11078         (alpha_expand_unaligned_store_words): Likewise.
11079         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
11080         (alpha_expand_epilogue): Likewise.
11081         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
11082         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
11083         * config/i386/i386.c (legitimize_pic_address): Likewise.
11084         * config/i960/i960.c (setup_incoming_varargs): Likewise.
11085         * config/ia64/ia64.c (spill_restore_mem): Likewise.
11086         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
11087         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
11088         * config/mips/mips.c (mips_va_arg): Likewise.
11089         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
11090         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
11091         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
11092         (setup_incoming_varargs, rs6000_va_arg): Likewise.
11093         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
11094         (rs6000_emit_epilogue): Likewise.
11095         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
11096         * config/sparc/sparc.c (sparc_va_arg): Likewise.
11097         * config/v850/v850.c (v850_va_arg): Likewise.
11098
11099 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
11100
11101         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
11102         when fallthru edge is present.
11103         (mege_blocks): Handle case where creation of jump insn
11104         is required.
11105
11106         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
11107         CLEANUP_POST_REGSTACK): New constants.
11108         * except.c (finish_eh_generation): Update call of cleanup_cfg,
11109         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
11110         * output.h (cleanup_cfg): Update prototype.
11111         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
11112         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
11113         cleanup_cfg call; kill missleading comment.
11114         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
11115         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
11116         parameter; control optimizations performed using it.
11117         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
11118         try_crossjump_bb): New functions.
11119
11120 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11121
11122         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
11123         extern.
11124         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
11125         pa_output_function_prologue.
11126         * pa-protos.h (pa_output_function_prologue): New prototype.
11127
11128 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11129
11130         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
11131         and low to get correct sign extension in low+high test.
11132
11133 2001-07-11  Janis Johnson <janis@us.ibm.com>
11134
11135         * gcov.c (arcdata): Use gcov_type to fix branch percentage
11136         for large hit count.
11137
11138         * profile.c (branch_prob): Fix .bbg info for computed gotos
11139         and C++ EH code.
11140
11141 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
11142
11143         * stmt.c (parse_output_constraint): New function, split out
11144         from ...
11145         (expand_asm_operands): ... here.  Use parse_output_constraint.
11146         * tree.h (parse_output_constraint): Declare it.
11147
11148 2001-07-11  Richard Henderson  <rth@redhat.com>
11149
11150         * bitmap.c: Comment some functions; fiddle whitespace.
11151         (bitmap_free): Don't export.
11152         (bitmap_element_allocate): Use memset.
11153         * bitmap.h (bitmap_free): Don't declare.
11154
11155 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
11156
11157         * gcse.c, lcm.c, sched-deps.c:
11158         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
11159
11160         * flow.c (flow_loops_find): Free dom if we found no loops, since
11161         we aren't going to save it.
11162
11163         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
11164         done.
11165
11166 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
11167
11168         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
11169
11170 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11171
11172         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
11173         #ifndef DWARF2_DEBUGGING_INFO.
11174
11175 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
11176
11177         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
11178
11179 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
11180
11181         * config/mips/mips.c (gen_int_relational): Tell the caller not to
11182         reverse a branch if a NE comparison is implemented with GTU.
11183
11184 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
11185             H.J. Lu  <hjl@gnu.org>
11186
11187         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
11188         constant addresses.
11189         (call_internal2): Likewise.
11190         (call_value_internal1): Likewise.
11191         (call_value_internal2): Likewise.
11192         (call_value_multiple_internal1): Likewise.
11193         (call_value_multiple_internal2): Likewise.
11194
11195 2001-07-10  Kazu Hirata  <kazu@hxi.com>
11196
11197         * calls.c (emit_library_call_value_1): Fix a comment typo.
11198         * dwarf2out.c (mem_loc_descriptor): Likewise.
11199         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
11200
11201 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
11202
11203         * simplify-rtx.c (simplify_subreg): Fix typo in comment
11204
11205 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11206
11207         * recog.c (offsettable_address_p): Handle LO_SUM case.
11208         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
11209         instead of plus_constant.
11210
11211 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11212
11213         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
11214         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
11215
11216 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11217
11218         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
11219         adjust_address_nv instead of plus_constant.
11220
11221 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
11222
11223         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
11224         dwarf2out.o): Depend on debug.h, wrap long lines.
11225         * dbxout.c: Include debug.h.
11226         (dbx_debug_hooks): New.
11227         (dbxout_init): Make static, take just 2 args.
11228         (dbxout_finish): Make static.
11229         * dbxout.h (dbxout_init, dbxout_finish): Delete.
11230         * debug.c: New file.
11231         * debug.h: New file.
11232         * dwarf2out.c: Include debug.h.
11233         (dwarf2_debug_hooks): New.
11234         (dwarf2out_init): Make static.
11235         (dwarf2out_finish): Make static, take 2 args.
11236         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
11237         * dwarfout.c: Include debug.h.
11238         (dwarf_debug_hooks): New.
11239         (dwarfout_init): Make static.
11240         (dwarfout_finish): Make static, take 2 args.
11241         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
11242         * sdbout.c: Include debug.h.
11243         (sdb_debug_hooks): New.
11244         (sdbout_init): Make static, take 2 args.
11245         * sdbout.h (sdbout_init): Delete.
11246         * toplev.c: Include debug.h.
11247         (debug_hooks): New.
11248         (compile_file): Set deubg_hooks based on command line options.
11249         Use the hooks unconditionally rather than conditional compilation.
11250
11251 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
11252
11253         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
11254         first_insn_after_basic_block_note instead.
11255
11256         * df.c (df_bb_refs_unlink): #if 0 out for now.
11257
11258 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
11259
11260         * ssa.h: Add prototype for ssa_const_prop
11261         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
11262         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
11263         (ssa_fast_dce): Remove unused variable
11264
11265 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
11266
11267         * diagnostic.c (finish_diagnostic): Rename to
11268         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
11269         calls thourghout.
11270
11271 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
11272
11273         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
11274         .loc support.
11275
11276         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
11277         (dump_file): Only pad the demangled name with spaces if the
11278         mangled name was padded with spaces.
11279
11280 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
11281
11282         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
11283         edge detection.
11284
11285 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11286
11287         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
11288         extraction if no direct load if either EXPAND_CONST_ADDRESS or
11289         EXPAND_INITIALIZER.
11290
11291         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
11292         whether can put offset inside LO_SUM to check mode alignment, not size.
11293
11294 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
11295
11296         * doc/tm.texi (Misc): Fix thinko.
11297
11298 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
11299
11300         * regmove.c (replace_in_call_usage): Fix warnings.
11301         * sched-deps.c (add_dependence): Fix warnings.
11302         * simplify-rtx.c (simplify_subreg): Likewise.
11303         Return NULL_RTX instead of NULL.
11304
11305         * reg-stack.c (emit_swap_insn): Eliminate warnings.
11306         (subst_asm_stack_regs): Likewise.
11307
11308         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
11309         warnings.
11310
11311         * dwarf2out.c (output_call_frame_info): Declare i as int.
11312         (build_abbrev_table): Declare n_alloc as int.
11313         (dwarf2out_finish): Initialize die.
11314         * except.c: Declare sjlj_funcdef_number as unsigned.
11315         (connect_post_landing_pads): Declare j as unsigned.
11316         (convert_to_eh_region_ranges): Initialize call_site.
11317         (output_function_exception_table): Initialize tt_format_size.
11318         * expr.c (move_by_pieces_1): Initialize to1.
11319         (store_constructor): Initialize minelt and maxelt.
11320         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
11321         * function.c (instantiate_decls): Avoid signed/unsigned warning.
11322
11323         * c-decl.c (combine_parm_decls): Unused, remove.
11324         * c-tree.h: Remove prototype for combine_parm_decls.
11325
11326         * reload.c (push_reload): Fix warning.
11327         (regno_clobbered_p): Likewise.
11328         * reload1.c (replace_pseudos_in_call_usage): Likewise.
11329         (reload_combine): Likewise.
11330
11331         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
11332         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
11333         warnings.
11334         * bitmap.c (bitmap_operation): Change user.
11335         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
11336
11337 2001-07-10  Eric Christopher  <echristo@redhat.com>
11338
11339         * config/mips/mips.c (override_options): Fix typo.
11340
11341 2001-07-09  Stan Shebs  <shebs@apple.com>
11342
11343         * target.h (struct gcc_target): New fields init_builtins and
11344         expand_builtin.
11345         * target-def.h (TARGET_INIT_BUILTINS): New macro.
11346         (TARGET_EXPAND_BUILTIN): New macro.
11347         (TARGET_INITIALIZER): Add them.
11348         * builtins.c: Include target.h.
11349         (expand_builtin): Use targetm.expand_builtin.
11350         (default_init_builtins): New function.
11351         (default_expand_builtin): New function.
11352         * expr.h (default_init_builtins): Declare.
11353         (default_expand_builtin): Declare.
11354         * c-common.c (c_common_nodes_and_builtins): Use
11355         targetm.init_builtins.
11356         * defaults.h (MD_INIT_BUILTINS): Remove.
11357         * Makefile.in (builtins.o): Depend on target.h.
11358
11359         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
11360         (TARGET_EXPAND_BUILTIN): Define.
11361         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
11362         (MD_EXPAND_BUILTIN): Remove.
11363
11364         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
11365         (TARGET_EXPAND_BUILTIN): Define.
11366         (c4x_init_builtins): Make endlink arg a local.
11367         (c4x_print_operand): Fix typos in adjust_address usages.
11368         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
11369         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
11370         (MD_EXPAND_BUILTIN): Remove.
11371
11372         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
11373         (TARGET_EXPAND_BUILTIN): Define.
11374         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
11375         (ix86_init_builtins): Call new function only if TARGET_MMX.
11376         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
11377         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
11378         (MD_EXPAND_BUILTIN): Remove.
11379
11380         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
11381         (TARGET_EXPAND_BUILTIN): Define.
11382         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
11383         (MD_EXPAND_BUILTIN): Remove.
11384
11385         * doc/tm.texi: Document these changes.
11386
11387 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
11388
11389         * basic-block.h (tree_node): Forward declare if needed.
11390         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
11391         (BLOCK_HEAD_TREE): Define.
11392         (BLOCK_END_TREE): Define.
11393         (struct loops): Rename field 'tree' to 'tree_root'.
11394         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
11395         'end_tree'.
11396         (flow_loops_tree_build): Rename reference to field 'tree' to
11397         'tree_root'.
11398         (flow_loops_level_compute): Ditto.
11399         * predict.c (estimate_bb_frequencies): Ditto.
11400         * tree.h (struct tree_common): Add field 'aux'.
11401
11402 2001-07-09  Stan Shebs  <shebs@apple.com>
11403
11404         * config/darwin.c (darwin_encode_section_info): Don't mark any
11405         DECL_EXTERNAL node as defined.
11406
11407 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11408
11409         * pa.c (pa_init_machine_status, pa_mark_machine_status,
11410         pa_free_machine_status, hppa_init_pic_save): Delete.
11411         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
11412         (hppa_profile_hook): Use hppa_pic_save_rtx.
11413         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
11414         hppa_init_pic_save): Delete.
11415         (hppa_pic_save_rtx): Declare.
11416         * pa.md (call, call_value, sibcall, sibcall_value,
11417         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
11418
11419 2001-07-09  Kazu Hirata  <kazu@hxi.com>
11420
11421         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
11422         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
11423
11424 2001-07-09  Andreas Jaeger  <aj@suse.de>
11425
11426         * output.h: Add declaration of final_forward_branch_p.
11427
11428         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
11429
11430         * varray.c: Include errors.h for internal_error and trim_filename
11431         declarations.
11432
11433         * Makefile.in (varray.o): Add errors.h.
11434
11435 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
11436
11437         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
11438         * optabs.c (have_add2_insn): Check whether the add insn chosen
11439         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
11440         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
11441
11442 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
11443
11444         * Makefile.in (OBJS): Add ssa-ccp.o
11445         (ssa-ccp.o): Add dependencies.
11446         * toplev.c (DFI_ssa_ccp): New dump file enum.
11447         (dump_file): Add entry for dumping after SSA CCP.
11448         (flag_ssa_ccp): New flag variable.
11449         (f_options): Add -fssa-ccp.
11450         (rest_of_compilation): Run SSA CCP if requested.
11451         * timevar.def (TV_SSA_CCP): New timevar.
11452         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
11453         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
11454         Fix minor typo in SSA DCE documentation.
11455         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
11456         Add documentation for new dump option.  Renumber dump files
11457         appropriately.
11458
11459 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
11460
11461         * emit-rtl.c (gen_highpart_mode): New.
11462         * rtl.h (gen_highpart_mode): Declare.
11463         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
11464         operand can be VOIDmode constant.
11465
11466 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
11467
11468         * flow.c (redirect_edge_and_branch_force): New.
11469         (can_fallthru): Ensure that basic blocks are succeeding.
11470         (try_optimize_cfg): Do not delete basic block if it is the last one.
11471
11472         * flow.c (try_redirect_by_replacing_jump): Do not remove
11473         jumps with side effects, unlink chain on fallthru edge;
11474         set block for new jump instruction; avoid basic block to
11475         over by line number note.
11476
11477         * flow.c (try_simplify_condjump): Verify that the condjump
11478         is not always falling trought.
11479
11480         Re-install patch:
11481         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
11482
11483         * flow.c (forwarder_block_p): Fix for fallthru blocks.
11484         (try_redirect_by_replacing_jump): Update properly the count
11485         and frequency information.
11486
11487 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11488
11489         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
11490         address that is a LO_SUM specially.
11491         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
11492
11493         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
11494
11495         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
11496         (operand_subword): Use them.
11497         (change_address_1): Renamed from change_address; new arg VALIDATE.
11498         * expr.h: Reflect above changes; change_address now macro.
11499         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
11500         making MEM.
11501         * cselib.c (add_mem_for_addr): Likewise.
11502         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
11503         * regmove.c (try_apply_stack_adjustment): Likewise.
11504         * reload.c (push_reload, make_memloc): Likewise.
11505         * reload1.c (eliminate_regs): Likewise.
11506         * simplify-rtx.c (simplify_replace_rtx): Likewise.
11507         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
11508         adjust_addess.
11509         * combine.c (make_extraction, simplify_shift_const): Likewise.
11510         (gen_lowpart_for_combine): Likewise.
11511         * cse.c (gen_lowpart_if_possible): Likewise.
11512         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
11513         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
11514         * optabs.c (gen_move_insn): Likewise.
11515         * reload1.c (alter_reg): Likewise.
11516         * simplify-rtx.c (simplify_subreg): Likewise.
11517         * stmt.c (expand_anon_union_decl): Likewise.
11518         * recog.c (validate_replace_rtx_1): Likewise.
11519         (expr.h): Include.
11520         * Makefile.in (recog.o): Add $(EXPR_H).
11521         * explow.c (stabilize): Call replace_equiv_address.
11522         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
11523         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
11524
11525 2001-07-03  Andrew Haley  <aph@redhat.com>
11526
11527         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
11528         the mode of the memory location.
11529
11530 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
11531
11532         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
11533
11534 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
11535
11536         * final.c (output_addr_const): Use target opening and
11537         closing parentheses.
11538         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
11539         defaults, add to TARGET_ASM_OUT.
11540         * target.h (struct gcc_target): Add open_paren and close_paren.
11541         * doc/md.texi: Update.
11542         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
11543         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
11544         TARGET_ASM_CLOSE_PAREN.
11545         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
11546         Override.
11547         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
11548         Override.
11549         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
11550         * config/a29k/a29k.h: Similarly.
11551         * config/alpha/alpha.h: Similarly.
11552         * config/arc/arc.h: Similarly.
11553         * config/arm/aof.h: Similarly.
11554         * config/arm/aout.h: Similarly.
11555         * config/avr/avr.h: Similarly.
11556         * config/c4x/c4x.h: Similarly.
11557         * config/clipper/clipper.h: Similarly.
11558         * config/convex/convex.h: Similarly.
11559         * config/d30v/d30v.h: Similarly.
11560         * config/dsp16xx/dsp16xx.h: Similarly.
11561         * config/elxsi/elxsi.h: Similarly.
11562         * config/fr30/fr30.h: Similarly.
11563         * config/h8300/h8300.h: Similarly.
11564         * config/i370/i370.h: Similarly.
11565         * config/i386/i386.h: Similarly.
11566         * config/i860/i860.h: Similarly.
11567         * config/i960/i960.h: Similarly.
11568         * config/ia64/ia64.h: Similarly.
11569         * config/m32r/m32r.h: Similarly.
11570         * config/m68hc11/m68hc11.h: Similarly.
11571         * config/m68k/m68k.h: Similarly.
11572         * config/m88k/m88k.h: Similarly.
11573         * config/mcore/mcore.h: Similarly.
11574         * config/mips/mips.h: Similarly.
11575         * config/mn10200/mn10200.h: Similarly.
11576         * config/mn10300/mn10300.h: Similarly.
11577         * config/ns32k/ns32k.h: Similarly.
11578         * config/pa/pa.h: Similarly.
11579         * config/pdp11/pdp11.h: Similarly.
11580         * config/pj/pj.h: Similarly.
11581         * config/romp/romp.h: Similarly.
11582         * config/rs6000/rs6000.h: Similarly.
11583         * config/sh/sh.h: Similarly.
11584         * config/sparc/sparc.h: Similarly.
11585         * config/v850/v850.h: Similarly.
11586         * config/vax/vax.h: Similarly.
11587         * config/we32k/we32k.h: Similarly.
11588
11589 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
11590
11591         * doc/c-tree.texi: Document representation of attributes.
11592
11593 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
11594
11595         * doc/tm.texi: Update some places for the rename of target to
11596         targetm.  Fix typo.
11597
11598 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
11599
11600         * target.h (struct gcc_target): Add insert_attributes.
11601         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
11602         (TARGET_INITIALIZER): Update.
11603         * tree.c, tree.h (default_insert_attributes): New function.
11604         Update comments on other default functions to refer to targetm,
11605         not target.
11606         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
11607         TARGET_INSERT_ATTRIBUTES.
11608         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
11609         * c-common.c (decl_attributes): Use targetm.insert_attributes.
11610         Don't use PRAGMA_INSERT_ATTRIBUTES.
11611         * Makefile.in (c-common.o): Depend on $(TARGET_H).
11612         * c-decl.c (start_decl, start_function): Don't call
11613         SET_DEFAULT_DECL_ATTRIBUTES.
11614         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
11615         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
11616         declare.
11617         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
11618         (c4x_check_attribute): Avoid modifying attribute list itself.
11619         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
11620         Make static.
11621         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
11622         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
11623         declare.
11624         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
11625         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
11626         Make static.
11627         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
11628         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
11629         declare.
11630         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
11631         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
11632         Adjust parameters.  Make static.
11633
11634 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
11635
11636         * c-common.c (decl_attributes): Only take a single attributes
11637         parameter.
11638         * c-common.h (decl_attributes): Update prototype.
11639         * c-decl.c (start_decl, start_function): Only take a single
11640         attributes parameter.  Update calls to decl_attributes.
11641         (finish_struct, finish_enum): Update calls to decl_attributes.
11642         (push_parm_decl): Expect unified list of attributes.  Update call
11643         to decl_attributes.
11644         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
11645         notype_nested_function, component_declarator,
11646         component_notype_declarator, label): Update calls to
11647         decl_attributes.
11648         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
11649         lists that are passed to push_parm_decl.
11650         * c-tree.h (start_function, start_decl): Update prototypes.
11651         * config/sh/sh-protos.h, config/sh/sh.c
11652         (sh_pragma_insert_attributes): Only take a single attributes
11653         parameter.
11654         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
11655         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
11656         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
11657         build_module_descriptor, generate_static_references,
11658         generate_strings, build_selector_translation_table,
11659         generate_descriptor_table, generate_protocols,
11660         generate_ivars_list, generate_dispatch_table,
11661         generate_protocol_list, generate_category,
11662         generate_shared_structures, really_start_method, add_objc_decls,
11663         generate_classref_translation_entry): Update calls to start_decl
11664         and start_function.
11665         (build_tmp_function_decl, start_method_def): Unify attribute lists
11666         that are passed to push_parm_decl.
11667
11668 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
11669
11670         * final.c (no_asm_to_stream): New.
11671         (final_scan_insn): Use target structures for prologue ends
11672         and epilogue starts.
11673         * output.h (no_asm_to_stream): New.
11674         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
11675         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
11676         (TARGET_ASM_OUT): Update.
11677         * target.h (struct gcc_target): New members function_end_prologue
11678         and function_begin_epilogue.
11679         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
11680         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
11681         * config/alpha/alpha.c (output_end_prologue): Rename to
11682         alpha_output_function_end_prologue.  Use in target struct
11683         and make static.
11684         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
11685         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
11686         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
11687         ia64_output_function_end_prologue.  Use in target struct
11688         and make static.
11689         (ia64_function_prologue, ia64_funciton_epilogue): Rename
11690         mistyped prototypes.
11691         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
11692         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
11693         Delete.
11694         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
11695         an use in target struct, make static.
11696         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
11697         Delete.
11698
11699 2001-07-08  Richard Henderson  <rth@redhat.com>
11700
11701         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
11702
11703 2001-07-08  Richard Henderson  <rth@redhat.com>
11704
11705         * config/i386/i386.md: Remove constraints strings from define_split
11706         and define_peephole2 patterns.
11707         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
11708         (eh_return): Use them.
11709
11710 2001-07-08  Richard Henderson  <rth@redhat.com>
11711
11712         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
11713         Document MD_FALLBACK_FRAME_STATE_FOR.
11714
11715 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11716
11717         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
11718         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
11719         elimination.
11720         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
11721
11722 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
11723
11724         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
11725         of the label inside NAME as opposed to just the end of NAME.
11726
11727 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
11728
11729         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
11730         * config/alpha/alpha.c (alpha_init_machine_status,
11731         alpha_mark_machine_status, alpha_free_machine_status): Delete.
11732         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
11733         (vms_valid_decl_attribute_p): Make static, conditionally compile.
11734         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
11735
11736 2001-07-06  Stan Shebs  <shebs@apple.com>
11737
11738         * target.h (targetm): Rename global from "target", so as not to
11739         conflict with local variables.
11740         * c-decl.c: Ditto.
11741         * c-typeck.c: Ditto.
11742         * final.c: Ditto.
11743         * tree.c: Ditto.
11744         * cp/decl.c: Ditto.
11745         * cp/decl2.c: Ditto.
11746         * cp/typeck.c: Ditto.
11747         * 1750a/1750a.c: Ditto.
11748         * a29k/a29k.c: Ditto.
11749         * arc/arc.c: Ditto.
11750         * arm/arm.c: Ditto.
11751         * avr/avr.c: Ditto.
11752         * clipper/clipper.c: Ditto.
11753         * convex/convex.c: Ditto.
11754         * d30v/d30v.c: Ditto.
11755         * dsp16xx/dsp16xx.c: Ditto.
11756         * elxsi/elxsi.c: Ditto.
11757         * fr30/fr30.c: Ditto.
11758         * h8300/h8300.c: Ditto.
11759         * i370/i370.c: Ditto.
11760         * i386/i386.c: Ditto.
11761         * i860/i860.c: Ditto.
11762         * i960/i960.c: Ditto.
11763         * ia64/ia64.c: Ditto.
11764         * m32r/m32r.c: Ditto.
11765         * m68hc11/m68hc11.c: Ditto.
11766         * m68k/m68k.c: Ditto.
11767         * m88k/m88k.c: Ditto.
11768         * mips/mips.c: Ditto.
11769         * ns32k/ns32k.c: Ditto.
11770         * pa/pa.c: Ditto.
11771         * pdp11/pdp11.c: Ditto.
11772         * romp/romp.c: Ditto.
11773         * rs6000/rs6000.c: Ditto.
11774         * sh/sh.c: Ditto.
11775         * sparc/sparc.c: Ditto.
11776         * vax/vax.c: Ditto.
11777         * we32k/we32k.c: Ditto.
11778         * doc/tm.texi: Update the manual to match.
11779
11780 2001-07-06  Richard Henderson  <rth@redhat.com>
11781
11782         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
11783         DWARF2_UNWIND_INFO not just whether it is defined.
11784
11785 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
11786
11787         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
11788         call to simplify_binary_operation returns a new pattern.
11789
11790 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11791
11792         * glimits.h (__SHRT_MAX__): New.
11793         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
11794         (SHRT_MAX): Define in terms of __SHRT_MAX__.
11795
11796 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
11797
11798         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
11799         avoid warnings.
11800
11801 2001-07-06  Richard Henderson  <rth@redhat.com>
11802
11803         * bitmap.c (bitmap_release_memory): Move adjacent to the
11804         allocation functions.
11805         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
11806         the implementation.  Binary search for the set bit.
11807         (bitmap_union_of_diff): Allocate the temporary on the stack
11808         instead of using xmalloc.
11809
11810 2001-07-06  Richard Henderson  <rth@redhat.com>
11811
11812         * genrecog.c (validate_pattern): Warn for constraints in
11813         define_{expand,split,peephole2}.  Remove strict_low_part
11814         before looking up match_dup.
11815
11816 2001-07-06  DJ Delorie  <dj@redhat.com>
11817
11818         * doc/gcc.texi (Makefile): Rename to be a more general purpose
11819         chapter about various build hints and history.  Add section
11820         talking about the various types of native and cross builds.
11821
11822 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
11823
11824         * Makefile.in (final.o): Depend on target.h.
11825         * final.c: Include target.h.
11826         (default_function_pro_epilogue): New.
11827         (final_start_function): Use target structure for function prologues.
11828         (final_end_function): Use target structure for function epilogues.
11829         * fold-const.c (real_hex_to_f): Constify s and p.
11830         * output.h (default_function_pro_epilogue): New.
11831         * real.h (real_hex_to_f): Update prototype.
11832         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
11833         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
11834         (TARGET_INITIALIZER): Update.
11835         * target.h (gcc_target): Add struct asm_out.
11836         * doc/tm.texi: Update.
11837
11838 config:
11839         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
11840         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
11841         in cpu/cpu.c, or rename old functions consistently.  Take
11842         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
11843         redundant macros and prototypes.  Make new functions static.
11844
11845         * 1750a/1750a.c: Similarly.
11846         * 1750a/1750a.h: Similarly.
11847         * a29k/a29k-protos.h: Similarly.
11848         * a29k/a29k.c: Similarly.
11849         * a29k/a29k.h: Similarly.
11850         * arc/arc-protos.h: Similarly.
11851         * arc/arc.c: Similarly.
11852         * arc/arc.h: Similarly.
11853         * arm/arm-protos.h: Similarly.
11854         * arm/arm.c: Similarly.
11855         * arm/arm.h: Similarly.
11856         * avr/avr-protos.h: Similarly.
11857         * avr/avr.c: Similarly.
11858         * avr/avr.h: Similarly.
11859         * clipper/clipper-protos.h: Similarly.
11860         * clipper/clipper.c: Similarly.
11861         * clipper/clipper.h: Similarly.
11862         * convex/convex.c: Similarly.
11863         * convex/convex.h: Similarly.
11864         * d30v/d30v-protos.h: Similarly.
11865         * d30v/d30v.c: Similarly.
11866         * d30v/d30v.h: Similarly.
11867         * d30v/d30v.md: Similarly.
11868         * dsp16xx/dsp16xx-protos.h: Similarly.
11869         * dsp16xx/dsp16xx.c: Similarly.
11870         * dsp16xx/dsp16xx.h: Similarly.
11871         * elxsi/elxsi.c: Similarly.
11872         * elxsi/elxsi.h: Similarly.
11873         * fr30/fr30.c: Similarly.
11874         * fr30/fr30.md: Similarly.
11875         * h8300/h8300-protos.h: Similarly.
11876         * h8300/h8300.c: Similarly.
11877         * h8300/h8300.h: Similarly.
11878         * i370/i370-protos.h: Similarly.
11879         * i370/i370.c: Similarly.
11880         * i370/i370.h: Similarly.
11881         * i386/i386.c: Similarly.
11882         * i386/osf1elf.h: Similarly.
11883         * i386/osfrose.h: Similarly.
11884         * i860/i860-protos.h: Similarly.
11885         * i860/i860.c: Similarly.
11886         * i860/i860.h: Similarly.
11887         * i960/i960-protos.h: Similarly.
11888         * i960/i960.c: Similarly.
11889         * i960/i960.h: Similarly.
11890         * ia64/ia64-protos.h: Similarly.
11891         * ia64/ia64.c: Similarly.
11892         * ia64/ia64.h: Similarly.
11893         * m32r/m32r-protos.h: Similarly.
11894         * m32r/m32r.c: Similarly.
11895         * m32r/m32r.h: Similarly.
11896         * m68hc11/m68hc11-protos.h: Similarly.
11897         * m68hc11/m68hc11.c: Similarly.
11898         * m68hc11/m68hc11.h: Similarly.
11899         * m68k/crds.h: Similarly.
11900         * m68k/dpx2.h: Similarly.
11901         * m68k/m68k-protos.h: Similarly.
11902         * m68k/m68k.c: Similarly.
11903         * m68k/m68k.h: Similarly.
11904         * m68k/news.h: Similarly.
11905         * m88k/m88k-protos.h: Similarly.
11906         * m88k/m88k.c: Similarly.
11907         * m88k/m88k.h: Similarly.
11908         * mips/mips-protos.h: Similarly.
11909         * mips/mips.c: Similarly.
11910         * mips/mips.h: Similarly.
11911         * ns32k/merlin.h: Similarly.
11912         * ns32k/ns32k.c: Similarly.
11913         * ns32k/ns32k.h: Similarly.
11914         * ns32k/tek6000.h: Similarly.
11915         * pa/pa-protos.h: Similarly.
11916         * pa/pa.c: Similarly.
11917         * pa/pa.h: Similarly.
11918         * pdp11/2bsd.h: Similarly.
11919         * pdp11/pdp11-protos.h: Similarly.
11920         * pdp11/pdp11.c: Similarly.
11921         * pdp11/pdp11.h: Similarly.
11922         * romp/romp-protos.h: Similarly.
11923         * romp/romp.c: Similarly.
11924         * romp/romp.h: Similarly.
11925         * rs6000/rs6000-protos.h: Similarly.
11926         * rs6000/rs6000.c: Similarly.
11927         * rs6000/rs6000.h: Similarly.
11928         * rs6000/sysv4.h: Similarly.
11929         * sh/sh-protos.h: Similarly.
11930         * sh/sh.c: Similarly.
11931         * sh/sh.h: Similarly.
11932         * sparc/sparc-protos.h: Similarly.
11933         * sparc/sparc.c: Similarly.
11934         * sparc/sparc.h: Similarly.
11935         * vax/vax.c: Similarly.
11936         * vax/vax.h: Similarly.
11937         * vax/vms.h: Similarly.
11938         * we32k/we32k.c: Similarly.
11939         * we32k/we32k.h: Similarly.
11940
11941 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
11942
11943         * basic-block.h (first_insn_after_basic_block_note): Declare.
11944         * flow.c (first_insn_after_basic_block_note): Define.  Moved
11945         from...
11946         * ssa.c (first_insn_after_basic_block_note): Remove.
11947         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
11948         necessary.
11949         (ssa_eliminate_dead_code): Properly update the CFG and PHI
11950         nodes when we find a dead conditional branch.  Insert BARRIERs
11951         after any blocks with no successors, but which do not have
11952         any BARRIERs.
11953
11954 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
11955
11956         * varray.c (varray_check_failed): Use internal_error.
11957
11958 2001-07-05  Andrew Haley  <aph@redhat.com>
11959
11960         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
11961         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
11962         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
11963
11964 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
11965
11966         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
11967         reference if the target constant is also a SYMBOL_REF.
11968
11969 2001-07-05  Eric Christopher  <echristo@redhat.com>
11970
11971         * config/mips/mips.h (MASK_MIPS3900): Remove.
11972         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
11973         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
11974         (TARGET_MIPS3900): Change to use mips_arch.
11975         (TARGET_MIPS4000): New.
11976         (TARGET_MIPS4100): New.
11977         (TARGET_MIPS4300): New.
11978         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
11979         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
11980         for -mipsX.
11981         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
11982         (ISA_HAS_BRANCHLIKELY): To here.
11983         (CC1_CPU_SPEC):  New.
11984         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
11985         (mips_arch_string): Declare.
11986         (mips_arch): Declare.
11987         (TARGET_OPTIONS): Add -march and -mtune.
11988
11989         * config/mips/mips.c (mips_arch_string): New.
11990         (mips_arch): New.
11991         (override_options): Handle -march for codegen and -mtune
11992         for scheduling. Use mips_arch. Move tx39 target default here.
11993         (mips_parse_cpu): Move error message to override_options.
11994
11995         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
11996
11997         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
11998
11999         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
12000         (MIPS Options): Ditto.  Change mcpu entry to historical text.
12001
12002 2001-07-05  H.J. Lu  (hjl@gnu.org)
12003
12004         * config/mips/mips.c (mips_parse_cpu): New function to parse
12005         -march=*/-mcpu=*.
12006
12007 2001-07-05  Jim Wilson  <wilson@redhat.com>
12008
12009         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
12010         * config/ia64/t-ia64: Likewise.
12011         (LIB1ASMFUNCS): Update comment.
12012
12013 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
12014
12015         * doc/install.texi (Install GCC: Binaries): Fix typo.
12016
12017 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12018
12019         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
12020         reference using the stack pointer, adjust it since we push Y
12021         temporarily.
12022         ("*ashrsi3"): Likewise.
12023         ("*lshrsi3"): Likewise.
12024
12025 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12026
12027         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
12028         when -fomit-frame-pointer is used.
12029
12030 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
12031
12032         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
12033         (try_redirect_by_replacing_jump): Reverse updating properly the
12034         count and frequency information.  Reverse removing cc0 setter.
12035         (forwarder_block_p): Reverse fixing for fallthru blocks.
12036
12037 2001-07-05  DJ Delorie  <dj@redhat.com>
12038
12039         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
12040         (translate_options): If the above is defined, use it to map
12041         given options to new options.
12042         * doc/tm.texi: Document it.
12043
12044 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
12045             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12046
12047         * doc/invoke.texi (Optimize Options): Document that -fgcse may
12048         cause programs using computed gotos to run more slowly.
12049
12050 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12051
12052         * doc/install.texi (Specific): Markup, spelling and typo fixes.
12053         Fixed sorting.
12054         Consistently require binutils 2.11.2, not prereleases.
12055         (Specific, decstation-*): Canonicalize as mips-dec-*.
12056         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
12057         always necessary.
12058         (Specific, m68k-altos): Removed reference to README.altos, deleted.
12059         (Specific, mips-*): Reword MIPS C compiler requirements.
12060         (Specific, powerpc*-*-*): New, mention --with-cpu once.
12061         (Specific, sunv5): Removed, obsolete.
12062
12063 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
12064
12065         * dwarf2out.c (output_loc_list): Use an all ones mask for
12066         .text asm output and don't rely on long long
12067         literals. Reformat some long lines.
12068
12069 2001-07-05  Andreas Jaeger  <aj@suse.de>
12070
12071         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
12072         section.
12073
12074 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
12075
12076         * dwarf2out.c (dwarf2out_define): Update comment.
12077         (dwarf2out_undef): Ditto.
12078         (dwarf2out_start_source_file): Ditto.
12079         (dwarf2out_end_source_file): Ditto.
12080         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
12081         since we never call the start/end debug hook for the primary file.
12082
12083 2001-07-04  Kazu Hirata  <kazu@hxi.com>
12084
12085         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
12086         from shll.
12087
12088 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
12089
12090         * cppinit.c (remove_dup_dirs): Inform if a system include
12091         directory is being reordered.
12092         * doc/invoke.texi (Directory Options): GCC warns if you hide a
12093         system include.
12094         * doc/cpp.texi (Search Paths): Likewise.
12095         * doc/gcc.texi (Interoperation): Remove information about
12096         -I/usr/include.
12097
12098 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
12099
12100         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
12101         (VARRAY_TOP_CHAR_PTR): Likewise.
12102
12103 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12104
12105         * gcc.c (process_command): Don't assign elements of a const char*.
12106
12107 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12108
12109         * emit-rtl.c (change_address): Don't abort if invalid address while
12110         reload is in progress.
12111
12112 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
12113
12114         * c-lex.c (cb_file_change): Pass line number to
12115         debug_start_source_file.
12116         (cb_undefine): Pass correct line number to debug_undef.
12117
12118         * toplev.c (debug_start_source_file): Add line number to
12119         parameters. Pass it along to dwarf2out_start_source_file.
12120         (decode_g_option): Stop resetting debug level back to normal when
12121         we change debug formats, unless the current level is
12122         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
12123         3).
12124
12125         * toplev.h (debug_start_source_file): Add line number to
12126         parameters.
12127
12128         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
12129         parameters.
12130
12131         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
12132         parameters.
12133         Output debug_macinfo data for starting file if requested.
12134         (dwarf2out_end_source_file): Output debug_macinfo data for ending
12135         file if requested.
12136         (dwarf2out_define): Output debug_macinfo data for defining a macro
12137         if requested.
12138         (dwarf2out_undef): Output debug_macinfo data for undefining a
12139         macro if requested.
12140         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
12141         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
12142         (macinfo_section_label): New. DWARF2 macro info section label.
12143         (dwarf2out_init): If we want macro info, output the start label
12144         for the section.
12145         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
12146         attribute to the compilation unit die pointing to the macro info.
12147
12148 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
12149
12150         * dwarf2out.c (new_loc_list): Move to inside #ifdef
12151         DWARF2_DEBUGGING_INFO.
12152         (add_loc_descr_to_loc_list): Ditto.
12153         (output_loc_list): Ditto.
12154         Also, fix thinko in curr not being initialized.
12155         (gen_internal_sym): Ditto.
12156
12157 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12158
12159         * emit-rtl.c (replace_equiv_address): New function.
12160         * expr.h (replace_equiv_address): New declaration.
12161         * explow.c (validize_mem): Call it instead of change_address and
12162         also call if -fforce-addr and address is constant.
12163         * expr.c: Replace more calls to change_address with adjust_address
12164         and/or replace_equiv_address or to validize_mem.
12165         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
12166         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
12167         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
12168         * config/i370/i370.md, config/i860/i860.md: Likewise.
12169         * config/i960/i960.md, config/mips/mips.c: Likewise.
12170         * config/mips/mips.md, config/pa/pa.md: Likewise.
12171         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
12172         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
12173
12174 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12175
12176         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
12177
12178         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
12179         function.
12180
12181 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
12182
12183         * doc/include: New directory.
12184         * doc/fdl.texi: Move to doc/include/fdl.texi.
12185         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
12186         * doc/include/funding.texi, doc/include/gpl.texi: New files.
12187         * doc/gcc.texi: Use funding.texi and gpl.texi.
12188         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
12189         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
12190         Update dependencies and use -I $(docdir)/include.
12191
12192 2001-07-04  Anthony Green  <green@redhat.com>
12193
12194         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
12195
12196 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12197
12198         * doc/install.texi (sparc64-*-*): Remove garbage.
12199
12200 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
12201
12202         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
12203         Fix typo in last change to use adjust_address.
12204
12205 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12206
12207         * doc/install.texi (Specific): Update information for *-*-solaris*.
12208
12209 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12210
12211         * explow.c (plus_constant_wide): Reinitialize Y for restart.
12212
12213 2001-07-03  Stan Shebs  <shebs@apple.com>
12214
12215         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
12216         case for flag_no_mach_text_sections.
12217         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
12218         * config/darwin.c (flag_no_mach_text_sections): Remove.
12219         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
12220
12221 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12222
12223         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
12224         and avoid checking for constant as first operand.
12225         * recog.c (find_constant_term_loc): No longer static.
12226         (adj_offettable_operand): Delete.
12227         * rtl.h (adj_offsettable_operand): Delete declaration.
12228         (find_constant_term): Add declaration.
12229         * caller-save.c: Replace calls to adj_offsettable_operand with calls
12230         to adjust_address.
12231         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
12232         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
12233         * config/i386/i386.c, config/i386/i386.md: Likewise.
12234         * config/i860/i860.c, config/i960/i960.c: Likewise.
12235         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
12236         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
12237         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
12238         * config/mips/mips.c, config/mips/mips.md: Likewise.
12239         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
12240         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
12241         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
12242         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
12243         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
12244         * config/ns32k/ns32k.md: Likewise.
12245
12246 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
12247
12248         * rtl.c (copy_rtx): Handle 'T' format letter.
12249         * gensupport.c (collect_insn_data): Likewise.
12250         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
12251
12252 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
12253
12254         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
12255         -B option.  Use 'dir' not 'foo' as example directory name.
12256
12257 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12258
12259         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
12260         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
12261
12262 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
12263
12264         * doc/cppinternals.texi: Improve formatting and logical markup.
12265
12266 2001-07-03  Andreas Jaeger  <aj@suse.de>
12267
12268         * Makefile.in (insn-recog.o): Add dependency on reload.h.
12269
12270         * genrecog.c (write_header): Include reload.h for prototypes in
12271         insn-recog.c.
12272
12273 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
12274
12275 config:
12276         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
12277         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
12278         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
12279         i386_pe_valid_type_attribute_p): Add.
12280         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
12281         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
12282
12283 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12284
12285         * explow.c (plus_constant_wide, case LO_SUM): New case.
12286         (plus_constant_for_output_wide): Delete.
12287         * rtl.h (plus_constant_for_output): Delete.
12288         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
12289         instead of plus_constant_for_output.
12290         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
12291         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
12292         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
12293         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
12294         * config/sparc/sparc.md: Likewise.
12295         Convert some change_address calls to adjust_address.
12296
12297 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
12298
12299         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
12300         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
12301         documentation of -std and -Wwrite-strings.
12302
12303 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
12304
12305         * cse.c (canon_hash): Don't register registers in very small
12306         register classes, as extending their lifetime might cause
12307         reload to fail.
12308
12309 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
12310
12311         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
12312
12313         * flow.c (forwarder_block_p): Fix for fallthru blocks.
12314         (try_redirect_by_replacing_jump): Update properly the count
12315         and frequency information.
12316
12317 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
12318
12319         * toplev.c (dump_file_index): Move SSA dumps just after first
12320         jump dump.
12321         (dump_file): Corresponding changes.
12322         (rest_of_compilation): Move SSA path to just after the first
12323         jump pass.
12324         * doc/gcc.texi (Passes): Update due to movement of SSA path.
12325         * doc/invoke.texi: Update dump file #s as they were completely
12326         out of date with reality.
12327
12328 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
12329
12330         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
12331
12332         * expr.c (emit_move_insn_1): Deal with non-default
12333         STACK_PUSH_CODE.
12334
12335         * expr.c (emit_single_push_insn): Fix warning.
12336
12337 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
12338
12339         * expr.c (emit_move_insn_1): Avoid modifying
12340         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
12341
12342 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12343
12344         * emit-rtl.c (adjust_address): New function.
12345         * expr.h (adjust_address): Add declaration.
12346         * builtins.c: Replace some calls to change_address with calls to it
12347         or to validize_mem.
12348         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
12349         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
12350         * config/arm/arm.c, config/convex/convex.c: Likewise.
12351         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
12352         * config/i386/i386.c, config/i386/i386.md: Likewise.
12353         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
12354         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
12355         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
12356         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
12357         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
12358
12359 2001-07-02  Jim Wilson  <wilson@redhat.com>
12360
12361         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
12362
12363 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
12364
12365         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
12366         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
12367
12368 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
12369
12370         * cppinit.c (lang_defaults): New table.
12371         (set_lang): Just read from lang_defaults into the live options
12372         structure.
12373
12374 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
12375
12376         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
12377         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
12378         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
12379
12380 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12381
12382         * doc/install.texi: Various spelling and markup fixes.
12383         (Installing GCC): Component specific installation instructions are
12384         gone.
12385         Fix reference.
12386         Warn about removing old install dir in the presence of shared libs.
12387         (Configuration): Invoke with options target to match configure
12388         --help.
12389         Consistently refer to gas, gld pathnames.
12390         Invert --enable-multilib documentation.
12391         Remove references to old compiler versions.
12392
12393 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12394
12395         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
12396
12397 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12398
12399         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
12400         section.
12401         (Specific, mips*-sgi-irix5): Note IDO download.
12402         Reworded MIPS C hints.
12403         Use GNU as instead of GAS.
12404         Markup fixes.
12405         Removed SGI Freeware reference, IRIX 6 only.
12406         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
12407         Note N64 library requirement/workaround.
12408         Update O32 hints.
12409         Complete list of structure passing bug victims.
12410
12411 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12412
12413         * doc/install.texi: Remove CVS Id.
12414
12415 2001-07-02  Andreas Jaeger  <aj@suse.de>
12416
12417         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
12418         (find_inherently_necessary): Remove unused variable.
12419
12420 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
12421
12422         * c-common.h (TDI_inlined): New ast dump phase.
12423         (dump_flag_name): New function.
12424         * c-dump.c (dump_files): Add inlined phase.
12425         (dump_flag_name): Define.
12426         * doc/invoke.texi (-fdump-ast-inlined): Document.
12427
12428 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12429
12430         * stor-layout.c (layout_decl): Revert change to handling of alignment
12431         in packed types.
12432
12433 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12434
12435         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
12436         for FIELD_DECL.
12437
12438 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
12439
12440         * doc/tm.texi (FUNCTION_ARG): Document that the last call
12441         is special.
12442
12443 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
12444
12445         * tlink.c (recompile_files): Remove COMPILER_PATH and
12446         LIBRARY_PATH from the environment.
12447
12448 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
12449
12450         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
12451         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
12452         enumerators.
12453         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
12454
12455         * c-parse.in (OBJC_STRING): Kill.
12456         (objc_string): Decompose to [objc_string] '@' STRING.
12457         (reswords): Take the leading '@' off all the Objective C keywords.
12458         (objc_rid_sans_at): Kill.
12459         (init_reswords): Don't initialize it.
12460         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
12461         (_yylex): Kill reconsider label.  Look ahead one token after
12462         an '@'; if we get an identifier, check whether it's an
12463         Objective C @-keyword.  If so, return the keyword.  Otherwise,
12464         put back the token and return the '@' as a terminal.
12465
12466         * cpplib.c (lex_macro_node): Remove unnecessary check for
12467         leading '@' on identifier.  Clarify control flow and commentary.
12468
12469 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12470
12471         * cse.c (new_label_ref): Variable deleted.
12472         (insert): Remove set of new_label_ref.
12473         (check_for_label_ref): New function.
12474         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
12475
12476 See ChangeLog.5 for earlier changes.