OSDN Git Service

* config/convex/convex.c: Fix comment formatting.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-11-09  Kazu Hirata  <kazu@hxi.com>
2
3         * config/convex/convex.c: Fix comment formatting.
4         * config/convex/convex.h: Likewise.
5
6 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
7
8         * Makefile.in (.po.pox): Look both in srcdir and builddir
9         for $(PACKAGE).pot.
10         (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
11         to the source directory.
12
13 2001-11-09 Ben Elliston  <bje@redhat.com>
14            Michael Meissner  <meissner@redhat.com>
15            Andrew MacLeod  <amacleod@redhat.com>
16            Richard Henderson  <rth@redhat.com>
17            Nick Clifton  <nickc@redhat.com>
18            Catherine Moore  <clm@redhat.com>
19
20         * m32r.c: Add support for m32rx processor.
21         * m32r.h: Ditto.
22         * m32r.md: Ditto.
23         * t-m32r: Ditto.
24         * m32r-protos.h: Add prototypes for m32rx functions.
25         * doc/invoke.texi: Document -m32rx option.
26
27 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
28
29         * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
30         or after reload.
31
32 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
33
34         * doc/install.texi2html: Use $MAKEINFO --no-split.
35
36 2001-11-09  Andreas Schwab  <schwab@suse.de>
37
38         * Makefile.in ($(HOST_PREFIX_1)rtl.o,
39         $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
40         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o, 
41         $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
42         $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
43
44 2001-11-09  H.J. Lu <hjl@gnu.org>
45
46         * config/mips/mips.c (mips_output_function_prologues): Cast
47         `tsize' to long for output.
48
49 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
50
51         * c-lang.c (LANG_HOOKS_NAME): New.
52         (lang_hooks): Constify.
53         (c_init_options): Update.
54         (lang_identify): Remove.
55         * c-parse.in (language_string): Remove.
56         * dbxout.c: Include langhooks.h.
57         (dbxout_symbol_location): Update.
58         * dwarf2out.c: Include langhooks.h.
59         (gen_compile_unit_die): Update.
60         * dwarfout.c: Include langhooks.h.
61         (prototyped_attribute, output_compile_unit_die): Update.
62         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
63         (LANG_HOOKS_INITIALIZER): Update.
64         * langhooks.h (struct lang_hooks): New members.  Constify.
65         * stringpool.c: Don't include toplev.h.
66         (set_identifier_size): Remove.
67         * toplev.c (toplev_main): Initialize identifier size.
68         (print_version): Update.
69         * tree.h (language_string, init_lex, lang_identify,
70         set_identifier_size): Remove.
71         * Makefile.in: Update dependencies.
72         * config/darwin.c: Include langhooks.h.
73         (func_name_maybe_scoped): Update.
74         * config/darwin.h (ASM_END_FILE): Update.
75         * config/nextstep.h (ASM_END_FILE): Update.
76         * config/nextstep21.h (ASM_END_FILE): Update.
77         * config/i386/sun386.h (ASM_END_FILE): Update.
78         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
79         (rs6000_output_function_epilogue): Update.
80 objc:
81         * objc-act.c (LANG_HOOKS_NAME): Override.
82         (struct lang_hooks): Constify.
83         (objc_init_options): Update.
84         (lang_identify): Remove.
85
86 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
87
88         * fold-const.c (lshift_double): Honor PREC.
89         (rshift_double): Likewise.
90
91 2001-11-08  Kazu Hirata  <kazu@hxi.com>
92
93         * config/1750a/1750a.c: Fix comment formatting.
94         * config/1750a/1750a.h: Likewise.
95
96 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
97
98         * configure.in (--enable-languages): Be more permissive about
99         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
100         * configure: Regenerated.
101
102 2001-11-08  Richard Henderson  <rth@redhat.com>
103
104         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
105
106 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
107
108         * config.gcc: Rename stormy16 to xstormy16.
109         * config/stormy16/stormy-abi: Likewise.
110         * config/stormy16/stormy16-protos.h: Likewise.
111         * config/stormy16/stormy16.c: Likewise.
112         * config/stormy16/stormy16.h: Likewise.
113         * config/stormy16/stormy16.md: Likewise.
114
115 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
116
117         * tree.h (TYPE_VOLATILE): Add enable-checking code.
118         (TYPE_READONLY): Likewise.
119
120 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
121
122         * reload1.c (reload): Don't delete equiv insn if can throw.
123
124         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
125         (clear_storage): Likewise, for OBJECT.
126
127 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
128
129         * pa.c (emit_move_sequence): Fix SUBREG expression to
130         use proper byte offset when extending a constant from
131         SImode to DImode.
132
133 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
134
135         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
136         which cannot throw.
137
138 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
139
140         * explow.c (convert_memory_address, case SUBREG): Only return
141         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
142
143 2001-11-08  Richard Henderson  <rth@redhat.com>
144
145         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
146         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
147         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
148
149 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
150
151         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
152
153 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
154
155         * dwarf2out.c (debug_str_hash): New.
156         (struct indirect_string_node): New.
157         (struct dw_val_struct): Change type of val_str to it.
158         (DEBUG_STR_SECTION_FLAGS): Define.
159         (add_AT_string): Push string into hashtable, increment reference
160         counter.
161         (AT_string): Return string from ht_identifier.
162         (AT_string_form): New.
163         (free_AT): For dw_val_class_str, just decrement reference counter.
164         (size_of_string): Remove.
165         (size_of_die): Use AT_string_form to decide what size the string
166         occupies in DIE.
167         (size_of_pubnames): Use strlen instead of size_of_string.
168         (value_format): Use AT_string_form for dw_val_class_str.
169         (output_die): Output DW_FORM_strp strings using
170         dw2_asm_output_offset.
171         (indirect_string_alloc, output_indirect_string): New.
172         (dwarf2out_finish): Emit .debug_str strings if there are any.
173
174 2001-11-08  Andreas Franck  <afranck@gmx.de>
175
176         * configure.in: Add AC_ARG_PROGRAM to support program name
177         transformation with --program-prefix, --program-suffix and
178         --program-transform-name.
179         * configure: Regenerated.
180         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
181         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
182         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
183         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
184         program_transform_name the way suggested by autoconf.
185         (GCC_TARGET_INSTALL_NAME): Define.
186         (install-driver): Use the transformed target alias name.
187
188 2001-11-08  Richard Henderson  <rth@redhat.com>
189
190         * config/mips/mips.c (save_restore_insns): Remove GP from the
191         restore registers mask early instead of special casing it inside
192         the loop.
193
194 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
195
196         * cp/decl.c (shadow_warning): New function.
197         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
198         and an error when a block scope decl shadows a parameter.
199
200 2001-11-08  Richard Henderson  <rth@redhat.com>
201
202         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
203         case as well.
204
205 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
206
207         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
208         to implement floating negation on processors prior to PA 2.0.
209
210 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
211
212         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
213         (USE_LINKONCE_INDIRECT): Define.
214         (dw2_output_indirect_constant_1): Try to output indirect constants
215         into linkonce sections if possible.
216         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
217         (dw2_output_indirect_constants): Likewise.
218
219 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
220
221         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
222
223 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
224
225         * c-decl.c (pushdecl): Remove file and line.
226         * c-typeck.c (pop_init_level): Remove size.
227
228 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
229
230         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
231         for rs6000.
232
233         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
234         (TARGET_ALTIVEC): New.
235         (TARGET_SWITCHES): Add altivec.
236         (FIRST_PSEUDO_REGISTER): Change to 109.
237         (CALL_USED_REGISTERS): Same.
238         (FIRST_ALTIVEC_REGNO): New.
239         (LAST_ALTIVEC_REGNO): New.
240         (ALTIVEC_REGNO_P): New.
241         (UNITS_PER_ALTIVEC_WORD): New.
242         (ALTIVEC_VECTOR_MODE): New.
243         (FIXED_REGISTERS): Add altivec registers.
244         (REG_ALLOC_ORDER): Same.
245         (HARD_REGNO_NREGS): Adjust for altivec registers.
246         (HARD_REGNO_MODE_OK): Same.
247         (MODES_TIEABLE_P): Same.
248         (REGISTER_MOVE_COST): Same.
249         (REGNO_REG_CLASS): Same.
250         (reg_class): Add ALTIVEC_REGS.
251         (REG_CLASS_NAMES): Same.
252         (REG_CLASS_CONTENTS): Same.
253         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
254         (ALTIVEC_ARG_RETURN): New.
255         (FUNCTION_VALUE): Handle VECTOR_TYPE.
256         (LIBCALL_VALUE): Handle altivec vector modes.
257         (VECTOR_MODE_SUPPORTED_P): New.
258         (ALTIVEC_ARG_MIN_REG): New.
259         (ALTIVEC_ARG_MAX_REG): New.
260         (ALTIVEC_ARG_NUM_REG): New.
261         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
262         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
263         (REGISTER_NAMES): Add altivec regs.
264         (DEBUG_REGISTER_NAMES): Same.
265         (ADDITIONAL_REGISTER_NAMES): Same.
266         (rs6000_builtins): New.
267         (MD_EXPAND_BUILTIN): New.
268         (MD_INIT_BUILTINS): New.
269         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
270         for AltiVec instructions.
271         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
272         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
273         registers.
274         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
275         (TARGET_SWITCHES): Add no-altivec.
276         (DATA_ALIGNMENT): Align vectors to 128 bits.
277         (TARGET_OPTIONS): Add abi= option.
278         Add rs6000_abi_string extern.
279         (LOCAL_ALIGNMENT): New.
280         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
281         (MASK_ALTIVEC_ABI): New.
282         (TARGET_ALTIVEC_ABI): New.
283         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
284         call-saved.
285         (STACK_BOUNDARY): Adjust for altivec.
286         (BIGGEST_ALIGNMENT): Same.
287         (rs6000_args): Add vregno.
288         (USE_ALTIVEC_FOR_ARG_P): New.
289         (FIXED_REGISTERS): Add vrsave register.
290         (CALL_USED_REGISTERS): Same.
291         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
292         (VRSAVE_REGNO): New.
293         (reg_class): Add VRSAVE_REGS.
294         (REG_CLASS_NAMES): Same.
295         (REG_CLASS_CONTENTS): Same.
296         (REGNO_REG_CLASS): Same.
297         
298         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
299         (ABI_STACK_BOUNDARY): Same.
300         (BIGGEST_ALIGNMENT): Same.
301         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
302         (ROUND_TYPE_ALIGN): Same.
303         
304         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
305         to 64.
306
307         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
308         to 64.
309
310         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
311         to 64.
312
313         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
314         (altivec_expand_builtin): New.
315         (altivec_init_builtins): New.
316         (TARGET_EXPAND_BUILTIN): New.
317         (TARGET_INIT_BUILTINS): New.
318         (rs6000_init_builtins): New.
319         (struct builtin_description): New.
320         (bdesc_2arg): New.
321         (rs6000_reg_names): Add altivec registers.
322         (alt_reg_names): Same.
323         (secondary_reload_class): Altivec regs can hold altivec regs and
324         memory.
325         (rs6000_emit_move): Force constants into memory for AltiVec moves.
326         (print_operand): Add 'y' case for printing altivec memory
327         operands.
328         (rs6000_legitimize_address): Legitimize vector addresses into
329         [REG+REG] or [REG].
330         (altivec_expand_binop_builtin): New.
331         New string rs6000_current_abi.
332         (rs6000_override_options): Call rs6000_parse_abi_options.
333         (rs6000_parse_abi_options): New.
334         (function_arg_boundary): Vector arguments must be 16
335         byte aligned.
336         (function_arg_advance): Handle vector arguments.
337         (function_arg_partial_nregs): Same.
338         (init_cumulative_args): Same.
339         (function_arg): Same.
340
341         * config/rs6000/rs6000.md (altivec_lvx): New.
342         (type): Add altivec attribute.
343         (movv4si): New.
344         (*movv4si_internal): New.
345         (movv16qi): New.
346         (*movv16qi_internal): New.
347         (movv8hi): New.
348         (*movv8hi_internal1): New.
349         (movv4sf): New.
350         (*movv4sf_internal1): New.
351         (altivec_stvx): New.
352         (vaddubm): New.
353         (vadduhm): New.
354         (vadduwm): New.
355         (vaddfp): New.
356         (vaddcuw): New.
357         (vaddubs): New.
358         (vaddsbs): New.
359         (vadduhs): New.
360         (vaddshs): New.
361         (vadduws): New.
362         (vaddsws): New.
363         (vand): New.
364         (vandc): New.
365         (vavgub): New.
366         (vavgsb): New.
367         (vavguh): New.
368         (vavgsh): New.
369         (vavguw): New.
370         (vavgsw): New.
371         (vcmpbfp): New.
372         (vcmpequb): New.
373         (vcmpequh): New.
374         (vcmpequw): New.
375         (vcmpeqfp): New.
376         (vcmpgefp): New.
377         (vcmpgtub): New.
378         (vcmpgtsb): New.
379         (vcmpgtuh): New.
380         (vcmpgtsh): New.
381         (vcmpgtuw): New.
382         (vcmpgtsw): New.
383         (vcmpgtfp): New.
384         (vcmpgefp): New.
385         (vcmpgtub): New.
386         (vcmpgtsb): New.
387         (vcmpgtuh): New.
388         (vcmpgtsh): New.
389         (vcmpgtuw): New.
390         (vcmpgtsw): New.
391         (vcmpgtfp): New.
392         (vmaxub): New.
393         (vmaxsb): New.
394         (vmaxuh): New.
395         (vmaxsh): New.
396         (vmaxuw): New.
397         (vmaxsw): New.
398         (vmaxfp): New.
399         (vmrghb): New.
400         (vmrghh): New.
401         (vmrghw): New.
402         (vmrglb): New.
403         (vmrglh): New.
404         (vmrglw): New.
405         (vminub): New.
406         (vminsb): New.
407         (vminuh): New.
408         (vminsh): New.
409         (vminuw): New.
410         (vminsw): New.
411         (vminfp): New.
412         (vmuleub): New.
413         (vmulesb): New.
414         (vmuleuh): New.
415         (vmulesh): New.
416         (vmuloub): New.
417         (vmulosb): New.
418         (vmulouh): New.
419         (vmulosh): New.
420         (vnor): New.
421         (vor): New.
422         (vpkuhum): New.
423         (vpkuwum): New.
424         (vpkpx): New.
425         (vpkuhss): New.
426         (vpkshss): New.
427         (vpkuwss): New.
428         (vpkswss): New.
429         (vpkuhus): New.
430         (vpkshus): New.
431         (vpkuwus): New.
432         (vpkswus): New.
433         (vrlb): New.
434         (vrlh): New.
435         (vrlw): New.
436         (vslb): New.
437         (vslh): New.
438         (vslw): New.
439         (vsl): New.
440         (vslo): New.
441         (vsrb): New.
442         (vrsh): New.
443         (vrsw): New.
444         (vsrab): New.
445         (vsrah): New.
446         (vsraw): New.
447         (vsr): New.
448         (vsro): New.
449         (vsububm): New.
450         (vsubuhm): New.
451         (vsubuwm): New.
452         (vsubfp): New.
453         (vsubcuw): New.
454         (vsububs): New.
455         (vsubsbs): New.
456         (vsubuhs): New.
457         (vsubshs): New.
458         (vsubuws): New.
459         (vsubsws): New.
460         (vsum4ubs): New.
461         (vsum4sbs): New.
462         (vsum4shs): New.
463         (vsum2sws): New.
464         (vsumsws): New.
465         (vxor): New.
466
467 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
468
469         * Makefile.in (df.o): Add fibheap.h to dependencies.
470        
471         * df.h: Add prototypes for transfer functions, iterative_dataflow
472         functions.
473         (enum df_flow_dir): New enum.
474         (enum df_confluence_op): New enum.
475         (struct df): Add inverse_rts_map.
476
477         * df.c: Add sbitmap.h to the list of includes.
478         (df_rd_global_compute): Removed.
479         (df_ru_global_compute): Removed.
480         (df_lr_global_compute): Removed.
481         (df_rd_transfer_function): New function.
482         (df_ru_transfer_function): New function.
483         (df_lr_transfer_function): New function.
484         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
485         Use iterative_dataflow_bitmap instead of df_*_global_compute.
486         (iterative_dataflow_sbitmap): New function.
487         (iterative_dataflow_bitmap): New function.
488
489 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
490
491         * doc/gcc.texi: Move terminology and spelling conventions to
492         htdocs/codingconventions.html.
493
494 2001-11-07  Graham Stott  <grahams@redhat.com>
495
496         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
497
498 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
499
500         * expmed.c (expand_mult): Force operand to register before computing
501         cost.
502         * i386.c (x86_decompose_lea): New global vairable.
503         * i386.h (x86_decompose_lea): Declare.
504         (TARGET_DECOMPOSE_LEA): New macro.
505         (RTX_COST): Handle leas properly.
506
507 2001-11-06  Richard Henderson  <rth@redhat.com>
508
509         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
510         defined for a CONSTRUCTOR; don't check it.
511
512 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
513
514         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
515         test for absolute pathnames.
516
517 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
518
519         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
520         instructions up to the target pc inclusive.
521
522 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
523
524         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
525
526 2001-11-06  Eric Christopher  <echristo@redhat.com>
527
528         * config/mips/mips.md(movdf_internal2): Add constraints for float
529         to general register move.
530         * config/mips/elf64.h: Add default ABI.
531
532 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
533
534         * alias.c:: Include langhooks.h.
535         * emit-rtl.c: Similarly.
536         * toplev.c: Similarly.
537         * tree-inline.c: Similarly.
538         * langhooks-def.h: New, the old langhooks.h.  Give the default
539         hooks a common prefix.
540         * langhooks.h: Contents extracted from toplev.h.
541         * toplev.h: Move langhook stuff to langhooks.h.
542         * langhooks.c: Give default hooks a common prefix.
543
544         * c-lang.c: Include langhooks-def.h.
545         * objc/objc-act.c: Similarly.
546         * Makefile.in: Update.
547         * objc/Make-lang.in: Update.
548
549 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
550
551         * doc/install.texi: Document that configure options not listed in
552         this file are unsupported.  Document --with-system-zlib.
553
554 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
555
556         * rtl.h (mem_for_const_double): New declaration.
557         * varasm.c (mem_for_const_double): New function.
558         * config/convex/convex.md (movdf): Use it.
559         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
560         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
561         * config/m68k/m68kv4.h: Likewise.
562
563         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
564         of new GP reg classes.
565
566         * expr.c (store_field): When making temp object for unaligned
567         component, set it to alias set 0.
568
569 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
570
571         * c-common.c (c_expand_expr_stmt): Apply default conversions to
572         non-lvalue arrays if C99.
573         * c-typeck.c (default_conversion): Split out code handling
574         array-to-pointer and function-to-pointer conversions into a
575         separate default_function_array_conversion function.
576         (default_function_array_conversion): New function.  Keep track of
577         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
578         arrays unchanged outside C99 mode instead of giving an error for
579         them.
580         (build_component_ref): Use pedantic_non_lvalue when handling
581         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
582         (convert_arguments): Use default_function_array_conversion.
583         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
584         non-lvalues are OK.
585         (unary_complex_lvalue): Likewise.
586         (internal_build_compound_expr): Use
587         default_function_array_conversion.  Apply default conversions to
588         function in compound expression.
589         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
590         Use default_function_array_conversion.
591         * doc/extend.texi: Update documentation of subscripting non-lvalue
592         arrays.
593         Fixes PR c/461.
594
595 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
596
597         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
598         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
599         corresponding to the complete set of .po and .gmo files in
600         the source directory's po subdir, modified by LINGUAS.  Don't
601         look at ALL_LINGUAS.
602         * configure.in: Don't set ALL_LINGUAS.
603         * configure: Regenerate.
604
605         * Makefile.in (.po.gmo): Don't move into source directory.
606         (.po.pox): Clarify comments.
607         (install-po): Look for .gmo files in both srcdir and objdir;
608         don't fail if a file is totally missing.
609         (distclean): rmdir ada subdirectory too.
610
611 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
612
613         * config/rs6000/rs6000.c (rs6000_select_section): Handle
614         CONSTRUCTORs _correctly_.
615
616 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
617
618         * c-decl.c (delete_block): Remove.
619         * c-tree.h (delete_block): Remove.
620
621 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
622
623         * cppexp.c (lex, parse_defined): Update warning about defined.
624
625 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
626
627         * config/rs6000/rs6000.c (rs6000_select_section): Handle
628         CONSTRUCTORs too.
629
630 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
631
632         * config/arm/arm.c (arm_return_in_memory): Cope with
633         int_size_in_bytes returning -1.
634
635         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
636         DECL being NULL.
637
638 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
639
640         * Makefile.in (bb-reoder.o): Add depdendency on cfglayout.h;
641         remove unneded depdendencies;
642         (cfglayout.o): New.
643         * cfglayout.c, cfglayout.h: New files; break out from ...
644         * bb-reorder.c: ... here; Remove unneeded includes;
645
646 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
647
648         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
649
650 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
651
652         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
653         mode as well.  Do not explicitly create intermediate regs.
654
655 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
656
657         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
658         (common_section): Delete unused variable.
659         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
660         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
661         * arm-protos.h (arm_poke_function_name, aof_add_import,
662         aof_delete_import): Const-ify.
663         * arm.c (legitimize_pic_address): Wrap variables in the macro
664         controlling their usage.
665         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
666         (arm_poke_function_name, pic_chain, import, aof_add_import,
667         aof_delete_import): Const-ify.
668         * i386.c (ix86_osf_output_function_prologue): Const-ify.
669         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
670         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
671         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
672         * i860/sysv3.h: Add missing comment closure.
673         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
674         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
675         to symbolic_operand.
676
677         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
678         (i960-*-*): Set tmake_file.
679         (sparc86x-*-elf*): Fix typo in header name.
680
681         * sched-rgn.c (schedule_insns): Delete unused variable.
682
683 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
684
685         PR c/2820
686         * c-typeck.c (lookup_field): Rework to return a chain down to
687         the looked-up field.
688         (build_component_ref): Use the new lookup_field to handle
689         nested anonymous entities correctly.
690
691 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
692
693         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
694         Change parameters to gen_rtx_CONST_DOUBLE.
695         (GEN_INT64, sparc_emit_set_const64): Likewise.
696         * config/sparc/sparc.md (movdf split): Likewise.
697
698 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
699
700         * unroll.c (calculate_giv_inc): Use find_last_value rather
701         than just hoping the last instruction is the right SET.
702         [Fixes 990604-1.c on stormy16.]
703
704         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
705         library at all if -T is used.
706
707         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
708         some uses of uninitialized variables in error cases.
709
710         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
711         look at 'temp' if we won't be using it.
712
713         * config/stormy16/stormy16.h (CONST_COSTS): Define.
714         (RTX_COSTS): Define.
715         (ADDRESS_COST): Define.
716         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
717
718         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
719
720         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
721         stormy16_asm_output_mi_thunk.
722         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
723         function.
724         * config/stormy16/stormy16-protos.h
725         (stormy16_asm_output_mi_thunk): New prototype.
726
727 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
728
729         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
730         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
731         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
732         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
733         sched-int.h, toplev.c, config/alpha/alpha.c,
734         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
735         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
736         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
737         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
738         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
739         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
740         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
741
742 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
743
744         * Makefile.in (dbxout.o): Depend on function.h.
745         * collect2.c (is_in_list): Hide unused function.
746         * dbxout.c: Include function.h.
747         (source_label_number, dbxout_source_line, dbxout_source_file,
748         dbxout_function_end, dbxout_begin_function): Wrap/move inside
749         macros controlling usage.
750         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
751         * output.h (exports_section): Prototype.
752
753         * convex.c (convex_output_function_prologue): Fix format specifier
754         warning.
755         (asm_declare_function_name): Fix signed/unsigned warning.
756         (print_operand): Fix format specifier warning.
757         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
758         * dsp16xx-protos.h (uns_comparison_operator,
759         num_1600_core_shifts): Prototype.
760         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
761         (frame_size, frame_pointer_offset): Delete.
762         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
763         Make static.  Fix format specifier warnings.
764         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
765         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
766         * dsp16xx.md: Add default case in switches.
767         * fr30.h (IN_RANGE): Delete.
768         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
769         * mcore-protos.h (mcore_output_cmov): Const-ify.
770         * mcore.c (mcore_output_cmov): Likewise.
771         * mcore.h (switch_to_section): Make static and prototype.
772         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
773         unsigned>=0 warnings.
774         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
775         * rs6000-protos.h (read_only_data_section,
776         read_only_private_data_section): Prototype.
777         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
778         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
779         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
780
781 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
782
783         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
784         ATTRIBUTE_UNUSED.
785         * final.c (final_scan_insn): Add brackets around body of if-stmt.
786         * gcc.c (convert_filename): Add static prototype.  Const-ify.
787         Wrap variable in macros controlling its use.
788         * output.h (sdata_section): Add prototype.
789
790         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
791         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
792         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
793         (ASM_FILE_START): Const-ify.
794         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
795         specifier warning.
796         * c4x.md: Don't use the 'U' integer suffix.
797         * clipper.md (clipper_movstr): Delete declaration.
798         * d30v-protos.h (d30v_move_2words): Const-ify.
799         (debug_stack_info): Add prototype.
800         * d30v.c: Include "integrate.h".
801         (d30v_function_arg_boundary, d30v_function_arg,
802         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
803         signed/unsigned warnings.
804         (d30v_print_operand_memory_reference, d30v_move_2words):
805         Const-ify.
806         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
807         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
808         * fr30.md: Const-ify.
809         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
810         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
811         (mvs_get_label_page): Hide unused static function.
812         * i860.c (current_function_original_name): Const-ify.
813         * i860/sysv3.h (current_function_original_name): Likewise.
814         * i860/sysv4.h (current_function_original_name): Likewise.
815         * i960.md: Add default case in switches.  Remove unused variable.
816         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
817         * m32r.md: Const-ify.
818         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
819         * m68hc11.c: Include "reload.h".
820         (static_chain_reg, print_options, m68hc11_asm_file_start):
821         Const-ify.
822         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
823         around & in comparison.
824         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
825         * mn10200.c (shift_mode): Remove trailing comma.
826         * mn10300-protos.h (output_tst): Const-ify.
827         * mn10300.c (output_tst): Likewise.
828         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
829         warnings.
830         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
831         * pa.c (output_ascii): Likewise.
832         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
833         * pdp11.md (expand_unop): Delete declarations.
834         * pj-protos.h (pj_output_addsi3): Const-ify.
835         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
836         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
837         unique_src_operand): Add prototypes.
838         (pj_output_store_into_lval): Make definition static.
839         (pj_function_incoming_arg): Don't use unary plus.
840         (pj_output_addsi3): Const-ify.
841         * romp.md (get_symref): Delete declarations.
842         * v850-c.c (mark_current_function_as_interrupt): Don't return
843         value from void function.
844         * v850.c: Include "integrate.h".
845         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
846         * vax-protos.h (const_section): Add prototype.
847
848 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
849
850         * machmode.def: Add documentation for the seventh argument in
851         vector modes.
852
853 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
854
855         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
856         consistently.
857         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
858         <-melf>: Don't have markup for ELF acronym.
859
860 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
861
862         * config.gcc (mmix-*-*): New target.
863         * doc/invoke.texi: Document MMIX options.
864         * doc/contrib.texi: Add note about MMIX port to my entry.
865         * config/mmix/t-mmix: New file.
866         * config/mmix/mmix.h: New file.
867         * config/mmix/mmix-protos.h: New file.
868         * config/mmix/mmix.c: New file.
869         * config/mmix/mmix.md: New file.
870         * config/mmix/crti.asm: New file.
871         * config/mmix/crtn.asm: New file.
872
873 2001-11-03  Kazu Hirata  <kazu@hxi.com>
874
875         * config/sparc/linux-aout.h: Fix comment formatting.
876         * config/sparc/linux.h: Likewise.
877         * config/sparc/linux64.h: Likewise.
878         * config/sparc/lynx.h: Likewise.
879         * config/sparc/pbd.h: Likewise.
880         * config/sparc/sol2-sld-64.h: Likewise.
881         * config/sparc/sol2.h: Likewise.
882         * config/sparc/sparc.c: Likewise.
883         * config/sparc/sparc.h: Likewise.
884         * config/sparc/sparc.md: Likewise.
885         * config/sparc/sunos4.h: Likewise.
886         * config/sparc/vxsim.h: Likewise.
887         * config/sparc/vxsparc.h: Likewise.
888         * config/sparc/vxsparc64.h: Likewise.
889
890 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
891
892         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
893         reference to CONST_DOUBLE_MEM in comment.
894         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
895         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
896         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
897         * function.c (pop_function_context_from): Don't call
898         restore_varasm_status.
899         * function.h (restore_varasm_status): Delete declaration.
900         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
901         * rtl.c: Likewise.
902         * rtl.def (CONST_DOUBLE): Update comment.
903         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
904         (CONST_DOUBLE_CHAIN): Likewise.
905         (CONST_DOUBLE_MEM): Delete.
906         (gen_rtx_CONST_DOUBLE): Update parameters.
907         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
908         Remove reference to CONST_DOUBLE_MEM.
909         (const_alias_set): New variable.
910         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
911         (immed_real_const_1): Adjust tests for 0, 1, and 2.
912         Don't set CONST_DOUBLE_MEM.
913         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
914         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
915         Put constant in const_alias_set.
916         (struct pool_constant): ALIGN now unsigned.
917         OFFSET now HOST_WIDE_INT.
918         Delete LABEL.
919         (restore_varasm_status): Deleted.
920         (mark_pool_constant): Mark desc->rtl.
921         (force_const_mem): Rework to store rtl in hash table,
922         not CONST_DOUBLE_MEM.
923         Put constant in const_alias_set.
924         (find_pool_constant): Check desc->rtl.
925         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
926         (init_varasm_once): Initialize const_alias_set.
927
928         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
929         force_const_mem.
930
931         * reload.c (combine_reloads): Don't combine an output reload if there
932         are other reloads around for part of the output.
933
934         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
935         constant expression.
936         (set_mem_decl): New function.
937         * expr.h (set_mem_decl): New declaration.
938         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
939         (output_asm_operand_names): Add tab.
940         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
941
942         * builtins.c (get_memory_rtx): Properly set MEM alias set and
943         attributes.
944
945 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
946
947         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
948         Use "invalid" instead of "illegal".  Use @r in comments in
949         examples.
950
951 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
952
953         * c-decl.c (pushdecl): Move block inside if conditional to remove
954         possibility of a segfault.  Lookup block-level extern
955         variables in enclosing scopes correctly.
956
957         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
958
959 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
960
961         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
962         SUBREG so we avoid SUBREGing memory.
963
964         * expmed.c (store_bit_field): Same.
965
966 2001-11-02  DJ Delorie  <dj@redhat.com>
967
968         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
969         using FP registers for DImode mem-mem moves is acceptable.
970
971 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
972
973         * builtins.c (apply_args_size): Handle vector arguments.
974         (apply_result_size): Same.
975
976         * machmode.def: Set WIDER mode field for all vector entries.
977
978 2001-11-02  Graham Stott  <grahams@redhat.com>
979
980         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
981
982 2001-11-01  Eric Christopher  <echristo@redhat.com>
983
984         * config.gcc: Revert part of earlier patch.
985         * config/mips/linux.h: Ditto.
986         * df.c: Include tm_p.h to avoid warnings.
987         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
988         #if/#endif.
989         * config/mips/mips.c: Define mips_abi regardless.
990         (mips_output_function_prologues): Add long casts for .frame
991         output.
992         (override_options): Allow use of ABI_32.
993
994 2001-11-01  Kazu Hirata  <kazu@hxi.com>
995
996         * config/m68hc11/m68hc11.c: Fix comment formatting.
997         * config/m68hc11/m68hc11.h: Likewise.
998         * config/m68hc11/m68hc11.md: Likewise.
999
1000 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
1001
1002         * c-typeck.c (default_conversion): Retain the original expression
1003         codes.
1004         * gcc.dg/Wparentheses.c: New tests.
1005
1006 2001-11-01  David S. Miller  <davem@redhat.com>
1007
1008         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
1009         64-bit Sparc description more in line with reality.
1010
1011 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
1012
1013         * Makefile.in (GCOV_OBJS): Add version.o.
1014         * gcov.c: Include "version.h" and <getopt.h>.
1015         (gcov_version_string): Remove.
1016         (print_usage): Take a parameter to determine whether this is a
1017         call from --help or an error message.  Give fuller output that
1018         follows the GNU Coding Standards for --help.
1019         (print_version): New function.
1020         (options): New.
1021         (process_args): Use getopt_long.  Support long options.  Follow
1022         GNU Coding Standards for --help and --version.
1023         * doc/gcov.texi: Document long options.
1024         Addresses part of PR other/704.
1025
1026 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1027
1028         * pa.c (output_move_double): Fix typo in double load.
1029
1030 2001-11-01  Kazu Hirata  <kazu@hxi.com>
1031
1032         * config/h8300/h8300.c (h8300_encode_label): Compute a string
1033         before passing it to ggc_alloc_string.
1034
1035 2001-11-01  Kazu Hirata  <kazu@hxi.com>
1036
1037         * config/m68k/3b1.h: Fix comment formatting.
1038         * config/m68k/3b1g.h: Likewise.
1039         * config/m68k/a-ux.h: Likewise.
1040         * config/m68k/amix.h: Likewise.
1041         * config/m68k/apollo68.h: Likewise.
1042         * config/m68k/atari.h: Likewise.
1043         * config/m68k/aux-exit.c: Likewise.
1044         * config/m68k/ccur-GAS.h: Likewise.
1045         * config/m68k/crds.h: Likewise.
1046         * config/m68k/dpx2.h: Likewise.
1047         * config/m68k/dpx2g.h: Likewise.
1048         * config/m68k/hp310.h: Likewise.
1049         * config/m68k/hp320.h: Likewise.
1050         * config/m68k/isi.h: Likewise.
1051         * config/m68k/linux.h: Likewise.
1052         * config/m68k/lynx.h: Likewise.
1053         * config/m68k/m68k-psos.h: Likewise.
1054         * config/m68k/m68k.c: Likewise.
1055         * config/m68k/m68k.h: Likewise.
1056         * config/m68k/m68k.md: Likewise.
1057         * config/m68k/m68kelf.h: Likewise.
1058         * config/m68k/m68kv4.h: Likewise.
1059         * config/m68k/mot3300.h: Likewise.
1060         * config/m68k/news.h: Likewise.
1061         * config/m68k/next.h: Likewise.
1062         * config/m68k/pbb.h: Likewise.
1063         * config/m68k/plexus.h: Likewise.
1064         * config/m68k/sgs.h: Likewise.
1065         * config/m68k/sun3.h: Likewise.
1066         * config/m68k/tower.h: Likewise.
1067         * config/m68k/vxm68k.h: Likewise.
1068
1069 2001-10-31  DJ Delorie  <dj@redhat.com>
1070
1071         * config/mips/mips.h (mips_cache_flush_func): Prototype.
1072         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
1073         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
1074         * config/mips/mips.c (mips_cache_flush_func): New.
1075         * doc/invoke.texi: Document the new options.
1076
1077 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
1078
1079         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
1080         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
1081
1082         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
1083
1084         * config/cris/cris.c: Include output.h after tree.h but before
1085         target.h.
1086
1087 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
1088
1089         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
1090         (INTL_SUBDIRS): Just intl.
1091         (.SUFFIXES): Add .gmo .po .pox.
1092         (native): Also depend on build-@POSUB@.
1093         (intl.all, intl.install): Depend on config.h and things it includes.
1094         (po-generated): New target; depend on c-parse.c and tradcif.c.
1095         (install-normal): Also depend on install-@POSUB@.
1096         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
1097         (build-, install-, build-po, update-po, install-po,
1098         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
1099
1100         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
1101         * configure.in: Don't munge XGETTEXT.  Don't generate
1102         po/Makefile.in.
1103         * configure: Regenerate.
1104
1105         * exgettext: Delete.
1106         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
1107         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
1108
1109 2001-10-31  Kazu Hirata  <kazu@hxi.com>
1110
1111         * config/h8300/h8300.md (two anonymous patterns): New.
1112
1113 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
1114
1115         * tree.h (tree_index): Add support for V16QI and V8HI.
1116         (V8HI_type_node): New.
1117         (V16QI_type_node): New.
1118
1119         * tree.c (build_common_tree_nodes_2): Same.
1120
1121         * c-common.c (type_for_mode): Same.
1122
1123 2001-10-31  Kazu Hirata  <kazu@hxi.com>
1124
1125         * config/i386/att.h: Fix comment formatting.
1126         * config/i386/beos-elf.h: Likewise.
1127         * config/i386/bsd.h: Likewise.
1128         * config/i386/bsd386.h: Likewise.
1129         * config/i386/crtdll.h: Likewise.
1130         * config/i386/cygwin.asm: Likewise.
1131         * config/i386/cygwin.h: Likewise.
1132         * config/i386/djgpp.h: Likewise.
1133         * config/i386/freebsd-aout.h: Likewise.
1134         * config/i386/freebsd.h: Likewise.
1135         * config/i386/gas.h: Likewise.
1136         * config/i386/i386-interix.h: Likewise.
1137         * config/i386/i386-protos.h: Likewise.
1138         * config/i386/i386.c: Likewise.
1139         * config/i386/i386.h: Likewise.
1140         * config/i386/i386.md: Likewise.
1141         * config/i386/i386elf.h: Likewise.
1142         * config/i386/interix.c: Likewise.
1143         * config/i386/isc.h: Likewise.
1144         * config/i386/isccoff.h: Likewise.
1145         * config/i386/iscdbx.h: Likewise.
1146         * config/i386/linux.h: Likewise.
1147         * config/i386/lynx.h: Likewise.
1148         * config/i386/mingw32.h: Likewise.
1149         * config/i386/netbsd-elf.h: Likewise.
1150         * config/i386/next.h: Likewise.
1151         * config/i386/osf1elf.h: Likewise.
1152         * config/i386/osfrose.h: Likewise.
1153         * config/i386/sco5.h: Likewise.
1154         * config/i386/seq-gas.h: Likewise.
1155         * config/i386/seq-sysv3.h: Likewise.
1156         * config/i386/sequent.h: Likewise.
1157         * config/i386/sol2.h: Likewise.
1158         * config/i386/sun386.h: Likewise.
1159         * config/i386/uwin.asm: Likewise.
1160         * config/i386/uwin.h: Likewise.
1161         * config/i386/vxi386.h: Likewise.
1162         * config/i386/win32.h: Likewise.
1163         * config/i386/winnt.c: Likewise.
1164         * config/i386/xm-cygwin.h: Likewise.
1165         * config/i386/xm-mingw32.h: Likewise.
1166
1167 2001-10-31  Kazu Hirata  <kazu@hxi.com>
1168
1169         * builtins.def: Fix comment typos.
1170         * config/alpha.c: Likewise.
1171         * config/arm/arm.c: Likewise.
1172         * config/avr/avr.h: Likewise.
1173         * config/d30v/d30v.c: Likewise.
1174         * config/d30v/d30v.h: Likewise.
1175         * config/d30v/d30v.md: Likewise.
1176         * config/dsp16xx/dsp16xx.c: Likewise.
1177         * config/fr30/fr30.c: Likewise.
1178         * config/fr30/fr30.md: Likewise.
1179         * config/i386/i386.c: Likewise.
1180         * config/i860/i860.c: Likewise.
1181         * config/i960/i960.c: Likewise.
1182         * config/ia64/ia64.c: Likewise.
1183         * config/mips/mips.c: Likewise.
1184         * config/pa/pa.c: Likewise.
1185         * config/rs6000/rs6000.c: Likewise.
1186         * config/s390/s390.c: Likewise.
1187         * config/sparc/sparc.c: Likewise.
1188
1189 2001-10-30  Kazu Hirata  <kazu@hxi.com>
1190
1191         * config/mips/elf.h: Fix comment formatting.
1192         * config/mips/elf64.h: Likewise.
1193         * config/mips/iris5.h: Likewise.
1194         * config/mips/iris5gas.h: Likewise.
1195         * config/mips/iris6.h: Likewise.
1196         * config/mips/isa3264.h: Likewise.
1197         * config/mips/linux.h: Likewise.
1198         * config/mips/mips.c: Likewise.
1199         * config/mips/mips.h: Likewise.
1200         * config/mips/mips.md: Likewise.
1201         * config/mips/mips16.S: Likewise.
1202         * config/mips/netbsd.h: Likewise.
1203         * config/mips/osfrose.h: Likewise.
1204         * config/mips/r3900.h: Likewise.
1205         * config/mips/sni-svr4.h: Likewise.
1206         * config/mips/svr4-t.h: Likewise.
1207         * config/mips/ultrix.h: Likewise.
1208
1209 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
1210
1211         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
1212         when we update head->current.
1213
1214 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
1215
1216         * tree.c (id_string_size): Remove.
1217         (dump_tree_statistics): Update.
1218         * toplev.c (compile_file): If dumping stats, dump tree stats too.
1219
1220 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
1221
1222         * sched-rgn.c (schedule_insns): Fix comment.
1223
1224 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
1225
1226         * configure.in: Correct previous change: don't assume that
1227         gas's version number _isn't_ the last thing on the line, or
1228         isn't the only number on the line, either.
1229         * configure: Regenerate.
1230
1231 2001-10-30  Kazu Hirata  <kazu@hxi.com>
1232
1233         * cfgcleanup.c: Fix a comment typo.
1234
1235 2001-10-30  Kazu Hirata  <kazu@hxi.com>
1236
1237         * alias.c: Fix comment formatting.
1238         * recog.c: Likewise.
1239         * config/cris/cris.c: Likewise.
1240         * config/cris/cris.h: Likewise.
1241         * config/i960/i960.c: Likewise.
1242         * config/i960/i960.h: Likewise.
1243
1244 2001-10-30  Kazu Hirata  <kazu@hxi.com>
1245
1246         * config/arm/arm.c: Fix a comment typo.
1247         * config/arm/arm.h: Likewise.
1248         * config/ia64/ia64.c: Likewise.
1249
1250 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
1251
1252         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
1253         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
1254         * rtl.h (set_unique_reg_note): Change return value.
1255         * gcse.c (try_replace_reg): Use set_unique_reg_note.
1256         * cse.c (cse_insn): Likewise.
1257         * expr.c (emit_move_insn): Likewise.
1258         * explow.c (force_reg): Likewise.
1259         * local-alloc (update_equiv_regs): Likewise.
1260         * loop.c (move_moveables, load_mems): Likewise.
1261         * reload (find_reloads): Likewise.
1262
1263 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
1264
1265         Localization fixes.
1266         * c-decl.c (parmlist_tags_warning, start_struct,
1267         check_for_loop_decls): Separate messages for struct, union and
1268         enum cases to allow for languages in which they have different
1269         genders.
1270         * c-format.c (scanf_flag_specs): Separate short and long name of
1271         the assignment suppression feature.
1272         (check_format_types): Localize "pointer" and "different types"
1273         strings.
1274         * c-lex.c (lex_number): Localize "an unsigned long int" and
1275         related strings.
1276         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
1277         warning message.
1278         * c-typeck.c (build_unary_up): Separate messages for increment and
1279         decrement cases to allow for languages in which they use different
1280         articles.  Localize the strings "increment" and "decrement" in one
1281         case.
1282
1283 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
1284
1285         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
1286         when no changes has been made.
1287
1288         * gcse.c (reg_set_bitmap): Turn into reg_set.
1289         (modify_mem_list_set, canon_modify_mem_list_set)
1290         (clear_modify_mem_tables, free_modify_mem_tables): New.
1291         (gcse_main); Use free_modify_mem_tables.
1292         (free_gcse_mem): Likewise; free the bitmaps.
1293         (alloc_gcse_main): Initialize the bitmaps.
1294         (canon_list_insert): Set canon_modify_mem_list_set.
1295         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
1296         (compute_hash_table): Use clear_modify_mem_tables.
1297         (reset_opr_set_tables): Likewise.
1298         (oprs_not_set_p): reg_set_bitmap is regset.
1299         (mark_set, mark_clobber): Likewise.
1300
1301         * df.h (DF_EQUIV_NOTES): New constant.
1302         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
1303         when asked for.
1304
1305         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
1306         (init_regions, schedule_insns): Conditionalize the checking
1307         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
1308
1309 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
1310
1311         * i386.md (movti_rex64 splitter): Fix condition.
1312
1313 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
1314
1315         * configure.in: Do not assume that gas's version number is the
1316         last thing on the first line of as --version output.
1317         * configure: Regenerate.
1318
1319         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
1320         MT_WARNING, MT_ERROR, MT_FATAL.
1321         (main): Call gcc_init_libintl.
1322         (v_message): Call gettext on msgid and "warning: "
1323         * tradcif.y: Include intl.h.
1324         (yyerror): Make parameter definition consistent with
1325         prototype.  Call gettext on msgid argument.
1326
1327 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1328
1329         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
1330         warnings.
1331
1332         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
1333
1334 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1335
1336         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
1337         before referencing it.
1338
1339 2001-10-26  DJ Delorie  <dj@redhat.com>
1340
1341         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
1342         override -G, and force -G0.
1343
1344 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
1345
1346         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
1347         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
1348         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
1349         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
1350
1351         * loop.h (struct induction): Rename ext_dependant to
1352         ext_dependent.
1353         * loop.c: Change all uses.
1354         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
1355         All callers changed.
1356         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
1357
1358 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
1359
1360         * c-parse.in (expr_no_commas, primary), c-typeck.c
1361         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
1362
1363 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
1364
1365         Undo assemble_name change in earlier patch.
1366
1367 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
1368
1369         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
1370         determining the type of the receiver, do not check that TREE_CODE
1371         of receiver is CALL_EXPR before calling receiver_is_class_object().
1372         (receiver_is_class_object): For the GNU runtime: recognize
1373         the case that the receiver is self in a class method context.
1374         Check that TREE_CODE of receiver is CALL_EXPR when checking that
1375         the receiver is a call to objc_get_class.
1376
1377 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1378
1379         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
1380
1381 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1382
1383         * Makefile.in (OBJS): Put all files in alphabetical order.
1384
1385         * dwarf2out.c (add_const_value_attribute): Fix error in last
1386         change.
1387
1388 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
1389
1390         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
1391         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
1392         fix warning.
1393         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
1394         (life_analysis): call purge_all_dead_edges after deleting noops.
1395         (delete_noop_move): Do not purge CFG.
1396         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
1397
1398 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
1399
1400         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
1401         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
1402         (ASM_GLOBALIZE_LABEL): Use assemble_name.
1403         (ASM_OUTPUT_COMMON): Likewise.
1404         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
1405         (rs6000_output_function_epilogue): Likewise.
1406         (output_mi_thunk): Fix typo.
1407         (rs6000_output_symbol_ref): Use assemble_name.
1408         (output_toc): Likewise.
1409         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
1410         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
1411         assemble_name calls STRIP_NAME_ENCODING.
1412         (ASM_OUTPUT_LABEL): Use assemble_name.
1413         (ASM_GLOBALIZE_LABEL): Likewise.
1414         (ASM_DECLARE_FUNCTION_NAME): Likewise.
1415         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
1416         (ASM_OUTPUT_LOCAL): Likewise.
1417
1418 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1419
1420         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
1421         (expand_builtin_apply, expand_builtin_return): Likewise.
1422         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
1423
1424 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
1425
1426         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
1427         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
1428         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
1429         configure, configure.in, except.c, except.h, flow.c, function.c,
1430         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
1431         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
1432         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
1433         unroll.c: Fix spelling errors.
1434
1435         * doc/extend.texi, doc/invoke.texi: Fix spelling.
1436
1437         * doc/gcc.texi: Document use of "dependent" and American spelling.
1438
1439 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
1440
1441         * expr.c (emit_group_load): Support CONCATs by storing them to memory
1442         and reloading.
1443
1444 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1445
1446         * expr.c (store_constructor_field): Only call adjust_address on MEM.
1447
1448 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
1449
1450         * genrecog.c (write_switch):  Output if before switch for
1451         DT_elt_zero_wide_safe.
1452
1453 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1454
1455         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
1456         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
1457         (FUNCTION_PROFILER): Const-ify.
1458         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
1459         (eliminate_constant_term, assemble_name, output_addr_const):
1460         Remove declarations.
1461         (ptr_half_pic_address_p, half_pic_hash): Prototype.
1462         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
1463         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
1464         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
1465         (half_pic_declare, half_pic_external): Const-ify.
1466         * toplev.c: Include "halfpic.h".
1467
1468 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
1469
1470         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
1471         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
1472         config/i386/i386.c, config/i386/i386-interix.h,
1473         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
1474         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
1475         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
1476         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
1477         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
1478         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
1479         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
1480         spelling errors.
1481
1482         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
1483         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
1484         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
1485         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
1486         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
1487         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
1488         system.h, toplev.c: Fix spelling errors.
1489
1490 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1491
1492         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
1493
1494         * dwarf2out.c (reg_number): Abort if pseudo.
1495         (reg_loc_descriptor): Return 0 if pseudo.
1496         (is_based_loc): Return 0 if pseudo.
1497         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
1498         recursive calls.
1499         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
1500         (loc_descriptor): Return 0 if can't find location and handle 0
1501         return from recursive calls.
1502         (loc_descriptor_from_tree): Likewise.
1503         Fix handling of indirect.
1504         Also return 0 for PLACEHOLDER_EXPR.
1505         Clean up COMPONENT_REF cases.
1506         (add_AT_location_descriptor): Simplify, but handle 0 return from
1507         loc_descriptor.
1508         (add_const_value_attribute): Avoid shift count warning.
1509         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
1510         Set comp_unit_die as context if not in function.
1511
1512         * config/mips/mips-protos.h: Break up long lines.
1513         Remove needless #ifdef/#endif blocks.
1514         Don't declare functions declared in file made by genpreds or recog.h.
1515         * config/mips/mips.c (mips_output_function_prologue): TSIZE
1516         is now HOST_WIDE_INT; delete unneeded casts.
1517         * config/mips/mips.h: Don't use #elif.
1518
1519         * expr.c (stor_constructor_field): Always call adjust_address.
1520         Copy TARGET before changing its alias set.
1521         (store_field): Likewise, for TO_RTX.
1522         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
1523         replacement.
1524         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
1525         (find_placeholder): Return 0 if can't find object.
1526         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
1527         returns 0.
1528
1529 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
1530
1531         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
1532
1533 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
1534
1535         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
1536         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
1537         (merge_blocks): Properly udpate life after making edge nonfallthru.
1538         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
1539
1540 2001-10-26  Kazu Hirata  <kazu@hxi.com>
1541
1542         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
1543
1544 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
1545
1546         * c-typeck.c (convert_arguments): When comparing for enumeral
1547         type equality, use TYPE_MAIN_VARIANT.
1548         * gcc.dg/Wconversion.c: New tests.
1549
1550 2001-10-26  Kazu Hirata  <kazu@hxi.com>
1551
1552         * s390/s390.c: Fix comment typos.
1553         * s390/s390.h: Likewise.
1554         * s390/s390.md: Likewise.
1555
1556 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
1557
1558         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
1559         (walk_tree): Use it for tail calls where appropriate.
1560
1561 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
1562
1563         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
1564         non-local label_refs.
1565
1566 2001-10-26  Kazu Hirata  <kazu@hxi.com>
1567
1568         * config/h8300/h8300.md (4 anonymous patterns): New.
1569
1570 2001-10-26  Kazu Hirata  <kazu@hxi.com>
1571
1572         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
1573         algorithm through the shift_info structure.
1574         (emit_a_shift): Update the use of get_shift_alg.
1575
1576 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
1577
1578         * sched-rgn.c: Remove bitset typedef.
1579         Change bitset to sbitmap in prototypes / variable types.
1580         Remove bbset_size.
1581         Remove edgeset_bits.
1582         Remove edgeset_size.
1583         s/BITSET_ADD/SET_BIT/g
1584         s/BITSET_INVERT/sbitmap_ones/g
1585         s/BITSET_INTER/sbitmap_a_and_b/g
1586         s/BITSET_UNION/sbitmap_a_or_b/g
1587         s/BITSET_DIFFER/sbitmap_difference/g
1588         s/bitset_member/TEST_BIT/g
1589         (BITSET_*): Removed.
1590         (bitset_member): Removed.
1591         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
1592         EXECUTE_IF_SET_IN_SBITMAP.
1593         (split_edges): Rewrite, use sbitmap functions instead of bitset
1594         operations.
1595         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
1596
1597 2001-10-26  Andreas Schwab  <schwab@suse.de>
1598
1599         * reload1.c (emit_input_reload_insns): Fix parens in last
1600         (undocumented) change that was supposed to change only whitespace.
1601
1602 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1603
1604         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
1605
1606         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
1607         ASM_OPERANDS.
1608
1609 2001-10-26  Andreas Jaeger  <aj@suse.de>
1610
1611         * flow.c (clear_log_links): Remove unused variable.
1612         * cfgcleanup.c (cleanup_cfg): Likewise.
1613
1614 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
1615
1616         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
1617         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
1618
1619 2001-10-26  Richard Henderson  <rth@redhat.com>
1620
1621         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
1622         rename PV_REG to R27_REG.
1623         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
1624         (REG_CLASS_FROM_LETTER): Update.
1625         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
1626         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
1627         (udivsi3, modsi3, umodsi3): Likewise.
1628         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
1629
1630 2001-10-26  Richard Henderson  <rth@redhat.com>
1631
1632         * cfg.c (clear_aux_for_blocks): Split out of ...
1633         (free_aux_for_blocks): here.
1634         (clear_aux_for_edges): Split from ...
1635         (free_aux_for_edges): here.
1636         * basic-block.h: Declare them.
1637         * lcm.c (compute_antinout_edge): Use them.
1638         (compute_laterin, compute_available, compute_nearerout): Likewise.
1639         (optimize_mode_switching): Likewise.
1640
1641 2001-10-26  Richard Henderson  <rth@redhat.com>
1642
1643         * Makefile.in (unstage*): Remove as, ld, collect-ld before
1644         moving everything back to the main build directory.
1645
1646 2001-10-26  Christopher Faylor  <cgf@redhat.com>
1647
1648         * config/i386/cygwin.h: Search target specfic include directory, if
1649         appropriate.
1650
1651 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1652
1653         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
1654         of macro guards. Fix #endif comment.
1655
1656         * output.h (default_exception_section, default_eh_frame_section):
1657         Move prototypes outside of macro guard.
1658
1659         * crtstuff.c: Fix #endif comment.
1660
1661 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
1662
1663         * doc/md.texi (movMM): Clarify semantics of storing into a
1664         non-paradoxical SUBREG.
1665
1666 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
1667
1668         * langhooks.c (lang_hook_default_clear_binding_stack): New.
1669         (lang_hook_default_get_alias_set): Move next to other alias
1670         hooks.
1671         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
1672         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
1673         (LANG_HOOKS_INITIALIZER): Add it.
1674         * toplev.h (struct lang_hooks): Add clear_binding_stack.
1675         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
1676         instead of a loop calling poplevel.
1677
1678 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
1679
1680         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
1681         occurrences of #elif with #if...#endif.
1682
1683 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1684
1685         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
1686
1687 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1688
1689         * alias.c (can_address_p): No longer static.
1690         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
1691         Return 0 if all parameters are default values.
1692         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
1693         (adjust_address_1): Try harder to compute a size.
1694         * expr.c (expand_assignment, store_constructor): If can't address,
1695         set MEM_KEEP_ALIAS_SET_P.
1696         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
1697         (store_field): Likewise.
1698         (store_constructor): Simplify call to store_constructor_field.
1699         * expr.h (can_address_p): New declaration.
1700         * gensupport.c (gen_rtx_CONST_INT): New function.
1701         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
1702         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
1703         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
1704
1705         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
1706
1707 2001-10-24  Christopher Faylor  <cgf@redhat.com>
1708
1709         * config/i386/cygwin.h: Use proper path for mingw crt files when
1710         -mno-cygwin.
1711
1712 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1713
1714         * dwarf2out.c (file_info_cmp): Always return consistent results.
1715
1716 2001-10-24  Roger Sayle <roger@eyesopen.com>
1717
1718         * stmt.c (expand_end_case): Index jumptables from zero for
1719         suitably small values of minval.
1720
1721 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
1722
1723         * stor-layout.c (place_union_field): If any field was aligned with
1724         attribute aligned, set record type's TYPE_USER_ALIGN.
1725         (place_field): Likewise.
1726         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
1727         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
1728
1729 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
1730
1731         * c-common.h (struct c_common_identifier): Remove rid_code field.
1732         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
1733
1734         * c-typeck.c (constructor_designated): New local flag.
1735         (struct constructor_stack): Add "designated" field to match.
1736         (start_init): Clear it.
1737         (really_start_incremental_init, push_init_level): Push and
1738         clear it.
1739         (pop_init_level): Pop it.
1740         (set_designator): Set it.
1741
1742         (pop_init_level): Suppress "missing initializer" warnings if
1743         constructor_designated is true.
1744         (process_init_element): Suppress warning about union
1745         initialization under traditional C, if constructor_designated
1746         is true.
1747
1748 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1749
1750         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
1751         change.
1752
1753 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
1754
1755         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
1756
1757 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
1758
1759         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
1760         the node was already a set to a constant.
1761
1762 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1763
1764         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
1765         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
1766
1767 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1768
1769         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
1770         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
1771         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
1772         * s390.c (s390_final_chunkify): Don't use string concatenation.
1773         (s390_function_prologue, s390_function_epilogue): Const-ify.
1774         * s390.h (FUNCTION_PROFILER): Remove unused variable.
1775
1776 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
1777
1778         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
1779         prototypes.
1780
1781 2001-10-23  Stan Shebs  <shebs@apple.com>
1782
1783         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
1784         -traditional-cpp in first-stage compilation.
1785
1786 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1787
1788         * gensupport.c (target_flags): Add.
1789
1790 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
1791
1792         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
1793         if needed.
1794         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
1795         * except.c (expand_builtin_frob_return_addr): Likewise.
1796         (expand_builtin_eh_return): Likewise.
1797         * stmt.c (expand_computed_goto): Likewise.
1798         * explow.c (memory_address): Likewise.
1799         (allocate_dynamic_stack_space): Clean up predicate testing.
1800         (probe_stack_range): Convert SIZE to Pmode.
1801         * calls.c (rtx_for_function_call): Only call convert_memory_address
1802         if needed.
1803         Pass function call operand as ptr_mode, not Pmode.
1804         * expr.c (expand_assignment): Clean up calls to convert_memory
1805         address by only doing so when needed and making offsets Pmode.
1806         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
1807         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
1808         is in Pmode, not ptr_mode.
1809
1810 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1811
1812         * darwin-protos.h (constructor_section, destructor_section,
1813         mod_init_section, mod_term_section): Prototype.
1814         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
1815         Const-ify.
1816         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
1817         Likewise.
1818         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
1819         objc_section_init declaration.
1820         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
1821         (objc_section_init, try_section_alias): Make static.
1822         (alias_section): Make static and hide unused function.
1823         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
1824
1825 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1826
1827         * alias.c (can_address_p): Compnonents are not addressable if
1828         the containing type has alias set 0.
1829         (get_alias_set): Rework to use STRIP_NOPS.
1830         Only call front-end routine on object, type, or object with
1831         NOPs stripped, not inner values.
1832         Use language hook to call front-end routine.
1833         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
1834         (expand_builtin_apply): Call set_mem_align on MEMs we make.
1835         Don't pass alignment to emit_block_move.
1836         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
1837         (expand_builtin_memset): Likewise, but for clear_storage.
1838         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
1839         and remove C++ specific parts.
1840         * c-common.h (c_common_get_alias_set): Add declaration.
1841         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
1842         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
1843         (save_fixed_argument_area): Call set_mem_align.
1844         Remove alignment in call to emit_block_move.
1845         (emit_library_call_value_1, store_one_arg): Likewise.
1846         (target_for_arg): Remove; disabled long ago.
1847         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
1848         once and similar cleanups.
1849         (offset_address): Use proper introductory comment.
1850         * expr.c (emit_block_move): Use alignment from that of MEM args, not
1851         from explicit operand; all callers changed.
1852         (clear_storage): Likewise.
1853         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
1854         (store_field): Remove kludge on alias set used for to_rtx.
1855         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
1856         (expand_expr_unaligned): Call set_mem_attributes instead of
1857         set_mem_alias_set.
1858         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
1859         * function.c (assign_stack_temp_for_type): Set MEM alignment.
1860         (expand_function_end): Track MEM attributes of trampolines.
1861         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
1862         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
1863         attributes from original.
1864         * langhooks.c (lang_hook_default_get_alias_set): New function.
1865         (hook_get_alias_set_0): New function.
1866         * langhooks.h (hook_get_alias_set_0): New declaration.
1867         (lang_hook_default_get_alias_set): Likewise.
1868         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
1869         * reload1.c (alter_reg): Use adjust_address_nv.
1870         * rtl.c (get_mode_alignment): Moved to here.
1871         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
1872         change default if unknown from 1 to BITS_PER_UNIT.
1873         * stor-layout.c (get_mode_alignment): Remove from here.
1874         * toplev.h (struct lang_hoks): Add get_alias_set field.
1875         * tree.h (lang_get_alias_set): Delete declaration.
1876         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
1877         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
1878         (ix86_va_arg): Likewise.
1879         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
1880         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
1881         * config/sparc/sparc.c (sparc_va_arg): Likewise.
1882         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
1883         (expand_block_move_mem): Remove dead code.
1884
1885 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
1886
1887         * c-common.c (warn_div_by_zero): New.
1888         * c-common.h (warn_div_by_zero): New.
1889         * c-decl.c (c_decode_option): Take it on the command line.
1890         * c-typeck.c (build_binary_op): Warn about division by zero.
1891         * doc/invoke.texi: Document the new command line option, fix
1892         documentation of -Wmultichar.
1893         * testsuite/gcc.dg/divbyzero.c: New tests.
1894         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
1895
1896 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
1897
1898         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
1899
1900         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
1901         to avoid update_life_info call.
1902         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
1903         * cfgcleanup.c (bb_flags): New enum.
1904         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
1905         (notice_new_block, update_forwarder_flag): New functions.
1906         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
1907         (try_forward_edges): Likewise; update flags.
1908         (merge_blocks): Likewise.
1909         (outgoing_edges_match): Likewise.
1910         (try_crossjump_to_edge): Likewise.
1911         (try_optimize_cfg): Likewise; initialize and clear the flags;
1912         recompute life info if needed.
1913         (cleanup_cfg): No need to clear aux pointers.
1914
1915 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
1916
1917         * config/i386/i386.c (override_options): Default to minimum
1918         stack alignment when optimizing for code size.
1919         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
1920         change.
1921
1922         * config/i386/i386.c (override_options): Set upper limit of
1923         -mpreferred-stack-boundary to 12.
1924
1925 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
1926
1927         * recog.c (peephole2_optimize): Add default case to switch.
1928
1929 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
1930
1931         * doc/gcc.texi (Sending Patches): Remove.
1932
1933 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
1934
1935         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
1936         fields when comparing.
1937
1938 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1939
1940         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
1941         * arm.c (HOST_INT, HOST_UINT): Likewise.
1942
1943 2001-10-22  Stan Shebs  <shebs@apple.com>
1944
1945         * config/darwin-protos.h (darwin_exception_section): Declare.
1946         (darwin_eh_frame_section): Declare.
1947
1948 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
1949
1950         * i386.md (movti_rex64): Fix mode.
1951
1952 2001-10-22  Stan Shebs  <shebs@apple.com>
1953
1954         * target.h (struct gcc_target): Add asm_out.exception_section,
1955         asm_out.eh_frame_section.
1956         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
1957         (TARGET_ASM_EH_FRAME_SECTION): New.
1958         (TARGET_INITIALIZER): Update.
1959         * output.h (default_exception_section): Declare.
1960         (default_eh_frame_section): Declare.
1961         * dwarf2out.c: Include target.h.
1962         (output_call_frame_info): Call target hook for eh frames.
1963         (default_eh_frame_section): New function.
1964         * except.c: Include target.h.
1965         (output_function_exception_table): Call target hook for exception
1966         section.
1967         * varasm.c (default_exception_section): Rename from
1968         exception_section, remove EXCEPTION_SECTION macro.
1969
1970         * config/darwin.h (darwin_eh_frame_section): New function.
1971         (EXCEPTION_SECTION): Remove.
1972         (TARGET_ASM_EXCEPTION_SECTION): Define.
1973         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
1974         (nextstep_exception_section): New function.
1975         (nextstep_eh_frame_section): New function.
1976         (TARGET_ASM_EXCEPTION_SECTION): Define.
1977         (TARGET_ASM_EH_FRAME_SECTION): Define.
1978
1979         * config/pa/som.h (EXCEPTION_SECTION): Remove.
1980         (TARGET_ASM_EXCEPTION_SECTION): Define.
1981         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
1982         (EXCEPTION_SECTION): Remove.
1983         (TARGET_ASM_EXCEPTION_SECTION): Define.
1984         * config/stormy16/stormy16.h: Remove comments referencing
1985         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
1986
1987         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
1988         TARGET_ASM_EH_FRAME_SECTION.
1989
1990 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
1991
1992         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
1993         terms.
1994
1995         * c-format.c: Fix spelling typo in comment.
1996
1997         * sched-int.h: Fix typo in GCC preamble.
1998
1999 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2000
2001         PR debug/4252
2002         * doc/invoke.texi: Remove references to -fdump-translation-unit.
2003
2004 2001-10-22  Richard Henderson  <rth@redhat.com>
2005
2006         * config/i386/i386.c (ix86_expand_clear): New.
2007         * config/i386/i386-protos.h: Declare it.
2008         * config/i386/i386.md (setcc peep2s): Use it.
2009         (movsi_xor): Unexport.
2010
2011 2001-10-22  Richard Henderson  <rth@redhat.com>
2012
2013         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
2014         free_EXPR_LIST_list for LOG_LINKS.
2015
2016 2001-10-21  Robert Lipe  <robertlipe@usa.net>
2017
2018         * config/i386/i386.c (sco_asm_named_section): Delete.
2019         (sco_asm_out_constructor): Delete.
2020         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
2021         (ASM_OUTPUT_DOUBLE_INT): Likewise.
2022         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
2023         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
2024         (EXCEPTION_SECTION): Delete EH scn renaming hack.
2025
2026 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2027
2028         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
2029         and/or fold extra calls into fewer ones.
2030         * collect2.c (dump_file): Likewise.
2031         * cppexp.c (parse_number): Likewise.
2032         * cpplex.c (_cpp_lex_direct): Likewise.
2033         * final.c (output_asm_insn, asm_fprintf): Likewise.
2034         * fix-header.c (inf_scan_ident, main): Likewise.
2035         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
2036         Likewise.
2037         * fold-const.c (real_hex_to_f): Likewise.
2038         * gen-protos.c (parse_fn_proto): Likewise.
2039         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
2040         * genrecog.c (change_state, write_action): Likewise.
2041         * gensupport.c (shift_output_template): Likewise.
2042         * local-alloc.c (requires_inout): Likewise.
2043         * mips-tfile.c (IS_ASM_IDENT): Likewise.
2044         * protoize.c (is_id_char, main): Likewise.
2045         * real.c (asctoeg): Likewise.
2046         * recog.c (asm_operand_ok): Likewise.
2047         * reload.c (find_reloads): Likewise.
2048         * scan.c (scan_identget_token): Likewise.
2049         * sched-vis.c (print_value): Likewise.
2050         * stringpool.c (ggc_alloc_string): Likewise.
2051         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
2052         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
2053         * tradcpp.c (rescan): Likewise.
2054         * tree.c (clean_symbol_name): Likewise.
2055         * varasm.c (decode_reg_name): Likewise.
2056
2057         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
2058         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
2059         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
2060         * m88k.c (output_ascii): Likewise.
2061         * m88k.h (OVERRIDE_OPTIONS): Likewise.
2062         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
2063         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
2064         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
2065
2066 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
2067
2068         * langhooks.c (lang_hook_default_do_nothing,
2069         lang_hook_default_decode_option): New defaults.
2070         * langhooks.h: Make hooks unconditional and non-NULL.
2071         * toplev.c (compile_file, toplev_main): Update.
2072         * toplev.h: Update comments.
2073         * objc/objc-act.c (lang_hooks): Update to new paradigm.
2074
2075 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2076
2077         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
2078
2079         * system.h (IN_RANGE): New macro.
2080
2081 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
2082
2083         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
2084         INTLDEPS variable, which does not include $LIBICONV.
2085         * Makefile.in: Use INTLDEPS in LIBDEPS.
2086         * configure: Regenerate.
2087
2088 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
2089
2090         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
2091         * cpplex.c (lex_percent, lex_dot): Remove.
2092         (get_effective_char, skip_block_comment, skip_line_comment,
2093         parse_identifier_slow, parse_number, parse_string, save_comment,
2094         _cpp_lex_direct): Update to do lookback freely.
2095         (IF_NEXT_IS, BACKUP): New macros.
2096         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
2097         * cppmacro.c (paste_tokens): Update.
2098
2099 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
2100
2101         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
2102
2103 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
2104
2105         * reload1.c (reload): Check CONSTANT_P before calling
2106         LEGITIMATE_PIC_OPERAND_P.
2107         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
2108         workaround of 2001-10-13.
2109
2110 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
2111
2112         * i386.c (split_di): Handle splitting of DFmode.
2113
2114 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2115
2116         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
2117         (adjust_address_1, offset_address): Likewise.
2118
2119         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
2120         (output_asm_insn): Call it for each line output.
2121         Don't record an operand more than once.
2122
2123         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
2124         * main.c: Include config.h and system.h, but not ansidecl.h.
2125         * Makefile.in (main.o): Update accordingly.
2126
2127 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
2128
2129         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
2130
2131 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
2132
2133         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
2134         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
2135         Break out from ...
2136         (find_sub_basic_blocks): ... here;
2137         (find_many_sub_basic_blocks): New.
2138         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
2139
2140         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
2141
2142         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
2143
2144         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
2145
2146         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
2147         * flow.c (update_life_info): Measure time.
2148         * c-decl.c: Include timevar.h
2149         (c_expand_body): Measure time.
2150         * toplev.c (rest_of_compilation): Measure time of mode switching
2151         separately.
2152         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
2153
2154         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
2155         (lang_independent_options): Add asynchronous-unwind-tables
2156         (toplev_main): flag_asynchronous_unwind_tables implies
2157         flag_unwind_tables.
2158         * flags.h (flag_asynchronous_unwind_tables): Declare.
2159         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
2160         flag_asynchronous_unwind_tables.
2161         (output_call_frame_info): Likewise.
2162         * invoke.texi (-fasynchronous-unwind-tables): Document.
2163         * i386.c (optimization_options): Enable
2164         flag_asynchronous_unwind_tables.
2165
2166         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
2167         * i386.md (s* expanders): Destination is QImode.
2168
2169         * toplev.c (rest_of_compilation): Do not call clear_log_links.
2170         * rtl.h (clear_log_links): Kill.
2171         * flow.c (clear_log_links): Make static; accept blocks parameter;
2172         do no clear life info.
2173         (update_life_info): Call clear_log_links.
2174
2175         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
2176
2177 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
2178
2179         * cpplex.c (handle_newline, skip_escaped_newlines,
2180         get_effective_char, skip_block_comment, skip_line_comment,
2181         parse_identifier_slow, parse_number, parse_string,
2182         _cpp_lex_direct): Update to do more stepping back.
2183         (trigraph_ok): Similarly.  Rename trigraph_p.
2184         (SAVE_STATE, RESTORE_STATE): Remove.
2185         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
2186
2187         * cpplib.c (destringize): Rename destringize_and_run, and
2188         call run_directive directly.
2189         (_cpp_do__Pragma): Simplify.
2190
2191 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2192
2193         * pe.c (arm_pe_unique_section): Const-ify.
2194         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
2195         (switch_to_section): Add static prototype.
2196
2197         * output.h (drectve_section): Prototype.
2198
2199 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2200
2201         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
2202         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
2203         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
2204         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
2205         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
2206         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
2207         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
2208         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
2209         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
2210         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
2211         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
2212         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
2213         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
2214         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
2215         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
2216         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
2217         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
2218         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
2219         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
2220         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
2221         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
2222         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
2223         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
2224         cris-*-none, cris-*-linux*: Update ${tmfile} list.
2225         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
2226         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
2227         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
2228         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
2229         v850-*-*): Delete superflous ${cpu_type} setting.
2230         * config/linux.h: Delete svr4.h include.
2231         (SET_ASM_OP): Delete.
2232         * config/netware.h (INT_ASM_OP): Undef before define.
2233         * config/ptx4.h: Delete elfos.h include.
2234         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
2235         * config/svr4.h: Delete elfos.h include. Update commentary.
2236         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
2237         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
2238         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
2239         config/v850/v850.h: Delete svr4.h include.
2240         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
2241         config/m68k/m68kv4.h, config/m88k/sysv4.h,
2242         config/sparc/sysv4.h: Update includes.
2243         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
2244         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
2245         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
2246         config/m88k/dguxbcs.h: Delete includes.
2247         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
2248         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
2249         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
2250         it.
2251         * config/m88k/dgux.h: Delete include.
2252         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
2253         defining it.
2254         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
2255         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
2256         * config/sh/elf.h: Update include.
2257         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
2258         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
2259
2260 2001-10-19  Catherine Moore  <clm@redhat.com>
2261
2262         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
2263         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
2264         base and count fields.
2265         (stormy16_expand_builtin_va_start):  last_reg_count changed to
2266         size_of_reg_args.  Use count + size in first comparison.
2267
2268 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2269
2270         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
2271         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
2272         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
2273         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
2274         Set alignment from type if INDIRECT_REF.
2275         (adjust_address_1, offset_address): Simplify alignment compuitation.
2276         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
2277         here; done by set_mem_attributes.
2278
2279 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2280
2281         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
2282         * arm-protos.h (rdata_section, zero_init_section, common_section):
2283         Prototype.
2284         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
2285         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
2286         traditional mode stringification.
2287         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
2288         in macros controling its use.
2289         * rtlanal.c: Include tm_p.h.
2290         * varasm.c (asm_output_aligned_bss): Mark parameter with
2291         ATTRIBUTE_UNUSED.
2292         (assemble_constant_align, assemble_start_function, assemble_align,
2293         assemble_variable, assemble_trampoline_template,
2294         output_constant_def_contents): Wrap potentially empty if-stmt body
2295         in brackets.
2296
2297 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2298
2299         * a29k-protos.h (literal_section): Prototype.
2300         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
2301         * a29k.md: Ensure function pointers are prototyped.
2302         * genattrtab.c (write_eligible_delay): Mark parameter with
2303         ATTRIBUTE_UNUSED.
2304
2305 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2306
2307         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
2308         * 1750a.c (print_operand): Fix format specifier warning.
2309         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
2310         * 1750a.md: Likewise.
2311         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
2312         * genemit.c (output_add_clobbers): Mark parameter with
2313         ATTRIBUTE_UNUSED.
2314         * genrecog.c (write_subroutine): Likewise.
2315         * integrate.c (expand_inline_function): Delete unused variable.
2316         * varasm.c (remove_from_pending_weak_list): Wrap with
2317         ASM_WEAKEN_LABEL.
2318
2319 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
2320
2321         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
2322         field is different to previous argument's neg field.
2323
2324         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
2325
2326 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2327
2328         * final.c (get_decl_from_op): New function.
2329         (output_asm_insn): Call it; write "*" when item with decl is address.
2330
2331 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
2332
2333         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
2334         about 64-bit support from the 3.0_branch version.
2335
2336 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
2337
2338         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
2339         USE_INCLUDED_LIBINTL when appropriate.
2340         * configure, config.in: Regenerate.
2341         * Makefile.in (datadir): Set to @datadir@.
2342         (intl.o): Also depend on $(CONFIG_H) and system.h.
2343
2344         * intl.c: Factor out common gettext initialization sequence.
2345         (gcc_init_libintl):  New function.
2346         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
2347         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
2348         off NLS.  Add multiple include guard.  No need to #ifdef-guard
2349         an #undef.  Prototype gcc_init_libintl here.
2350
2351         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
2352         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
2353         Use gcc_init_libintl.
2354
2355 2001-10-19  Catherine Moore  <clm@redhat.com>
2356
2357         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
2358
2359         * config/stormy16/stormy16.c (stormy16_split_move):  Make
2360         sure that REG_INC notes are present for auto_inc operands.
2361
2362 2001-10-19  Andreas Jaeger  <aj@suse.de>
2363
2364         * configure: Regenerated.
2365         * configure.in: Add x86_64 to switch statements.
2366
2367 2001-10-18  Richard Henderson  <rth@redhat.com>
2368
2369         * config/alpha/alpha.md (sibcall_osf_1): Load destination
2370         address into $27 explicitly.
2371         (sibcall_value_osf_1): Likewise.
2372
2373 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2374
2375         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
2376         (offset_address): New function.
2377         (free_emit_status): Free regno_decl.
2378         (init_emit): Pass proper number of elements to xcalloc.
2379         Allocate regno_decl.
2380         (mark_emit_status): Mark regno_decl values.
2381         * expr.c (highest_pow2_factor): New function.
2382         (expand_assigment): Use it and offset_address.
2383         Properly handle ptr_mode vs. Pmode in offset calculation.
2384         (store_constructor, expand_expr_unaligned): Likewise.
2385         (expand_expr, case COMPONENT_EXPR): Likewise.
2386         * expr.h (offset_address): New decl.
2387         * function.h (struct emit_status): Add regno_decl.
2388         (REGNO_DECL): New macro.
2389         * final.c (output_asm_name): Move in file and don't conditionalize
2390         on flag_print_asm_name.
2391         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
2392         Output names of operands, if known.
2393         * function.c (assign_parms): Set REGNO_DECL.
2394         * integrate.c (integrate_decl_tree): Likewise.
2395         * stmt.c (expand_decl): Likewise.
2396         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
2397
2398 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
2399
2400         * attribs.c (handle_noinline_attribute): New function.
2401         (handle_used_attribute): Likewise.
2402         (c_common_attribute_table): Added noinline and used.
2403         * doc/extend.texi (Function Attributes): Document them.
2404         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
2405         Warn when merging inline with attribute noinline.
2406         (start_decl, start_function): Warn if inline and attribute
2407         noinline appear in the same declaration.
2408
2409 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
2410
2411         * config.gcc: Update c4x and i370 for C front end-specific
2412         dependencies.
2413         * config/c4x/c4x-c.c: New.
2414         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
2415         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
2416         New declarations.
2417         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
2418         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
2419         Make extern.
2420         (c4x_init_pragma): Remove.
2421         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
2422         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
2423         c4x_pr_ignored): Move to c4x-c.c.
2424         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
2425         * config/c4x/t-c4x: Update.
2426         * config/i370/i370-c.c: New.
2427         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
2428         (i370_pr_map): Move to i370-c.c.
2429         * config/i370/t-i370: New.
2430
2431         * doc/tm.texi: Update.
2432
2433 2001-10-17  Stan Shebs  <shebs@apple.com>
2434
2435         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
2436         typo fixes throughout.
2437         (machopic_output_stub): Remove some dead code.
2438
2439 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
2440
2441         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
2442         leak.
2443
2444 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2445
2446         * Makefile.in (print-rtl.o): Depend on TREE_H.
2447         * alias.c (get_alias_set): Make two passes over objects to first
2448         see if inner object is access via restricted pointer.
2449         Defer allocating alias set for restricted pointer until here.
2450         Call find_placeholder with second arg nonzero.
2451         Minor cleanups.
2452         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
2453         set for restricted pointer types.
2454         * emit-rtl.c (set_mem_attributes): Set more attributes.
2455         (set_mem_align, change_address, adjust_address_1): New functions.
2456         (change_address_1): Now static.
2457         (adjust_address, adjust_address_nv): Deleted.
2458         (replace_equiv_address): Call change_address_1.
2459         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
2460         (find_placeholder): Get starting point from PLIST arg.
2461         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
2462         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
2463         (adjust_address, adjust_address_nv): New macros.
2464         * print-rtl.c (tree.h): New include.
2465         (print_rtx, case MEM): Print all memory attributes.
2466
2467 2001-10-17  Richard Henderson  <rth@redhat.com>
2468
2469         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
2470
2471 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
2472
2473         * c-tree.texi: Eliminate duplicated word.
2474         * cpp.texi: Likewise.
2475         * install.texi: Likewise.
2476         * invoke.texi: Likewise.
2477         * tm.texi: Likewise.
2478
2479 2001-10-17  Michael Collison  <collison@isisinc.net>
2480
2481         * dsp16xx.c: Fix comment formatting to match GNU standards.
2482         (dsp16xx_output_function_prologue): Change type of 'size'
2483         parameter from 'int' to HOST_WIDE_INT.
2484         (dsp16xx_output_function_epilogue): Change type of 'size'
2485         parameter from 'int' to HOST_WIDE_INT.
2486
2487 2001-10-16  Richard Henderson  <rth@redhat.com>
2488
2489         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
2490         * configure, config.in: Rebuild.
2491
2492         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
2493         (ix86_output_addr_diff_elt): New.
2494         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
2495         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
2496         (JUMP_TABLES_IN_TEXT_SECTION): New.
2497         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
2498         * config/i386/i386-protos.h: Update.
2499
2500         * config/i386/386bsd.h, config/i386/beos-elf.h,
2501         config/i386/freebsd-aout.h, config/i386/freebsd.h,
2502         config/i386/i386-interix.h, config/i386/i386elf.h,
2503         config/i386/linux.h, config/i386/netbsd-elf.h,
2504         config/i386/netbsd.h, config/i386/openbsd.h,
2505         config/i386/ptx4-i.h, config/i386/rtemself.h,
2506         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
2507         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
2508
2509 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
2510
2511         * stmt.c (expand_asm_operands): Update commentary.
2512
2513 2001-10-16  Stan Shebs  <shebs@apple.com>
2514
2515         * config/darwin.h (GCC_NAME): Remove, no longer used.
2516         (NO_MATH_LIBRARY): Ditto.
2517         (MATH_LIBRARY): Define to emptiness.
2518         (DWARF2_DEBUGGING_INFO): Define.
2519         (PREFERRED_DEBUGGING_TYPE): Define.
2520         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
2521         (EXCEPTION_SECTION): Define.
2522         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2523         * config/darwin.c (darwin_encode_section_info): Handle case of
2524         DECL_INITIAL being error_mark_node.
2525
2526 2001-10-16  Richard Henderson  <rth@redhat.com>
2527
2528         * alpha.c (current_file_function_operand): Don't fail for profiling.
2529         (direct_call_operand): New.
2530         * alpha-protos.h: Declare it.
2531         * alpha.h (EXTRA_CONSTRAINT): Use it.
2532         (PREDICATE_CODES): Add it.
2533         (ASM_OUTPUT_MI_THUNK): Remove.
2534         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
2535         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
2536
2537 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
2538
2539         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
2540         (JUMP_TABLES_IN_TEXT_SECTION): Define.
2541
2542 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
2543
2544         * cfg.c (free_edge): Break out from ....
2545         (remove_edge): ... here.
2546         (clear_edges): Use free_edge.
2547
2548         * att.h (ASM_QUAD): Add comment.
2549         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
2550
2551 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
2552
2553         * i386.c (split_ti): New function.
2554         (ix86_split_to_parts): Support TImodes.
2555         * i386.h (VALID_INT_MODE_P): Add TImode.
2556         * i386.md (movdi splitter): Fix.
2557         (movti): Support 64bit integer registers.
2558         (movti_rex64): New function and splitter.
2559
2560         * i386.c (*_cost): Add movsx/movzx cost.
2561         * i386.h (struct processor_costs): Add movsx/movzx fields.
2562         (RTX_COSTS): Handle zero/sign extend + avoid believing that
2563         64bit operations require split on 64bit machine.
2564         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
2565
2566         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
2567         (ix86_expand_move): Avoid pushes of memory if size does not match;
2568         move long constants to register.
2569         (x86_initialize_trampoline): Fix mode.
2570         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
2571         Use ASM_QUAD on 64bit.
2572         * i386.md (test pattern): Disallow impossible constants.
2573         (tablejump PIC expander): Fix emitting of sum.
2574         (movdicc_rex64): Rename to movdicc.
2575         * linux64.h (LINK_SPEC): Add missing '%'.
2576
2577 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
2578
2579         * tree-inline.c (inlinable_function_p): Leave it up to the
2580         front-end to turn -finline-functions into DECL_INLINE set for all
2581         functions.
2582
2583 2001-10-16  Stan Shebs  <shebs@apple.com>
2584
2585         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
2586
2587 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
2588
2589         * recog.c: Formatting and comment typo fixes.
2590
2591         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
2592         version in single tree build.
2593         * configure: Regenerate.
2594
2595 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
2596
2597         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
2598         MODE arguments to gen_rtx and compare operand with const0_rtx.
2599
2600 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
2601
2602         * system.h: Poison old unused target macros.
2603         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
2604         * config/stormy16/stormy16.c: Update references to obsolete macros.
2605         * config/stormy16/stormy16.h: Similarly.
2606         * config/stormy16/stormy16.md: Similarly.
2607         * config/cris/cris.h: Similarly.
2608
2609 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
2610
2611         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
2612         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
2613         cpp_register_pragma): Update accordingly.
2614
2615 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
2616
2617         * c-pragma.h (cpp_register_pragma_space): Remove.
2618         * cpplib.h (cpp_register_pragma_space): Remove.
2619         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
2620         (cpp_register_pragma_space): Remove.
2621         (cpp_register_pragma): Simplify using lookup_pragma_entry,
2622         add sanity checks.
2623         (do_pragma): Similarly.
2624         (_cpp_init_internal_pragmas): Don't register namespaces.
2625
2626         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
2627         Don't register namespaces.
2628         * cp/lex.c (init_cp_pragma): Similarly.
2629         * doc/tm.texi: Update.
2630
2631 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2632
2633         PR c/4157
2634         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
2635
2636 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
2637
2638         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
2639         add scheduling support.
2640         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
2641         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
2642         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
2643
2644
2645 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
2646
2647         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
2648         missing CONSTANT_P test in core GCC.
2649
2650 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
2651
2652         * cppmain.c (struct printer): New member source.
2653         (scan_translation_unit): Fix spacing at start of lines.
2654         (cb_line_change): Update.
2655
2656         * gcc.dg/cpp/spacing2.c: New test.
2657
2658 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
2659
2660         * config/cris/arit.c: Use __builtin_labs, not abs.
2661
2662         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
2663
2664         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
2665         misplaced sprintf and fprintf argument.
2666
2667 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
2668
2669         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
2670         * configure.in, Makefile.in: Take out obsolete check-po logic.
2671         * configure, config.in: Regenerate.
2672
2673 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
2674
2675         * objc/objc-act.c (finish_objc): Correct precondition for emitting
2676         symtab declarations.
2677
2678 2001-10-12  Stan Shebs  <shebs@apple.com>
2679
2680         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
2681         declarations of arguments and local variables.
2682
2683 2001-10-12  Christopher Faylor  <cgf@redhat.com>
2684
2685         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
2686         ENDFILE_SPEC definition.
2687
2688 2001-10-12  Kazu Hirata  <kazu@hxi.com>
2689
2690         * gthr-dce.h: Fix comment formatting.
2691         * gthr-posix.h: Likewise.
2692         * gthr-single.h: Likewise.
2693         * gthr-solaris.h: Likewise.
2694         * gthr-vxworks.h: Likewise.
2695         * gthr-win32.h: Likewise.
2696
2697 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
2698
2699         * final.c (output_asm_insn): Make sure assembly dialects are
2700         terminated, not nested.  Output `|' and `}' characters if they
2701         don't appear inside assembly dialect selection.
2702         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
2703         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
2704         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
2705         strsetsi_rex_1): Add {} braces.
2706
2707 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
2708
2709         * toplev.c (compile_file): Ignore return value from yyparse.
2710         Always pop any nested binding levels after yyparse returns.
2711
2712 2001-10-11  Richard Henderson  <rth@redhat.com>
2713
2714         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
2715
2716 2001-10-11  Richard Henderson  <rth@redhat.com>
2717
2718         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
2719         fall back to add_AT_long_long for large CONST_INT.
2720
2721 2001-10-11  Richard Henderson  <rth@redhat.com>
2722
2723         * config/i386/i386.md (setcc splitters): Add four splitters to
2724         simplify compound compares that simplify_comparison can't handle.
2725
2726 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
2727
2728         * cpplex.c (digraph_spellings, token_spellings): Make static.
2729
2730 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2731
2732         * unroll.c (loop_iterations): Fixup last patch.
2733
2734 2001-10-11  Richard Henderson  <rth@redhat.com>
2735
2736         * rtl.h (REG_VTABLE_REF): New.
2737         * rtl.c (reg_note_name): Add it.
2738         * combine.c (distribute_notes): Handle it.
2739         * final.c (final_scan_insn): Handle it.
2740         * tree.def (VTABLE_REF): New.
2741         * expr.c (expand_expr): Handle it.
2742         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
2743         * output.h: Declare them.
2744
2745 2001-10-11  Richard Henderson  <rth@redhat.com>
2746
2747         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
2748         for a DECL_INITIAL.
2749
2750 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
2751
2752         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
2753         available in 64-bit mode.
2754
2755 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
2756
2757         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
2758         cris-*-linux* cases.
2759         * config/cris/cris-protos.h: New file.
2760         * config/cris/cris.c: New file.
2761         * config/cris/cris.h: New file.
2762         * config/cris/cris.md: New file.
2763         * config/cris/linux.h: New file.
2764         * config/cris/aout.h: New file.
2765         * config/cris/arit.c: New file.
2766         * config/cris/cris_abi_symbol.c: New file.
2767         * config/cris/mulsi3.asm: New file.
2768         * config/cris/t-aout: New file.
2769         * config/cris/t-cris: New file.
2770         * config/cris/t-elfmulti: New file.
2771         * config/cris/t-linux: New file.
2772         * doc/invoke.texi: Add CRIS options.
2773         * doc/install.texi (Specific): Add blurb for CRIS.
2774
2775 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
2776
2777         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
2778         before using it.
2779         * config/float/i32.h: Likewise.
2780         * config/float-i386.h: Likewise.
2781         * config/float-i64.h: Likewise.
2782         * config/float-m68k.h: Likewise.
2783         * config/float-sh.h: Likewise.
2784         * config/float-sparc.h: Likewise.
2785
2786 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
2787
2788         * doc/contrib.texi: Add note about CRIS port to my entry.
2789
2790 2001-10-11  Kazu Hirata  <kazu@hxi.com>
2791
2792         * basic-block.h: Fix formatting.
2793         * bitmap.h: Likewise.
2794         * cpplib.h: Likewise.
2795         * c-tree.h: Likewise.
2796         * diagnostic.h: Likewise.
2797         * flags.h: Likewise.
2798         * ggc.h: Likewise.
2799         * longlong.h: Likewise.
2800         * real.h: Likewise.
2801         * reload.h: Likewise.
2802         * rtl.h: Likewise.
2803         * tree.h: Likewise.
2804
2805 2001-10-10  Richard Henderson  <rth@redhat.com>
2806
2807         * c-parse.in (asm_operand): Allow named operands.
2808         * genconfig.c (max_recog_operands): Set to 29.
2809         * local-alloc.c (requires_inout): Skip multiple digits.
2810         * recog.c (asm_operand_ok): Likewise.
2811         (preprocess_constraints): Use strtoul for matching constraints.
2812         (constrain_operands): Likewise.
2813         * regmove.c (find_matches): Likewise.
2814         * reload.c (find_reloads): Likewise.
2815         * stmt.c (parse_output_constraint): Don't reject in-out
2816         constraint on operands > 9.  Reject '[' in constraint.
2817         (expand_asm_operands): Handle named operands.  Use strtoul
2818         for matching constraints.
2819         (check_operand_nalternatives): Split out from expand_asm_operands.
2820         (check_unique_operand_names): New.
2821         (resolve_operand_names, resolve_operand_name_1): New.
2822
2823         * doc/extend.texi (Extended Asm): Document named operands.
2824         * doc/md.texi (Simple Constraints): Document matching constraints
2825         on operands > 9.
2826
2827 2001-10-10  Richard Henderson  <rth@redhat.com>
2828
2829         * combine.c (try_combine): Handle a SEQUENCE of one insn.
2830
2831         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
2832         (jcc splitters): Add two splitters to simplify compound compares
2833         that simplify_comparison can't handle.
2834
2835 2001-10-10  Richard Henderson  <rth@redhat.com>
2836
2837         * langhooks.c: Include langhooks.h.
2838         * Makefile.in (langhooks.o): Depend on it.
2839
2840 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
2841
2842         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
2843         should not be considered as a no-op.
2844         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
2845
2846 2001-10-10  Stan Shebs  <shebs@apple.com>
2847
2848         * alias.c: Remove uses of "register" specifier in declarations
2849         of arguments and local variables.
2850         * c-common.c: Ditto.
2851         * c-convert.c: Ditto.
2852         * c-decl.c: Ditto.
2853         * c-format.c: Ditto.
2854         * c-semantics.c: Ditto.
2855         * c-typeck.c: Ditto.
2856         * caller-save.c: Ditto.
2857         * calls.c: Ditto.
2858         * cfg.c: Ditto.
2859         * cfgbuild.c: Ditto.
2860         * cfgrtl.c: Ditto.
2861         * collect2.c: Ditto.
2862         * combine.c: Ditto.
2863         * convert.c: Ditto.
2864         * cppexp.c: Ditto.
2865         * cppfiles.c: Ditto.
2866         * cse.c: Ditto.
2867         * dbxout.c: Ditto.
2868         * defaults.h: Ditto.
2869         * df.c: Ditto.
2870         * dwarf2out.c: Ditto.
2871         * dwarfout.c: Ditto.
2872         * emit-rtl.c: Ditto.
2873         * explow.c: Ditto.
2874         * expmed.c: Ditto.
2875         * expr.c: Ditto.
2876         * final.c: Ditto.
2877         * fix-header.c: Ditto.
2878         * floatlib.c: Ditto.
2879         * flow.c: Ditto.
2880         * fold-const.c: Ditto.
2881         * function.c: Ditto.
2882         * gcc.c: Ditto.
2883         * gcse.c: Ditto.
2884         * gen-protos.c: Ditto.
2885         * genattrtab.c: Ditto.
2886         * gencheck.c: Ditto.
2887         * genconfig.c: Ditto.
2888         * genemit.c: Ditto.
2889         * genextract.c: Ditto.
2890         * genflags.c: Ditto.
2891         * gengenrtl.c: Ditto.
2892         * genoutput.c: Ditto.
2893         * genpeep.c: Ditto.
2894         * genrecog.c: Ditto.
2895         * gensupport.c: Ditto.
2896         * global.c: Ditto.
2897         * gmon.c: Ditto.
2898         * graph.c: Ditto.
2899         * haifa-sched.c: Ditto.
2900         * hard-reg-set.h: Ditto.
2901         * hash.c: Ditto.
2902         * integrate.c: Ditto.
2903         * jump.c: Ditto.
2904         * lists.c: Ditto.
2905         * local-alloc.c: Ditto.
2906         * loop.c: Ditto.
2907         * mips-tdump.c: Ditto.
2908         * mips-tfile.c: Ditto.
2909         * optabs.c: Ditto.
2910         * prefix.c: Ditto.
2911         * print-rtl.c: Ditto.
2912         * read-rtl.c: Ditto.
2913         * real.c: Ditto.
2914         * recog.c: Ditto.
2915         * reg-stack.c: Ditto.
2916         * regclass.c: Ditto.
2917         * regmove.c: Ditto.
2918         * reload.c: Ditto.
2919         * reload1.c: Ditto.
2920         * reorg.c: Ditto.
2921         * resource.c: Ditto.
2922         * rtl.c: Ditto.
2923         * rtlanal.c: Ditto.
2924         * scan.c: Ditto.
2925         * sched-deps.c: Ditto.
2926         * sched-rgn.c: Ditto.
2927         * sdbout.c: Ditto.
2928         * simplify-rtx.c: Ditto.
2929         * stmt.c: Ditto.
2930         * stor-layout.c: Ditto.
2931         * toplev.c: Ditto.
2932         * tradcif.y: Ditto.
2933         * tradcpp.c: Ditto.
2934         * tree.c: Ditto.
2935         * unroll.c: Ditto.
2936         * varasm.c: Ditto.
2937         * xcoffout.c: Ditto.
2938
2939 2001-10-10  Richard Henderson  <rth@redhat.com>
2940
2941         * rtl.h (can_reverse_comparison_p): Remove.
2942
2943 2001-10-10  Christopher Faylor <cgf@redhat.com>
2944
2945         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
2946         used.
2947
2948 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
2949
2950         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
2951         (Thanks to Chris Faylor for suggesting macro name).
2952         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
2953         WIN32 defines.
2954         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
2955         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
2956         (MATH_LIBRARY): Undef before definition.
2957         (OUTPUT_QUOTED_STRING): Likewise.
2958         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
2959
2960 2001-10-10  Richard Henderson  <rth@redhat.com>
2961
2962         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
2963         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
2964         a tristate comparison value.
2965         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
2966
2967 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2968
2969         PR c++/4512
2970         * unroll.c (loop_iterations): Ignore insns generated by loop
2971         unrolling.
2972
2973         * config.gcc (mips*-*-gnu*): Delete support.
2974         * config/mips/gnu.h: Remove.
2975
2976 2001-10-10  Kazu Hirata  <kazu@hxi.com>
2977
2978         * calls.c: Fix formatting.
2979         * c-decl.c: Likewise.
2980         * cfgcleanup.c: Likewise.
2981         * combine.c: Likewise.
2982         * cppfiles.c: Likewise.
2983         * cpplib.c: Likewise.
2984         * cppmacro.c: Likewise.
2985         * crtstuff.c: Likewise.
2986         * cse.c: Likewise.
2987         * dwarf2out.c: Likewise.
2988         * expmed.c: Likewise.
2989         * expr.c: Likewise.
2990         * fold-const.c: Likewise.
2991         * function.c: Likewise.
2992         * gcse.c: Likewise.
2993         * genattrtab.c: Likewise.
2994         * ggc-page.c: Likewise.
2995         * integrate.c: Likewise.
2996         * libgcc2.c: Likewise.
2997         * loop.c: Likewise.
2998         * optabs.c: Likewise.
2999         * profile.c: Likewise.
3000         * protoize.c: Likewise.
3001         * real.c: Likewise.
3002         * recog.c: Likewise.
3003         * reload1.c: Likewise.
3004         * reload.c: Likewise.
3005         * reorg.c: Likewise.
3006         * resource.c: Likewise.
3007         * sched-rgn.c: Likewise.
3008         * sdbout.c: Likewise.
3009         * stmt.c: Likewise.
3010         * toplev.c: Likewise.
3011         * varasm.c: Likewise.
3012
3013 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
3014
3015         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
3016         * Makefile.in (langhooks.o): Add dependencies.
3017
3018 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
3019
3020         * rs6000.c (rs6000_emit_load_toc_table): Don't
3021         strdup the toc label.
3022         (create_TOC_reference): Likewise.
3023
3024 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
3025
3026         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
3027         version default.
3028
3029 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
3030
3031         * config/i386/i386.c (ix86_attribute_table): Correct
3032         min_len, max_len fields for dllimport, dllexport and shared.
3033
3034 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
3035
3036         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
3037         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
3038         Consistently use "nonzero" instead of "non-zero".
3039
3040 2001-10-09  Kazu Hirata  <kazu@hxi.com>
3041
3042         * acconfig.h: Fix comment formatting.
3043         * c-dump.h: Likewise.
3044         * c-tree.h: Likewise.
3045         * conditions.h: Likewise.
3046         * expr.h: Likewise.
3047         * function.h: Likewise.
3048         * gthr.h: Likewise.
3049         * hwint.h: Likewise.
3050         * integrate.h: Likewise.
3051         * intl.h: Likewise.
3052         * loop.h: Likewise.
3053         * optabs.h: Likewise.
3054
3055 2001-10-09  Kazu Hirata  <kazu@hxi.com>
3056
3057         * c-common.h: Fix comment formatting.
3058         * c-dump.c: Likewise.
3059         * cfg.c: Likewise.
3060         * diagnostic.h: Likewise.
3061         * except.c: Likewise.
3062         * gcc.h: Likewise.
3063         * gcov-io.h: Likewise.
3064         * genattrtab.c: Likewise.
3065         * output.h: Likewise.
3066         * predict.h: Likewise.
3067         * reload1.c: Likewise.
3068         * reload.h: Likewise.
3069         * resource.h: Likewise.
3070         * scan.h: Likewise.
3071         * system.h: Likewise.
3072         * tree.h: Likewise.
3073         * tree-inline.c: Likewise.
3074         * tsystem.h: Likewise.
3075         * varasm.c: Likewise.
3076         * xcoffout.h: Likewise.
3077
3078 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
3079
3080         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
3081
3082 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
3083
3084         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
3085         config/i386/i386elf.h, config/i386/netbsd-elf.h,
3086         config/i386/netware.h, config/mcore/gfloat.h,
3087         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
3088         config/netware.h, gccbug.in: Update FSF address.
3089
3090 2001-10-09  Kazu Hirata  <kazu@hxi.com>
3091
3092         * c-common.c: Fix comment typos.
3093         * cfgrtl.c: Likewise.
3094         * collect2.c: Likewise.
3095         * cpplex.c: Likewise.
3096         * doloop.c: Likewise.
3097         * dwarf2out.c: Likewise.
3098         * dwarfout.c: Likewise.
3099         * expr.c: Likewise.
3100         * fold-const.c: Likewise.
3101         * gcc.c: Likewise.
3102         * gcov.c: Likewise.
3103         * gcse.c: Likewise.
3104         * global.c: Likewise.
3105         * ifcvt.c: Likewise.
3106         * loop.c: Likewise.
3107         * optabs.c: Likewise.
3108         * protoize.c: Likewise.
3109         * regclass.c: Likewise.
3110         * reorg.c: Likewise.
3111         * rtl.h: Likewise.
3112         * stmt.c: Likewise.
3113         * tree.h: Likewise.
3114         * doc/cpp.texi: Likewise.
3115         * doc/c-tree.texi: Likewise.
3116         * doc/extend.texi: Likewise.
3117         * doc/invoke.texi: Likewise.
3118         * doc/objc.texi: Likewise.
3119         * doc/tm.texi: Likewise.
3120
3121 2001-10-08  Richard Henderson  <rth@redhat.com>
3122
3123         * varasm.c (set_named_section_flags): Initialize "declared".
3124
3125 2001-10-08  Robert Lipe  <robertlipe@usa.net>
3126
3127         * varasm.c (struct in_named_entry): Add declared.
3128         (named_section_first_declaration): New function.
3129         (default_elf_asm_named_section): Use it.
3130         * output.h (named_section_first_declaration): New.
3131
3132 2001-10-08  Richard Henderson  <rth@redhat.com>
3133
3134         * i386.md (movsi_xor): Export.
3135         (setcc peep2): Use it when available; add an alternative to
3136         match zero_extendhisi2_and.
3137
3138 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3139
3140         * romp-protos.h (romp_initialize_trampoline): New function.
3141         * romp.c (romp_initialize_trampoline): Likewise.
3142         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
3143         romp_initialize_trampoline.
3144
3145 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3146
3147         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
3148         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
3149         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
3150         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
3151
3152 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3153
3154         * unroll.c (loop_iterations): Extend check for multiple back edges.
3155
3156 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
3157
3158         * langhooks.h: New file.
3159         * Makefile.in (OBJS): Added langhooks.o.
3160         (c-lang.o): Depend on langhooks.h.
3161         (c-common.o): Don't depend on tree-inline.h.
3162         (tree-inline.o): Depend on toplev.h.
3163         (langhooks.o): New rule.
3164         * c-common.c: Don't include tree-inline.h.
3165         (c_mark_lang_decl): Mark argument c as unused.
3166         (c_common_lang_init): Don't initialize hooks here.
3167         * c-lang.c: Include langhooks.h, then override some macros.
3168         (lang_hooks): Initialize with macros in langhooks.h.
3169         (c_init): Don't initialize hooks here.
3170         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
3171         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
3172         * tree-inline.c: Include toplev.h.  Don't define hook variables.
3173         * tree-inline.h: Don't define hook types nor declare hook
3174         variables.  Move macros to...
3175         * langhooks.c: ... new file, as functions.  Adjust all callers.
3176
3177 2001-10-08  Jeffrey A Law  <law@cygnus.com>
3178
3179         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
3180         purge_mem_unchanging_flag on all instructions, not just on those
3181         before NOTE_INSN_FUNCTION_BEG.
3182
3183 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
3184
3185         * cppmacro.c (_cpp_create_definition): Leave comments off.
3186
3187         * doc/cpp.texi: Update.
3188
3189 2001-10-08  DJ Delorie  <dj@redhat.com>
3190
3191         * c-decl.c (grokfield): Make sure the only unnamed fields
3192         we're allowing are either structs or unions.
3193         * doc/extend.texi: Add documentation for the unnamed field
3194         extension.
3195
3196 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
3197
3198         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
3199         * configure.in: Use it.
3200         * configure: Regenerated.
3201         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
3202         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
3203
3204 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
3205
3206         * cppfiles.c (open_file): Don't mark zero-length files
3207         never-reread here.  Don't output diagnostics here either.
3208         (stack_include_file): Mark them never-reread here.
3209         (_cpp_read_file): Update.
3210
3211 2001-10-08  Richard Henderson  <rth@redhat.com>
3212
3213         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
3214
3215 2001-10-08  Richard Henderson  <rth@redhat.com>
3216
3217         * expr.c (store_expr): When converting a CONST_INT for storage
3218         in a SUBREG, convert it to both SUBREG modes before stripping
3219         the SUBREG.
3220
3221 2001-10-08  Richard Henderson  <rth@redhat.com>
3222
3223         * varasm.c (restore_varasm_status): New.
3224         * function.h: Declare it.
3225         * function.c (pop_function_context_from): Call it.
3226
3227 2001-10-08  Richard Henderson  <rth@redhat.com>
3228
3229         * c-common.h (struct c_lang_decl): Add declared_inline.
3230         * c-tree.h (DECL_DECLARED_INLINE_P): New.
3231         * c-lang.c (c_disregard_inline_limits): Use it.
3232         * c-decl.c (duplicate_decls): Likewise.
3233         (pushdecl, redeclaration_error_message): Likewise.
3234         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
3235         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
3236         Set DECL_INLINE if -finline-functions.
3237         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
3238
3239 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
3240
3241         * cppmacro.c (funlike_invocation_p): Move some logic to caller
3242         in enter_macro_context.  Create a padding token in its own context
3243         if necessary when the search for '(' fails.
3244         (enter_macro_context): Update.
3245
3246 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
3247
3248         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
3249         genmultilib, toplev.c: Fix spelling errors of "separate" as
3250         "seperate", and corresponding spelling errors of related words.
3251
3252 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3253
3254         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
3255         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
3256         Likewise.
3257         * c-dump.c (dump_option_value_info): Likewise.
3258         * c-format.c (format_length_info, format_char_info,
3259         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
3260         * collect2.c (names): Likewise.
3261         * cppdefault.h (default_include): Likewise.
3262         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
3263         * flow.c (life_analysis): Likewise.
3264         * gcc.c (dir_separator_str, modify_target, option_map,
3265         target_option_translations, spec_list_1, extra_specs_1,
3266         init_spec): Likewise.
3267         * gcov.c (gcov_version_string): Likewise.
3268         * genattr.c (write_units): Likewise.
3269         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
3270         * gengenrtl.c (rtx_definition, defs): Likewise.
3271         * genrecog.c (pred_table): Likewise.
3272         * global.c (global_alloc): Likewise.
3273         * lcm.c (optimize_mode_switching): Likewise.
3274         * local-alloc.c (find_free_reg): Likewise.
3275         * params.h (param_info): Likewise.
3276         * predict.c (predictor_info): Likewise.
3277         * protoize.c (unexpansion_struct): Likewise.
3278         * real.c (bmask): Likewise.
3279         * recog.h (insn_operand_data, insn_data): Likewise.
3280         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
3281         * stmt.c (expand_nl_goto_receiver): Likewise.
3282         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
3283         target_switches, target_options): Likewise.
3284         * tradcif.y (token, tokentab2, yylex): Likewise.
3285         * tree.h (attribute_spec): Likewise.
3286
3287         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
3288         Likewise.
3289         * arc.c (arc_output_function_epilogue): Likewise.
3290         * arm.c (processors, all_cores, all_architectures,
3291         arm_override_options, isr_attribute_arg, isr_attribute_args,
3292         arm_isr_value): Likewise.
3293         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
3294         Likewise.
3295         * c4x.c (c4x_int_reglist): Likewise.
3296         * d30v.c (override_options): Likewise.
3297         * h8300.c (shift_insn): Likewise.
3298         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
3299         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
3300         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
3301         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
3302         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
3303         * i386.h (processor_costs, ix86_cost): Likewise.
3304         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
3305         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
3306         * m68k.c (codes_68881, codes_FPA): Likewise.
3307         * m88k.c (mode_from_align, max_from_align, all_from_align,
3308         best_from_align, m_options): Likewise.
3309         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
3310         * mcore.c (mode_from_align): Likewise.
3311         * mips/elf64.h (UNIQUE_SECTION): Likewise.
3312         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
3313         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
3314         * mips.h (mips_regno_to_class): Likewise.
3315         * ns32k.c (scales): Likewise.
3316         * pa.c (import_string, magic_milli): Likewise.
3317         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
3318         * sparc.c (leaf_reg_remap, sparc_override_options,
3319         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
3320         Likewise.
3321         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
3322
3323 2001-10-07  Dale Johannesen  <dalej@apple.com>
3324
3325         * reload1.c (reload_reg_free_p): Teach register interference
3326         checking that multiple output reloads are emitted in
3327         reverse order.
3328         reload1.c (reload_reg_reaches_end_p):  Ditto.
3329         reload1.c (reloads_conflict):  Ditto.
3330
3331 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
3332
3333         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
3334         NULL_TREE inside @code.
3335
3336 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
3337
3338         * doc/gcc.texi: Document consistent style of "32-bit",
3339         "Objective-C", and "@code{NULL}".
3340
3341 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
3342
3343         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
3344         (cpp_token_len, cpp_spell_token, cpp_output_token,
3345         _cpp_equiv_tokens): Handle it.
3346         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
3347         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
3348         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
3349         error messages.
3350
3351 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3352
3353         * gcc.c (default_compilers): Remove .ada.
3354
3355 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
3356
3357         * doc/cppinternals.texi: Update.
3358
3359 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
3360
3361         * gcc.c (main): Set this_file_error if the appropriate
3362         compiler for a language has not been installed.
3363
3364 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
3365
3366         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
3367
3368 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
3369
3370         * gccbug.in (CATEGORIES): Add ada.
3371
3372 2001-10-05  Catherine Moore  <clm@redhat.com>
3373
3374         * config/stormy16/stormy-abi:  Document abi changes.
3375         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
3376         (ICALL_REGS): New register class.
3377         (NUM_ARGUMENT_REGISTERS): Now 6.
3378         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
3379         in registers.
3380         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
3381         * config/stormy16.md (call_internal, call_value_internal,
3382         indirect_jump): Use new 'z' constraint.
3383
3384 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
3385
3386         * doc/cppinternals.texi: Update.
3387
3388 2001-10-05  Richard Henderson  <rth@redhat.com>
3389
3390         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
3391         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
3392         the gas section-name-as-label feature.
3393
3394 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
3395
3396         * doc/cppinternals.texi: Update.
3397
3398 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3399
3400         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
3401         to ensure valid SImode constants.
3402
3403 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
3404
3405         * Makefile.in (c-decl.o): Depend on tree-inline.h.
3406         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
3407         * c-decl.c: Include tree-inline.h.
3408         (c_expand_body): Call optimize_inline_calls. Determine whether
3409         a function is inlinable upfront, and only clear
3410         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
3411         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
3412         (c_disregard_inline_limits): New function.
3413         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
3414         (c_post_options): Enable tree inlining if inlining is enabled.
3415         Don't inline trees when instrumenting functions.
3416         (c_init): Initialize lang_disregard_inline_limits and
3417         lang_cannot_inline_tree_fn.
3418         * tree-inline.c (initialize_inlined_parameters): Handle calls
3419         with fewer arguments than declared parameters, and fewer
3420         parameters than passed arguments.  Don't assume value is a
3421         DECL.
3422         (declare_return_variable): Convert return value back to the
3423         original type, if it was promoted.
3424         (tree_inlinable_function_p): New function.
3425         (inlinable_function_p): Don't look at DECL_INLINE if we're
3426         inlining all functions.  Make it work with a NULL id.
3427         Re-check DECL_UNINLINABLE after language-specific checks.
3428         * tree-inline.h (tree_inlinable_function_p): Declare it.
3429         * integrate.c (save_for_inline): Don't bother to prepare argvec
3430         when not inlining.
3431         * cse.c (check_for_label_ref): Don't check deleted labels.
3432
3433         * Makefile.in (tree-inline.o): Depend on newly-included headers.
3434         * tree-inline.c: Include headers needed for the functions moved in.
3435         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
3436         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
3437         (copy_body, initialize_inlined_parameters): Likewise.
3438         (declare_return_variable, inlinable_function_p): Likewise.
3439         (expand_call_inline, expand_calls_inline): Likewise.
3440         (optimize_inline_calls, clone_body): Likewise.
3441         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
3442         (copy_tree_r, remap_save_expr): Likewise.
3443
3444 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
3445
3446         * Makefile.in (OBJS): Added tree-inline.o.
3447         (c-common.o): Depend on tree-inline.h.
3448         (tree-inline.o): New target.
3449         * c-common.c: Include tree-inline.h.
3450         (c_mark_lang_decl): Don't mark saved_tree.
3451         (c_common_lang_init): Set lang_anon_aggr_type_p.
3452         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
3453         (struct c_lang_decl): Moved saved_tree to tree_decl.
3454         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
3455         * integrate.h (function_attribute_inlinable_p): Declare it.
3456         * integrate.c (function_attribute_inlinable_p): Export it.
3457         * tree-inline.c: New file.  Define variables declared in...
3458         * tree-inline.h: New file.  Declare functions to be moved to
3459         tree-inline.c.  Define macros and declare types and hooks for
3460         language-specific tree inlining.
3461         (flag_inline_trees): Moved definition from cp/decl2.c.
3462         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
3463         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
3464         (struct tree_decl): Moved saved_tree from c_lang_decl and
3465         inlined_fns from C++'s lang_decl.
3466
3467 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
3468
3469         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
3470         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
3471
3472 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
3473
3474         * doc/cppinternals.texi: Update.
3475
3476 2001-10-04  Eric Christopher  <echristo@redhat.com>
3477
3478         * config/mips/mips.c (init_cumulative_args): Remember to set
3479         cum->prototype.
3480         * config.gcc: Redo linux configuration. Add target_cpu_default
3481         of soft-float to all mipsisa32 combinations and tx39.
3482         * config/mips/linux.h: Remove include of mips.h.
3483
3484 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
3485
3486         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
3487         HOST_LDFLAGS and HOST_CPPFLAGS.
3488
3489 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
3490
3491         * c-parse.in (objc_inherit_code, objc_pq_context,
3492         objc_public_flag): Make static.
3493         (objc_interface_context, objc_implementation_context,
3494         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
3495         global tree array in objc/objc-act.[ch].
3496         (methoddef): Remove unnecessary code.
3497
3498         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
3499         Hoist struct definitions to objc-act.h.
3500         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
3501         cat_count): Place declaration in objc-act.h.
3502         (objc_tree_index): Move enumeration to objc-act.h.
3503         (objc_global_trees): Place declaration and macro accessors in
3504         objc-act.h.
3505         (implementation_context): Remove duplicate; use
3506         objc_implementation_context instead:
3507         (method_context): Remove duplicate; use objc_method_context
3508         instead.
3509         (objc_ellipsis_node, objc_method_prototype_template,
3510         implemented_classes, function_type): Move global vars to
3511         objc_global_trees.
3512         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
3513         (build_message_expr): Move actual construction of ObjC message
3514         send nodes to finish_message_expr.
3515         (finish_message_expr): New routine, contains code formerly in
3516         build_message_expr.
3517         * objc/objc-act.h (finish_message_expr): New prototype.
3518         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
3519         declarations; these vars are now part of objc_global_trees.
3520         (objc_tree_index, objc_global_trees): Move definitions from
3521         objc-act.c.
3522         * objc/objc-tree.def: Update copyright info.
3523
3524 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
3525
3526         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
3527         op is NULL.
3528         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
3529         only if TARGET_ARCH64.
3530
3531 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
3532
3533         * doc/extend.texi: Fix some problems with previous checkin.
3534         * doc/invoke.texi: Likewise.
3535
3536 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
3537
3538         * cpphash.h: Update comments.
3539         (cpp_context): Update.
3540         (spec_nodes): Remove n__Pragma.
3541         * cppinit.c (cpp_create_reader): Update.
3542         (builtin_array): Add _Pragma.
3543         * cpplib.h: Update comments.
3544         (NODE_DISABLED, BT_PRAGMA): New.
3545         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
3546         * cppmacro.c (struct cpp_macro): Remove disabled.
3547         (builtin_macro): Return int, handle _Pragma, push the new token
3548         on the context stack.
3549         (funlike_invocation_p): Unconstify, update.
3550         (enter_macro_context): Handle builtins here.
3551         (replace_args, push_token_context, push_ptoken_context):
3552         Update for prototype changes.
3553         (_cpp_pop_context): Update.
3554         (cpp_get_token): Don't handle buitins, nor _Pragma here.
3555         (cpp_sys_macro_p): Update.
3556         (_cpp_free_definition): Clear disabled flag.
3557         (_cpp_create_definition): Upate.
3558         * cppmain.c: Update comments.
3559
3560 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
3561                                 Andreas Jaeger <aj@suse.de>,
3562                                 Jan Hubicka    <jh@suse.cz>
3563
3564         * doc/invoke.texi (i386 Options): Document x86-64 options.
3565         (i386 and x86-64 Options): Rename i386 options section.
3566
3567         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
3568         (TARGET_SWITCHES): Add -munwind-info.
3569         (MASK_NO_UNWIND_INFO): New.
3570         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
3571         biarch compilation.
3572         (ASM_OUTPUT_DOUBLE_INT): New.
3573
3574         * config/i386/linux64.h: New spec file for Linux x86-64 support.
3575         * config.gcc: Fix tm_file settings for x86-64.
3576         * config/i386/x86-64.h: New file with OS independent x86-64
3577         definitions.
3578         * config/i386/biarch64.h: New file used to configure compiler
3579         to biarch/64bit compilation.
3580
3581         * config/i386/i386.c: (override_options): Set flags default
3582         for 64bit compilation.
3583
3584 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
3585
3586         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
3587         (ix86_expand_int_movcc): Optimize DImode conditional moves with
3588         constants on x86_64.
3589         (ix86_attr_length_immediate_default): Support MODE_DI.
3590         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
3591         condition.
3592         (indirect_jump, tablejump): Turn into expander.
3593
3594 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
3595
3596         * c-common.c (c_format_attribute_table): Make format and
3597         format_arg attributes apply to function types rather than to
3598         decls.
3599         (is_valid_printf_arglist): Construct an attribute list and pass
3600         that to check_function_format rather than a name.
3601         * c-common.h (check_function_format): Adjust prototype.
3602         * c-decl.c (duplicate_decls): Preserve attributes from type of
3603         built-in decl when allowing for harmless conflict in types.
3604         * c-format.c (record_function_format,
3605         record_international_format, function_format_list,
3606         international_format_info, international_format_list): Remove.
3607         (function_format_info): Remove next, name and assembler_name.
3608         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
3609         (decode_format_attr): New.
3610         (handle_format_attribute): Handle receiving a type rather than a
3611         decl.  Call decode_format_attr.  Store format information in a
3612         function_format_info.
3613         (handle_format_arg_attribute): Correct comment.  Handle receiving
3614         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
3615         arg_num.
3616         (check_format_info_recurse, check_format_info_main): Take argument
3617         numbers as unsigned HOST_WIDE_INT.
3618         (check_function_format): Take a list of attributes from the
3619         function type rather than a name or assembler name.  Check for
3620         format attributes in that list and the attributes on the type of
3621         the current function rather than looking through
3622         function_format_list.
3623         (check_format_info): Use unsigned HOST_WIDE_INT for argument
3624         numbers.
3625         (check_format_info_recurse): Take format_arg attributes from the
3626         type of the function calls rather than using
3627         international_format_list.  Allow for multiple format_arg
3628         attributes.
3629         * c-typeck.c (build_function_call): Pass type attributes to
3630         check_function_format rather than name or assembler name.  Don't
3631         require there to be a name or assembler name to check formats.
3632
3633 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
3634
3635         * attribs.c (decl_attributes): Possibly call
3636         insert_default_attributes to insert default attributes on
3637         functions in a lazy manner.
3638         * builtin-attrs.def: New file; define the default format and
3639         format_arg attributes.
3640         * c-common.c (c_format_attribute_table): Move to earlier in the
3641         file.
3642         (c_common_nodes_and_builtins): Initialize format_attribute_table.
3643         (enum built_in_attribute, built_in_attributes,
3644         c_attrs_initialized, c_init_attributes,
3645         c_common_insert_default_attributes): New.
3646         (c_common_lang_init): Don't initialize format_attribute_table.  Do
3647         call c_init_attributes.
3648         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
3649         * c-common.h (init_function_format_info): Don't declare.
3650         (c_common_insert_default_attributes): Declare.
3651         * c-decl.c (implicitly_declare, builtin_function): Call
3652         decl_attributes.
3653         (init_decl_processing): Don't call init_function_format_info.
3654         (insert_default_attributes): New.
3655         * c-format.c (handle_format_attribute,
3656         handle_format_arg_attribute): Be quiet about inappropriate
3657         declaration when applying default attributes.
3658         (init_function_format_info): Remove.
3659         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
3660         (insert_default_attributes): Declare.
3661
3662 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
3663
3664         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
3665
3666 2001-10-01  Jim Wilson  <wilson@redhat.com>
3667
3668         * sched-deps.c (add_dependence): When elide conditional dependence,
3669         check that insn doesn't modify cond2.
3670
3671 2001-10-01  Dale Johannesen  <dalej@apple.com>
3672
3673         * config/rs6000/rs6000.h (enum processor_type): Add support
3674         for 7400 (G4) and 7450.
3675         (RTX_COSTS): Ditto.
3676         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
3677         (rs6000_issue_rate): Ditto.
3678         (rs6000_adjust_cost): Fix cycle counts for compares.
3679         (debug_stack_info):  Fix an obvious typo.
3680         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
3681         * doc/invoke.texi: Document.
3682         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
3683         for Darwin.
3684         (PROCESSOR_DEFAULT): Ditto.
3685
3686 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
3687
3688         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
3689         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
3690         later recursive make invocation.
3691
3692 2001-10-01  Hans Boehm  <boehm@acm.org>
3693
3694         * optabs.c (emit_libcall_block): When using non-call exceptions,
3695         don't add REG_LIBCALL reg notes to trapping calls.
3696
3697 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
3698
3699         * flow.c (propagate_block_delete_libcall): Remove unused first arg
3700         (propagate_one_insn):  Update for above change
3701
3702 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
3703
3704         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
3705         _Unwind_GetTextRelBase): Argument is unused.
3706
3707 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3708
3709         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
3710         Loop through NOPs, placeholders, and components.
3711         Don't go through NOPs if change mode.
3712         (record_alias_subset): Do nothing if SUBSET and SET are the same.
3713         * emit-rtl.c (set_mem_alias_set): Enable check.
3714         * expr.c (find_placeholder): New function.
3715         (expand_expr, case PLACEHOLDER_EXPR): Use it.
3716         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
3717         to modify it and avoid unneeded copies.
3718         * expr.h (expand_expr): Always define.
3719         (find_placeholder): New declaration.
3720
3721 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3722
3723         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
3724         operand 2 is the stack pointer.
3725         ("addr-peephole"): Fix address computation peephole when operand 2
3726         is the stack pointer.
3727
3728 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3729
3730         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
3731         (ix86_setup_incoming_varargs): Likewise.
3732
3733 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
3734
3735         * stor-layout.c (layout_type): Don't complain about too-large
3736         array here.
3737
3738 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3739
3740         * function.c (keep_stack_depressed): Don't use delete_insn.
3741
3742         * expr.h (set_mem_alias_set): Move decl to here.
3743         * rtl.h (mem_attrs): New typedef and struct.
3744         (union rtunion_def): Add field for mem_attrs.
3745         (X0MEMATTR, MEM_ATTRS): New macros.
3746         (MEM_ALIAS_SET): Use MEM_ATTRS.
3747         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
3748         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
3749         (set_mem_alias_set): Delete decl from here.
3750
3751         * alias.c (set_mem_alias_set): Delete from here.
3752         * emit-rtl.c (mem_attrs_htab): New variable.
3753         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
3754         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
3755         (mem_attrs_mark, get_mem_attrs): Likewise.
3756         (gen_rtx_MEM): Clear MEM_ATTRS.
3757         (set_mem_attributes): Move to here.
3758         (set_mem_alias_set): Likewise, and call get_mem_attrs.
3759         (init_emit_once): const_int_htab now deletable htab.
3760         Initialize mem_attrs_htab.
3761         * explow.c (set_mem_attributes): Delete from here.
3762         * function.c (put_var_into_stack): Clear MEM_ATTRS.
3763         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
3764         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
3765         * reload1.c (reload): Rework changing REG to MEM.
3766
3767 2001-09-30  H.J. Lu <hjl@gnu.org>
3768
3769         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
3770         * config.in: Rebuild.
3771
3772 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3773
3774         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
3775         ("tsthi_1"): Avoid allocation in register y.
3776         ("*movqi_68hc12"): Reorganize and fix constraints.
3777         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
3778         ("addqi3"): Likewise.
3779         ("addhi3"): Fix constraints.
3780         ("*logicalhi3_zexthi"): Disparage soft registers.
3781
3782 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3783
3784         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
3785         to tmp reg.
3786
3787 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3788
3789         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
3790         that we use setjmp/longjmp exceptions.
3791
3792 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
3793
3794         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
3795         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
3796         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
3797         _cpp_pool_alloc, _cpp_next_chunk): Remove.
3798         (_cpp_extend_buff, BUFF_ROOM): Update.
3799         (_cpp_append_extend_buff): New.
3800         (struct cpp_reader): Remove macro_pool, add a_buff.
3801         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
3802         macro_pool.
3803         (cpp_destroy): Free a_buff instead of macro_pool.
3804         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
3805         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
3806         _cpp_pool_alloc, ): Remove.
3807         (parse_number, parse_string): Update use of _cpp_extend_buff.
3808         (_cpp_extend_buff): Update.
3809         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
3810         * cpplib.c (glue_header_name, parse_answer):
3811         Update use of _cpp_extend_buff.
3812         (cpp_register_pragma, cpp_register_pragma_space): Use
3813         _cpp_aligned_alloc.
3814         (do_assert, do_unassert): Check for EOL, update.
3815         * cppmacro.c (stringify_arg, collect_args): Update to use
3816         _cpp_extend_buff and _cpp_append_extend_buff.
3817         (save_parameter, parse_params, alloc_expansion_token,
3818         _cpp_create_definition): Rework memory management.
3819
3820 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
3821
3822         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
3823         update md_exec_prefix.
3824         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
3825         to string constant.
3826
3827 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
3828
3829         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
3830         (SELECT_CC_MODE): Use s390_select_ccmode.
3831         * config/s390/s390-protos.h (s390_select_ccmode): Add.
3832         * config/s390/s390.c (s390_select_ccmode): New.
3833         (s390_match_ccmode): Add CCLmode.
3834         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
3835         (output_branch_condition, output_inverse_branch_condition): Removed.
3836         (print_operand): Use s390_branch_condition_mnemonic.
3837         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
3838         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
3839         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
3840
3841         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
3842         when converting conditional branches to far branches.
3843         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
3844         cmpint_di): Use CCSmode instead of CCUmode.
3845
3846         * config/s390/s390.c (legitimate_la_operand_p): New.
3847         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
3848         * config/s390/s390.md (movsi): Convert load address patterns to
3849         arithmetic operations when necessary.
3850         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
3851         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
3852         (*do_la_reg_0): Don't use before reload.
3853
3854         * config/s390/s390.c (legitimize_address): Make more efficient
3855         use of two-register addressing mode.
3856
3857         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
3858         with -mno-backchain in some corner cases.
3859
3860         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
3861
3862 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
3863
3864         * reload.c (find_reloads): Mark new USE insns with QImode.
3865         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
3866         find_reloads_subreg_address): Likewise.
3867         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
3868         encountered.
3869         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
3870         CLOBBERs.
3871         (reload): Make sure there are no USEs with mode other than
3872         VOIDmode.  At the end, remove those marked with QImode.
3873
3874 2001-09-29  Per Bothner  <per@bothner.com>
3875
3876         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
3877         * Makefile.in (includedir):  Rename to local_includedir.
3878         (includedir):  Define as $(prefix)/include.
3879         * config.in (PREFIX_INCLUDE_DIR):  New variable.
3880         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
3881
3882 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
3883
3884         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
3885         storehps builtins.
3886         * doc/extend.texi (Vector Extensions): New node.
3887         * doc/invoke.texi (Machine Dependent Options): Add documentation for
3888         i386 -mmmx, -msse, -m3dnow.
3889
3890 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
3891
3892         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
3893
3894 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
3895
3896         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
3897
3898         * doc/invoke.texi (Optimize Options): Delete spurious @table.
3899
3900 2001-09-28  Richard Henderson  <rth@redhat.com>
3901
3902         * varasm.c (assemble_integer): Bound alignment check by
3903         BIGGEST_ALIGNMENT.
3904
3905         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
3906
3907 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3908
3909         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
3910
3911 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
3912
3913         Mostly from Graham Stott  <grahams@redhat.com>
3914         * c-common.c (type_for_mode): Add support for V2SFmode.
3915         * tree.c (build_common_tree_nodes_2): Likewise.
3916         * tree.h (enum tree_index, global_trees): Likewise.
3917         * config/i386/i386.c (x86_3dnow_a): New variable.
3918         (override_options): Support 3Dnow extensions.
3919         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
3920         Athlon's version of 3Dnow.
3921         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
3922         (ix86_expand_builtin): Handle them.
3923         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
3924         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
3925         TARGET_3DNOW_A): New macros.
3926         (TARGET_SWITCHES): Add 3Dnow switches.
3927         (VALID_MMX_REG_MODE_3DNOW): New macro.
3928         (VECTOR_MODE_SUPPORTED_P): Use it.
3929         (enum ix86_builtins): Add entries for 3Dnow builtins.
3930         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
3931         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
3932         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
3933         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
3934         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
3935         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
3936         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
3937         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
3938         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
3939         sfence_insn, prefetch): Make these available if TARGET_SSE or
3940         TARGET_3DNOW_A.
3941
3942 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
3943
3944         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
3945         ix86_va_start, ix86_build_va_list): Declare.
3946         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
3947         ix86_va_start, ix86_build_va_list): New global functions.
3948         * i386.md (sse_prologue_save_insn): New insn.
3949         (sse_prologue_save): New expander.
3950         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
3951         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
3952
3953 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
3954
3955         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
3956         Use size_t everywhere, make definitions consistent with
3957         prototypes.
3958
3959 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
3960
3961         * gcse.c (replace_store_insn): Use delete_insn.
3962         * loop.c (move_movables): Likewise; avoid delete_insn
3963         from clobbering notes moved elsewhere.
3964         (check_dbra_loop): Use delete_insn.
3965         * ssa.c (convert_from_ssa): Likewise.
3966         * cse.c (cse_insn): Use delete_insn.
3967
3968 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
3969
3970         * cpphash.h (struct cpp_buff): Make unsigned.
3971         (_cpp_get_buff): Take length of size_t.
3972         (_cpp_unaligned_alloc): New.
3973         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
3974         (struct cpp_reader): Remove ident_pool.  Add u_buff.
3975         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
3976         (cpp_destroy): Destroy u_buff, not ident_pool.
3977         * cpplex.c (parse_number, parse_string, save_comment,
3978         cpp_token_as_text): Update to use the unaligned buffer.
3979         (new_buff): Make unsigned.
3980         (_cpp_unaligned_alloc): New.
3981         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
3982         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
3983         Similarly.
3984         (collect_args): Make unsigned.
3985
3986 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
3987
3988         * cpplex.c (cpp_output_token): Use a putc loop for
3989         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
3990
3991         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
3992         * configure, config.in: Regenerate.
3993         * system.h: Replace fwrite and fprintf with their unlocked
3994         variants if available.
3995
3996 2001-09-27  Richard Henderson  <rth@redhat.com>
3997
3998         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
3999         in favour of .eh_frame.
4000
4001 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
4002
4003         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
4004         to macros.
4005         (LIBCALL_VALUE): Likewise.
4006
4007 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
4008
4009         * cpphash.h: Update comment.
4010         * cpplex.c: Update comments.
4011         (_cpp_can_paste): Remove.
4012         * cpplib.h (_cpp_can_paste): Remove.
4013         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
4014         lexer rather than _cpp_can_paste.
4015
4016 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
4017
4018         * doc/cppinternals.texi: Update.
4019
4020 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
4021
4022         * cpphash.h (struct cpp_pool): Remove locks and locked.
4023         (struct cpp_context): Add member buff.
4024         (struct cpp_reader): Remove member argument_pool.
4025         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
4026         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
4027         * cpplex.c (chunk_suitable): Remove pool argument.
4028         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
4029         (new_buff, _cpp_extend_buff): Update.
4030         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
4031         which buffer is returned.
4032         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
4033         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
4034         * cppmacro.c (lock_pools, unlock_pools): Remove.
4035         (push_ptoken_context): Take a _cpp_buff.
4036         (enter_macro_context): Pool locking removed.
4037         (replace_args): Use a _cpp_buff for the replacement list with
4038         arguments replaced.
4039         (push_token_context): Clear buff.
4040         (expand_arg): Use _cpp_pop_context.
4041         (_cpp_pop_context): Free a context's buffer, if any.
4042
4043 2001-09-26  DJ Delorie  <dj@redhat.com>
4044
4045         * c-typeck.c (digest_init): Check for sizeless arrays.
4046
4047 2001-09-26  Richard Henderson  <rth@redhat.com>
4048
4049         * optabs.c (init_one_libfunc): Create a dummy function type
4050         instead of using error_mark_node.
4051
4052 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
4053
4054         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
4055         _cpp_extend_buff, _cpp_free_buff): New.
4056         (struct cpp_reader): New member free_buffs.
4057         * cppinit.c (cpp_destroy): Free buffers.
4058         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
4059         _cpp_extend_buff, _cpp_free_buff): New.
4060         * cpplib.h (struct cpp_options): Remove unused member.
4061         * cppmacro.c (collect_args): New.  Combines the old parse_arg
4062         and parse_args.  Use _cpp_buff for memory allocation.
4063         (funlike_invocation_p, replace_args): Update.
4064
4065 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
4066
4067         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
4068
4069 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
4070
4071         * except.c (sjlj_mark_call_sites): Change address inside sequence.
4072
4073 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
4074
4075         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
4076         glibc.
4077
4078 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
4079             Jim Wilson  <wilson@redhat.com>
4080
4081         * doc/install.texi (Specific, ia64-*-linux): Document.
4082
4083 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
4084
4085         * Makefile.in (cfgrtl.o): Add.
4086         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
4087         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
4088         free_aux_for_edge): Declare.
4089         * cfg.c
4090         (HAVE_return): Undefine.
4091         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
4092         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
4093         free_aux_for_edge): New global functions.
4094         (first_delete_block): New static variable.
4095         (init_flow): Clear first_delete_block.
4096         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
4097          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
4098          try_redirect_by_replacing_jump, last_loop_beg_note,
4099          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
4100          delete_insn, delete_insn_chain, create_basic_block_structure,
4101          create_basic_block, flow_delete_block, compute_bb_for_insn,
4102          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
4103          set_block_for_new_insns, split_block, merge_blocks_nomove,
4104          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
4105          redirect_edge_and_branch, force_nonfallthru_and_redirect,
4106          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
4107          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
4108          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
4109          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
4110          purge_all_dead_edges): Move to ....
4111         * cfgrtl.c: New file; .... Here.
4112
4113         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
4114         (reroder_basic_block): Use alloc_aux_for_blocks.
4115         * predict.c (estimate_bb_frequencies): Likewise; use
4116         alloc_aux_for_edges.
4117         * profile.c (compute_branch_probabilities): Likewise.
4118         (branch_prob): Likewise.
4119         * reg-stack.c (reg_to_stack): Likewise.
4120
4121         * emit-rtl.c (emit_insns_after): Never return NULL.
4122
4123         * basic-block.h (set_block_for_new_insns): Delete.
4124         * cfgrtl.c (set_block_for_new_insns): Delete.
4125
4126         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
4127         calls when crossjumping.
4128
4129         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
4130         * unroll.c (copy_loop_body): Use delete_insn.
4131
4132         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
4133         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
4134         keep_stack_depressed): Likewise.
4135         * gcse.c (cprop_cc0_jump): Likewise.
4136         * local-alloc.c (update_equiv_regs): Likewise.
4137         * loop.c (scan_loop, loop_delete_insns): Likewise.
4138         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
4139         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
4140         delete_output_reload, delete_address_reloads_1,
4141         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
4142         Likewise.
4143         * sibcall.c (replace_call_placeholder): Likewise.
4144         * cse.c (cse_insn): Likewise.
4145
4146 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
4147
4148         From Graham Stott  <grahams@redhat.com>
4149         (def_builtin): Only define builtins appropriate for target_flags.  All
4150         callers changed.
4151         (builtin_decsription): Add new field mask which is used to determine
4152         when to define the builtin via the macro def_builtin.
4153
4154         (bdesc_comi): Initialise new mask fields.
4155         (bdesc_2srg): Likewise.
4156         (bdesc_1arg): Likewise.
4157
4158         * config/i386/i386.c (ix86_init_builtins): Correct return type
4159         building v4hi_ftype_v4hi_int_int tree node.
4160         (ix86_expand_sse_comi): Fix typo swapping operands.
4161         Don't swap comparision condition, it is already swapped.
4162         (ix86_expand_sse_compare): Before swapping operands
4163         move operand 1 into new rtx and not the target rtx.
4164         Don't swap comparison condition, it is already swapped.
4165         Always check whether we need to create a new TARGET.
4166
4167         * config/i386/i386.md: (sse_comi) Fix typos.
4168         (sse_ucomi): Likewise.
4169         (cvtss2si): Fix operand 0 contraint.
4170         (cvttss2si): Likewise.
4171         (sse_unpckhps): Fix mode for operand 2.
4172         (sse_unpcklps): Likewise.
4173
4174 2001-09-25  Graham Stott  <grahams@redhat.com>
4175
4176         * sibcall.c (skip_copy_to_return_value): Tighten return value
4177         copy check.
4178
4179 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
4180
4181         * rs6000.c (lwa_operand): Address must be word aligned.
4182
4183 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4184
4185         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
4186         number has been set.
4187         (type_hash_mark): Mark type itself.
4188
4189 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
4190
4191         * c-lex.c (cb_def_pragma): Update.
4192         (c_lex): Update, and skip padding.
4193         * cppexp.c (lex, parse_defined): Update, remove unused variable.
4194         * cpphash.h (struct toklist): Delete.
4195         (union utoken): New.
4196         (struct cpp_context): Update.
4197         (struct cpp_reader): New members eof, avoid_paste.
4198         (_cpp_temp_token): New.
4199         * cppinit.c (cpp_create_reader): Update.
4200         * cpplex.c (_cpp_temp_token): New.
4201         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
4202         (cpp_output_token): Don't print leading whitespace.
4203         (cpp_output_line): Update.
4204         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
4205         do_include_common, do_line, do_ident, do_pragma,
4206         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
4207         parse_assertion): Update.
4208         (get_token_no_padding): New.
4209         * cpplib.h (CPP_PADDING): New.
4210         (AVOID_LPASTE): Delete.
4211         (struct cpp_token): New union member source.
4212         (cpp_get_token): Update.
4213         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
4214         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
4215         replace_args, quote_string, stringify_arg, parse_arg, next_context,
4216         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
4217         _cpp_backup_tokens, _cpp_create_definition): Update.
4218         (push_arg_context): Delete.
4219         (padding_token, push_token_context, push_ptoken_context): New.
4220         (make_string_token, make_number_token): Update, rename.
4221         (cpp_get_token): Update to handle tokens as pointers to const,
4222         and insert padding appropriately.
4223         * cppmain.c (struct printer): New member prev.
4224         (check_multiline_token): Constify.
4225         (do_preprocessing, cb_line_change): Update.
4226         (scan_translation_unit): Update to handle spacing.
4227         * scan-decls.c (get_a_token): New.
4228         (skip_to_closing_brace, scan_decls): Update.
4229         * fix-header.c (read_scan_file): Update.
4230
4231         * doc/cpp.texi: Update.
4232
4233 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4234
4235         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
4236         leak by passing malloc'ed pointer to reconcat, not concat.
4237
4238 2001-09-24  DJ Delorie  <dj@redhat.com>
4239
4240         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
4241
4242 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
4243
4244         * flow.c (delete_dead_jumptables): Delete jumptable if the only
4245         reference is from the literal pool.
4246
4247 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
4248
4249         * doc/install.texi (Final install): Request additional information
4250         in mail about successful builds.
4251
4252 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4253
4254         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
4255         initial value of return pointer register instead of value in frame-20.
4256         Revise comments.
4257
4258 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4259
4260         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
4261         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
4262         the libcall if there isn't a referenced identifier for the symbol.
4263
4264 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4265
4266         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
4267         non 64-bit machines.  Use these as a plabel for the trampoline.
4268         (TRAMPOLINE_SIZE): Adjust size for new words.
4269         (INITIALIZE_TRAMPOLINE): Initialize new words.
4270         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
4271         pointer to the plabel in the trampoline.
4272
4273 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4274
4275         * pa.c (function_arg): Pass floating arguments in both general and
4276         floating registers in indirect (dynamic) calls when generating code
4277         for the 32 bit ABI and the HP assembler.
4278
4279 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4280
4281         * doc/install.texi: Markup fixes.
4282         Use Solaris 2, SunOS 4 as appropriate.
4283         (Specific, *-*-solaris2*): Explain this.
4284         Unconditionally warn against /usr/ucb tools.
4285         Remove Sun as warning, obsolete.
4286         Move X11 header bug workaround here, update patches.
4287         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
4288         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
4289
4290 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
4291
4292         * errors.h (warning, error, fatal, internal_error): Don't mark
4293         with ATTRIBUTE_PRINTF_n.
4294         * toplev.h (internal_error, fatal_io_error, warning, error,
4295         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
4296         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
4297         Likewise.
4298
4299 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4300
4301         * function.c (pop_function_context_from): var_refs_queue
4302         and temp slots now in GC memory.
4303         (mark_function_status, free_after_compilation): Likewise;
4304         also struct function now in GC memory.
4305         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
4306         (combine_temp_slots): Likewise.
4307         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
4308         (prepare_function_start): Use GC memory for struct function.
4309         (mark_temp_slot): Deleted.
4310         (gcc_mark_struct_function): struct function now in GC memory.
4311
4312         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
4313         code for division, not modulus.
4314
4315         * rtl.def (MEM): Remove obsolete part of comment.
4316
4317 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
4318
4319         * c-format.c (init_function_format_info): Check __builtin_printf
4320         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
4321         in gnu89 mode.
4322
4323 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4324
4325         * c-common.c (format_attribute_table): Remove decl.
4326         * tree.h (format_attribute_table, lang_attribute_table): New decls.
4327         (lang_attribute_common): Likewise.
4328
4329         * function.c (fix_lexical_address): Use set_mem_alias_set.
4330         (expand_function_start): Likewise.
4331         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
4332
4333         * varasm.c (output_constant): Fix unused variable warning.
4334
4335         * attribs.c: New file, from c-common.c.
4336         (attribute_tables): Now four elements.
4337         (format_attribute_table, lang_attribute_common): New variables.
4338         (init_attributes): Reflect above changes.
4339         (handle_mode_attribute): Delete check for wider than uintmax.
4340         * c-common.c: Delete parts moved to attribs.c.
4341         (enum attrs): Deleted; unused.
4342         (c_format_attribute_table): New variable.
4343         (c_common_lang_init): Initialize format_attribute_table with it.
4344         * c-common.h (decl_attributes): Remove decl.
4345         * tree.h (decl_attribute): Move it to here.
4346         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
4347         (attribs.o): New rule.
4348
4349 2001-09-22  Andreas Jaeger  <aj@suse.de>
4350
4351         * builtins.c (c_getstr): Remove unused variable.
4352
4353 2001-09-21  Richard Henderson  <rth@redhat.com>
4354
4355         * reload1.c (reload): Use delete_insn instead of splatting
4356         NOTE_INSN_DELETED.
4357
4358 2001-09-21  Richard Henderson  <rth@redhat.com>
4359
4360         * reload.c (push_secondary_reload): Don't check for "=" in output
4361         constraint after ""->ALL_REGS check.
4362
4363 2001-09-21  Richard Henderson  <rth@redhat.com>
4364
4365         * predict.c (expected_value_to_br_prob): Use pc_set.
4366
4367         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
4368         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
4369
4370 2001-09-21  Richard Henderson  <rth@redhat.com>
4371
4372         * rtl.h (LCT_RETURNS_TWICE): New.
4373         * calls.c (emit_call_1): Set current_function_calls_setjmp for
4374         ECF_RETURNS_TWICE.
4375         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
4376         to ECF_RETURNS_TWICE.
4377         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
4378         call to setjmp.
4379
4380         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
4381
4382         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
4383         (JMP_BUF_SIZE): New.
4384
4385 2001-09-21  Richard Henderson  <rth@redhat.com>
4386
4387         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
4388         to R8_REGS.
4389
4390 2001-09-21  Richard Henderson  <rth@redhat.com>
4391
4392         * tree.def (FDESC_EXPR): New.
4393         * expr.c (expand_expr): Handle it.
4394         * varasm.c (initializer_constant_valid_p): Likewise.
4395         (output_constant): Likewise.
4396         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
4397         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
4398         (ASM_OUTPUT_FDESC): New.
4399         * doc/tm.texi: Document the new macros.
4400
4401 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
4402
4403         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
4404         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
4405         once merging is complete.
4406
4407 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4408
4409         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
4410
4411 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
4412
4413         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
4414         that would be invalid after a merge.
4415
4416 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
4417
4418         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
4419         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
4420         remove some labels.
4421         (flow_delete_insn): This one.
4422         (delete_insn_chain): Rename from ...; do not care labels.
4423         (flow_delete_insn_chain): ... this one.
4424         (flow_delete_block): Remove the insns one BB has been expunged.
4425         (merge_blocks_nomove): Likewise.
4426         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
4427         updating BB boundaries.
4428         (tidy_fallthru_edge): Likewise.
4429         (commit_one_edge_insertion): Likewise.
4430         * cfgbuild.c (find_basic_block): Likewise.
4431         (find_basic_blocks_1): Likewise.
4432         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
4433         (try_crossjump_to_edge): Likewise.
4434         (try_optimize_cfg): Likewise.
4435         * cse.c (delete_trivially_dead_insns): Likewise.
4436         * df.c (df_insn_delete): Likewise.
4437         * doloop.c (doloop_modify): Use delete_related_insns.
4438         * emit-rtl.c (try_split): Likewise.
4439         (remove_insn): Update BB boundaries.
4440         * expect.c (connect_post_landing_pads): Use delete_related_insns.
4441         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
4442         updating BB boundaries.
4443         (propagate_block_delete_insn): Likewise.
4444         (propagate_block_delete_libcall): Likewise.
4445         * function.c (delete_handlers): Use delete_related_insns.
4446         (thread_prologue_and_epilogue_insns): Likewise.
4447         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
4448         * genpeep.c (gen_peephole): Use delete_related_insns.
4449         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
4450         BB boundaries.
4451         (find_cond_trap): Likewise.
4452         * integrate.c (save_for_inline): Use delete_related_insns.
4453         (copy_insn_list): Likewise.
4454         * jump.c (pruge_linie_number_notes): Likewise.
4455         (duplicate_loop_exit_test): Likewise.
4456         (delete_computation): Likewise.
4457         (delete_related_insn): Rename from ...; use delete_insn
4458         (delete_insn): ... this one.
4459         (redirect_jump): Use delete_related_insns.
4460         * loop.c (scan_loop): Likewise.
4461         (move_movables): Likewise.
4462         (find_and_verify_loops): Likewise.
4463         (check_dbra_loop): Likewise.
4464         * recog.c (peephole2_optimize): Likewise.
4465         * reg-stack.c (delete_insn_for_stacker): Remove.
4466         (move_for_stack_reg): Use delete_insn.
4467         * regmove.c (combine_stack_adjustments_for_block): Likewise.
4468         * reload1.c (delete_address_reloads): Use delete_related_insns.
4469         (fixup_abnormal_edges): Use delete_insn.
4470         * recog.c (emit_delay_sequence): Use delete_related_insns.
4471         (delete_from-delay_slot): Likewise.
4472         (delete_scheduled_jump): likewise.
4473         (optimize_skip): Likewise.
4474         (try_merge_delay_insns): Likewise.
4475         (full_simple_delay_slots): Likewise.
4476         (fill_slots_from_thread): Likewise.
4477         (relax_delay_slots): Likewise.
4478         (make_return_insns): Likewise.
4479         (dbr_schedule): Likewise.
4480         * rtl.h (delete_insn): Rename to delete_related_insns.
4481         (delete_insn, delete_insn_chain): New prototypes.
4482         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
4483         by df_insn_delete already.
4484         * ssa-dce.c (delete_insn_bb): Use delete_insn.
4485         * ssa.c (convert_from_ssa): Use delete_related_insns.
4486         * unroll.c (unroll_loop): Likewise.
4487         (calculate_giv_inc): Likewise.
4488         (copy_loop_body): Likewise.
4489
4490         * i386-protos.h (ix86_libcall_value, ix86_function_value,
4491         ix86_function_arg_regno_p, ix86_function_arg_boundary,
4492         ix86_return_in_memory, ix86_function_value): Declare.
4493         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
4494         new static valurables.
4495         (x86_64_reg_class): New enum
4496         (x86_64_reg_class_name): New array.
4497         (classify_argument, examine_argument, construct_container,
4498          merge_classes): New static functions.
4499         (optimization_options): Enable flag_omit_frame_pointer and disable
4500         flag_pcc_struct_return on 64bit.
4501         (ix86_libcall_value, ix86_function_value,
4502         ix86_function_arg_regno_p, ix86_function_arg_boundary,
4503         ix86_return_in_memory, ix86_function_value): New global functions.
4504         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
4505         (function_arg_advance): Handle x86_64 passing conventions.
4506         (function_arg): Likewise.
4507         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
4508         (RETURN_IN_MEMORY): Move offline.
4509         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
4510         (FUNCTION_VALUE_REGNO_P): New macro.
4511         (FUNCTION_ARG_REGNO_P): Move offline.
4512         (struct ix86_args): Add maybe_vaarg.
4513         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
4514         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
4515
4516 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
4517
4518         * s390.md: Changed attributes for scheduling.
4519         * s390.c: (s390_adjust_cost, s390_adjust_priority)
4520         Changed scheduling
4521
4522 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
4523
4524         Table-driven attributes.
4525         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
4526         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
4527         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
4528         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
4529         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
4530         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
4531         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
4532         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
4533         * tree.h (struct tree_decl): Change machine_attributes to
4534         attributes.
4535         * doc/c-tree.texi: Document that all attributes are now attached
4536         to decls and types.
4537         * c-common.c (add_attribute, attrtab, attrtab_idx,
4538         default_valid_lang_attribute, valid_lang_attribute): Remove.
4539         (attribute_tables, attributes_initialized,
4540         c_common_attribute_table, default_lang_attribute_table): New
4541         variables.
4542         (handle_packed_attribute, handle_nocommon_attribute,
4543         handle_common_attribute, handle_noreturn_attribute,
4544         handle_unused_attribute, handle_const_attribute,
4545         handle_transparent_union_attribute, handle_constructor_attribute,
4546         handle_destructor_attribute, handle_mode_attribute,
4547         handle_section_attribute, handle_aligned_attribute,
4548         handle_weak_attribute, handle_alias_attribute,
4549         handle_no_instrument_function_attribute,
4550         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
4551         handle_no_limit_stack_attribute, handle_pure_attribute): New
4552         functions.
4553         (init_attributes, decl_attributes): Rewrite to implement
4554         table-driven attributes.
4555         * c-common.h (enum attribute_flags): Move to tree.h.
4556         * c-format.c (decl_handle_format_attribute,
4557         decl_handle_format_arg_attribute): Rename to
4558         handle_format_attribute and handle_format_arg_attribute.  Update
4559         for table-driven attributes.
4560         * c-common.h (decl_handle_format_attribute,
4561         decl_handle_format_arg_attribute): Remove prototypes.
4562         (handle_format_attribute, handle_format_arg_attribute): Add
4563         prototypes.
4564         * c-decl.c (grokdeclarator): Handle attributes nested inside
4565         declarators.
4566         * c-parse.in (setattrs, maybe_setattrs): Remove.
4567         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
4568         Update to handle nested attributes properly.
4569         (maybe_resetattrs, after_type_declarator,
4570         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
4571         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
4572         properly.
4573         (make_pointer_declarator): Update to handle nested attributes
4574         properly.
4575         * doc/extend.texi: Update documentation of limits of attributes
4576         syntax.  Warn about problems with attribute semantics in C++.
4577         * target.h (struct target): Remove valid_decl_attribute and
4578         valid_type_attribute.  Add attribute_table and
4579         function_attribute_inlinable_p.
4580         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
4581         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
4582         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
4583         Add.
4584         (TARGET_INITIALIZER): Update.
4585         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
4586         definition.
4587         (function_attribute_inlinable_p): New function.  Check for the
4588         presence of any machine attributes before using
4589         targetm.function_attribute_inlinable_p.
4590         (function_cannot_inline_p): Update.
4591         * Makefile.in (integrate.o): Update dependencies.
4592         * doc/tm.texi: Update documentation of target attributes and
4593         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
4594         * tree.c (default_valid_attribute_p, valid_machine_attribute):
4595         Remove.
4596         (default_target_attribute_table,
4597         default_function_attribute_inlinable_p): New.
4598         (lookup_attribute): Update comment to clarify handling of multiple
4599         attributes with the same name.
4600         (merge_attributes, attribute_list_contained): Allow multiple
4601         attributes with the same name but different arguments to appear in
4602         the same attribute list.
4603         * tree.h (default_valid_attribute_p): Remove prototype.
4604         (struct attribute_spec): New.
4605         (default_target_attribute_table): Declare.
4606         (enum attribute_flags): Move from c-common.h.  Add
4607         ATTR_FLAG_TYPE_IN_PLACE.
4608         (default_function_attribute_inlinable_p): Declare.
4609         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
4610         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
4611         (TARGET_ATTRIBUTE_TABLE): Define.
4612         (vms_attribute_table): New.
4613         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
4614         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
4615         (TARGET_ATTRIBUTE_TABLE): Define.
4616         (arc_attribute_table, arc_handle_interrupt_attribute): New.
4617         * config/arm/arm.c (arm_valid_type_attribute_p,
4618         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
4619         Remove.
4620         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
4621         define.
4622         (TARGET_ATTRIBUTE_TABLE): Define.
4623         (arm_attribute_table, arm_handle_fndecl_attribute,
4624         arm_handle_isr_attribute): New.
4625         * config/avr/avr.c (avr_valid_type_attribute,
4626         avr_valid_decl_attribute): Remove.
4627         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
4628         define.
4629         (TARGET_ATTRIBUTE_TABLE): Define.
4630         (avr_attribute_table, avr_handle_progmem_attribute,
4631         avr_handle_fndecl_attribute): New.
4632         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
4633         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
4634         (TARGET_ATTRIBUTE_TABLE): Define.
4635         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
4636         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
4637         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
4638         (TARGET_ATTRIBUTE_TABLE): Define.
4639         (h8300_attribute_table, h8300_handle_fndecl_attribute,
4640         h8300_handle_eightbit_data_attribute,
4641         h8300_handle_tiny_data_attribute): New.
4642         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
4643         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
4644         Remove prototypes.
4645         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
4646         declarations.
4647         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
4648         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
4649         define.
4650         (TARGET_ATTRIBUTE_TABLE): Define.
4651         (ix86_attribute_table, ix86_handle_cdecl_attribute,
4652         ix86_handle_regparm_attribute): New.
4653         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
4654         i386_pe_valid_type_attribute_p): Remove.
4655         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
4656         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
4657         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
4658         (TARGET_ATTRIBUTE_TABLE): Define.
4659         (ia64_attribute_table): New.
4660         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
4661         interrupt_ident2, model_ident1, model_ident2): Remove.
4662         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
4663         (TARGET_ATTRIBUTE_TABLE): Define.
4664         (init_idents): Update.
4665         (m32r_attribute_table, m32r_handle_model_attribute): New.
4666         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
4667         Remove.
4668         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
4669         (TARGET_ATTRIBUTE_TABLE): Define.
4670         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
4671         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
4672         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
4673         (TARGET_ATTRIBUTE_TABLE): Define.
4674         (mcore_attribute_table, mcore_handle_naked_attribute): New.
4675         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
4676         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
4677         (TARGET_ATTRIBUTE_TABLE): Define.
4678         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
4679         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
4680         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
4681         (TARGET_ATTRIBUTE_TABLE): Define.
4682         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
4683         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
4684         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
4685         (TARGET_ATTRIBUTE_TABLE): Define.
4686         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
4687         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
4688         New.
4689         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
4690         Remove.
4691         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
4692         (TARGET_ATTRIBUTE_TABLE): Define.
4693         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
4694         New.
4695         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
4696         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
4697         (TARGET_ATTRIBUTE_TABLE): Define.
4698         (v850_attribute_table, v850_handle_interrupt_attribute,
4699         v850_handle_data_area_attribute): New.
4700         * config/v850/v850-c.c (mark_current_function_as_interrupt):
4701         Return void.  Call decl_attributes instead of
4702         valid_machine_attribute.
4703
4704 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
4705
4706         * sh-protos.h (sh_pr_n_sets): Declare.
4707         * sh.c (calc_live_regs): If the initial value for PR has been copied,
4708         look at the copy to determine if PR needs to be saved.
4709         sh_pr_n_sets: New function.
4710         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
4711         (ALLOCATE_INITIAL_VALUE): Define.
4712
4713         * sh.c (initial_elimination_offset):
4714         Fix RETURN_ADDRESS_POINTER_REGNUM case.
4715
4716 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
4717
4718         * integrate.c (allocate_initial_values): New function.
4719         * integrate.h (allocate_initial_values): Declare.
4720         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
4721         here...
4722         * reload1.c (reload): And initialization of reg_equiv_memory_loc
4723         from here...
4724         * toplev.c (rest_of_compilation): To here.
4725         Call allocate_initial_values.
4726         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
4727
4728 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4729
4730         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
4731
4732 2001-09-20  DJ Delorie  <dj@redhat.com>
4733
4734         * c-typeck.c (really_start_incremental_init): Discriminate
4735         between zero-length arrays and flexible arrays.
4736         (push_init_level): Detect zero-length arrays and handle them
4737         like fixed-sized arrays.
4738         * expr.c (store_constructor): Handle zero-length arrays and
4739         flexible arrays correctly.
4740         * doc/extend.texi: Update zero-length array notes.
4741
4742 2001-09-20  Jim Wilson  <wilson@redhat.com>
4743
4744         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
4745         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
4746         for issue port conflicts.
4747         (cycle_end_fill_slots): TYPE_L instructions take two slots.
4748
4749 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
4750
4751         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
4752         on ia64.
4753
4754 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4755
4756         * fold-const.c (hashtab.h): Include.
4757         (int_const_binop): Remove FORSIZE arg and compute from type; all
4758         callers changed.
4759         Call size_int_type_wide for all single-word constants.
4760         (size_htab_hash, size_htab_eq): New functions.
4761         (size_int_type_wide): Rework to use hash table.
4762         * ggc-common.c (hashtab.h): Include.
4763         (struct d_htab_root): New struct.
4764         (d_htab_roots): New variable.
4765         (ggc_add_deletable_htab, ggc_htab_delete): New functions
4766         (ggc_mark_roots): Handle deletable htabs.
4767         * ggc-page.c (ggc_marked_p): New function.
4768         * ggc-simple.c (ggc_marked_p): Likewise.
4769         * ggc.h: Reformatting throughout.
4770         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
4771         * tree.c (init_obstacks): Make type_hash_table a deletable root.
4772         (type_hash_add): Allocate struct type_hash from GC memory.
4773         (mark_hash_entry, mark_type_hash): Deleted.
4774         (type_hash_marked_p, type_hash_mark): New functions.
4775         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
4776
4777 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
4778
4779         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
4780         than SImode.
4781
4782 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4783
4784         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
4785         array-too-large test for signed sizetype.
4786
4787 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
4788
4789         * i386.md (indirect_jump): Allow Pmode operand.
4790         (tablejump): LIkewise; perform expansion to 64bit mode.
4791         * i386.c (symbolic_operand): Allow 64bit PIC references.
4792         (pic_symbolic_operand): Likewise.
4793         (ix86_find_base_term): Strip the 64bit PIC references.
4794         (legitimate_pic_address_disp_p): Handle 64bit PIC.
4795         (legitimize_pic_address): Likewise.
4796         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
4797         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
4798
4799 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
4800
4801         * stringpool.c (get_identifier_with_length): New function.
4802         * tree.h (get_identifier_with_length): New prototype.
4803
4804 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
4805             David Edelsohn  <edelsohn@gnu.org>
4806
4807         Revert:
4808         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
4809         already sign-extended.
4810
4811         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
4812         * config/rs6000/rs6000.c (logical_operand): Always compare op as
4813         HOST_WIDE_INT.
4814         (rs6000_emit_set_long_const): Avoid unnecessary shift.
4815         (output_profile_hook): Declare label_name const.
4816         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
4817         to match constraints.
4818
4819 2001-09-19  Stan Shebs  <shebs@apple.com>
4820
4821         * alias.c: Fix typos in comments.
4822         * sched-rgn.c (init_ready_list): Ditto.
4823         * unwind-dw2.c (uw_frame_state_for): Ditto.
4824         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
4825         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
4826         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
4827
4828 2001-09-19  Richard Henderson  <rth@redhat.com>
4829
4830         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
4831         to the exit block.
4832         * Makefile.in (cfg.o): Depend on TM_P_H.
4833
4834 2001-09-19  Richard Henderson  <rth@redhat.com>
4835
4836         * config/alpha/alpha.c (local_symbol_p): Split out from ...
4837         (local_symbolic_operand): ... here.
4838         (small_symbolic_operand): Check mode.
4839         (global_symbolic_operand): New.
4840         (input_operand): Reject symbolics if explicit relocs.
4841         (call_operand): Tidy.
4842         (alpha_legitimize_address): Use movdi_er_high_g.
4843         (alpha_expand_mov): Likewise.
4844         * config/alpha/alpha-protos.h: Update.
4845         * config/alpha/alpha.h (PREDICATE_CODES): Update.
4846         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
4847         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
4848         (UNSPECV_LDGP2): Remove.
4849         (all call patterns): Use 's' not 'i' for symbolic constraint.
4850         (call_osf call_value_osf): Use call_operand.
4851         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
4852         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
4853         (prologue_ldgp_1_er): Remove.
4854         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
4855         (builtin_setjmp_receiver_er patterns): Use them.
4856         (exception_receiver_er): Likewise.
4857
4858 2001-09-19  Richard Henderson  <rth@redhat.com>
4859
4860         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
4861
4862         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
4863         and NON_LOCAL_GOTO notes.
4864         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
4865         copy over CALL_INSN_FUNCTION_USAGE.
4866
4867 2001-09-18  Catherine Moore  <clm@redhat.com>
4868
4869         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
4870         Define as 0.
4871
4872 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
4873
4874         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
4875         new-style tm_file specification.  Specify correct tm_p_file,
4876         md_file, and out_file for s390x.
4877
4878         * config/s390/linux.h, linux64.h:  Don't include other target
4879         macro header files.  Now handled via tm_file.
4880
4881         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
4882         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
4883         are defined before use.
4884
4885 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
4886
4887         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
4888         code generation only for Gnu assembler.
4889
4890 2001-09-18  Catherine Moore  <clm@redhat.com>
4891
4892         * config/stormy16 (LIB_SPEC): Remove -lnosys.
4893
4894 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
4895
4896         * config/mips/mips.c (mips_frame_set): New.
4897         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
4898         a parallel frame-related expression with a set for each register.
4899
4900 2001-09-18  Philip Blundell  <philb@gnu.org>
4901
4902         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
4903         header files.
4904
4905 2001-09-17  Dale Johannesen  <dalej@apple.com>
4906
4907         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
4908         * config/rs6000/aix.h (FIXED_R2): Define.
4909         * config/rs6000/darwin.h (FIXED_R2): Define.
4910         * config/rs6000/sysv4.h (FIXED_R2): Define.
4911
4912 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
4913
4914         * except.c (dw2_build_landing_pads): New local
4915         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
4916         barrier after clobbers.  Fixes c++/4012.
4917
4918 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4919
4920         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
4921
4922 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
4923
4924         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
4925         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
4926
4927 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4928
4929         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
4930         alloca/strcpy.
4931
4932 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
4933
4934         * cpphash.h (_cpp_lex_direct): New.
4935         * cpplex.c (_cpp_lex_token): Update.
4936         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
4937         and increment that pointer.
4938         * cppmacro.c (alloc_expansion_token): New.
4939         (lex_expansion_token): Lex macro expansion directly into
4940         macro storage.
4941
4942 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
4943
4944         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
4945
4946 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
4947
4948         * basic-block.h (free_bb_for_insn): Declare.
4949         * bb-reorder.c (label_for_bb): Use block_label.
4950         (emit_jump_to_block_after): Remove.
4951         (insert_intra_1): Do not update block_for_insn.
4952         (insert_inter_bb_scope_notes): Likewise; update bb->end
4953         * cfg.c (free_bb_for_insn): New.
4954         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
4955         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
4956         (commit_one_edge_insertion): Likewise.
4957         (commit_one_edge_insertion): Do not update BB boundary.
4958         (commit_edge_insertions): Do not call compute_bb_for_insn.
4959         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
4960         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
4961         (merge_blocks_move_successor_nojumps): Likewise.
4962         (try_crossjump_to_edge): Do not update block_for_insn.
4963         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
4964         * df.c (df_pattern_emit_later): Do not update BB boundary.
4965         (df_jump_pattern_emit_after): Likewise.
4966         (df_insn_move_before): Use emit_insn_before.
4967         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
4968          properly.
4969         (add_insn_after, add_insn_before, emit_insns_after): Update BB
4970         boundaries and basic_block_for_insn.
4971         (reorder_insns_nobb): Rename from reorder_insns.
4972         (reorder_insns): New.
4973         (emit_block_insn_before, emit_block_insn_after): Kill.
4974         * flow.c (check_function_return_warnings): Do not call
4975         compute_bb_for_insn; Do not free basic_block_for_insn.
4976         (attempt_auto_inc): Do not update basic_block_for_insn.
4977         * function.c (emit_return_into_block): Likewise;
4978         do not update BB boundaries.
4979         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
4980         (insert_insn_end_bb): Use emit_insn_before; Likewise.
4981         (pre_insert_copy_insn): Likewise.
4982         (update_ld_motion_notes): Likewise.
4983         (insert_insn_start_bb): Likewise.
4984         (replace_store_insn): Likewise.
4985         * ifcvt.c (noce_process_if_block): Likewise.
4986         (if_convert): Do not call compute_bb_for_insn.
4987         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
4988         Use emit_insn_before and emit_insn_after.
4989         * recog.c (split_all_insns): Do not update BB boundaries;
4990         Do not call compute_bb_for_insn.
4991         (peephole2_optimize): Do not update BB boundaries.
4992         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
4993         emit_insn_before.
4994         (emit_swap_insn): Likewise.
4995         (convert_regs_1): Likewise.
4996         * reload1.c (reload): Call compute_bb_for_insn.
4997         * rtl.h (reorder_insns_nobb): Declare.
4998         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
4999         * toplev.c (rest_of_compilation): Call free_bb_for_insn
5000         at places CFG is invalidated; do not call compute_bb_for_insn.
5001
5002         * cfg.c (expunge_block): Invalidate BB structure.
5003
5004         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
5005         array.
5006
5007         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
5008
5009 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
5010
5011         * cpphash.h (_cpp_lex_token): Update prototype.
5012         * cpplex.c (_cpp_lex_token): New prototype.
5013         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
5014         lex_macro_node, read_flag, do_pragma_poison): Update.
5015         * cppmacro.c (cpp_get_token, parse_params,
5016         lex_expansion_token): Update.
5017
5018 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
5019
5020         * cppmain.c (scan_translation_unit): Don't worry about
5021         putting a space after hashes.
5022         * cpplib.c (directive_diagnostics): New.
5023         (_cpp_handle_directive): Update to use directive_diagnostics.
5024         (run_directive): Don't toggle prevent_expansion.
5025         (do_line): Backup in case of the line extension.
5026         * cpplib.h (cpp_lexer_pos): Remove.
5027         * cppmacro.c (_cpp_create_definition): Precede a leading #
5028         with whitespace.
5029
5030 2001-09-15  Richard Henderson  <rth@redhat.com>
5031
5032         * c-typeck.c (comptypes): Handle zero-length arrays properly.
5033
5034 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5035
5036         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
5037
5038 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
5039
5040         PR preprocessor/3571
5041         * tradcpp.c (handle_directive): Skip non-vertical space.
5042
5043 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
5044
5045         * cppmain.c (setup_callbacks): Set line callback only
5046         if outputting preprocessed source.
5047
5048 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5049
5050         * collect2.c (main): Const-ification.
5051         * gcc.c (translate_options, process_command): Use xstrdup in
5052         lieu of xmalloc/strcpy.
5053         (main): Use concat in lieu of xmalloc/strcpy/strcat.
5054
5055 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5056
5057         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
5058         example.
5059
5060 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
5061
5062         * scan-decls.c (scan_decls): Fix typo.
5063
5064 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
5065
5066         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
5067         Split mlstring_pos into mls_line and mls_col.
5068         * cppinit.c (cpp_create_reader): Initialize line to 1.
5069         (cpp_destroy): Free tokenruns.
5070         (push_include): Don't update lexer_pos.
5071         * cpplex.c (unterminated, parse_string): Update.
5072         (lex_token): Don't update lexer_pos, update.
5073         * cpplib.c (if_stack): Save line instead of line + col.
5074         (start_directive, _cpp_do__Pragma, do_else, do_elif,
5075         push_conditional, _cpp_pop_buffer): Update.
5076         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
5077         (_cpp_create_definition): Update.
5078
5079 2001-09-15  Eric Christopher  <echristo@redhat.com>
5080
5081         * config/mips/abi64.h: Add support for MEABI.
5082
5083 2001-09-15  Eric Christopher  <echristo@redhat.com>
5084
5085         * config/mips/mips.md: Add unspec #2.
5086         (reload_indi): Use.
5087         (reload_outdi): Ditto.
5088         (reload_outsi): Ditto.
5089         (HILO_delay): New.
5090
5091 2001-09-15  Eric Christopher  <echristo@redhat.com>
5092             Jason Eckhardt  <jle@redhat.com>
5093
5094         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
5095         * config/mips/isa32-linux.h: New file.
5096         * config/mips/isa3264.h: Ditto.
5097         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
5098         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
5099         (output_block_mode): Support MEABI.
5100         (function_arg): Ditto. Fix floating point arg passing.
5101         (mips_va_start): Ditto.
5102         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
5103         processors.
5104         (mips_asm_file_start): Add new section to pass abi to gdb.
5105         (function_arg_pass_by_reference): Support MEABI.
5106         (mips_parse_cpu): Support mips32 and mips64 processors.
5107         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
5108         TARGET_MIPS5KC.  Support isa32 and isa64.
5109         (processor_type): Add r4kc, r5kc, r20kc.
5110         (GENERATE_MULT3_SI): New.
5111         (GENERATE_MULT3_DI): Ditto.
5112         (GENERATE_MULT3): Remove.
5113         (ISA_HAS_64BIT_REGS): Add isa == 64.
5114         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
5115         (ISA_HAS_MADD_MSUB): New.
5116         (ISA_HAS_CLZ_CLO): Ditto.
5117         (ISA_HAS_DCLZ_DCLO): Ditto.
5118         (ABI_GAS_ASM_SPEC): New.
5119         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
5120         (ASM_SPEC): Ditto.
5121         (LINK_SPEC): Ditto.
5122         (SUBTARGET_CC1_SPEC): Ditto.
5123         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
5124         (PAD_VARARGS_DOWN): Support MEABI.
5125         (HARD_REGNO_NREGS): Move to mips.c.
5126         (ASM_OUTPUT_IDENT): Add #undef.
5127         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
5128         (mulsi3): Use GENERATE_MULT3_SI.
5129         (mulsi3_mult3): Ditto.  Support mips32, mips64.
5130         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
5131         (mul_sub_si): New pattern.
5132         (unnamed splitters): New.
5133         (muldi3): Use GENERATE_MULT3_DI.
5134         (muldi3_internal2): Ditto.
5135         (movdicc): Support mips32.
5136         * config/mips/t-isa3264: New file.
5137
5138 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
5139
5140         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
5141         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
5142         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
5143
5144         * reorg.c (fill_slots_from_thread): After call to
5145         steal_delay_list_from_target, update own_thread as new_thread may
5146         have branched.
5147
5148 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
5149
5150         * cpperror.c (print_location): Take line and column, for
5151         default positioning use the previously lexed token.
5152         (_cpp_begin_message): Take line and column.
5153         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
5154         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
5155         * cpphash.h (_cpp_begin_message): Update prototype.
5156         * cppinit.c (push_include): Don't set output line.
5157         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
5158         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
5159         (do_pragma): Kludge for front ends.  Don't expand macros at all.
5160         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
5161         (struct cpp_token): Remove output_line.
5162         (struct cpp_callbacks): New member line_change.
5163         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
5164         cpp_get_token): Preserve BOL flag.
5165         (cpp_get_line): Remove.
5166         (_cpp_backup_tokens): Remove useless abort().
5167         * cppmain.c (cb_line_change): New.
5168         (scan_translation_unit): Don't worry about starting new lines here.
5169         * scan-decls.c (scan_decls): Update.
5170         * c-lex.c (c_lex, init_c_lex): Update.
5171         (cb_line_change, src_lineno): New.
5172
5173 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
5174
5175         * tree.c (append_random_chars): Generate the random
5176         characters in a reproducable fashion.
5177
5178 2001-09-14  Richard Henderson  <rth@redhat.com>
5179
5180         * config/i386/i386.c (internal_label_prefix): New.
5181         (internal_label_prefix_len): New.
5182         (override_options): Set them.
5183         (local_symbolic_operand): New.
5184         (legitimate_pic_address_disp_p): Use it.
5185         (legitimize_pic_address): Likewise.
5186
5187 2001-09-14  Marc Espie <espie@openbsd.org>
5188
5189         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
5190         correctly.
5191
5192 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5193
5194         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
5195         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
5196
5197 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
5198
5199         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
5200         invocation of SUBREG_REGNO_OFFSET.
5201
5202         * haifa-sched.c: Fix typo in FSF copyright statement.
5203         * sched-deps.c: Fix typo in FSF copyright statement.
5204         * sched-ebb.c: Fix typo in FSF copyright statement.
5205         * sched-rgn.c: Fix typo in FSF copyright statement.
5206         * sched-vis.c: Fix typo in FSF copyright statement.
5207
5208         * config.gcc: Move inclusion of arm elf specific header files
5209         from the files themselves into the tm_file variable.  Make
5210         sure that elfos.h is included before target specific elf
5211         headers.
5212         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
5213         already defined.
5214         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
5215         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
5216         ASM_OUTPUT_CASE_LABEL): Protect definition.
5217         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
5218         not already defined.
5219         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
5220         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
5221         Remove duplicate definition.
5222         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
5223         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
5224         (RDATA_SECTION_FUNCTION): Remove redundant definition.
5225         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
5226         Remove inclusion of arm/elf.h.
5227         * config/arm/unknown-elf.h: as for conix-elf.h.
5228         (STARTFILE_SPEC): Include crti.o and crtn.o.
5229         * config/arm/linux-elf.h: as for conix-elf.h.
5230         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
5231         * config/arm/strongarm-elf.h: Remove inclusion of
5232         unknown-elf.h.
5233         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
5234         * config/arm/unknown-elf-oabi.h: Remove inclusion of
5235         unknown-elf.h and elf.h.
5236         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
5237         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
5238         ASM_WEAKEN_LABEL): Remove redundant definition.
5239         * config/arm/elf.h: Test for inclusion of elfos.h
5240         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
5241         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
5242         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
5243         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
5244         redundant definition.
5245         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
5246         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
5247         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
5248         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
5249         Add rules to build crti.o and crtn.o
5250         * crti.asm: New file.
5251         * crtn.asm: New file.
5252
5253 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
5254
5255         * c-parse.in (_yylex): Use _cpp_backup_tokens.
5256         * cpphash.h (struct tokenrun): Add prev.
5257         (struct lexer_state): Remove bol.
5258         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
5259         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
5260         : Remove.
5261         * cppinit.c (cpp_create_reader): Don't set bol.
5262         (cpp_destroy): Don't free lookaheads.
5263         * cpplex.c (lex_directive): Remove.
5264         (next_tokenrun): Update.
5265         (_cpp_lex_token): Clean up logic.
5266         (lex_token): Update to return a pointer to lexed token, since it
5267         can move to the start of the buffer.  Simpify newline handling.
5268         * cpplib.c (SEEN_EOL): Update.
5269         (skip_rest_of_line): Remove lookahead stuff.
5270         (end_directive): Line numbers are already incremented.  Revert
5271         to start of lexed token buffer if we can.
5272         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
5273         parse_answer): Use _cpp_backup_tokens.
5274         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
5275         instead.  Don't check for EOL.
5276         (do_include_common, do_line, do_pragma_system_header): Use
5277         skip_rest_of_line.
5278         * cpplib.h (BOL, _cpp_backup_tokens): New.
5279         * cppmacro.c (save_lookahead_token, take_lookahead_token,
5280         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
5281         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
5282         (builtin_macro): Don't use cpp_get_line.
5283         (cpp_get_line): Short term kludge.
5284         (parse_arg): Handle directives in arguments here.  Back up when
5285         appropriate.  Store EOF at end of argument list.
5286         (funlike_invocation_p): Use _cpp_backup_tokens.
5287         (push_arg_context): Account for EOF at end of list.
5288         (cpp_get_token): Remove lookahead stuff.  Update.
5289
5290 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5291
5292         * c-parse.in (yyerror): Const-ification and/or static-ization.
5293         * c-typeck.c (push_member_name): Likewise.
5294         * collect2.c (main): Likewise.
5295         * dbxout.c (dbxout_parms): Likewise.
5296         * diagnostic.c (format_with_decl): Likewise.
5297         * dwarf2out.c (output_ranges): Likewise.
5298         * dwarfout.c (fundamental_type_code): Likewise.
5299         * except.c (dw2_output_call_site_table): Likewise.
5300         * gcc.c (do_spec_1): Likewise.
5301         * genopinit.c (optabs): Likewise.
5302         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
5303         gen_declaration_1, handle_impent): Likewise.
5304         * protoize.c (default_include, in_system_include_dir, abspath):
5305         Likewise.
5306         * sched-vis.c (visualize_stall_cycles): Likewise.
5307         * sdbout.c (plain_type_1, sdbout_end_function,
5308         sdbout_end_epilogue): Likewise.
5309         * varasm.c (decode_reg_name): Likewise.
5310
5311         * 1750a.c (mod_regno_adjust): Likewise.
5312         * alpha.c (alpha_write_one_linkage,
5313         unicosmk_output_default_externs): Likewise.
5314         * arm.c (arm_condition_codes): Likewise.
5315         * arm.h (arm_condition_codes): Likewise.
5316         * avr.c (output_movsisf, encode_section_info): Likewise.
5317         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
5318         Likewise.
5319         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
5320         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
5321         * m88k.c (output_function_profiler): Likewise.
5322         * mips.c (mips_output_conditional_branch): Likewise.
5323         * ns32k.c (ns32k_out_reg_names): Likewise.
5324         * ns32k.h (ns32k_out_reg_names): Likewise.
5325         * pj.c (pj_output_rval): Likewise.
5326         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
5327         * sparc.c (sparc_flat_function_prologue,
5328         sparc_flat_function_epilogue): Likewise.
5329
5330 2001-09-13  Markus Werle <numerical.simulation@web.de>
5331             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5332
5333         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
5334         Aachen University of Technology".
5335
5336 2001-09-13  Andreas Schwab  <schwab@suse.de>
5337
5338         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
5339         C99.
5340
5341 2001-09-13  Richard Henderson  <rth@redhat.com>
5342
5343         * config/alpha/alpha.c (small_symbolic_operand): New.
5344         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
5345         (some_operand, input_operand): Don't handle HIGH.
5346         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
5347         (alpha_expand_mov): Likewise.
5348         (print_operand) [H]: Just print HIGH symbol.
5349         (print_operand_address): Handle small data.
5350         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
5351         (TARGET_SWITCHES): Add -msmall-data/large-data.
5352         (PIC_OFFSET_TABLE_REGNUM): New.
5353         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
5354         (PREDICATE_COES): Update.
5355         * config/alpha/alpha.md (adddi_er_high): New.
5356         (adddi_er_low): Handle small data.
5357         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
5358         prefer .sdata to .rodata.
5359         (SELECT_RTX_SECTION): Likewise.
5360
5361 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
5362
5363         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
5364         defining __size_t and leaving size_t undefined.
5365
5366 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
5367
5368         * basic-block.h (expunge_block): Declare.
5369         * cfg.c (expunge_block): Remove static declaration.
5370
5371 2001-09-12  Richard Henderson  <rth@redhat.com>
5372
5373         * integrate.c (copy_insn_list): Copy label name from
5374         NOTE_INSN_DELETED_LABEL.
5375
5376 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5377
5378         * c-common.c (c_tree_code_name): Const-ification.
5379         * c-decl.c (c_decode_option): Likewise.
5380         * c-typeck.c (warn_for_assignment): Likewise.
5381         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
5382         Likewise.
5383         * cppinit.c (output_deps): Likewise.
5384         * dependence.c (dependence_string, direction_string): Likewise.
5385         * dwarf2out.c (output_ranges): Likewise.
5386         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
5387         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
5388         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
5389         standard_startfile_prefix, standard_startfile_prefix_1,
5390         standard_startfile_prefix_2, tooldir_base_prefix,
5391         standard_bindir_prefix, find_a_file): Likewise.
5392         * genattrtab.c (make_length_attrs): Likewise.
5393         * gencheck.c (tree_codes): Likewise.
5394         * genemit.c (gen_split): Likewise.
5395         * genrecog.c (special_mode_pred_table): Likewise.
5396         * graph.c (graph_ext): Likewise.
5397         * protoize (default_include): Likewise.
5398         * reload.c (reload_when_needed_name): Likewise.
5399         * sched-vis.c (visualize_stall_cycles): Likewise.
5400         * tlink.c (recompile_files): Likewise.
5401         * toplev.c (decode_g_option): Likewise.
5402         * tradcpp.c (output_deps): Likewise.
5403         * varasm.c (decode_reg_name): Likewise.
5404
5405         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
5406         Const-ification.
5407         * arm.md: Likewise.
5408         * avr.c (avr_regnames, encode_section_info): Likewise.
5409         * c4x.c (float_reg_names): Likewise.
5410         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
5411         * elfos.h (const_section): Likewise.
5412         * i386.c (ix86_comp_type_attributes): Likewise.
5413         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
5414         * ia64/aix.h (UNIQUE_SECTION): Likewise.
5415         * ia64.c (type_names): Likewise.
5416         * m68hc11.c (reg_class_names): Likewise.
5417         * m88k.c (m_options): Likewise.
5418         * mips.c (mips_output_conditional_branch, mips_unique_section):
5419         Likewise.
5420         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
5421         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
5422         ultra_code_names): Likewise.
5423         * sparc.h (OVERRIDE_OPTIONS): Likewise.
5424
5425 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
5426
5427         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
5428         Use --fatal-warnings option for gas.
5429         * configure: Rebuilt.
5430
5431 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5432
5433         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
5434
5435 2001-09-11  Jim Wilson  <wilson@redhat.com>
5436
5437         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
5438
5439 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
5440
5441         * builtins.c (c_strlen): Treat an offset too large for a
5442         HOST_WIDE_INT as out of range.
5443
5444 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
5445
5446         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
5447         (EDGE_CRITICAL_P): New predicate.
5448         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
5449         handling.
5450         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
5451         (dump_edge_info): Remove "crit".
5452         * cfganal.c (mark_critical_edges): Kill.
5453         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
5454         * cfgcleanup.c (cleanup_cfg): Likewise.
5455         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
5456         (find_spanning_tree): Likewise.
5457         * reg-stack.c (convert_regs_1): Likewise.
5458         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
5459
5460         * basic-block.h (create_basic_block_structure): New.
5461         (create_basic_block): Update prototype.
5462         (force_nonfallthru): New.
5463         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
5464         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
5465         handle updating of block_for_insn, creating of empty BBs and BBs at
5466         the end of INSN chain.
5467         (create_basic_block): New function.
5468         (split_block): Use create_basic_block.
5469         (force_nonfallthru_and_redirect): Break out from ...; cleanup
5470         (redirect_edge_and_branch_force): ... here.
5471         (force_nonfallthru): New.
5472         (split_edge): Rewrite to use force_nonfallthru and create_block.
5473         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
5474         (find_basic_blocks): Free basic_block_for_insn.
5475         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
5476
5477         * cfg.c: Fix formating.
5478         * cfgcleanup.c: Fix formating.
5479         (merge_blocks, tail_recursion_label_p): Return bool.
5480         (merge_blocks_move_predecessor_nojumps,
5481          merge_blocks_move_successor_nojumps): Return void.
5482
5483 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
5484
5485         * configure.in: Check whether assembler supports section merging.
5486         * config.in: Rebuilt.
5487         * configure: Rebuilt.
5488         * varasm.c (variable_section, output_constant_pool): Pass alignment
5489         to SELECT_SECTION and SELECT_RTX_SECTION.
5490         (mergeable_string_section): New.
5491         (mergeable_constant_section): New.
5492         (default_elf_asm_named_section): Output SECTION_MERGE and
5493         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
5494         * output.h (mergeable_string_section): New.
5495         (mergeable_constant_section): New.
5496         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
5497         * toplev.c (flag_merge_constants): New.
5498         (f_options): Add -fmerge-constants and -fmerge-all-constants
5499         options.
5500         (toplev_main): Default to -fno-merge-constants if not optimizing.
5501         * flags.h (flag_merge_constants): Add extern.
5502         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
5503         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
5504         argument.
5505         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
5506         Define if assembler has working .subsection -1 support.
5507         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
5508         Put constant into special SHF_MERGE sections if the linker should
5509         attempt to merge duplicates.
5510         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
5511         macro argument.
5512         Put constant into special SHF_MERGE sections if the linker should
5513         attempt to merge duplicates.
5514         * config/alpha/elf.h: Likewise.
5515         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
5516         has working .subsection -1 support.
5517         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
5518         SELECT_SECTION.
5519         * config/svr3.h: Likewise.
5520         * config/darwin.h: Likewise.
5521         * config/arm/aof.h: Likewise.
5522         * config/arm/linux-elf.h: Likewise.
5523         * config/avr/avr.h: Likewise.
5524         * config/c4x/c4x.h: Likewise.
5525         * config/d30v/d30v.h: Likewise.
5526         * config/i386/dgux.h: Likewise.
5527         * config/i386/osfrose.h: Likewise.
5528         * config/i386/sco5.h: Likewise.
5529         * config/i386/svr3gas.h: Likewise.
5530         * config/ia64/aix.h: Likewise.
5531         * config/m32r/m32r.h: Likewise.
5532         * config/m68k/m68k.h: Likewise.
5533         * config/m88k/dgux.h: Likewise.
5534         * config/m88k/m88k.h: Likewise.
5535         * config/mcore/mcore-pe.h: Likewise.
5536         * config/mips/mips.h: Likewise.
5537         * config/pa/pa.h: Likewise.
5538         * config/pa/pa-linux.h: Likewise.
5539         * config/romp/romp.h: Likewise.
5540         * config/rs6000/sysv4.h: Likewise.
5541         * config/rs6000/xcoff.h: Likewise.
5542         * config/s390/linux.h: Likewise.
5543         * config/sparc/sparc.h: Likewise.
5544         * config/sparc/sysv4.h: Likewise.
5545         * config/stormy16/stormy16.h: Likewise.
5546         * config/v850/v850.h: Likewise.
5547         * config/vax/vms.h: Likewise.
5548         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
5549         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
5550         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
5551         default_elf_asm_named_section for SHF_MERGE sections.
5552
5553 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
5554
5555         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
5556         is OK.
5557
5558 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
5559
5560         * c-common.c (split_specs_attrs): Allow for empty attributes with
5561         empty TREE_PURPOSE.  Fixes PR c/4294.
5562
5563 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
5564
5565         * basic-block.h (cached_make_edge, make_single_succ): New.
5566         (make_edge): Remove first parameter.
5567         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
5568         * cfg.c (cached_make_edge): Rename from make_edge; return newly
5569         created edge; use obstack allocation.
5570         (make_edge, make_single_succ_edge): New.
5571         (first_removed_edge): New static variable.
5572         (init_flow): Initialize first_removed_edge and n_edges.
5573         (clear_edges): Use remove_edge.
5574         (flow_delete_block): Likewise.
5575         (remove_edge): Add removed edges to the removed edges list.
5576         (split_block, redirect_edge_and_branch_force, split_edge):
5577         Use make_edge.
5578         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
5579         (add_noreturn_fake_exit_edges): Likewise.
5580         (connect_infinite_loops_to_exit): Liekwise.
5581         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
5582         Use cached_make_edge.
5583         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
5584         * profile.c (branch_prob): Update make_edge call.
5585         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
5586
5587 2001-09-11  Richard Henderson  <rth@redhat.com>
5588
5589         * config/alpha/alpha.c: Tidy formatting.
5590         (local_symbolic_operand): Verify mode.
5591         (alpha_sa_mask): Ignore unicos for eh_return.
5592         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
5593         * config/alpha/alpha.md (umk divsi patterns): Remove.
5594         (extendsfdf2): Remove unicos check.
5595         (tablejump): Merge vms and unicos code; always use direct set
5596         plus label_ref use.
5597
5598 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5599
5600         * config.gcc (alpha*-*-unicosmk*): New target.
5601
5602         * config/alpha/alpha-protos.h (symbolic_operand,
5603         unicosmk_add_call_info_word, unicosmk_add_extern,
5604         unicosmk_defer_case_vector, unicosmk_unique_section,
5605         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
5606         unicosmk_asm_file_start, unicosmk_asm_file_end,
5607         unicosmk_output_common): Declare.
5608
5609         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
5610         direct_return, function_arg, alpha_va_start, alpha_va_arg,
5611         alpha_does_function_need_gp, alpha_end_function): Support Cray
5612         Unicos/Mk.
5613         (alpha_init_machine_status, alpha_mark_machine_status,
5614         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
5615         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
5616         unicosmk_asm_named_section, unicosmk_insert_attributes,
5617         unicosmk_section_type_flags, symbolic_operand,
5618         unicosmk_output_module_name, unicosmk_output_default_externs,
5619         unicosmk_output_dex, unicosmk_output_externs,
5620         unicosmk_output_addr_vec, unicosmk_ssib_name,
5621         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
5622         unicosmk_asm_file_end, unicosmk_output_common,
5623         unicosmk_section_type_flags, unicosmk_unique_section,
5624         unicosmk_add_call_info_word, unicosmk_text_section,
5625         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
5626         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
5627         unicosmk_dex_count, unicosmk_special_name): New.
5628         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
5629         TARGET_ABI_UNICOSMK.
5630         (get_aligned_mem, alpha_expand_unaligned_load,
5631         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
5632         alpha_expand_unaligned_store_words): Support big-endian mode.
5633         (print_operand): Likewise. New format specifier 't'. Use
5634         TARGET_AS_SLASH_BEFORE_SUFFIX.
5635         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
5636         (alpha_pv_save_size): Update with above change.
5637         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
5638         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
5639         Unicos/Mk.
5640
5641         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
5642         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
5643         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
5644         (EXTRA_CONSTRAINT): New constraint 'U'.
5645         (PREDICATE_CODES): Add symbolic_operand.
5646
5647         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
5648         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
5649         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
5650         (integer division and modulus patterns): Split in default and
5651         Unicos/Mk versions.
5652         (*divmodsi_internal, *divmoddi_internal): Disable for
5653         TARGET_ABI_UNICOSMK.
5654         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
5655         little-endian and big-endian versions.
5656         (ext, ins, msk): Likewise.
5657         (extv, extzv, insv): Support big-endian mode.
5658         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
5659         (call_umk, call_value_umk, *call_umk, tablejump_umk,
5660         *tablejump_umk_internal, *call_value_umk): New.
5661         (*movdi_nofix): Add pattern for loading an address into a register on
5662         TARGET_ABI_UNICOSMK.
5663         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
5664         (umk_mismatch_args, arg_home_umk): New.
5665         (various insns): Don't use mov, fmov, nop, fnop and unop.
5666         (realign): Support TARGET_ABI_UNICOSMK.
5667
5668         * config/alpha/unicosmk.h: New file.
5669         * config/alpha/t-unicosmk: New file.
5670
5671         * fixinc/inclhack.def (unicosmk_restrict): New.
5672         * fixinc/fixincl.x: Regenerate.
5673
5674         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
5675         (wchar_t): Check for and define __WCHAR_T__.
5676
5677 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
5678
5679         * combine.c (simplify_shift_const): Treat shifts by the mode
5680         size as undefined.
5681
5682 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
5683
5684         * cpphash.h (struct tokenrun): New.
5685         (struct cpp_context): New member bol.
5686         (struct cpp_reader): New members.
5687         (_cpp_init_tokenrun): New.
5688         * cppinit.c (cpp_create_reader): Set up the token runs.
5689         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
5690         (lex_token): New internalised version of _cpp_lex_token.  Don't
5691         handle directives or the multiple include opimisation here any
5692         more.  Simply lex a token.
5693         * cpplib.c (run_directive): Clear bol.
5694         (_cpp_pop_buffer): Set bol.
5695         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
5696         arguments.
5697
5698 2001-09-11  Michael Meissner  <meissner@redhat.com>
5699
5700         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
5701         give an error if the user uses -mfp32.
5702         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
5703         default options.
5704         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
5705         floating point register size.
5706         (EXTRA_SPECS): Add CPP_FPR_SPEC.
5707
5708         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
5709         HOST_WIDE_INT_PRINT_DEC to properly print the result of
5710         int_size_in_bytes.
5711         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
5712         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
5713
5714 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
5715
5716         * dbxout.c (dbxout_parms): Fix typo in comment.
5717         * unroll.c (loop_find_equiv_value): Ditto.
5718         * toplev.c (rest_of_compilation): Ditto.
5719         * loop.c (scan_loop): Ditto.
5720         * dwarf2out.c (struct dw_fde_struct): Ditto.
5721
5722 2001-09-10  Zack Weinberg  <zackw@panix.com>
5723
5724         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
5725         copying identifier when we're just going to throw it away.
5726         (parse_identifier_slow): New routine to handle abnormal cases.
5727         (_cpp_lex_token): Update call site.
5728
5729         * hashtable.c (ht_lookup): Don't assume that the string we've
5730         been given is NUL-terminated.
5731         * system.h: #define __builtin_expect(a, b) to (a) if not
5732         GCC >=3.0.
5733
5734 2001-09-10  Michael Meissner  <meissner@redhat.com>
5735
5736         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
5737         binutils, gdb.
5738
5739 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
5740
5741         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
5742
5743 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5744
5745         * builtins.c (c_getstr): Correct thinko in last change and further
5746         cleanup.
5747
5748 2001-09-10  Tim Freeman <tim@fungibole.com>
5749
5750         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
5751         into varray's and register them as roots with the garbage
5752         collector so they are not collected too soon.
5753
5754 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
5755
5756         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
5757         New.
5758         * basic-block.h (flow_obstack, label_value_list,
5759         tail_recursion_label_list): Declare
5760         (tidy_fallthru_edges): Declare.
5761         (expunge_block, last_loop_beg_note): Delete.
5762         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
5763         * cfg.c: New file
5764         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
5765         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
5766         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
5767         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
5768         expunge_block, flow_delete_block, compute_bb_for_insn,
5769         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
5770         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
5771         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
5772         try_redirect_by_replacing_jump, last_loop_beg_note,
5773         redirect_edge_and_branch, redirect_edge_and_branch_force,
5774         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
5775         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
5776         commit_edge_insertions, dump_flow_info, debug_flow_info,
5777         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
5778         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
5779         Move here from flow.c
5780         * cfganal.c: New file.
5781         (forwarder_block_p, can_fallthru, mark_critical_edges,
5782          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
5783          find_unreachable_blocks, create_edge_list, free_edge_list,
5784          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
5785          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
5786          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
5787          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
5788          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
5789          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
5790         Move here from flow.c
5791         * cfgbuild.c: New file
5792         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
5793          make_edges, find_basic_blocks_1, find_basic_blocks,
5794          find_sub_basic_blocks): Move here from flow.c
5795         * cfgcleanup.c: New file.
5796         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
5797          merge_blocks_move_predecessor_nojumps,
5798          merge_blocks_move_successor_nojumps, merge_blocks,
5799          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
5800          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
5801         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
5802         if succeeded.
5803         * cfgloop.c: New file
5804         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
5805          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
5806          flow_loop_exit_edges_find, flow_loop_nodes_find,
5807          flow_loop_pre_header_scan, flow_loop_pre_header_find,
5808          flow_loop_tree_node_add, flow_loops_tree_build,
5809          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
5810          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
5811         Move here from flow.c
5812         * flow.c: Remove everything moved elsewhere
5813         * output.h (cleanup_cfg): Return bool.
5814
5815         * bb-reorder.c (reorder_block_def): Remove 'index'.
5816         (insert_intra_1): Add argument BB, set block for new note.
5817         (make_reorder_chain): Do not depdent on BB indexes.
5818         (make_reorder_chain_1): Do not use BB indexes.
5819         (label_for_bb): Likewise; set BB for new insn.
5820         (emit_jump_to_block_after): Likewise.
5821         (fixup_reoder_chain): Sanity check that all basic blocks
5822         are chained; verify newly created insn chain; remove
5823         undocnitional jump simplifying; Do not use BB indexes;
5824         properly initialize count and frequency information;
5825         dump reordered sequence.
5826         (insert_intra_bb_scope_notes): update call of insert_intra_1.
5827         (insert_inter_bb_scope_notes): Set block for new insn.
5828         (reorder_basic_blocks): Dump flow info before reoredering.
5829
5830 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5831
5832         * alias.c (clear_reg_alias_info): Use K&R format definition.
5833         Avoid unsigned warning.
5834         * builtins.c: Use "unsigned int", not "unsigned".
5835         (target_char_cast): Use host_integerp and tree_low_cst.
5836         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
5837         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
5838         (c_getstr): Likewise.
5839         (std_expand_builtin_va_arg): Use int_size_in_bytes.
5840         (builtin_memcpy_read_str): Avoid unsigned warning.
5841         (expand_builtin_memcpy): Alignments are unsigned.
5842         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
5843         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
5844         * predict.c (expensive_function_p): LIMIT now unsigned.
5845         * resource.c (mark_target_live_regs): Make some vars unsigned.
5846         * sdbout.c: Use "unsigned int", not "unsigned".
5847         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
5848         (sdbout_source_line): Likewise.
5849         (sdbout_record_type_name): Remove "const" for NAME declaration.
5850         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
5851
5852 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
5853
5854         * calls.c (store_one_arg): Expand comment.
5855
5856 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5857
5858         * calls.c (store_one_arg): Make sure that the entire argument is
5859         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
5860
5861 2001-09-09  Richard Henderson  <rth@redhat.com>
5862
5863         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
5864
5865 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
5866
5867         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
5868
5869 2001-09-09  Richard Henderson  <rth@redhat.com>
5870
5871         * config/alpha/alpha.c (alpha_next_sequence_number): New.
5872         (alpha_this_literal_sequence_number): New.
5873         (alpha_this_gpdisp_sequence_number): New.
5874         (some_operand, input_operand): Add HIGH.
5875         (local_symbolic_operand): New.
5876         (alpha_encode_section_info): New.
5877         (alpha_legitimate_address_p): Allow LO_SUM.
5878         (alpha_legitimize_address): Generate HIGH+LO_SUM.
5879         (alpha_expand_mov): Likewise.
5880         (secondary_reload_class): Check memory_operand not general_operand
5881         for FP_REGS test.
5882         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
5883         (alpha_expand_unaligned_store): Likewise.
5884         (alpha_expand_unaligned_load_words): Likewise.
5885         (alpha_expand_unaligned_store_words): Likewise.
5886         (alpha_expand_block_clear): Likewise.
5887         (print_operand): Handle %#, %*, %H.
5888         (print_operand_address): Handle LO_SUM.
5889         (find_lo_sum): New.
5890         (alpha_does_function_need_gp): Use it.
5891         (alpha_expand_block_move): Fix signed compare warnings.
5892         (alpha_sa_mask, alpha_align_insns): Likewise.
5893         * config/alpha/alpha-protos.h: Update.
5894         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
5895         (MASK_EXPLICIT_RELOCS): New.
5896         (TARGET_SWITCHES): Add -mexplicit-relocs.
5897         (EXTRA_CONSTRAINT): Add 'T'.
5898         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
5899         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
5900         (ENCODE_SECTION_INFO): Out line.
5901         (REDO_SECTION_INFO_P): New.
5902         (STRIP_NAME_ENCODING): New.
5903         (ASM_OUTPUT_LABELREF): New.
5904         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
5905         (PREDICATE_CODES): Update.
5906         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
5907         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
5908         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
5909         builtin_setjmp_receiver_er, exception_receiver_1_er,
5910         call_value_osf_1_er): New patterns.
5911         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
5912         (movqi, movhi, movsi): Add explicit $31 base register to lda.
5913         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
5914         (FINAL_PRESCAN_INSN): New.
5915
5916 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
5917
5918         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
5919
5920 2001-09-08  Andreas Jaeger  <aj@suse.de>
5921
5922         * i386.h (TARGET_SWITCHES): Fix description.
5923
5924 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
5925
5926         * rs6000.c (num_insns_constant): Compute number of instructions
5927         more accurately.
5928
5929         * doc/install.texi: Explain AIX exception handling work-around.
5930         Update URL for AIX fixes.
5931
5932 2001-09-07  Jim Wilson  <wilson@redhat.com>
5933
5934         * alias.c (clear_reg_alias_info): New.
5935         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
5936         * rtl.h (clear_reg_alias_info): Declare.
5937
5938 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5939
5940         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
5941         available.
5942         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
5943         (m16m,edivm,emulm): Change declaration to match definition.
5944
5945 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
5946
5947         * reload.c (push_reload): Check for subreg_lowpart_p instead of
5948         SUBREG_BYTE being 0 when determining if the inner part of a subreg
5949         can be reloaded.
5950
5951 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5952
5953         * c-common.c (signed_or_unsigned_type): Handle machine mode types
5954         which have no corresponding C type.
5955         * fold_const.c (target_isinf,target_isnan,target_negative): Update
5956         the representation of 64-bit doubles to work with 64-bit ints.
5957
5958 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
5959
5960         * config/mips/mips.c (override_options): Do not override ISA when ABI
5961         specified if MIPS_CPU_STRING_DEFAULT was specified.
5962
5963 2001-09-07  Richard Henderson  <rth@redhat.com>
5964
5965         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
5966         (express_from_1): Wrap lines.
5967         * rtlanal.c (commutative_operand_precedence): Rename from
5968         operand_preference; export.
5969         * rtl.h: Declare it.
5970         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
5971         (simplify_binary_operation): Invoke simplify_plus_minus on
5972         (CONST (PLUS ...)) as well.
5973         (struct simplify_plus_minus_op_data): New.
5974         (simplify_plus_minus_op_data_cmp): New.
5975         (simplify_plus_minus): Use them.  Avoid infinite recursion with
5976         simplify_binary_operation wrt CONST.
5977
5978 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
5979
5980         * h8300-protos.h (general_operand_dst_push): Remove.
5981         * h8300.c (general_operand_dst_push): Likewise.
5982         * h8300.h (OK_FOR_T): Likewise.
5983         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
5984         * h8300.md (pushqi_h8300): New.
5985         (pushqi_h8300hs): Likewise.
5986         (pushqi): Likewise.
5987         (pushhi_h8300): Likewise.
5988         (pushhi_h8300hs): Likewise.
5989         (pushhi): Likewise.
5990
5991 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5992
5993         * genattrtab.c (attr_printf): First arg is unsigned.
5994         Clean up formatting of callers.
5995
5996 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
5997
5998         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
5999         registers.
6000
6001 2001-09-07  Andreas Jaeger  <aj@suse.de>
6002
6003         * i386.h (TARGET_SWITCHES): Fix descriptions.
6004
6005 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
6006
6007         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
6008
6009 2001-09-06  Ira Ruben  <ira@apple.com>
6010
6011         Remove OP_IDENTIFIER.
6012         * tree.def (OP_IDENTIFIER): Remove.
6013         * tree.c (tree_node_kind enum): Remove op_id_kind.
6014         (tree_node_kind_names): Remove "op_identifiers".
6015         (make_node): Remove OP_IDENTIFIER test.
6016         (build_op_identifier): Removed because it isn't being used.
6017         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
6018         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
6019
6020 2001-09-06  Richard Henderson  <rth@redhat.com>
6021
6022         * simplify-rtx.c (simplify_binary_operation): Revert last change.
6023
6024 2001-09-06  Richard Henderson  <rth@redhat.com>
6025
6026         * simplify-rtx.c (simplify_binary_operation): Simplify contents
6027         of CONST.
6028
6029 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6030
6031         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
6032         number used for CR register.
6033
6034 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
6035                           Joern Rennecke (amylaar@cygnus.com)
6036
6037         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
6038         * h8300.c (initial_offset): Handle offset between RP and FP.
6039         (h8300_return_addr_rtx): New function.
6040         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
6041         return register.
6042         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
6043         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
6044         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
6045         (CAN_ELIMINATE, REGISTER_NAMES):
6046         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
6047
6048 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
6049
6050         Remove TYPE_NONCOPIED_PARTS.
6051         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
6052         (struct tree_type): Remove noncopied_parts.
6053         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
6054         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
6055         (fixed_type_p): Remove.
6056         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
6057         (expand_expr, MODIFY_EXPR): Likewise.
6058         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
6059         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
6060
6061 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
6062
6063         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
6064         compiler warnings.
6065         (mask64_operand): Likewise.
6066         (includes_rldic_lshift_p): Likewise.
6067         (includes_rldicr_lshift_p): Likewise.
6068
6069 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
6070
6071         * objc/objc-act.c (build_message_expr): If a class method cannot
6072         be found, do not issue a warning if a corresponding instance
6073         method exists in the root class.
6074
6075 2001-09-05  Richard Henderson  <rth@redhat.com>
6076
6077         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
6078
6079 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
6080
6081         * function.c (ggc_mark_struct_function): Mark f->outer.
6082         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
6083         * integrate.c (output_inline_function): ... not here.
6084
6085 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
6086
6087         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
6088
6089         * i386.c (size_cost): New static variable.
6090         (override_function): Use size_cost when -Os is specified.
6091
6092         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
6093         properly;  Use current_function_calls_eh_return.
6094         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
6095         use leave to avoid dependency chain.
6096
6097         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
6098         get BB loop_depth instead of computing it from LOOP notes.
6099
6100         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
6101
6102 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6103
6104         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
6105         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
6106         UNALIGNED_DOUBLE_INT_ASM_OP): Define
6107
6108 2001-09-05  Jeffrey A Law  (law@cygnus.com)
6109             Jason Merrill (jason@redhat.com)
6110
6111         * stor-layout.c (layout_type): Complain if an array's size can
6112         not be represented in a size_t.
6113
6114         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
6115
6116 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
6117
6118         * gcc.c: (process_command) Add parentheses around assignment
6119         used as truth value.
6120
6121 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
6122
6123         * config/mips/mips.c (save_restore_insns): Don't mark any register
6124         save slots as unchanging if current_function_calls_eh_return.
6125
6126 2001-09-05  Richard Henderson  <rth@redhat.com>
6127
6128         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
6129         * config/alpha/alpha-protos.h: Declare it.
6130         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
6131         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
6132         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
6133         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
6134         (REG_OK_FOR_BASE_P): Select one of the above.
6135
6136 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
6137
6138         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
6139         (crti.o): Prefix name of object file with $(T).
6140         (crtn.o): Likewise.
6141
6142 2001-09-05  David S. Miller  <davem@redhat.com>
6143
6144         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
6145         * config/sparc/linux64.h: Likewise.
6146
6147 2001-09-05  Andreas Jaeger  <aj@suse.de>
6148
6149         * doc/invoke.texi (i386 Options): -mwide-multiply is not
6150         available anymore, remove the documentation.
6151         (i386 Options): Fix typo, cleanup index entries.
6152
6153         * prefix.c (concat): Remove, we can use the version from liberty.
6154
6155 2001-09-05  Richard Henderson  <rth@redhat.com>
6156
6157         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
6158         New functions split out of md file expanders.
6159         * config/alpha/alpha-protos.h: Declare them.
6160         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
6161
6162 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
6163
6164         * cppmacro.c (funlike_invocation_p): No need to restore context.
6165
6166 2001-09-04  Richard Henderson  <rth@redhat.com>
6167
6168         * reload.c (push_reload): Export.
6169         * reload.h (push_reload): Declare it.
6170
6171         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
6172         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
6173         * config/alpha/alpha.c (alpha_legitimize_address): New.
6174         (alpha_legitimize_reload_address): Likewise.
6175         * config/alpha/alpha-protos.h: Declare them.
6176
6177 2001-09-04  Stan Shebs  <shebs@apple.com>
6178
6179         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
6180         * config/darwin.c (machopic_stub_name): Account for internally
6181         generated lib calls such as memcpy.
6182
6183 2001-09-04  Richard Henderson  <rth@redhat.com>
6184
6185         * unwind.h (_UA_END_OF_STACK): New flag.
6186         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
6187
6188 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
6189
6190         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
6191
6192 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
6193
6194         * config/mips/mips.c (save_restore_insns): Change base_offset to
6195         fp_offset in second call to mips_emit_frame_related_store.
6196
6197 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
6198
6199         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
6200         sometimes be represented as a NOTE of type
6201         NOTE_INSN_DELETED_LABEL.
6202         (Insns): Document NOTE_INSN_DELETED_LABEL.
6203
6204 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
6205
6206         * c-common.h (tree_dump_index): Add more comments.
6207         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
6208         (dump_option_value_info): New struct.
6209         (dump_options): New array.
6210         (dump_switch_p): Parse switch options symbolically.
6211         * doc/invoke.texi (-fdump-ast): Rename to ...
6212         (-fdump-tree): ... here. Document that options are symbolic, and
6213         not all are applicable.
6214
6215 2001-09-04  David S. Miller  <davem@redhat.com>
6216
6217         * config/sparc/sparc.md (define_splits): Kill constraints.
6218
6219         Cleanup redundant and unused insn attributes.
6220         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
6221         binary, and move.  Mark ialu as default.
6222         (commented out define_function_unit "alu"): Kill.
6223         (define_attr "use_clobbered"): Kill.
6224         (whole file): Kill address insn type references.  Replace
6225         all unary/binary/move references with ialu.
6226         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
6227         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
6228         TYPE_IALU.
6229
6230         Simplify length insn attribute and make more judicious use
6231         of insn attribute defaulting.
6232         * config/sparc/sparc.md (all insns with length > one): Mark as
6233         insn type multi if real instructions, else use default if
6234         it is a forced splitter.
6235         (all insns with length == one): Use default insn length.
6236         (all insns of type ialu): Use default insn type.
6237
6238         Fix erroneous insn attribute settings.
6239         (addx): Set insn type to misc.
6240         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
6241         const_umulsidi3_sp64): Set insn type to imul.
6242
6243         Track SFmode vs DFmode insns according to UltraSPARC
6244         scheduling rules.
6245         * config/sparc/sparc.md ("fptype"): New attribute, default
6246         to "single".
6247         (all DFmode single insns): Mark as fptype "double".
6248
6249 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
6250
6251         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
6252
6253 2001-09-03  Richard Henderson  <rth@redhat.com>
6254
6255         * function.h (struct function): Add arg_pointer_save_area_init.
6256         * function.c (expand_function_end): Init arg_pointer_save_area.
6257         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
6258         when called from a nested function.
6259
6260 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
6261
6262         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
6263         is enabled.
6264
6265 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
6266
6267         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
6268
6269 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
6270
6271         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
6272         (emit_push_insn): Use specified padding direction when
6273         STACK_PUSH_CODE is POST_INC.
6274
6275         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
6276
6277 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6278
6279         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
6280
6281 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
6282
6283         * cppinit.c (cpp_start_read): Free the imacros list as we
6284         traverse it.  Don't free the chains before returning.
6285         (_cpp_push_next_buffer): Only try pushing buffers if we've
6286         completed -imacros handling.
6287
6288 2001-08-31  Eric Christopher  <echristo@redhat.com>
6289
6290         * gcc.c (handle_braces): Add explaination for abort.
6291
6292 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
6293
6294         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
6295         move adjustment of bitpos instead.
6296
6297 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
6298
6299         * function.c: Remove all_functions.  Make outer_function_chain
6300         static.
6301         (init_function_start): Don't add new function structure to
6302         all_functions.
6303         (find_function_data, push_function_context_to,
6304         pop_function_context_from, put_var_into_stack,
6305         trampoline_address): Update for changed structure element names.
6306         (push_function_context_to): Disentangle.
6307         (free_after_compilation): Also free F.
6308         (expand_dummy_function_end): Don't free cfun here.
6309         (put_var_into_stack): Comment why we can't use find_function_data here.
6310         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
6311         (mark_function_chain): Split into maybe_mark_struct_function and
6312         ggc_mark_struct_function.  Export the latter.
6313         (init_function_once): Mark from cfun and outer_function_chain;
6314         not all_functions.
6315
6316         * function.h (struct function): Kill next_global.  Rename next
6317         to outer.  All users updated to match.
6318         (all_functions, outer_function_chain): Don't declare.
6319
6320         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
6321         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
6322         don't touch f->inlinable, after calling rest_of_compilation.
6323
6324         * tree.h: Forward-declare struct function.  Prototype
6325         ggc_mark_struct_function.
6326
6327 2001-08-31  Kazu Hirata  <kazu@hxi.com>
6328
6329         * config/h8300/h8300.md (*andorhi3): Fix typos.
6330
6331 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6332
6333         * calls.c (emit_library_call_value): Don't use a fixed
6334         argument after VA_CLOSE, i.e. out of scope in traditional C.
6335
6336         * emit-rtl.c (gen_rtvec): Likewise.
6337
6338 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6339
6340         * Makefile.in (c-pragma.o): Depend on output.h.
6341         (reorg.o): Depend on except.h.
6342
6343         * c-pragma.c: Include output.h.
6344
6345         * reorg.c: Include except.h.
6346
6347         * unwind-dw2.c: Call __builtin_alloca, not alloca.
6348
6349 2001-08-31  Richard Henderson  <rth@redhat.com>
6350
6351         * sched-deps.c (add_dependence): Don't elide dependency if the
6352         conditional used by insn is modified in elem.
6353
6354 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
6355
6356         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
6357
6358 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
6359
6360         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
6361         dump_switch_p.
6362
6363 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
6364
6365         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
6366         function.
6367         (stormy16_asm_out_constructor): New function.
6368         (TARGET_ASM_CONSTRUCTOR): Define.
6369         (TARGET_ASM_DESTRUCTOR): Define.
6370
6371 2001-08-31  Andreas Jaeger  <aj@suse.de>
6372
6373         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
6374         * loop.c (add_label_notes): Likewise.
6375         * reload.c (find_reloads): Likewise.
6376         * config/sh/sh.c (machine_dependent_reorg): Likewise.
6377
6378 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
6379
6380         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
6381         code here.  Take _Unwind_{W,Sw}ord*.
6382         (read_encoded_value_with_base): Use them.
6383         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
6384         words.
6385         (extract_cie_info): Simplify read_?leb128 handling.
6386         (execute_stack_op, execute_cfa_program): Likewise.
6387         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
6388
6389 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
6390
6391         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
6392         the frame pointer to pop the stack if convenient.
6393
6394         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
6395         Don't use post-increment before combine.
6396         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
6397         a call-saved register.
6398
6399 2001-08-31  Andreas Jaeger  <aj@suse.de>
6400
6401         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
6402         code was correct.
6403
6404 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
6405
6406         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
6407         not DIV/MOD, of course.
6408
6409 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
6410
6411         * rtl.def: Undo my patch commited 2001-08-27.
6412
6413         * genattrtab.c: Ditto.
6414
6415         * rtl.h: Ditto.
6416
6417         * sched-int.h: Ditto.
6418
6419         * target-def.h: Ditto.
6420
6421         * target.h: Ditto.
6422
6423         * haifa-sched.c: Ditto.
6424
6425         * sched-rgn.c: Ditto.
6426
6427         * sched-vis.c: Ditto.
6428
6429         * Makefile.in: Ditto.
6430
6431         * doc/md.texi: Ditto.
6432
6433         * doc/tm.texi: Ditto.
6434
6435         * doc/contrib.texi: Ditto.
6436
6437         * doc/gcc.texi: Ditto.
6438
6439         * genattrtab.h: Remove it.
6440
6441         * genautomata.c: Remove it.
6442
6443         * genattr.c: Undo my patch and Richard Henderson's patch commited
6444         2001-08-27.
6445
6446 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
6447
6448         * config.gcc (h8300-*-elf*): New case.
6449         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
6450         (SUBTARGET_CPP_SPEC): Define.
6451         (EXTRA_SPECS): Define.
6452         (SUBTARGET_EXTRA_SPECS): Define.
6453         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
6454         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
6455
6456 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
6457
6458         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
6459         (LIB2FUNCS_EXTRA): Define.
6460         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
6461         config/h8300/fixunssfsi.c: New file.
6462
6463 2001-08-30  Kazu Hirata  <kazu@hxi.com>
6464
6465         * config/h8300/h8300.md (zero_extendqihi2): Changes to
6466         define_expand to accommodate target-specific attributes.
6467         (anonymous zero_extendqihi2 patterns): New.
6468
6469 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
6470
6471         * h8300.md (*andorhi3): New pattern.
6472
6473 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
6474
6475         * h8300.c (dosize): Fix test for "sub".
6476
6477 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
6478
6479         * c-typeck.c (pointer_diff): Try to eliminate common term before
6480         doing conversions.
6481
6482 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
6483
6484         * config/arm/arm.c (arm_compute_initial_elimination_offset):
6485         Account for the saves of the FP registers.
6486
6487         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
6488         (TEXT_SECTION_ASM_OP): Define.
6489         (INIT_SECTION_ASM_OP): Define.
6490         (FINI_SECTION_ASM_OP): Define.
6491         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
6492         (RDATA_SECTION_FUNCITON): Provide prototype.
6493
6494 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
6495
6496         * reload1.c (move2add_note_store): Correct typo checking for
6497         argument pushes.
6498
6499 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
6500
6501         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
6502         note should not be considered outside the libcall block.
6503
6504 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6505
6506         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
6507
6508 2001-08-29  Kazu Hirata  <kazu@hxi.com>
6509
6510         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
6511
6512 2001-08-29  Kazu Hirata  <kazu@hxi.com>
6513
6514         * config/h8300/h8300-protos.h: Add a prototype for
6515         emit_logical_op.
6516         * config/h8300/h8300.c (emit_logical_op): New.
6517         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
6518         (andsi3): Likewise.
6519         (iorhi3): Likewise.
6520         (iorsi3): Likewise.
6521         (xorhi3): Likewise.
6522         (xorsi3): Likewise.
6523
6524 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6525
6526         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
6527         comparison with rtx INTVAL.
6528         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
6529         expression.
6530         * pa.h (FUNCTION_ARG_SIZE): Likewise.
6531
6532 2001-08-29  Kazu Hirata  <kazu@hxi.com>
6533
6534         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
6535         comment typos.
6536
6537 2001-08-29  Kazu Hirata  <kazu@hxi.com>
6538
6539         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
6540         (reg n) to (mem (pre_dec (reg n))
6541         (anonymous movsi pattern): Likewise.
6542
6543 2001-08-29  Kazu Hirata  <kazu@hxi.com>
6544
6545         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
6546
6547 2001-08-29  Kazu Hirata  <kazu@hxi.com>
6548
6549         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
6550         several special constants.
6551
6552 2001-08-29  Kazu Hirata  <kazu@hxi.com>
6553
6554         * config/h8300/lib1funcs.asm: Fix comment typos.
6555
6556 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6557
6558         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
6559         Fix format specifier warnings.
6560
6561         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
6562         inet_makeaddr, semctl): Prototype.
6563
6564         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
6565         (save_restore_insns): Use base_offset, not gp_offset.
6566
6567         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
6568         (ASM_OUTPUT_BYTE): Fix format specifier warning.
6569
6570 2001-08-29  Richard Henderson  <rth@redhat.com>
6571
6572         * bb-reorder.c (function_tail_eff_head): New.
6573         (record_effective_endpoints): Set it.
6574         (fixup_reorder_chain): Use it.
6575
6576 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6577
6578         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
6579
6580 2001-08-28  Dale Johannesen  <dalej@apple.com>
6581
6582         * config/darwin.c (machopic_function_base_name): Add const
6583         qualifier to a string.
6584         (darwin_encode_section_info): Ditto.
6585
6586 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6587
6588         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
6589         function definition.
6590
6591 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
6592
6593         * df.h (struct df): Add rts_order variable.
6594
6595         * df.c (df_visit_next_rts): New function.
6596         (df_visit_next): Renamed to df_visit_next_rc
6597         (df_analyse_1): Allocate/compute/free rts_order as well.
6598         (df_rd_global_compute): Use df_visit_next_rc instead of
6599         df_visit_next.
6600         (df_ru_global_compute): Use df_visit_next_rts instead of
6601         df_visit_next.
6602
6603         * flow.c (flow_reverse_top_sort_order_compute): New function.
6604
6605         * basic-block.h: Add prototype.
6606
6607 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
6608
6609         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
6610         blocks, the BB_REACHABLE is now set, rather than aux being
6611         non-NULL. Update the test to reflect this.
6612
6613 2001-08-28  Eric Christopher  <echristo@redhat.com>
6614
6615         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
6616         config/mips/crti.asm: Ditto.
6617
6618 2001-08-28  Eric Christopher <echristo@redhat.com>
6619             Richard Henderson <rth@redhat.com>
6620
6621         * c-pragma.h (add_weak): Move prototype from here...
6622         * output.h (add_weak): ... to here.
6623         * varasm.c (add_weak): Fix typo.
6624         * config/mips/crti.asm: New file.
6625         * config/mips/crtn.asm: Ditto.
6626         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
6627         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
6628         (INVOKE__main): Ditto.
6629         (INIT_SECTION_ASM_OP): New.
6630         (FINI_SECTION_ASM_OP): Ditto.
6631         (STARTFILE_SPEC): Add crti.
6632         (ENDFILE_SPEC): Add crtn.
6633         * config/mips/elf64.h: Same.
6634         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
6635         Remove.
6636         * config/mips/vxworks.h: Ditto.
6637         * config/mips/t-elf: Support crti and crtn.
6638
6639 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
6640
6641         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
6642         INSN_LIST.
6643
6644 2001-08-28  Richard Henderson  <rth@redhat.com>
6645
6646         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
6647         (one_cmplbi2 splitter): Remove redundant test.
6648
6649 2001-08-28  Dale Johannesen  <dalej@apple.com>
6650
6651         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
6652
6653 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
6654
6655         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
6656
6657 2001-08-28  Stan Shebs  <shebs@apple.com>
6658
6659         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
6660         (UNALIGNED_SHORT_ASM_OP): Define.
6661         (UNALIGNED_INT_ASM_OP): Define.
6662
6663 2001-08-28  Will Cohen  <wcohen@redhat.com>
6664
6665         * config/rs6000/rs6000.md (store_multiple): Correct RTL
6666         generation for first set.
6667
6668 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
6669
6670         * flow.c (redirect_edge_succ_nodup): Return new edge.
6671         (try_simplify_condjump): Use new edge.
6672         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
6673
6674         * cse.c (cse_basic_block): Skip note instructions.
6675
6676 2001-08-27  Richard Henderson  <rth@redhat.com>
6677
6678         * combine.c (combine_simplify_rtx): Don't reverse condition
6679         if there is no reverse for the condition.
6680         (simplify_comparison): Don't simplify subregs from INT to FP.
6681
6682         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
6683         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
6684         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
6685         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
6686         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
6687         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
6688
6689 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
6690
6691         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
6692         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
6693         (pushqi1): New.
6694         (adddi_dilshr32, adddi_dishl32): Only data register can be
6695         source for mem destination.
6696
6697         * expmed.c (store_bit_field): Ignore adjustment to bitpos
6698         and use bitnum to decide about register move.
6699
6700 2001-08-27  Richard Henderson  <rth@redhat.com>
6701
6702         * genattr.c (main): Emit state_t even when not doing scheduling.
6703
6704 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
6705             Richard Henderson  <rth@redhat.com>
6706
6707         * gcse.c (reg_first_set, reg_last_set): Replace with ...
6708         (reg_avail_info, current_bb): ... these.
6709         (oprs_unchanged_p, record_last_reg_set_info): Use them.
6710         (compute_hash_table): Likewise.
6711
6712 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
6713
6714         * flow.c (verify_flow_info): Use checksums to verify edges.
6715
6716 2001-08-27  Richard Henderson  <rth@redhat.com>
6717
6718         * genautomata.c (expand_automata): Always create a description.
6719
6720 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
6721
6722         * optabs.c (expand_binop): Correctly handle the carry in multiword
6723         add/subtract operations.
6724
6725 2001-08-27  Fred Fish  <fnf@be.com>
6726
6727         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
6728         __SIZE_TYPE__.
6729
6730 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
6731
6732         * reload.c (find_reloads_toplev): Back out this change:
6733
6734         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
6735
6736         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
6737         mem if the address is a mode_dependent_address_p.
6738
6739 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
6740
6741         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
6742         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
6743         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
6744         RTL constructions.
6745
6746         * genattr.c (main): New variable num_insn_reservations.  Increase
6747         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
6748         pipeline hazard recognizer interface.
6749
6750         * genattrtab.h: New file.
6751
6752         * genattrtab.c: Include genattrtab.h.
6753         (attr_printf, check_attr_test, make_internal_attr,
6754         make_numeric_value): Move protypes into genattrtab.h.  Define them
6755         as external.
6756         (num_dfa_decls): New global variable.
6757         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
6758         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
6759         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
6760         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
6761
6762         * genautomata.c: New file.
6763
6764         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
6765
6766         * sched-int.h: (curr_state): Add the external definition for
6767         automaton pipeline interface.
6768         (haifa_insn_data): Add comments for members blockage and units.
6769
6770         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
6771         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
6772         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
6773         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
6774         TARGET_SCHED_DFA_POST_CYCLE_INSN,
6775         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
6776         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
6777         macros.
6778         (TARGET_SCHED): Use the new macros.
6779
6780         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
6781         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
6782         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
6783         dfa_bubble): New members in gcc_target.sched.
6784
6785         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
6786         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
6787         (insn_queue): Redefine it as pointer to array.
6788         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
6789         INSN_QUEUE_SIZE.
6790         (max_insn_queue_index_macro_value): New variable.
6791         (curr_state, dfa_state_size, ready_try): New varaibles for
6792         automaton interface.
6793         (ready_element, ready_remove, max_issue): New function prototypes
6794         for automaton interface.
6795         (choose_ready): New function prototype.
6796         (insn_unit, blockage_range): Add comments.
6797         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
6798         FUNCTION_UNITS_SIZE == 0.
6799         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
6800         actual_hazard, potential_hazard): Add comments.
6801         (insn_cost): Use cost -1 as undefined value.  Remove
6802         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
6803         pipeline interface.
6804         (ready_element, ready_remove): New functions for automaton
6805         interface.
6806         (schedule_insn): Add new code for automaton pipeline interface.
6807         (queue_to_ready): Add new code for automaton pipeline interface.
6808         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
6809         (debug_ready_list): Print newline when the queue is empty.
6810         (max_issue): New function for automaton pipeline interface.
6811         (choose_ready): New function.
6812         (schedule_block): Add new code for automaton pipeline interface.
6813         Print ready list before scheduling each insn.
6814         (sched_init): Add new code for automaton pipeline interface.
6815         Initiate insn cost by -1.
6816         (sched_finish): Free the current automaton state and finalize
6817         automaton pipeline interface.
6818
6819         * sched-rgn.c: Include target.h.
6820         (init_ready_list, new_ready, debug_dependencies): Add new code for
6821         automaton pipeline interface.
6822
6823         * sched-vis.c: Include target.h.
6824         (get_visual_tbl_length): Add code for automaton interface.
6825         (target_units, print_block_visualization):  Add comments.
6826
6827         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
6828         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
6829         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
6830         (getruntime.o, genautomata.o): New entries.
6831         (genattrtab.o): Add new dependency file genattrtab.h.
6832         (genattrtab): Add new dependencies.  Link it with `libm.a'.
6833         (getruntime.o, hashtab.o): New entries for canadian cross.
6834
6835         * doc/md.texi: Description of automaton based model.
6836
6837         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
6838         Add comments.
6839         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
6840         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
6841         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
6842         TARGET_SCHED_DFA_POST_CYCLE_INSN,
6843         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
6844         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
6845         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
6846         hook descriptions.
6847         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
6848         MAX_DFA_ISSUE_RATE): New macro descriptions.
6849
6850         * doc/contrib.texi: Add dfa based scheduler contribution.
6851
6852         * doc/gcc.texi: Add more information about genattrtab.
6853
6854 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
6855
6856         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
6857         an RTL basic block.
6858
6859 2001-08-27  Richard Henderson  <rth@redhat.com>
6860
6861         * function.c (expand_function_end): Don't init arg_pointer_save_area.
6862         (get_arg_pointer_save_area): New.  Create an init it here.
6863         (fix_lexical_addr): Use it.
6864         * function.h: Declare it.
6865         * builtins.c (expand_builtin_setjmp_receiver): Use it.
6866         * stmt.c (expand_nl_goto_receiver): Use it.
6867
6868 2001-08-27  Richard Henderson  <rth@redhat.com>
6869
6870         * final.c (final_scan_insn): Don't enter APP_ON mode for
6871         empty asm strings.
6872
6873         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
6874         alignment for assemble_integer for DW_EH_PE_aligned.
6875         * except.c (output_function_exception_table): Likewise.
6876
6877 2001-08-26  Andreas Jaeger  <aj@suse.de>
6878
6879         * c-tree.h: Add prototyp for c_sizeof_nowarn.
6880
6881 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
6882
6883         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
6884
6885 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
6886
6887         * config/rs6000/rs6000.c (mask_operand): Rewrite without
6888         bit-shifting loop.
6889         (mask64_operand): Likewise.
6890         (rldic_operand): Delete.
6891         (includes_lshift64_p): Delete.
6892         (includes_rldic_lshift_p): New function.
6893         (includes_rldicr_lshift_p): New function.
6894         (print_operand): Don't call rldic_operand in case 'W'.
6895         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
6896         (includes_lshift64_p): Remove.
6897         (includes_rldic_lshift_p): Declare.
6898         (includes_rldicr_lshift_p): Declare.
6899         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
6900         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
6901         Replace match_operand rldic_operand predicate with
6902         const_int_operand.  Replace includes_lshift64_p condition with
6903         includes_rldic_lshift_p.
6904         <ashldi3_internal 64 bit rldicr patterns>: New.
6905
6906 2001-08-27  Andreas Jaeger  <aj@suse.de>
6907
6908         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
6909         * errors.c: Likewise.
6910         * final.c: Likewise.
6911         * dwarf2asm.c: Likewise.
6912         * doprint.c (checkit): Likewise.
6913         * diagnostic.c: Likewise.
6914         * collect2.c: Likewise.
6915         * calls.c: Likewise.
6916         * c-semantics.c (build_stmt): Likewise.
6917         * c-format.c (status_warning): Likewise.
6918         * c-errors.c (pedwarn_c99): Likewise.
6919         * builtins.c (validate_arglist): Likewise.
6920         * config/pj/pj.c (pj_printf): Likewise.
6921         * fix-header.c: Likewise.
6922         * gcc.c: Likewise.
6923         * gcov.c (fnotice): Likewise.
6924         * gensupport.c (message_with_line): Likewise.
6925         * mips-tfile.c: Likewise.
6926         * protoize.c (notice): Likewise.
6927         * read-rtl.c (fatal_with_file_and_line): Likewise.
6928         * rtl-error.c: Likewise.
6929         * tradcpp.c: Likewise.
6930         * tree.c: Likewise.
6931         * cp/tree.c (build_min_nt): Likewise.
6932         (build_min): Likewise.
6933         * cp/lex.c: Likewise.
6934         * cp/errfn.c: Likewise.
6935         * cp/rtti.c (create_pseudo_type_info): Likewise.
6936
6937 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
6938
6939         * df.c (df_uses_record): Return after recording all uses
6940         in ASM_OPERANDS.
6941
6942 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
6943
6944         * df.c (df_insn_modify): Realloc the INSN table here, if
6945         necessary, here, too.
6946
6947 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
6948
6949         * config/mips/mips.c (mips_function_value): Handle complex return
6950         values.
6951
6952 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
6953
6954         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
6955         unshared.
6956         * reload.c (make_memloc): Copy result if it is still
6957         reg_equiv_memory_loc[regno] on return.
6958         (subst_reloads) [ENABLE_CHECKING]: Check that none of
6959         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
6960         reg_equiv_mem are modified by the substitutions.
6961
6962 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
6963
6964         * predict.c (expensive_function_p): New.
6965         * rtl.h (expensive_function_p): Declare.
6966         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
6967         (use_fast_prologue_epilogue): New static variable.
6968         (expand_prologue): Set it; emit short prologues if unset.
6969         (expand_epilogue): Likewise.
6970
6971 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
6972
6973         * config.gcc: Add stormy16-*-elf case.
6974         * config/stormy16/stormy-abi: New file.
6975         * config/stormy16/stormy16-lib2.c: New file.
6976         * config/stormy16/stormy16-protos.h: New file.
6977         * config/stormy16/stormy16.c: New file.
6978         * config/stormy16/stormy16.h: New file.
6979         * config/stormy16/stormy16.md: New file.
6980         * config/stormy16/t-stormy16: New file.
6981
6982 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
6983
6984         * i386.h (no-accumulate-outgoing-args): Use proper mask.
6985
6986 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
6987
6988         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
6989         descriptor members are pointer size, not constant 4.
6990         * config/rs6000/rs6000.md (define_splits): Remove more unused
6991         constraints.
6992
6993 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6994
6995         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
6996
6997 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
6998
6999         * cp/rtti.c (VPARAMS): Fix parameter.
7000
7001 2001-08-24  Zack Weinberg  <zackw@panix.com>
7002
7003         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
7004         to zero.
7005         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
7006         to switch.
7007         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
7008         in if controlling use of insv.
7009         (extract_bit_field): Likewise, for extv and extzv.
7010
7011 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
7012
7013         * i386.md (movcc peep2): Fix load of 0.
7014
7015 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7016
7017         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
7018         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
7019
7020 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
7021
7022         * c-pragma.h: Move weak_syms and weak_decls...
7023         * varasm.c: ...here.  Now static.
7024         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
7025         depend on HANDLE_PRAGMA_WEAK.
7026
7027         * c-common.c (c_alignof, c_alignof_expr): Move here...
7028         * c-typeck.c: ...from here.
7029         * c-tree.h, c-common.h: Adjust.
7030
7031 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
7032
7033         * config/ia64/ia64.c (rws_update): If !pred, set write_count
7034         instead of incrementing it.
7035
7036         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
7037         asm ready, don't try to move them all into the same array element.
7038
7039 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
7040
7041         * function.c (thread_prologue_and_epilogue_insns): Avoid
7042         fallthru flag on edge to exit.
7043
7044         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
7045
7046         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
7047         dead edges.
7048
7049 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
7050
7051         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
7052         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
7053         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
7054         Remove prototype.
7055
7056 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
7057
7058         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
7059         replace "GNU CC" with "GCC".
7060
7061 2001-08-23  Richard Henderson  <rth@redhat.com>
7062
7063         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
7064         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
7065         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
7066         Need GR between FR and not GR_AND_FR.
7067         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
7068         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
7069         AR regs before GR regs.
7070         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
7071         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
7072         (REGISTER_MOVE_COST): Update.
7073         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
7074
7075 2001-08-23  Richard Henderson  <rth@redhat.com>
7076
7077         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
7078         a register class.
7079
7080 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
7081
7082         * reload1.c (emit_reload_insns): Don't look for notes
7083         on a NULL store_insn.
7084
7085 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7086
7087         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
7088         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
7089         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
7090         format specifier warnings.
7091         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
7092
7093 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
7094
7095         * config/i386/i386-protos.h: Correct declaration of
7096         i386_pe_asm_named_section.
7097
7098 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7099
7100         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
7101         variable i.
7102         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
7103
7104 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
7105
7106         * cpperror.c (print_location): Don't show _Pragma.
7107         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
7108         and file change callback generation here.
7109         (stack_include_file): Update use of cpp_push_buffer.
7110         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
7111         (struct cpp_buffer): Remove type, pfile members.
7112         * cppinit.c (cpp_handle_option): Use free_chain.
7113         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
7114         (skip_escaped_newlines, get_effective_char, lex_percent): Take
7115         a cpp_reader rather than a cpp_buffer.
7116         (skip_escaped_newlines, get_effective_char, skip_block_comment,
7117         skip_line_comment, parse_string, lex_percent, lex_dot,
7118         _cpp_lex_token): Update accordingly.
7119         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
7120         generation here.
7121         (cpp_push_buffer): Update prototype.
7122         (run_directive): Update use of cpp_push_buffer.
7123         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
7124         handle_assertion): Update use of run_directive.
7125         * cpplib.h (enum cpp_buffer_type): Remove.
7126         (cpp_push_buffer): Update prototype.
7127         * fix-header.c (read_scan_file): Update.
7128
7129 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7130
7131         * gcc.c (struct prefix_list): Change prefix to const char *.
7132
7133 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7134
7135         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
7136
7137 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
7138
7139         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
7140         from a new MEM.
7141
7142         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
7143         a squeezable note.
7144         * rtl.h: Adjust.
7145         * ifcvt.c (dead_or_predicable): Adjust.
7146         * loop.c (find_and_verify_loops): Adjust.
7147         * stmt.c (expand_end_case): Adjust.
7148         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
7149         head and end insn pointers in the basic block, not just local copies.
7150         (merge_blocks_move_predecessor_nojumps): Likewise.
7151
7152 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
7153
7154         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
7155         bitmap.h, builtin-types.def, builtins.c, builtins.def,
7156         c-aux-info.c, c-common.c, c-common.def, c-common.h,
7157         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
7158         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
7159         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
7160         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
7161         conditions.h, config.gcc, configure.frag, configure.in,
7162         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
7163         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
7164         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
7165         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
7166         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
7167         emit-rtl.c, errors.c, errors.h, except.c, except.h,
7168         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
7169         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
7170         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
7171         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
7172         gencheck.c, gencodes.c, genconfig.c, genemit.c,
7173         genextract.c, genflags.c, gengenrtl.c, genmultilib,
7174         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
7175         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
7176         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
7177         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
7178         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
7179         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
7180         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
7181         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
7182         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
7183         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
7184         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
7185         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
7186         params.h, predict.c, predict.def, predict.h, prefix.c,
7187         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
7188         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
7189         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
7190         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
7191         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
7192         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
7193         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
7194         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
7195         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
7196         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
7197         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
7198         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
7199         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
7200         xcoffout.h: replace "GNU CC" with "GCC".
7201
7202 2001-08-21  Richard Henderson  <rth@redhat.com>
7203
7204         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
7205         (final_scan_insn): Consider jump tables data even if we have no
7206         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
7207         ADDR_VEC_ALIGN.
7208         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
7209         (ASM_OUTPUT_CASE_END): Remove.
7210         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
7211         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
7212         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
7213
7214 2001-08-21  Richard Henderson  <rth@redhat.com>
7215
7216         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
7217         at barrier insns.  Emit stop bits before barriers.
7218
7219         * flow.c (flow_find_cross_jump): Don't consider unconditional
7220         return insns for commoning.
7221
7222         * final.c (compute_alignments): Fix typo.
7223
7224         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
7225         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
7226         (store_bit_field): Use mode_for_extraction more places.
7227         (extract_bit_field): Likewise.
7228
7229 2001-08-21  Zack Weinberg  <zackw@panix.com>
7230
7231         * caller-save.c: Don't include insn-codes.h.
7232         (reg_save_code, reg_restore_code): Make arrays of int.
7233         All uses updated to match.
7234         (insert_save, insert_restore): No need to initialize "code"
7235         variable upon declaration.
7236         * Makefile.in: update dependencies; fix typo in clean rule.
7237
7238 2001-08-21  Richard Henderson  <rth@redhat.com>
7239
7240         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
7241         (merge_if_block): Handle fallout from same.
7242
7243 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7244
7245         * builtins.c (type_to_class): Fix typo in last change.
7246
7247 2001-08-21  Richard Henderson  <rth@redhat.com>
7248
7249         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
7250         ia64_asm_output_label.
7251
7252         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
7253         copy of gp while the real gp register contains garbage.
7254
7255 2001-08-21  Zack Weinberg  <zackw@panix.com>
7256
7257         * expmed.c (mode_for_extraction): New function.
7258         (store_bit_field, extract_bit_field): Use it.
7259         * expr.h: Prototype it and provide an enum for its first argument.
7260
7261         * combine.c, function.c, recog.c: Don't include insn-codes.h.
7262         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
7263         and digging through the insn_data tables.
7264         * Makefile.in: Update dependencies.
7265
7266 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
7267
7268         * cppfiles.c (stack_include_file): line-map.c now handles include
7269         depth.
7270         (handle_missing_handler): Similarly.
7271         (_cpp_execute_include): Similarly.
7272         (_cpp_pop_file_buffer): Similarly.
7273         * cpphash.h (struct cpp_reader): Remove system_include_depth,
7274         buffer_stack_depth and include_depth.
7275         * cpplib.c (do_include_common): line-map.c now handles include depth.
7276         (cpp_push_buffer): Similarly.
7277         (_cpp_pop_buffer): Similarly.
7278         * cppmacro.c (builtin_macro): Update.
7279         * line-map.c (init_line_maps): Set depth.
7280         (add_line_map): Increment "used" earlier.  Update and use the
7281         include depth.
7282         (trace_include): Use the include depth.
7283         * line-map.h (struct line_maps): New member depth.
7284
7285 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
7286
7287         * cppfiles.c (stack_include_file): Don't handle -H here.
7288         * cppinit.c (cpp_start_read): Set include tracing after
7289         cpp_post_options and after stacking the main file.
7290         * line-map.c (trace_include): New.
7291         (init_line_maps, add_line_map): Update.
7292         * line-map.h (struct line_maps): New member trace_includes.
7293
7294 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
7295
7296         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
7297         * cppfiles.c (stack_include_file): Only stack a file if there
7298         is something to do.  Return a boolean indicating whether a
7299         buffer was stacked or not.
7300         (_cpp_execute_include): Similarly.
7301         (_cpp_read_file): Similarly.
7302         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
7303
7304 2001-08-21  Sam Steingold  <sds@gnu.org>
7305
7306         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
7307         (RECACHE): keep obufp_before_macroname up to date
7308
7309 2001-08-21  Zack Weinberg  <zackw@panix.com>
7310
7311         * stmt.c: Don't include insn-codes.h.
7312         (expand_end_case): Machine specific logic moved to expr.c.
7313         No need to worry about __builtin_classify_type.
7314         (check_for_full_enumeration_handling, emit_case_nodes):
7315         Kill #if 0 blocks.
7316
7317         * builtins.o (expand_builtin_classify_type): Split up so code
7318         can be shared with fold_builtin_classify_type.
7319         (type_to_class, fold_builtin_classify_type): New functions.
7320         (fold_builtins): Handle __builtin_classify_type.
7321
7322         * expr.c (do_tablejump): Now static.
7323         (case_values_threshold, try_casesi, try_tablejump): New;
7324         code mostly from stmt.c (expand_end_case).
7325         (expr.h): Update prototypes.
7326
7327         * Makefile.in (stmt.o): Update dependencies.
7328
7329 2001-08-21  Will Cohen  <wcohen@redhat.com>
7330
7331         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
7332         declaration of variable i.
7333         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
7334         declaration of variable i.
7335
7336 2001-08-21  Richard Henderson  <rth@redhat.com>
7337
7338         * crtstuff.c: Fix thinko last change.  Move list tails to start
7339         of CRT_END section.  Tidy ifdefs.
7340         (__EH_FRAME_BEGIN__): Always static for ELF.
7341         (__do_global_ctors_1): Rename from __frame_dummy.
7342         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
7343         name change; don't hide __EH_FRAME_BEGIN__.
7344
7345 2001-08-21  Richard Henderson  <rth@redhat.com>
7346
7347         * gdbinit.in: Move break on exit after break on fancy_abort.
7348
7349         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
7350         sized types.
7351
7352 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
7353
7354         * cpphash.h (_cpp_push_next_buffer): New.
7355         * cppinit.c (do_includes): Remove.
7356         (push_include, free_chain, _cpp_push_next_buffer): New.
7357         (cpp_start_read): Use them to rework command line option handling.
7358         (cpp_handle_option): Combine handling of -include and -imacros.
7359         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
7360         appropriate.  Always insert missing \n at EOF.
7361         * cpplib.c (start_directive): Get the directive position right.
7362         * cppmain.c (cb_file_change): Always print the first line, unless
7363         preprocessed.
7364
7365 2001-08-20  Andreas Jaeger  <aj@suse.de>
7366
7367         * profile.c (compute_branch_probabilities): Remove extra new-line
7368         in error message.
7369         * flow.c (verify_flow_info): Likewise.
7370
7371 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
7372
7373         * basic-block.h (basic_block): Add new field 'flags'.
7374         (BB_REACHABLE): Define.
7375         (expunge_block): Declare.
7376         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
7377         (EXIT_BLOCK_PTR): Ditto.
7378         (expunge_block): Remove static declaration.
7379         (cleanup_cfg): Clear bb->aux on every basic block.
7380         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
7381         computing reachability.
7382         (delete_unreachable_blocks): Delete block b if b->flags has
7383         BB_REACHABLE unset.
7384
7385 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
7386
7387         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
7388
7389 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7390
7391         * sparc.c (sparc_variable_issue): Fix typo in last change.
7392
7393 2001-08-20  Richard Henderson  <rth@redhat.com>
7394
7395         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
7396
7397 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7398
7399         * pa.h (RETURN_IN_MEMORY): Improve comment.
7400
7401 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
7402
7403         * doc/invoke.texi (Profiling options): Clarify the interactions
7404         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
7405
7406 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
7407
7408         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
7409         command.
7410
7411 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7412
7413         * gcc.c (make_relative_prefix): Allocate a sufficiently large
7414         buffer.
7415
7416 2001-08-20  Richard Henderson  <rth@redhat.com>
7417
7418         * final.c (end_final): Fix typo last change.
7419
7420 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
7421
7422         * cppinit.c (init_standard_includes): The returned buffer
7423         is already malloc-ed.
7424         * gcc.c (add_prefix): Similarly.
7425         * prefix.c (translate_name): Update to support clear buffer
7426         ownership rules.
7427         (update_path): Similarly.  Be sure to free any newly allocated
7428         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
7429         (tr): New function.
7430         * prefix.h (update_path): Update prototype and document.
7431         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
7432         up and update to new buffer ownership rules.
7433         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
7434
7435 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
7436
7437         * final.c (compute_alignments): New function.
7438         (init_insn_lengths): Do not care label_align.
7439         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
7440         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
7441         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
7442         (shorted_branches): Realloc label_align array; do
7443         not call init_insn_lengths; Do not care about loop alignments.
7444         * output.h (compute_alignments): Declare.
7445         * toplev.c (rest_of_compilation): Call compute_alignments.
7446         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
7447
7448         * predict.c (block_info_def): Add npredecesors, remove nvisited;
7449         change visited to tovisit.
7450         (propagate_freq): Use faster traversing algorithm.
7451         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
7452         to tovisit; reverse meaning.
7453
7454         * predict.c (struct block_info_def): Remove nvisited.
7455         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
7456         (estimate_bb_frequencies): Call mark_dfs_back_edges.
7457
7458 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
7459
7460         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
7461         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
7462         (TARGET_FUSED_MADD): New.
7463         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
7464         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
7465         the multiply-add instructions.
7466
7467 2001-08-19  Richard Henderson  <rth@redhat.com>
7468
7469         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
7470         is aligned to pointer size.
7471
7472 2001-08-19  Richard Henderson  <rth@redhat.com>
7473
7474         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
7475         display markers during final schedule.
7476
7477 2001-08-19  Richard Henderson  <rth@redhat.com>
7478
7479         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
7480
7481 2001-08-19  Richard Henderson  <rth@redhat.com>
7482
7483         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
7484         in the same string.
7485         (ASM_NAME_TO_STRING): Remove.
7486         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
7487         in the same string.  Remove support for expressions.
7488
7489 2001-08-19  Richard Henderson  <rth@redhat.com>
7490
7491         * config/i386/i386.md (tablejump): Make an expander; handle
7492         pic relative addressing here.
7493         (tablejump_1): Rename from tablejump_pic.
7494         (casesi): Remove.
7495
7496 2001-08-19  Richard Henderson  <rth@redhat.com>
7497
7498         * regclass.c (fix_register): Fix typo.
7499
7500 2001-08-18  Richard Henderson  <rth@redhat.com>
7501
7502         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
7503         (struct _Unwind_Context): Expand br_loc to hold it.
7504         (uw_frame_state_for): Handle leaf functions better.
7505         (uw_update_reg_address): Update for br_loc change.
7506
7507 2001-08-18  Richard Henderson  <rth@redhat.com>
7508
7509         * crtstuff.c: Move list heads before code that uses them.
7510         (__JCR_LIST__): Remove initial null.
7511         (frame_dummy, __frame_dummy): Do java registration here ...
7512         (__do_global_ctors_aux): ... not here.
7513
7514         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
7515         (__do_global_dtors_aux): Update to match.
7516         (__JCR_LIST__, __do_jv_register_classes): New.
7517         (.init): Call it.
7518         * config/ia64/crtend.asm (__JCR_END__): New.
7519         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
7520         instead of an indirect LTOFF22 reloc.
7521
7522 2001-08-18  Richard Henderson  <rth@redhat.com>
7523
7524         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
7525         * regclass.c (init_reg_sets_1): Fix typo.
7526         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
7527         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
7528         (ia64_compute_frame_size): Make ar.unat live when in use.
7529         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
7530         for ar.pfs; remove ar.unat handling.
7531         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
7532         call-saved.
7533         (PREDICATE_CODES): Add ar_pfs_reg_operand.
7534         * config/ia64/ia64-protos.h: Update decls.
7535         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
7536         (sibcall_pic): Likewise.
7537
7538 2001-08-18  Richard Henderson  <rth@redhat.com>
7539
7540         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
7541         pred_rel_mutex when searching for insn_group_barrier.
7542         * config/ia64/ia64.md (cycle_display): Combine the expander
7543         and insn patterns.
7544
7545         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
7546         bit before asm as needed.
7547
7548 2001-08-18  Richard Henderson  <rth@redhat.com>
7549
7550         * timevar.def (TV_MACH_DEP): New.
7551         * toplev.c (rest_of_compilation): Use it.
7552         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
7553
7554 2001-08-18  Zack Weinberg  <zackw@panix.com>
7555
7556         * unwind-dw2.c (execute_stack_op): Add default aborts to
7557         the inner switches to prevent warnings.
7558
7559 2001-08-18  Richard Henderson  <rth@redhat.com>
7560
7561         * timevar.h (struct timevar_time_def): Change element type to float.
7562         (ticks_to_msec, clocks_to_msec): Likewise.
7563         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
7564         (get_time): Likewise.
7565         (timevar_print): Adjust zero check and printing to match.
7566
7567 2001-08-18  Zack Weinberg  <zackw@panix.com>
7568
7569         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
7570         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
7571         Eliminate overfull or underfull hboxes.
7572
7573 2001-08-18  Zack Weinberg  <zackw@panix.com>
7574
7575         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
7576
7577 2001-08-18  Zack Weinberg  <zackw@panix.com>
7578
7579         * haifa-sched.c: Convert to target hooks.  Macros replaced
7580         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
7581         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
7582         MD_SCHED_FINISH, and HAVE_cycle_display.
7583         * target-def.h (TARGET_SCHED_ADJUST_COST,
7584         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
7585         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
7586         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
7587         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
7588         New hook #defines to be overridden.
7589         (TARGET_SCHED): Bring them all together.
7590         (TARGET_INITIALIZER): Update.
7591         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
7592         instead of 'struct rtx_def *' throughout.
7593         (struct sched): New set of hooks for the scheduler.
7594         * Makefile.in (haifa-sched.o): Depend on target.h.
7595         * doc/tm.texi: Document the new scheduler hooks, together in
7596         their own section, instead of scattered around.
7597         Fix a bunch of underfull/overfull hboxes.
7598
7599         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
7600         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
7601         sparc.h: Don't define any of the old scheduler macros.
7602
7603         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
7604         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
7605         sparc.c: Create hook functions from code extracted from
7606         corresponding target header, or make existing hooks static, as
7607         appropriate.  Set the appropriate entries in targetm.
7608
7609         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
7610         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
7611         rs6000-protos.h, s390-protos.h, sparc-protos.h:
7612         Remove prototypes for functions which are now static.
7613
7614         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
7615         related gunk; the Haifa scheduler is now the only choice.
7616
7617 2001-08-18  Zack Weinberg  <zackw@panix.com>
7618
7619         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
7620         * genopinit.c: Put floating point divide insns in sdiv_optab.
7621         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
7622         * config/gofast.h, config/c4x/c4x.h,
7623         config/ia64/hpux_longdouble.h, config/mips/mips.h,
7624         config/pa/long_double.h, config/rs6000/sysv4.h,
7625         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
7626         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
7627         (init_optabs): Use init_optabv for overflow-trapping optabs.
7628         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
7629         cmp_optab RTX codes so have_insn_for can find them.
7630
7631         * optabs.c (expand_simple_binop, expand_simple_unop,
7632         have_insn_for, gen_sub3_insn): New interfaces.
7633         * expr.h: Prototype new functions.
7634         (enum optab_methods): Move here from optabs.h.
7635
7636         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
7637         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
7638         Use new functions instead of working directly with optabs.
7639         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
7640         unroll.c: Don't include optabs.h.
7641         * caller-save.c, combine.c, function.c, stmt.c: Just include
7642         insn-codes.h, not optabs.h.
7643         * Makefile.in: Update dependencies.
7644
7645         * combine.c (make_compound_operation, simplify_comparison):
7646         Fix typos testing for this or that instruction.
7647
7648 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
7649
7650         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
7651         generating libgcc.a.
7652
7653 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7654
7655         * except.c (TYPE_HASH): Delete.
7656
7657         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
7658         HOST_WIDE_INT.
7659
7660         * tree.c (TYPE_HASH): Delete.
7661
7662         * tree.h (TYPE_HASH): Define.
7663
7664 2001-08-18  Graham Stott  <grahams@redhat.com>
7665
7666         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
7667         define_split.
7668         (adddi3_internal_2+2): Likewise.
7669         (eh_set_lr_di+1): Likewise.
7670
7671 2001-08-17  Richard Henderson  <rth@redhat.com>
7672
7673         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
7674         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
7675         * dwarf2asm.c: ... here.
7676         * dwarfout.c: Remove them.
7677
7678         * varasm.c (assemble_integer): Add align parameter.
7679         (assemble_real, output_constant, output_constructor): Likewise.
7680         * output.h: Update decls.
7681         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
7682         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
7683         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
7684         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
7685         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
7686         Update all callers.
7687
7688         * final.c (end_final): Abort profile block generation if we
7689         havn't layed it out properly.
7690         * output.h (assemble_eh_integer): Remove stale decl.
7691         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
7692         (min_align): New.
7693         (assemble_integer): Handle unaligned data.
7694         (assemble_real): Abort on unaligned data.
7695         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
7696         anything useful.
7697         (default_dtor_section_asm_out_destructor): Use assemble_align.
7698         (default_named_section_asm_out_constructor): Likewise.
7699         (default_ctor_section_asm_out_constructor): Likewise.
7700         * config/darwin.c (machopic_asm_out_constructor): Likewise.
7701         (machopic_asm_out_destructor): Likewise.
7702         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
7703         (nextstep_asm_out_destructor): Likewise.
7704         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
7705         (vms_asm_out_destructor): Likewise.
7706
7707 2001-08-17  Richard Henderson  <rth@redhat.com>
7708
7709         * config/mips/iris6.h (TARGET_IRIX6): New.
7710         (current_section_name, current_section_flags): New.
7711         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
7712         (MAX_OFILE_ALIGNMENT): New.
7713         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
7714         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
7715         (copy_file_data): Split out from
7716         (mips_asm_file_end): ... here.
7717         (mips_asm_file_start): Remove extra .section directive.  Use
7718         tmpfile instead of mips_make_temp_file.
7719         (mips_unique_section): Use const char * as needed for warnings.
7720         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
7721         re-add align parameter.
7722         (iris6_asm_named_section): New.
7723         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
7724         (iris6_asm_output_align, iris6_section_align_1): New.
7725         (iris6_asm_file_start, iris6_asm_file_end): New.
7726         * config/mips/mips-protos.h: Update decls.
7727
7728 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
7729
7730         * doc/install.texi (Install GCC): Add links to build status pages.
7731         (Specific): Ditto.
7732         (Final install): Ditto; request updates for specific info
7733
7734 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
7735
7736         * cpperror.c (print_location):  Don't take a file name; use the
7737         line map instead.
7738         (_cpp_begin_message): Similarly.
7739         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
7740         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
7741         (cpp_pedwarn_with_file_and_line): Remove.
7742         * cppfiles.c (stack_include_file): Update; set filename to stdin
7743         here when appropriate.
7744         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
7745         (_cpp_begin_message): Don't take a file name.
7746         * cppinit.c: Add comment.
7747         * cpplex.c: Fix end-of-directive indicator.
7748         * cpplib.c: Don't include intl.h.
7749         (run_directive, do_diagnostic): Update.
7750         (do_line): Update to not use nominal_fname.
7751         (cpp_push_buffer): Don't take a filename.
7752         * cpplib.h (struct ht): Remove.
7753         (cpp_push_buffer): Don't take a filename.
7754         (cpp_pedwarn_with_file_and_line): Remove.
7755         * cppmacro.c (struct cpp_macro): Remove file.
7756         (builtin_macro): Update.
7757         (_cpp_create_definition): Update.
7758         * cppmain.c: Correct comment.
7759         * fix-header.c (read_scan_file): Update.
7760
7761 2001-08-17  Kazu Hirata  <kazu@hxi.com>
7762
7763         * sbitmap.c: Fix comment formatting.
7764         * sched-deps.c: Likewise.
7765         * sibcall.c: Likewise.
7766         * simplify-rtx.c: Likewise.
7767         * ssa.c: Likewise.
7768         * ssa-ccp.c: Likewise.
7769         * stor-layout.c: Likewise.
7770         * timevar.c: Likewise.
7771         * toplev.c: Likewise.
7772         * unwind-dw2.c: Likewise.
7773         * unwind-dw2-fde.c: Likewise.
7774         * varasm.c: Likewise.
7775
7776 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7777
7778         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
7779         or larger than an integer in memory.
7780
7781 2001-08-17  Zack Weinberg  <zackw@panix.com>
7782
7783         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
7784         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
7785         * rtl.h: Don't forward-declare union tree_node here.  Don't
7786         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
7787         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
7788         and tree respectively.
7789         * tree.h: Don't forward-declare struct rtx_def here.  Don't
7790         typedef tree here.  Change all uses of struct rtx_def *,
7791         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
7792         and tree respectively.
7793
7794 2001-08-17  Richard Henderson  <rth@redhat.com>
7795
7796         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
7797         config/mips/openbsd.h: Fix typos last change.
7798
7799 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7800
7801         * doc/invoke.texi (Optimize Options): The default for
7802         -finline-limit is 600.
7803
7804 2001-08-17  Richard Henderson  <rth@redhat.com>
7805
7806         * varasm.c (text_section): Allow TEXT_SECTION to override the
7807         printing of TEXT_SECTION_ASM_OP.
7808         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
7809         (DATA_SECTION, BSS_SECTION): Remove.
7810         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
7811         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
7812         Rename from s/_NAME//.
7813         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
7814         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
7815         (TEXT_SECTION): ... here.  New.
7816         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
7817         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
7818         * config/mips/openbsd.h: Likewise.
7819         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
7820         (mips_asm_file_end): Likewise test.
7821         (mips_output_function_epilogue): Likewise.  Switch back to data
7822         section after emitting the function.
7823
7824         * doc/tm.texi (Sections): Document TEXT_SECTION.
7825
7826 2001-08-17  Richard Henderson  <rth@redhat.com>
7827
7828         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
7829         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
7830
7831 2001-08-17  Richard Henderson  <rth@redhat.com>
7832
7833         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
7834         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
7835         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
7836         Add aligned attribute.
7837
7838 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
7839
7840         * config/sh/sh.md: Add modes to unspecs in first insn to match
7841         those in the second.
7842
7843         * Makefile.in: Fix collect2 copy for Cygwin.
7844
7845 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
7846
7847         Install the proper patch.
7848         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
7849         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
7850         (expand_function_start): Likewise.
7851         * stmt.c (expand_decl): Likewise.
7852         * varasm.c (make_decl_rtx): Likewise.
7853
7854 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
7855
7856         * final.c: Undo my previous accidental checkin.
7857         * output.h: Likewise.
7858         * tm.texi: Likewise.
7859
7860 2001-08-16  Richard Henderson  <rth@redhat.com>
7861
7862         * varasm.c (named_section_flags): Remove align parameter.
7863         * varasm.c, dwarf2out.c: Update all callers.
7864         * output.h: Update prototypes.
7865
7866         * target.h (target.asm_out.named_section): Remove align parameter.
7867         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
7868         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
7869         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
7870         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
7871         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
7872
7873         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
7874         (get_named_section_flags, set_named_section_flags): New.
7875         (named_section_flags): Use them.
7876         (named_section): Do decl vs section flags check here...
7877         (default_section_type_flags): ... not here.
7878         (init_varasm_once): Create in_named_htab.
7879         (resolve_unique_section): Mark reloc unused.
7880
7881 2001-08-16  Richard Henderson  <rth@redhat.com>
7882
7883         * varasm.c (force_const_mem): Keep pool alignment in bits.
7884         (output_constant_pool): Use assemble_align.
7885
7886 2001-08-16  Zack Weinberg  <zackw@panix.com>
7887
7888         * doc/tm.texi: Remove extra @table command.
7889
7890 2001-08-16  Zack Weinberg  <zackw@panix.com>
7891
7892         * final.c (shorten_branches): Clear the end of the label_align
7893         array only if we made it larger.  Break up messy expressions
7894         for clarity.
7895
7896         * diagnostic.c (internal_error): Check for error recursion
7897         before doing ICE suppression.
7898
7899         * timevar.c: Timing variables now count in milliseconds.
7900         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
7901         (get_time): Not here.
7902         (timevar_print): Don't print any timer whose user, cpu, and
7903         wall times are all zero as displayed.
7904         * timevar.h: Update comment aboout units.  Make timevar
7905         counters unsigned.
7906
7907 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
7908
7909         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
7910         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
7911         (expand_function_start): Likewise.
7912         * stmt.c (expand_decl): Likewise.
7913         * varasm.c (make_decl_rtx): Likewise.
7914
7915 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
7916
7917         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
7918         (finalize_record_size): Don't set TYPE_USER_ALIGN.
7919
7920 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7921
7922         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
7923         variables.
7924
7925 2001-08-16  Andreas Jaeger  <aj@suse.de>
7926
7927         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
7928         prototype.
7929
7930 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
7931
7932         * rtl.h (only_sets_cc0_p): New prototype.
7933         * jump.c (sets_cc0_p): Handle INSN.
7934         (only_sets_cc0_p): New function.
7935         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
7936         (tidy_fallthru_edge): Likewise.
7937         * integrate.c (copy_insn_list): Likewise.
7938         * unroll.c (unroll_loop): Likewise.
7939         (copy_loop_body): Likewise.
7940
7941 2001-08-15  Jason Eckhardt  <jle@redhat.com>
7942
7943         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
7944
7945 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
7946
7947         * predict.c (struct block_info_def): Remove nvisited.
7948         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
7949         (estimate_bb_frequencies): Call mark_dfs_back_edges.
7950
7951         * i386.c (ix86_agi_depdendant): Lea causes AGI only on the Pentium
7952         (ix86_adjust_cost): Teach scheduler that latency to load operand can
7953         be masked.
7954
7955 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
7956
7957         * predict.def: Update hitrates.
7958
7959 2001-08-15  Richard Henderson  <rth@redhat.com>
7960
7961         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
7962
7963 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
7964
7965         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
7966         note from its associated jump.
7967
7968 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
7969
7970         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
7971         also on 64-bit s390x targets.
7972
7973 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
7974
7975         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
7976         function.
7977         (arm_expand_prologue): Handled nested functions which take a
7978         variable argument list.
7979         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
7980         macro with an invocation of
7981         arm_compute_initial_elimination_offset.
7982         * config/arm/arm-protos.h: Prototype
7983         arm_compute_initial_elimination_offset.
7984
7985 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7986
7987         * doc/install.texi (Specific, avr): Fix markup.
7988         (Specific, c4x): Ditto.
7989
7990 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7991
7992         * predict.c (dump_prediction): Change `bool' parameter to `int'.
7993
7994 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
7995
7996         * Makefile.in (OBJS): Add rtl-error.o
7997         (rtl-error.o): New rule.
7998         (diagnostic.o): Adjust dependency.
7999         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
8000         error_for_asm, _fatal_insn, _fatal_insn_not_found,
8001         warning_for_asm): Move to...
8002         rtl-error.c: ...here.  New file.
8003
8004 2001-08-14  Richard Henderson  <rth@redhat.com>
8005
8006         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
8007         if USING_SJLJ_EXCEPTIONS.
8008
8009 2001-08-14  Steve Ellcey <sje@cup.hp.com>
8010
8011         * tlink.c (scan_linker_output): Check string for unsatisfied in
8012         addition to undefined and unresolved.
8013
8014 2001-08-14  Graham Stott  <grahams@redhat.com>
8015
8016         * libgcc2.c (*): Replace EH_FRAME_SECTION with
8017         EH_FRAME_SECTION_NAME.
8018
8019 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
8020
8021         * genattrtab.c (simplify_test_exp_in_temp): New function.
8022         (simplify_test_exp): Avoid explicit use of temporary obstack.
8023         (simplify_cond, insert_right_side, evaluate_eq_attr,
8024         simplify_and_tree, simplify_or_tree, eliminate_known_true):
8025         Use simplify_test_exp_in_temp.
8026         (optimize_attrs): Iterate until expression stabilizes.
8027
8028 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
8029
8030         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
8031         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
8032
8033 2001-08-13  Richard Henderson  <rth@redhat.com>
8034
8035         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
8036         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
8037         * config/arm/conix-elf.h: Likewise.
8038
8039 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
8040
8041         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
8042         in gcc.c.
8043         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
8044
8045         * gcse.c (hash_scan_set): Expressions that are set as part of
8046         jump instructions are not available.
8047
8048 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
8049
8050         * config/s390/s390.c (print_operand, s390_function_prologue,
8051         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
8052
8053 2001-08-13  Richard Henderson  <rth@redhat.com>
8054
8055         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
8056         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
8057         * doc/tm.texi (Exception Region Output): Document it.
8058
8059 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
8060
8061         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
8062         DWARF2 instead of stabs by default.
8063
8064 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
8065
8066         * config/rs6000/rs6000.c: Include optabs.h.
8067
8068 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
8069
8070         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
8071         save/restore routines.
8072         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
8073
8074 2001-08-13  Andreas Jaeger  <aj@suse.de>
8075
8076         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
8077         the english is correct.
8078
8079 2001-08-13  Zack Weinberg  <zackw@panix.com>
8080
8081         * expr.h: Split out optab- and libfunc-related code to...
8082         * optabs.h, libfuncs.h: ... these new headers.
8083
8084         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
8085         (OPTABS_H): New.
8086         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
8087         dependencies.
8088         * mkconfig.sh: Don't include insn-codes.h from config.h.
8089
8090         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
8091         enum insn_code is available.  Move reload_in_optab and
8092         reload_out_optab array declarations to optabs.h.
8093         * regmove.c (gen_add3_insn): Move to optabs.c, export from
8094         there, prototype in expr.h.
8095         * gencodes.c: Cleanup: zap global variables, don't use
8096         printf where puts will do, don't bother defining MAX_INSN_CODE
8097         which nothing uses, let CODE_FOR_nothing get its value implicitly.
8098
8099         * genemit.c, genopinit.c: Include optabs.h in generated file.
8100         * genoutput.c: Include insn-codes.h in generated file.
8101         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
8102         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
8103         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
8104         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
8105         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
8106         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
8107         Include optabs.h.
8108         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
8109         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
8110         config/m88k/m88k.c, config/sparc/sparc.c:
8111         Include libfuncs.h.
8112         * reload.c: Include expr.h and optabs.h before reload.h.
8113         * config/alpha/alpha.c: Include tree.h before reload.h.
8114         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
8115         and reload.h in that order.
8116         * config/sparc/sparc.c: Include debug.h.
8117         * recog.c: Include insn-codes.h.
8118
8119 2001-08-13  Andreas Jaeger  <aj@suse.de>
8120
8121         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
8122         s390*linux.
8123
8124 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
8125
8126         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
8127         * gcc.c (init_spec): Fix typo in comment.
8128         * varasm.c (data_section): Fix typo in comment.
8129
8130 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
8131
8132         * predict.c (dump_prediction): New argument "USED".
8133         (combine_predictions_for_insn): Determine the used heuristics,
8134         output the case no heuristic applied.
8135         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
8136
8137 2001-08-13  Andreas Jaeger  <aj@suse.de>
8138
8139         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
8140         register %rip.
8141
8142 2001-08-13  Kazu Hirata  <kazu@hxi.com>
8143
8144         * jump.c: Fix formatting.
8145
8146 2001-08-13  Kazu Hirata  <kazu@hxi.com>
8147
8148         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
8149         length.
8150
8151 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
8152
8153         * loop.c (check_dbra_loop): Use condjump_label to compute
8154         jump_label.
8155
8156         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
8157         to better document the files they're in.
8158
8159 2001-08-12  Zack Weinberg  <zackw@panix.com>
8160
8161         * recog.h (struct insn_operand_data): Shrink 'mode' field
8162         to 16 bits.
8163
8164 2001-08-12  Kazu Hirata  <kazu@hxi.com>
8165
8166         * gcc.c: Fix comment formatting.
8167         * gccspec.c: Likewise.
8168         * gcov.c: Likewise.
8169         * gcse.c: Likewise.
8170         * genemit.c: Likewise.
8171         * gengenrtl.c: Likewise.
8172         * genrecog.c: Likewise.
8173         * gensupport.c: Likewise.
8174         * ggc-page.c: Likewise.
8175         * global.c: Likewise.
8176         * graph.c: Likewise.
8177         * ifcvt.c: Likewise.
8178         * integrate.c: Likewise.
8179         * lcm.c: Likewise.
8180         * libgcc2.c: Likewise.
8181         * loop.c: Likewise.
8182         * mbchar.c: Likewise.
8183         * optabs.c: Likewise.
8184         * predict.c: Likewise.
8185         * prefix.c: Likewise.
8186         * profile.c: Likewise.
8187         * protoize.c: Likewise.
8188         * real.c: Likewise.
8189         * recog.c: Likewise.
8190         * regclass.c: Likewise.
8191         * regmove.c: Likewise.
8192         * reg-stack.c: Likewise.
8193         * reload1.c: Likewise.
8194         * resource.c: Likewise.
8195         * rtlanal.c: Likewise.
8196         * rtl.c: Likewise.
8197
8198 2001-08-12  Kazu Hirata  <kazu@hxi.com>
8199
8200         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
8201         a tree representing a constant is passed to the macro.
8202
8203 2001-08-12  Richard Henderson  <rth@redhat.com>
8204
8205         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
8206         (rs6000_elf_asm_out_destructor): New.
8207         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
8208         (DTORS_SECTION_ASM_OP): Remove.
8209         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8210         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
8211
8212 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
8213
8214         Revert:
8215         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8216         * gcc.c (set_collect_gcc_options): New function, split out from
8217         main.
8218         Ignore elided switches.
8219         (do_spec_1): Invoke before executing command.
8220         (set_input): Export.
8221         Move declaration ...
8222         * gcc.h (set_input): ... here.
8223         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
8224         file.
8225
8226 2001-08-12  Richard Henderson  <rth@redhat.com>
8227
8228         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
8229         thinko wrt TARGET_RELOCATABLE.
8230
8231 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
8232
8233         * fix-header.c (cb_file_change): Update prototype.
8234
8235 2001-08-11  Zack Weinberg  <zackw@panix.com>
8236
8237         * toplev.c (set_float_handler): Make static.
8238         * toplev.h: Don't prototype set_float_handler.
8239
8240         * simplify-rtx.c: Don't include setjmp.h.
8241         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
8242         New functions.
8243         (simplify_unary_operation, simplify_binary_operation): Use them,
8244         via do_float_handler.
8245
8246         * fold-const.c: Don't include setjmp.h.
8247         (exact_real_inverse_1): New function.
8248         (exact_real_inverse): Use it, via do_float_handler.
8249
8250         * varasm.c: Don't include setjmp.h.
8251         (assemble_real_1): New function.
8252         (assemble_real): Use it, via do_float_handler.
8253         Call internal_error if we get a trap here.
8254
8255         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
8256         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
8257
8258 2001-08-11  Zack Weinberg  <zackw@panix.com>
8259
8260         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
8261         STACK_BOUNDARY if not already defined.
8262
8263         * calls.c, function.c, reload1.c, explow.c: Don't default
8264         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
8265         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
8266
8267         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
8268         to run-time test.
8269
8270         * doc/tm.texi: Document that STACK_BOUNDARY is required;
8271         clarify difference between it and PREFERRED_STACK_BOUNDARY.
8272
8273 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
8274
8275         * cppmacro.c (enter_macro_context): Push macro expansions even
8276         if empty.
8277
8278 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8279
8280         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
8281         (rs6000_elf_section_type_flags): Actually return a value.
8282
8283 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
8284
8285         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
8286         Clean up code: add missing comments and prototypes, fix warnings,
8287         remove obsolete code, fix spacing to conform to coding style.
8288
8289 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
8290
8291         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
8292         and TARGET_ASM_CLOSE_PAREN.
8293         (regclass_map): CC register belongs to class NO_REGS.
8294         (legitimize_pic_address): Don't generate unnecessary moves
8295         (to avoid confusing loop optimization).
8296         (check_and_change_labels): Replace jump_long by indirect_jump.
8297         (s390_final_chunkify): Don't start a new literal pool on section
8298         switch in 64-bit code.
8299         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
8300
8301         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
8302         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
8303         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
8304         modes correctly.
8305         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
8306         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
8307         (CONST_COSTS): Fixed incorrect costs.
8308
8309         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
8310         Use emit_jump instead of emit_jump_insn (gen_jump).
8311         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
8312         (to avoid confusing flow analysis).
8313         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
8314         (casesi, casesi_jump): New.
8315         (jump_long): Removed.  Functionality merged into indirect_jump.
8316         (indirect_jump): Accept address_operand, not just register_operand.
8317         (cjump_long, icjump_long): Use same logic as indirect_jump.
8318         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
8319         Fixed broken setjmp/longjmp handling.
8320         (do_builtin_setjmp_setup): Removed.
8321
8322         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
8323         broken GNU as versions that don't accept .quad with large
8324         negative values.  Use hexadecimal output instead.
8325         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
8326         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
8327         FUNCTION_EPILOGUE): Removed.  Now in targetm.
8328
8329         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
8330
8331         * config/s390/fixdfdi.h: Add missing copyright statement.
8332         Fix type conflicts on 64-bit.  Add missing SFmode routines.
8333
8334         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
8335         email address.
8336
8337 2001-08-11  Richard Henderson  <rth@redhat.com>
8338
8339         * rtl.h (REG_EH_RETHROW): Remove.
8340         * rtl.c (reg_note_name): Update.
8341         * combine.c (distribute_notes): Don't check for it.
8342
8343 2001-08-11  Richard Henderson  <rth@redhat.com>
8344
8345         * combine.c (distribute_notes): Place REG_SETJMP.
8346
8347 2001-08-11  Richard Henderson  <rth@redhat.com>
8348
8349         * doc/extend.texi (Arrays and pointers implementation): Discourage
8350         relying on sign-extension of pointers.
8351
8352 2001-08-11  H.J. Lu <hjl@gnu.org>
8353
8354         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
8355         in_dtors.
8356         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
8357         RDATA_SECTION_ASM_OP.
8358
8359 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8360
8361         * doc/install.texi (Specific, c4x): Fix cross-reference to the
8362         main manual to work both for info and HTML versions.
8363
8364 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
8365             Matt Kraai <kraai@alumni.carnegiemellon.edu>
8366
8367         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
8368         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
8369         (struct cpp_pool): New member first.
8370         * cppinit.c (append_include_chain): Plug memory leaks.
8371         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
8372         Allocate pragma structures from the (aligned) macro pool to
8373         avoid leaking memory.
8374         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
8375         so we don't leak memory.
8376         * hashtable.c (ht_destroy): New.
8377         * hashtable.h (ht_destroy): New.
8378
8379 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
8380             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8381
8382         * c-lex.c (map): Make const.
8383         (cb_file_change): Update for callback passing a line map.
8384         Don't assume we have a previous map.  Remove sanity check
8385         about popping too many files.
8386         * cpperror.c (print_location): Make map const.
8387         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
8388         (cpp_make_system_header): Similarly.
8389         (search_from): Similarly.
8390         (_cpp_execute_include): Don't remember where we came from.
8391         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
8392         (struct cpp_reader): Make map const.
8393         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
8394         * cpplib.c (do_line): Update; line maps now hold sysp.
8395         (cpp_push_buffer): Similarly.
8396         (_cpp_do_file_change): Similarly; callback with map instead.
8397         (cpp_get_line_maps): Constify return value.
8398         (_cpp_pop_buffer): Update.
8399         * cpplib.h (struct cpp_file_change): Remove.
8400         (struct cpp_callbacks): Update.
8401         (cpp_get_line_maps): Constify return value.
8402         * cppmacro.c (_cpp_create_definition): Update.
8403         * cppmain.c (struct printer): Constify map.
8404         (maybe_print_line): Similarly.
8405         (print_line): Similarly.  Deduce flags 1 and 2 here.
8406         (cb_file_change): Update.
8407         * line-map.c (free_line_maps): Warn regardless.
8408         (add_line_map): Return pointer to const.  When passed NULL to_file
8409         with LC_LEAVE, use the obvious values for the return point so the
8410         caller doesn't have to figure them out.
8411         (lookup_line): Return pointer to const.
8412         (print_containing_files): Take pointer to const.
8413         * line-map.h (struct line_map): New members reason, sysp.
8414         (add_line_map): Return pointer to const.
8415         (lookup_line): Similarly.
8416         (print_containing_files): Take pointer to const.
8417
8418 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
8419             Richard Henderson  <rth@redhat.com>
8420
8421         * regmove.c (regmove_optimize): Avoid setting a register twice in
8422         a parallel set.
8423
8424 2001-08-10  Richard Henderson  <rth@redhat.com>
8425
8426         * doc/extend.texi (Arrays and pointers implementation): Document
8427         behavior of pointer/integer conversion.
8428
8429 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
8430
8431         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
8432
8433 2001-08-10  Richard Henderson  <rth@redhat.com>
8434
8435         * doc/extend.texi (C Implementation): New chapter.
8436         * doc/gcc.texi (Top): Link it in.
8437
8438 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
8439
8440         * doc/install.texi (Specific): Fix CVS merge botch.
8441
8442 2001-08-10  Richard Henderson  <rth@redhat.com>
8443
8444         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
8445         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
8446
8447 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
8448
8449         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
8450         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
8451         this macro is now required.
8452
8453         * cselib.c (cselib_process_insn), flow.c (propagate_block),
8454         loop.c (find_and_verify_loops), reload.c (reload): Check
8455         for rtx code of CALL_INSN, not CALL, when deciding if we
8456         need to check for REG_SETJMP note.
8457
8458         * gcse.c (compute_hash_table, compute_store_table): Update
8459         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
8460         logic.
8461
8462         * config/avr/avr.c: Fix typo.
8463         * config/convex/convex.c (expand_movstr): Use adjust_address.
8464         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
8465         variable.
8466         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
8467         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
8468         Fix typo.
8469         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
8470         Do define STACK_BOUNDARY.
8471         * config/i370/i370.c: Include expr.h.
8472         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
8473         config/pa/som.h, config/v850/v850.h: Take in_ctors and
8474         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
8475         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
8476         * config/m88k/m88k.c: Include c-tree.h after expr.h.
8477         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
8478         * config/romp/romp.c: Include expr.h after tree.h.
8479         Include toplev.h.
8480         (output_fpop): Use xmalloc, not oballoc.
8481         * config/we32k/we32k.c: Include expr.h.
8482
8483 2001-08-10  Kazu Hirata  <kazu@hxi.com>
8484
8485         * config/h8300/h8300.h: Fix formatting.
8486
8487 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
8488
8489         * c-common.h (RETURN_NULLIFIED_P): Lose.
8490         * c-semantics.c (genrtl_return_stmt): Don't check it.
8491
8492 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
8493
8494         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
8495         (mips_annotate_frame_insn): New function.
8496         (mips_emit_frame_related_store): New function.
8497         (save_restore_insns): Don't mark instructions that set up the base
8498         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
8499         the store instructions instead.
8500         (mips_expand_prologue): If the stack size is moved into a temporary
8501         register, do not mark that move as frame-related.  Add a
8502         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
8503
8504 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
8505
8506         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
8507         stack slot as unchanging if current_function_calls_eh_return.
8508
8509 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
8510
8511         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
8512         access the second half of the TFmode scratch operand.
8513
8514 2001-08-10  Anthony Green  <green@redhat.com>
8515
8516         * java/class.c (emit_register_classes): Conditionalize code on
8517         JCR_SECTION_NAME.
8518
8519 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8520
8521         * doc/install.texi (Specific, avr): Fix cross-reference to the
8522         main manual to work both for info and HTML versions.
8523
8524 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8525
8526         * stmt.c (expand_null_return_1): Remove code to generate simple returns
8527         and "use_goto" argument.
8528         (expand_null_return, expand_value_return): Update all callers.
8529         * function.c (expand_function_end): Remove code to generate simple
8530         return.
8531         * config/vax/vax.md (epilogue): New expander for function return.
8532         * doc/md.texi (epilogue): Remove "if defined".
8533
8534 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
8535
8536         * Makefile.in: Partially revert my previous change:
8537         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
8538         of the hashtab.o and safe-ctype.o rules.
8539
8540 2001-08-09  Richard Henderson  <rth@redhat.com>
8541
8542         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
8543         (USE_COLLECT2): Remove duplicate definition.
8544         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
8545         (use_collect2): Remove dead code.
8546         * configure.in (use_collect2): Remove will_use_collect2 and
8547         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
8548         * configure: Rebuild.
8549
8550         * target.h (targetm.asm_out.constructor): New.
8551         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
8552         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
8553         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
8554         * varasm.c (in_ctors, in_dtors): New.
8555         (assemble_constructor, assemble_destructor): Remove.
8556         (default_stabs_asm_out_destructor): New.
8557         (default_named_section_asm_out_destructor): New.
8558         (dtors_section, default_dtor_section_asm_out_destructor): New.
8559         (default_stabs_asm_out_constructor): New.
8560         (default_named_section_asm_out_constructor): New.
8561         (ctors_section, default_ctor_section_asm_out_constructor): New.
8562         * output.h: Update declarations.
8563         * c-decl.c (c_expand_body): Use target hooks instead of
8564         assemble_constructor and assemble_destructor.
8565         * profile.c (output_func_start_profiler): Likewise.
8566         * objc/objc-act.c (finish_objc): Likewise.
8567         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
8568         for the constructor.
8569         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
8570
8571         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
8572         (DTORS_SECTION_ASM_OP): Likewise.
8573         (__CTOR_LIST__): Use attribute section when possible.
8574         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
8575
8576         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
8577         ASM_OUTPUT_CONSTRUCTOR.
8578
8579         * config/darwin.c (machopic_asm_out_constructor): New.
8580         (machopic_asm_out_destructor): New.
8581         * config/darwin-protos.h: Update declarations.
8582         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8583         (ASM_OUTPUT_DESTRUCTOR): Remove.
8584         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8585         * config/nextstep.c (nextstep_asm_out_constructor): New.
8586         (nextstep_asm_out_destructor): New.
8587         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8588         (ASM_OUTPUT_DESTRUCTOR): Remove.
8589         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8590         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
8591         ASM_OUTPUT_*STRUCTOR.
8592         * config/i386/aix386ng.h: Likewise.
8593
8594         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
8595         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
8596         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
8597         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
8598         * config/lynx.h: Likewise.
8599         * config/netware.h: Likewise.
8600         * config/psos.h: Likewise.
8601         * config/alpha/alpha-interix.h: Likewise.
8602         * config/alpha/elf.h: Likewise.
8603         * config/arc/arc.h: Likewise.
8604         * config/arm/aof.h: Likewise.
8605         * config/arm/coff.h: Likewise.
8606         * config/arm/elf.h: Likewise.
8607         * config/c4x/c4x.h: Likewise.
8608         * config/h8300/h8300.h: Likewise.
8609         * config/i386/cygwin.h: Likewise.
8610         * config/i386/djgpp.h: Likewise.
8611         * config/i386/i386-coff.h: Likewise.
8612         * config/i386/i386-interix.h: Likewise.
8613         * config/i386/sco5.h: Likewise.
8614         * config/i386/vsta.h: Likewise.
8615         * config/i386/win32.h: Likewise.
8616         * config/i960/i960-coff.h: Likewise.
8617         * config/ia64/sysv4.h: Likewise.
8618         * config/m68hc11/m68hc11.h: Likewise.
8619         * config/m68k/coff.h: Likewise.
8620         * config/m68k/mot3300.h: Likewise.
8621         * config/m88k/m88k.h: Likewise.
8622         * config/mcore/mcore-pe.h: Likewise.
8623         * config/mcore/mcore.h: Likewise.
8624         * config/mips/elf.h: Likewise.
8625         * config/mips/elf64.h: Likewise.
8626         * config/mips/iris6.h: Likewise.
8627         * config/pa/pa64-hpux.h: Likewise.
8628         * config/rs6000/sysv4.h: Likewise.
8629         * config/sh/sh.h: Likewise.
8630         * config/sparc/litecoff.h: Likewise.
8631
8632         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
8633         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
8634         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
8635         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8636         (ASM_OUTPUT_DESTRUCTOR): Remove.
8637         * config/a29k/a29k.c: Move include of tree.h.
8638         * config/a29k/udi.h: Delete file.
8639         * config/alpha/alpha.c (vms_asm_out_constructor): New.
8640         (vms_asm_out_destructor): New.
8641         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
8642         (EXTRA_SECTION_FUNCTIONS): Likewise.
8643         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
8644         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8645         * config/c4x/c4x.c: Move include of tree.h.
8646         * config/clipper/clipper.c (clix_asm_out_constructor): New.
8647         (clix_asm_out_destructor): New.
8648         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8649         (ASM_OUTPUT_DESTRUCTOR): Remove.
8650         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8651         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8652         (TARGET_ASM_CONSTRUCTOR): New.
8653         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
8654         (sco_asm_out_constructor): New.
8655         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
8656         * config/i386/svr3gas.h: Remove stack grows up code.
8657         Remove code duplicated from i386/sysv3.h.
8658         (TARGET_ASM_CONSTRUCTOR): New.
8659         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
8660         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
8661         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8662         (TARGET_ASM_CONSTRUCTOR): New.
8663         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
8664         (m68hc11_asm_out_destructor): New.
8665         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
8666         (TARGET_ASM_DESTRUCTOR): New.
8667         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
8668         * config/m68k/dpx2.h: Properly undef all the bits inherited from
8669         config/svr3.h pertaining to section manipulation.
8670         * config/m68k/dpx2g.h: Remove #if 0 code.
8671         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
8672         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
8673         (ASM_OUTPUT_CONSTRUCTOR): Remove.
8674         (TARGET_ASM_CONSTRUCTOR): New.
8675         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
8676         (m88k_svr3_asm_out_constructor): New.
8677         (m88k_svr3_asm_out_destructor): New.
8678         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8679         (ASM_OUTPUT_DESTRUCTOR): Remove.
8680         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8681         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
8682         * config/rs6000/aix.h: Likewise.
8683         * config/mips/rtems64.h: Don't undef removed constructor related bits.
8684         * config/mips/vxworks.h: Likewise.
8685         * config/rs6000/lynx.h: Likewise.
8686         * config/sh/elf.h: Likewise.
8687         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
8688         (DTORS_SECTION_ASM_OP): New.
8689         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8690         (ASM_OUTPUT_DESTRUCTOR): Remove.
8691         * config/sparc/sol2-sld-64.h: Likewise.
8692         * config/vax/vax.c (vms_asm_out_constructor): New.
8693         (vms_asm_out_destructor): New.
8694         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8695         (ASM_OUTPUT_DESTRUCTOR): Remove.
8696         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8697
8698         * doc/tm.texi (@node Initialization): Update.
8699
8700 2001-08-09  Richard Henderson  <rth@redhat.com>
8701
8702         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
8703         (__do_global_dtors_aux): Use gp-relative static data to avoid
8704         one dynamic relocation.
8705         (__do_frame_setup): Register Java classes.
8706         * config/alpha/crtend.asm (__JCR_END__): New.
8707
8708 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
8709
8710         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
8711         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
8712         (GEN, STAGESTUFF): Add new files.
8713         (insn-constants.h, s-constants, tm-preds.h, s-preds,
8714         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
8715         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
8716         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
8717         as well as insn-codes.h and insn-flags.h in config.h; and no
8718         extra headers in tconfig.h and hconfig.h.
8719
8720         * gencodes.c: Eliminate code to generate predicate declarations
8721         or #defines for md-file constants.
8722         * genconstants.c, genpreds.c: New files.
8723
8724         * i386.md: Re-order guard expressions such that TARGET_64BIT
8725         comes first, when this permits better optimization.  Add
8726         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
8727         why this is desirable.
8728
8729 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
8730
8731         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
8732         (find_fde_for_dso): Remove.
8733         (_Unwind_IteratePhdrCallback): New.
8734         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
8735         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
8736
8737 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8738
8739         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
8740         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
8741
8742 2001-08-09  Graham Stott  <grahams@redhat.com>
8743
8744         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
8745         (vis_no_unit): Use it.
8746         (visualize_no_unit): Add the insn only if room exists.
8747
8748 2001-08-09  Graham Stott  <grahams@redhat.com>
8749
8750         * predict.c (estimate_probability): Replace magic numbers with
8751         appropriate enumeration.
8752
8753 2001-08-09  Graham Stott  <grahams@redhat.com>
8754
8755         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
8756         parameter.
8757         (EXTRACT_FLAGS): Likewise.
8758
8759 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
8760
8761         * config/mips/mips.c    (mips_legitimate_address_p): Check for
8762         CONST_INT in last patch.
8763
8764 2001-08-08  Anthony Green  <green@redhat.com>
8765
8766         * java/class.c (emit_register_classes): Use assemble_jcr if
8767         possible.  Keep the original mechanism as a fallback.
8768         * defaults.h (JCR_SECTION_NAME): Define if we have named section
8769         and weak symbol support.
8770         * crtstuff.c (__JCR_LIST__): Define.
8771         (__JCR_END__): Define.
8772         (_Jv_RegiserClasses): Define weak symbol if possible.
8773         (__do_global_ctors_aux): Register classes for ELF targets with
8774         weak symbol support.
8775
8776 2001-08-08  Kazu Hirata  <kazu@hxi.com>
8777
8778         * dbxout.c: Fix comment formatting.
8779         * dependence.c: Likewise.
8780         * df.c: Likewise.
8781         * diagnostic.c: Likewise.
8782         * dominance.c: Likewise.
8783         * doprint.c: Likewise.
8784         * dwarf2out.c: Likewise.
8785         * dwarfout.c: Likewise.
8786         * emit-rtl.c: Likewise.
8787         * except.c: Likewise.
8788         * explow.c: Likewise.
8789         * expmed.c: Likewise.
8790         * expr.c: Likewise.
8791         * flow.c: Likewise.
8792         * fold-const.c: Likewise.
8793         * function.c: Likewise.
8794
8795 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8796
8797         * global.c (retry_global_alloc): Avoid shadowing allocno.
8798
8799 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
8800
8801         * except.c (remove_fixup_regions): Fix typo.
8802
8803 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
8804
8805         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
8806         unsigned HOST_WIDE_INT to avoid warning.
8807         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
8808         * flow.c (set_block_for_new_insns): Likewise.
8809
8810 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
8811
8812         * sibcall.c (return_value_pseudo): New static variable.
8813         (skip_copy_to_return_value): Handle return_value_pseudo.
8814         (call_ends_block_p): Ensure that return_value_pseudo is set.
8815         (optimize_sibling_and_tail_recursive_call): Discover the
8816         load of pseudo return value in alternate exit block.
8817
8818 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
8819
8820         * calls.c (ECF_ALWAYS_RETURN): New constant.
8821         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
8822         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
8823         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
8824         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
8825         * rtl.c (reg_note_name): New name.
8826         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
8827
8828 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
8829
8830         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
8831
8832 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
8833
8834         * alias.c (get_alias_set): Return a previously calculated
8835         alias set for a VAR_DECL.
8836         * function.c (gen_mem_addressof): Calculate the alias set before
8837         touching the RTL.
8838
8839 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
8840
8841         * predict.def: Set hitrates according our experimental run.
8842
8843 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
8844
8845         * i386.h (HARD_REGNO_RENAME_OK): New macro.
8846
8847 2001-08-08  H.J. Lu <hjl@gnu.org>
8848
8849         * config/mips/mips.c (mips_unique_section): New. Copied from
8850         config/mips/elf.h.
8851
8852         * config/mips/mips-protos.h (mips_unique_section): New
8853         prototype.
8854
8855         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
8856
8857         * config/mips/little.h: New. Generic little endian mips
8858         targets. Only mips*-*-linux* is converted to use it so far.
8859
8860         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
8861         (WCHAR_TYPE): Defined
8862         (WCHAR_TYPE_SIZE): Likewise.
8863         (INIT_SUBTARGET_OPTABS): Likewise.
8864         (BSS_SECTION_ASM_OP): Likewise.
8865         (SBSS_SECTION_ASM_OP): Likewise.
8866         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
8867         (ASM_DECLARE_OBJECT_NAME): Likewise.
8868         (UNIQUE_SECTION): Likewise.
8869         (EXTRA_SECTIONS): Likewise.
8870         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
8871         (ASM_OUTPUT_DESTRUCTOR): Likewise.
8872         (ASM_OUTPUT_DEF): Likewise.
8873         (HANDLE_SYSV_PRAGMA): Removed.
8874         (NO_IMPLICIT_EXTERN_C): Likewise.
8875         (TARGET_MEM_FUNCTIONS): Likewise.
8876         (STARTFILE_SPEC): Likewise.
8877         (ENDFILE_SPEC): Likewise.
8878         (LIB_SPEC): Likewise.
8879         (INVOKE__main): Likewise.
8880         (CTOR_LIST_BEGIN): Likewise.
8881         (CTOR_LIST_END): Likewise.
8882         (DTOR_LIST_BEGIN): Likewise.
8883         (DTOR_LIST_END): Likewise.
8884         (SET_ASM_OP): Likewise.
8885         (ASM_OUTPUT_SOURCE_LINE): Likewise.
8886         (ASM_OUTPUT_DEF): Likewise.
8887         (ASM_OUTPUT_IDENT): Likewise.
8888
8889         * config/mips/mips.h (ASM_SPEC): Undefine before define.
8890         (CPLUSPLUS_CPP_SPEC): Likewise.
8891         (ASM_APP_ON) Redefine only if not defined.
8892         (ASM_APP_OFF): Likewise.
8893         (ASM_OUTPUT_SOURCE_LINE): Likewise.
8894         (ASM_OUTPUT_IDENT): Likewise.
8895
8896         * config.gcc: Update tm_file for Linux/mips.
8897
8898 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
8899
8900         * cselib.c (cselib_record_sets): If insn is predicated, turn
8901         sources into IF_THEN_ELSEs.
8902
8903         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
8904         Turn into define_insn_and_split.
8905
8906         * sched-deps.c: Include "cselib.h".
8907         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
8908         Use cselib to turn memory addresses into VALUEs.
8909         (sched_analyze): Call cselib_init/cselib_finish if necessary.
8910         * sched-int.h (struct sched_info): New member USE_CSELIB.
8911         * sched-ebb.c (ebb_sched_info): Initialize it.
8912         * sched-rgn.c (rgn_sched_info): Likewise.
8913         * Makefile.in (sched-deps.o): Update dependencies.
8914
8915         * cselib.h (cselib_subst_to_values): Declare.
8916         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
8917         that have no value and autoincs to be handled by generating a new
8918         dummy value.
8919
8920 2001-08-08  Graham Stott  <grahams@redhat.com>
8921
8922         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
8923         within fixed length SEQUENCE.
8924
8925 2001-08-08  Graham Stott  <grahams@redhat.com>
8926
8927         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
8928         (diagnostic_prefixing_rule): Likewise.
8929         (diagnostic_line_cutoff): Likewise.
8930         (diagnostic_kind_count): Likewise.
8931
8932 2001-08-08  Graham Stott  <grahams@redhat.com>
8933
8934         * alias.c (find_base_decl): Delete redundent assignment.
8935
8936 2001-08-08  Graham Stott  <grahams@redhat.com>
8937
8938         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
8939         (abs): Uppercase and paranthesize macro parameter.
8940         (MEM_DEPENDENCY): Add whitespace.
8941
8942 2001-08-08  Graham Stott  <grahams@redhat.com>
8943
8944         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
8945         failure check for CONST_INT
8946
8947 2001-08-08  Graham Stott  <grahams@redhat.com>
8948
8949         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
8950         (libcall_dead_p): Likewise.
8951
8952         (mark_used_regs): Constify fmt.
8953         (find_use_as_address): Likewise.
8954
8955 2001-08-08  Graham Stott  <grahams@redhat.com>
8956
8957         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
8958          parameter.
8959
8960 2001-08-08  Graham Stott  <grahams@redhat.com>
8961
8962         * combine.c (combine_simplify_rtx): Update comment and
8963         remove erroneous test.
8964
8965 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
8966
8967         * cppinit.c (cpp_finish): Pop the final buffer without comment.
8968         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
8969         take care to avoid multiple no-newline at EOF warnings in that
8970         case.
8971
8972 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
8973
8974         * calls.c (expand_call): Do not emit INSN_SETJMP note.
8975         (emit_library_call_value_1): Likewise.
8976         (emit_call_1): Emit REG_SETJMP note.
8977         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
8978         of INSN_SETJMP
8979         * cselib.c (cselib_process_insn): Likewise.
8980         * flow.c (propagate_block): Likewise.
8981         * loop.c (find_and_verify_loops): Likewise.
8982         * reload.c (find_equiv_regs): Likewise.
8983         * reload1.c (reload): Likewise.
8984         * resource.c (mark_referenced_resources,
8985         mark_set_resources): Likewise.
8986         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
8987         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
8988         * haifa-sched.c (unlink_other_notes): Likewise.
8989         (reemit_notes): Likewise.
8990         * sched-ebb.c (sched_ebb): Likewise.
8991         * sched-rgc.c (sched_region): Likewise.
8992         * rtl.c (note_insn_name): Likewise.
8993         (reg_note_name): Add REG_SETJMP
8994         * rtl.h (reg_note): Add REG_SETJMP.
8995         (insn_note): Remove NOTE_INSN_SETJMP.
8996
8997         * profile.c (branch_prob): Add fake edges for setjmp.
8998
8999 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
9000
9001         * config.gcc: Quote target_cpu_default2 correctly for
9002         powerpc*-*-* targets.
9003
9004 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
9005
9006         * cpplib.h, line-map.h: Update comments.
9007         * cppmain.c (printer_init): Move inline.
9008         (maybe_print_line, print_line): Take a map pointer.
9009         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
9010         (cb_file_change): Don't use prior value of print.map.
9011
9012 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
9013
9014         * doc/install.texi: Document fine-grained multilib configuration.
9015
9016 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
9017
9018         * rtlanal.c (find_first_parameter_load): Call note_stores
9019         only on the instructions.
9020
9021 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
9022
9023         * alias.c (nonlocal_mentioned_p):
9024         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
9025         * calls.c (emit_call_1): Likewise.
9026         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
9027         * cselib.c (cselib_process_insn): Likewise.
9028         * df.c (df_insns_modify): Likewise.
9029         * flow.c (need_fake_edge_p): Likewise.
9030         (propagate_one_insn): Likewise.
9031         * haifa-sched.c (reemit_notes): Likewise.
9032         * integrate.c (copy_insn_list): Likewise.
9033         * jump.c (delete_prior_computation): Likewise.
9034         * local-alloc.c (validate_equiv_mem): Likewise.
9035         * loop.c (scan_loop): Likewise.
9036         * predict.c (estimate_probability): Likewise.
9037         * reload.c (reload): Likewise.
9038         * sched-deps (sched_analyze): Likewise.
9039         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
9040         * gcse.c (compute_hash_table): Likewise.
9041         (mark_call): Likewise.
9042         (store_killed_in_insn): Likewise.
9043
9044 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
9045
9046         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
9047
9048 2001-08-06  Richard Henderson  <rth@redhat.com>
9049
9050         * varasm.c (assemble_gc_entry): Remove.
9051         * output.h: Likewise.
9052
9053 2001-08-06  Richard Henderson  <rth@redhat.com>
9054
9055         * varasm.c (assemble_constructor): Take a symbol_ref and a
9056         priority instead of a bare string.  Move priority handling
9057         here from cp/decl2.c.
9058         * output.h: Update decls.
9059
9060         * c-decl.c (c_expand_body): Update calls to assemble_constructor
9061         and assemble_destructor.
9062         * profile.c (output_func_start_profiler): Likewise.
9063         * objc/objc-act.c (finish_objc): Likewise.
9064         (build_module_descriptor): Return the symbol not the symbol name.
9065
9066 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
9067
9068         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
9069         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
9070         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
9071         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
9072         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
9073         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
9074
9075 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9076
9077         * cpperror.c (print_containing_files): Moved to line-map.c.
9078         (print_location): line-map.c handles re-listing or otherwise.
9079         * cpphash.h (struct lexer_state): Remove next_bol.
9080         (struct cpp_buffer): Remove include_stack_listed.
9081         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
9082         Remove faked buffer handling.
9083         (_cpp_do_file_change): Tweak.
9084         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
9085         * cppmain.c (struct printer): Remove filename.
9086         (print_line, cb_file_change): Update accordingly.
9087         * line-map.c: Include intl.h.
9088         (init_line_maps): Initialize last_listed.
9089         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
9090         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
9091         (print_containing_files): New.
9092         * line-map.h (struct line_maps): New member last_listed.
9093         (print_containing_files, INCLUDED_FROM): New.
9094         * Makefile.in: Update.
9095         * po/POTFILES.in: Add line-map.c.
9096
9097 2001-08-06  Richard Henderson  <rth@redhat.com>
9098
9099         * except.c (convert_from_eh_region_ranges_1): Never mark
9100         USE or CLOBBER insns as throwing.
9101
9102         * expr.c (store_constructor): Don't clobber memory targets.
9103
9104 2001-08-06  Andreas Jaeger  <aj@suse.de>
9105
9106         * profile.c (branch_prob): Remove unused variable insn.
9107
9108         * Makefile.in (local-alloc.o): Add dependency on except.h.
9109
9110         * local-alloc.c: Include except.h for can_throw_internal prototype.
9111
9112 2001-08-06  Richard Henderson  <rth@redhat.com>
9113
9114         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
9115         * function.c (expand_main_function): Implement it.
9116         * doc/tm.texi: Document it.
9117
9118 2001-08-06  Stan Shebs  <shebs@apple.com>
9119
9120         * doc/install.texi: Document powerpc-*-darwin* details.
9121
9122 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
9123
9124         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
9125         (ASM_CPU_SPEC): Move back to rs6000.h
9126         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
9127
9128         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
9129
9130         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
9131         readded.
9132
9133         * config/rs6000/linux64.h: Ditto.
9134
9135         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
9136         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
9137         nothing.
9138
9139         Remove accidently readded definitions of FUNCTION_PROLOGUE,
9140         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
9141
9142         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
9143         to rs6000.h
9144
9145 2001-08-05  Richard Henderson  <rth@redhat.com>
9146
9147         * local-alloc.c (update_equiv_regs): Do not move insns that
9148         can throw.
9149
9150 2001-08-05  Jan Hubicka  <jh@suse.cz>
9151
9152         * Makefile.in (reload1.o): Add dedendancy on except.h
9153         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
9154         prototypes.
9155         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
9156         indicating wehther edges has been cleaned up.
9157         * reload1.c: Inlucde except.h
9158         (fixup_abnormal_edges): Accept deleted insns.
9159         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
9160         after combine.
9161
9162 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9163
9164         * cpplib.c (do_line): Correct line number after pop_buffer.
9165
9166 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
9167
9168         PR preprocessor/3824
9169         * line-map.c: Update comments.
9170         * line-map.h: Update comments.
9171         * tradcif.y: Don't consider large numbers unsigned.
9172
9173 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
9174
9175         PR preprocessor/3081
9176         * c-lex.c (map): New.
9177         (cb_file_change): Update map and use it.
9178         (cb_def_pragma, cb_define, cb_undef): Use map and line.
9179         (c_lex): Update to use map.
9180         * cpperror.c (print_location): Move to using logical line numbers.
9181         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
9182         (cpp_make_system_header): Similarly.
9183         (_cpp_execute_include): Stop line numbering hacks.  Store the
9184         line we will return to.
9185         * cpphash.h (CPP_BUF_LINE): Remove.
9186         (struct cpp_buffer): Remove lineno and pseudo_newlines.
9187         Add map and return_to_line.
9188         (_cpp_do_file_change): Update.
9189         * cppinit.c (cpp_start_read): Update line kludge.
9190         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
9191         (trigraph_ok): Use logical line numbers for diagnostics.
9192         (skip_block_comment): Likewise.
9193         (skip_whitespace): Likewise.
9194         (skip_line_comment): Use pfile->line instead.
9195         (_cpp_lex_token): Update to use logical line numbering exclusively.
9196         Handle BOL locally.  Accept new lines in directives, but keep
9197         pfile->line decremented.  Diagnostics use logical lines.  Update
9198         directive handling.
9199         * cpplib.c (SEEN_EOL): New.
9200         (skip_rest_of_line, check_eol): Use it.
9201         (end_directive): Increase line number when accepting the newline
9202         at the end of a directive.
9203         (run_directive): Simplify.
9204         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
9205         (_cpp_do_file_change): Update to take buffer line number as an
9206         argument, and store the current map in the cpp_reader.  Remove
9207         line number kludges.
9208         (_cpp_do__Pragma): Restore output position after a _Pragma.
9209         (cpp_push_buffer): Don't set output line or lineno.
9210         (_cpp_pop_buffer): Transfer more info from a faked buffer.
9211         Remove line kludge.  Set output_line.
9212         * cppmacro.c (builtin_macro): Update handling of __LINE__.
9213         (parse_arg): Use logical lines.
9214         (save_lookahead_token): Save EOFs too now.
9215         * cppmain.c (struct printer): Fix comments.
9216         (printer_init): Simplify, let caller do errors.
9217         (scan_translation_unit, check_multiline_token, dump_macro): Update.
9218         (maybe_print_line): Simplify.
9219         (print_line): Don't print a linemarker if -P.
9220         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
9221         (cb_file_change): Simplify.
9222         * line-map.h (LAST_SOURCE_LINE): Fix.
9223         (CURRENT_LINE_MAP): New.
9224
9225 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
9226
9227         * doloop.c (doloop_modify_runtime): Properly compute number of
9228         iterations if loop was unrolled.
9229
9230         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
9231         if their CSELIB_VAL_PTRs are.
9232
9233         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
9234         (setup_spill_pointers): Initialize it.
9235         (spill_restore_mem): Set it.
9236         (do_spill, do_restore): Use it to add REG_INC note.
9237         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
9238
9239         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
9240         asms if other insns are available.
9241
9242         * config/ia64/ia64.c (condop_operator): New predicate.
9243         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
9244         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
9245         patterns.
9246
9247         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
9248         temporary register than directly using a MEM.
9249
9250 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
9251
9252         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
9253         parameter in last change.
9254
9255 2001-08-04  Zack Weinberg  <zackw@panix.com>
9256
9257         * sparc.md: Don't use #if inside C test expression.
9258
9259 2001-08-04  Richard Henderson  <rth@redhat.com>
9260
9261         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
9262
9263 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
9264
9265         * cpphash.h (struct cpp_reader): New member directive_line.
9266         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
9267         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
9268         do_pragma): Pass line to callbacks.
9269         (start_directive): Record line of directive.
9270         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
9271         cb_include): Similarly.
9272         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
9273         Similarly.
9274
9275 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
9276
9277         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
9278         comment.
9279
9280 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
9281
9282         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
9283
9284         * reload1.c (fixup_abnormal_edges): New static function.
9285         (reload): Use it.
9286
9287         * flow.c (need_fake_edge_p): New function.
9288         (flow_call_edges_add): Fix handling of noreturn and sibling calls;
9289         avoid call insn to be very last insn in the insn stream.
9290
9291         * profile.c (branch_prob): Call flow_call_edges_add instead of
9292         doing that by hand; cleanup cfg to re-merge basic blocks once
9293         we are done.
9294
9295 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9296
9297         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
9298         are also on line-map.h.
9299         * cppfiles.c (stack_include_file): Update.
9300         * cpphash.h (struct cpp_buffer): New member return_at_eof.
9301         (_cpp_pop_buffer): New.
9302         * cppinit.c (cpp_destroy, cpp_finish): Update.
9303         (do_includes): Mark each buffer to return at EOF.
9304         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
9305         return as requested.
9306         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
9307         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
9308         * cpplib.h (cpp_pop_buffer): Remove.
9309         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
9310         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
9311         buffers.
9312         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
9313         to pop buffers.
9314         (do_preprocessing): Update.
9315         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
9316         * c-parse.in (_yylex): Similarly.
9317         * scan-decls.c (scan_decls): Similarly.
9318         * line-map.h: Update comments.
9319
9320         * objc/Make-lang.in (objc-act.o): Update dependencies.
9321
9322 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9323
9324         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
9325         and soft register for operand 0.
9326         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
9327
9328 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9329
9330         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
9331         register for operand 0.
9332         ("bitcmpqi_z_used"): Allow memory for operand 0.
9333         (split "bitcmpqi"): New split to handle address reg as operand 1.
9334
9335 2001-08-04  Andreas Jaeger  <aj@suse.de>
9336
9337         * gcse.c: Revert Daniel's last patch.
9338
9339 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
9340
9341         * sparc-protos.h: Add prototypes for fp_zero_operand and
9342         reg_or_0_operand.
9343         * sh-protos.h: Add prototype for fpul_operand.
9344
9345 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
9346
9347         * doc/extend.texi (Other Builtins): Fix typo in last change.
9348
9349 2001-08-03  Richard Henderson  <rth@redhat.com>
9350
9351         * target.h (gcc_target): Add asm_out.named_section,
9352         section_type_flags, have_named_sections.
9353         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
9354         (TARGET_HAVE_NAMED_SECTIONS): New.
9355         (TARGET_SECTION_TYPE_FLAGS): New.
9356
9357         * Makefile.in (toplev.o): Depend on TARGET_H.
9358         (varasm.o, dbxout.o): Likewise.
9359         * c-common.c (decl_attributes): Check targetm.have_named_sections
9360         instead of ifdef ASM_OUTPUT_SECTION_NAME.
9361         * dbxout.c (dbxout_function_decl): Likewise.
9362         (dbxout_function_end): Likewise.
9363         * toplev.c (compile_file): Likewise.
9364         * varasm.c (exception_section): Likewise.
9365         * cp/decl2.c (finish_objects): Likewise.
9366
9367         * defaults.h (EH_FRAME_SECTION): Remove.
9368         (EH_FRAME_SECTION_ASM_OP): Remove.
9369         (EH_FRAME_SECTION_NAME): New.
9370         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
9371         (UNIQUE_SECTION_P): Remove.
9372         * dwarf2out.c (SECTION_FORMAT): Remove.
9373         (ASM_OUTPUT_SECTION): Remove.
9374         (output_call_frame_info): Use named_section_flags.
9375         (output_comp_unit, dwarf2out_start_source_file): Likewise.
9376         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
9377         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
9378         * varasm.c (in_eh_frame, eh_frame_section): Remove.
9379         (named_section_flags): New.
9380         (named_section): Use it and targetm.section_type_flags.
9381         (resolve_unique_section): New.
9382         (assemble_start_function): Use it.
9383         (asm_emit_uninitialised, assemble_variable): Likewise.
9384         (default_section_type_flags): New.
9385         (default_no_named_section, default_elf_asm_named_section): New.
9386         (default_coff_asm_named_section, default_pe_asm_named_section): New.
9387         * output.h: Update varasm.c decls.
9388         (SECTION_*): New flags.
9389
9390         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
9391         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
9392
9393         * config/elfos.h (UNIQUE_SECTION_P): Remove.
9394         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
9395         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
9396         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
9397         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
9398         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
9399         * config/mips/elf.h, config/mips/elf64.h: Likewise.
9400         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
9401         * config/pa/pa64-hpux.h,
9402
9403         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
9404         (TARGET_ASM_NAMED_SECTION): New.
9405         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
9406         * config/alpha/vms.h, config/arm/coff.h: Likewise.
9407         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
9408         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
9409         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
9410         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
9411         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
9412         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
9413         * config/i386/sco5.h, config/i386/win32.h: Likewise.
9414         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
9415         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
9416         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
9417         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
9418         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
9419         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
9420         * config/sparc/sysv4.h: Likewise.
9421
9422         * config/nextstep.h: Error until named sections implemented.
9423
9424         * config/a29k/a29k.c (a29k_asm_named_section): New.
9425         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
9426         (vms_section_type_flags, vms_asm_named_section): New.
9427         * config/arm/arm.c (arm_elf_asm_named_section): New.
9428         * config/avr/avr.c (asm_output_section_name): Remove.
9429         * config/avr/avr-protos.h: Update.
9430         * config/c4x/c4x.c (c4x_asm_named_section): New.
9431         * config/h8300/h8300.c (h8300_asm_named_section): New.
9432         * config/i386/i386.c (sco_asm_named_section): New.
9433         * config/i386/winnt.c (SECTION_PE_SHARED): New.
9434         (i386_pe_section_type_flags): New.
9435         (i386_pe_asm_named_section): New.
9436         * config/i386/i386-protos.h: Update.
9437         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
9438         * config/mcore/mcore.c (mcore_asm_named_section): New.
9439         * config/mips/mips.c (iris6_asm_named_section): New.
9440         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
9441         instead of UNIQUE_SECTION_P.
9442         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
9443         (xcoff_asm_named_section): New.
9444         * config/sh/sh.c (sh_asm_named_section): New.
9445         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
9446
9447         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
9448         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
9449         (EH_FRAME_SECTION_NAME): New.
9450         (EXCEPTION_SECTION): New.
9451         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
9452         (DEBUG_*_SECTION): Remove.
9453         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
9454         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
9455         (EH_FRAME_SECTION_ASM_OP): Remove.
9456
9457         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
9458         (ASM_OUTPUT_SECTION_NAME): Remove.
9459         (TARGET_ASM_NAMED_SECTION): New.
9460         (TARGET_HAVE_NAMED_SECTIONS): New.
9461         (TARGET_SECTION_TYPE_FLAGS): New.
9462         (EH_FRAME_SECTION_ASM_OP): Remove.
9463         (EH_FRAME_SECTION_NAME): New.
9464
9465 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
9466
9467         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
9468         for complex expressions when cfun == 0.
9469         * doc/extend.texi: Document that __builtin_constant_p can be
9470         used in data initializers as well as functions.
9471
9472 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
9473
9474         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
9475         variable I locally, instead of expecting a declaration in the
9476         calling context.
9477
9478 2001-08-03  Richard Henderson  <rth@redhat.com>
9479
9480         * except.c (collect_one_action_chain): Add an explicit cleanup
9481         action if regions surrounding a catch were encoded entirely
9482         within the call-site entry.
9483
9484 2001-08-03  Richard Henderson  <rth@redhat.com>
9485
9486         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
9487         don't take REGNO of a non-register.
9488
9489 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9490
9491         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
9492         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
9493         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
9494         (__gthread_mutex_init_function): New function for mutex initialization.
9495
9496 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
9497
9498         * Makefile.in: Revert screwed up commit.
9499
9500 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9501
9502         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
9503         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
9504         merged by linker script to get a final _exit().
9505         (__do_global_dtors): New for destructor handling in specific exit
9506         section.
9507         (__do_global_ctors): New for constructors in specific install section.
9508         (__map_data_section): Map data sections before running constructors.
9509         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
9510         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
9511         (DTORS_SECTION_ASM_OP): Likewise.
9512         (CTORS_SECTION_FUNCTION): Define to force a reference to
9513         __do_global_ctors.
9514         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
9515
9516 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
9517
9518         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
9519
9520         * Makefile.in: Add df.h to gcse.c dependencies.
9521
9522 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9523
9524         * varasm.c (output_constant_def_contents): Use for the length of a
9525         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
9526         depending on which is larger.
9527
9528 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
9529
9530         * gcse.c: Include df.h for use as a dataflow analyzer.
9531         Remove regvec.
9532         Declaration of reg_set_info: gone.
9533         New df_analyzer variable used by store motion.
9534         (reg_set_info): Deleted.
9535         (mark_mem_regs): New function, analyze regs used by a mem.
9536         (store_ops_ok): Use dataflow analyzer results to determine if
9537         necessary regs are changed in the block.
9538         (find_moveable_store): Remove check for symbol ref, we can handle
9539         much more complex expressions now.
9540         (compute_store_table): Remove most of the code, it's unnecessary
9541         now that the dataflow analyzer records the info for us.
9542         (store_killed_after): Add parameter to say whether to do the
9543         store_ops_okay test, used to speed up testing when we already know
9544         the answer, and just want to know if the store itself was killed.
9545         (build_store_vector): Largely rewritten to calculate the various
9546         vectors properly, and somewhat optimized.
9547         (store_motion): Init the df_analyzer, get REG_DEF chains.
9548         Also handle trapping expressions (since mems almost always trap)
9549         (simple_mem): Redefine what a simple mem is.
9550
9551 2001-08-03  DJ Delorie  <dj@redhat.com>
9552
9553         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
9554         set from a constant part of the condition.
9555
9556 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
9557
9558         * mkdeps.c (deps_add_default_target): Make local variable
9559         ``start'' a const char pointer.
9560         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
9561
9562 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9563
9564         * doc/install.texi (Configuration): Fix markup.
9565         (Specific, i?86-*-udk): Likewise.
9566         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
9567         --with-gnu-ld.
9568         Document --enable-threads and --enable-libgcj status.
9569         (Specific, mips-sgi-irix*): Canonicalize triples.
9570         (Specific, mips-sgi-irix5): Warn about problems with this config.
9571         Mention required GNU as patch.
9572         Native assembler problems are fixed.
9573         (Specific, mips-sgi-irix6): Update O32 ABI support status.
9574         Document --enable-threads and --enable-libgcj status.
9575
9576 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
9577
9578         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
9579         of mkinstalldirs.
9580
9581 2001-08-03  Richard Henderson  <rth@redhat.com>
9582
9583         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
9584         constant data.
9585
9586 2001-08-03  Richard Henderson  <rth@redhat.com>
9587
9588         * rtlanal.c (find_first_parameter_load): Stop if we
9589         reach a CODE_LABEL at BOUNDARY.
9590
9591 2001-08-03  Richard Henderson  <rth@redhat.com>
9592
9593         * config/alpha/alpha.md (force_movdi): New insn.
9594         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
9595         Tweek FRP marking of VMS prologue insns.
9596         * config/alpha/vms.h (EPILOGUE_USES): New.
9597
9598 2001-08-02  Richard Henderson  <rth@redhat.com>
9599
9600         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
9601
9602 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
9603
9604         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
9605         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
9606         config/convex/convex.h, config/d30v/d30v.c,
9607         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
9608         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
9609         config/mips/mips.h, config/mn10200/mn10200.h,
9610         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
9611         config/v850/v850.h, config/vax/openbsd.h,
9612         config/vax/openbsd1.h, config/vax/ultrix.h,
9613         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
9614         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
9615         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
9616         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
9617         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
9618         in comments and documentation.
9619
9620 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9621
9622         * line-map.c: New.
9623         * line-map.h: New.
9624         * Makefile.in (line-map.o): New.
9625         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
9626         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
9627         * cpperror.c (print_containing_files): Similarly.
9628         (print_location): Update.  Don't output a space before _Pragma.
9629         * cppfiles.c (stack_include_file): Set to line 1 immediately.
9630         (stack_include_filee, cpp_make_system_header): Update.
9631         (_cpp_execute_include): Get logical line number right for calling
9632         as-yet-unterminated #include.
9633         * cpphash.h (struct cpp_reader): Add line_maps.
9634         (_cpp_do_file_change): Update.
9635         * cppinit.c (cpp_create_reader): Initialize line maps.
9636         (cpp_destroy): Destroy line maps.
9637         (cpp_start_read): Get logical line number right.
9638         * cpplex.c (parse_string): Only warn once for multi-line strings.
9639         Use boolean variable for null warning.
9640         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
9641         already.
9642         (do_include_common): End the directive early.
9643         (do_line): Don't warn about out-of-range lines in preprocessed
9644         source.  Update.  Remove unused variables.
9645         (_cpp_do_file_change): Update for new line mapping.
9646         (pragma_cb): New typedef.
9647         (cpp_register_pragma): Stop looking ahead before calling the
9648         handler.  Clean up.
9649         (do_pragma_system_header): End directive early.
9650         (cpp_get_line_maps): New.
9651         (cpp_pop_buffer): Fudge logical line.  Update.
9652         * cpplib.h: Include line-map.h
9653         (enum cpp_fc_reason): Remove.
9654         (struct cpp_file_change): Update.
9655         (cpp_get_line_maps): New.
9656         * cppmain.c (struct_printer): New member map.
9657         (cb_file_change): Update for new mappings.
9658         * fix-header.c (cb_file_change): Similarly.
9659
9660 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
9661
9662         * Makefile.in (libgcc.mk): Define mkinstalldirs.
9663         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
9664
9665 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
9666
9667         * config/vax/vax.c: include expr.h.
9668
9669 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
9670
9671         * Makefile.in ($(srcdir)/configure): Only rebuild in
9672         maintainer mode.
9673         ($(srcdir)/config.in): Only define in maintainer mode.
9674         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
9675
9676 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
9677
9678         * doc/install.texi (Install GCC: Binaries): Update Bull info.
9679
9680 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9681
9682         * gcc.c (set_collect_gcc_options): New function, split out from
9683         main.
9684         Ignore elided switches.
9685         (do_spec_1): Invoke before executing command.
9686         (set_input): Export.
9687         Move declaration ...
9688         * gcc.h (set_input): ... here.
9689         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
9690         file.
9691
9692 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
9693
9694         Kill -fhonor-std.
9695         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
9696         interaction.
9697         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
9698
9699 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
9700
9701         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
9702         for the unnamed instructions it expands to.
9703
9704 2001-08-02  Richard Henderson  <rth@redhat.com>
9705
9706         * regclass.c (call_really_used_regs): Conditionally define.
9707         (init_reg_sets_1): Don't use it if not defined.
9708         (fix_register): Similarly, don't set it.
9709
9710 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9711
9712         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
9713         Correct comment that had been missed in the previous change.
9714
9715 2001-08-01  Stan Shebs  <shebs@apple.com>
9716
9717         * config/darwin.c (machopic_stub_name): Try matching by name.
9718         (update_stubs): New function.
9719         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
9720         unconditionally.
9721
9722 2001-08-01  Richard Henderson  <rth@redhat.com>
9723
9724         * except.c (output_function_exception_table): Use assemble_align.
9725         * varasm.c (assemble_eh_label): Remove.
9726         (assemble_eh_align, assemble_eh_integer): Remove.
9727
9728 2001-08-01  Robert Lipe  <robertl@caldera.com>
9729
9730         * dwarfout.c: Remove reference to README.DWARF.
9731
9732 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
9733
9734         * regclass.c (call_really_used_regs): New array for registers which
9735         are actually used by a call.
9736         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
9737         new array.
9738         (fix_register): Set call_really_used too.
9739         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
9740         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
9741
9742 2001-08-01  Richard Henderson  <rth@redhat.com>
9743
9744         * read-rtl.c (read_name): Consider \r whitespace.
9745
9746 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
9747
9748         * config.gcc: Recognize powerpc-*-netbsd*.
9749
9750         * doc/install.texi (Host/target specific installation notes for
9751         GCC): Mention powerpc-*-netbsd*.
9752
9753         * config/rs6000/netbsd.h: New file.
9754         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
9755         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
9756         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
9757         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
9758         (TARGET_VERSION): Redefine.
9759
9760         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
9761         mcall-netbsd as a match for mcall-sysv.
9762         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
9763         (ncrti.S, ncrtn.S): New targets.
9764         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
9765
9766         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
9767         "netbsd' as a V4 ABI.
9768         (ASM_SPEC): Check for -mcall-netbsd.
9769         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
9770         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
9771         (LIB_SPEC, ENDFILE_SPEC): Ditto.
9772         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
9773         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
9774         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
9775         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
9776
9777         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
9778         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
9779
9780 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
9781
9782         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
9783         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
9784         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
9785         including "unwind-pe.h".
9786
9787 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
9788
9789         * rs6000.md (define_splits): Kill unused constraints.
9790
9791 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
9792                               Jan Hubicka  <jh@suse.cz>
9793
9794         * function.c (thread_prologue_and_epilogue_insns): Kill code
9795         dealing with non-existent CFG.
9796
9797 2001-08-01  Kazu Hirata  <kazu@hxi.com>
9798
9799         * alias.c: Fix comment formatting.
9800         * bitmap.c: Likewise.
9801         * builtins.c: Likewise.
9802         * calls.c: Likewise.
9803         * c-common.c: Likewise.
9804         * c-decl.c: Likewise.
9805         * c-dump.c: Likewise.
9806         * c-lex.c: Likewise.
9807         * collect2.c: Likewise.
9808         * combine.c: Likewise.
9809         * conflict.c: Likewise.
9810         * cppfiles.c: Likewise.
9811         * cppinit.c: Likewise.
9812         * cpplex.c: Likewise.
9813         * cpplib.c: Likewise.
9814         * cppmacro.c: Likewise.
9815         * cppspec.c: Likewise.
9816         * c-pragma.c: Likewise.
9817         * crtstuff.c: Likewise.
9818         * cse.c: Likewise.
9819         * cselib.c: Likewise.
9820         * c-semantics.c: Likewise.
9821         * c-typeck.c: Likewise.
9822
9823 2001-08-01  H.J. Lu <hjl@gnu.org>
9824
9825         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
9826
9827 2001-08-01  H.J. Lu <hjl@gnu.org>
9828
9829         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
9830
9831 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
9832
9833         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
9834         contextualizing Objective-C class name lookup by the lexer.
9835         (typespec_reserved_nonattr): Disable ObjC class name lookup after
9836         seeing a TYPESPEC.
9837         (protocoldef): Add support for forward @protocol declarations.
9838         (yylexname): Suppress ObjC class name lookup in certain contexts;
9839         re-enable after lookup is complete.
9840         (_yylex): Re-enable ObjC class name lookup when certain
9841         punctuation marks are seen.
9842
9843         * objc/objc-act.c (check_protocol_recursively): New function used
9844         for finding circular dependencies in protocols.
9845         (objc_declare_protocols): New function for handling forward
9846         @protocol declarations.
9847         (receiver_is_class_object): Detect the case when 'self' is used
9848         inside of a class method.
9849         (build_message_expr): Issue a warning if class method is desired
9850         but instance method is found instead.
9851         (conforms_to_protocol): Streamline.
9852         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
9853         protocol Foo, even if 'Bar foo' does not.
9854         (check_protocols): Streamline.
9855         (start_protocol): Add checks for circular and duplicate protocol
9856         definitions.
9857         (encode_aggregate_within): For typedefs of structs, encode the
9858         underlying struct.
9859         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
9860         (objc_declare_protocols): New prototype.
9861
9862 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9863
9864         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
9865         * cpplex.c (handle_newline): Update prototype.  Maintain logical
9866         line number.
9867         (skip_escaped_newlines, skip_block_comment, parse_string):
9868         Update accordingly.
9869         (_cpp_lex_token): Update, and store token position within the token.
9870         * cpplib.h (struct cpp_token): Add line and column entries.
9871         * cppmacro.c (replace_args): Position stringified tokens correctly.
9872
9873 2001-08-01  Andreas Jaeger  <aj@suse.de>
9874
9875         * basic-block.h: Add prototype for last_loop_beg_note.
9876
9877 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
9878
9879         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
9880         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
9881         comment.
9882         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
9883         while handling WITH_CLEANUP_EXPR node. Use second operand calling
9884         expand_decl_cleanup.
9885         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
9886         the first RTX.
9887         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
9888         operand while calling simple_cst_equal.
9889         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
9890         operand is the cleanup expression, the third is the RTL_EXPR.
9891         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
9892
9893 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
9894
9895         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
9896
9897 2001-07-31  matthew green  <mrg@eterna.com.au>
9898
9899         * config.gcc (i386-*-netbsdelf): New description.
9900         * config/i386/netbsd-elf.h: New file.
9901
9902 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
9903
9904         * loop.c (check_dbra_loop): Use single_set to compute
9905         jump_label.
9906
9907 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
9908
9909         PowerPC reorg and support for powerpc64-*-linux*.
9910
9911         Also fixes emitting of constants on 32 bit and 64 bit
9912         platforms.
9913
9914         * config.gcc: powerpc64-*-linux* is a new target.
9915         Things that needed aix.h now also include xcoff.h
9916
9917         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
9918         xcoff.h.
9919         Move AIX specific stuff into aix.h.
9920         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
9921         with more than just XCOFF now.
9922         (SET_ASM_OP): Remove, now defined where needed.
9923         (FUNCTION_PROLOGUE): New macro definition.
9924         (FUNCTION_EPILOGUE): New macro definition.
9925         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
9926
9927         * config/rs6000/xcoff.h: New file.
9928
9929         * config/rs6000/linux64.h: New file.
9930
9931         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
9932
9933 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
9934
9935         * rs6000.c (print_operand_address): Handle ELF syntax.
9936         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
9937         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
9938         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
9939
9940 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
9941
9942         * rs6000.c (rs6000_override_options): Only disable
9943         flag_function_sections for XCOFF.
9944         (exact_log2_cint_operand): New predicate.
9945         (reg_or_{add,sub}_cint64_operand): New predicates.
9946         (add_operand): Compare CONST_INT with fewer function calls.
9947         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
9948         (print_operand, case 'p'): Ensure positive operand.
9949         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
9950         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
9951         (PREDICATE_CODES): Add new predicates.
9952         * rs6000.md (addsi3): Split 32-bit constants more correctly.
9953         (divsi3, modsi3): Ensure positive power-of-2.
9954         (adddi3): Use new predicate.  Split 32-bit constants more
9955         correctly.  Re-arrange splitter to handle any constant.
9956         (subdi3): Use new predicate.
9957         (divdi3, moddi3): Ensure positive power-of-2.
9958         (movdi): Use rs6000_emit_set_const.
9959         (load_toc_v4_pic_di): Delete.
9960
9961 2001-07-31  Graham Stott <grahams@redhat.com>
9962
9963         * function.c (pad_below): Revert 2001-07-26 patch.
9964
9965 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
9966
9967         * reg-stack (convert_regs_1): Fix best edge condition.
9968
9969 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
9970
9971         * jump.c (duplicate_loop_exit_test): Better test for jumps
9972         entering the loop; create loop pre_header.
9973
9974 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
9975
9976         * doc/install.texi: Add s390 and s390x as new targets.
9977         * doc/invoke.texi: Add documentation of S/390 and zSeries
9978         target options.
9979         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
9980
9981 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
9982
9983         * config/m68k/m68k.md: Replace all general_operand with
9984         nonimmediate_operand for all destinations.
9985         * config/m68k/m68k.c (not_sp_operand): Likewise.
9986
9987 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
9988
9989         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
9990
9991 2001-07-30  Richard Henderson  <rth@redhat.com>
9992
9993         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
9994         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
9995
9996 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
9997
9998         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
9999         Add missing doc strings
10000         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
10001         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
10002
10003 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
10004
10005         * i386.c (ix86_output_main_function_alignment_hack): New function.
10006         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
10007
10008         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
10009         edges by EDGE_DFS_BACK flag.
10010         (dump_edge_info): Add dfs_back flag.
10011         * basic-block.h (EDGE_DFS_BACK): New constant.
10012         (mark_dfs_back_edges): Declare.
10013         * alias.c (loop_p): Remove.
10014         (mark_constant_function): Use mark_dfs_back_edges.
10015
10016         * reg-stack.c (block_info_def): Add predecesors counter and stack_out.
10017         (reg_to_stack): Call mark_dfs_back_edges; count the predecesors.
10018         (compensate_edge): Break out from ...
10019         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
10020         (convert_regs_2): Set block_done once block is really done;
10021         Do updating of the predecesors counts.
10022
10023         * toplev.c (rest_of_compilation): Recompute block_for_insn
10024         before post-reload cfg_cleanup.
10025         * function.c (thread_prologue_epilogue_insns):
10026         Call set_block_for_new_insns when emitting prologue directly.
10027
10028 2001-07-30  Andreas Jaeger  <aj@suse.de>
10029
10030         * jump.c: Add prototype for mark_modified_reg.
10031
10032         * cse.c (set_live_p): Add unused attribute.
10033
10034         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
10035         overflow.
10036         (scan_for_source_files): Use long for count to avoid overflow.
10037         (output_data): Likewise.
10038         (output_data): Don't use string concatatenation to silence gcc
10039         -traditional.
10040
10041         * predict.c: Fix typos and grammar.
10042
10043         * gcse.c (insert_insn_end_bb): Remove unused variables.
10044
10045 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
10046
10047         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
10048         (attempt_auto_inc): LIkewise.
10049         (mark_used_reg): Likewise.
10050         (try_pre_increment_1): Likewise.
10051         * regclass.c (regclass): Likewise.
10052         * global.c (allocno_compare): Update comment; change scaling factor.
10053         * local-alloc.c (QTY_CMP_PRI): Likewise.
10054         * regs.h (REG_FREQ_FROM_BB): New.
10055         (REG_FREQ_MAX): Likewise.
10056
10057 2001-07-30  H.J. Lu <hjl@gnu.org>
10058
10059         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
10060         -D_GNU_SOURCE.
10061
10062 2001-07-30  H.J. Lu  (hjl@gnu.org)
10063
10064         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
10065         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
10066         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
10067
10068 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
10069
10070         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
10071         as -mthumb-interwork when -mcpu=arm7 is specified.
10072
10073 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
10074
10075         * predict.def (noreturn, loop branch, loop exit): Mark as first
10076         match heuristics.
10077
10078 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
10079
10080         * combine.c (try_combine): Avoid barrier after noop jumps.
10081
10082 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10083
10084         * cpphash.h (struct cpp_reader): Remove import_warning.
10085         * cpplib.c (skip_rest_of_line): Don't bother turning off
10086         macro expansion.
10087         (parse_include): Move include handling to...
10088         (do_include_common): ... here.  Move import warning from...
10089         (do_import): ... here.
10090         (do_pragma_poison): Don't do a callback for poison identifiers.
10091         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
10092         * cppmain.c (setup_callbacks): Similarly.
10093
10094 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
10095
10096         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
10097         handle multiple sets.
10098         * except.c (sjlj_mark_call_sites): .... here.
10099         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
10100
10101 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
10102
10103         Suggested by Richard Henderson and Richard Kenner:
10104         * combine.c (recog_for_combine): Use the fake recog
10105         only if instruction does not match.
10106         * rtl.h (NOOP_MOVE_INSN_CODE): New.
10107         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
10108
10109         * combine.c (try_combine): Discover noop jump as direct jump.
10110
10111 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
10112
10113         * df.c (df_rd_global_compute): Add successors to worklist, not
10114         current item.
10115         (df_ru_global_compute): Ditto.
10116
10117 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
10118
10119         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
10120         increment REG_N_SETS.
10121
10122 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
10123
10124         * sbitmap.h: New prototype for sbitmap_a_xor_b.
10125
10126         * sbitmap.c (sbitmap_a_xor_b): New function.
10127         ifdef the basic block stuff on IN_GCC.
10128
10129 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10130
10131         * cppexp.c (parse_defined): Always record the macro name.
10132         (lex): Don't worry about identifiers, or special-case
10133         CPP_NOT here.
10134         (_cpp_parse_expr): Figure out at the end of the routine
10135         whether we saw a valid !defined() expression.
10136         * cppfiles.c (stack_include_file): Update for mi_valid.
10137         (_cpp_pop_file_buffer): Similarly.
10138         * cpplex.c (_cpp_lex_token): Similarly.
10139         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
10140         mi_if_not_defined, mi_lexed): Remove.
10141         (mi_valid): New.
10142         * cpplib.c (do_if): Simplify.
10143         (do_endif, push_conditional, _cpp_handle_directive): Update
10144         for renaming of mi_state to mi_valid.
10145 doc:
10146         * cpp.texi: Add index entries for digraphs, and add comment
10147         that C++ refers to them as alternative tokens.
10148
10149 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
10150
10151         * basic-block.h (CLEANUP_PRE_LOOP): New.
10152         * except.c (finish_eh_generation): Update call of cleanup_cfg.
10153         * sibcall.c (optimize_sibling_calls): Likewise.
10154         * toplev.c (rest_of_compilation): Likewise.
10155         * flow.c (try_forward_edges): Take argument MODE;
10156         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
10157         (try_optimize_cfg): Update call of try_forward_edges.
10158
10159 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
10160                                 Jan Hubicka  <jh@suse.cz>
10161
10162         * (validate_replace_rtx_1): Fix simplification of MINUS.
10163
10164 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
10165
10166         PR preprocessor/3669
10167         * cppinit.c (init_dependency_output): Turn off dump requests
10168         if sending dependencies to stdout.
10169
10170 2001-07-28  Richard Henderson  <rth@redhat.com>
10171
10172         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
10173         not optimizing.
10174
10175 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
10176
10177         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
10178
10179 2001-07-28  Kazu Hirata  <kazu@hxi.com>
10180
10181         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
10182         is VAR_DECL first to prevent an ICE.
10183
10184 2001-07-28  Richard Henderson  <rth@redhat.com>
10185
10186         * varasm.c (immed_real_const_1): Don't elide special cases for
10187         nested functions.
10188         (clear_const_double_mem): Clear const_tiny_rtx too.
10189
10190 2001-07-28  Richard Henderson  <rth@redhat.com>
10191
10192         * dwarf2out.c (dw_val_class_offset): New.
10193         (struct dw_ranges_struct, dw_ranges_ref): New.
10194         (ranges_table, ranges_table_allocated): New.
10195         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
10196         (add_AT_offset, add_ranges, output_ranges): New.
10197         (print_die, output_die): Handle dw_val_class_offset.
10198         (attr_checksum, size_of_die, value_format): Likewise.
10199         (gen_lexical_block_die): Handle non-contiguous blocks.
10200         (gen_block_die): Likewise.
10201         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
10202         if needed.  Dump the ranges table.
10203         * final.c (final_start_function): Remove unnecessary notes and
10204         rebuild the block tree before numbering the blocks.
10205         * function.c (reorder_blocks_0): Walk the existing block tree
10206         to unmark all blocks.
10207         (reorder_blocks_1): Create block fragments when duplicate block
10208         notes are seen.
10209         (reorder_fix_fragments): New.
10210         (reorder_blocks): Call it.
10211         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
10212
10213 2001-07-28  Richard Henderson  <rth@redhat.com>
10214
10215         * emit-rtl.c (adjust_address): Make a copy of the memory address.
10216
10217 2001-07-28  Richard Henderson  <rth@redhat.com>
10218
10219         * flow.c (add_to_mem_set_list): New function.
10220         (init_propagate_block_info): Use it.
10221         (mark_set_1): Likewise.
10222         (insn_dead_p): Canonicalize memory address for dead store
10223         comparison.  Allow wider mode stores to kill narrower mode stores.
10224         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
10225         (invalidate_mems_from_set): Don't handle MEMs.
10226
10227 2001-07-28  Kazu Hirata  <kazu@hxi.com>
10228
10229         * config/h8300/h8300.h: Fix formatting.
10230
10231 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
10232
10233         * basic-block.h (EDGE_FREQUENCY): New macro.
10234         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
10235         for new BB/edges.
10236         * flow.c (find_sub_basic_blocks): Likewise.
10237         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
10238         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
10239
10240         * predict.c (DEF_PREDICTOR): New argument FLAGS.
10241         (HITRATE): New macro.
10242         (PRED_FLAG_FIRST_MATCH): New constant.
10243         (predictor_info): New field flgags.
10244         (combine_predictions_for_insn): Use DS theory to combine
10245         probabilities; set the edge probabilities when finished.
10246         (estimate_probability): Avoid duplicated matches
10247         of LOOP_BRANCH heuristics for nested loops; update comment.
10248         * predict.def: Add flags for each prediction, set probabilities
10249         according to B&L paper.
10250         * predict.h (DEF_PREDICTOR): New argument FLAGS.
10251
10252         * profile.c (compute_branch_probabilities):  Cleanup way the edge
10253         probabilities are computed and REG_BR_PROB notes are dropped; if
10254         values does not match, emit error.
10255         (init_branch_prob): Do error instead of warning when profile driven
10256         feedback is missing or corrupt.
10257
10258 2001-07-27  DJ Delorie  <dj@redhat.com>
10259
10260         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
10261         against a constant, try to adjust the compare to have the desired
10262         constant in it so that min/max optimizations happen more often.
10263
10264 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
10265
10266         * flow.c (last_loop_beg_note): New function.
10267         (redirect_edge_and_branch): Use it.
10268         (split_edge): Likewise.
10269
10270         * alias.c (loop_p): Avoid uninitialized memory access.
10271
10272         * flow.c (try_forward_edges): Avoid accessing freed memory.
10273
10274         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
10275         variable access.
10276
10277 2001-07-26  Andrew Haley  <aph@redhat.com>
10278         Joern Rennecke <amylaar@redhat.com>
10279
10280         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
10281         (SUBTARGET_CPP_ENDIAN_SPEC): New.
10282         (SUBTARGET_CPP_SPEC): New.
10283         (CPP_SPEC): Remove.
10284         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
10285         (SUBTARGET_CPP_PTR_SPEC): New.
10286         (CPP_DEFAULT_CPU_SPEC): New.
10287         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
10288         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
10289         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
10290         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
10291         (SUBTARGET_CPP_SPEC): Define as an empty string.
10292
10293 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10294
10295         * doc/install.texi (Configuration): Properly link the host
10296         specific instructions also when generating HTML.
10297
10298 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
10299
10300         * flow.c (redirect_edge_and_branch_force): Test
10301         target->global_live_at_start.
10302
10303 2001-07-26  Richard Henderson  <rth@redhat.com>
10304
10305         * simplify-rtx.c (avoid_constant_pool_reference): Export.
10306         * rtl.h (avoid_constant_pool_reference): Declare it.
10307         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
10308         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
10309
10310 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
10311
10312         * rtl.h (cleanup_barriers): Declare.
10313         * jump.c (cleanup_barriers): New function.
10314         * toplev.c (rest_of_compilation): Call cleanup_barriers
10315         before loop optimizer and after bb_reorder.
10316
10317         * flow.c (back_edge_of_syntactic_loop_p): New.
10318         (split_edge): Use it.
10319
10320 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10321
10322         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
10323
10324 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
10325
10326         * cse.c (cse_process_notes): Replace any registers if the address
10327         remains valid.
10328
10329 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
10330
10331         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
10332         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
10333         (propagate_block): Update prototype.
10334         * flow.c (update_life_info): Simplify the CFG and
10335         recalculate the global regs which are alive when
10336         removing dead code during a global update.
10337         (propagate_block): Return non-zero if an INSN is
10338         deleted.
10339
10340 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10341
10342         * Makefile.in (LIBICONV): Define.
10343
10344 2001-07-26  Catherine Moore  <clm@redhat.com>
10345
10346         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
10347         of conditional to avoid tree checking errors.
10348
10349 2001-07-26  Kazu Hirata  <kazu@hxi.com>
10350
10351         * regmove.c (regmove_optimize): Don't replace a reg with
10352         another reg of a different mode.
10353
10354 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
10355
10356         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
10357         limit length of dependency flush list.
10358         * params.h (MAX_PENDING_LIST_LENGTH): Define.
10359         * sched-int.h  (struct deps): Add pending_flush_length field.
10360         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
10361         has 1 element in it.
10362         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
10363         (sched_analyze): After a jump, if the pending memory flush list is too
10364         large, flush the pending lists.
10365         (init_deps): Initialize pending_flush_length to 0.
10366         * doc/invoke.texi (max_pending_list_length): Document parameter.
10367
10368 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
10369
10370         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
10371         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
10372         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
10373
10374 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10375
10376         * cpphash.h (struct_lexer_state): Delete was_skipping.
10377         Move skipping here from struct cpp_reader.
10378         * cpplex.c (parse_identifier): Update.
10379         (_cpp_lex_token): Don't skip tokens in a directive.
10380         * cpplib.c (struct if_stack): Update.
10381         (start_directive, end_directive): Don't change skipping state.
10382         (_cpp_handle_directive): Update.
10383         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
10384         (do_else, do_endif): Update; only check for excess tokens if not
10385         in a skipped conditional block.
10386         (push_conditional): Update for new struct if_stack.
10387
10388 2001-07-26  Graham Stott  <grahams@redhat.com>
10389
10390         * function.c (locate_and_pad_parm): Also pad initial offset
10391         so that the total argument size also includes the padding.
10392
10393 2001-07-26  Graham Stott <grahams@redhat.com>
10394
10395         * gensupport.c (alter_output_for_insn): Correct enable checking failure
10396         change XSTR to XTMPL.
10397
10398         (process_one_cond_exec): Likewise
10399
10400 2001-07-25  Richard Henderson  <rth@redhat.com>
10401
10402         * varasm.c (assemble_variable): Create DECL_RTL before setting
10403         TREE_ASM_WRITTEN.
10404
10405 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
10406
10407         * predict.c (estimate_probability): Avoid duplicated predictions.
10408
10409         * loop.c (find_and_verify_loops): Grok multiple barriers.
10410
10411 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10412
10413         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
10414
10415         * dbxout.c: Consistently use putc instead of fputc.
10416         (print_wide_int): New function; call instead of direct fprintf.
10417         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
10418         (dbxout_type_fields, dbxout_type_method_1): Likewise.
10419         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
10420         (print_int_cst_octal): Likewise.
10421         (print_octal): Show we wrote characters.
10422         (dbxout_type): Set have_used_extensions in more places.
10423
10424 2001-07-25  Catherine Moore  <clm@redhat.com>
10425
10426         * config/v850/v850.c (v850_va_arg):  Use addr
10427         instead of valist to build incr.
10428
10429 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
10430
10431         * flow.c (delete_dead_jumptables): New function.
10432         (life_analyzis): Call it.
10433         * bb-reorder.c (skip_insns_after_block): Handle contradictory
10434         sequences.
10435
10436 2001-07-25  Richard Henderson  <rth@redhat.com>
10437
10438         * except.c (reachable_handlers): Handle a region being removed
10439         out from under a RESX.
10440
10441 2001-07-25  Richard Henderson  <rth@redhat.com>
10442
10443         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
10444         swap GE/GT if it is an fp comparison.
10445
10446 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
10447
10448         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
10449         operands.
10450
10451 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
10452
10453         * ssa.c (rename_insn_1): Do not wrap an assignment to a
10454         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
10455         glitch.
10456
10457         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
10458         throw an exception.
10459         (visit_expression): When attempting to simplify an expression,
10460         retrieve any modes for arguments before they are simplified
10461         to constants.
10462
10463 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
10464             Janis Johnson  <janis@us.ibm.com>
10465
10466         * stmt.c (expand_goto): A nonlocal goto can be a call too.
10467         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
10468         pointer parameters to match documented usage of nonlocal_goto.
10469         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
10470         parameters to their correct order.
10471         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
10472         parameters to their correct order.
10473
10474 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
10475
10476         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
10477
10478 2001-07-25  Jan Hubicka  <jh@suse.cz>
10479             Richard Henderson  <rth@redhat.com>
10480
10481         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
10482         the sequence.
10483         (make_edges): New argument update_p; populate the edge cache if set.
10484         (find_basic_blocks): Update make_edges invocation.
10485
10486 2001-07-24  Joel Sherrill <joel@OARcorp.com>
10487
10488         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
10489
10490 2001-07-24  Joel Sherrill <joel@OARcorp.com>
10491
10492         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
10493         -Acpu and -Amachine.h.
10494         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
10495         Corrected header to say ELF not a.out.
10496         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
10497         when given -msoft-float.
10498
10499 2001-07-24  Joel Sherrill <joel@OARcorp.com>
10500
10501         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
10502         extra multilib parts like arm-elf.
10503         (i960-*-coff*, i960-*-rtems): Should not use collect2.
10504         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
10505         crtfini.o as extra multilib parts.
10506
10507 2001-07-24  Joel Sherrill <joel@OARcorp.com>
10508
10509         * configure.in: Add rtems as a supported thread model.
10510         * gthr-rtems.h: Add missing entry point __gthread_active_p.
10511         * configure: Rebuilt.
10512
10513 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
10514
10515         * stor-layout.c (get_mode_alignment): make it work when
10516         BITS_PER_UNIT is not a power of two.
10517         * builtins.c (get_pointer_alignment): Likewise.
10518
10519 2001-07-24  Richard Henderson  <rth@redhat.com>
10520
10521         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
10522         the retrieved constant into the expected mode.
10523
10524 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
10525
10526         * flow.c (try_simplify_condjump): Avoid duplicated edges.
10527         (verify_flow_info): Check for duplicated edges; clarify
10528         error reporting.
10529
10530         * flow.c (block_label): Update basic_block_for_insn.
10531         (commit_edge_insertions): Call compute_bb_for_insn.
10532
10533         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
10534         returns too.
10535
10536         * flow.c (redirect_edge_and_branch,
10537         try_optimize_cfg): Use redirect_edge_succ_nodup
10538         (redirect_edge_succ_nodup): New.
10539         * basic_block.h (redirect_edge_succ_nodup): Declare.
10540
10541         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
10542         after gcse.
10543
10544 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
10545
10546         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
10547         (try_crossjump_to_edge): Update commetns.
10548         (try_crossjump_bb): Likewise.
10549
10550 2001-07-24  Richard Henderson  <rth@redhat.com>
10551
10552         * combine.c (distribute_notes): Move set of need_refresh
10553         for noop_move_p down to catch all cases.
10554
10555 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
10556
10557         * recog.c (split_all_insns_noflow): New.
10558         * rtl.h (split_all_insns_noflow): Declare.
10559         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
10560         * m68hc11.c (m68hc11_reorg): Likewise.
10561         * sh.c (machine_dependent_reorg): Likewise.
10562         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
10563         call.
10564
10565 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
10566
10567         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
10568         (ashlsi3_n splitter): Likewise.
10569         (lshrsi3_n splitter): Likewise.
10570
10571         (GOTaddr2picreg): Make const SImode.
10572         (sym_label2reg): Likewise.
10573         (symGOT2reg): Likewise.
10574         (symGOTOFF2reg) Likewise.
10575
10576         (casesi_worker_0): Make unspec SImode.
10577
10578 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
10579
10580         * config/sh/sh.c (barrier_align): Check that an operand really is
10581         an insn before extracting its INSN_CODE.
10582
10583 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
10584
10585         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
10586         dangling else.
10587
10588         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
10589         for SImode to prevent overflow.
10590
10591 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10592
10593         * config/mips/irix6-libc-compat.c: New file.
10594         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
10595         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
10596         passing workaround.
10597
10598 2001-07-24  lars brinkhoff  <lars@nocrew.org>
10599
10600         * rtl.texi (REG_POINTER): Document.
10601         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
10602         QFmode, HFmode, TQFmode, QCmode, and HCmode.
10603
10604 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
10605
10606         * flow.c (delete_noop_moves): Do not confuse libcall regions.
10607
10608 2001-07-23  Richard Henderson  <rth@redhat.com>
10609
10610         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
10611
10612 2001-07-23  Kazu Hirata  <kazu@hxi.com>
10613
10614         * config/h8300/h8300-protos.h: Add a prototype for
10615         general_operand_dst_push.
10616         * config/h8300/h8300.c (general_operand_dst_push): New.
10617         * config/h8300/h8300.h (OK_FOR_T): New.
10618         (EXTRA_CONSTRAINT): Use it.
10619         * config/h8300/h8300.md (movqi_push): Remove and integrate into
10620         the existing movqi pattern.
10621         (movhi_push): Likewise.
10622
10623         * reload.c: Fix comment typos.
10624
10625 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
10626
10627         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
10628
10629 2001-07-23  H.J. Lu  (hjl@gnu.org)
10630
10631         * doc/extend.texi: Update __builtin_return_address and
10632         __builtin_frame_address.
10633
10634 2001-07-23  Richard Henderson  <rth@redhat.com>
10635
10636         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
10637         before CSE.
10638         * config/i386/i386.md: New setcc+movzbl peephole2.
10639
10640 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10641
10642         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
10643         * objc/objc-act.c: Include debug.h.
10644         (synth_module_prologue): Save and restore debug hooks too.
10645
10646 2001-07-23  lars brinkhoff  <lars@nocrew.org>
10647
10648         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
10649         and C4X_FLOAT_FORMAT.
10650         (BOOL_TYPE_SIZE): Document.
10651
10652 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
10653
10654         * unroll.c (loop_iterations): Fix miscalculation of initial
10655         giv offset.
10656
10657 2001-07-13  Andrew Haley  <aph@redhat.com>
10658
10659         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
10660         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
10661         * config/sh/sh.c (sh_can_redirect_branch): New function.
10662         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
10663         * reorg.c (steal_delay_list_from_target): Use
10664         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
10665
10666 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
10667
10668         * flow.c (try_simplify_condjump): Unlink insn chain on
10669         fallthru edge; use can_fallthru.
10670
10671 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
10672
10673         * basic-block.h (find_sub_basic_block): Declare.
10674         * flow.c (make_edges): New arguments MIN and MAX;
10675         (find_sub_basic_blocks): Revamp to use make_edges
10676         and purge_dead_edges.
10677         (find_basic_blocks): Update call of find_sub_basic_block.
10678
10679         * recog.c (split_all_insns): Always expect CFG to be consistent;
10680         call find_sub_basic_blocks in case something has changed.
10681         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
10682         has been built.
10683
10684         * basic-block.h (delete_noop_moves): Declare.
10685         * combine.c (combine_instructions): Call it.
10686         (recog_for_combine): Tolerate noop moves
10687         (distribute_notes): Force refresh when register dies at noop move.
10688         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
10689         too.
10690         (life_analysis): Update delete_noop_moves call.
10691         (set_noop_p): Move too ...
10692         * rtlanal.c (noop_move_p): ... here.
10693         * rtl.h (noop_move_p): Declare.
10694
10695         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
10696         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
10697         after combine.
10698         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
10699         (cprop_jump): Likewise; call purge_dead_edges if substitution suceeded.
10700
10701 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
10702
10703         * reload.c (push_reload): Fix typo in comment.
10704         (find_reloads_address): Ditto.
10705         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
10706
10707 2001-07-22  Richard Henderson  <rth@redhat.com>
10708
10709         * flow.c: Grammar check and clarify a lot of comments.
10710         (try_simplify_condjump): Rename variables to be clearer.
10711         (try_forward_edges): Skip complex and fallthru edges.
10712         Rearrange tests to avoid duplicate checks.
10713         (flow_find_cross_jump): Likewise.
10714         (outgoing_edges_match): Allow match if neither branch has
10715         probability data.  Loosen probability match to 5%.
10716         (try_crossjump_to_edge): Hoist repeated indirection into
10717         local variables.
10718         (try_crossjump_bb): Don't check complex edges.  Eliminate
10719         redundant crossjump tests.
10720         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
10721         checks before more expensive checks.
10722
10723 2001-07-22  Richard Henderson  <rth@redhat.com>
10724
10725         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
10726         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
10727         arguments.
10728
10729 2001-07-22  Richard Henderson  <rth@redhat.com>
10730
10731         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
10732         (const_sint32_operand): Likewise.
10733         * m68k.md (anon mulsi pattern): Use const_int_operand not
10734         const_sint32_operand.
10735         (umulsi3_highpart): Zero extend a constant input.
10736         (smulsi3_highpart): Don't bother checking SImode constant.
10737         (const_umulsi3_highpart): Give op3 DImode.
10738         (const_smulsi3_highpart): Likewise.
10739
10740 2001-07-22  Richard Henderson  <rth@redhat.com>
10741
10742         * flow.c (split_block): Make sure bb_note is included in the
10743         new block when splitting before a label.
10744
10745 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
10746
10747         * basic-block.h (redirect_edge_and_branch_force,
10748         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
10749         * flow.c (redirect_edge_and_branch_force,
10750         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
10751         (redirect_edge_and_branch_force): Fix copying of lifeness information.
10752         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
10753         * ifcvt.c (dead_or_predictable): Take BB as an new destionation
10754         instead of label; update CFG after transformation.
10755         (find_if_case_1): Update call, use redirect_edge_and_branch_force
10756         for finishing the transformation; handle even case where ELSE
10757         does not follow THEN.
10758         (find_if_case_2): Update call of dead_or_predictable; simplify
10759         CFG update.
10760
10761         * emit-rtl.c (split_branch_probability): New global variable.
10762         (try_split): Take care to set split_branch_probability and
10763         create REG_BR_PROB note for new jump insns.
10764         * md.texi (define_split): Document new feature.
10765
10766         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
10767
10768 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
10769
10770         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
10771         (asm_out_file): Remove redundant declaration.
10772         (assemble_asm): Remove old #if 0 block.
10773         (assemble_variable): Remove end of function; debug output is
10774         now handled with global_decl.  Remove old #if 0 block.  Update.
10775         Remove saved_in_section and associated no-op code.
10776         * Makefile.in (varasm.o): Correct dependencies.
10777
10778 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
10779
10780         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
10781         the definition in defaults.h.
10782
10783 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
10784
10785         * jump.c: Update comments.
10786         (delete_barrier_successors, delete_unreferenced_labels,
10787         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
10788         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
10789         jump_optimize, jump_optimize_minimal): Kill.
10790         (rebuild_jump_labels): Move code from jump_optimize_1.
10791         (purge_line_number_notes): Likewise.
10792         (copy_loop_headers): Likewise.
10793         * reg-stack.c: Update comment.
10794         * stmt.c: Likewise.
10795         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
10796         JUMP_AFTER_REGSCAN): Kill.
10797         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
10798         purge_line_number_notes and copy_loop_headers.
10799
10800 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
10801            Richard Henderson  <rth@redhat.com>
10802
10803         * dbxout.c (dbxout_global_decl): New.
10804         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
10805         * sdbout.c (sdbout_finish): New.
10806         (sdbout_debug_hooks): Use it, add comments.
10807         (sdbout_global_decl): Defer initialised public vars to
10808         sdbout_finish.
10809         * varasm.c (assemble_variable): Don't output debug information
10810         for file-scope variables.
10811
10812 2001-07-22  Richard Henderson  <rth@redhat.com>
10813
10814         * config/alpha/alpha.c (get_trap_mode_suffix): New.
10815         (get_round_mode_suffix): New.
10816         (print_operand): Use them for [/].  Remove support for [&'`()+].
10817         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
10818         * config/alpha/alpha.md (attr round_suffix): New.
10819         (attr trap_suffix): New.
10820         (all insns): Set them appropriately.  Use %/ instead of the
10821         myriad punctuators.
10822
10823 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10824
10825         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
10826
10827 2001-07-22  Richard Henderson  <rth@redhat.com>
10828
10829         * regrename.c (regrename_optimize): Compute nregs for each
10830         potential target register.
10831
10832 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
10833            Richard Henderson  <rth@redhat.com>
10834
10835         * dbxout.c (dbxout_global_decl): New.
10836         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
10837         * sdbout.c (sdbout_finish): New.
10838         (sdbout_debug_hooks): Use it, add comments.
10839         (sdbout_global_decl): Defer initialised public vars to
10840         sdbout_finish.
10841         * varasm.c (assemble_variable): Don't output debug information
10842         for file-scope variables.
10843
10844 2001-07-21  H.J. Lu  (hjl@gnu.org)
10845
10846         * config/mips/mips.c (mips_cpu): Moved into ...
10847         (override_options): Here.
10848
10849         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
10850         mips_tune.
10851         (mips_cpu): Removed.
10852
10853 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10854
10855         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
10856         ("iorqi3"): Likewise.
10857         ("xorqi3"): Likewise.
10858         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
10859         ("*subhi3_sp): Likewise.
10860         ("*subhi3"): Likewise.
10861         ("extendhisi2"): Accept D, X and Y as source operand to avoid
10862         reload problems.
10863
10864 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
10865
10866         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
10867         * config/freebsd.h: Likewise.
10868         * config/linux.h: Likewise.
10869         * config/openbsd.h: Likewise.
10870         * config/alpha/linux-elf.h: Likewise.
10871         * config/arm/linux-elf.h: Likewise.
10872         * config/d30v/d30v.h: Likewise.
10873         * config/fr30/fr30.h: Likewise.
10874         * config/ia64/aix.h: Likewise.
10875         * config/ia64/ia64.h: Likewise.
10876         * config/mips/linux.h: Likewise.
10877         * config/pj/pj.h: Likewise.
10878         * config/rs6000/linux.h: Likewise.
10879         * config/sparc/linux.h: Likewise.
10880         * config/sparc/linux64.h: Likewise.
10881
10882 2001-07-20  Bruce Korb  <bkorb@gnu.org>
10883
10884         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
10885         because getc() and char* may disagree on signedness.
10886
10887 2001-07-20  Richard Henderson  <rth@redhat.com>
10888
10889         * doc/rtl.texi (REG_DEAD): Update for current semantics.
10890
10891         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
10892         insns to delete in the presence of cc0 in a jump insn.
10893
10894 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
10895                                 Jan Hubicka  <jh@suse.cz>
10896
10897         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
10898         of doing the change by hand.
10899
10900 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
10901
10902         * rtlanal.c (set_noop_p): Return true for noop jumps.
10903
10904         * expr.c (emit_single_push_insn): Add call to push expander.
10905         * expr.h (optab_index): Add OTI_push
10906         (push_optab): New constant.
10907         * genopinit.c (optabs): Add push_optab.
10908         * optabs.c (init_optab): Init push optab.
10909         * md.texi (push??1): Document
10910
10911 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10912
10913         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
10914         expand to emit the pattern; put a REG_INC note for push/pop
10915         instructions.
10916         ("movdf", "movdf_internal"): Likewise.
10917         ("movsi", "movsi_internal"): Likewise.
10918         ("movsf", "movsf_internal"): Likewise.
10919         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
10920
10921 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10922
10923         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
10924         gen_highpart.
10925
10926 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
10927
10928         * params.def: Change default max inline insns to 100.
10929
10930 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
10931
10932         * combine.c (combine_simplify_rtx): Generate a new shift operation
10933         when simplifying the first operand of a (neg (ashift)) expression.
10934
10935 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10936
10937         * regclass.c (N_REG_INTS): Use only 32 bits per element.
10938
10939 2001-07-20  Kelley Cook  <kelley.cook@home.com>
10940
10941         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
10942         information.   Move rest into ...
10943         (*-*-solaris): ... here.  Eliminate redundant information and
10944         reword necessary packages section.  Delete 4.x assembler bug info.
10945         (sparc-sun-*): Merge into ...
10946         (sparc-sun-sunos*): here.
10947
10948 2001-07-20  Catherine Moore  <clm@redhat.com>
10949
10950         * config/v850/v850.md (casesi): Generate LABEL_REF
10951         with Pmode.
10952
10953 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
10954
10955         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
10956         * i386.c (ix86_zero_extend_to_Pmode): Make global.
10957         * i386.md (strclrsi expander): Use it.
10958
10959 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
10960
10961         * integrate.c (copy_insn_list): handle
10962         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
10963         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
10964         identically as to CODE_LABEL.
10965
10966         * fold-const (fold): Convert A/B/C to A/(B*C) and
10967         A/(B/C) to (A/B)*C
10968
10969         * except.c (connect_post_landing_pads): Delete the RESX insns.
10970
10971 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
10972
10973         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
10974
10975         * config/mips/mips.md (nmadd/nmsub): Use macro.
10976
10977 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
10978
10979         * cppinit.c (remove_dup_dir): Make static.
10980         (remove_dup_dirs): Make static. Only warn about preempting a
10981         system directory with a non-system directory.
10982
10983 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
10984
10985         * ifcvt.c (noce_try_store_flag_constants): Correct order
10986         of parameters to trunc_int_for_mode.
10987
10988 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
10989
10990         * reorg.c (fill_simple_delay_slots): If an instruction might throw
10991         an exception that will be caught within this function, do not fill
10992         its delay slot with any subsequent instruction.
10993
10994 2001-07-19  Steve Ellcey <sje@cup.hp.com>
10995
10996         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
10997         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
10998         pointer extension instruction.
10999         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
11000         * simplify-rtx.c (simplify_unary_operation) Likewise.
11001         * explow.c (convert_memory_address) Check value of
11002         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
11003         less than zero.
11004         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
11005         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
11006         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
11007         Add Multilib Support.
11008         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
11009         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
11010         Add Multilib Support.
11011         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
11012         support.
11013         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
11014         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
11015         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
11016
11017 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
11018
11019         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
11020         old and new operands in `<', `3' and `b'.
11021
11022 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
11023
11024         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
11025         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
11026         (toplev.o): Don't depend on xcoffout.h.
11027         * c-decl.c: Include debug.h
11028         (duplicate_decls): Use debug hook.
11029         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
11030         (dbx_debug_hooks, xcoff_debug_hooks): Update.
11031         (dbxout_types): Remove.
11032         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
11033         * debug.c (do_nothing_debug_hooks): Update.
11034         (debug_true_tree, debug_nothing_rtx): New.
11035         * debug.h (struct rtx_def): New.
11036         (struct gcc_debug_hooks): New hooks ignore_block,
11037         outlining_inline_function and label.
11038         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
11039         dwarf2out_frame_finish): New.
11040         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
11041         Make static, update prototype.
11042         (dwarf2_debug_hooks): Update.
11043         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
11044         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
11045         * dwarfout.c (dwarf_debug_hooks): Update.
11046         * emit-rtl.c: Include debug.h.
11047         (remove_unnecessary_notes): Use debug hook.
11048         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
11049         (final_scan_insn): Use debug hook.
11050         * integrate.c (output_inline_function): Use debug hook.
11051         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
11052         (sdb_debug_hooks): Update.
11053         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
11054         * toplev.c: Don't include xcoffout.h.
11055         (note_outlining_of_inline_function, debug_ignore_block): Remove.
11056         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
11057         Remove.
11058         * tree.h (dwarf2out_do_frame): Remove.
11059
11060 2001-07-19  Catherine Moore  <clm@cygnus.com>
11061
11062         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
11063
11064 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
11065
11066         * reload1.c (eliminate_regs_in_insn): When updating a set
11067         to the frame pointer to the hardware frame pointer, perform
11068         the update always not just when REPLACE is set.
11069
11070         * reload1.c (choose_reload_regs): Don't inherit a reload
11071         that crosses multiple registers if registers past the first
11072         don't fit in the desired class.
11073
11074         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
11075         when negating constants.
11076
11077 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
11078
11079         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
11080         * doc/tree.texi: Ditto.
11081
11082 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
11083             Jakub Jelinek  <jakub@redhat.com>
11084
11085         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
11086         (extract_cie_info): Handle "eh" augmentation properly,
11087         remember eh_ptr.
11088         (struct frame_state, __frame_state_for): New.
11089
11090 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11091
11092         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
11093         HANDLE_SYSV_PRAGMA): Define.
11094         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
11095         previous args.
11096         (copy_object): Caller changed.
11097
11098 2001-07-19  Andreas Schwab  <schwab@suse.de>
11099
11100         * configure.in (assembler dwarf2 debug_line support): Define nop
11101         insn for m68k.
11102         * configure: Regenerated.
11103
11104 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
11105
11106         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
11107         dwarfout.h.
11108         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
11109         to conditionally compiled block.
11110         (dbx_debug_hooks, xcoff_debug_hooks): Update.
11111         * dbxout.h (dbxout_function): Remove.
11112         * debug.c (do_nothing_debug_hooks): Update.
11113         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
11114         global_decl, deferred_inline_function.
11115         * dwarf2out.c (dwarf2_debug_hooks): Update.
11116         (dwarf2out_global_decl): New.
11117         * dwarfout.c: Don't include dwarfout.h.
11118         (dwarfout_global_decl, dwarfout_function_decl,
11119         dwarfout_deferred_inline_function): New.
11120         (dwarf_debug_hooks): Update.
11121         * dwarfout.h: Remove.
11122         * final.c: Don't include dwarfout.h.
11123         * sdbout.c (sdbout_global_decl): New.
11124         (sdbout_debug_hooks): Update.
11125         * toplev.c: Don't include dwarfout.h.
11126         (check_global_declarations, rest_of_compilation): Use new debug hooks.
11127         (note_deferral_of_defined_inline_function): Remove.
11128         * toplev.h (note_deferral_of_defined_inline_function): Remove.
11129         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
11130         * ch/lex.c: Don't include dwarfout.h.
11131         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
11132         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
11133         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
11134         * cp/optimize.c: Include debug.h.
11135         (maybe_clone_body): Use debug hook.
11136         * cp/semantics.c: Include debug.h.
11137         (expand_body): Use debug hook.
11138         * po/POTFILES.in: Remove dwarfout.h.
11139
11140 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
11141
11142         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
11143         * c-parse.in (yyerror, _yylex): Similarly.
11144         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
11145         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
11146         Update comments.
11147         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
11148         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
11149
11150 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
11151
11152         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
11153         in-class declaration at -g1.  Fixes c++/2814.
11154
11155 2001-07-18  Richard Henderson  <rth@redhat.com>
11156
11157         * doc/md.texi (reload_in/out): Document restrictions in predicates
11158         and constraints for these patterns.  Document empty string matching
11159         ALL_REGS.
11160
11161 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11162
11163         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
11164
11165 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
11166
11167         * cse.c: Undo my previous patch.
11168
11169 2001-07-18  Tom Tromey  <tromey@redhat.com>
11170
11171         For PR java/2812:
11172         * configure: Rebuilt.
11173         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
11174         instead.
11175         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
11176
11177 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
11178                                 Jan Hubicka  <jh@suse.cz>
11179
11180         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
11181         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
11182         * jump.c (mark_jump_label): Do not forward branches.
11183
11184 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
11185
11186         * cse.c (delete_trivially_dead_insns): Delete the libcall block
11187         when return value is unused.
11188
11189 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
11190
11191         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
11192
11193 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
11194
11195         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
11196         on error.  We can't blindly return the result of
11197         pthread_mutex_trylock because it returns a positive number on
11198         error, while we must return -1 on error.
11199         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
11200         fixes.
11201         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
11202
11203 2001-07-18  Andreas Jaeger  <aj@suse.de>
11204
11205         * integrate.c (output_inline_function): Correct type of debug_hooks.
11206
11207 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
11208
11209         * combine.c (combine_simplify_rtx): DIV can be treated
11210         associatively for floats if unsafe math optimisations are enabled.
11211
11212 2001-07-17  Richard Henderson  <rth@redhat.com>
11213
11214         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
11215
11216 2001-07-17  Richard Henderson  <rth@redhat.com>
11217
11218         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
11219         don't force the function address into a register.
11220         (expand_call, emit_library_call_value_1): Update callers.
11221         * builtins.c (expand_builtin_apply): Likewise.
11222         * expr.h (prepare_call_address): Update decl.
11223
11224 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
11225
11226         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
11227         config directory.
11228         * config/i386/chorus.h: Move up.
11229         * config/sparc/chorus.h: Likewise.
11230         * config/rs6000/chorus.h: Likewise.
11231         * config/chorus.h: Moved here.
11232
11233 2001-07-17  Andreas Schwab  <schwab@suse.de>
11234
11235         * configure.in  (assembler eh_frame optimization): Handle big
11236         endian.
11237         * configure: Regenerated.
11238
11239 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
11240
11241         * expr.c (epxand_expr): Convert divisions into multiplications by
11242         reciprocals if -ffast-math.
11243
11244 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
11245
11246         * dbxout.c (dbxout_really_begin_function): Rename to
11247         dbxout_begin_function.
11248         (dbx_debug_hooks, xcoff_debug_hooks): Update.
11249         (dbxout_begin_function): Remove.
11250         (dbxout_function): Update.
11251         (dbxout_source_line): Update prototype.
11252         * dbxout.h (dbxout_begin_function): Remove.
11253         * debug.c (do_nothing_debug_hooks): Update.
11254         (debug_nothing_tree): Update.
11255         (debug_nothing_charstar_rtx): Remove.
11256         * debug.h (union tree_node): Declare.
11257         (struct rtx_def): Remove.
11258         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
11259         begin_function.  Change source_line prototype.
11260         (debug_nothing_tree): New.
11261         (debug_nothing_charstar_rtx): Delete.
11262         (dwarf2out_begin_prologue): Moved from ...
11263         * tree.h: ... here.
11264         * dwarf2out.c (dwarf2_debug_hooks): Update.
11265         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
11266         debug info, call dwarf2out_source_line.
11267         (dwarf2out_souce_line): Update prototype.
11268         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
11269         Change prototype, make static.
11270         (dwarfout_source_line): Update prototype.
11271         (dwarf_debug_hooks): Update.
11272         * dwarfout.h (dwarfout_begin_function): Remove.
11273         * final.c (final_start_function, final_scan_insn): Use appropriate
11274         debug hooks, update to use notice_source_line.
11275         (output_source_line): Rename notice_source_line.  Don't call the
11276         source_line debug hook.
11277         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
11278         make static, update prototype.
11279         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
11280         prototype.
11281         (sdbout_end_prologue): New.
11282         (sdbout_source_line): Update prototype.
11283         (sdbout_debug_hooks): Update.
11284         (sdbout_symbol): Remove unused var.
11285         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
11286         Delete.
11287         * varasm.c: Include debug.h.
11288         (assemble_start_function): Use begin_function debug_hook.
11289         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
11290         update with prototype.
11291         (xcoffout_source_line): Update prototype.
11292         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
11293         update prototype.
11294         (xcoffout_source_line): Update prototype.
11295
11296 2001-07-17  Richard Henderson  <rth@redhat.com>
11297
11298         * c-typeck.c (build_binary_op): Do not shorten unsigned
11299         right shift after sign extension.
11300
11301 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
11302
11303         * combine.c (combine_simplify_rtx): Attempt to simplify
11304         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
11305
11306         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
11307         (simplify_binary_operation, simplify_unary_operation,
11308          simplify_relational_operation): Use it.
11309
11310         * combine.c (combine_simplify_rtx): Don't do associative law
11311         on divisions; allow associative law on floats.
11312
11313 2001-07-17  H.J. Lu <hjl@gnu.org>
11314             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11315
11316         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
11317         ASM_OUTPUT_WEAK_ALIAS are defined.
11318         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
11319         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
11320         Moved ...
11321         * config/mips/iris5.h: ... here.
11322         (HANDLE_SYSV_PRAGMA): Defined as 1.
11323         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
11324         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
11325         symbol.
11326
11327 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
11328
11329         * c-parse.in (all_prefix_attributes): New variable.
11330         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
11331         (maybe_resetattrs): New production.
11332         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
11333         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
11334         notype_initdcl, nested_function, notype_nested_function,
11335         component_decl, components, components_notype,
11336         component_declarator, component_notype_declarator,
11337         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
11338         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
11339         after a comma being applied to more than one declarator.
11340         * doc/extend.texi (Attribute Syntax): Update.  Remove
11341         documentation of bugs that are no longer present.
11342
11343 2001-07-13  Eric Christopher  <echristo@redhat.com>
11344
11345         * config/mips/mips.h: Change TUNE_MIPS* options to use
11346         mips_tune.
11347         (EXTRA_SPECS): Add cc1_cpu_spec.
11348         * config/mips/mips.md (muldf3): Fix typo.
11349
11350 2001-07-16  Richard Henderson  <rth@redhat.com>
11351
11352         * config/m68k/m68k.c: Include expr.h and reload.h.
11353         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
11354         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
11355
11356 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
11357             Richard Henderson  <rth@redhat.com>
11358
11359         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
11360         (insn_live_p): Fix fall off end of function.
11361         (dead_libcall_p): Remove COUNTS argument; update callers.
11362         (delete_trivially_dead_insns): Remove unused variables.
11363
11364 2001-07-17  Andreas Jaeger  <aj@suse.de>
11365
11366         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
11367         x86-64 pic support.
11368
11369         * lcm.c (optimize_mode_switching): Avoid warning for unused
11370         variable if !NORMAL_MODE.
11371
11372         * flow.c (try_crossjump_to_edge): Remove unused variable.
11373
11374 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11375
11376         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
11377         atexit declaration in stdlib.h.
11378
11379 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
11380
11381         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
11382
11383 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
11384
11385         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
11386         * except.c (finish_eh_generation): Update call of cleanup_cfg;
11387         do rebuild_jump_labels instead of jump_optimize
11388         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
11389         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
11390         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
11391
11392         * flow.c: Include timevar.h
11393         (find_basic_block): Push/pop timevar;
11394         (cleanup_cfg): Likewise.
11395         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
11396         * Makefile: Add dependencies on timevar.h
11397
11398         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
11399         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
11400
11401         * rtl.h (delete_trivially_dead_insns): Add new parameter.
11402         * toplev.c (rest_of_compilation): Update calls.
11403         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
11404         (delete_trivially_dead_insns): ... here; accept new argument
11405         preserve_basic_blocks; preserve basic blocks if set.
11406
11407         * reg-stack.c (stack_regs_mentioned): Return 0 if
11408         stack_regs_mentioned_data is not initialized.
11409         (reg_to_stack): Make stack_regs_mentioned survive after the
11410         reg-stack is completted; do not call cleanup_cfg.
11411         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
11412         make cleanup_cfg after bb-reorder to output to debug file.
11413
11414 2001-07-16  Richard Henderson  <rth@redhat.com>
11415
11416         * regclass.c (init_reg_sets): Use only 32 bits per initializer
11417         from int_reg_class_contents.
11418
11419 2001-07-16  Richard Henderson  <rth@redhat.com>
11420
11421         * hard-reg-set.h (regs_invalidated_by_call): Declare.
11422         * regclass.c (regs_invalidated_by_call): Move from cse.c.
11423         (init_reg_sets_1): Move initialization from cse_main.
11424         * cse.c (regs_invalidated_by_call): Move to regclass.c.
11425         (cse_main): Move its initialization also.
11426         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
11427         * flow.c (propagate_one_insn): Likewise.
11428         * gcse.c (compute_hash_table): Likewise.
11429         (compute_kill_rd, compute_store_table): Likewise.
11430         * sched-deps.c (sched_analyze_1): Likewise.
11431
11432 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
11433
11434         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
11435         gen_rtx_SET.
11436
11437 2001-07-16  Steve Ellcey <sje@cup.hp.com>
11438
11439         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
11440         in if statement so we don't access undefined memory.
11441
11442 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
11443
11444         * gcse.c: Update comment at top.
11445         Update comment on mem handling.
11446         mem_last_set, mem_first_set, mem_set_in_block: gone.
11447         Declaration of reg_set_info: gone.
11448         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
11449         pointless with load_killed_in_block_p (they are *more*
11450         conservative then it, not less, and less accurate).
11451         (oprs_not_set_p): Ditto.
11452         (alloc_gcse_mem): Don't allocate mem_set_in_block
11453         (free_gcse_mem): Don't free it, either.
11454         (record_last_mem_set_info): Update comment in front, remove
11455         mem_*set_* stuff. Note the reason we don't handle stores directly
11456         here.
11457         (compute_hash_table): Update comments to reflect reality. Remove
11458         mem_*set_* references.
11459         (reset_opr_set_tables): Remove mem_*set_* references.
11460         (mark_call): Ditto.
11461         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
11462         (mark_clobber): Ditto (on both parts, we double set here too).
11463         (expr_killed_p): Remove mem_set_in_block test.
11464         (compute_transp): Remove mem_set_in_block test.
11465
11466         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
11467         of edge, and removal of phi alternative to dump file.
11468         (ssa_ccp_substitute_constants): Add note about register now being
11469         constant, and which uses were replaced in what insns to dump file.
11470
11471 2001-07-16  Andreas Jaeger  <aj@suse.de>
11472
11473         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
11474         variables of type HOST_WIDEST_INT.
11475
11476         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
11477         (__bb_exit_func): Correct type of count_max to avoid overflow.
11478         (num_digits): Handle long long argument.
11479
11480         * combine.c (gen_lowpart_for_combine): Remove unused variable.
11481
11482 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11483
11484         * output.h (sdb_begin_function_line): Restore as an extern
11485         variable.
11486         * sdbout.c (sdb_begin_function_line): Make extern.
11487
11488 2001-07-15  Richard Henderson  <rth@redhat.com>
11489
11490         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
11491         * genrecog.c (maybe_both_true_mode): New.
11492         (maybe_both_true_2): Use it.
11493         (write_switch): Don't put Pmode in a switch.
11494         * rtl.c (mode arrays): Don't explicitly size them.
11495
11496 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
11497
11498         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
11499         handling; move unconditional splitting before mode switching.
11500
11501         * i386.md (type): Add fistp type.
11502         (i387, length_attr, scheduling definitions): Handle this type.
11503         (fix_trunc?f?i2): Revamp to use mode switching.
11504         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
11505         * i386.h (fp_cw_mode): New enum
11506         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
11507         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
11508
11509 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11510
11511         * Makefile.in (integrate.o): Add debug.h.
11512         * integrate.c (debug.h): Add.
11513         (output_inline_function): Save, reset, and restore debug_hooks.
11514
11515 2001-07-15  Richard Henderson  <rth@redhat.com>
11516
11517         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
11518         instead of COMPARE for the EQUIV expression.
11519
11520 2001-07-15  Richard Henderson  <rth@redhat.com>
11521
11522         * flow.c (redirect_edge_and_branch_force): Initialize
11523         global_live_at_start and global_live_at_end.
11524         (allocate_bb_life_data): Export.
11525         * basic-block.h (allocate_bb_life_data): Declare.
11526         * toplev.c (rest_of_compilation): Call it.
11527
11528 2001-07-15  Richard Henderson  <rth@redhat.com>
11529
11530         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
11531         (alpha_tablejump_best_label): New.
11532         * config/alpha/alpha-protos.h: Declare them.
11533         * config/alpha/alpha.md: Use braced strings for code blocks.
11534         (tablejump_osf): Break out add with r29.
11535         (tablejump_osf_internal): Remove.
11536         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
11537         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
11538
11539 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
11540
11541         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
11542         of the movable.
11543
11544         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
11545
11546         * i386-protos.h (ix86_split_fp_branch): Update prototype.
11547         (ix86_fp_jump_nontrivial_p): New.
11548         * i386.md (fp_jcc_?): Update call of split_fp_branch;
11549         use ix86_fp_jump_nontrivial_p.
11550         * i386.c (ix86_fp_jump_nontrivial_p): New.
11551         (ix86_split_fp_branch): Accept code instead of rtx.
11552         (ix86_expand_compare): Expand comparison early in case
11553         doing so is resonably cheap.
11554
11555 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
11556
11557         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
11558         not 'machine'.
11559         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
11560         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
11561
11562 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
11563
11564         * dbxout.c (dbxout_source_line): Make static, update prototype.
11565         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
11566         (dbxout_init, dbxout_finish, dbxout_source_line,
11567         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
11568         * dbxout.h (dbxout_source_line): Delete.
11569         * debug.c (debug_nothing_file, debug_nothing_file_int,
11570         debug_nothing_file_charstar_rtx): New.
11571         (do_nothing_debug_hooks): Update.
11572         (debug_nothing_void, debug_nothing_charstar_rtx,
11573         dwarf2out_end_epilogue): New.
11574         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
11575         * debug.h (struct rtx_def): Declare.
11576         (gcc_debug_hooks): New hooks source_line, end_epilogue
11577         and end_function.
11578         (debug_nothing_void, debug_nothing_charstar_rtx,
11579         dwarf2out_end_epilogue): New.
11580         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
11581         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
11582         (dwarf2_debug_hooks): Update.
11583         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
11584         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
11585         * dwarf2out.h (dwarf2out_source_line): Remove.
11586         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
11587         Make static, update prototype.
11588         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
11589         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
11590         (dwarf_debug_hooks): Update.
11591         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
11592         dwarfout_end_function): Remove.
11593         * final.c (profile_function): Use debug hooks for ending functions
11594         and epilogues.
11595         (output_source_line, final_end_function): Update prototype,
11596         use debug hooks.
11597         (final_start_function, final_scan_insn): Update.
11598         * output.h (sdb_begin_function_line): Remove.
11599         (final_end_function): Update prototype.
11600         * sdbout.c (sdb_begin_function_line): Make static.
11601         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
11602         (sdbout_source_line): New.
11603         (sdbout_end_epilogue, sdbout_end_function): Make static, update
11604         prototypes.
11605         (sdb_debug_hooks): Update.
11606         (sdbout_init, sdbout_source_line,
11607         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
11608         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
11609         * toplev.c (compile_file, rest_of_compilation): Update.
11610         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
11611         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
11612         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
11613         Update for prototype changes.
11614         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
11615         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
11616
11617 2001-07-15  Richard Henderson  <rth@redhat.com>
11618
11619         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
11620         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
11621         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
11622         * config/alpha/alpha.c: Likewise.
11623         * config/alpha/alpha.md: Likewise.
11624         * config/alpha/alpha32.h: Likewise.
11625         * config/alpha/vms.h: Likewise.
11626         (OPEN_VMS): Remove.
11627
11628 2001-07-14  Richard Henderson  <rth@redhat.com>
11629
11630         * config/alpha/alpha.md: Use define_constants for unspec values.
11631         Substitute throughout.
11632
11633 2001-07-14  Tim Josling  <tej@melbpc.org.au>
11634
11635         * tree.def (EXPON_EXPR) remove. Never supported anyway.
11636
11637 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11638
11639         * pa.md: Remove unused constraints from define_split's.
11640
11641 2001-04-14  Richard Henderson  <rth@redhat.com>
11642
11643         * ifcvt.c (find_cond_trap): Test for exit block.
11644
11645 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
11646
11647         Re-install recently reverted patch.
11648         * emit-rtl.c (try_split): Update mark_jump_label call.
11649         * flow.c (find_sub_basic_blocks): Likewise.
11650         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
11651         jump_back_p): Kill.
11652         (mark_all_labels): Kill second parameter.
11653         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
11654         (rebuild_jump_labels, jump_optimize_minimal): Update call
11655         of jump_optimize_1.
11656         (jump_optimize_1): Kill crossjumping code.
11657         (mark_jump_label): Kill cross_jump parameter.
11658         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
11659         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
11660         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
11661          splitting.
11662         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
11663         DFI_bpro.
11664         (dump_file_info): Likewise.
11665         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
11666         reorganize passes to do reg-stack first, bb-reorder second.
11667         * invoke.texi (-d letters doc): Remove the jump2 pass.
11668
11669 2001-07-14  Richard Henderson  <rth@redhat.com>
11670
11671         * ifcvt.c (find_cond_trap): New.
11672         (find_if_header): Call it.
11673         (merge_if_block): Relax existing jump sanity check.
11674         * jump.c (jump_optimize_1): Remove conditional trap handling.
11675
11676 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
11677
11678         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
11679         millicode.
11680         (insn_refs_are_delayed): Correct comment.
11681         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
11682         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
11683         instead of r31.  Make associated insn !TARGET_64BIT, and
11684         provide an additional 64-bit insn that clobbers r2.
11685         (divsi3): Likewise.
11686         (udivsi3): Likewise.
11687         (modsi3): Likewise.
11688         (umodsi3): Likewise.
11689
11690 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
11691
11692         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
11693
11694         * flow.c (redirect_edge_and_branch_force, split_edge,
11695         try_crossjump_to_edge): Use set_block_for_new_insns.
11696         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
11697
11698 2001-07-13  H.J. Lu  (hjl@gnu.org)
11699
11700         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
11701         the correct patch.
11702
11703 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
11704
11705         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
11706
11707 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
11708
11709         * c-common.c (decl_attributes): Take a pointer to the node to
11710         which attributes are to be attached, and a flags argument.
11711         * c-common.h (enum attribute_flags): New.
11712         (decl_attributes): Update prototype.
11713         * c-decl.c (start_decl, push_parm_decl, finish_struct,
11714         finish_enum, start_function): Update calls to decl_attributes.
11715         * c-parse.in (component_declarator, component_notype_declarator,
11716         label): Update calls to decl_attributes.
11717
11718 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
11719
11720         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
11721         * config/avr/avr.c (legitimate_address_p): Return value changed
11722         from letter to register classes. For better debugging.
11723
11724 2001-07-13  Kazu Hirata  <kazu@hxi.com>
11725
11726         * jump.c (reversed_comparison_code_parts): Fix comment typos.
11727
11728 2001-07-13  H.J. Lu  (hjl@gnu.org)
11729
11730         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
11731
11732 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
11733
11734         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
11735         correctly for shared configurations.
11736         * config/t-libgcc-pic:  New.
11737         * config/{i386,m68k,sparc}/t-openbsd:  New.
11738         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
11739         Support -shared.  Support debugging libraries with -g.
11740         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
11741         frame information does not emit pointer diffs.
11742         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
11743         emit pointer diffs.
11744
11745 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
11746
11747         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
11748
11749 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
11750
11751         * combine.c (try_combine): Ensure const_int pow2 is positive.
11752
11753 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
11754
11755         * config.gcc: Add configuration for s/390.
11756         * config/s390/s390.c: New. Subroutines for code generation.
11757         * config/s390/s390.h: New. Definitions for s/390.
11758         * config/s390/s390-protos.h: New. Prototypes.
11759         * config/s390/linux.h: New. Definitions for linux for s/390.
11760         * config/s390/linux64.h: New. Definitions for linux for zSeries.
11761         * config/s390/t-linux: New. Makefile fragment.
11762         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
11763         * config/s390/fixdfdi.h: New. Fix L_fix*di.
11764
11765 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
11766
11767         * emit-rtl.c (try_split): Update mark_jump_label call.
11768         * flow.c (find_sub_basic_blocks): Likewise.
11769         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
11770         jump_back_p): Kill.
11771         (mark_all_labels): Kill second parameter.
11772         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
11773         (rebuild_jump_labels, jump_optimize_minimal): Update call
11774         of jump_optimize_1.
11775         (jump_optimize_1): Kill crossjumping code.
11776         (mark_jump_label): Kill cross_jump parameter.
11777         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
11778         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
11779         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
11780          splitting.
11781         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
11782         DFI_bpro.
11783         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
11784         reorganize passes to do reg-stack first, bb-reorder second.
11785         * invoke.texi (-d letters doc): Remove the jump2 pass.
11786
11787 2001-07-12  Steve Ellcey <sje@cup.hp.com>
11788
11789         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
11790
11791 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
11792
11793         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
11794         basic blocks.
11795         (verify_flow_info): Make diagnostics prettier.
11796
11797 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
11798
11799         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
11800
11801         * flow.c (outgoing_edges_match): Return early if condition reversal
11802         failed.
11803
11804 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
11805
11806         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
11807         (mips_move_2words): When splitting a move into two instructions,
11808         prefix the second address operand with '%D'.
11809
11810 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
11811
11812         * Makefile.in (final.o): Depend on debug.h.
11813         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
11814         (dbx_debug_hooks): Add new hooks.
11815         (xcoff_debug_hooks): New.
11816         * debug.c (debug_nothing_file_int_int): New.
11817         (do_nothing_debug_hooks): Update.
11818         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
11819         (debug_nothing_file_int_int): New.
11820         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
11821         static, update prototype.
11822         (dwarf2_debug_hooks): Update.
11823         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
11824         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
11825         static, update prototype.
11826         (dwarf_debug_hooks): Update.
11827         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
11828         * final.c: Include debug.h.
11829         (final_scan_insn): Use debug hooks when beginning and ending blocks.
11830         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
11831         static, update prototype.
11832         (sdb_debug_hooks): Update.
11833         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
11834         * toplev.c: Distinguish between xcoff and dbx.
11835
11836         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
11837         Call all debug hooks, not just dwarf ones.
11838
11839 2001-07-11  Timothy Wall  <twall@redhat.com>
11840
11841         * config.gcc: Add configuration for AIX5/IA64.
11842         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
11843         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
11844         support prefix/suffix code.
11845         * config/ia64/t-aix: New.  Makefile fragment.
11846         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
11847
11848 2001-07-11  Kazu Hirata  <kazu@hxi.com>
11849
11850         * recog.c (validate_change): Fix a comment typo.
11851
11852 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11853
11854         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
11855         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
11856         hooks directly.
11857         * dbxout.c (dbx_debug_hooks): Add new hooks.
11858         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
11859         make static.
11860         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
11861         make static.
11862         * dbxout.h (dbxout_start_new_source_file,
11863         dbxout_resume_previous_source_file): Delete.
11864         * debug.c (do_nothing_debug_hooks): Add new hooks.
11865         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
11866         (debug_nothing_int_charstar, debug_nothing_int): New.
11867         * debug.h (gcc_debug_hooks): New hooks define, undef,
11868         start_source_file and end_source_file.
11869         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
11870         (debug_nothing_int_charstar, debug_nothing_int): New.
11871         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
11872         the conditionally compiled section.
11873         (dwarf2out_start_source_file, dwarf2out_end_source_file,
11874         dwarf2out_define, dwarf2out_undef): Make static.
11875         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
11876         dwarf2out_define, dwarf2out_undef): Remove.
11877         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
11878         (dwarfout_start_source_file, dwarfout_end_source_file,
11879         dwarfout_define, dwarfout_undef): Make static.
11880         (dwarfout_start_source_file_check,
11881         dwarfout_end_source_file_check): New.
11882         (dwarfout_define, dwarfout_finish): Update.
11883         * dwarfout.h (dwarfout_start_new_source_file,
11884         dwarfout_resume_previous_source_file, dwarfout_define,
11885         dwarfout_undef): Remove.
11886         * sdbout.c (sdb_debug_hooks): Add new hooks.
11887         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
11888         make static.
11889         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
11890         make static, take an arg.
11891         * sdbout.h (sdbout_start_new_source_file,
11892         sdbout_resume_previous_source_file): Delete.
11893         * toplev.c (debug_start_source_file, debug_end_source_file,
11894         debug_define, debug_undef): Delete.
11895         * toplev.h (debug_start_source_file, debug_end_source_file,
11896         debug_define, debug_undef): Delete.
11897
11898         * java/jcf-parse.c: Include debug.h.
11899         (parse_class_file): Update to use debug hooks directly.
11900         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
11901
11902 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11903
11904         * alias.c (set_mem_alias_set): New function.
11905         * rtl.h (set_mem_alias_set): Declare it.
11906         * builtins.c (expand_builtin_return_addr): Call it instead of
11907         using MEM_ALIAS_SET accessor.
11908         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
11909         (get_memory_rtx, expand_builtin_va_arg): Likewise.
11910         (expand_builtin_va_copy):Likewise.
11911         * caller-save.c (setup_save_areas): Likewise.
11912         * calls.c (compute_argument_addresses): Likewise.
11913         * explow.c (set_mem_attributes): Likewise.
11914         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
11915         (expand_assignment, store_constructor_field, store_field): Likewise.
11916         (expand_expr_unaligned): Likewise.
11917         * function.c (assign_stack_temp_for_type): Likewise.
11918         (put_reg_into_stack, gen_mem_addressof): Likewise.
11919         * ifcvt.c (noce_try_cmove_arith): Likewise.
11920         * reload1.c (reload, alter_reg): Likewise.
11921         * config/alpha/alpha.c (get_aligned_mem): Likewise.
11922         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
11923         (alpha_expand_unaligned_store): Likewise
11924         (alpha_expand_unaligned_load_words): Likewise.
11925         (alpha_expand_unaligned_store_words): Likewise.
11926         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
11927         (alpha_expand_epilogue): Likewise.
11928         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
11929         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
11930         * config/i386/i386.c (legitimize_pic_address): Likewise.
11931         * config/i960/i960.c (setup_incoming_varargs): Likewise.
11932         * config/ia64/ia64.c (spill_restore_mem): Likewise.
11933         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
11934         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
11935         * config/mips/mips.c (mips_va_arg): Likewise.
11936         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
11937         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
11938         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
11939         (setup_incoming_varargs, rs6000_va_arg): Likewise.
11940         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
11941         (rs6000_emit_epilogue): Likewise.
11942         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
11943         * config/sparc/sparc.c (sparc_va_arg): Likewise.
11944         * config/v850/v850.c (v850_va_arg): Likewise.
11945
11946 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
11947
11948         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
11949         when fallthru edge is present.
11950         (mege_blocks): Handle case where creation of jump insn
11951         is required.
11952
11953         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
11954         CLEANUP_POST_REGSTACK): New constants.
11955         * except.c (finish_eh_generation): Update call of cleanup_cfg,
11956         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
11957         * output.h (cleanup_cfg): Update prototype.
11958         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
11959         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
11960         cleanup_cfg call; kill missleading comment.
11961         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
11962         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
11963         parameter; control optimizations performed using it.
11964         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
11965         try_crossjump_bb): New functions.
11966
11967 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11968
11969         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
11970         extern.
11971         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
11972         pa_output_function_prologue.
11973         * pa-protos.h (pa_output_function_prologue): New prototype.
11974
11975 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11976
11977         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
11978         and low to get correct sign extension in low+high test.
11979
11980 2001-07-11  Janis Johnson <janis@us.ibm.com>
11981
11982         * gcov.c (arcdata): Use gcov_type to fix branch percentage
11983         for large hit count.
11984
11985         * profile.c (branch_prob): Fix .bbg info for computed gotos
11986         and C++ EH code.
11987
11988 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
11989
11990         * stmt.c (parse_output_constraint): New function, split out
11991         from ...
11992         (expand_asm_operands): ... here.  Use parse_output_constraint.
11993         * tree.h (parse_output_constraint): Declare it.
11994
11995 2001-07-11  Richard Henderson  <rth@redhat.com>
11996
11997         * bitmap.c: Comment some functions; fiddle whitespace.
11998         (bitmap_free): Don't export.
11999         (bitmap_element_allocate): Use memset.
12000         * bitmap.h (bitmap_free): Don't declare.
12001
12002 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
12003
12004         * gcse.c, lcm.c, sched-deps.c:
12005         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
12006
12007         * flow.c (flow_loops_find): Free dom if we found no loops, since
12008         we aren't going to save it.
12009
12010         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
12011         done.
12012
12013 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
12014
12015         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
12016
12017 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12018
12019         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
12020         #ifndef DWARF2_DEBUGGING_INFO.
12021
12022 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
12023
12024         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
12025
12026 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
12027
12028         * config/mips/mips.c (gen_int_relational): Tell the caller not to
12029         reverse a branch if a NE comparison is implemented with GTU.
12030
12031 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
12032             H.J. Lu  <hjl@gnu.org>
12033
12034         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
12035         constant addresses.
12036         (call_internal2): Likewise.
12037         (call_value_internal1): Likewise.
12038         (call_value_internal2): Likewise.
12039         (call_value_multiple_internal1): Likewise.
12040         (call_value_multiple_internal2): Likewise.
12041
12042 2001-07-10  Kazu Hirata  <kazu@hxi.com>
12043
12044         * calls.c (emit_library_call_value_1): Fix a comment typo.
12045         * dwarf2out.c (mem_loc_descriptor): Likewise.
12046         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
12047
12048 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
12049
12050         * simplify-rtx.c (simplify_subreg): Fix typo in comment
12051
12052 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12053
12054         * recog.c (offsettable_address_p): Handle LO_SUM case.
12055         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
12056         instead of plus_constant.
12057
12058 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12059
12060         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
12061         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
12062
12063 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12064
12065         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
12066         adjust_address_nv instead of plus_constant.
12067
12068 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
12069
12070         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
12071         dwarf2out.o): Depend on debug.h, wrap long lines.
12072         * dbxout.c: Include debug.h.
12073         (dbx_debug_hooks): New.
12074         (dbxout_init): Make static, take just 2 args.
12075         (dbxout_finish): Make static.
12076         * dbxout.h (dbxout_init, dbxout_finish): Delete.
12077         * debug.c: New file.
12078         * debug.h: New file.
12079         * dwarf2out.c: Include debug.h.
12080         (dwarf2_debug_hooks): New.
12081         (dwarf2out_init): Make static.
12082         (dwarf2out_finish): Make static, take 2 args.
12083         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
12084         * dwarfout.c: Include debug.h.
12085         (dwarf_debug_hooks): New.
12086         (dwarfout_init): Make static.
12087         (dwarfout_finish): Make static, take 2 args.
12088         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
12089         * sdbout.c: Include debug.h.
12090         (sdb_debug_hooks): New.
12091         (sdbout_init): Make static, take 2 args.
12092         * sdbout.h (sdbout_init): Delete.
12093         * toplev.c: Include debug.h.
12094         (debug_hooks): New.
12095         (compile_file): Set deubg_hooks based on command line options.
12096         Use the hooks unconditionally rather than conditional compilation.
12097
12098 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
12099
12100         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
12101         first_insn_after_basic_block_note instead.
12102
12103         * df.c (df_bb_refs_unlink): #if 0 out for now.
12104
12105 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
12106
12107         * ssa.h: Add prototype for ssa_const_prop
12108         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
12109         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
12110         (ssa_fast_dce): Remove unused variable
12111
12112 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
12113
12114         * diagnostic.c (finish_diagnostic): Rename to
12115         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
12116         calls thourghout.
12117
12118 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
12119
12120         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
12121         .loc support.
12122
12123         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
12124         (dump_file): Only pad the demangled name with spaces if the
12125         mangled name was padded with spaces.
12126
12127 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
12128
12129         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
12130         edge detection.
12131
12132 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12133
12134         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
12135         extraction if no direct load if either EXPAND_CONST_ADDRESS or
12136         EXPAND_INITIALIZER.
12137
12138         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
12139         whether can put offset inside LO_SUM to check mode alignment, not size.
12140
12141 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
12142
12143         * doc/tm.texi (Misc): Fix thinko.
12144
12145 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
12146
12147         * regmove.c (replace_in_call_usage): Fix warnings.
12148         * sched-deps.c (add_dependence): Fix warnings.
12149         * simplify-rtx.c (simplify_subreg): Likewise.
12150         Return NULL_RTX instead of NULL.
12151
12152         * reg-stack.c (emit_swap_insn): Eliminate warnings.
12153         (subst_asm_stack_regs): Likewise.
12154
12155         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
12156         warnings.
12157
12158         * dwarf2out.c (output_call_frame_info): Declare i as int.
12159         (build_abbrev_table): Declare n_alloc as int.
12160         (dwarf2out_finish): Initialize die.
12161         * except.c: Declare sjlj_funcdef_number as unsigned.
12162         (connect_post_landing_pads): Declare j as unsigned.
12163         (convert_to_eh_region_ranges): Initialize call_site.
12164         (output_function_exception_table): Initialize tt_format_size.
12165         * expr.c (move_by_pieces_1): Initialize to1.
12166         (store_constructor): Initialize minelt and maxelt.
12167         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
12168         * function.c (instantiate_decls): Avoid signed/unsigned warning.
12169
12170         * c-decl.c (combine_parm_decls): Unused, remove.
12171         * c-tree.h: Remove prototype for combine_parm_decls.
12172
12173         * reload.c (push_reload): Fix warning.
12174         (regno_clobbered_p): Likewise.
12175         * reload1.c (replace_pseudos_in_call_usage): Likewise.
12176         (reload_combine): Likewise.
12177
12178         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
12179         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
12180         warnings.
12181         * bitmap.c (bitmap_operation): Change user.
12182         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
12183
12184 2001-07-10  Eric Christopher  <echristo@redhat.com>
12185
12186         * config/mips/mips.c (override_options): Fix typo.
12187
12188 2001-07-09  Stan Shebs  <shebs@apple.com>
12189
12190         * target.h (struct gcc_target): New fields init_builtins and
12191         expand_builtin.
12192         * target-def.h (TARGET_INIT_BUILTINS): New macro.
12193         (TARGET_EXPAND_BUILTIN): New macro.
12194         (TARGET_INITIALIZER): Add them.
12195         * builtins.c: Include target.h.
12196         (expand_builtin): Use targetm.expand_builtin.
12197         (default_init_builtins): New function.
12198         (default_expand_builtin): New function.
12199         * expr.h (default_init_builtins): Declare.
12200         (default_expand_builtin): Declare.
12201         * c-common.c (c_common_nodes_and_builtins): Use
12202         targetm.init_builtins.
12203         * defaults.h (MD_INIT_BUILTINS): Remove.
12204         * Makefile.in (builtins.o): Depend on target.h.
12205
12206         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
12207         (TARGET_EXPAND_BUILTIN): Define.
12208         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
12209         (MD_EXPAND_BUILTIN): Remove.
12210
12211         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
12212         (TARGET_EXPAND_BUILTIN): Define.
12213         (c4x_init_builtins): Make endlink arg a local.
12214         (c4x_print_operand): Fix typos in adjust_address usages.
12215         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
12216         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
12217         (MD_EXPAND_BUILTIN): Remove.
12218
12219         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
12220         (TARGET_EXPAND_BUILTIN): Define.
12221         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
12222         (ix86_init_builtins): Call new function only if TARGET_MMX.
12223         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
12224         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
12225         (MD_EXPAND_BUILTIN): Remove.
12226
12227         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
12228         (TARGET_EXPAND_BUILTIN): Define.
12229         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
12230         (MD_EXPAND_BUILTIN): Remove.
12231
12232         * doc/tm.texi: Document these changes.
12233
12234 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
12235
12236         * basic-block.h (tree_node): Forward declare if needed.
12237         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
12238         (BLOCK_HEAD_TREE): Define.
12239         (BLOCK_END_TREE): Define.
12240         (struct loops): Rename field 'tree' to 'tree_root'.
12241         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
12242         'end_tree'.
12243         (flow_loops_tree_build): Rename reference to field 'tree' to
12244         'tree_root'.
12245         (flow_loops_level_compute): Ditto.
12246         * predict.c (estimate_bb_frequencies): Ditto.
12247         * tree.h (struct tree_common): Add field 'aux'.
12248
12249 2001-07-09  Stan Shebs  <shebs@apple.com>
12250
12251         * config/darwin.c (darwin_encode_section_info): Don't mark any
12252         DECL_EXTERNAL node as defined.
12253
12254 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12255
12256         * pa.c (pa_init_machine_status, pa_mark_machine_status,
12257         pa_free_machine_status, hppa_init_pic_save): Delete.
12258         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
12259         (hppa_profile_hook): Use hppa_pic_save_rtx.
12260         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
12261         hppa_init_pic_save): Delete.
12262         (hppa_pic_save_rtx): Declare.
12263         * pa.md (call, call_value, sibcall, sibcall_value,
12264         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
12265
12266 2001-07-09  Kazu Hirata  <kazu@hxi.com>
12267
12268         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
12269         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
12270
12271 2001-07-09  Andreas Jaeger  <aj@suse.de>
12272
12273         * output.h: Add declaration of final_forward_branch_p.
12274
12275         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
12276
12277         * varray.c: Include errors.h for internal_error and trim_filename
12278         declarations.
12279
12280         * Makefile.in (varray.o): Add errors.h.
12281
12282 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
12283
12284         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
12285         * optabs.c (have_add2_insn): Check whether the add insn chosen
12286         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
12287         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
12288
12289 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
12290
12291         * Makefile.in (OBJS): Add ssa-ccp.o
12292         (ssa-ccp.o): Add dependencies.
12293         * toplev.c (DFI_ssa_ccp): New dump file enum.
12294         (dump_file): Add entry for dumping after SSA CCP.
12295         (flag_ssa_ccp): New flag variable.
12296         (f_options): Add -fssa-ccp.
12297         (rest_of_compilation): Run SSA CCP if requested.
12298         * timevar.def (TV_SSA_CCP): New timevar.
12299         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
12300         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
12301         Fix minor typo in SSA DCE documentation.
12302         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
12303         Add documentation for new dump option.  Renumber dump files
12304         appropriately.
12305
12306 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
12307
12308         * emit-rtl.c (gen_highpart_mode): New.
12309         * rtl.h (gen_highpart_mode): Declare.
12310         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
12311         operand can be VOIDmode constant.
12312
12313 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
12314
12315         * flow.c (redirect_edge_and_branch_force): New.
12316         (can_fallthru): Ensure that basic blocks are succeeding.
12317         (try_optimize_cfg): Do not delete basic block if it is the last one.
12318
12319         * flow.c (try_redirect_by_replacing_jump): Do not remove
12320         jumps with side effects, unlink chain on fallthru edge;
12321         set block for new jump instruction; avoid basic block to
12322         over by line number note.
12323
12324         * flow.c (try_simplify_condjump): Verify that the condjump
12325         is not always falling through.
12326
12327         Re-install patch:
12328         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
12329
12330         * flow.c (forwarder_block_p): Fix for fallthru blocks.
12331         (try_redirect_by_replacing_jump): Update properly the count
12332         and frequency information.
12333
12334 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12335
12336         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
12337         address that is a LO_SUM specially.
12338         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
12339
12340         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
12341
12342         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
12343         (operand_subword): Use them.
12344         (change_address_1): Renamed from change_address; new arg VALIDATE.
12345         * expr.h: Reflect above changes; change_address now macro.
12346         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
12347         making MEM.
12348         * cselib.c (add_mem_for_addr): Likewise.
12349         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
12350         * regmove.c (try_apply_stack_adjustment): Likewise.
12351         * reload.c (push_reload, make_memloc): Likewise.
12352         * reload1.c (eliminate_regs): Likewise.
12353         * simplify-rtx.c (simplify_replace_rtx): Likewise.
12354         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
12355         adjust_addess.
12356         * combine.c (make_extraction, simplify_shift_const): Likewise.
12357         (gen_lowpart_for_combine): Likewise.
12358         * cse.c (gen_lowpart_if_possible): Likewise.
12359         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
12360         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
12361         * optabs.c (gen_move_insn): Likewise.
12362         * reload1.c (alter_reg): Likewise.
12363         * simplify-rtx.c (simplify_subreg): Likewise.
12364         * stmt.c (expand_anon_union_decl): Likewise.
12365         * recog.c (validate_replace_rtx_1): Likewise.
12366         (expr.h): Include.
12367         * Makefile.in (recog.o): Add $(EXPR_H).
12368         * explow.c (stabilize): Call replace_equiv_address.
12369         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
12370         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
12371
12372 2001-07-03  Andrew Haley  <aph@redhat.com>
12373
12374         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
12375         the mode of the memory location.
12376
12377 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
12378
12379         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
12380
12381 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
12382
12383         * final.c (output_addr_const): Use target opening and
12384         closing parentheses.
12385         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
12386         defaults, add to TARGET_ASM_OUT.
12387         * target.h (struct gcc_target): Add open_paren and close_paren.
12388         * doc/md.texi: Update.
12389         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
12390         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
12391         TARGET_ASM_CLOSE_PAREN.
12392         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
12393         Override.
12394         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
12395         Override.
12396         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
12397         * config/a29k/a29k.h: Similarly.
12398         * config/alpha/alpha.h: Similarly.
12399         * config/arc/arc.h: Similarly.
12400         * config/arm/aof.h: Similarly.
12401         * config/arm/aout.h: Similarly.
12402         * config/avr/avr.h: Similarly.
12403         * config/c4x/c4x.h: Similarly.
12404         * config/clipper/clipper.h: Similarly.
12405         * config/convex/convex.h: Similarly.
12406         * config/d30v/d30v.h: Similarly.
12407         * config/dsp16xx/dsp16xx.h: Similarly.
12408         * config/elxsi/elxsi.h: Similarly.
12409         * config/fr30/fr30.h: Similarly.
12410         * config/h8300/h8300.h: Similarly.
12411         * config/i370/i370.h: Similarly.
12412         * config/i386/i386.h: Similarly.
12413         * config/i860/i860.h: Similarly.
12414         * config/i960/i960.h: Similarly.
12415         * config/ia64/ia64.h: Similarly.
12416         * config/m32r/m32r.h: Similarly.
12417         * config/m68hc11/m68hc11.h: Similarly.
12418         * config/m68k/m68k.h: Similarly.
12419         * config/m88k/m88k.h: Similarly.
12420         * config/mcore/mcore.h: Similarly.
12421         * config/mips/mips.h: Similarly.
12422         * config/mn10200/mn10200.h: Similarly.
12423         * config/mn10300/mn10300.h: Similarly.
12424         * config/ns32k/ns32k.h: Similarly.
12425         * config/pa/pa.h: Similarly.
12426         * config/pdp11/pdp11.h: Similarly.
12427         * config/pj/pj.h: Similarly.
12428         * config/romp/romp.h: Similarly.
12429         * config/rs6000/rs6000.h: Similarly.
12430         * config/sh/sh.h: Similarly.
12431         * config/sparc/sparc.h: Similarly.
12432         * config/v850/v850.h: Similarly.
12433         * config/vax/vax.h: Similarly.
12434         * config/we32k/we32k.h: Similarly.
12435
12436 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
12437
12438         * doc/c-tree.texi: Document representation of attributes.
12439
12440 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
12441
12442         * doc/tm.texi: Update some places for the rename of target to
12443         targetm.  Fix typo.
12444
12445 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
12446
12447         * target.h (struct gcc_target): Add insert_attributes.
12448         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
12449         (TARGET_INITIALIZER): Update.
12450         * tree.c, tree.h (default_insert_attributes): New function.
12451         Update comments on other default functions to refer to targetm,
12452         not target.
12453         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
12454         TARGET_INSERT_ATTRIBUTES.
12455         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
12456         * c-common.c (decl_attributes): Use targetm.insert_attributes.
12457         Don't use PRAGMA_INSERT_ATTRIBUTES.
12458         * Makefile.in (c-common.o): Depend on $(TARGET_H).
12459         * c-decl.c (start_decl, start_function): Don't call
12460         SET_DEFAULT_DECL_ATTRIBUTES.
12461         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
12462         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
12463         declare.
12464         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
12465         (c4x_check_attribute): Avoid modifying attribute list itself.
12466         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
12467         Make static.
12468         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
12469         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
12470         declare.
12471         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
12472         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
12473         Make static.
12474         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
12475         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
12476         declare.
12477         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
12478         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
12479         Adjust parameters.  Make static.
12480
12481 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
12482
12483         * c-common.c (decl_attributes): Only take a single attributes
12484         parameter.
12485         * c-common.h (decl_attributes): Update prototype.
12486         * c-decl.c (start_decl, start_function): Only take a single
12487         attributes parameter.  Update calls to decl_attributes.
12488         (finish_struct, finish_enum): Update calls to decl_attributes.
12489         (push_parm_decl): Expect unified list of attributes.  Update call
12490         to decl_attributes.
12491         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
12492         notype_nested_function, component_declarator,
12493         component_notype_declarator, label): Update calls to
12494         decl_attributes.
12495         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
12496         lists that are passed to push_parm_decl.
12497         * c-tree.h (start_function, start_decl): Update prototypes.
12498         * config/sh/sh-protos.h, config/sh/sh.c
12499         (sh_pragma_insert_attributes): Only take a single attributes
12500         parameter.
12501         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
12502         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
12503         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
12504         build_module_descriptor, generate_static_references,
12505         generate_strings, build_selector_translation_table,
12506         generate_descriptor_table, generate_protocols,
12507         generate_ivars_list, generate_dispatch_table,
12508         generate_protocol_list, generate_category,
12509         generate_shared_structures, really_start_method, add_objc_decls,
12510         generate_classref_translation_entry): Update calls to start_decl
12511         and start_function.
12512         (build_tmp_function_decl, start_method_def): Unify attribute lists
12513         that are passed to push_parm_decl.
12514
12515 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
12516
12517         * final.c (no_asm_to_stream): New.
12518         (final_scan_insn): Use target structures for prologue ends
12519         and epilogue starts.
12520         * output.h (no_asm_to_stream): New.
12521         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
12522         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
12523         (TARGET_ASM_OUT): Update.
12524         * target.h (struct gcc_target): New members function_end_prologue
12525         and function_begin_epilogue.
12526         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
12527         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
12528         * config/alpha/alpha.c (output_end_prologue): Rename to
12529         alpha_output_function_end_prologue.  Use in target struct
12530         and make static.
12531         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
12532         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
12533         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
12534         ia64_output_function_end_prologue.  Use in target struct
12535         and make static.
12536         (ia64_function_prologue, ia64_funciton_epilogue): Rename
12537         mistyped prototypes.
12538         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
12539         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
12540         Delete.
12541         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
12542         an use in target struct, make static.
12543         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
12544         Delete.
12545
12546 2001-07-08  Richard Henderson  <rth@redhat.com>
12547
12548         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
12549
12550 2001-07-08  Richard Henderson  <rth@redhat.com>
12551
12552         * config/i386/i386.md: Remove constraints strings from define_split
12553         and define_peephole2 patterns.
12554         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
12555         (eh_return): Use them.
12556
12557 2001-07-08  Richard Henderson  <rth@redhat.com>
12558
12559         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
12560         Document MD_FALLBACK_FRAME_STATE_FOR.
12561
12562 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12563
12564         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
12565         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
12566         elimination.
12567         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
12568
12569 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
12570
12571         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
12572         of the label inside NAME as opposed to just the end of NAME.
12573
12574 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12575
12576         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
12577         * config/alpha/alpha.c (alpha_init_machine_status,
12578         alpha_mark_machine_status, alpha_free_machine_status): Delete.
12579         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
12580         (vms_valid_decl_attribute_p): Make static, conditionally compile.
12581         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
12582
12583 2001-07-06  Stan Shebs  <shebs@apple.com>
12584
12585         * target.h (targetm): Rename global from "target", so as not to
12586         conflict with local variables.
12587         * c-decl.c: Ditto.
12588         * c-typeck.c: Ditto.
12589         * final.c: Ditto.
12590         * tree.c: Ditto.
12591         * cp/decl.c: Ditto.
12592         * cp/decl2.c: Ditto.
12593         * cp/typeck.c: Ditto.
12594         * 1750a/1750a.c: Ditto.
12595         * a29k/a29k.c: Ditto.
12596         * arc/arc.c: Ditto.
12597         * arm/arm.c: Ditto.
12598         * avr/avr.c: Ditto.
12599         * clipper/clipper.c: Ditto.
12600         * convex/convex.c: Ditto.
12601         * d30v/d30v.c: Ditto.
12602         * dsp16xx/dsp16xx.c: Ditto.
12603         * elxsi/elxsi.c: Ditto.
12604         * fr30/fr30.c: Ditto.
12605         * h8300/h8300.c: Ditto.
12606         * i370/i370.c: Ditto.
12607         * i386/i386.c: Ditto.
12608         * i860/i860.c: Ditto.
12609         * i960/i960.c: Ditto.
12610         * ia64/ia64.c: Ditto.
12611         * m32r/m32r.c: Ditto.
12612         * m68hc11/m68hc11.c: Ditto.
12613         * m68k/m68k.c: Ditto.
12614         * m88k/m88k.c: Ditto.
12615         * mips/mips.c: Ditto.
12616         * ns32k/ns32k.c: Ditto.
12617         * pa/pa.c: Ditto.
12618         * pdp11/pdp11.c: Ditto.
12619         * romp/romp.c: Ditto.
12620         * rs6000/rs6000.c: Ditto.
12621         * sh/sh.c: Ditto.
12622         * sparc/sparc.c: Ditto.
12623         * vax/vax.c: Ditto.
12624         * we32k/we32k.c: Ditto.
12625         * doc/tm.texi: Update the manual to match.
12626
12627 2001-07-06  Richard Henderson  <rth@redhat.com>
12628
12629         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
12630         DWARF2_UNWIND_INFO not just whether it is defined.
12631
12632 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
12633
12634         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
12635         call to simplify_binary_operation returns a new pattern.
12636
12637 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
12638
12639         * glimits.h (__SHRT_MAX__): New.
12640         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
12641         (SHRT_MAX): Define in terms of __SHRT_MAX__.
12642
12643 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
12644
12645         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
12646         avoid warnings.
12647
12648 2001-07-06  Richard Henderson  <rth@redhat.com>
12649
12650         * bitmap.c (bitmap_release_memory): Move adjacent to the
12651         allocation functions.
12652         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
12653         the implementation.  Binary search for the set bit.
12654         (bitmap_union_of_diff): Allocate the temporary on the stack
12655         instead of using xmalloc.
12656
12657 2001-07-06  Richard Henderson  <rth@redhat.com>
12658
12659         * genrecog.c (validate_pattern): Warn for constraints in
12660         define_{expand,split,peephole2}.  Remove strict_low_part
12661         before looking up match_dup.
12662
12663 2001-07-06  DJ Delorie  <dj@redhat.com>
12664
12665         * doc/gcc.texi (Makefile): Rename to be a more general purpose
12666         chapter about various build hints and history.  Add section
12667         talking about the various types of native and cross builds.
12668
12669 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
12670
12671         * Makefile.in (final.o): Depend on target.h.
12672         * final.c: Include target.h.
12673         (default_function_pro_epilogue): New.
12674         (final_start_function): Use target structure for function prologues.
12675         (final_end_function): Use target structure for function epilogues.
12676         * fold-const.c (real_hex_to_f): Constify s and p.
12677         * output.h (default_function_pro_epilogue): New.
12678         * real.h (real_hex_to_f): Update prototype.
12679         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
12680         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
12681         (TARGET_INITIALIZER): Update.
12682         * target.h (gcc_target): Add struct asm_out.
12683         * doc/tm.texi: Update.
12684
12685 config:
12686         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
12687         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
12688         in cpu/cpu.c, or rename old functions consistently.  Take
12689         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
12690         redundant macros and prototypes.  Make new functions static.
12691
12692         * 1750a/1750a.c: Similarly.
12693         * 1750a/1750a.h: Similarly.
12694         * a29k/a29k-protos.h: Similarly.
12695         * a29k/a29k.c: Similarly.
12696         * a29k/a29k.h: Similarly.
12697         * arc/arc-protos.h: Similarly.
12698         * arc/arc.c: Similarly.
12699         * arc/arc.h: Similarly.
12700         * arm/arm-protos.h: Similarly.
12701         * arm/arm.c: Similarly.
12702         * arm/arm.h: Similarly.
12703         * avr/avr-protos.h: Similarly.
12704         * avr/avr.c: Similarly.
12705         * avr/avr.h: Similarly.
12706         * clipper/clipper-protos.h: Similarly.
12707         * clipper/clipper.c: Similarly.
12708         * clipper/clipper.h: Similarly.
12709         * convex/convex.c: Similarly.
12710         * convex/convex.h: Similarly.
12711         * d30v/d30v-protos.h: Similarly.
12712         * d30v/d30v.c: Similarly.
12713         * d30v/d30v.h: Similarly.
12714         * d30v/d30v.md: Similarly.
12715         * dsp16xx/dsp16xx-protos.h: Similarly.
12716         * dsp16xx/dsp16xx.c: Similarly.
12717         * dsp16xx/dsp16xx.h: Similarly.
12718         * elxsi/elxsi.c: Similarly.
12719         * elxsi/elxsi.h: Similarly.
12720         * fr30/fr30.c: Similarly.
12721         * fr30/fr30.md: Similarly.
12722         * h8300/h8300-protos.h: Similarly.
12723         * h8300/h8300.c: Similarly.
12724         * h8300/h8300.h: Similarly.
12725         * i370/i370-protos.h: Similarly.
12726         * i370/i370.c: Similarly.
12727         * i370/i370.h: Similarly.
12728         * i386/i386.c: Similarly.
12729         * i386/osf1elf.h: Similarly.
12730         * i386/osfrose.h: Similarly.
12731         * i860/i860-protos.h: Similarly.
12732         * i860/i860.c: Similarly.
12733         * i860/i860.h: Similarly.
12734         * i960/i960-protos.h: Similarly.
12735         * i960/i960.c: Similarly.
12736         * i960/i960.h: Similarly.
12737         * ia64/ia64-protos.h: Similarly.
12738         * ia64/ia64.c: Similarly.
12739         * ia64/ia64.h: Similarly.
12740         * m32r/m32r-protos.h: Similarly.
12741         * m32r/m32r.c: Similarly.
12742         * m32r/m32r.h: Similarly.
12743         * m68hc11/m68hc11-protos.h: Similarly.
12744         * m68hc11/m68hc11.c: Similarly.
12745         * m68hc11/m68hc11.h: Similarly.
12746         * m68k/crds.h: Similarly.
12747         * m68k/dpx2.h: Similarly.
12748         * m68k/m68k-protos.h: Similarly.
12749         * m68k/m68k.c: Similarly.
12750         * m68k/m68k.h: Similarly.
12751         * m68k/news.h: Similarly.
12752         * m88k/m88k-protos.h: Similarly.
12753         * m88k/m88k.c: Similarly.
12754         * m88k/m88k.h: Similarly.
12755         * mips/mips-protos.h: Similarly.
12756         * mips/mips.c: Similarly.
12757         * mips/mips.h: Similarly.
12758         * ns32k/merlin.h: Similarly.
12759         * ns32k/ns32k.c: Similarly.
12760         * ns32k/ns32k.h: Similarly.
12761         * ns32k/tek6000.h: Similarly.
12762         * pa/pa-protos.h: Similarly.
12763         * pa/pa.c: Similarly.
12764         * pa/pa.h: Similarly.
12765         * pdp11/2bsd.h: Similarly.
12766         * pdp11/pdp11-protos.h: Similarly.
12767         * pdp11/pdp11.c: Similarly.
12768         * pdp11/pdp11.h: Similarly.
12769         * romp/romp-protos.h: Similarly.
12770         * romp/romp.c: Similarly.
12771         * romp/romp.h: Similarly.
12772         * rs6000/rs6000-protos.h: Similarly.
12773         * rs6000/rs6000.c: Similarly.
12774         * rs6000/rs6000.h: Similarly.
12775         * rs6000/sysv4.h: Similarly.
12776         * sh/sh-protos.h: Similarly.
12777         * sh/sh.c: Similarly.
12778         * sh/sh.h: Similarly.
12779         * sparc/sparc-protos.h: Similarly.
12780         * sparc/sparc.c: Similarly.
12781         * sparc/sparc.h: Similarly.
12782         * vax/vax.c: Similarly.
12783         * vax/vax.h: Similarly.
12784         * vax/vms.h: Similarly.
12785         * we32k/we32k.c: Similarly.
12786         * we32k/we32k.h: Similarly.
12787
12788 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
12789
12790         * basic-block.h (first_insn_after_basic_block_note): Declare.
12791         * flow.c (first_insn_after_basic_block_note): Define.  Moved
12792         from...
12793         * ssa.c (first_insn_after_basic_block_note): Remove.
12794         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
12795         necessary.
12796         (ssa_eliminate_dead_code): Properly update the CFG and PHI
12797         nodes when we find a dead conditional branch.  Insert BARRIERs
12798         after any blocks with no successors, but which do not have
12799         any BARRIERs.
12800
12801 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
12802
12803         * varray.c (varray_check_failed): Use internal_error.
12804
12805 2001-07-05  Andrew Haley  <aph@redhat.com>
12806
12807         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
12808         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
12809         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
12810
12811 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
12812
12813         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
12814         reference if the target constant is also a SYMBOL_REF.
12815
12816 2001-07-05  Eric Christopher  <echristo@redhat.com>
12817
12818         * config/mips/mips.h (MASK_MIPS3900): Remove.
12819         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
12820         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
12821         (TARGET_MIPS3900): Change to use mips_arch.
12822         (TARGET_MIPS4000): New.
12823         (TARGET_MIPS4100): New.
12824         (TARGET_MIPS4300): New.
12825         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
12826         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
12827         for -mipsX.
12828         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
12829         (ISA_HAS_BRANCHLIKELY): To here.
12830         (CC1_CPU_SPEC):  New.
12831         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
12832         (mips_arch_string): Declare.
12833         (mips_arch): Declare.
12834         (TARGET_OPTIONS): Add -march and -mtune.
12835
12836         * config/mips/mips.c (mips_arch_string): New.
12837         (mips_arch): New.
12838         (override_options): Handle -march for codegen and -mtune
12839         for scheduling. Use mips_arch. Move tx39 target default here.
12840         (mips_parse_cpu): Move error message to override_options.
12841
12842         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
12843
12844         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
12845
12846         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
12847         (MIPS Options): Ditto.  Change mcpu entry to historical text.
12848
12849 2001-07-05  H.J. Lu  (hjl@gnu.org)
12850
12851         * config/mips/mips.c (mips_parse_cpu): New function to parse
12852         -march=*/-mcpu=*.
12853
12854 2001-07-05  Jim Wilson  <wilson@redhat.com>
12855
12856         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
12857         * config/ia64/t-ia64: Likewise.
12858         (LIB1ASMFUNCS): Update comment.
12859
12860 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
12861
12862         * doc/install.texi (Install GCC: Binaries): Fix typo.
12863
12864 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12865
12866         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
12867         reference using the stack pointer, adjust it since we push Y
12868         temporarily.
12869         ("*ashrsi3"): Likewise.
12870         ("*lshrsi3"): Likewise.
12871
12872 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12873
12874         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
12875         when -fomit-frame-pointer is used.
12876
12877 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
12878
12879         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
12880         (try_redirect_by_replacing_jump): Reverse updating properly the
12881         count and frequency information.  Reverse removing cc0 setter.
12882         (forwarder_block_p): Reverse fixing for fallthru blocks.
12883
12884 2001-07-05  DJ Delorie  <dj@redhat.com>
12885
12886         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
12887         (translate_options): If the above is defined, use it to map
12888         given options to new options.
12889         * doc/tm.texi: Document it.
12890
12891 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
12892             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12893
12894         * doc/invoke.texi (Optimize Options): Document that -fgcse may
12895         cause programs using computed gotos to run more slowly.
12896
12897 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12898
12899         * doc/install.texi (Specific): Markup, spelling and typo fixes.
12900         Fixed sorting.
12901         Consistently require binutils 2.11.2, not prereleases.
12902         (Specific, decstation-*): Canonicalize as mips-dec-*.
12903         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
12904         always necessary.
12905         (Specific, m68k-altos): Removed reference to README.altos, deleted.
12906         (Specific, mips-*): Reword MIPS C compiler requirements.
12907         (Specific, powerpc*-*-*): New, mention --with-cpu once.
12908         (Specific, sunv5): Removed, obsolete.
12909
12910 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
12911
12912         * dwarf2out.c (output_loc_list): Use an all ones mask for
12913         .text asm output and don't rely on long long
12914         literals. Reformat some long lines.
12915
12916 2001-07-05  Andreas Jaeger  <aj@suse.de>
12917
12918         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
12919         section.
12920
12921 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
12922
12923         * dwarf2out.c (dwarf2out_define): Update comment.
12924         (dwarf2out_undef): Ditto.
12925         (dwarf2out_start_source_file): Ditto.
12926         (dwarf2out_end_source_file): Ditto.
12927         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
12928         since we never call the start/end debug hook for the primary file.
12929
12930 2001-07-04  Kazu Hirata  <kazu@hxi.com>
12931
12932         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
12933         from shll.
12934
12935 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
12936
12937         * cppinit.c (remove_dup_dirs): Inform if a system include
12938         directory is being reordered.
12939         * doc/invoke.texi (Directory Options): GCC warns if you hide a
12940         system include.
12941         * doc/cpp.texi (Search Paths): Likewise.
12942         * doc/gcc.texi (Interoperation): Remove information about
12943         -I/usr/include.
12944
12945 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
12946
12947         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
12948         (VARRAY_TOP_CHAR_PTR): Likewise.
12949
12950 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12951
12952         * gcc.c (process_command): Don't assign elements of a const char*.
12953
12954 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12955
12956         * emit-rtl.c (change_address): Don't abort if invalid address while
12957         reload is in progress.
12958
12959 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
12960
12961         * c-lex.c (cb_file_change): Pass line number to
12962         debug_start_source_file.
12963         (cb_undefine): Pass correct line number to debug_undef.
12964
12965         * toplev.c (debug_start_source_file): Add line number to
12966         parameters. Pass it along to dwarf2out_start_source_file.
12967         (decode_g_option): Stop resetting debug level back to normal when
12968         we change debug formats, unless the current level is
12969         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
12970         3).
12971
12972         * toplev.h (debug_start_source_file): Add line number to
12973         parameters.
12974
12975         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
12976         parameters.
12977
12978         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
12979         parameters.
12980         Output debug_macinfo data for starting file if requested.
12981         (dwarf2out_end_source_file): Output debug_macinfo data for ending
12982         file if requested.
12983         (dwarf2out_define): Output debug_macinfo data for defining a macro
12984         if requested.
12985         (dwarf2out_undef): Output debug_macinfo data for undefining a
12986         macro if requested.
12987         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
12988         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
12989         (macinfo_section_label): New. DWARF2 macro info section label.
12990         (dwarf2out_init): If we want macro info, output the start label
12991         for the section.
12992         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
12993         attribute to the compilation unit die pointing to the macro info.
12994
12995 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
12996
12997         * dwarf2out.c (new_loc_list): Move to inside #ifdef
12998         DWARF2_DEBUGGING_INFO.
12999         (add_loc_descr_to_loc_list): Ditto.
13000         (output_loc_list): Ditto.
13001         Also, fix thinko in curr not being initialized.
13002         (gen_internal_sym): Ditto.
13003
13004 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13005
13006         * emit-rtl.c (replace_equiv_address): New function.
13007         * expr.h (replace_equiv_address): New declaration.
13008         * explow.c (validize_mem): Call it instead of change_address and
13009         also call if -fforce-addr and address is constant.
13010         * expr.c: Replace more calls to change_address with adjust_address
13011         and/or replace_equiv_address or to validize_mem.
13012         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
13013         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
13014         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
13015         * config/i370/i370.md, config/i860/i860.md: Likewise.
13016         * config/i960/i960.md, config/mips/mips.c: Likewise.
13017         * config/mips/mips.md, config/pa/pa.md: Likewise.
13018         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
13019         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
13020
13021 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13022
13023         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
13024
13025         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
13026         function.
13027
13028 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
13029
13030         * doc/include: New directory.
13031         * doc/fdl.texi: Move to doc/include/fdl.texi.
13032         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
13033         * doc/include/funding.texi, doc/include/gpl.texi: New files.
13034         * doc/gcc.texi: Use funding.texi and gpl.texi.
13035         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
13036         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
13037         Update dependencies and use -I $(docdir)/include.
13038
13039 2001-07-04  Anthony Green  <green@redhat.com>
13040
13041         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
13042
13043 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13044
13045         * doc/install.texi (sparc64-*-*): Remove garbage.
13046
13047 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
13048
13049         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
13050         Fix typo in last change to use adjust_address.
13051
13052 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13053
13054         * doc/install.texi (Specific): Update information for *-*-solaris*.
13055
13056 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13057
13058         * explow.c (plus_constant_wide): Reinitialize Y for restart.
13059
13060 2001-07-03  Stan Shebs  <shebs@apple.com>
13061
13062         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
13063         case for flag_no_mach_text_sections.
13064         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
13065         * config/darwin.c (flag_no_mach_text_sections): Remove.
13066         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
13067
13068 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13069
13070         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
13071         and avoid checking for constant as first operand.
13072         * recog.c (find_constant_term_loc): No longer static.
13073         (adj_offettable_operand): Delete.
13074         * rtl.h (adj_offsettable_operand): Delete declaration.
13075         (find_constant_term): Add declaration.
13076         * caller-save.c: Replace calls to adj_offsettable_operand with calls
13077         to adjust_address.
13078         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
13079         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
13080         * config/i386/i386.c, config/i386/i386.md: Likewise.
13081         * config/i860/i860.c, config/i960/i960.c: Likewise.
13082         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
13083         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
13084         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
13085         * config/mips/mips.c, config/mips/mips.md: Likewise.
13086         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
13087         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
13088         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
13089         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
13090         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
13091         * config/ns32k/ns32k.md: Likewise.
13092
13093 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
13094
13095         * rtl.c (copy_rtx): Handle 'T' format letter.
13096         * gensupport.c (collect_insn_data): Likewise.
13097         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
13098
13099 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
13100
13101         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
13102         -B option.  Use 'dir' not 'foo' as example directory name.
13103
13104 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13105
13106         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
13107         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
13108
13109 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
13110
13111         * doc/cppinternals.texi: Improve formatting and logical markup.
13112
13113 2001-07-03  Andreas Jaeger  <aj@suse.de>
13114
13115         * Makefile.in (insn-recog.o): Add dependency on reload.h.
13116
13117         * genrecog.c (write_header): Include reload.h for prototypes in
13118         insn-recog.c.
13119
13120 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
13121
13122 config:
13123         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
13124         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
13125         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
13126         i386_pe_valid_type_attribute_p): Add.
13127         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
13128         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
13129
13130 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13131
13132         * explow.c (plus_constant_wide, case LO_SUM): New case.
13133         (plus_constant_for_output_wide): Delete.
13134         * rtl.h (plus_constant_for_output): Delete.
13135         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
13136         instead of plus_constant_for_output.
13137         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
13138         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
13139         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
13140         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
13141         * config/sparc/sparc.md: Likewise.
13142         Convert some change_address calls to adjust_address.
13143
13144 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
13145
13146         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
13147         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
13148         documentation of -std and -Wwrite-strings.
13149
13150 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
13151
13152         * cse.c (canon_hash): Don't register registers in very small
13153         register classes, as extending their lifetime might cause
13154         reload to fail.
13155
13156 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
13157
13158         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
13159
13160         * flow.c (forwarder_block_p): Fix for fallthru blocks.
13161         (try_redirect_by_replacing_jump): Update properly the count
13162         and frequency information.
13163
13164 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
13165
13166         * toplev.c (dump_file_index): Move SSA dumps just after first
13167         jump dump.
13168         (dump_file): Corresponding changes.
13169         (rest_of_compilation): Move SSA path to just after the first
13170         jump pass.
13171         * doc/gcc.texi (Passes): Update due to movement of SSA path.
13172         * doc/invoke.texi: Update dump file #s as they were completely
13173         out of date with reality.
13174
13175 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
13176
13177         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
13178
13179         * expr.c (emit_move_insn_1): Deal with non-default
13180         STACK_PUSH_CODE.
13181
13182         * expr.c (emit_single_push_insn): Fix warning.
13183
13184 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
13185
13186         * expr.c (emit_move_insn_1): Avoid modifying
13187         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
13188
13189 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13190
13191         * emit-rtl.c (adjust_address): New function.
13192         * expr.h (adjust_address): Add declaration.
13193         * builtins.c: Replace some calls to change_address with calls to it
13194         or to validize_mem.
13195         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
13196         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
13197         * config/arm/arm.c, config/convex/convex.c: Likewise.
13198         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
13199         * config/i386/i386.c, config/i386/i386.md: Likewise.
13200         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
13201         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
13202         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
13203         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
13204         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
13205
13206 2001-07-02  Jim Wilson  <wilson@redhat.com>
13207
13208         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
13209
13210 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
13211
13212         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
13213         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
13214
13215 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
13216
13217         * cppinit.c (lang_defaults): New table.
13218         (set_lang): Just read from lang_defaults into the live options
13219         structure.
13220
13221 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
13222
13223         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
13224         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
13225         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
13226
13227 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13228
13229         * doc/install.texi: Various spelling and markup fixes.
13230         (Installing GCC): Component specific installation instructions are
13231         gone.
13232         Fix reference.
13233         Warn about removing old install dir in the presence of shared libs.
13234         (Configuration): Invoke with options target to match configure
13235         --help.
13236         Consistently refer to gas, gld pathnames.
13237         Invert --enable-multilib documentation.
13238         Remove references to old compiler versions.
13239
13240 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13241
13242         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
13243
13244 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13245
13246         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
13247         section.
13248         (Specific, mips*-sgi-irix5): Note IDO download.
13249         Reworded MIPS C hints.
13250         Use GNU as instead of GAS.
13251         Markup fixes.
13252         Removed SGI Freeware reference, IRIX 6 only.
13253         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
13254         Note N64 library requirement/workaround.
13255         Update O32 hints.
13256         Complete list of structure passing bug victims.
13257
13258 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13259
13260         * doc/install.texi: Remove CVS Id.
13261
13262 2001-07-02  Andreas Jaeger  <aj@suse.de>
13263
13264         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
13265         (find_inherently_necessary): Remove unused variable.
13266
13267 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
13268
13269         * c-common.h (TDI_inlined): New ast dump phase.
13270         (dump_flag_name): New function.
13271         * c-dump.c (dump_files): Add inlined phase.
13272         (dump_flag_name): Define.
13273         * doc/invoke.texi (-fdump-ast-inlined): Document.
13274
13275 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13276
13277         * stor-layout.c (layout_decl): Revert change to handling of alignment
13278         in packed types.
13279
13280 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13281
13282         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
13283         for FIELD_DECL.
13284
13285 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
13286
13287         * doc/tm.texi (FUNCTION_ARG): Document that the last call
13288         is special.
13289
13290 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
13291
13292         * tlink.c (recompile_files): Remove COMPILER_PATH and
13293         LIBRARY_PATH from the environment.
13294
13295 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
13296
13297         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
13298         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
13299         enumerators.
13300         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
13301
13302         * c-parse.in (OBJC_STRING): Kill.
13303         (objc_string): Decompose to [objc_string] '@' STRING.
13304         (reswords): Take the leading '@' off all the Objective C keywords.
13305         (objc_rid_sans_at): Kill.
13306         (init_reswords): Don't initialize it.
13307         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
13308         (_yylex): Kill reconsider label.  Look ahead one token after
13309         an '@'; if we get an identifier, check whether it's an
13310         Objective C @-keyword.  If so, return the keyword.  Otherwise,
13311         put back the token and return the '@' as a terminal.
13312
13313         * cpplib.c (lex_macro_node): Remove unnecessary check for
13314         leading '@' on identifier.  Clarify control flow and commentary.
13315
13316 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13317
13318         * cse.c (new_label_ref): Variable deleted.
13319         (insert): Remove set of new_label_ref.
13320         (check_for_label_ref): New function.
13321         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
13322
13323 See ChangeLog.5 for earlier changes.