flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
[platform/upstream/gcc.git] / gcc / ChangeLog
1 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
2
3         * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
4
5         * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
6         don't pass --gdwarf2 to the assembler if the compiler will also
7         provide debug info.
8
9         * config/stormy16/stormy16.c (xstormy16_expand_casesi): 
10         Don't change INDEX.
11
12 Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13
14         * alias.c (nonoverlapping_memrefs_p): New function.
15         (true_dependence, canon_true_depenence, write_dependence_p): Call it.
16
17         * emit-rtl.c (set_mem_attributes): Get alignments for constants.
18
19 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
20
21         * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
22         (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
23         generating altivec code.
24         (FIXED_REGISTERS): VRSAVE is fixed.
25         (CALL_USED_REGISTERS): VRSAVE is call used.
26
27 2001-11-08  Jason Eckhardt  <jle@rice.edu>
28
29         * config/mips/mips.c (mips_output_conditional_branch): Do not hard
30         code the branch target as ".+16/.+12", but rather use labels.
31
32 Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
33
34         * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0  
35         to work around limitations of certain versions of GAS.
36
37         * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
38         (muldi3): Update due to SUBREG_BYTE changes.
39         (casesi): Similarly.
40
41 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
42
43         * doc/invoke.texi: Remove comment referring to -xf77-version.
44
45 2001-11-09  Kazu Hirata  <kazu@hxi.com>
46
47         * config/convex/convex.c: Fix comment formatting.
48         * config/convex/convex.h: Likewise.
49
50 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
51
52         * Makefile.in (.po.pox): Look both in srcdir and builddir
53         for $(PACKAGE).pot.
54         (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
55         to the source directory.
56
57 2001-11-09 Ben Elliston  <bje@redhat.com>
58            Michael Meissner  <meissner@redhat.com>
59            Andrew MacLeod  <amacleod@redhat.com>
60            Richard Henderson  <rth@redhat.com>
61            Nick Clifton  <nickc@redhat.com>
62            Catherine Moore  <clm@redhat.com>
63
64         * m32r.c: Add support for m32rx processor.
65         * m32r.h: Ditto.
66         * m32r.md: Ditto.
67         * t-m32r: Ditto.
68         * m32r-protos.h: Add prototypes for m32rx functions.
69         * doc/invoke.texi: Document -m32rx option.
70
71 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
72
73         * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
74         or after reload.
75
76 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
77
78         * doc/install.texi2html: Use $MAKEINFO --no-split.
79
80 2001-11-09  Andreas Schwab  <schwab@suse.de>
81
82         * Makefile.in ($(HOST_PREFIX_1)rtl.o,
83         $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
84         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o, 
85         $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
86         $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
87
88 2001-11-09  H.J. Lu <hjl@gnu.org>
89
90         * config/mips/mips.c (mips_output_function_prologues): Cast
91         `tsize' to long for output.
92
93 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
94
95         * c-lang.c (LANG_HOOKS_NAME): New.
96         (lang_hooks): Constify.
97         (c_init_options): Update.
98         (lang_identify): Remove.
99         * c-parse.in (language_string): Remove.
100         * dbxout.c: Include langhooks.h.
101         (dbxout_symbol_location): Update.
102         * dwarf2out.c: Include langhooks.h.
103         (gen_compile_unit_die): Update.
104         * dwarfout.c: Include langhooks.h.
105         (prototyped_attribute, output_compile_unit_die): Update.
106         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
107         (LANG_HOOKS_INITIALIZER): Update.
108         * langhooks.h (struct lang_hooks): New members.  Constify.
109         * stringpool.c: Don't include toplev.h.
110         (set_identifier_size): Remove.
111         * toplev.c (toplev_main): Initialize identifier size.
112         (print_version): Update.
113         * tree.h (language_string, init_lex, lang_identify,
114         set_identifier_size): Remove.
115         * Makefile.in: Update dependencies.
116         * config/darwin.c: Include langhooks.h.
117         (func_name_maybe_scoped): Update.
118         * config/darwin.h (ASM_END_FILE): Update.
119         * config/nextstep.h (ASM_END_FILE): Update.
120         * config/nextstep21.h (ASM_END_FILE): Update.
121         * config/i386/sun386.h (ASM_END_FILE): Update.
122         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
123         (rs6000_output_function_epilogue): Update.
124 objc:
125         * objc-act.c (LANG_HOOKS_NAME): Override.
126         (struct lang_hooks): Constify.
127         (objc_init_options): Update.
128         (lang_identify): Remove.
129
130 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
131
132         * fold-const.c (lshift_double): Honor PREC.
133         (rshift_double): Likewise.
134
135 2001-11-08  Kazu Hirata  <kazu@hxi.com>
136
137         * config/1750a/1750a.c: Fix comment formatting.
138         * config/1750a/1750a.h: Likewise.
139
140 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
141
142         * configure.in (--enable-languages): Be more permissive about
143         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
144         * configure: Regenerated.
145
146 2001-11-08  Richard Henderson  <rth@redhat.com>
147
148         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
149
150 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
151
152         * config.gcc: Rename stormy16 to xstormy16.
153         * config/stormy16/stormy-abi: Likewise.
154         * config/stormy16/stormy16-protos.h: Likewise.
155         * config/stormy16/stormy16.c: Likewise.
156         * config/stormy16/stormy16.h: Likewise.
157         * config/stormy16/stormy16.md: Likewise.
158
159 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
160
161         * tree.h (TYPE_VOLATILE): Add enable-checking code.
162         (TYPE_READONLY): Likewise.
163
164 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
165
166         * reload1.c (reload): Don't delete equiv insn if can throw.
167
168         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
169         (clear_storage): Likewise, for OBJECT.
170
171 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
172
173         * pa.c (emit_move_sequence): Fix SUBREG expression to
174         use proper byte offset when extending a constant from
175         SImode to DImode.
176
177 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
178
179         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
180         which cannot throw.
181
182 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
183
184         * explow.c (convert_memory_address, case SUBREG): Only return
185         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
186
187 2001-11-08  Richard Henderson  <rth@redhat.com>
188
189         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
190         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
191         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
192
193 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
194
195         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
196
197 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
198
199         * dwarf2out.c (debug_str_hash): New.
200         (struct indirect_string_node): New.
201         (struct dw_val_struct): Change type of val_str to it.
202         (DEBUG_STR_SECTION_FLAGS): Define.
203         (add_AT_string): Push string into hashtable, increment reference
204         counter.
205         (AT_string): Return string from ht_identifier.
206         (AT_string_form): New.
207         (free_AT): For dw_val_class_str, just decrement reference counter.
208         (size_of_string): Remove.
209         (size_of_die): Use AT_string_form to decide what size the string
210         occupies in DIE.
211         (size_of_pubnames): Use strlen instead of size_of_string.
212         (value_format): Use AT_string_form for dw_val_class_str.
213         (output_die): Output DW_FORM_strp strings using
214         dw2_asm_output_offset.
215         (indirect_string_alloc, output_indirect_string): New.
216         (dwarf2out_finish): Emit .debug_str strings if there are any.
217
218 2001-11-08  Andreas Franck  <afranck@gmx.de>
219
220         * configure.in: Add AC_ARG_PROGRAM to support program name
221         transformation with --program-prefix, --program-suffix and
222         --program-transform-name.
223         * configure: Regenerated.
224         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
225         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
226         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
227         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
228         program_transform_name the way suggested by autoconf.
229         (GCC_TARGET_INSTALL_NAME): Define.
230         (install-driver): Use the transformed target alias name.
231
232 2001-11-08  Richard Henderson  <rth@redhat.com>
233
234         * config/mips/mips.c (save_restore_insns): Remove GP from the
235         restore registers mask early instead of special casing it inside
236         the loop.
237
238 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
239
240         * cp/decl.c (shadow_warning): New function.
241         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
242         and an error when a block scope decl shadows a parameter.
243
244 2001-11-08  Richard Henderson  <rth@redhat.com>
245
246         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
247         case as well.
248
249 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
250
251         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
252         to implement floating negation on processors prior to PA 2.0.
253
254 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
255
256         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
257         (USE_LINKONCE_INDIRECT): Define.
258         (dw2_output_indirect_constant_1): Try to output indirect constants
259         into linkonce sections if possible.
260         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
261         (dw2_output_indirect_constants): Likewise.
262
263 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
264
265         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
266
267 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
268
269         * c-decl.c (pushdecl): Remove file and line.
270         * c-typeck.c (pop_init_level): Remove size.
271
272 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
273
274         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
275         for rs6000.
276
277         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
278         (TARGET_ALTIVEC): New.
279         (TARGET_SWITCHES): Add altivec.
280         (FIRST_PSEUDO_REGISTER): Change to 109.
281         (CALL_USED_REGISTERS): Same.
282         (FIRST_ALTIVEC_REGNO): New.
283         (LAST_ALTIVEC_REGNO): New.
284         (ALTIVEC_REGNO_P): New.
285         (UNITS_PER_ALTIVEC_WORD): New.
286         (ALTIVEC_VECTOR_MODE): New.
287         (FIXED_REGISTERS): Add altivec registers.
288         (REG_ALLOC_ORDER): Same.
289         (HARD_REGNO_NREGS): Adjust for altivec registers.
290         (HARD_REGNO_MODE_OK): Same.
291         (MODES_TIEABLE_P): Same.
292         (REGISTER_MOVE_COST): Same.
293         (REGNO_REG_CLASS): Same.
294         (reg_class): Add ALTIVEC_REGS.
295         (REG_CLASS_NAMES): Same.
296         (REG_CLASS_CONTENTS): Same.
297         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
298         (ALTIVEC_ARG_RETURN): New.
299         (FUNCTION_VALUE): Handle VECTOR_TYPE.
300         (LIBCALL_VALUE): Handle altivec vector modes.
301         (VECTOR_MODE_SUPPORTED_P): New.
302         (ALTIVEC_ARG_MIN_REG): New.
303         (ALTIVEC_ARG_MAX_REG): New.
304         (ALTIVEC_ARG_NUM_REG): New.
305         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
306         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
307         (REGISTER_NAMES): Add altivec regs.
308         (DEBUG_REGISTER_NAMES): Same.
309         (ADDITIONAL_REGISTER_NAMES): Same.
310         (rs6000_builtins): New.
311         (MD_EXPAND_BUILTIN): New.
312         (MD_INIT_BUILTINS): New.
313         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
314         for AltiVec instructions.
315         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
316         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
317         registers.
318         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
319         (TARGET_SWITCHES): Add no-altivec.
320         (DATA_ALIGNMENT): Align vectors to 128 bits.
321         (TARGET_OPTIONS): Add abi= option.
322         Add rs6000_abi_string extern.
323         (LOCAL_ALIGNMENT): New.
324         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
325         (MASK_ALTIVEC_ABI): New.
326         (TARGET_ALTIVEC_ABI): New.
327         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
328         call-saved.
329         (STACK_BOUNDARY): Adjust for altivec.
330         (BIGGEST_ALIGNMENT): Same.
331         (rs6000_args): Add vregno.
332         (USE_ALTIVEC_FOR_ARG_P): New.
333         (FIXED_REGISTERS): Add vrsave register.
334         (CALL_USED_REGISTERS): Same.
335         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
336         (VRSAVE_REGNO): New.
337         (reg_class): Add VRSAVE_REGS.
338         (REG_CLASS_NAMES): Same.
339         (REG_CLASS_CONTENTS): Same.
340         (REGNO_REG_CLASS): Same.
341         
342         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
343         (ABI_STACK_BOUNDARY): Same.
344         (BIGGEST_ALIGNMENT): Same.
345         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
346         (ROUND_TYPE_ALIGN): Same.
347         
348         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
349         to 64.
350
351         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
352         to 64.
353
354         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
355         to 64.
356
357         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
358         (altivec_expand_builtin): New.
359         (altivec_init_builtins): New.
360         (TARGET_EXPAND_BUILTIN): New.
361         (TARGET_INIT_BUILTINS): New.
362         (rs6000_init_builtins): New.
363         (struct builtin_description): New.
364         (bdesc_2arg): New.
365         (rs6000_reg_names): Add altivec registers.
366         (alt_reg_names): Same.
367         (secondary_reload_class): Altivec regs can hold altivec regs and
368         memory.
369         (rs6000_emit_move): Force constants into memory for AltiVec moves.
370         (print_operand): Add 'y' case for printing altivec memory
371         operands.
372         (rs6000_legitimize_address): Legitimize vector addresses into
373         [REG+REG] or [REG].
374         (altivec_expand_binop_builtin): New.
375         New string rs6000_current_abi.
376         (rs6000_override_options): Call rs6000_parse_abi_options.
377         (rs6000_parse_abi_options): New.
378         (function_arg_boundary): Vector arguments must be 16
379         byte aligned.
380         (function_arg_advance): Handle vector arguments.
381         (function_arg_partial_nregs): Same.
382         (init_cumulative_args): Same.
383         (function_arg): Same.
384
385         * config/rs6000/rs6000.md (altivec_lvx): New.
386         (type): Add altivec attribute.
387         (movv4si): New.
388         (*movv4si_internal): New.
389         (movv16qi): New.
390         (*movv16qi_internal): New.
391         (movv8hi): New.
392         (*movv8hi_internal1): New.
393         (movv4sf): New.
394         (*movv4sf_internal1): New.
395         (altivec_stvx): New.
396         (vaddubm): New.
397         (vadduhm): New.
398         (vadduwm): New.
399         (vaddfp): New.
400         (vaddcuw): New.
401         (vaddubs): New.
402         (vaddsbs): New.
403         (vadduhs): New.
404         (vaddshs): New.
405         (vadduws): New.
406         (vaddsws): New.
407         (vand): New.
408         (vandc): New.
409         (vavgub): New.
410         (vavgsb): New.
411         (vavguh): New.
412         (vavgsh): New.
413         (vavguw): New.
414         (vavgsw): New.
415         (vcmpbfp): New.
416         (vcmpequb): New.
417         (vcmpequh): New.
418         (vcmpequw): New.
419         (vcmpeqfp): New.
420         (vcmpgefp): New.
421         (vcmpgtub): New.
422         (vcmpgtsb): New.
423         (vcmpgtuh): New.
424         (vcmpgtsh): New.
425         (vcmpgtuw): New.
426         (vcmpgtsw): New.
427         (vcmpgtfp): New.
428         (vcmpgefp): New.
429         (vcmpgtub): New.
430         (vcmpgtsb): New.
431         (vcmpgtuh): New.
432         (vcmpgtsh): New.
433         (vcmpgtuw): New.
434         (vcmpgtsw): New.
435         (vcmpgtfp): New.
436         (vmaxub): New.
437         (vmaxsb): New.
438         (vmaxuh): New.
439         (vmaxsh): New.
440         (vmaxuw): New.
441         (vmaxsw): New.
442         (vmaxfp): New.
443         (vmrghb): New.
444         (vmrghh): New.
445         (vmrghw): New.
446         (vmrglb): New.
447         (vmrglh): New.
448         (vmrglw): New.
449         (vminub): New.
450         (vminsb): New.
451         (vminuh): New.
452         (vminsh): New.
453         (vminuw): New.
454         (vminsw): New.
455         (vminfp): New.
456         (vmuleub): New.
457         (vmulesb): New.
458         (vmuleuh): New.
459         (vmulesh): New.
460         (vmuloub): New.
461         (vmulosb): New.
462         (vmulouh): New.
463         (vmulosh): New.
464         (vnor): New.
465         (vor): New.
466         (vpkuhum): New.
467         (vpkuwum): New.
468         (vpkpx): New.
469         (vpkuhss): New.
470         (vpkshss): New.
471         (vpkuwss): New.
472         (vpkswss): New.
473         (vpkuhus): New.
474         (vpkshus): New.
475         (vpkuwus): New.
476         (vpkswus): New.
477         (vrlb): New.
478         (vrlh): New.
479         (vrlw): New.
480         (vslb): New.
481         (vslh): New.
482         (vslw): New.
483         (vsl): New.
484         (vslo): New.
485         (vsrb): New.
486         (vrsh): New.
487         (vrsw): New.
488         (vsrab): New.
489         (vsrah): New.
490         (vsraw): New.
491         (vsr): New.
492         (vsro): New.
493         (vsububm): New.
494         (vsubuhm): New.
495         (vsubuwm): New.
496         (vsubfp): New.
497         (vsubcuw): New.
498         (vsububs): New.
499         (vsubsbs): New.
500         (vsubuhs): New.
501         (vsubshs): New.
502         (vsubuws): New.
503         (vsubsws): New.
504         (vsum4ubs): New.
505         (vsum4sbs): New.
506         (vsum4shs): New.
507         (vsum2sws): New.
508         (vsumsws): New.
509         (vxor): New.
510
511 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
512
513         * Makefile.in (df.o): Add fibheap.h to dependencies.
514        
515         * df.h: Add prototypes for transfer functions, iterative_dataflow
516         functions.
517         (enum df_flow_dir): New enum.
518         (enum df_confluence_op): New enum.
519         (struct df): Add inverse_rts_map.
520
521         * df.c: Add sbitmap.h to the list of includes.
522         (df_rd_global_compute): Removed.
523         (df_ru_global_compute): Removed.
524         (df_lr_global_compute): Removed.
525         (df_rd_transfer_function): New function.
526         (df_ru_transfer_function): New function.
527         (df_lr_transfer_function): New function.
528         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
529         Use iterative_dataflow_bitmap instead of df_*_global_compute.
530         (iterative_dataflow_sbitmap): New function.
531         (iterative_dataflow_bitmap): New function.
532
533 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
534
535         * doc/gcc.texi: Move terminology and spelling conventions to
536         htdocs/codingconventions.html.
537
538 2001-11-07  Graham Stott  <grahams@redhat.com>
539
540         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
541
542 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
543
544         * expmed.c (expand_mult): Force operand to register before computing
545         cost.
546         * i386.c (x86_decompose_lea): New global vairable.
547         * i386.h (x86_decompose_lea): Declare.
548         (TARGET_DECOMPOSE_LEA): New macro.
549         (RTX_COST): Handle leas properly.
550
551 2001-11-06  Richard Henderson  <rth@redhat.com>
552
553         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
554         defined for a CONSTRUCTOR; don't check it.
555
556 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
557
558         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
559         test for absolute pathnames.
560
561 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
562
563         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
564         instructions up to the target pc inclusive.
565
566 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
567
568         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
569
570 2001-11-06  Eric Christopher  <echristo@redhat.com>
571
572         * config/mips/mips.md(movdf_internal2): Add constraints for float
573         to general register move.
574         * config/mips/elf64.h: Add default ABI.
575
576 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
577
578         * alias.c:: Include langhooks.h.
579         * emit-rtl.c: Similarly.
580         * toplev.c: Similarly.
581         * tree-inline.c: Similarly.
582         * langhooks-def.h: New, the old langhooks.h.  Give the default
583         hooks a common prefix.
584         * langhooks.h: Contents extracted from toplev.h.
585         * toplev.h: Move langhook stuff to langhooks.h.
586         * langhooks.c: Give default hooks a common prefix.
587
588         * c-lang.c: Include langhooks-def.h.
589         * objc/objc-act.c: Similarly.
590         * Makefile.in: Update.
591         * objc/Make-lang.in: Update.
592
593 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
594
595         * doc/install.texi: Document that configure options not listed in
596         this file are unsupported.  Document --with-system-zlib.
597
598 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
599
600         * rtl.h (mem_for_const_double): New declaration.
601         * varasm.c (mem_for_const_double): New function.
602         * config/convex/convex.md (movdf): Use it.
603         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
604         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
605         * config/m68k/m68kv4.h: Likewise.
606
607         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
608         of new GP reg classes.
609
610         * expr.c (store_field): When making temp object for unaligned
611         component, set it to alias set 0.
612
613 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
614
615         * c-common.c (c_expand_expr_stmt): Apply default conversions to
616         non-lvalue arrays if C99.
617         * c-typeck.c (default_conversion): Split out code handling
618         array-to-pointer and function-to-pointer conversions into a
619         separate default_function_array_conversion function.
620         (default_function_array_conversion): New function.  Keep track of
621         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
622         arrays unchanged outside C99 mode instead of giving an error for
623         them.
624         (build_component_ref): Use pedantic_non_lvalue when handling
625         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
626         (convert_arguments): Use default_function_array_conversion.
627         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
628         non-lvalues are OK.
629         (unary_complex_lvalue): Likewise.
630         (internal_build_compound_expr): Use
631         default_function_array_conversion.  Apply default conversions to
632         function in compound expression.
633         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
634         Use default_function_array_conversion.
635         * doc/extend.texi: Update documentation of subscripting non-lvalue
636         arrays.
637         Fixes PR c/461.
638
639 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
640
641         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
642         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
643         corresponding to the complete set of .po and .gmo files in
644         the source directory's po subdir, modified by LINGUAS.  Don't
645         look at ALL_LINGUAS.
646         * configure.in: Don't set ALL_LINGUAS.
647         * configure: Regenerate.
648
649         * Makefile.in (.po.gmo): Don't move into source directory.
650         (.po.pox): Clarify comments.
651         (install-po): Look for .gmo files in both srcdir and objdir;
652         don't fail if a file is totally missing.
653         (distclean): rmdir ada subdirectory too.
654
655 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
656
657         * config/rs6000/rs6000.c (rs6000_select_section): Handle
658         CONSTRUCTORs _correctly_.
659
660 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
661
662         * c-decl.c (delete_block): Remove.
663         * c-tree.h (delete_block): Remove.
664
665 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
666
667         * cppexp.c (lex, parse_defined): Update warning about defined.
668
669 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
670
671         * config/rs6000/rs6000.c (rs6000_select_section): Handle
672         CONSTRUCTORs too.
673
674 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
675
676         * config/arm/arm.c (arm_return_in_memory): Cope with
677         int_size_in_bytes returning -1.
678
679         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
680         DECL being NULL.
681
682 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
683
684         * Makefile.in (bb-reoder.o): Add depdendency on cfglayout.h;
685         remove unneded depdendencies;
686         (cfglayout.o): New.
687         * cfglayout.c, cfglayout.h: New files; break out from ...
688         * bb-reorder.c: ... here; Remove unneeded includes;
689
690 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
691
692         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
693
694 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
695
696         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
697         mode as well.  Do not explicitly create intermediate regs.
698
699 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
700
701         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
702         (common_section): Delete unused variable.
703         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
704         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
705         * arm-protos.h (arm_poke_function_name, aof_add_import,
706         aof_delete_import): Const-ify.
707         * arm.c (legitimize_pic_address): Wrap variables in the macro
708         controlling their usage.
709         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
710         (arm_poke_function_name, pic_chain, import, aof_add_import,
711         aof_delete_import): Const-ify.
712         * i386.c (ix86_osf_output_function_prologue): Const-ify.
713         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
714         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
715         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
716         * i860/sysv3.h: Add missing comment closure.
717         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
718         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
719         to symbolic_operand.
720
721         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
722         (i960-*-*): Set tmake_file.
723         (sparc86x-*-elf*): Fix typo in header name.
724
725         * sched-rgn.c (schedule_insns): Delete unused variable.
726
727 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
728
729         PR c/2820
730         * c-typeck.c (lookup_field): Rework to return a chain down to
731         the looked-up field.
732         (build_component_ref): Use the new lookup_field to handle
733         nested anonymous entities correctly.
734
735 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
736
737         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
738         Change parameters to gen_rtx_CONST_DOUBLE.
739         (GEN_INT64, sparc_emit_set_const64): Likewise.
740         * config/sparc/sparc.md (movdf split): Likewise.
741
742 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
743
744         * unroll.c (calculate_giv_inc): Use find_last_value rather
745         than just hoping the last instruction is the right SET.
746         [Fixes 990604-1.c on stormy16.]
747
748         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
749         library at all if -T is used.
750
751         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
752         some uses of uninitialized variables in error cases.
753
754         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
755         look at 'temp' if we won't be using it.
756
757         * config/stormy16/stormy16.h (CONST_COSTS): Define.
758         (RTX_COSTS): Define.
759         (ADDRESS_COST): Define.
760         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
761
762         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
763
764         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
765         stormy16_asm_output_mi_thunk.
766         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
767         function.
768         * config/stormy16/stormy16-protos.h
769         (stormy16_asm_output_mi_thunk): New prototype.
770
771 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
772
773         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
774         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
775         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
776         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
777         sched-int.h, toplev.c, config/alpha/alpha.c,
778         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
779         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
780         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
781         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
782         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
783         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
784         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
785
786 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
787
788         * Makefile.in (dbxout.o): Depend on function.h.
789         * collect2.c (is_in_list): Hide unused function.
790         * dbxout.c: Include function.h.
791         (source_label_number, dbxout_source_line, dbxout_source_file,
792         dbxout_function_end, dbxout_begin_function): Wrap/move inside
793         macros controlling usage.
794         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
795         * output.h (exports_section): Prototype.
796
797         * convex.c (convex_output_function_prologue): Fix format specifier
798         warning.
799         (asm_declare_function_name): Fix signed/unsigned warning.
800         (print_operand): Fix format specifier warning.
801         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
802         * dsp16xx-protos.h (uns_comparison_operator,
803         num_1600_core_shifts): Prototype.
804         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
805         (frame_size, frame_pointer_offset): Delete.
806         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
807         Make static.  Fix format specifier warnings.
808         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
809         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
810         * dsp16xx.md: Add default case in switches.
811         * fr30.h (IN_RANGE): Delete.
812         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
813         * mcore-protos.h (mcore_output_cmov): Const-ify.
814         * mcore.c (mcore_output_cmov): Likewise.
815         * mcore.h (switch_to_section): Make static and prototype.
816         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
817         unsigned>=0 warnings.
818         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
819         * rs6000-protos.h (read_only_data_section,
820         read_only_private_data_section): Prototype.
821         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
822         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
823         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
824
825 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
826
827         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
828         ATTRIBUTE_UNUSED.
829         * final.c (final_scan_insn): Add brackets around body of if-stmt.
830         * gcc.c (convert_filename): Add static prototype.  Const-ify.
831         Wrap variable in macros controlling its use.
832         * output.h (sdata_section): Add prototype.
833
834         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
835         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
836         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
837         (ASM_FILE_START): Const-ify.
838         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
839         specifier warning.
840         * c4x.md: Don't use the 'U' integer suffix.
841         * clipper.md (clipper_movstr): Delete declaration.
842         * d30v-protos.h (d30v_move_2words): Const-ify.
843         (debug_stack_info): Add prototype.
844         * d30v.c: Include "integrate.h".
845         (d30v_function_arg_boundary, d30v_function_arg,
846         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
847         signed/unsigned warnings.
848         (d30v_print_operand_memory_reference, d30v_move_2words):
849         Const-ify.
850         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
851         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
852         * fr30.md: Const-ify.
853         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
854         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
855         (mvs_get_label_page): Hide unused static function.
856         * i860.c (current_function_original_name): Const-ify.
857         * i860/sysv3.h (current_function_original_name): Likewise.
858         * i860/sysv4.h (current_function_original_name): Likewise.
859         * i960.md: Add default case in switches.  Remove unused variable.
860         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
861         * m32r.md: Const-ify.
862         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
863         * m68hc11.c: Include "reload.h".
864         (static_chain_reg, print_options, m68hc11_asm_file_start):
865         Const-ify.
866         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
867         around & in comparison.
868         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
869         * mn10200.c (shift_mode): Remove trailing comma.
870         * mn10300-protos.h (output_tst): Const-ify.
871         * mn10300.c (output_tst): Likewise.
872         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
873         warnings.
874         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
875         * pa.c (output_ascii): Likewise.
876         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
877         * pdp11.md (expand_unop): Delete declarations.
878         * pj-protos.h (pj_output_addsi3): Const-ify.
879         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
880         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
881         unique_src_operand): Add prototypes.
882         (pj_output_store_into_lval): Make definition static.
883         (pj_function_incoming_arg): Don't use unary plus.
884         (pj_output_addsi3): Const-ify.
885         * romp.md (get_symref): Delete declarations.
886         * v850-c.c (mark_current_function_as_interrupt): Don't return
887         value from void function.
888         * v850.c: Include "integrate.h".
889         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
890         * vax-protos.h (const_section): Add prototype.
891
892 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
893
894         * machmode.def: Add documentation for the seventh argument in
895         vector modes.
896
897 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
898
899         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
900         consistently.
901         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
902         <-melf>: Don't have markup for ELF acronym.
903
904 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
905
906         * config.gcc (mmix-*-*): New target.
907         * doc/invoke.texi: Document MMIX options.
908         * doc/contrib.texi: Add note about MMIX port to my entry.
909         * config/mmix/t-mmix: New file.
910         * config/mmix/mmix.h: New file.
911         * config/mmix/mmix-protos.h: New file.
912         * config/mmix/mmix.c: New file.
913         * config/mmix/mmix.md: New file.
914         * config/mmix/crti.asm: New file.
915         * config/mmix/crtn.asm: New file.
916
917 2001-11-03  Kazu Hirata  <kazu@hxi.com>
918
919         * config/sparc/linux-aout.h: Fix comment formatting.
920         * config/sparc/linux.h: Likewise.
921         * config/sparc/linux64.h: Likewise.
922         * config/sparc/lynx.h: Likewise.
923         * config/sparc/pbd.h: Likewise.
924         * config/sparc/sol2-sld-64.h: Likewise.
925         * config/sparc/sol2.h: Likewise.
926         * config/sparc/sparc.c: Likewise.
927         * config/sparc/sparc.h: Likewise.
928         * config/sparc/sparc.md: Likewise.
929         * config/sparc/sunos4.h: Likewise.
930         * config/sparc/vxsim.h: Likewise.
931         * config/sparc/vxsparc.h: Likewise.
932         * config/sparc/vxsparc64.h: Likewise.
933
934 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
935
936         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
937         reference to CONST_DOUBLE_MEM in comment.
938         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
939         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
940         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
941         * function.c (pop_function_context_from): Don't call
942         restore_varasm_status.
943         * function.h (restore_varasm_status): Delete declaration.
944         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
945         * rtl.c: Likewise.
946         * rtl.def (CONST_DOUBLE): Update comment.
947         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
948         (CONST_DOUBLE_CHAIN): Likewise.
949         (CONST_DOUBLE_MEM): Delete.
950         (gen_rtx_CONST_DOUBLE): Update parameters.
951         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
952         Remove reference to CONST_DOUBLE_MEM.
953         (const_alias_set): New variable.
954         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
955         (immed_real_const_1): Adjust tests for 0, 1, and 2.
956         Don't set CONST_DOUBLE_MEM.
957         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
958         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
959         Put constant in const_alias_set.
960         (struct pool_constant): ALIGN now unsigned.
961         OFFSET now HOST_WIDE_INT.
962         Delete LABEL.
963         (restore_varasm_status): Deleted.
964         (mark_pool_constant): Mark desc->rtl.
965         (force_const_mem): Rework to store rtl in hash table,
966         not CONST_DOUBLE_MEM.
967         Put constant in const_alias_set.
968         (find_pool_constant): Check desc->rtl.
969         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
970         (init_varasm_once): Initialize const_alias_set.
971
972         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
973         force_const_mem.
974
975         * reload.c (combine_reloads): Don't combine an output reload if there
976         are other reloads around for part of the output.
977
978         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
979         constant expression.
980         (set_mem_decl): New function.
981         * expr.h (set_mem_decl): New declaration.
982         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
983         (output_asm_operand_names): Add tab.
984         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
985
986         * builtins.c (get_memory_rtx): Properly set MEM alias set and
987         attributes.
988
989 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
990
991         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
992         Use "invalid" instead of "illegal".  Use @r in comments in
993         examples.
994
995 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
996
997         * c-decl.c (pushdecl): Move block inside if conditional to remove
998         possibility of a segfault.  Lookup block-level extern
999         variables in enclosing scopes correctly.
1000
1001         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
1002
1003 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
1004
1005         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
1006         SUBREG so we avoid SUBREGing memory.
1007
1008         * expmed.c (store_bit_field): Same.
1009
1010 2001-11-02  DJ Delorie  <dj@redhat.com>
1011
1012         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
1013         using FP registers for DImode mem-mem moves is acceptable.
1014
1015 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
1016
1017         * builtins.c (apply_args_size): Handle vector arguments.
1018         (apply_result_size): Same.
1019
1020         * machmode.def: Set WIDER mode field for all vector entries.
1021
1022 2001-11-02  Graham Stott  <grahams@redhat.com>
1023
1024         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
1025
1026 2001-11-01  Eric Christopher  <echristo@redhat.com>
1027
1028         * config.gcc: Revert part of earlier patch.
1029         * config/mips/linux.h: Ditto.
1030         * df.c: Include tm_p.h to avoid warnings.
1031         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
1032         #if/#endif.
1033         * config/mips/mips.c: Define mips_abi regardless.
1034         (mips_output_function_prologues): Add long casts for .frame
1035         output.
1036         (override_options): Allow use of ABI_32.
1037
1038 2001-11-01  Kazu Hirata  <kazu@hxi.com>
1039
1040         * config/m68hc11/m68hc11.c: Fix comment formatting.
1041         * config/m68hc11/m68hc11.h: Likewise.
1042         * config/m68hc11/m68hc11.md: Likewise.
1043
1044 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
1045
1046         * c-typeck.c (default_conversion): Retain the original expression
1047         codes.
1048         * gcc.dg/Wparentheses.c: New tests.
1049
1050 2001-11-01  David S. Miller  <davem@redhat.com>
1051
1052         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
1053         64-bit Sparc description more in line with reality.
1054
1055 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
1056
1057         * Makefile.in (GCOV_OBJS): Add version.o.
1058         * gcov.c: Include "version.h" and <getopt.h>.
1059         (gcov_version_string): Remove.
1060         (print_usage): Take a parameter to determine whether this is a
1061         call from --help or an error message.  Give fuller output that
1062         follows the GNU Coding Standards for --help.
1063         (print_version): New function.
1064         (options): New.
1065         (process_args): Use getopt_long.  Support long options.  Follow
1066         GNU Coding Standards for --help and --version.
1067         * doc/gcov.texi: Document long options.
1068         Addresses part of PR other/704.
1069
1070 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1071
1072         * pa.c (output_move_double): Fix typo in double load.
1073
1074 2001-11-01  Kazu Hirata  <kazu@hxi.com>
1075
1076         * config/h8300/h8300.c (h8300_encode_label): Compute a string
1077         before passing it to ggc_alloc_string.
1078
1079 2001-11-01  Kazu Hirata  <kazu@hxi.com>
1080
1081         * config/m68k/3b1.h: Fix comment formatting.
1082         * config/m68k/3b1g.h: Likewise.
1083         * config/m68k/a-ux.h: Likewise.
1084         * config/m68k/amix.h: Likewise.
1085         * config/m68k/apollo68.h: Likewise.
1086         * config/m68k/atari.h: Likewise.
1087         * config/m68k/aux-exit.c: Likewise.
1088         * config/m68k/ccur-GAS.h: Likewise.
1089         * config/m68k/crds.h: Likewise.
1090         * config/m68k/dpx2.h: Likewise.
1091         * config/m68k/dpx2g.h: Likewise.
1092         * config/m68k/hp310.h: Likewise.
1093         * config/m68k/hp320.h: Likewise.
1094         * config/m68k/isi.h: Likewise.
1095         * config/m68k/linux.h: Likewise.
1096         * config/m68k/lynx.h: Likewise.
1097         * config/m68k/m68k-psos.h: Likewise.
1098         * config/m68k/m68k.c: Likewise.
1099         * config/m68k/m68k.h: Likewise.
1100         * config/m68k/m68k.md: Likewise.
1101         * config/m68k/m68kelf.h: Likewise.
1102         * config/m68k/m68kv4.h: Likewise.
1103         * config/m68k/mot3300.h: Likewise.
1104         * config/m68k/news.h: Likewise.
1105         * config/m68k/next.h: Likewise.
1106         * config/m68k/pbb.h: Likewise.
1107         * config/m68k/plexus.h: Likewise.
1108         * config/m68k/sgs.h: Likewise.
1109         * config/m68k/sun3.h: Likewise.
1110         * config/m68k/tower.h: Likewise.
1111         * config/m68k/vxm68k.h: Likewise.
1112
1113 2001-10-31  DJ Delorie  <dj@redhat.com>
1114
1115         * config/mips/mips.h (mips_cache_flush_func): Prototype.
1116         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
1117         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
1118         * config/mips/mips.c (mips_cache_flush_func): New.
1119         * doc/invoke.texi: Document the new options.
1120
1121 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
1122
1123         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
1124         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
1125
1126         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
1127
1128         * config/cris/cris.c: Include output.h after tree.h but before
1129         target.h.
1130
1131 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
1132
1133         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
1134         (INTL_SUBDIRS): Just intl.
1135         (.SUFFIXES): Add .gmo .po .pox.
1136         (native): Also depend on build-@POSUB@.
1137         (intl.all, intl.install): Depend on config.h and things it includes.
1138         (po-generated): New target; depend on c-parse.c and tradcif.c.
1139         (install-normal): Also depend on install-@POSUB@.
1140         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
1141         (build-, install-, build-po, update-po, install-po,
1142         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
1143
1144         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
1145         * configure.in: Don't munge XGETTEXT.  Don't generate
1146         po/Makefile.in.
1147         * configure: Regenerate.
1148
1149         * exgettext: Delete.
1150         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
1151         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
1152
1153 2001-10-31  Kazu Hirata  <kazu@hxi.com>
1154
1155         * config/h8300/h8300.md (two anonymous patterns): New.
1156
1157 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
1158
1159         * tree.h (tree_index): Add support for V16QI and V8HI.
1160         (V8HI_type_node): New.
1161         (V16QI_type_node): New.
1162
1163         * tree.c (build_common_tree_nodes_2): Same.
1164
1165         * c-common.c (type_for_mode): Same.
1166
1167 2001-10-31  Kazu Hirata  <kazu@hxi.com>
1168
1169         * config/i386/att.h: Fix comment formatting.
1170         * config/i386/beos-elf.h: Likewise.
1171         * config/i386/bsd.h: Likewise.
1172         * config/i386/bsd386.h: Likewise.
1173         * config/i386/crtdll.h: Likewise.
1174         * config/i386/cygwin.asm: Likewise.
1175         * config/i386/cygwin.h: Likewise.
1176         * config/i386/djgpp.h: Likewise.
1177         * config/i386/freebsd-aout.h: Likewise.
1178         * config/i386/freebsd.h: Likewise.
1179         * config/i386/gas.h: Likewise.
1180         * config/i386/i386-interix.h: Likewise.
1181         * config/i386/i386-protos.h: Likewise.
1182         * config/i386/i386.c: Likewise.
1183         * config/i386/i386.h: Likewise.
1184         * config/i386/i386.md: Likewise.
1185         * config/i386/i386elf.h: Likewise.
1186         * config/i386/interix.c: Likewise.
1187         * config/i386/isc.h: Likewise.
1188         * config/i386/isccoff.h: Likewise.
1189         * config/i386/iscdbx.h: Likewise.
1190         * config/i386/linux.h: Likewise.
1191         * config/i386/lynx.h: Likewise.
1192         * config/i386/mingw32.h: Likewise.
1193         * config/i386/netbsd-elf.h: Likewise.
1194         * config/i386/next.h: Likewise.
1195         * config/i386/osf1elf.h: Likewise.
1196         * config/i386/osfrose.h: Likewise.
1197         * config/i386/sco5.h: Likewise.
1198         * config/i386/seq-gas.h: Likewise.
1199         * config/i386/seq-sysv3.h: Likewise.
1200         * config/i386/sequent.h: Likewise.
1201         * config/i386/sol2.h: Likewise.
1202         * config/i386/sun386.h: Likewise.
1203         * config/i386/uwin.asm: Likewise.
1204         * config/i386/uwin.h: Likewise.
1205         * config/i386/vxi386.h: Likewise.
1206         * config/i386/win32.h: Likewise.
1207         * config/i386/winnt.c: Likewise.
1208         * config/i386/xm-cygwin.h: Likewise.
1209         * config/i386/xm-mingw32.h: Likewise.
1210
1211 2001-10-31  Kazu Hirata  <kazu@hxi.com>
1212
1213         * builtins.def: Fix comment typos.
1214         * config/alpha.c: Likewise.
1215         * config/arm/arm.c: Likewise.
1216         * config/avr/avr.h: Likewise.
1217         * config/d30v/d30v.c: Likewise.
1218         * config/d30v/d30v.h: Likewise.
1219         * config/d30v/d30v.md: Likewise.
1220         * config/dsp16xx/dsp16xx.c: Likewise.
1221         * config/fr30/fr30.c: Likewise.
1222         * config/fr30/fr30.md: Likewise.
1223         * config/i386/i386.c: Likewise.
1224         * config/i860/i860.c: Likewise.
1225         * config/i960/i960.c: Likewise.
1226         * config/ia64/ia64.c: Likewise.
1227         * config/mips/mips.c: Likewise.
1228         * config/pa/pa.c: Likewise.
1229         * config/rs6000/rs6000.c: Likewise.
1230         * config/s390/s390.c: Likewise.
1231         * config/sparc/sparc.c: Likewise.
1232
1233 2001-10-30  Kazu Hirata  <kazu@hxi.com>
1234
1235         * config/mips/elf.h: Fix comment formatting.
1236         * config/mips/elf64.h: Likewise.
1237         * config/mips/iris5.h: Likewise.
1238         * config/mips/iris5gas.h: Likewise.
1239         * config/mips/iris6.h: Likewise.
1240         * config/mips/isa3264.h: Likewise.
1241         * config/mips/linux.h: Likewise.
1242         * config/mips/mips.c: Likewise.
1243         * config/mips/mips.h: Likewise.
1244         * config/mips/mips.md: Likewise.
1245         * config/mips/mips16.S: Likewise.
1246         * config/mips/netbsd.h: Likewise.
1247         * config/mips/osfrose.h: Likewise.
1248         * config/mips/r3900.h: Likewise.
1249         * config/mips/sni-svr4.h: Likewise.
1250         * config/mips/svr4-t.h: Likewise.
1251         * config/mips/ultrix.h: Likewise.
1252
1253 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
1254
1255         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
1256         when we update head->current.
1257
1258 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
1259
1260         * tree.c (id_string_size): Remove.
1261         (dump_tree_statistics): Update.
1262         * toplev.c (compile_file): If dumping stats, dump tree stats too.
1263
1264 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
1265
1266         * sched-rgn.c (schedule_insns): Fix comment.
1267
1268 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
1269
1270         * configure.in: Correct previous change: don't assume that
1271         gas's version number _isn't_ the last thing on the line, or
1272         isn't the only number on the line, either.
1273         * configure: Regenerate.
1274
1275 2001-10-30  Kazu Hirata  <kazu@hxi.com>
1276
1277         * cfgcleanup.c: Fix a comment typo.
1278
1279 2001-10-30  Kazu Hirata  <kazu@hxi.com>
1280
1281         * alias.c: Fix comment formatting.
1282         * recog.c: Likewise.
1283         * config/cris/cris.c: Likewise.
1284         * config/cris/cris.h: Likewise.
1285         * config/i960/i960.c: Likewise.
1286         * config/i960/i960.h: Likewise.
1287
1288 2001-10-30  Kazu Hirata  <kazu@hxi.com>
1289
1290         * config/arm/arm.c: Fix a comment typo.
1291         * config/arm/arm.h: Likewise.
1292         * config/ia64/ia64.c: Likewise.
1293
1294 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
1295
1296         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
1297         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
1298         * rtl.h (set_unique_reg_note): Change return value.
1299         * gcse.c (try_replace_reg): Use set_unique_reg_note.
1300         * cse.c (cse_insn): Likewise.
1301         * expr.c (emit_move_insn): Likewise.
1302         * explow.c (force_reg): Likewise.
1303         * local-alloc (update_equiv_regs): Likewise.
1304         * loop.c (move_moveables, load_mems): Likewise.
1305         * reload (find_reloads): Likewise.
1306
1307 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
1308
1309         Localization fixes.
1310         * c-decl.c (parmlist_tags_warning, start_struct,
1311         check_for_loop_decls): Separate messages for struct, union and
1312         enum cases to allow for languages in which they have different
1313         genders.
1314         * c-format.c (scanf_flag_specs): Separate short and long name of
1315         the assignment suppression feature.
1316         (check_format_types): Localize "pointer" and "different types"
1317         strings.
1318         * c-lex.c (lex_number): Localize "an unsigned long int" and
1319         related strings.
1320         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
1321         warning message.
1322         * c-typeck.c (build_unary_up): Separate messages for increment and
1323         decrement cases to allow for languages in which they use different
1324         articles.  Localize the strings "increment" and "decrement" in one
1325         case.
1326
1327 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
1328
1329         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
1330         when no changes has been made.
1331
1332         * gcse.c (reg_set_bitmap): Turn into reg_set.
1333         (modify_mem_list_set, canon_modify_mem_list_set)
1334         (clear_modify_mem_tables, free_modify_mem_tables): New.
1335         (gcse_main); Use free_modify_mem_tables.
1336         (free_gcse_mem): Likewise; free the bitmaps.
1337         (alloc_gcse_main): Initialize the bitmaps.
1338         (canon_list_insert): Set canon_modify_mem_list_set.
1339         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
1340         (compute_hash_table): Use clear_modify_mem_tables.
1341         (reset_opr_set_tables): Likewise.
1342         (oprs_not_set_p): reg_set_bitmap is regset.
1343         (mark_set, mark_clobber): Likewise.
1344
1345         * df.h (DF_EQUIV_NOTES): New constant.
1346         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
1347         when asked for.
1348
1349         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
1350         (init_regions, schedule_insns): Conditionalize the checking
1351         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
1352
1353 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
1354
1355         * i386.md (movti_rex64 splitter): Fix condition.
1356
1357 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
1358
1359         * configure.in: Do not assume that gas's version number is the
1360         last thing on the first line of as --version output.
1361         * configure: Regenerate.
1362
1363         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
1364         MT_WARNING, MT_ERROR, MT_FATAL.
1365         (main): Call gcc_init_libintl.
1366         (v_message): Call gettext on msgid and "warning: "
1367         * tradcif.y: Include intl.h.
1368         (yyerror): Make parameter definition consistent with
1369         prototype.  Call gettext on msgid argument.
1370
1371 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1372
1373         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
1374         warnings.
1375
1376         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
1377
1378 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1379
1380         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
1381         before referencing it.
1382
1383 2001-10-26  DJ Delorie  <dj@redhat.com>
1384
1385         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
1386         override -G, and force -G0.
1387
1388 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
1389
1390         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
1391         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
1392         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
1393         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
1394
1395         * loop.h (struct induction): Rename ext_dependant to
1396         ext_dependent.
1397         * loop.c: Change all uses.
1398         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
1399         All callers changed.
1400         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
1401
1402 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
1403
1404         * c-parse.in (expr_no_commas, primary), c-typeck.c
1405         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
1406
1407 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
1408
1409         Undo assemble_name change in earlier patch.
1410
1411 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
1412
1413         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
1414         determining the type of the receiver, do not check that TREE_CODE
1415         of receiver is CALL_EXPR before calling receiver_is_class_object().
1416         (receiver_is_class_object): For the GNU runtime: recognize
1417         the case that the receiver is self in a class method context.
1418         Check that TREE_CODE of receiver is CALL_EXPR when checking that
1419         the receiver is a call to objc_get_class.
1420
1421 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1422
1423         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
1424
1425 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1426
1427         * Makefile.in (OBJS): Put all files in alphabetical order.
1428
1429         * dwarf2out.c (add_const_value_attribute): Fix error in last
1430         change.
1431
1432 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
1433
1434         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
1435         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
1436         fix warning.
1437         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
1438         (life_analysis): call purge_all_dead_edges after deleting noops.
1439         (delete_noop_move): Do not purge CFG.
1440         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
1441
1442 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
1443
1444         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
1445         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
1446         (ASM_GLOBALIZE_LABEL): Use assemble_name.
1447         (ASM_OUTPUT_COMMON): Likewise.
1448         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
1449         (rs6000_output_function_epilogue): Likewise.
1450         (output_mi_thunk): Fix typo.
1451         (rs6000_output_symbol_ref): Use assemble_name.
1452         (output_toc): Likewise.
1453         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
1454         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
1455         assemble_name calls STRIP_NAME_ENCODING.
1456         (ASM_OUTPUT_LABEL): Use assemble_name.
1457         (ASM_GLOBALIZE_LABEL): Likewise.
1458         (ASM_DECLARE_FUNCTION_NAME): Likewise.
1459         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
1460         (ASM_OUTPUT_LOCAL): Likewise.
1461
1462 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1463
1464         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
1465         (expand_builtin_apply, expand_builtin_return): Likewise.
1466         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
1467
1468 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
1469
1470         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
1471         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
1472         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
1473         configure, configure.in, except.c, except.h, flow.c, function.c,
1474         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
1475         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
1476         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
1477         unroll.c: Fix spelling errors.
1478
1479         * doc/extend.texi, doc/invoke.texi: Fix spelling.
1480
1481         * doc/gcc.texi: Document use of "dependent" and American spelling.
1482
1483 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
1484
1485         * expr.c (emit_group_load): Support CONCATs by storing them to memory
1486         and reloading.
1487
1488 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1489
1490         * expr.c (store_constructor_field): Only call adjust_address on MEM.
1491
1492 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
1493
1494         * genrecog.c (write_switch):  Output if before switch for
1495         DT_elt_zero_wide_safe.
1496
1497 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1498
1499         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
1500         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
1501         (FUNCTION_PROFILER): Const-ify.
1502         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
1503         (eliminate_constant_term, assemble_name, output_addr_const):
1504         Remove declarations.
1505         (ptr_half_pic_address_p, half_pic_hash): Prototype.
1506         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
1507         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
1508         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
1509         (half_pic_declare, half_pic_external): Const-ify.
1510         * toplev.c: Include "halfpic.h".
1511
1512 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
1513
1514         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
1515         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
1516         config/i386/i386.c, config/i386/i386-interix.h,
1517         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
1518         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
1519         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
1520         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
1521         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
1522         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
1523         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
1524         spelling errors.
1525
1526         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
1527         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
1528         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
1529         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
1530         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
1531         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
1532         system.h, toplev.c: Fix spelling errors.
1533
1534 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1535
1536         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
1537
1538         * dwarf2out.c (reg_number): Abort if pseudo.
1539         (reg_loc_descriptor): Return 0 if pseudo.
1540         (is_based_loc): Return 0 if pseudo.
1541         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
1542         recursive calls.
1543         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
1544         (loc_descriptor): Return 0 if can't find location and handle 0
1545         return from recursive calls.
1546         (loc_descriptor_from_tree): Likewise.
1547         Fix handling of indirect.
1548         Also return 0 for PLACEHOLDER_EXPR.
1549         Clean up COMPONENT_REF cases.
1550         (add_AT_location_descriptor): Simplify, but handle 0 return from
1551         loc_descriptor.
1552         (add_const_value_attribute): Avoid shift count warning.
1553         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
1554         Set comp_unit_die as context if not in function.
1555
1556         * config/mips/mips-protos.h: Break up long lines.
1557         Remove needless #ifdef/#endif blocks.
1558         Don't declare functions declared in file made by genpreds or recog.h.
1559         * config/mips/mips.c (mips_output_function_prologue): TSIZE
1560         is now HOST_WIDE_INT; delete unneeded casts.
1561         * config/mips/mips.h: Don't use #elif.
1562
1563         * expr.c (stor_constructor_field): Always call adjust_address.
1564         Copy TARGET before changing its alias set.
1565         (store_field): Likewise, for TO_RTX.
1566         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
1567         replacement.
1568         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
1569         (find_placeholder): Return 0 if can't find object.
1570         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
1571         returns 0.
1572
1573 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
1574
1575         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
1576
1577 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
1578
1579         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
1580         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
1581         (merge_blocks): Properly udpate life after making edge nonfallthru.
1582         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
1583
1584 2001-10-26  Kazu Hirata  <kazu@hxi.com>
1585
1586         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
1587
1588 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
1589
1590         * c-typeck.c (convert_arguments): When comparing for enumeral
1591         type equality, use TYPE_MAIN_VARIANT.
1592         * gcc.dg/Wconversion.c: New tests.
1593
1594 2001-10-26  Kazu Hirata  <kazu@hxi.com>
1595
1596         * s390/s390.c: Fix comment typos.
1597         * s390/s390.h: Likewise.
1598         * s390/s390.md: Likewise.
1599
1600 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
1601
1602         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
1603         (walk_tree): Use it for tail calls where appropriate.
1604
1605 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
1606
1607         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
1608         non-local label_refs.
1609
1610 2001-10-26  Kazu Hirata  <kazu@hxi.com>
1611
1612         * config/h8300/h8300.md (4 anonymous patterns): New.
1613
1614 2001-10-26  Kazu Hirata  <kazu@hxi.com>
1615
1616         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
1617         algorithm through the shift_info structure.
1618         (emit_a_shift): Update the use of get_shift_alg.
1619
1620 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
1621
1622         * sched-rgn.c: Remove bitset typedef.
1623         Change bitset to sbitmap in prototypes / variable types.
1624         Remove bbset_size.
1625         Remove edgeset_bits.
1626         Remove edgeset_size.
1627         s/BITSET_ADD/SET_BIT/g
1628         s/BITSET_INVERT/sbitmap_ones/g
1629         s/BITSET_INTER/sbitmap_a_and_b/g
1630         s/BITSET_UNION/sbitmap_a_or_b/g
1631         s/BITSET_DIFFER/sbitmap_difference/g
1632         s/bitset_member/TEST_BIT/g
1633         (BITSET_*): Removed.
1634         (bitset_member): Removed.
1635         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
1636         EXECUTE_IF_SET_IN_SBITMAP.
1637         (split_edges): Rewrite, use sbitmap functions instead of bitset
1638         operations.
1639         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
1640
1641 2001-10-26  Andreas Schwab  <schwab@suse.de>
1642
1643         * reload1.c (emit_input_reload_insns): Fix parens in last
1644         (undocumented) change that was supposed to change only whitespace.
1645
1646 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1647
1648         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
1649
1650         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
1651         ASM_OPERANDS.
1652
1653 2001-10-26  Andreas Jaeger  <aj@suse.de>
1654
1655         * flow.c (clear_log_links): Remove unused variable.
1656         * cfgcleanup.c (cleanup_cfg): Likewise.
1657
1658 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
1659
1660         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
1661         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
1662
1663 2001-10-26  Richard Henderson  <rth@redhat.com>
1664
1665         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
1666         rename PV_REG to R27_REG.
1667         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
1668         (REG_CLASS_FROM_LETTER): Update.
1669         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
1670         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
1671         (udivsi3, modsi3, umodsi3): Likewise.
1672         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
1673
1674 2001-10-26  Richard Henderson  <rth@redhat.com>
1675
1676         * cfg.c (clear_aux_for_blocks): Split out of ...
1677         (free_aux_for_blocks): here.
1678         (clear_aux_for_edges): Split from ...
1679         (free_aux_for_edges): here.
1680         * basic-block.h: Declare them.
1681         * lcm.c (compute_antinout_edge): Use them.
1682         (compute_laterin, compute_available, compute_nearerout): Likewise.
1683         (optimize_mode_switching): Likewise.
1684
1685 2001-10-26  Richard Henderson  <rth@redhat.com>
1686
1687         * Makefile.in (unstage*): Remove as, ld, collect-ld before
1688         moving everything back to the main build directory.
1689
1690 2001-10-26  Christopher Faylor  <cgf@redhat.com>
1691
1692         * config/i386/cygwin.h: Search target specfic include directory, if
1693         appropriate.
1694
1695 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1696
1697         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
1698         of macro guards. Fix #endif comment.
1699
1700         * output.h (default_exception_section, default_eh_frame_section):
1701         Move prototypes outside of macro guard.
1702
1703         * crtstuff.c: Fix #endif comment.
1704
1705 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
1706
1707         * doc/md.texi (movMM): Clarify semantics of storing into a
1708         non-paradoxical SUBREG.
1709
1710 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
1711
1712         * langhooks.c (lang_hook_default_clear_binding_stack): New.
1713         (lang_hook_default_get_alias_set): Move next to other alias
1714         hooks.
1715         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
1716         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
1717         (LANG_HOOKS_INITIALIZER): Add it.
1718         * toplev.h (struct lang_hooks): Add clear_binding_stack.
1719         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
1720         instead of a loop calling poplevel.
1721
1722 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
1723
1724         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
1725         occurrences of #elif with #if...#endif.
1726
1727 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1728
1729         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
1730
1731 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1732
1733         * alias.c (can_address_p): No longer static.
1734         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
1735         Return 0 if all parameters are default values.
1736         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
1737         (adjust_address_1): Try harder to compute a size.
1738         * expr.c (expand_assignment, store_constructor): If can't address,
1739         set MEM_KEEP_ALIAS_SET_P.
1740         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
1741         (store_field): Likewise.
1742         (store_constructor): Simplify call to store_constructor_field.
1743         * expr.h (can_address_p): New declaration.
1744         * gensupport.c (gen_rtx_CONST_INT): New function.
1745         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
1746         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
1747         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
1748
1749         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
1750
1751 2001-10-24  Christopher Faylor  <cgf@redhat.com>
1752
1753         * config/i386/cygwin.h: Use proper path for mingw crt files when
1754         -mno-cygwin.
1755
1756 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1757
1758         * dwarf2out.c (file_info_cmp): Always return consistent results.
1759
1760 2001-10-24  Roger Sayle <roger@eyesopen.com>
1761
1762         * stmt.c (expand_end_case): Index jumptables from zero for
1763         suitably small values of minval.
1764
1765 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
1766
1767         * stor-layout.c (place_union_field): If any field was aligned with
1768         attribute aligned, set record type's TYPE_USER_ALIGN.
1769         (place_field): Likewise.
1770         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
1771         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
1772
1773 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
1774
1775         * c-common.h (struct c_common_identifier): Remove rid_code field.
1776         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
1777
1778         * c-typeck.c (constructor_designated): New local flag.
1779         (struct constructor_stack): Add "designated" field to match.
1780         (start_init): Clear it.
1781         (really_start_incremental_init, push_init_level): Push and
1782         clear it.
1783         (pop_init_level): Pop it.
1784         (set_designator): Set it.
1785
1786         (pop_init_level): Suppress "missing initializer" warnings if
1787         constructor_designated is true.
1788         (process_init_element): Suppress warning about union
1789         initialization under traditional C, if constructor_designated
1790         is true.
1791
1792 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1793
1794         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
1795         change.
1796
1797 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
1798
1799         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
1800
1801 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
1802
1803         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
1804         the node was already a set to a constant.
1805
1806 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1807
1808         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
1809         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
1810
1811 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1812
1813         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
1814         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
1815         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
1816         * s390.c (s390_final_chunkify): Don't use string concatenation.
1817         (s390_function_prologue, s390_function_epilogue): Const-ify.
1818         * s390.h (FUNCTION_PROFILER): Remove unused variable.
1819
1820 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
1821
1822         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
1823         prototypes.
1824
1825 2001-10-23  Stan Shebs  <shebs@apple.com>
1826
1827         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
1828         -traditional-cpp in first-stage compilation.
1829
1830 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1831
1832         * gensupport.c (target_flags): Add.
1833
1834 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
1835
1836         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
1837         if needed.
1838         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
1839         * except.c (expand_builtin_frob_return_addr): Likewise.
1840         (expand_builtin_eh_return): Likewise.
1841         * stmt.c (expand_computed_goto): Likewise.
1842         * explow.c (memory_address): Likewise.
1843         (allocate_dynamic_stack_space): Clean up predicate testing.
1844         (probe_stack_range): Convert SIZE to Pmode.
1845         * calls.c (rtx_for_function_call): Only call convert_memory_address
1846         if needed.
1847         Pass function call operand as ptr_mode, not Pmode.
1848         * expr.c (expand_assignment): Clean up calls to convert_memory
1849         address by only doing so when needed and making offsets Pmode.
1850         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
1851         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
1852         is in Pmode, not ptr_mode.
1853
1854 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1855
1856         * darwin-protos.h (constructor_section, destructor_section,
1857         mod_init_section, mod_term_section): Prototype.
1858         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
1859         Const-ify.
1860         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
1861         Likewise.
1862         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
1863         objc_section_init declaration.
1864         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
1865         (objc_section_init, try_section_alias): Make static.
1866         (alias_section): Make static and hide unused function.
1867         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
1868
1869 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1870
1871         * alias.c (can_address_p): Compnonents are not addressable if
1872         the containing type has alias set 0.
1873         (get_alias_set): Rework to use STRIP_NOPS.
1874         Only call front-end routine on object, type, or object with
1875         NOPs stripped, not inner values.
1876         Use language hook to call front-end routine.
1877         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
1878         (expand_builtin_apply): Call set_mem_align on MEMs we make.
1879         Don't pass alignment to emit_block_move.
1880         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
1881         (expand_builtin_memset): Likewise, but for clear_storage.
1882         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
1883         and remove C++ specific parts.
1884         * c-common.h (c_common_get_alias_set): Add declaration.
1885         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
1886         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
1887         (save_fixed_argument_area): Call set_mem_align.
1888         Remove alignment in call to emit_block_move.
1889         (emit_library_call_value_1, store_one_arg): Likewise.
1890         (target_for_arg): Remove; disabled long ago.
1891         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
1892         once and similar cleanups.
1893         (offset_address): Use proper introductory comment.
1894         * expr.c (emit_block_move): Use alignment from that of MEM args, not
1895         from explicit operand; all callers changed.
1896         (clear_storage): Likewise.
1897         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
1898         (store_field): Remove kludge on alias set used for to_rtx.
1899         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
1900         (expand_expr_unaligned): Call set_mem_attributes instead of
1901         set_mem_alias_set.
1902         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
1903         * function.c (assign_stack_temp_for_type): Set MEM alignment.
1904         (expand_function_end): Track MEM attributes of trampolines.
1905         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
1906         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
1907         attributes from original.
1908         * langhooks.c (lang_hook_default_get_alias_set): New function.
1909         (hook_get_alias_set_0): New function.
1910         * langhooks.h (hook_get_alias_set_0): New declaration.
1911         (lang_hook_default_get_alias_set): Likewise.
1912         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
1913         * reload1.c (alter_reg): Use adjust_address_nv.
1914         * rtl.c (get_mode_alignment): Moved to here.
1915         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
1916         change default if unknown from 1 to BITS_PER_UNIT.
1917         * stor-layout.c (get_mode_alignment): Remove from here.
1918         * toplev.h (struct lang_hoks): Add get_alias_set field.
1919         * tree.h (lang_get_alias_set): Delete declaration.
1920         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
1921         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
1922         (ix86_va_arg): Likewise.
1923         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
1924         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
1925         * config/sparc/sparc.c (sparc_va_arg): Likewise.
1926         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
1927         (expand_block_move_mem): Remove dead code.
1928
1929 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
1930
1931         * c-common.c (warn_div_by_zero): New.
1932         * c-common.h (warn_div_by_zero): New.
1933         * c-decl.c (c_decode_option): Take it on the command line.
1934         * c-typeck.c (build_binary_op): Warn about division by zero.
1935         * doc/invoke.texi: Document the new command line option, fix
1936         documentation of -Wmultichar.
1937         * testsuite/gcc.dg/divbyzero.c: New tests.
1938         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
1939
1940 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
1941
1942         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
1943
1944         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
1945         to avoid update_life_info call.
1946         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
1947         * cfgcleanup.c (bb_flags): New enum.
1948         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
1949         (notice_new_block, update_forwarder_flag): New functions.
1950         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
1951         (try_forward_edges): Likewise; update flags.
1952         (merge_blocks): Likewise.
1953         (outgoing_edges_match): Likewise.
1954         (try_crossjump_to_edge): Likewise.
1955         (try_optimize_cfg): Likewise; initialize and clear the flags;
1956         recompute life info if needed.
1957         (cleanup_cfg): No need to clear aux pointers.
1958
1959 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
1960
1961         * config/i386/i386.c (override_options): Default to minimum
1962         stack alignment when optimizing for code size.
1963         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
1964         change.
1965
1966         * config/i386/i386.c (override_options): Set upper limit of
1967         -mpreferred-stack-boundary to 12.
1968
1969 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
1970
1971         * recog.c (peephole2_optimize): Add default case to switch.
1972
1973 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
1974
1975         * doc/gcc.texi (Sending Patches): Remove.
1976
1977 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
1978
1979         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
1980         fields when comparing.
1981
1982 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1983
1984         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
1985         * arm.c (HOST_INT, HOST_UINT): Likewise.
1986
1987 2001-10-22  Stan Shebs  <shebs@apple.com>
1988
1989         * config/darwin-protos.h (darwin_exception_section): Declare.
1990         (darwin_eh_frame_section): Declare.
1991
1992 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
1993
1994         * i386.md (movti_rex64): Fix mode.
1995
1996 2001-10-22  Stan Shebs  <shebs@apple.com>
1997
1998         * target.h (struct gcc_target): Add asm_out.exception_section,
1999         asm_out.eh_frame_section.
2000         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
2001         (TARGET_ASM_EH_FRAME_SECTION): New.
2002         (TARGET_INITIALIZER): Update.
2003         * output.h (default_exception_section): Declare.
2004         (default_eh_frame_section): Declare.
2005         * dwarf2out.c: Include target.h.
2006         (output_call_frame_info): Call target hook for eh frames.
2007         (default_eh_frame_section): New function.
2008         * except.c: Include target.h.
2009         (output_function_exception_table): Call target hook for exception
2010         section.
2011         * varasm.c (default_exception_section): Rename from
2012         exception_section, remove EXCEPTION_SECTION macro.
2013
2014         * config/darwin.h (darwin_eh_frame_section): New function.
2015         (EXCEPTION_SECTION): Remove.
2016         (TARGET_ASM_EXCEPTION_SECTION): Define.
2017         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
2018         (nextstep_exception_section): New function.
2019         (nextstep_eh_frame_section): New function.
2020         (TARGET_ASM_EXCEPTION_SECTION): Define.
2021         (TARGET_ASM_EH_FRAME_SECTION): Define.
2022
2023         * config/pa/som.h (EXCEPTION_SECTION): Remove.
2024         (TARGET_ASM_EXCEPTION_SECTION): Define.
2025         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
2026         (EXCEPTION_SECTION): Remove.
2027         (TARGET_ASM_EXCEPTION_SECTION): Define.
2028         * config/stormy16/stormy16.h: Remove comments referencing
2029         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
2030
2031         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
2032         TARGET_ASM_EH_FRAME_SECTION.
2033
2034 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
2035
2036         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
2037         terms.
2038
2039         * c-format.c: Fix spelling typo in comment.
2040
2041         * sched-int.h: Fix typo in GCC preamble.
2042
2043 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2044
2045         PR debug/4252
2046         * doc/invoke.texi: Remove references to -fdump-translation-unit.
2047
2048 2001-10-22  Richard Henderson  <rth@redhat.com>
2049
2050         * config/i386/i386.c (ix86_expand_clear): New.
2051         * config/i386/i386-protos.h: Declare it.
2052         * config/i386/i386.md (setcc peep2s): Use it.
2053         (movsi_xor): Unexport.
2054
2055 2001-10-22  Richard Henderson  <rth@redhat.com>
2056
2057         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
2058         free_EXPR_LIST_list for LOG_LINKS.
2059
2060 2001-10-21  Robert Lipe  <robertlipe@usa.net>
2061
2062         * config/i386/i386.c (sco_asm_named_section): Delete.
2063         (sco_asm_out_constructor): Delete.
2064         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
2065         (ASM_OUTPUT_DOUBLE_INT): Likewise.
2066         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
2067         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
2068         (EXCEPTION_SECTION): Delete EH scn renaming hack.
2069
2070 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2071
2072         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
2073         and/or fold extra calls into fewer ones.
2074         * collect2.c (dump_file): Likewise.
2075         * cppexp.c (parse_number): Likewise.
2076         * cpplex.c (_cpp_lex_direct): Likewise.
2077         * final.c (output_asm_insn, asm_fprintf): Likewise.
2078         * fix-header.c (inf_scan_ident, main): Likewise.
2079         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
2080         Likewise.
2081         * fold-const.c (real_hex_to_f): Likewise.
2082         * gen-protos.c (parse_fn_proto): Likewise.
2083         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
2084         * genrecog.c (change_state, write_action): Likewise.
2085         * gensupport.c (shift_output_template): Likewise.
2086         * local-alloc.c (requires_inout): Likewise.
2087         * mips-tfile.c (IS_ASM_IDENT): Likewise.
2088         * protoize.c (is_id_char, main): Likewise.
2089         * real.c (asctoeg): Likewise.
2090         * recog.c (asm_operand_ok): Likewise.
2091         * reload.c (find_reloads): Likewise.
2092         * scan.c (scan_identget_token): Likewise.
2093         * sched-vis.c (print_value): Likewise.
2094         * stringpool.c (ggc_alloc_string): Likewise.
2095         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
2096         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
2097         * tradcpp.c (rescan): Likewise.
2098         * tree.c (clean_symbol_name): Likewise.
2099         * varasm.c (decode_reg_name): Likewise.
2100
2101         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
2102         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
2103         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
2104         * m88k.c (output_ascii): Likewise.
2105         * m88k.h (OVERRIDE_OPTIONS): Likewise.
2106         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
2107         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
2108         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
2109
2110 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
2111
2112         * langhooks.c (lang_hook_default_do_nothing,
2113         lang_hook_default_decode_option): New defaults.
2114         * langhooks.h: Make hooks unconditional and non-NULL.
2115         * toplev.c (compile_file, toplev_main): Update.
2116         * toplev.h: Update comments.
2117         * objc/objc-act.c (lang_hooks): Update to new paradigm.
2118
2119 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2120
2121         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
2122
2123         * system.h (IN_RANGE): New macro.
2124
2125 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
2126
2127         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
2128         INTLDEPS variable, which does not include $LIBICONV.
2129         * Makefile.in: Use INTLDEPS in LIBDEPS.
2130         * configure: Regenerate.
2131
2132 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
2133
2134         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
2135         * cpplex.c (lex_percent, lex_dot): Remove.
2136         (get_effective_char, skip_block_comment, skip_line_comment,
2137         parse_identifier_slow, parse_number, parse_string, save_comment,
2138         _cpp_lex_direct): Update to do lookback freely.
2139         (IF_NEXT_IS, BACKUP): New macros.
2140         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
2141         * cppmacro.c (paste_tokens): Update.
2142
2143 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
2144
2145         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
2146
2147 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
2148
2149         * reload1.c (reload): Check CONSTANT_P before calling
2150         LEGITIMATE_PIC_OPERAND_P.
2151         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
2152         workaround of 2001-10-13.
2153
2154 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
2155
2156         * i386.c (split_di): Handle splitting of DFmode.
2157
2158 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2159
2160         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
2161         (adjust_address_1, offset_address): Likewise.
2162
2163         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
2164         (output_asm_insn): Call it for each line output.
2165         Don't record an operand more than once.
2166
2167         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
2168         * main.c: Include config.h and system.h, but not ansidecl.h.
2169         * Makefile.in (main.o): Update accordingly.
2170
2171 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
2172
2173         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
2174
2175 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
2176
2177         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
2178         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
2179         Break out from ...
2180         (find_sub_basic_blocks): ... here;
2181         (find_many_sub_basic_blocks): New.
2182         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
2183
2184         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
2185
2186         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
2187
2188         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
2189
2190         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
2191         * flow.c (update_life_info): Measure time.
2192         * c-decl.c: Include timevar.h
2193         (c_expand_body): Measure time.
2194         * toplev.c (rest_of_compilation): Measure time of mode switching
2195         separately.
2196         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
2197
2198         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
2199         (lang_independent_options): Add asynchronous-unwind-tables
2200         (toplev_main): flag_asynchronous_unwind_tables implies
2201         flag_unwind_tables.
2202         * flags.h (flag_asynchronous_unwind_tables): Declare.
2203         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
2204         flag_asynchronous_unwind_tables.
2205         (output_call_frame_info): Likewise.
2206         * invoke.texi (-fasynchronous-unwind-tables): Document.
2207         * i386.c (optimization_options): Enable
2208         flag_asynchronous_unwind_tables.
2209
2210         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
2211         * i386.md (s* expanders): Destination is QImode.
2212
2213         * toplev.c (rest_of_compilation): Do not call clear_log_links.
2214         * rtl.h (clear_log_links): Kill.
2215         * flow.c (clear_log_links): Make static; accept blocks parameter;
2216         do no clear life info.
2217         (update_life_info): Call clear_log_links.
2218
2219         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
2220
2221 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
2222
2223         * cpplex.c (handle_newline, skip_escaped_newlines,
2224         get_effective_char, skip_block_comment, skip_line_comment,
2225         parse_identifier_slow, parse_number, parse_string,
2226         _cpp_lex_direct): Update to do more stepping back.
2227         (trigraph_ok): Similarly.  Rename trigraph_p.
2228         (SAVE_STATE, RESTORE_STATE): Remove.
2229         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
2230
2231         * cpplib.c (destringize): Rename destringize_and_run, and
2232         call run_directive directly.
2233         (_cpp_do__Pragma): Simplify.
2234
2235 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2236
2237         * pe.c (arm_pe_unique_section): Const-ify.
2238         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
2239         (switch_to_section): Add static prototype.
2240
2241         * output.h (drectve_section): Prototype.
2242
2243 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2244
2245         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
2246         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
2247         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
2248         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
2249         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
2250         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
2251         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
2252         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
2253         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
2254         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
2255         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
2256         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
2257         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
2258         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
2259         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
2260         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
2261         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
2262         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
2263         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
2264         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
2265         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
2266         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
2267         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
2268         cris-*-none, cris-*-linux*: Update ${tmfile} list.
2269         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
2270         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
2271         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
2272         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
2273         v850-*-*): Delete superflous ${cpu_type} setting.
2274         * config/linux.h: Delete svr4.h include.
2275         (SET_ASM_OP): Delete.
2276         * config/netware.h (INT_ASM_OP): Undef before define.
2277         * config/ptx4.h: Delete elfos.h include.
2278         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
2279         * config/svr4.h: Delete elfos.h include. Update commentary.
2280         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
2281         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
2282         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
2283         config/v850/v850.h: Delete svr4.h include.
2284         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
2285         config/m68k/m68kv4.h, config/m88k/sysv4.h,
2286         config/sparc/sysv4.h: Update includes.
2287         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
2288         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
2289         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
2290         config/m88k/dguxbcs.h: Delete includes.
2291         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
2292         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
2293         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
2294         it.
2295         * config/m88k/dgux.h: Delete include.
2296         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
2297         defining it.
2298         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
2299         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
2300         * config/sh/elf.h: Update include.
2301         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
2302         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
2303
2304 2001-10-19  Catherine Moore  <clm@redhat.com>
2305
2306         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
2307         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
2308         base and count fields.
2309         (stormy16_expand_builtin_va_start):  last_reg_count changed to
2310         size_of_reg_args.  Use count + size in first comparison.
2311
2312 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2313
2314         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
2315         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
2316         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
2317         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
2318         Set alignment from type if INDIRECT_REF.
2319         (adjust_address_1, offset_address): Simplify alignment compuitation.
2320         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
2321         here; done by set_mem_attributes.
2322
2323 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2324
2325         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
2326         * arm-protos.h (rdata_section, zero_init_section, common_section):
2327         Prototype.
2328         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
2329         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
2330         traditional mode stringification.
2331         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
2332         in macros controling its use.
2333         * rtlanal.c: Include tm_p.h.
2334         * varasm.c (asm_output_aligned_bss): Mark parameter with
2335         ATTRIBUTE_UNUSED.
2336         (assemble_constant_align, assemble_start_function, assemble_align,
2337         assemble_variable, assemble_trampoline_template,
2338         output_constant_def_contents): Wrap potentially empty if-stmt body
2339         in brackets.
2340
2341 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2342
2343         * a29k-protos.h (literal_section): Prototype.
2344         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
2345         * a29k.md: Ensure function pointers are prototyped.
2346         * genattrtab.c (write_eligible_delay): Mark parameter with
2347         ATTRIBUTE_UNUSED.
2348
2349 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2350
2351         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
2352         * 1750a.c (print_operand): Fix format specifier warning.
2353         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
2354         * 1750a.md: Likewise.
2355         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
2356         * genemit.c (output_add_clobbers): Mark parameter with
2357         ATTRIBUTE_UNUSED.
2358         * genrecog.c (write_subroutine): Likewise.
2359         * integrate.c (expand_inline_function): Delete unused variable.
2360         * varasm.c (remove_from_pending_weak_list): Wrap with
2361         ASM_WEAKEN_LABEL.
2362
2363 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
2364
2365         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
2366         field is different to previous argument's neg field.
2367
2368         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
2369
2370 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2371
2372         * final.c (get_decl_from_op): New function.
2373         (output_asm_insn): Call it; write "*" when item with decl is address.
2374
2375 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
2376
2377         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
2378         about 64-bit support from the 3.0_branch version.
2379
2380 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
2381
2382         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
2383         USE_INCLUDED_LIBINTL when appropriate.
2384         * configure, config.in: Regenerate.
2385         * Makefile.in (datadir): Set to @datadir@.
2386         (intl.o): Also depend on $(CONFIG_H) and system.h.
2387
2388         * intl.c: Factor out common gettext initialization sequence.
2389         (gcc_init_libintl):  New function.
2390         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
2391         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
2392         off NLS.  Add multiple include guard.  No need to #ifdef-guard
2393         an #undef.  Prototype gcc_init_libintl here.
2394
2395         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
2396         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
2397         Use gcc_init_libintl.
2398
2399 2001-10-19  Catherine Moore  <clm@redhat.com>
2400
2401         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
2402
2403         * config/stormy16/stormy16.c (stormy16_split_move):  Make
2404         sure that REG_INC notes are present for auto_inc operands.
2405
2406 2001-10-19  Andreas Jaeger  <aj@suse.de>
2407
2408         * configure: Regenerated.
2409         * configure.in: Add x86_64 to switch statements.
2410
2411 2001-10-18  Richard Henderson  <rth@redhat.com>
2412
2413         * config/alpha/alpha.md (sibcall_osf_1): Load destination
2414         address into $27 explicitly.
2415         (sibcall_value_osf_1): Likewise.
2416
2417 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2418
2419         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
2420         (offset_address): New function.
2421         (free_emit_status): Free regno_decl.
2422         (init_emit): Pass proper number of elements to xcalloc.
2423         Allocate regno_decl.
2424         (mark_emit_status): Mark regno_decl values.
2425         * expr.c (highest_pow2_factor): New function.
2426         (expand_assigment): Use it and offset_address.
2427         Properly handle ptr_mode vs. Pmode in offset calculation.
2428         (store_constructor, expand_expr_unaligned): Likewise.
2429         (expand_expr, case COMPONENT_EXPR): Likewise.
2430         * expr.h (offset_address): New decl.
2431         * function.h (struct emit_status): Add regno_decl.
2432         (REGNO_DECL): New macro.
2433         * final.c (output_asm_name): Move in file and don't conditionalize
2434         on flag_print_asm_name.
2435         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
2436         Output names of operands, if known.
2437         * function.c (assign_parms): Set REGNO_DECL.
2438         * integrate.c (integrate_decl_tree): Likewise.
2439         * stmt.c (expand_decl): Likewise.
2440         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
2441
2442 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
2443
2444         * attribs.c (handle_noinline_attribute): New function.
2445         (handle_used_attribute): Likewise.
2446         (c_common_attribute_table): Added noinline and used.
2447         * doc/extend.texi (Function Attributes): Document them.
2448         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
2449         Warn when merging inline with attribute noinline.
2450         (start_decl, start_function): Warn if inline and attribute
2451         noinline appear in the same declaration.
2452
2453 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
2454
2455         * config.gcc: Update c4x and i370 for C front end-specific
2456         dependencies.
2457         * config/c4x/c4x-c.c: New.
2458         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
2459         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
2460         New declarations.
2461         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
2462         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
2463         Make extern.
2464         (c4x_init_pragma): Remove.
2465         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
2466         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
2467         c4x_pr_ignored): Move to c4x-c.c.
2468         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
2469         * config/c4x/t-c4x: Update.
2470         * config/i370/i370-c.c: New.
2471         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
2472         (i370_pr_map): Move to i370-c.c.
2473         * config/i370/t-i370: New.
2474
2475         * doc/tm.texi: Update.
2476
2477 2001-10-17  Stan Shebs  <shebs@apple.com>
2478
2479         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
2480         typo fixes throughout.
2481         (machopic_output_stub): Remove some dead code.
2482
2483 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
2484
2485         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
2486         leak.
2487
2488 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2489
2490         * Makefile.in (print-rtl.o): Depend on TREE_H.
2491         * alias.c (get_alias_set): Make two passes over objects to first
2492         see if inner object is access via restricted pointer.
2493         Defer allocating alias set for restricted pointer until here.
2494         Call find_placeholder with second arg nonzero.
2495         Minor cleanups.
2496         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
2497         set for restricted pointer types.
2498         * emit-rtl.c (set_mem_attributes): Set more attributes.
2499         (set_mem_align, change_address, adjust_address_1): New functions.
2500         (change_address_1): Now static.
2501         (adjust_address, adjust_address_nv): Deleted.
2502         (replace_equiv_address): Call change_address_1.
2503         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
2504         (find_placeholder): Get starting point from PLIST arg.
2505         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
2506         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
2507         (adjust_address, adjust_address_nv): New macros.
2508         * print-rtl.c (tree.h): New include.
2509         (print_rtx, case MEM): Print all memory attributes.
2510
2511 2001-10-17  Richard Henderson  <rth@redhat.com>
2512
2513         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
2514
2515 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
2516
2517         * c-tree.texi: Eliminate duplicated word.
2518         * cpp.texi: Likewise.
2519         * install.texi: Likewise.
2520         * invoke.texi: Likewise.
2521         * tm.texi: Likewise.
2522
2523 2001-10-17  Michael Collison  <collison@isisinc.net>
2524
2525         * dsp16xx.c: Fix comment formatting to match GNU standards.
2526         (dsp16xx_output_function_prologue): Change type of 'size'
2527         parameter from 'int' to HOST_WIDE_INT.
2528         (dsp16xx_output_function_epilogue): Change type of 'size'
2529         parameter from 'int' to HOST_WIDE_INT.
2530
2531 2001-10-16  Richard Henderson  <rth@redhat.com>
2532
2533         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
2534         * configure, config.in: Rebuild.
2535
2536         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
2537         (ix86_output_addr_diff_elt): New.
2538         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
2539         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
2540         (JUMP_TABLES_IN_TEXT_SECTION): New.
2541         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
2542         * config/i386/i386-protos.h: Update.
2543
2544         * config/i386/386bsd.h, config/i386/beos-elf.h,
2545         config/i386/freebsd-aout.h, config/i386/freebsd.h,
2546         config/i386/i386-interix.h, config/i386/i386elf.h,
2547         config/i386/linux.h, config/i386/netbsd-elf.h,
2548         config/i386/netbsd.h, config/i386/openbsd.h,
2549         config/i386/ptx4-i.h, config/i386/rtemself.h,
2550         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
2551         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
2552
2553 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
2554
2555         * stmt.c (expand_asm_operands): Update commentary.
2556
2557 2001-10-16  Stan Shebs  <shebs@apple.com>
2558
2559         * config/darwin.h (GCC_NAME): Remove, no longer used.
2560         (NO_MATH_LIBRARY): Ditto.
2561         (MATH_LIBRARY): Define to emptiness.
2562         (DWARF2_DEBUGGING_INFO): Define.
2563         (PREFERRED_DEBUGGING_TYPE): Define.
2564         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
2565         (EXCEPTION_SECTION): Define.
2566         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2567         * config/darwin.c (darwin_encode_section_info): Handle case of
2568         DECL_INITIAL being error_mark_node.
2569
2570 2001-10-16  Richard Henderson  <rth@redhat.com>
2571
2572         * alpha.c (current_file_function_operand): Don't fail for profiling.
2573         (direct_call_operand): New.
2574         * alpha-protos.h: Declare it.
2575         * alpha.h (EXTRA_CONSTRAINT): Use it.
2576         (PREDICATE_CODES): Add it.
2577         (ASM_OUTPUT_MI_THUNK): Remove.
2578         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
2579         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
2580
2581 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
2582
2583         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
2584         (JUMP_TABLES_IN_TEXT_SECTION): Define.
2585
2586 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
2587
2588         * cfg.c (free_edge): Break out from ....
2589         (remove_edge): ... here.
2590         (clear_edges): Use free_edge.
2591
2592         * att.h (ASM_QUAD): Add comment.
2593         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
2594
2595 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
2596
2597         * i386.c (split_ti): New function.
2598         (ix86_split_to_parts): Support TImodes.
2599         * i386.h (VALID_INT_MODE_P): Add TImode.
2600         * i386.md (movdi splitter): Fix.
2601         (movti): Support 64bit integer registers.
2602         (movti_rex64): New function and splitter.
2603
2604         * i386.c (*_cost): Add movsx/movzx cost.
2605         * i386.h (struct processor_costs): Add movsx/movzx fields.
2606         (RTX_COSTS): Handle zero/sign extend + avoid believing that
2607         64bit operations require split on 64bit machine.
2608         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
2609
2610         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
2611         (ix86_expand_move): Avoid pushes of memory if size does not match;
2612         move long constants to register.
2613         (x86_initialize_trampoline): Fix mode.
2614         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
2615         Use ASM_QUAD on 64bit.
2616         * i386.md (test pattern): Disallow impossible constants.
2617         (tablejump PIC expander): Fix emitting of sum.
2618         (movdicc_rex64): Rename to movdicc.
2619         * linux64.h (LINK_SPEC): Add missing '%'.
2620
2621 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
2622
2623         * tree-inline.c (inlinable_function_p): Leave it up to the
2624         front-end to turn -finline-functions into DECL_INLINE set for all
2625         functions.
2626
2627 2001-10-16  Stan Shebs  <shebs@apple.com>
2628
2629         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
2630
2631 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
2632
2633         * recog.c: Formatting and comment typo fixes.
2634
2635         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
2636         version in single tree build.
2637         * configure: Regenerate.
2638
2639 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
2640
2641         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
2642         MODE arguments to gen_rtx and compare operand with const0_rtx.
2643
2644 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
2645
2646         * system.h: Poison old unused target macros.
2647         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
2648         * config/stormy16/stormy16.c: Update references to obsolete macros.
2649         * config/stormy16/stormy16.h: Similarly.
2650         * config/stormy16/stormy16.md: Similarly.
2651         * config/cris/cris.h: Similarly.
2652
2653 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
2654
2655         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
2656         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
2657         cpp_register_pragma): Update accordingly.
2658
2659 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
2660
2661         * c-pragma.h (cpp_register_pragma_space): Remove.
2662         * cpplib.h (cpp_register_pragma_space): Remove.
2663         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
2664         (cpp_register_pragma_space): Remove.
2665         (cpp_register_pragma): Simplify using lookup_pragma_entry,
2666         add sanity checks.
2667         (do_pragma): Similarly.
2668         (_cpp_init_internal_pragmas): Don't register namespaces.
2669
2670         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
2671         Don't register namespaces.
2672         * cp/lex.c (init_cp_pragma): Similarly.
2673         * doc/tm.texi: Update.
2674
2675 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2676
2677         PR c/4157
2678         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
2679
2680 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
2681
2682         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
2683         add scheduling support.
2684         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
2685         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
2686         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
2687
2688
2689 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
2690
2691         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
2692         missing CONSTANT_P test in core GCC.
2693
2694 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
2695
2696         * cppmain.c (struct printer): New member source.
2697         (scan_translation_unit): Fix spacing at start of lines.
2698         (cb_line_change): Update.
2699
2700         * gcc.dg/cpp/spacing2.c: New test.
2701
2702 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
2703
2704         * config/cris/arit.c: Use __builtin_labs, not abs.
2705
2706         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
2707
2708         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
2709         misplaced sprintf and fprintf argument.
2710
2711 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
2712
2713         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
2714         * configure.in, Makefile.in: Take out obsolete check-po logic.
2715         * configure, config.in: Regenerate.
2716
2717 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
2718
2719         * objc/objc-act.c (finish_objc): Correct precondition for emitting
2720         symtab declarations.
2721
2722 2001-10-12  Stan Shebs  <shebs@apple.com>
2723
2724         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
2725         declarations of arguments and local variables.
2726
2727 2001-10-12  Christopher Faylor  <cgf@redhat.com>
2728
2729         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
2730         ENDFILE_SPEC definition.
2731
2732 2001-10-12  Kazu Hirata  <kazu@hxi.com>
2733
2734         * gthr-dce.h: Fix comment formatting.
2735         * gthr-posix.h: Likewise.
2736         * gthr-single.h: Likewise.
2737         * gthr-solaris.h: Likewise.
2738         * gthr-vxworks.h: Likewise.
2739         * gthr-win32.h: Likewise.
2740
2741 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
2742
2743         * final.c (output_asm_insn): Make sure assembly dialects are
2744         terminated, not nested.  Output `|' and `}' characters if they
2745         don't appear inside assembly dialect selection.
2746         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
2747         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
2748         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
2749         strsetsi_rex_1): Add {} braces.
2750
2751 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
2752
2753         * toplev.c (compile_file): Ignore return value from yyparse.
2754         Always pop any nested binding levels after yyparse returns.
2755
2756 2001-10-11  Richard Henderson  <rth@redhat.com>
2757
2758         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
2759
2760 2001-10-11  Richard Henderson  <rth@redhat.com>
2761
2762         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
2763         fall back to add_AT_long_long for large CONST_INT.
2764
2765 2001-10-11  Richard Henderson  <rth@redhat.com>
2766
2767         * config/i386/i386.md (setcc splitters): Add four splitters to
2768         simplify compound compares that simplify_comparison can't handle.
2769
2770 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
2771
2772         * cpplex.c (digraph_spellings, token_spellings): Make static.
2773
2774 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2775
2776         * unroll.c (loop_iterations): Fixup last patch.
2777
2778 2001-10-11  Richard Henderson  <rth@redhat.com>
2779
2780         * rtl.h (REG_VTABLE_REF): New.
2781         * rtl.c (reg_note_name): Add it.
2782         * combine.c (distribute_notes): Handle it.
2783         * final.c (final_scan_insn): Handle it.
2784         * tree.def (VTABLE_REF): New.
2785         * expr.c (expand_expr): Handle it.
2786         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
2787         * output.h: Declare them.
2788
2789 2001-10-11  Richard Henderson  <rth@redhat.com>
2790
2791         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
2792         for a DECL_INITIAL.
2793
2794 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
2795
2796         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
2797         available in 64-bit mode.
2798
2799 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
2800
2801         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
2802         cris-*-linux* cases.
2803         * config/cris/cris-protos.h: New file.
2804         * config/cris/cris.c: New file.
2805         * config/cris/cris.h: New file.
2806         * config/cris/cris.md: New file.
2807         * config/cris/linux.h: New file.
2808         * config/cris/aout.h: New file.
2809         * config/cris/arit.c: New file.
2810         * config/cris/cris_abi_symbol.c: New file.
2811         * config/cris/mulsi3.asm: New file.
2812         * config/cris/t-aout: New file.
2813         * config/cris/t-cris: New file.
2814         * config/cris/t-elfmulti: New file.
2815         * config/cris/t-linux: New file.
2816         * doc/invoke.texi: Add CRIS options.
2817         * doc/install.texi (Specific): Add blurb for CRIS.
2818
2819 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
2820
2821         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
2822         before using it.
2823         * config/float/i32.h: Likewise.
2824         * config/float-i386.h: Likewise.
2825         * config/float-i64.h: Likewise.
2826         * config/float-m68k.h: Likewise.
2827         * config/float-sh.h: Likewise.
2828         * config/float-sparc.h: Likewise.
2829
2830 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
2831
2832         * doc/contrib.texi: Add note about CRIS port to my entry.
2833
2834 2001-10-11  Kazu Hirata  <kazu@hxi.com>
2835
2836         * basic-block.h: Fix formatting.
2837         * bitmap.h: Likewise.
2838         * cpplib.h: Likewise.
2839         * c-tree.h: Likewise.
2840         * diagnostic.h: Likewise.
2841         * flags.h: Likewise.
2842         * ggc.h: Likewise.
2843         * longlong.h: Likewise.
2844         * real.h: Likewise.
2845         * reload.h: Likewise.
2846         * rtl.h: Likewise.
2847         * tree.h: Likewise.
2848
2849 2001-10-10  Richard Henderson  <rth@redhat.com>
2850
2851         * c-parse.in (asm_operand): Allow named operands.
2852         * genconfig.c (max_recog_operands): Set to 29.
2853         * local-alloc.c (requires_inout): Skip multiple digits.
2854         * recog.c (asm_operand_ok): Likewise.
2855         (preprocess_constraints): Use strtoul for matching constraints.
2856         (constrain_operands): Likewise.
2857         * regmove.c (find_matches): Likewise.
2858         * reload.c (find_reloads): Likewise.
2859         * stmt.c (parse_output_constraint): Don't reject in-out
2860         constraint on operands > 9.  Reject '[' in constraint.
2861         (expand_asm_operands): Handle named operands.  Use strtoul
2862         for matching constraints.
2863         (check_operand_nalternatives): Split out from expand_asm_operands.
2864         (check_unique_operand_names): New.
2865         (resolve_operand_names, resolve_operand_name_1): New.
2866
2867         * doc/extend.texi (Extended Asm): Document named operands.
2868         * doc/md.texi (Simple Constraints): Document matching constraints
2869         on operands > 9.
2870
2871 2001-10-10  Richard Henderson  <rth@redhat.com>
2872
2873         * combine.c (try_combine): Handle a SEQUENCE of one insn.
2874
2875         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
2876         (jcc splitters): Add two splitters to simplify compound compares
2877         that simplify_comparison can't handle.
2878
2879 2001-10-10  Richard Henderson  <rth@redhat.com>
2880
2881         * langhooks.c: Include langhooks.h.
2882         * Makefile.in (langhooks.o): Depend on it.
2883
2884 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
2885
2886         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
2887         should not be considered as a no-op.
2888         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
2889
2890 2001-10-10  Stan Shebs  <shebs@apple.com>
2891
2892         * alias.c: Remove uses of "register" specifier in declarations
2893         of arguments and local variables.
2894         * c-common.c: Ditto.
2895         * c-convert.c: Ditto.
2896         * c-decl.c: Ditto.
2897         * c-format.c: Ditto.
2898         * c-semantics.c: Ditto.
2899         * c-typeck.c: Ditto.
2900         * caller-save.c: Ditto.
2901         * calls.c: Ditto.
2902         * cfg.c: Ditto.
2903         * cfgbuild.c: Ditto.
2904         * cfgrtl.c: Ditto.
2905         * collect2.c: Ditto.
2906         * combine.c: Ditto.
2907         * convert.c: Ditto.
2908         * cppexp.c: Ditto.
2909         * cppfiles.c: Ditto.
2910         * cse.c: Ditto.
2911         * dbxout.c: Ditto.
2912         * defaults.h: Ditto.
2913         * df.c: Ditto.
2914         * dwarf2out.c: Ditto.
2915         * dwarfout.c: Ditto.
2916         * emit-rtl.c: Ditto.
2917         * explow.c: Ditto.
2918         * expmed.c: Ditto.
2919         * expr.c: Ditto.
2920         * final.c: Ditto.
2921         * fix-header.c: Ditto.
2922         * floatlib.c: Ditto.
2923         * flow.c: Ditto.
2924         * fold-const.c: Ditto.
2925         * function.c: Ditto.
2926         * gcc.c: Ditto.
2927         * gcse.c: Ditto.
2928         * gen-protos.c: Ditto.
2929         * genattrtab.c: Ditto.
2930         * gencheck.c: Ditto.
2931         * genconfig.c: Ditto.
2932         * genemit.c: Ditto.
2933         * genextract.c: Ditto.
2934         * genflags.c: Ditto.
2935         * gengenrtl.c: Ditto.
2936         * genoutput.c: Ditto.
2937         * genpeep.c: Ditto.
2938         * genrecog.c: Ditto.
2939         * gensupport.c: Ditto.
2940         * global.c: Ditto.
2941         * gmon.c: Ditto.
2942         * graph.c: Ditto.
2943         * haifa-sched.c: Ditto.
2944         * hard-reg-set.h: Ditto.
2945         * hash.c: Ditto.
2946         * integrate.c: Ditto.
2947         * jump.c: Ditto.
2948         * lists.c: Ditto.
2949         * local-alloc.c: Ditto.
2950         * loop.c: Ditto.
2951         * mips-tdump.c: Ditto.
2952         * mips-tfile.c: Ditto.
2953         * optabs.c: Ditto.
2954         * prefix.c: Ditto.
2955         * print-rtl.c: Ditto.
2956         * read-rtl.c: Ditto.
2957         * real.c: Ditto.
2958         * recog.c: Ditto.
2959         * reg-stack.c: Ditto.
2960         * regclass.c: Ditto.
2961         * regmove.c: Ditto.
2962         * reload.c: Ditto.
2963         * reload1.c: Ditto.
2964         * reorg.c: Ditto.
2965         * resource.c: Ditto.
2966         * rtl.c: Ditto.
2967         * rtlanal.c: Ditto.
2968         * scan.c: Ditto.
2969         * sched-deps.c: Ditto.
2970         * sched-rgn.c: Ditto.
2971         * sdbout.c: Ditto.
2972         * simplify-rtx.c: Ditto.
2973         * stmt.c: Ditto.
2974         * stor-layout.c: Ditto.
2975         * toplev.c: Ditto.
2976         * tradcif.y: Ditto.
2977         * tradcpp.c: Ditto.
2978         * tree.c: Ditto.
2979         * unroll.c: Ditto.
2980         * varasm.c: Ditto.
2981         * xcoffout.c: Ditto.
2982
2983 2001-10-10  Richard Henderson  <rth@redhat.com>
2984
2985         * rtl.h (can_reverse_comparison_p): Remove.
2986
2987 2001-10-10  Christopher Faylor <cgf@redhat.com>
2988
2989         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
2990         used.
2991
2992 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
2993
2994         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
2995         (Thanks to Chris Faylor for suggesting macro name).
2996         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
2997         WIN32 defines.
2998         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
2999         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
3000         (MATH_LIBRARY): Undef before definition.
3001         (OUTPUT_QUOTED_STRING): Likewise.
3002         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
3003
3004 2001-10-10  Richard Henderson  <rth@redhat.com>
3005
3006         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
3007         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
3008         a tristate comparison value.
3009         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
3010
3011 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3012
3013         PR c++/4512
3014         * unroll.c (loop_iterations): Ignore insns generated by loop
3015         unrolling.
3016
3017         * config.gcc (mips*-*-gnu*): Delete support.
3018         * config/mips/gnu.h: Remove.
3019
3020 2001-10-10  Kazu Hirata  <kazu@hxi.com>
3021
3022         * calls.c: Fix formatting.
3023         * c-decl.c: Likewise.
3024         * cfgcleanup.c: Likewise.
3025         * combine.c: Likewise.
3026         * cppfiles.c: Likewise.
3027         * cpplib.c: Likewise.
3028         * cppmacro.c: Likewise.
3029         * crtstuff.c: Likewise.
3030         * cse.c: Likewise.
3031         * dwarf2out.c: Likewise.
3032         * expmed.c: Likewise.
3033         * expr.c: Likewise.
3034         * fold-const.c: Likewise.
3035         * function.c: Likewise.
3036         * gcse.c: Likewise.
3037         * genattrtab.c: Likewise.
3038         * ggc-page.c: Likewise.
3039         * integrate.c: Likewise.
3040         * libgcc2.c: Likewise.
3041         * loop.c: Likewise.
3042         * optabs.c: Likewise.
3043         * profile.c: Likewise.
3044         * protoize.c: Likewise.
3045         * real.c: Likewise.
3046         * recog.c: Likewise.
3047         * reload1.c: Likewise.
3048         * reload.c: Likewise.
3049         * reorg.c: Likewise.
3050         * resource.c: Likewise.
3051         * sched-rgn.c: Likewise.
3052         * sdbout.c: Likewise.
3053         * stmt.c: Likewise.
3054         * toplev.c: Likewise.
3055         * varasm.c: Likewise.
3056
3057 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
3058
3059         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
3060         * Makefile.in (langhooks.o): Add dependencies.
3061
3062 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
3063
3064         * rs6000.c (rs6000_emit_load_toc_table): Don't
3065         strdup the toc label.
3066         (create_TOC_reference): Likewise.
3067
3068 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
3069
3070         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
3071         version default.
3072
3073 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
3074
3075         * config/i386/i386.c (ix86_attribute_table): Correct
3076         min_len, max_len fields for dllimport, dllexport and shared.
3077
3078 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
3079
3080         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
3081         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
3082         Consistently use "nonzero" instead of "non-zero".
3083
3084 2001-10-09  Kazu Hirata  <kazu@hxi.com>
3085
3086         * acconfig.h: Fix comment formatting.
3087         * c-dump.h: Likewise.
3088         * c-tree.h: Likewise.
3089         * conditions.h: Likewise.
3090         * expr.h: Likewise.
3091         * function.h: Likewise.
3092         * gthr.h: Likewise.
3093         * hwint.h: Likewise.
3094         * integrate.h: Likewise.
3095         * intl.h: Likewise.
3096         * loop.h: Likewise.
3097         * optabs.h: Likewise.
3098
3099 2001-10-09  Kazu Hirata  <kazu@hxi.com>
3100
3101         * c-common.h: Fix comment formatting.
3102         * c-dump.c: Likewise.
3103         * cfg.c: Likewise.
3104         * diagnostic.h: Likewise.
3105         * except.c: Likewise.
3106         * gcc.h: Likewise.
3107         * gcov-io.h: Likewise.
3108         * genattrtab.c: Likewise.
3109         * output.h: Likewise.
3110         * predict.h: Likewise.
3111         * reload1.c: Likewise.
3112         * reload.h: Likewise.
3113         * resource.h: Likewise.
3114         * scan.h: Likewise.
3115         * system.h: Likewise.
3116         * tree.h: Likewise.
3117         * tree-inline.c: Likewise.
3118         * tsystem.h: Likewise.
3119         * varasm.c: Likewise.
3120         * xcoffout.h: Likewise.
3121
3122 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
3123
3124         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
3125
3126 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
3127
3128         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
3129         config/i386/i386elf.h, config/i386/netbsd-elf.h,
3130         config/i386/netware.h, config/mcore/gfloat.h,
3131         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
3132         config/netware.h, gccbug.in: Update FSF address.
3133
3134 2001-10-09  Kazu Hirata  <kazu@hxi.com>
3135
3136         * c-common.c: Fix comment typos.
3137         * cfgrtl.c: Likewise.
3138         * collect2.c: Likewise.
3139         * cpplex.c: Likewise.
3140         * doloop.c: Likewise.
3141         * dwarf2out.c: Likewise.
3142         * dwarfout.c: Likewise.
3143         * expr.c: Likewise.
3144         * fold-const.c: Likewise.
3145         * gcc.c: Likewise.
3146         * gcov.c: Likewise.
3147         * gcse.c: Likewise.
3148         * global.c: Likewise.
3149         * ifcvt.c: Likewise.
3150         * loop.c: Likewise.
3151         * optabs.c: Likewise.
3152         * protoize.c: Likewise.
3153         * regclass.c: Likewise.
3154         * reorg.c: Likewise.
3155         * rtl.h: Likewise.
3156         * stmt.c: Likewise.
3157         * tree.h: Likewise.
3158         * doc/cpp.texi: Likewise.
3159         * doc/c-tree.texi: Likewise.
3160         * doc/extend.texi: Likewise.
3161         * doc/invoke.texi: Likewise.
3162         * doc/objc.texi: Likewise.
3163         * doc/tm.texi: Likewise.
3164
3165 2001-10-08  Richard Henderson  <rth@redhat.com>
3166
3167         * varasm.c (set_named_section_flags): Initialize "declared".
3168
3169 2001-10-08  Robert Lipe  <robertlipe@usa.net>
3170
3171         * varasm.c (struct in_named_entry): Add declared.
3172         (named_section_first_declaration): New function.
3173         (default_elf_asm_named_section): Use it.
3174         * output.h (named_section_first_declaration): New.
3175
3176 2001-10-08  Richard Henderson  <rth@redhat.com>
3177
3178         * i386.md (movsi_xor): Export.
3179         (setcc peep2): Use it when available; add an alternative to
3180         match zero_extendhisi2_and.
3181
3182 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3183
3184         * romp-protos.h (romp_initialize_trampoline): New function.
3185         * romp.c (romp_initialize_trampoline): Likewise.
3186         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
3187         romp_initialize_trampoline.
3188
3189 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3190
3191         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
3192         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
3193         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
3194         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
3195
3196 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3197
3198         * unroll.c (loop_iterations): Extend check for multiple back edges.
3199
3200 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
3201
3202         * langhooks.h: New file.
3203         * Makefile.in (OBJS): Added langhooks.o.
3204         (c-lang.o): Depend on langhooks.h.
3205         (c-common.o): Don't depend on tree-inline.h.
3206         (tree-inline.o): Depend on toplev.h.
3207         (langhooks.o): New rule.
3208         * c-common.c: Don't include tree-inline.h.
3209         (c_mark_lang_decl): Mark argument c as unused.
3210         (c_common_lang_init): Don't initialize hooks here.
3211         * c-lang.c: Include langhooks.h, then override some macros.
3212         (lang_hooks): Initialize with macros in langhooks.h.
3213         (c_init): Don't initialize hooks here.
3214         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
3215         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
3216         * tree-inline.c: Include toplev.h.  Don't define hook variables.
3217         * tree-inline.h: Don't define hook types nor declare hook
3218         variables.  Move macros to...
3219         * langhooks.c: ... new file, as functions.  Adjust all callers.
3220
3221 2001-10-08  Jeffrey A Law  <law@cygnus.com>
3222
3223         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
3224         purge_mem_unchanging_flag on all instructions, not just on those
3225         before NOTE_INSN_FUNCTION_BEG.
3226
3227 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
3228
3229         * cppmacro.c (_cpp_create_definition): Leave comments off.
3230
3231         * doc/cpp.texi: Update.
3232
3233 2001-10-08  DJ Delorie  <dj@redhat.com>
3234
3235         * c-decl.c (grokfield): Make sure the only unnamed fields
3236         we're allowing are either structs or unions.
3237         * doc/extend.texi: Add documentation for the unnamed field
3238         extension.
3239
3240 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
3241
3242         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
3243         * configure.in: Use it.
3244         * configure: Regenerated.
3245         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
3246         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
3247
3248 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
3249
3250         * cppfiles.c (open_file): Don't mark zero-length files
3251         never-reread here.  Don't output diagnostics here either.
3252         (stack_include_file): Mark them never-reread here.
3253         (_cpp_read_file): Update.
3254
3255 2001-10-08  Richard Henderson  <rth@redhat.com>
3256
3257         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
3258
3259 2001-10-08  Richard Henderson  <rth@redhat.com>
3260
3261         * expr.c (store_expr): When converting a CONST_INT for storage
3262         in a SUBREG, convert it to both SUBREG modes before stripping
3263         the SUBREG.
3264
3265 2001-10-08  Richard Henderson  <rth@redhat.com>
3266
3267         * varasm.c (restore_varasm_status): New.
3268         * function.h: Declare it.
3269         * function.c (pop_function_context_from): Call it.
3270
3271 2001-10-08  Richard Henderson  <rth@redhat.com>
3272
3273         * c-common.h (struct c_lang_decl): Add declared_inline.
3274         * c-tree.h (DECL_DECLARED_INLINE_P): New.
3275         * c-lang.c (c_disregard_inline_limits): Use it.
3276         * c-decl.c (duplicate_decls): Likewise.
3277         (pushdecl, redeclaration_error_message): Likewise.
3278         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
3279         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
3280         Set DECL_INLINE if -finline-functions.
3281         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
3282
3283 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
3284
3285         * cppmacro.c (funlike_invocation_p): Move some logic to caller
3286         in enter_macro_context.  Create a padding token in its own context
3287         if necessary when the search for '(' fails.
3288         (enter_macro_context): Update.
3289
3290 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
3291
3292         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
3293         genmultilib, toplev.c: Fix spelling errors of "separate" as
3294         "seperate", and corresponding spelling errors of related words.
3295
3296 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3297
3298         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
3299         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
3300         Likewise.
3301         * c-dump.c (dump_option_value_info): Likewise.
3302         * c-format.c (format_length_info, format_char_info,
3303         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
3304         * collect2.c (names): Likewise.
3305         * cppdefault.h (default_include): Likewise.
3306         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
3307         * flow.c (life_analysis): Likewise.
3308         * gcc.c (dir_separator_str, modify_target, option_map,
3309         target_option_translations, spec_list_1, extra_specs_1,
3310         init_spec): Likewise.
3311         * gcov.c (gcov_version_string): Likewise.
3312         * genattr.c (write_units): Likewise.
3313         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
3314         * gengenrtl.c (rtx_definition, defs): Likewise.
3315         * genrecog.c (pred_table): Likewise.
3316         * global.c (global_alloc): Likewise.
3317         * lcm.c (optimize_mode_switching): Likewise.
3318         * local-alloc.c (find_free_reg): Likewise.
3319         * params.h (param_info): Likewise.
3320         * predict.c (predictor_info): Likewise.
3321         * protoize.c (unexpansion_struct): Likewise.
3322         * real.c (bmask): Likewise.
3323         * recog.h (insn_operand_data, insn_data): Likewise.
3324         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
3325         * stmt.c (expand_nl_goto_receiver): Likewise.
3326         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
3327         target_switches, target_options): Likewise.
3328         * tradcif.y (token, tokentab2, yylex): Likewise.
3329         * tree.h (attribute_spec): Likewise.
3330
3331         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
3332         Likewise.
3333         * arc.c (arc_output_function_epilogue): Likewise.
3334         * arm.c (processors, all_cores, all_architectures,
3335         arm_override_options, isr_attribute_arg, isr_attribute_args,
3336         arm_isr_value): Likewise.
3337         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
3338         Likewise.
3339         * c4x.c (c4x_int_reglist): Likewise.
3340         * d30v.c (override_options): Likewise.
3341         * h8300.c (shift_insn): Likewise.
3342         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
3343         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
3344         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
3345         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
3346         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
3347         * i386.h (processor_costs, ix86_cost): Likewise.
3348         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
3349         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
3350         * m68k.c (codes_68881, codes_FPA): Likewise.
3351         * m88k.c (mode_from_align, max_from_align, all_from_align,
3352         best_from_align, m_options): Likewise.
3353         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
3354         * mcore.c (mode_from_align): Likewise.
3355         * mips/elf64.h (UNIQUE_SECTION): Likewise.
3356         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
3357         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
3358         * mips.h (mips_regno_to_class): Likewise.
3359         * ns32k.c (scales): Likewise.
3360         * pa.c (import_string, magic_milli): Likewise.
3361         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
3362         * sparc.c (leaf_reg_remap, sparc_override_options,
3363         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
3364         Likewise.
3365         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
3366
3367 2001-10-07  Dale Johannesen  <dalej@apple.com>
3368
3369         * reload1.c (reload_reg_free_p): Teach register interference
3370         checking that multiple output reloads are emitted in
3371         reverse order.
3372         reload1.c (reload_reg_reaches_end_p):  Ditto.
3373         reload1.c (reloads_conflict):  Ditto.
3374
3375 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
3376
3377         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
3378         NULL_TREE inside @code.
3379
3380 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
3381
3382         * doc/gcc.texi: Document consistent style of "32-bit",
3383         "Objective-C", and "@code{NULL}".
3384
3385 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
3386
3387         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
3388         (cpp_token_len, cpp_spell_token, cpp_output_token,
3389         _cpp_equiv_tokens): Handle it.
3390         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
3391         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
3392         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
3393         error messages.
3394
3395 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3396
3397         * gcc.c (default_compilers): Remove .ada.
3398
3399 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
3400
3401         * doc/cppinternals.texi: Update.
3402
3403 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
3404
3405         * gcc.c (main): Set this_file_error if the appropriate
3406         compiler for a language has not been installed.
3407
3408 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
3409
3410         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
3411
3412 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
3413
3414         * gccbug.in (CATEGORIES): Add ada.
3415
3416 2001-10-05  Catherine Moore  <clm@redhat.com>
3417
3418         * config/stormy16/stormy-abi:  Document abi changes.
3419         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
3420         (ICALL_REGS): New register class.
3421         (NUM_ARGUMENT_REGISTERS): Now 6.
3422         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
3423         in registers.
3424         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
3425         * config/stormy16.md (call_internal, call_value_internal,
3426         indirect_jump): Use new 'z' constraint.
3427
3428 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
3429
3430         * doc/cppinternals.texi: Update.
3431
3432 2001-10-05  Richard Henderson  <rth@redhat.com>
3433
3434         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
3435         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
3436         the gas section-name-as-label feature.
3437
3438 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
3439
3440         * doc/cppinternals.texi: Update.
3441
3442 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3443
3444         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
3445         to ensure valid SImode constants.
3446
3447 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
3448
3449         * Makefile.in (c-decl.o): Depend on tree-inline.h.
3450         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
3451         * c-decl.c: Include tree-inline.h.
3452         (c_expand_body): Call optimize_inline_calls. Determine whether
3453         a function is inlinable upfront, and only clear
3454         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
3455         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
3456         (c_disregard_inline_limits): New function.
3457         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
3458         (c_post_options): Enable tree inlining if inlining is enabled.
3459         Don't inline trees when instrumenting functions.
3460         (c_init): Initialize lang_disregard_inline_limits and
3461         lang_cannot_inline_tree_fn.
3462         * tree-inline.c (initialize_inlined_parameters): Handle calls
3463         with fewer arguments than declared parameters, and fewer
3464         parameters than passed arguments.  Don't assume value is a
3465         DECL.
3466         (declare_return_variable): Convert return value back to the
3467         original type, if it was promoted.
3468         (tree_inlinable_function_p): New function.
3469         (inlinable_function_p): Don't look at DECL_INLINE if we're
3470         inlining all functions.  Make it work with a NULL id.
3471         Re-check DECL_UNINLINABLE after language-specific checks.
3472         * tree-inline.h (tree_inlinable_function_p): Declare it.
3473         * integrate.c (save_for_inline): Don't bother to prepare argvec
3474         when not inlining.
3475         * cse.c (check_for_label_ref): Don't check deleted labels.
3476
3477         * Makefile.in (tree-inline.o): Depend on newly-included headers.
3478         * tree-inline.c: Include headers needed for the functions moved in.
3479         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
3480         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
3481         (copy_body, initialize_inlined_parameters): Likewise.
3482         (declare_return_variable, inlinable_function_p): Likewise.
3483         (expand_call_inline, expand_calls_inline): Likewise.
3484         (optimize_inline_calls, clone_body): Likewise.
3485         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
3486         (copy_tree_r, remap_save_expr): Likewise.
3487
3488 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
3489
3490         * Makefile.in (OBJS): Added tree-inline.o.
3491         (c-common.o): Depend on tree-inline.h.
3492         (tree-inline.o): New target.
3493         * c-common.c: Include tree-inline.h.
3494         (c_mark_lang_decl): Don't mark saved_tree.
3495         (c_common_lang_init): Set lang_anon_aggr_type_p.
3496         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
3497         (struct c_lang_decl): Moved saved_tree to tree_decl.
3498         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
3499         * integrate.h (function_attribute_inlinable_p): Declare it.
3500         * integrate.c (function_attribute_inlinable_p): Export it.
3501         * tree-inline.c: New file.  Define variables declared in...
3502         * tree-inline.h: New file.  Declare functions to be moved to
3503         tree-inline.c.  Define macros and declare types and hooks for
3504         language-specific tree inlining.
3505         (flag_inline_trees): Moved definition from cp/decl2.c.
3506         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
3507         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
3508         (struct tree_decl): Moved saved_tree from c_lang_decl and
3509         inlined_fns from C++'s lang_decl.
3510
3511 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
3512
3513         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
3514         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
3515
3516 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
3517
3518         * doc/cppinternals.texi: Update.
3519
3520 2001-10-04  Eric Christopher  <echristo@redhat.com>
3521
3522         * config/mips/mips.c (init_cumulative_args): Remember to set
3523         cum->prototype.
3524         * config.gcc: Redo linux configuration. Add target_cpu_default
3525         of soft-float to all mipsisa32 combinations and tx39.
3526         * config/mips/linux.h: Remove include of mips.h.
3527
3528 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
3529
3530         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
3531         HOST_LDFLAGS and HOST_CPPFLAGS.
3532
3533 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
3534
3535         * c-parse.in (objc_inherit_code, objc_pq_context,
3536         objc_public_flag): Make static.
3537         (objc_interface_context, objc_implementation_context,
3538         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
3539         global tree array in objc/objc-act.[ch].
3540         (methoddef): Remove unnecessary code.
3541
3542         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
3543         Hoist struct definitions to objc-act.h.
3544         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
3545         cat_count): Place declaration in objc-act.h.
3546         (objc_tree_index): Move enumeration to objc-act.h.
3547         (objc_global_trees): Place declaration and macro accessors in
3548         objc-act.h.
3549         (implementation_context): Remove duplicate; use
3550         objc_implementation_context instead:
3551         (method_context): Remove duplicate; use objc_method_context
3552         instead.
3553         (objc_ellipsis_node, objc_method_prototype_template,
3554         implemented_classes, function_type): Move global vars to
3555         objc_global_trees.
3556         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
3557         (build_message_expr): Move actual construction of ObjC message
3558         send nodes to finish_message_expr.
3559         (finish_message_expr): New routine, contains code formerly in
3560         build_message_expr.
3561         * objc/objc-act.h (finish_message_expr): New prototype.
3562         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
3563         declarations; these vars are now part of objc_global_trees.
3564         (objc_tree_index, objc_global_trees): Move definitions from
3565         objc-act.c.
3566         * objc/objc-tree.def: Update copyright info.
3567
3568 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
3569
3570         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
3571         op is NULL.
3572         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
3573         only if TARGET_ARCH64.
3574
3575 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
3576
3577         * doc/extend.texi: Fix some problems with previous checkin.
3578         * doc/invoke.texi: Likewise.
3579
3580 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
3581
3582         * cpphash.h: Update comments.
3583         (cpp_context): Update.
3584         (spec_nodes): Remove n__Pragma.
3585         * cppinit.c (cpp_create_reader): Update.
3586         (builtin_array): Add _Pragma.
3587         * cpplib.h: Update comments.
3588         (NODE_DISABLED, BT_PRAGMA): New.
3589         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
3590         * cppmacro.c (struct cpp_macro): Remove disabled.
3591         (builtin_macro): Return int, handle _Pragma, push the new token
3592         on the context stack.
3593         (funlike_invocation_p): Unconstify, update.
3594         (enter_macro_context): Handle builtins here.
3595         (replace_args, push_token_context, push_ptoken_context):
3596         Update for prototype changes.
3597         (_cpp_pop_context): Update.
3598         (cpp_get_token): Don't handle buitins, nor _Pragma here.
3599         (cpp_sys_macro_p): Update.
3600         (_cpp_free_definition): Clear disabled flag.
3601         (_cpp_create_definition): Upate.
3602         * cppmain.c: Update comments.
3603
3604 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
3605                                 Andreas Jaeger <aj@suse.de>,
3606                                 Jan Hubicka    <jh@suse.cz>
3607
3608         * doc/invoke.texi (i386 Options): Document x86-64 options.
3609         (i386 and x86-64 Options): Rename i386 options section.
3610
3611         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
3612         (TARGET_SWITCHES): Add -munwind-info.
3613         (MASK_NO_UNWIND_INFO): New.
3614         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
3615         biarch compilation.
3616         (ASM_OUTPUT_DOUBLE_INT): New.
3617
3618         * config/i386/linux64.h: New spec file for Linux x86-64 support.
3619         * config.gcc: Fix tm_file settings for x86-64.
3620         * config/i386/x86-64.h: New file with OS independent x86-64
3621         definitions.
3622         * config/i386/biarch64.h: New file used to configure compiler
3623         to biarch/64bit compilation.
3624
3625         * config/i386/i386.c: (override_options): Set flags default
3626         for 64bit compilation.
3627
3628 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
3629
3630         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
3631         (ix86_expand_int_movcc): Optimize DImode conditional moves with
3632         constants on x86_64.
3633         (ix86_attr_length_immediate_default): Support MODE_DI.
3634         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
3635         condition.
3636         (indirect_jump, tablejump): Turn into expander.
3637
3638 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
3639
3640         * c-common.c (c_format_attribute_table): Make format and
3641         format_arg attributes apply to function types rather than to
3642         decls.
3643         (is_valid_printf_arglist): Construct an attribute list and pass
3644         that to check_function_format rather than a name.
3645         * c-common.h (check_function_format): Adjust prototype.
3646         * c-decl.c (duplicate_decls): Preserve attributes from type of
3647         built-in decl when allowing for harmless conflict in types.
3648         * c-format.c (record_function_format,
3649         record_international_format, function_format_list,
3650         international_format_info, international_format_list): Remove.
3651         (function_format_info): Remove next, name and assembler_name.
3652         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
3653         (decode_format_attr): New.
3654         (handle_format_attribute): Handle receiving a type rather than a
3655         decl.  Call decode_format_attr.  Store format information in a
3656         function_format_info.
3657         (handle_format_arg_attribute): Correct comment.  Handle receiving
3658         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
3659         arg_num.
3660         (check_format_info_recurse, check_format_info_main): Take argument
3661         numbers as unsigned HOST_WIDE_INT.
3662         (check_function_format): Take a list of attributes from the
3663         function type rather than a name or assembler name.  Check for
3664         format attributes in that list and the attributes on the type of
3665         the current function rather than looking through
3666         function_format_list.
3667         (check_format_info): Use unsigned HOST_WIDE_INT for argument
3668         numbers.
3669         (check_format_info_recurse): Take format_arg attributes from the
3670         type of the function calls rather than using
3671         international_format_list.  Allow for multiple format_arg
3672         attributes.
3673         * c-typeck.c (build_function_call): Pass type attributes to
3674         check_function_format rather than name or assembler name.  Don't
3675         require there to be a name or assembler name to check formats.
3676
3677 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
3678
3679         * attribs.c (decl_attributes): Possibly call
3680         insert_default_attributes to insert default attributes on
3681         functions in a lazy manner.
3682         * builtin-attrs.def: New file; define the default format and
3683         format_arg attributes.
3684         * c-common.c (c_format_attribute_table): Move to earlier in the
3685         file.
3686         (c_common_nodes_and_builtins): Initialize format_attribute_table.
3687         (enum built_in_attribute, built_in_attributes,
3688         c_attrs_initialized, c_init_attributes,
3689         c_common_insert_default_attributes): New.
3690         (c_common_lang_init): Don't initialize format_attribute_table.  Do
3691         call c_init_attributes.
3692         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
3693         * c-common.h (init_function_format_info): Don't declare.
3694         (c_common_insert_default_attributes): Declare.
3695         * c-decl.c (implicitly_declare, builtin_function): Call
3696         decl_attributes.
3697         (init_decl_processing): Don't call init_function_format_info.
3698         (insert_default_attributes): New.
3699         * c-format.c (handle_format_attribute,
3700         handle_format_arg_attribute): Be quiet about inappropriate
3701         declaration when applying default attributes.
3702         (init_function_format_info): Remove.
3703         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
3704         (insert_default_attributes): Declare.
3705
3706 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
3707
3708         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
3709
3710 2001-10-01  Jim Wilson  <wilson@redhat.com>
3711
3712         * sched-deps.c (add_dependence): When elide conditional dependence,
3713         check that insn doesn't modify cond2.
3714
3715 2001-10-01  Dale Johannesen  <dalej@apple.com>
3716
3717         * config/rs6000/rs6000.h (enum processor_type): Add support
3718         for 7400 (G4) and 7450.
3719         (RTX_COSTS): Ditto.
3720         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
3721         (rs6000_issue_rate): Ditto.
3722         (rs6000_adjust_cost): Fix cycle counts for compares.
3723         (debug_stack_info):  Fix an obvious typo.
3724         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
3725         * doc/invoke.texi: Document.
3726         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
3727         for Darwin.
3728         (PROCESSOR_DEFAULT): Ditto.
3729
3730 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
3731
3732         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
3733         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
3734         later recursive make invocation.
3735
3736 2001-10-01  Hans Boehm  <boehm@acm.org>
3737
3738         * optabs.c (emit_libcall_block): When using non-call exceptions,
3739         don't add REG_LIBCALL reg notes to trapping calls.
3740
3741 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
3742
3743         * flow.c (propagate_block_delete_libcall): Remove unused first arg
3744         (propagate_one_insn):  Update for above change
3745
3746 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
3747
3748         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
3749         _Unwind_GetTextRelBase): Argument is unused.
3750
3751 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3752
3753         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
3754         Loop through NOPs, placeholders, and components.
3755         Don't go through NOPs if change mode.
3756         (record_alias_subset): Do nothing if SUBSET and SET are the same.
3757         * emit-rtl.c (set_mem_alias_set): Enable check.
3758         * expr.c (find_placeholder): New function.
3759         (expand_expr, case PLACEHOLDER_EXPR): Use it.
3760         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
3761         to modify it and avoid unneeded copies.
3762         * expr.h (expand_expr): Always define.
3763         (find_placeholder): New declaration.
3764
3765 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3766
3767         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
3768         operand 2 is the stack pointer.
3769         ("addr-peephole"): Fix address computation peephole when operand 2
3770         is the stack pointer.
3771
3772 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3773
3774         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
3775         (ix86_setup_incoming_varargs): Likewise.
3776
3777 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
3778
3779         * stor-layout.c (layout_type): Don't complain about too-large
3780         array here.
3781
3782 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3783
3784         * function.c (keep_stack_depressed): Don't use delete_insn.
3785
3786         * expr.h (set_mem_alias_set): Move decl to here.
3787         * rtl.h (mem_attrs): New typedef and struct.
3788         (union rtunion_def): Add field for mem_attrs.
3789         (X0MEMATTR, MEM_ATTRS): New macros.
3790         (MEM_ALIAS_SET): Use MEM_ATTRS.
3791         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
3792         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
3793         (set_mem_alias_set): Delete decl from here.
3794
3795         * alias.c (set_mem_alias_set): Delete from here.
3796         * emit-rtl.c (mem_attrs_htab): New variable.
3797         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
3798         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
3799         (mem_attrs_mark, get_mem_attrs): Likewise.
3800         (gen_rtx_MEM): Clear MEM_ATTRS.
3801         (set_mem_attributes): Move to here.
3802         (set_mem_alias_set): Likewise, and call get_mem_attrs.
3803         (init_emit_once): const_int_htab now deletable htab.
3804         Initialize mem_attrs_htab.
3805         * explow.c (set_mem_attributes): Delete from here.
3806         * function.c (put_var_into_stack): Clear MEM_ATTRS.
3807         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
3808         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
3809         * reload1.c (reload): Rework changing REG to MEM.
3810
3811 2001-09-30  H.J. Lu <hjl@gnu.org>
3812
3813         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
3814         * config.in: Rebuild.
3815
3816 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3817
3818         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
3819         ("tsthi_1"): Avoid allocation in register y.
3820         ("*movqi_68hc12"): Reorganize and fix constraints.
3821         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
3822         ("addqi3"): Likewise.
3823         ("addhi3"): Fix constraints.
3824         ("*logicalhi3_zexthi"): Disparage soft registers.
3825
3826 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3827
3828         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
3829         to tmp reg.
3830
3831 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3832
3833         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
3834         that we use setjmp/longjmp exceptions.
3835
3836 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
3837
3838         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
3839         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
3840         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
3841         _cpp_pool_alloc, _cpp_next_chunk): Remove.
3842         (_cpp_extend_buff, BUFF_ROOM): Update.
3843         (_cpp_append_extend_buff): New.
3844         (struct cpp_reader): Remove macro_pool, add a_buff.
3845         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
3846         macro_pool.
3847         (cpp_destroy): Free a_buff instead of macro_pool.
3848         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
3849         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
3850         _cpp_pool_alloc, ): Remove.
3851         (parse_number, parse_string): Update use of _cpp_extend_buff.
3852         (_cpp_extend_buff): Update.
3853         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
3854         * cpplib.c (glue_header_name, parse_answer):
3855         Update use of _cpp_extend_buff.
3856         (cpp_register_pragma, cpp_register_pragma_space): Use
3857         _cpp_aligned_alloc.
3858         (do_assert, do_unassert): Check for EOL, update.
3859         * cppmacro.c (stringify_arg, collect_args): Update to use
3860         _cpp_extend_buff and _cpp_append_extend_buff.
3861         (save_parameter, parse_params, alloc_expansion_token,
3862         _cpp_create_definition): Rework memory management.
3863
3864 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
3865
3866         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
3867         update md_exec_prefix.
3868         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
3869         to string constant.
3870
3871 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
3872
3873         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
3874         (SELECT_CC_MODE): Use s390_select_ccmode.
3875         * config/s390/s390-protos.h (s390_select_ccmode): Add.
3876         * config/s390/s390.c (s390_select_ccmode): New.
3877         (s390_match_ccmode): Add CCLmode.
3878         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
3879         (output_branch_condition, output_inverse_branch_condition): Removed.
3880         (print_operand): Use s390_branch_condition_mnemonic.
3881         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
3882         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
3883         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
3884
3885         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
3886         when converting conditional branches to far branches.
3887         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
3888         cmpint_di): Use CCSmode instead of CCUmode.
3889
3890         * config/s390/s390.c (legitimate_la_operand_p): New.
3891         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
3892         * config/s390/s390.md (movsi): Convert load address patterns to
3893         arithmetic operations when necessary.
3894         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
3895         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
3896         (*do_la_reg_0): Don't use before reload.
3897
3898         * config/s390/s390.c (legitimize_address): Make more efficient
3899         use of two-register addressing mode.
3900
3901         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
3902         with -mno-backchain in some corner cases.
3903
3904         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
3905
3906 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
3907
3908         * reload.c (find_reloads): Mark new USE insns with QImode.
3909         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
3910         find_reloads_subreg_address): Likewise.
3911         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
3912         encountered.
3913         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
3914         CLOBBERs.
3915         (reload): Make sure there are no USEs with mode other than
3916         VOIDmode.  At the end, remove those marked with QImode.
3917
3918 2001-09-29  Per Bothner  <per@bothner.com>
3919
3920         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
3921         * Makefile.in (includedir):  Rename to local_includedir.
3922         (includedir):  Define as $(prefix)/include.
3923         * config.in (PREFIX_INCLUDE_DIR):  New variable.
3924         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
3925
3926 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
3927
3928         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
3929         storehps builtins.
3930         * doc/extend.texi (Vector Extensions): New node.
3931         * doc/invoke.texi (Machine Dependent Options): Add documentation for
3932         i386 -mmmx, -msse, -m3dnow.
3933
3934 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
3935
3936         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
3937
3938 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
3939
3940         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
3941
3942         * doc/invoke.texi (Optimize Options): Delete spurious @table.
3943
3944 2001-09-28  Richard Henderson  <rth@redhat.com>
3945
3946         * varasm.c (assemble_integer): Bound alignment check by
3947         BIGGEST_ALIGNMENT.
3948
3949         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
3950
3951 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3952
3953         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
3954
3955 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
3956
3957         Mostly from Graham Stott  <grahams@redhat.com>
3958         * c-common.c (type_for_mode): Add support for V2SFmode.
3959         * tree.c (build_common_tree_nodes_2): Likewise.
3960         * tree.h (enum tree_index, global_trees): Likewise.
3961         * config/i386/i386.c (x86_3dnow_a): New variable.
3962         (override_options): Support 3Dnow extensions.
3963         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
3964         Athlon's version of 3Dnow.
3965         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
3966         (ix86_expand_builtin): Handle them.
3967         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
3968         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
3969         TARGET_3DNOW_A): New macros.
3970         (TARGET_SWITCHES): Add 3Dnow switches.
3971         (VALID_MMX_REG_MODE_3DNOW): New macro.
3972         (VECTOR_MODE_SUPPORTED_P): Use it.
3973         (enum ix86_builtins): Add entries for 3Dnow builtins.
3974         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
3975         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
3976         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
3977         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
3978         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
3979         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
3980         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
3981         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
3982         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
3983         sfence_insn, prefetch): Make these available if TARGET_SSE or
3984         TARGET_3DNOW_A.
3985
3986 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
3987
3988         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
3989         ix86_va_start, ix86_build_va_list): Declare.
3990         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
3991         ix86_va_start, ix86_build_va_list): New global functions.
3992         * i386.md (sse_prologue_save_insn): New insn.
3993         (sse_prologue_save): New expander.
3994         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
3995         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
3996
3997 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
3998
3999         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
4000         Use size_t everywhere, make definitions consistent with
4001         prototypes.
4002
4003 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
4004
4005         * gcse.c (replace_store_insn): Use delete_insn.
4006         * loop.c (move_movables): Likewise; avoid delete_insn
4007         from clobbering notes moved elsewhere.
4008         (check_dbra_loop): Use delete_insn.
4009         * ssa.c (convert_from_ssa): Likewise.
4010         * cse.c (cse_insn): Use delete_insn.
4011
4012 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
4013
4014         * cpphash.h (struct cpp_buff): Make unsigned.
4015         (_cpp_get_buff): Take length of size_t.
4016         (_cpp_unaligned_alloc): New.
4017         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
4018         (struct cpp_reader): Remove ident_pool.  Add u_buff.
4019         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
4020         (cpp_destroy): Destroy u_buff, not ident_pool.
4021         * cpplex.c (parse_number, parse_string, save_comment,
4022         cpp_token_as_text): Update to use the unaligned buffer.
4023         (new_buff): Make unsigned.
4024         (_cpp_unaligned_alloc): New.
4025         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
4026         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
4027         Similarly.
4028         (collect_args): Make unsigned.
4029
4030 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
4031
4032         * cpplex.c (cpp_output_token): Use a putc loop for
4033         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
4034
4035         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
4036         * configure, config.in: Regenerate.
4037         * system.h: Replace fwrite and fprintf with their unlocked
4038         variants if available.
4039
4040 2001-09-27  Richard Henderson  <rth@redhat.com>
4041
4042         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
4043         in favour of .eh_frame.
4044
4045 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
4046
4047         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
4048         to macros.
4049         (LIBCALL_VALUE): Likewise.
4050
4051 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
4052
4053         * cpphash.h: Update comment.
4054         * cpplex.c: Update comments.
4055         (_cpp_can_paste): Remove.
4056         * cpplib.h (_cpp_can_paste): Remove.
4057         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
4058         lexer rather than _cpp_can_paste.
4059
4060 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
4061
4062         * doc/cppinternals.texi: Update.
4063
4064 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
4065
4066         * cpphash.h (struct cpp_pool): Remove locks and locked.
4067         (struct cpp_context): Add member buff.
4068         (struct cpp_reader): Remove member argument_pool.
4069         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
4070         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
4071         * cpplex.c (chunk_suitable): Remove pool argument.
4072         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
4073         (new_buff, _cpp_extend_buff): Update.
4074         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
4075         which buffer is returned.
4076         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
4077         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
4078         * cppmacro.c (lock_pools, unlock_pools): Remove.
4079         (push_ptoken_context): Take a _cpp_buff.
4080         (enter_macro_context): Pool locking removed.
4081         (replace_args): Use a _cpp_buff for the replacement list with
4082         arguments replaced.
4083         (push_token_context): Clear buff.
4084         (expand_arg): Use _cpp_pop_context.
4085         (_cpp_pop_context): Free a context's buffer, if any.
4086
4087 2001-09-26  DJ Delorie  <dj@redhat.com>
4088
4089         * c-typeck.c (digest_init): Check for sizeless arrays.
4090
4091 2001-09-26  Richard Henderson  <rth@redhat.com>
4092
4093         * optabs.c (init_one_libfunc): Create a dummy function type
4094         instead of using error_mark_node.
4095
4096 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
4097
4098         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
4099         _cpp_extend_buff, _cpp_free_buff): New.
4100         (struct cpp_reader): New member free_buffs.
4101         * cppinit.c (cpp_destroy): Free buffers.
4102         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
4103         _cpp_extend_buff, _cpp_free_buff): New.
4104         * cpplib.h (struct cpp_options): Remove unused member.
4105         * cppmacro.c (collect_args): New.  Combines the old parse_arg
4106         and parse_args.  Use _cpp_buff for memory allocation.
4107         (funlike_invocation_p, replace_args): Update.
4108
4109 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
4110
4111         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
4112
4113 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
4114
4115         * except.c (sjlj_mark_call_sites): Change address inside sequence.
4116
4117 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
4118
4119         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
4120         glibc.
4121
4122 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
4123             Jim Wilson  <wilson@redhat.com>
4124
4125         * doc/install.texi (Specific, ia64-*-linux): Document.
4126
4127 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
4128
4129         * Makefile.in (cfgrtl.o): Add.
4130         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
4131         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
4132         free_aux_for_edge): Declare.
4133         * cfg.c
4134         (HAVE_return): Undefine.
4135         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
4136         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
4137         free_aux_for_edge): New global functions.
4138         (first_delete_block): New static variable.
4139         (init_flow): Clear first_delete_block.
4140         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
4141          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
4142          try_redirect_by_replacing_jump, last_loop_beg_note,
4143          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
4144          delete_insn, delete_insn_chain, create_basic_block_structure,
4145          create_basic_block, flow_delete_block, compute_bb_for_insn,
4146          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
4147          set_block_for_new_insns, split_block, merge_blocks_nomove,
4148          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
4149          redirect_edge_and_branch, force_nonfallthru_and_redirect,
4150          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
4151          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
4152          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
4153          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
4154          purge_all_dead_edges): Move to ....
4155         * cfgrtl.c: New file; .... Here.
4156
4157         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
4158         (reroder_basic_block): Use alloc_aux_for_blocks.
4159         * predict.c (estimate_bb_frequencies): Likewise; use
4160         alloc_aux_for_edges.
4161         * profile.c (compute_branch_probabilities): Likewise.
4162         (branch_prob): Likewise.
4163         * reg-stack.c (reg_to_stack): Likewise.
4164
4165         * emit-rtl.c (emit_insns_after): Never return NULL.
4166
4167         * basic-block.h (set_block_for_new_insns): Delete.
4168         * cfgrtl.c (set_block_for_new_insns): Delete.
4169
4170         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
4171         calls when crossjumping.
4172
4173         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
4174         * unroll.c (copy_loop_body): Use delete_insn.
4175
4176         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
4177         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
4178         keep_stack_depressed): Likewise.
4179         * gcse.c (cprop_cc0_jump): Likewise.
4180         * local-alloc.c (update_equiv_regs): Likewise.
4181         * loop.c (scan_loop, loop_delete_insns): Likewise.
4182         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
4183         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
4184         delete_output_reload, delete_address_reloads_1,
4185         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
4186         Likewise.
4187         * sibcall.c (replace_call_placeholder): Likewise.
4188         * cse.c (cse_insn): Likewise.
4189
4190 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
4191
4192         From Graham Stott  <grahams@redhat.com>
4193         (def_builtin): Only define builtins appropriate for target_flags.  All
4194         callers changed.
4195         (builtin_decsription): Add new field mask which is used to determine
4196         when to define the builtin via the macro def_builtin.
4197
4198         (bdesc_comi): Initialise new mask fields.
4199         (bdesc_2srg): Likewise.
4200         (bdesc_1arg): Likewise.
4201
4202         * config/i386/i386.c (ix86_init_builtins): Correct return type
4203         building v4hi_ftype_v4hi_int_int tree node.
4204         (ix86_expand_sse_comi): Fix typo swapping operands.
4205         Don't swap comparision condition, it is already swapped.
4206         (ix86_expand_sse_compare): Before swapping operands
4207         move operand 1 into new rtx and not the target rtx.
4208         Don't swap comparison condition, it is already swapped.
4209         Always check whether we need to create a new TARGET.
4210
4211         * config/i386/i386.md: (sse_comi) Fix typos.
4212         (sse_ucomi): Likewise.
4213         (cvtss2si): Fix operand 0 contraint.
4214         (cvttss2si): Likewise.
4215         (sse_unpckhps): Fix mode for operand 2.
4216         (sse_unpcklps): Likewise.
4217
4218 2001-09-25  Graham Stott  <grahams@redhat.com>
4219
4220         * sibcall.c (skip_copy_to_return_value): Tighten return value
4221         copy check.
4222
4223 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
4224
4225         * rs6000.c (lwa_operand): Address must be word aligned.
4226
4227 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4228
4229         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
4230         number has been set.
4231         (type_hash_mark): Mark type itself.
4232
4233 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
4234
4235         * c-lex.c (cb_def_pragma): Update.
4236         (c_lex): Update, and skip padding.
4237         * cppexp.c (lex, parse_defined): Update, remove unused variable.
4238         * cpphash.h (struct toklist): Delete.
4239         (union utoken): New.
4240         (struct cpp_context): Update.
4241         (struct cpp_reader): New members eof, avoid_paste.
4242         (_cpp_temp_token): New.
4243         * cppinit.c (cpp_create_reader): Update.
4244         * cpplex.c (_cpp_temp_token): New.
4245         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
4246         (cpp_output_token): Don't print leading whitespace.
4247         (cpp_output_line): Update.
4248         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
4249         do_include_common, do_line, do_ident, do_pragma,
4250         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
4251         parse_assertion): Update.
4252         (get_token_no_padding): New.
4253         * cpplib.h (CPP_PADDING): New.
4254         (AVOID_LPASTE): Delete.
4255         (struct cpp_token): New union member source.
4256         (cpp_get_token): Update.
4257         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
4258         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
4259         replace_args, quote_string, stringify_arg, parse_arg, next_context,
4260         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
4261         _cpp_backup_tokens, _cpp_create_definition): Update.
4262         (push_arg_context): Delete.
4263         (padding_token, push_token_context, push_ptoken_context): New.
4264         (make_string_token, make_number_token): Update, rename.
4265         (cpp_get_token): Update to handle tokens as pointers to const,
4266         and insert padding appropriately.
4267         * cppmain.c (struct printer): New member prev.
4268         (check_multiline_token): Constify.
4269         (do_preprocessing, cb_line_change): Update.
4270         (scan_translation_unit): Update to handle spacing.
4271         * scan-decls.c (get_a_token): New.
4272         (skip_to_closing_brace, scan_decls): Update.
4273         * fix-header.c (read_scan_file): Update.
4274
4275         * doc/cpp.texi: Update.
4276
4277 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4278
4279         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
4280         leak by passing malloc'ed pointer to reconcat, not concat.
4281
4282 2001-09-24  DJ Delorie  <dj@redhat.com>
4283
4284         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
4285
4286 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
4287
4288         * flow.c (delete_dead_jumptables): Delete jumptable if the only
4289         reference is from the literal pool.
4290
4291 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
4292
4293         * doc/install.texi (Final install): Request additional information
4294         in mail about successful builds.
4295
4296 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4297
4298         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
4299         initial value of return pointer register instead of value in frame-20.
4300         Revise comments.
4301
4302 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4303
4304         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
4305         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
4306         the libcall if there isn't a referenced identifier for the symbol.
4307
4308 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4309
4310         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
4311         non 64-bit machines.  Use these as a plabel for the trampoline.
4312         (TRAMPOLINE_SIZE): Adjust size for new words.
4313         (INITIALIZE_TRAMPOLINE): Initialize new words.
4314         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
4315         pointer to the plabel in the trampoline.
4316
4317 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4318
4319         * pa.c (function_arg): Pass floating arguments in both general and
4320         floating registers in indirect (dynamic) calls when generating code
4321         for the 32 bit ABI and the HP assembler.
4322
4323 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4324
4325         * doc/install.texi: Markup fixes.
4326         Use Solaris 2, SunOS 4 as appropriate.
4327         (Specific, *-*-solaris2*): Explain this.
4328         Unconditionally warn against /usr/ucb tools.
4329         Remove Sun as warning, obsolete.
4330         Move X11 header bug workaround here, update patches.
4331         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
4332         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
4333
4334 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
4335
4336         * errors.h (warning, error, fatal, internal_error): Don't mark
4337         with ATTRIBUTE_PRINTF_n.
4338         * toplev.h (internal_error, fatal_io_error, warning, error,
4339         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
4340         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
4341         Likewise.
4342
4343 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4344
4345         * function.c (pop_function_context_from): var_refs_queue
4346         and temp slots now in GC memory.
4347         (mark_function_status, free_after_compilation): Likewise;
4348         also struct function now in GC memory.
4349         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
4350         (combine_temp_slots): Likewise.
4351         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
4352         (prepare_function_start): Use GC memory for struct function.
4353         (mark_temp_slot): Deleted.
4354         (gcc_mark_struct_function): struct function now in GC memory.
4355
4356         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
4357         code for division, not modulus.
4358
4359         * rtl.def (MEM): Remove obsolete part of comment.
4360
4361 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
4362
4363         * c-format.c (init_function_format_info): Check __builtin_printf
4364         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
4365         in gnu89 mode.
4366
4367 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4368
4369         * c-common.c (format_attribute_table): Remove decl.
4370         * tree.h (format_attribute_table, lang_attribute_table): New decls.
4371         (lang_attribute_common): Likewise.
4372
4373         * function.c (fix_lexical_address): Use set_mem_alias_set.
4374         (expand_function_start): Likewise.
4375         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
4376
4377         * varasm.c (output_constant): Fix unused variable warning.
4378
4379         * attribs.c: New file, from c-common.c.
4380         (attribute_tables): Now four elements.
4381         (format_attribute_table, lang_attribute_common): New variables.
4382         (init_attributes): Reflect above changes.
4383         (handle_mode_attribute): Delete check for wider than uintmax.
4384         * c-common.c: Delete parts moved to attribs.c.
4385         (enum attrs): Deleted; unused.
4386         (c_format_attribute_table): New variable.
4387         (c_common_lang_init): Initialize format_attribute_table with it.
4388         * c-common.h (decl_attributes): Remove decl.
4389         * tree.h (decl_attribute): Move it to here.
4390         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
4391         (attribs.o): New rule.
4392
4393 2001-09-22  Andreas Jaeger  <aj@suse.de>
4394
4395         * builtins.c (c_getstr): Remove unused variable.
4396
4397 2001-09-21  Richard Henderson  <rth@redhat.com>
4398
4399         * reload1.c (reload): Use delete_insn instead of splatting
4400         NOTE_INSN_DELETED.
4401
4402 2001-09-21  Richard Henderson  <rth@redhat.com>
4403
4404         * reload.c (push_secondary_reload): Don't check for "=" in output
4405         constraint after ""->ALL_REGS check.
4406
4407 2001-09-21  Richard Henderson  <rth@redhat.com>
4408
4409         * predict.c (expected_value_to_br_prob): Use pc_set.
4410
4411         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
4412         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
4413
4414 2001-09-21  Richard Henderson  <rth@redhat.com>
4415
4416         * rtl.h (LCT_RETURNS_TWICE): New.
4417         * calls.c (emit_call_1): Set current_function_calls_setjmp for
4418         ECF_RETURNS_TWICE.
4419         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
4420         to ECF_RETURNS_TWICE.
4421         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
4422         call to setjmp.
4423
4424         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
4425
4426         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
4427         (JMP_BUF_SIZE): New.
4428
4429 2001-09-21  Richard Henderson  <rth@redhat.com>
4430
4431         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
4432         to R8_REGS.
4433
4434 2001-09-21  Richard Henderson  <rth@redhat.com>
4435
4436         * tree.def (FDESC_EXPR): New.
4437         * expr.c (expand_expr): Handle it.
4438         * varasm.c (initializer_constant_valid_p): Likewise.
4439         (output_constant): Likewise.
4440         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
4441         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
4442         (ASM_OUTPUT_FDESC): New.
4443         * doc/tm.texi: Document the new macros.
4444
4445 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
4446
4447         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
4448         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
4449         once merging is complete.
4450
4451 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4452
4453         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
4454
4455 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
4456
4457         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
4458         that would be invalid after a merge.
4459
4460 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
4461
4462         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
4463         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
4464         remove some labels.
4465         (flow_delete_insn): This one.
4466         (delete_insn_chain): Rename from ...; do not care labels.
4467         (flow_delete_insn_chain): ... this one.
4468         (flow_delete_block): Remove the insns one BB has been expunged.
4469         (merge_blocks_nomove): Likewise.
4470         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
4471         updating BB boundaries.
4472         (tidy_fallthru_edge): Likewise.
4473         (commit_one_edge_insertion): Likewise.
4474         * cfgbuild.c (find_basic_block): Likewise.
4475         (find_basic_blocks_1): Likewise.
4476         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
4477         (try_crossjump_to_edge): Likewise.
4478         (try_optimize_cfg): Likewise.
4479         * cse.c (delete_trivially_dead_insns): Likewise.
4480         * df.c (df_insn_delete): Likewise.
4481         * doloop.c (doloop_modify): Use delete_related_insns.
4482         * emit-rtl.c (try_split): Likewise.
4483         (remove_insn): Update BB boundaries.
4484         * expect.c (connect_post_landing_pads): Use delete_related_insns.
4485         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
4486         updating BB boundaries.
4487         (propagate_block_delete_insn): Likewise.
4488         (propagate_block_delete_libcall): Likewise.
4489         * function.c (delete_handlers): Use delete_related_insns.
4490         (thread_prologue_and_epilogue_insns): Likewise.
4491         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
4492         * genpeep.c (gen_peephole): Use delete_related_insns.
4493         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
4494         BB boundaries.
4495         (find_cond_trap): Likewise.
4496         * integrate.c (save_for_inline): Use delete_related_insns.
4497         (copy_insn_list): Likewise.
4498         * jump.c (pruge_linie_number_notes): Likewise.
4499         (duplicate_loop_exit_test): Likewise.
4500         (delete_computation): Likewise.
4501         (delete_related_insn): Rename from ...; use delete_insn
4502         (delete_insn): ... this one.
4503         (redirect_jump): Use delete_related_insns.
4504         * loop.c (scan_loop): Likewise.
4505         (move_movables): Likewise.
4506         (find_and_verify_loops): Likewise.
4507         (check_dbra_loop): Likewise.
4508         * recog.c (peephole2_optimize): Likewise.
4509         * reg-stack.c (delete_insn_for_stacker): Remove.
4510         (move_for_stack_reg): Use delete_insn.
4511         * regmove.c (combine_stack_adjustments_for_block): Likewise.
4512         * reload1.c (delete_address_reloads): Use delete_related_insns.
4513         (fixup_abnormal_edges): Use delete_insn.
4514         * recog.c (emit_delay_sequence): Use delete_related_insns.
4515         (delete_from-delay_slot): Likewise.
4516         (delete_scheduled_jump): likewise.
4517         (optimize_skip): Likewise.
4518         (try_merge_delay_insns): Likewise.
4519         (full_simple_delay_slots): Likewise.
4520         (fill_slots_from_thread): Likewise.
4521         (relax_delay_slots): Likewise.
4522         (make_return_insns): Likewise.
4523         (dbr_schedule): Likewise.
4524         * rtl.h (delete_insn): Rename to delete_related_insns.
4525         (delete_insn, delete_insn_chain): New prototypes.
4526         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
4527         by df_insn_delete already.
4528         * ssa-dce.c (delete_insn_bb): Use delete_insn.
4529         * ssa.c (convert_from_ssa): Use delete_related_insns.
4530         * unroll.c (unroll_loop): Likewise.
4531         (calculate_giv_inc): Likewise.
4532         (copy_loop_body): Likewise.
4533
4534         * i386-protos.h (ix86_libcall_value, ix86_function_value,
4535         ix86_function_arg_regno_p, ix86_function_arg_boundary,
4536         ix86_return_in_memory, ix86_function_value): Declare.
4537         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
4538         new static valurables.
4539         (x86_64_reg_class): New enum
4540         (x86_64_reg_class_name): New array.
4541         (classify_argument, examine_argument, construct_container,
4542          merge_classes): New static functions.
4543         (optimization_options): Enable flag_omit_frame_pointer and disable
4544         flag_pcc_struct_return on 64bit.
4545         (ix86_libcall_value, ix86_function_value,
4546         ix86_function_arg_regno_p, ix86_function_arg_boundary,
4547         ix86_return_in_memory, ix86_function_value): New global functions.
4548         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
4549         (function_arg_advance): Handle x86_64 passing conventions.
4550         (function_arg): Likewise.
4551         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
4552         (RETURN_IN_MEMORY): Move offline.
4553         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
4554         (FUNCTION_VALUE_REGNO_P): New macro.
4555         (FUNCTION_ARG_REGNO_P): Move offline.
4556         (struct ix86_args): Add maybe_vaarg.
4557         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
4558         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
4559
4560 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
4561
4562         * s390.md: Changed attributes for scheduling.
4563         * s390.c: (s390_adjust_cost, s390_adjust_priority)
4564         Changed scheduling
4565
4566 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
4567
4568         Table-driven attributes.
4569         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
4570         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
4571         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
4572         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
4573         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
4574         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
4575         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
4576         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
4577         * tree.h (struct tree_decl): Change machine_attributes to
4578         attributes.
4579         * doc/c-tree.texi: Document that all attributes are now attached
4580         to decls and types.
4581         * c-common.c (add_attribute, attrtab, attrtab_idx,
4582         default_valid_lang_attribute, valid_lang_attribute): Remove.
4583         (attribute_tables, attributes_initialized,
4584         c_common_attribute_table, default_lang_attribute_table): New
4585         variables.
4586         (handle_packed_attribute, handle_nocommon_attribute,
4587         handle_common_attribute, handle_noreturn_attribute,
4588         handle_unused_attribute, handle_const_attribute,
4589         handle_transparent_union_attribute, handle_constructor_attribute,
4590         handle_destructor_attribute, handle_mode_attribute,
4591         handle_section_attribute, handle_aligned_attribute,
4592         handle_weak_attribute, handle_alias_attribute,
4593         handle_no_instrument_function_attribute,
4594         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
4595         handle_no_limit_stack_attribute, handle_pure_attribute): New
4596         functions.
4597         (init_attributes, decl_attributes): Rewrite to implement
4598         table-driven attributes.
4599         * c-common.h (enum attribute_flags): Move to tree.h.
4600         * c-format.c (decl_handle_format_attribute,
4601         decl_handle_format_arg_attribute): Rename to
4602         handle_format_attribute and handle_format_arg_attribute.  Update
4603         for table-driven attributes.
4604         * c-common.h (decl_handle_format_attribute,
4605         decl_handle_format_arg_attribute): Remove prototypes.
4606         (handle_format_attribute, handle_format_arg_attribute): Add
4607         prototypes.
4608         * c-decl.c (grokdeclarator): Handle attributes nested inside
4609         declarators.
4610         * c-parse.in (setattrs, maybe_setattrs): Remove.
4611         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
4612         Update to handle nested attributes properly.
4613         (maybe_resetattrs, after_type_declarator,
4614         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
4615         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
4616         properly.
4617         (make_pointer_declarator): Update to handle nested attributes
4618         properly.
4619         * doc/extend.texi: Update documentation of limits of attributes
4620         syntax.  Warn about problems with attribute semantics in C++.
4621         * target.h (struct target): Remove valid_decl_attribute and
4622         valid_type_attribute.  Add attribute_table and
4623         function_attribute_inlinable_p.
4624         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
4625         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
4626         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
4627         Add.
4628         (TARGET_INITIALIZER): Update.
4629         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
4630         definition.
4631         (function_attribute_inlinable_p): New function.  Check for the
4632         presence of any machine attributes before using
4633         targetm.function_attribute_inlinable_p.
4634         (function_cannot_inline_p): Update.
4635         * Makefile.in (integrate.o): Update dependencies.
4636         * doc/tm.texi: Update documentation of target attributes and
4637         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
4638         * tree.c (default_valid_attribute_p, valid_machine_attribute):
4639         Remove.
4640         (default_target_attribute_table,
4641         default_function_attribute_inlinable_p): New.
4642         (lookup_attribute): Update comment to clarify handling of multiple
4643         attributes with the same name.
4644         (merge_attributes, attribute_list_contained): Allow multiple
4645         attributes with the same name but different arguments to appear in
4646         the same attribute list.
4647         * tree.h (default_valid_attribute_p): Remove prototype.
4648         (struct attribute_spec): New.
4649         (default_target_attribute_table): Declare.
4650         (enum attribute_flags): Move from c-common.h.  Add
4651         ATTR_FLAG_TYPE_IN_PLACE.
4652         (default_function_attribute_inlinable_p): Declare.
4653         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
4654         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
4655         (TARGET_ATTRIBUTE_TABLE): Define.
4656         (vms_attribute_table): New.
4657         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
4658         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
4659         (TARGET_ATTRIBUTE_TABLE): Define.
4660         (arc_attribute_table, arc_handle_interrupt_attribute): New.
4661         * config/arm/arm.c (arm_valid_type_attribute_p,
4662         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
4663         Remove.
4664         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
4665         define.
4666         (TARGET_ATTRIBUTE_TABLE): Define.
4667         (arm_attribute_table, arm_handle_fndecl_attribute,
4668         arm_handle_isr_attribute): New.
4669         * config/avr/avr.c (avr_valid_type_attribute,
4670         avr_valid_decl_attribute): Remove.
4671         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
4672         define.
4673         (TARGET_ATTRIBUTE_TABLE): Define.
4674         (avr_attribute_table, avr_handle_progmem_attribute,
4675         avr_handle_fndecl_attribute): New.
4676         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
4677         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
4678         (TARGET_ATTRIBUTE_TABLE): Define.
4679         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
4680         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
4681         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
4682         (TARGET_ATTRIBUTE_TABLE): Define.
4683         (h8300_attribute_table, h8300_handle_fndecl_attribute,
4684         h8300_handle_eightbit_data_attribute,
4685         h8300_handle_tiny_data_attribute): New.
4686         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
4687         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
4688         Remove prototypes.
4689         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
4690         declarations.
4691         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
4692         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
4693         define.
4694         (TARGET_ATTRIBUTE_TABLE): Define.
4695         (ix86_attribute_table, ix86_handle_cdecl_attribute,
4696         ix86_handle_regparm_attribute): New.
4697         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
4698         i386_pe_valid_type_attribute_p): Remove.
4699         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
4700         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
4701         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
4702         (TARGET_ATTRIBUTE_TABLE): Define.
4703         (ia64_attribute_table): New.
4704         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
4705         interrupt_ident2, model_ident1, model_ident2): Remove.
4706         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
4707         (TARGET_ATTRIBUTE_TABLE): Define.
4708         (init_idents): Update.
4709         (m32r_attribute_table, m32r_handle_model_attribute): New.
4710         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
4711         Remove.
4712         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
4713         (TARGET_ATTRIBUTE_TABLE): Define.
4714         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
4715         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
4716         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
4717         (TARGET_ATTRIBUTE_TABLE): Define.
4718         (mcore_attribute_table, mcore_handle_naked_attribute): New.
4719         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
4720         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
4721         (TARGET_ATTRIBUTE_TABLE): Define.
4722         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
4723         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
4724         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
4725         (TARGET_ATTRIBUTE_TABLE): Define.
4726         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
4727         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
4728         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
4729         (TARGET_ATTRIBUTE_TABLE): Define.
4730         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
4731         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
4732         New.
4733         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
4734         Remove.
4735         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
4736         (TARGET_ATTRIBUTE_TABLE): Define.
4737         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
4738         New.
4739         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
4740         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
4741         (TARGET_ATTRIBUTE_TABLE): Define.
4742         (v850_attribute_table, v850_handle_interrupt_attribute,
4743         v850_handle_data_area_attribute): New.
4744         * config/v850/v850-c.c (mark_current_function_as_interrupt):
4745         Return void.  Call decl_attributes instead of
4746         valid_machine_attribute.
4747
4748 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
4749
4750         * sh-protos.h (sh_pr_n_sets): Declare.
4751         * sh.c (calc_live_regs): If the initial value for PR has been copied,
4752         look at the copy to determine if PR needs to be saved.
4753         sh_pr_n_sets: New function.
4754         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
4755         (ALLOCATE_INITIAL_VALUE): Define.
4756
4757         * sh.c (initial_elimination_offset):
4758         Fix RETURN_ADDRESS_POINTER_REGNUM case.
4759
4760 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
4761
4762         * integrate.c (allocate_initial_values): New function.
4763         * integrate.h (allocate_initial_values): Declare.
4764         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
4765         here...
4766         * reload1.c (reload): And initialization of reg_equiv_memory_loc
4767         from here...
4768         * toplev.c (rest_of_compilation): To here.
4769         Call allocate_initial_values.
4770         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
4771
4772 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4773
4774         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
4775
4776 2001-09-20  DJ Delorie  <dj@redhat.com>
4777
4778         * c-typeck.c (really_start_incremental_init): Discriminate
4779         between zero-length arrays and flexible arrays.
4780         (push_init_level): Detect zero-length arrays and handle them
4781         like fixed-sized arrays.
4782         * expr.c (store_constructor): Handle zero-length arrays and
4783         flexible arrays correctly.
4784         * doc/extend.texi: Update zero-length array notes.
4785
4786 2001-09-20  Jim Wilson  <wilson@redhat.com>
4787
4788         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
4789         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
4790         for issue port conflicts.
4791         (cycle_end_fill_slots): TYPE_L instructions take two slots.
4792
4793 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
4794
4795         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
4796         on ia64.
4797
4798 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4799
4800         * fold-const.c (hashtab.h): Include.
4801         (int_const_binop): Remove FORSIZE arg and compute from type; all
4802         callers changed.
4803         Call size_int_type_wide for all single-word constants.
4804         (size_htab_hash, size_htab_eq): New functions.
4805         (size_int_type_wide): Rework to use hash table.
4806         * ggc-common.c (hashtab.h): Include.
4807         (struct d_htab_root): New struct.
4808         (d_htab_roots): New variable.
4809         (ggc_add_deletable_htab, ggc_htab_delete): New functions
4810         (ggc_mark_roots): Handle deletable htabs.
4811         * ggc-page.c (ggc_marked_p): New function.
4812         * ggc-simple.c (ggc_marked_p): Likewise.
4813         * ggc.h: Reformatting throughout.
4814         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
4815         * tree.c (init_obstacks): Make type_hash_table a deletable root.
4816         (type_hash_add): Allocate struct type_hash from GC memory.
4817         (mark_hash_entry, mark_type_hash): Deleted.
4818         (type_hash_marked_p, type_hash_mark): New functions.
4819         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
4820
4821 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
4822
4823         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
4824         than SImode.
4825
4826 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4827
4828         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
4829         array-too-large test for signed sizetype.
4830
4831 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
4832
4833         * i386.md (indirect_jump): Allow Pmode operand.
4834         (tablejump): LIkewise; perform expansion to 64bit mode.
4835         * i386.c (symbolic_operand): Allow 64bit PIC references.
4836         (pic_symbolic_operand): Likewise.
4837         (ix86_find_base_term): Strip the 64bit PIC references.
4838         (legitimate_pic_address_disp_p): Handle 64bit PIC.
4839         (legitimize_pic_address): Likewise.
4840         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
4841         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
4842
4843 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
4844
4845         * stringpool.c (get_identifier_with_length): New function.
4846         * tree.h (get_identifier_with_length): New prototype.
4847
4848 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
4849             David Edelsohn  <edelsohn@gnu.org>
4850
4851         Revert:
4852         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
4853         already sign-extended.
4854
4855         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
4856         * config/rs6000/rs6000.c (logical_operand): Always compare op as
4857         HOST_WIDE_INT.
4858         (rs6000_emit_set_long_const): Avoid unnecessary shift.
4859         (output_profile_hook): Declare label_name const.
4860         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
4861         to match constraints.
4862
4863 2001-09-19  Stan Shebs  <shebs@apple.com>
4864
4865         * alias.c: Fix typos in comments.
4866         * sched-rgn.c (init_ready_list): Ditto.
4867         * unwind-dw2.c (uw_frame_state_for): Ditto.
4868         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
4869         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
4870         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
4871
4872 2001-09-19  Richard Henderson  <rth@redhat.com>
4873
4874         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
4875         to the exit block.
4876         * Makefile.in (cfg.o): Depend on TM_P_H.
4877
4878 2001-09-19  Richard Henderson  <rth@redhat.com>
4879
4880         * config/alpha/alpha.c (local_symbol_p): Split out from ...
4881         (local_symbolic_operand): ... here.
4882         (small_symbolic_operand): Check mode.
4883         (global_symbolic_operand): New.
4884         (input_operand): Reject symbolics if explicit relocs.
4885         (call_operand): Tidy.
4886         (alpha_legitimize_address): Use movdi_er_high_g.
4887         (alpha_expand_mov): Likewise.
4888         * config/alpha/alpha-protos.h: Update.
4889         * config/alpha/alpha.h (PREDICATE_CODES): Update.
4890         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
4891         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
4892         (UNSPECV_LDGP2): Remove.
4893         (all call patterns): Use 's' not 'i' for symbolic constraint.
4894         (call_osf call_value_osf): Use call_operand.
4895         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
4896         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
4897         (prologue_ldgp_1_er): Remove.
4898         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
4899         (builtin_setjmp_receiver_er patterns): Use them.
4900         (exception_receiver_er): Likewise.
4901
4902 2001-09-19  Richard Henderson  <rth@redhat.com>
4903
4904         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
4905
4906         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
4907         and NON_LOCAL_GOTO notes.
4908         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
4909         copy over CALL_INSN_FUNCTION_USAGE.
4910
4911 2001-09-18  Catherine Moore  <clm@redhat.com>
4912
4913         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
4914         Define as 0.
4915
4916 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
4917
4918         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
4919         new-style tm_file specification.  Specify correct tm_p_file,
4920         md_file, and out_file for s390x.
4921
4922         * config/s390/linux.h, linux64.h:  Don't include other target
4923         macro header files.  Now handled via tm_file.
4924
4925         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
4926         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
4927         are defined before use.
4928
4929 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
4930
4931         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
4932         code generation only for Gnu assembler.
4933
4934 2001-09-18  Catherine Moore  <clm@redhat.com>
4935
4936         * config/stormy16 (LIB_SPEC): Remove -lnosys.
4937
4938 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
4939
4940         * config/mips/mips.c (mips_frame_set): New.
4941         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
4942         a parallel frame-related expression with a set for each register.
4943
4944 2001-09-18  Philip Blundell  <philb@gnu.org>
4945
4946         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
4947         header files.
4948
4949 2001-09-17  Dale Johannesen  <dalej@apple.com>
4950
4951         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
4952         * config/rs6000/aix.h (FIXED_R2): Define.
4953         * config/rs6000/darwin.h (FIXED_R2): Define.
4954         * config/rs6000/sysv4.h (FIXED_R2): Define.
4955
4956 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
4957
4958         * except.c (dw2_build_landing_pads): New local
4959         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
4960         barrier after clobbers.  Fixes c++/4012.
4961
4962 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4963
4964         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
4965
4966 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
4967
4968         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
4969         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
4970
4971 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4972
4973         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
4974         alloca/strcpy.
4975
4976 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
4977
4978         * cpphash.h (_cpp_lex_direct): New.
4979         * cpplex.c (_cpp_lex_token): Update.
4980         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
4981         and increment that pointer.
4982         * cppmacro.c (alloc_expansion_token): New.
4983         (lex_expansion_token): Lex macro expansion directly into
4984         macro storage.
4985
4986 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
4987
4988         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
4989
4990 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
4991
4992         * basic-block.h (free_bb_for_insn): Declare.
4993         * bb-reorder.c (label_for_bb): Use block_label.
4994         (emit_jump_to_block_after): Remove.
4995         (insert_intra_1): Do not update block_for_insn.
4996         (insert_inter_bb_scope_notes): Likewise; update bb->end
4997         * cfg.c (free_bb_for_insn): New.
4998         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
4999         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
5000         (commit_one_edge_insertion): Likewise.
5001         (commit_one_edge_insertion): Do not update BB boundary.
5002         (commit_edge_insertions): Do not call compute_bb_for_insn.
5003         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
5004         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
5005         (merge_blocks_move_successor_nojumps): Likewise.
5006         (try_crossjump_to_edge): Do not update block_for_insn.
5007         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
5008         * df.c (df_pattern_emit_later): Do not update BB boundary.
5009         (df_jump_pattern_emit_after): Likewise.
5010         (df_insn_move_before): Use emit_insn_before.
5011         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
5012          properly.
5013         (add_insn_after, add_insn_before, emit_insns_after): Update BB
5014         boundaries and basic_block_for_insn.
5015         (reorder_insns_nobb): Rename from reorder_insns.
5016         (reorder_insns): New.
5017         (emit_block_insn_before, emit_block_insn_after): Kill.
5018         * flow.c (check_function_return_warnings): Do not call
5019         compute_bb_for_insn; Do not free basic_block_for_insn.
5020         (attempt_auto_inc): Do not update basic_block_for_insn.
5021         * function.c (emit_return_into_block): Likewise;
5022         do not update BB boundaries.
5023         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
5024         (insert_insn_end_bb): Use emit_insn_before; Likewise.
5025         (pre_insert_copy_insn): Likewise.
5026         (update_ld_motion_notes): Likewise.
5027         (insert_insn_start_bb): Likewise.
5028         (replace_store_insn): Likewise.
5029         * ifcvt.c (noce_process_if_block): Likewise.
5030         (if_convert): Do not call compute_bb_for_insn.
5031         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
5032         Use emit_insn_before and emit_insn_after.
5033         * recog.c (split_all_insns): Do not update BB boundaries;
5034         Do not call compute_bb_for_insn.
5035         (peephole2_optimize): Do not update BB boundaries.
5036         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
5037         emit_insn_before.
5038         (emit_swap_insn): Likewise.
5039         (convert_regs_1): Likewise.
5040         * reload1.c (reload): Call compute_bb_for_insn.
5041         * rtl.h (reorder_insns_nobb): Declare.
5042         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
5043         * toplev.c (rest_of_compilation): Call free_bb_for_insn
5044         at places CFG is invalidated; do not call compute_bb_for_insn.
5045
5046         * cfg.c (expunge_block): Invalidate BB structure.
5047
5048         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
5049         array.
5050
5051         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
5052
5053 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
5054
5055         * cpphash.h (_cpp_lex_token): Update prototype.
5056         * cpplex.c (_cpp_lex_token): New prototype.
5057         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
5058         lex_macro_node, read_flag, do_pragma_poison): Update.
5059         * cppmacro.c (cpp_get_token, parse_params,
5060         lex_expansion_token): Update.
5061
5062 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
5063
5064         * cppmain.c (scan_translation_unit): Don't worry about
5065         putting a space after hashes.
5066         * cpplib.c (directive_diagnostics): New.
5067         (_cpp_handle_directive): Update to use directive_diagnostics.
5068         (run_directive): Don't toggle prevent_expansion.
5069         (do_line): Backup in case of the line extension.
5070         * cpplib.h (cpp_lexer_pos): Remove.
5071         * cppmacro.c (_cpp_create_definition): Precede a leading #
5072         with whitespace.
5073
5074 2001-09-15  Richard Henderson  <rth@redhat.com>
5075
5076         * c-typeck.c (comptypes): Handle zero-length arrays properly.
5077
5078 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5079
5080         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
5081
5082 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
5083
5084         PR preprocessor/3571
5085         * tradcpp.c (handle_directive): Skip non-vertical space.
5086
5087 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
5088
5089         * cppmain.c (setup_callbacks): Set line callback only
5090         if outputting preprocessed source.
5091
5092 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5093
5094         * collect2.c (main): Const-ification.
5095         * gcc.c (translate_options, process_command): Use xstrdup in
5096         lieu of xmalloc/strcpy.
5097         (main): Use concat in lieu of xmalloc/strcpy/strcat.
5098
5099 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5100
5101         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
5102         example.
5103
5104 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
5105
5106         * scan-decls.c (scan_decls): Fix typo.
5107
5108 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
5109
5110         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
5111         Split mlstring_pos into mls_line and mls_col.
5112         * cppinit.c (cpp_create_reader): Initialize line to 1.
5113         (cpp_destroy): Free tokenruns.
5114         (push_include): Don't update lexer_pos.
5115         * cpplex.c (unterminated, parse_string): Update.
5116         (lex_token): Don't update lexer_pos, update.
5117         * cpplib.c (if_stack): Save line instead of line + col.
5118         (start_directive, _cpp_do__Pragma, do_else, do_elif,
5119         push_conditional, _cpp_pop_buffer): Update.
5120         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
5121         (_cpp_create_definition): Update.
5122
5123 2001-09-15  Eric Christopher  <echristo@redhat.com>
5124
5125         * config/mips/abi64.h: Add support for MEABI.
5126
5127 2001-09-15  Eric Christopher  <echristo@redhat.com>
5128
5129         * config/mips/mips.md: Add unspec #2.
5130         (reload_indi): Use.
5131         (reload_outdi): Ditto.
5132         (reload_outsi): Ditto.
5133         (HILO_delay): New.
5134
5135 2001-09-15  Eric Christopher  <echristo@redhat.com>
5136             Jason Eckhardt  <jle@redhat.com>
5137
5138         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
5139         * config/mips/isa32-linux.h: New file.
5140         * config/mips/isa3264.h: Ditto.
5141         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
5142         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
5143         (output_block_mode): Support MEABI.
5144         (function_arg): Ditto. Fix floating point arg passing.
5145         (mips_va_start): Ditto.
5146         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
5147         processors.
5148         (mips_asm_file_start): Add new section to pass abi to gdb.
5149         (function_arg_pass_by_reference): Support MEABI.
5150         (mips_parse_cpu): Support mips32 and mips64 processors.
5151         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
5152         TARGET_MIPS5KC.  Support isa32 and isa64.
5153         (processor_type): Add r4kc, r5kc, r20kc.
5154         (GENERATE_MULT3_SI): New.
5155         (GENERATE_MULT3_DI): Ditto.
5156         (GENERATE_MULT3): Remove.
5157         (ISA_HAS_64BIT_REGS): Add isa == 64.
5158         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
5159         (ISA_HAS_MADD_MSUB): New.
5160         (ISA_HAS_CLZ_CLO): Ditto.
5161         (ISA_HAS_DCLZ_DCLO): Ditto.
5162         (ABI_GAS_ASM_SPEC): New.
5163         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
5164         (ASM_SPEC): Ditto.
5165         (LINK_SPEC): Ditto.
5166         (SUBTARGET_CC1_SPEC): Ditto.
5167         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
5168         (PAD_VARARGS_DOWN): Support MEABI.
5169         (HARD_REGNO_NREGS): Move to mips.c.
5170         (ASM_OUTPUT_IDENT): Add #undef.
5171         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
5172         (mulsi3): Use GENERATE_MULT3_SI.
5173         (mulsi3_mult3): Ditto.  Support mips32, mips64.
5174         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
5175         (mul_sub_si): New pattern.
5176         (unnamed splitters): New.
5177         (muldi3): Use GENERATE_MULT3_DI.
5178         (muldi3_internal2): Ditto.
5179         (movdicc): Support mips32.
5180         * config/mips/t-isa3264: New file.
5181
5182 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
5183
5184         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
5185         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
5186         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
5187
5188         * reorg.c (fill_slots_from_thread): After call to
5189         steal_delay_list_from_target, update own_thread as new_thread may
5190         have branched.
5191
5192 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
5193
5194         * cpperror.c (print_location): Take line and column, for
5195         default positioning use the previously lexed token.
5196         (_cpp_begin_message): Take line and column.
5197         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
5198         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
5199         * cpphash.h (_cpp_begin_message): Update prototype.
5200         * cppinit.c (push_include): Don't set output line.
5201         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
5202         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
5203         (do_pragma): Kludge for front ends.  Don't expand macros at all.
5204         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
5205         (struct cpp_token): Remove output_line.
5206         (struct cpp_callbacks): New member line_change.
5207         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
5208         cpp_get_token): Preserve BOL flag.
5209         (cpp_get_line): Remove.
5210         (_cpp_backup_tokens): Remove useless abort().
5211         * cppmain.c (cb_line_change): New.
5212         (scan_translation_unit): Don't worry about starting new lines here.
5213         * scan-decls.c (scan_decls): Update.
5214         * c-lex.c (c_lex, init_c_lex): Update.
5215         (cb_line_change, src_lineno): New.
5216
5217 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
5218
5219         * tree.c (append_random_chars): Generate the random
5220         characters in a reproducable fashion.
5221
5222 2001-09-14  Richard Henderson  <rth@redhat.com>
5223
5224         * config/i386/i386.c (internal_label_prefix): New.
5225         (internal_label_prefix_len): New.
5226         (override_options): Set them.
5227         (local_symbolic_operand): New.
5228         (legitimate_pic_address_disp_p): Use it.
5229         (legitimize_pic_address): Likewise.
5230
5231 2001-09-14  Marc Espie <espie@openbsd.org>
5232
5233         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
5234         correctly.
5235
5236 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5237
5238         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
5239         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
5240
5241 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
5242
5243         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
5244         invocation of SUBREG_REGNO_OFFSET.
5245
5246         * haifa-sched.c: Fix typo in FSF copyright statement.
5247         * sched-deps.c: Fix typo in FSF copyright statement.
5248         * sched-ebb.c: Fix typo in FSF copyright statement.
5249         * sched-rgn.c: Fix typo in FSF copyright statement.
5250         * sched-vis.c: Fix typo in FSF copyright statement.
5251
5252         * config.gcc: Move inclusion of arm elf specific header files
5253         from the files themselves into the tm_file variable.  Make
5254         sure that elfos.h is included before target specific elf
5255         headers.
5256         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
5257         already defined.
5258         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
5259         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
5260         ASM_OUTPUT_CASE_LABEL): Protect definition.
5261         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
5262         not already defined.
5263         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
5264         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
5265         Remove duplicate definition.
5266         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
5267         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
5268         (RDATA_SECTION_FUNCTION): Remove redundant definition.
5269         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
5270         Remove inclusion of arm/elf.h.
5271         * config/arm/unknown-elf.h: as for conix-elf.h.
5272         (STARTFILE_SPEC): Include crti.o and crtn.o.
5273         * config/arm/linux-elf.h: as for conix-elf.h.
5274         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
5275         * config/arm/strongarm-elf.h: Remove inclusion of
5276         unknown-elf.h.
5277         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
5278         * config/arm/unknown-elf-oabi.h: Remove inclusion of
5279         unknown-elf.h and elf.h.
5280         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
5281         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
5282         ASM_WEAKEN_LABEL): Remove redundant definition.
5283         * config/arm/elf.h: Test for inclusion of elfos.h
5284         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
5285         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
5286         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
5287         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
5288         redundant definition.
5289         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
5290         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
5291         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
5292         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
5293         Add rules to build crti.o and crtn.o
5294         * crti.asm: New file.
5295         * crtn.asm: New file.
5296
5297 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
5298
5299         * c-parse.in (_yylex): Use _cpp_backup_tokens.
5300         * cpphash.h (struct tokenrun): Add prev.
5301         (struct lexer_state): Remove bol.
5302         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
5303         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
5304         : Remove.
5305         * cppinit.c (cpp_create_reader): Don't set bol.
5306         (cpp_destroy): Don't free lookaheads.
5307         * cpplex.c (lex_directive): Remove.
5308         (next_tokenrun): Update.
5309         (_cpp_lex_token): Clean up logic.
5310         (lex_token): Update to return a pointer to lexed token, since it
5311         can move to the start of the buffer.  Simpify newline handling.
5312         * cpplib.c (SEEN_EOL): Update.
5313         (skip_rest_of_line): Remove lookahead stuff.
5314         (end_directive): Line numbers are already incremented.  Revert
5315         to start of lexed token buffer if we can.
5316         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
5317         parse_answer): Use _cpp_backup_tokens.
5318         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
5319         instead.  Don't check for EOL.
5320         (do_include_common, do_line, do_pragma_system_header): Use
5321         skip_rest_of_line.
5322         * cpplib.h (BOL, _cpp_backup_tokens): New.
5323         * cppmacro.c (save_lookahead_token, take_lookahead_token,
5324         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
5325         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
5326         (builtin_macro): Don't use cpp_get_line.
5327         (cpp_get_line): Short term kludge.
5328         (parse_arg): Handle directives in arguments here.  Back up when
5329         appropriate.  Store EOF at end of argument list.
5330         (funlike_invocation_p): Use _cpp_backup_tokens.
5331         (push_arg_context): Account for EOF at end of list.
5332         (cpp_get_token): Remove lookahead stuff.  Update.
5333
5334 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5335
5336         * c-parse.in (yyerror): Const-ification and/or static-ization.
5337         * c-typeck.c (push_member_name): Likewise.
5338         * collect2.c (main): Likewise.
5339         * dbxout.c (dbxout_parms): Likewise.
5340         * diagnostic.c (format_with_decl): Likewise.
5341         * dwarf2out.c (output_ranges): Likewise.
5342         * dwarfout.c (fundamental_type_code): Likewise.
5343         * except.c (dw2_output_call_site_table): Likewise.
5344         * gcc.c (do_spec_1): Likewise.
5345         * genopinit.c (optabs): Likewise.
5346         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
5347         gen_declaration_1, handle_impent): Likewise.
5348         * protoize.c (default_include, in_system_include_dir, abspath):
5349         Likewise.
5350         * sched-vis.c (visualize_stall_cycles): Likewise.
5351         * sdbout.c (plain_type_1, sdbout_end_function,
5352         sdbout_end_epilogue): Likewise.
5353         * varasm.c (decode_reg_name): Likewise.
5354
5355         * 1750a.c (mod_regno_adjust): Likewise.
5356         * alpha.c (alpha_write_one_linkage,
5357         unicosmk_output_default_externs): Likewise.
5358         * arm.c (arm_condition_codes): Likewise.
5359         * arm.h (arm_condition_codes): Likewise.
5360         * avr.c (output_movsisf, encode_section_info): Likewise.
5361         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
5362         Likewise.
5363         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
5364         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
5365         * m88k.c (output_function_profiler): Likewise.
5366         * mips.c (mips_output_conditional_branch): Likewise.
5367         * ns32k.c (ns32k_out_reg_names): Likewise.
5368         * ns32k.h (ns32k_out_reg_names): Likewise.
5369         * pj.c (pj_output_rval): Likewise.
5370         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
5371         * sparc.c (sparc_flat_function_prologue,
5372         sparc_flat_function_epilogue): Likewise.
5373
5374 2001-09-13  Markus Werle <numerical.simulation@web.de>
5375             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5376
5377         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
5378         Aachen University of Technology".
5379
5380 2001-09-13  Andreas Schwab  <schwab@suse.de>
5381
5382         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
5383         C99.
5384
5385 2001-09-13  Richard Henderson  <rth@redhat.com>
5386
5387         * config/alpha/alpha.c (small_symbolic_operand): New.
5388         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
5389         (some_operand, input_operand): Don't handle HIGH.
5390         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
5391         (alpha_expand_mov): Likewise.
5392         (print_operand) [H]: Just print HIGH symbol.
5393         (print_operand_address): Handle small data.
5394         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
5395         (TARGET_SWITCHES): Add -msmall-data/large-data.
5396         (PIC_OFFSET_TABLE_REGNUM): New.
5397         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
5398         (PREDICATE_COES): Update.
5399         * config/alpha/alpha.md (adddi_er_high): New.
5400         (adddi_er_low): Handle small data.
5401         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
5402         prefer .sdata to .rodata.
5403         (SELECT_RTX_SECTION): Likewise.
5404
5405 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
5406
5407         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
5408         defining __size_t and leaving size_t undefined.
5409
5410 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
5411
5412         * basic-block.h (expunge_block): Declare.
5413         * cfg.c (expunge_block): Remove static declaration.
5414
5415 2001-09-12  Richard Henderson  <rth@redhat.com>
5416
5417         * integrate.c (copy_insn_list): Copy label name from
5418         NOTE_INSN_DELETED_LABEL.
5419
5420 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5421
5422         * c-common.c (c_tree_code_name): Const-ification.
5423         * c-decl.c (c_decode_option): Likewise.
5424         * c-typeck.c (warn_for_assignment): Likewise.
5425         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
5426         Likewise.
5427         * cppinit.c (output_deps): Likewise.
5428         * dependence.c (dependence_string, direction_string): Likewise.
5429         * dwarf2out.c (output_ranges): Likewise.
5430         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
5431         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
5432         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
5433         standard_startfile_prefix, standard_startfile_prefix_1,
5434         standard_startfile_prefix_2, tooldir_base_prefix,
5435         standard_bindir_prefix, find_a_file): Likewise.
5436         * genattrtab.c (make_length_attrs): Likewise.
5437         * gencheck.c (tree_codes): Likewise.
5438         * genemit.c (gen_split): Likewise.
5439         * genrecog.c (special_mode_pred_table): Likewise.
5440         * graph.c (graph_ext): Likewise.
5441         * protoize (default_include): Likewise.
5442         * reload.c (reload_when_needed_name): Likewise.
5443         * sched-vis.c (visualize_stall_cycles): Likewise.
5444         * tlink.c (recompile_files): Likewise.
5445         * toplev.c (decode_g_option): Likewise.
5446         * tradcpp.c (output_deps): Likewise.
5447         * varasm.c (decode_reg_name): Likewise.
5448
5449         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
5450         Const-ification.
5451         * arm.md: Likewise.
5452         * avr.c (avr_regnames, encode_section_info): Likewise.
5453         * c4x.c (float_reg_names): Likewise.
5454         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
5455         * elfos.h (const_section): Likewise.
5456         * i386.c (ix86_comp_type_attributes): Likewise.
5457         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
5458         * ia64/aix.h (UNIQUE_SECTION): Likewise.
5459         * ia64.c (type_names): Likewise.
5460         * m68hc11.c (reg_class_names): Likewise.
5461         * m88k.c (m_options): Likewise.
5462         * mips.c (mips_output_conditional_branch, mips_unique_section):
5463         Likewise.
5464         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
5465         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
5466         ultra_code_names): Likewise.
5467         * sparc.h (OVERRIDE_OPTIONS): Likewise.
5468
5469 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
5470
5471         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
5472         Use --fatal-warnings option for gas.
5473         * configure: Rebuilt.
5474
5475 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5476
5477         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
5478
5479 2001-09-11  Jim Wilson  <wilson@redhat.com>
5480
5481         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
5482
5483 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
5484
5485         * builtins.c (c_strlen): Treat an offset too large for a
5486         HOST_WIDE_INT as out of range.
5487
5488 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
5489
5490         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
5491         (EDGE_CRITICAL_P): New predicate.
5492         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
5493         handling.
5494         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
5495         (dump_edge_info): Remove "crit".
5496         * cfganal.c (mark_critical_edges): Kill.
5497         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
5498         * cfgcleanup.c (cleanup_cfg): Likewise.
5499         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
5500         (find_spanning_tree): Likewise.
5501         * reg-stack.c (convert_regs_1): Likewise.
5502         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
5503
5504         * basic-block.h (create_basic_block_structure): New.
5505         (create_basic_block): Update prototype.
5506         (force_nonfallthru): New.
5507         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
5508         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
5509         handle updating of block_for_insn, creating of empty BBs and BBs at
5510         the end of INSN chain.
5511         (create_basic_block): New function.
5512         (split_block): Use create_basic_block.
5513         (force_nonfallthru_and_redirect): Break out from ...; cleanup
5514         (redirect_edge_and_branch_force): ... here.
5515         (force_nonfallthru): New.
5516         (split_edge): Rewrite to use force_nonfallthru and create_block.
5517         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
5518         (find_basic_blocks): Free basic_block_for_insn.
5519         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
5520
5521         * cfg.c: Fix formating.
5522         * cfgcleanup.c: Fix formating.
5523         (merge_blocks, tail_recursion_label_p): Return bool.
5524         (merge_blocks_move_predecessor_nojumps,
5525          merge_blocks_move_successor_nojumps): Return void.
5526
5527 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
5528
5529         * configure.in: Check whether assembler supports section merging.
5530         * config.in: Rebuilt.
5531         * configure: Rebuilt.
5532         * varasm.c (variable_section, output_constant_pool): Pass alignment
5533         to SELECT_SECTION and SELECT_RTX_SECTION.
5534         (mergeable_string_section): New.
5535         (mergeable_constant_section): New.
5536         (default_elf_asm_named_section): Output SECTION_MERGE and
5537         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
5538         * output.h (mergeable_string_section): New.
5539         (mergeable_constant_section): New.
5540         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
5541         * toplev.c (flag_merge_constants): New.
5542         (f_options): Add -fmerge-constants and -fmerge-all-constants
5543         options.
5544         (toplev_main): Default to -fno-merge-constants if not optimizing.
5545         * flags.h (flag_merge_constants): Add extern.
5546         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
5547         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
5548         argument.
5549         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
5550         Define if assembler has working .subsection -1 support.
5551         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
5552         Put constant into special SHF_MERGE sections if the linker should
5553         attempt to merge duplicates.
5554         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
5555         macro argument.
5556         Put constant into special SHF_MERGE sections if the linker should
5557         attempt to merge duplicates.
5558         * config/alpha/elf.h: Likewise.
5559         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
5560         has working .subsection -1 support.
5561         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
5562         SELECT_SECTION.
5563         * config/svr3.h: Likewise.
5564         * config/darwin.h: Likewise.
5565         * config/arm/aof.h: Likewise.
5566         * config/arm/linux-elf.h: Likewise.
5567         * config/avr/avr.h: Likewise.
5568         * config/c4x/c4x.h: Likewise.
5569         * config/d30v/d30v.h: Likewise.
5570         * config/i386/dgux.h: Likewise.
5571         * config/i386/osfrose.h: Likewise.
5572         * config/i386/sco5.h: Likewise.
5573         * config/i386/svr3gas.h: Likewise.
5574         * config/ia64/aix.h: Likewise.
5575         * config/m32r/m32r.h: Likewise.
5576         * config/m68k/m68k.h: Likewise.
5577         * config/m88k/dgux.h: Likewise.
5578         * config/m88k/m88k.h: Likewise.
5579         * config/mcore/mcore-pe.h: Likewise.
5580         * config/mips/mips.h: Likewise.
5581         * config/pa/pa.h: Likewise.
5582         * config/pa/pa-linux.h: Likewise.
5583         * config/romp/romp.h: Likewise.
5584         * config/rs6000/sysv4.h: Likewise.
5585         * config/rs6000/xcoff.h: Likewise.
5586         * config/s390/linux.h: Likewise.
5587         * config/sparc/sparc.h: Likewise.
5588         * config/sparc/sysv4.h: Likewise.
5589         * config/stormy16/stormy16.h: Likewise.
5590         * config/v850/v850.h: Likewise.
5591         * config/vax/vms.h: Likewise.
5592         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
5593         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
5594         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
5595         default_elf_asm_named_section for SHF_MERGE sections.
5596
5597 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
5598
5599         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
5600         is OK.
5601
5602 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
5603
5604         * c-common.c (split_specs_attrs): Allow for empty attributes with
5605         empty TREE_PURPOSE.  Fixes PR c/4294.
5606
5607 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
5608
5609         * basic-block.h (cached_make_edge, make_single_succ): New.
5610         (make_edge): Remove first parameter.
5611         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
5612         * cfg.c (cached_make_edge): Rename from make_edge; return newly
5613         created edge; use obstack allocation.
5614         (make_edge, make_single_succ_edge): New.
5615         (first_removed_edge): New static variable.
5616         (init_flow): Initialize first_removed_edge and n_edges.
5617         (clear_edges): Use remove_edge.
5618         (flow_delete_block): Likewise.
5619         (remove_edge): Add removed edges to the removed edges list.
5620         (split_block, redirect_edge_and_branch_force, split_edge):
5621         Use make_edge.
5622         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
5623         (add_noreturn_fake_exit_edges): Likewise.
5624         (connect_infinite_loops_to_exit): Liekwise.
5625         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
5626         Use cached_make_edge.
5627         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
5628         * profile.c (branch_prob): Update make_edge call.
5629         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
5630
5631 2001-09-11  Richard Henderson  <rth@redhat.com>
5632
5633         * config/alpha/alpha.c: Tidy formatting.
5634         (local_symbolic_operand): Verify mode.
5635         (alpha_sa_mask): Ignore unicos for eh_return.
5636         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
5637         * config/alpha/alpha.md (umk divsi patterns): Remove.
5638         (extendsfdf2): Remove unicos check.
5639         (tablejump): Merge vms and unicos code; always use direct set
5640         plus label_ref use.
5641
5642 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5643
5644         * config.gcc (alpha*-*-unicosmk*): New target.
5645
5646         * config/alpha/alpha-protos.h (symbolic_operand,
5647         unicosmk_add_call_info_word, unicosmk_add_extern,
5648         unicosmk_defer_case_vector, unicosmk_unique_section,
5649         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
5650         unicosmk_asm_file_start, unicosmk_asm_file_end,
5651         unicosmk_output_common): Declare.
5652
5653         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
5654         direct_return, function_arg, alpha_va_start, alpha_va_arg,
5655         alpha_does_function_need_gp, alpha_end_function): Support Cray
5656         Unicos/Mk.
5657         (alpha_init_machine_status, alpha_mark_machine_status,
5658         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
5659         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
5660         unicosmk_asm_named_section, unicosmk_insert_attributes,
5661         unicosmk_section_type_flags, symbolic_operand,
5662         unicosmk_output_module_name, unicosmk_output_default_externs,
5663         unicosmk_output_dex, unicosmk_output_externs,
5664         unicosmk_output_addr_vec, unicosmk_ssib_name,
5665         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
5666         unicosmk_asm_file_end, unicosmk_output_common,
5667         unicosmk_section_type_flags, unicosmk_unique_section,
5668         unicosmk_add_call_info_word, unicosmk_text_section,
5669         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
5670         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
5671         unicosmk_dex_count, unicosmk_special_name): New.
5672         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
5673         TARGET_ABI_UNICOSMK.
5674         (get_aligned_mem, alpha_expand_unaligned_load,
5675         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
5676         alpha_expand_unaligned_store_words): Support big-endian mode.
5677         (print_operand): Likewise. New format specifier 't'. Use
5678         TARGET_AS_SLASH_BEFORE_SUFFIX.
5679         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
5680         (alpha_pv_save_size): Update with above change.
5681         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
5682         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
5683         Unicos/Mk.
5684
5685         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
5686         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
5687         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
5688         (EXTRA_CONSTRAINT): New constraint 'U'.
5689         (PREDICATE_CODES): Add symbolic_operand.
5690
5691         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
5692         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
5693         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
5694         (integer division and modulus patterns): Split in default and
5695         Unicos/Mk versions.
5696         (*divmodsi_internal, *divmoddi_internal): Disable for
5697         TARGET_ABI_UNICOSMK.
5698         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
5699         little-endian and big-endian versions.
5700         (ext, ins, msk): Likewise.
5701         (extv, extzv, insv): Support big-endian mode.
5702         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
5703         (call_umk, call_value_umk, *call_umk, tablejump_umk,
5704         *tablejump_umk_internal, *call_value_umk): New.
5705         (*movdi_nofix): Add pattern for loading an address into a register on
5706         TARGET_ABI_UNICOSMK.
5707         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
5708         (umk_mismatch_args, arg_home_umk): New.
5709         (various insns): Don't use mov, fmov, nop, fnop and unop.
5710         (realign): Support TARGET_ABI_UNICOSMK.
5711
5712         * config/alpha/unicosmk.h: New file.
5713         * config/alpha/t-unicosmk: New file.
5714
5715         * fixinc/inclhack.def (unicosmk_restrict): New.
5716         * fixinc/fixincl.x: Regenerate.
5717
5718         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
5719         (wchar_t): Check for and define __WCHAR_T__.
5720
5721 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
5722
5723         * combine.c (simplify_shift_const): Treat shifts by the mode
5724         size as undefined.
5725
5726 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
5727
5728         * cpphash.h (struct tokenrun): New.
5729         (struct cpp_context): New member bol.
5730         (struct cpp_reader): New members.
5731         (_cpp_init_tokenrun): New.
5732         * cppinit.c (cpp_create_reader): Set up the token runs.
5733         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
5734         (lex_token): New internalised version of _cpp_lex_token.  Don't
5735         handle directives or the multiple include opimisation here any
5736         more.  Simply lex a token.
5737         * cpplib.c (run_directive): Clear bol.
5738         (_cpp_pop_buffer): Set bol.
5739         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
5740         arguments.
5741
5742 2001-09-11  Michael Meissner  <meissner@redhat.com>
5743
5744         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
5745         give an error if the user uses -mfp32.
5746         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
5747         default options.
5748         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
5749         floating point register size.
5750         (EXTRA_SPECS): Add CPP_FPR_SPEC.
5751
5752         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
5753         HOST_WIDE_INT_PRINT_DEC to properly print the result of
5754         int_size_in_bytes.
5755         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
5756         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
5757
5758 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
5759
5760         * dbxout.c (dbxout_parms): Fix typo in comment.
5761         * unroll.c (loop_find_equiv_value): Ditto.
5762         * toplev.c (rest_of_compilation): Ditto.
5763         * loop.c (scan_loop): Ditto.
5764         * dwarf2out.c (struct dw_fde_struct): Ditto.
5765
5766 2001-09-10  Zack Weinberg  <zackw@panix.com>
5767
5768         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
5769         copying identifier when we're just going to throw it away.
5770         (parse_identifier_slow): New routine to handle abnormal cases.
5771         (_cpp_lex_token): Update call site.
5772
5773         * hashtable.c (ht_lookup): Don't assume that the string we've
5774         been given is NUL-terminated.
5775         * system.h: #define __builtin_expect(a, b) to (a) if not
5776         GCC >=3.0.
5777
5778 2001-09-10  Michael Meissner  <meissner@redhat.com>
5779
5780         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
5781         binutils, gdb.
5782
5783 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
5784
5785         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
5786
5787 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5788
5789         * builtins.c (c_getstr): Correct thinko in last change and further
5790         cleanup.
5791
5792 2001-09-10  Tim Freeman <tim@fungibole.com>
5793
5794         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
5795         into varray's and register them as roots with the garbage
5796         collector so they are not collected too soon.
5797
5798 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
5799
5800         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
5801         New.
5802         * basic-block.h (flow_obstack, label_value_list,
5803         tail_recursion_label_list): Declare
5804         (tidy_fallthru_edges): Declare.
5805         (expunge_block, last_loop_beg_note): Delete.
5806         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
5807         * cfg.c: New file
5808         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
5809         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
5810         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
5811         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
5812         expunge_block, flow_delete_block, compute_bb_for_insn,
5813         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
5814         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
5815         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
5816         try_redirect_by_replacing_jump, last_loop_beg_note,
5817         redirect_edge_and_branch, redirect_edge_and_branch_force,
5818         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
5819         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
5820         commit_edge_insertions, dump_flow_info, debug_flow_info,
5821         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
5822         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
5823         Move here from flow.c
5824         * cfganal.c: New file.
5825         (forwarder_block_p, can_fallthru, mark_critical_edges,
5826          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
5827          find_unreachable_blocks, create_edge_list, free_edge_list,
5828          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
5829          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
5830          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
5831          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
5832          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
5833          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
5834         Move here from flow.c
5835         * cfgbuild.c: New file
5836         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
5837          make_edges, find_basic_blocks_1, find_basic_blocks,
5838          find_sub_basic_blocks): Move here from flow.c
5839         * cfgcleanup.c: New file.
5840         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
5841          merge_blocks_move_predecessor_nojumps,
5842          merge_blocks_move_successor_nojumps, merge_blocks,
5843          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
5844          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
5845         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
5846         if succeeded.
5847         * cfgloop.c: New file
5848         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
5849          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
5850          flow_loop_exit_edges_find, flow_loop_nodes_find,
5851          flow_loop_pre_header_scan, flow_loop_pre_header_find,
5852          flow_loop_tree_node_add, flow_loops_tree_build,
5853          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
5854          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
5855         Move here from flow.c
5856         * flow.c: Remove everything moved elsewhere
5857         * output.h (cleanup_cfg): Return bool.
5858
5859         * bb-reorder.c (reorder_block_def): Remove 'index'.
5860         (insert_intra_1): Add argument BB, set block for new note.
5861         (make_reorder_chain): Do not depdent on BB indexes.
5862         (make_reorder_chain_1): Do not use BB indexes.
5863         (label_for_bb): Likewise; set BB for new insn.
5864         (emit_jump_to_block_after): Likewise.
5865         (fixup_reoder_chain): Sanity check that all basic blocks
5866         are chained; verify newly created insn chain; remove
5867         undocnitional jump simplifying; Do not use BB indexes;
5868         properly initialize count and frequency information;
5869         dump reordered sequence.
5870         (insert_intra_bb_scope_notes): update call of insert_intra_1.
5871         (insert_inter_bb_scope_notes): Set block for new insn.
5872         (reorder_basic_blocks): Dump flow info before reoredering.
5873
5874 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5875
5876         * alias.c (clear_reg_alias_info): Use K&R format definition.
5877         Avoid unsigned warning.
5878         * builtins.c: Use "unsigned int", not "unsigned".
5879         (target_char_cast): Use host_integerp and tree_low_cst.
5880         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
5881         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
5882         (c_getstr): Likewise.
5883         (std_expand_builtin_va_arg): Use int_size_in_bytes.
5884         (builtin_memcpy_read_str): Avoid unsigned warning.
5885         (expand_builtin_memcpy): Alignments are unsigned.
5886         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
5887         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
5888         * predict.c (expensive_function_p): LIMIT now unsigned.
5889         * resource.c (mark_target_live_regs): Make some vars unsigned.
5890         * sdbout.c: Use "unsigned int", not "unsigned".
5891         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
5892         (sdbout_source_line): Likewise.
5893         (sdbout_record_type_name): Remove "const" for NAME declaration.
5894         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
5895
5896 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
5897
5898         * calls.c (store_one_arg): Expand comment.
5899
5900 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5901
5902         * calls.c (store_one_arg): Make sure that the entire argument is
5903         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
5904
5905 2001-09-09  Richard Henderson  <rth@redhat.com>
5906
5907         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
5908
5909 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
5910
5911         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
5912
5913 2001-09-09  Richard Henderson  <rth@redhat.com>
5914
5915         * config/alpha/alpha.c (alpha_next_sequence_number): New.
5916         (alpha_this_literal_sequence_number): New.
5917         (alpha_this_gpdisp_sequence_number): New.
5918         (some_operand, input_operand): Add HIGH.
5919         (local_symbolic_operand): New.
5920         (alpha_encode_section_info): New.
5921         (alpha_legitimate_address_p): Allow LO_SUM.
5922         (alpha_legitimize_address): Generate HIGH+LO_SUM.
5923         (alpha_expand_mov): Likewise.
5924         (secondary_reload_class): Check memory_operand not general_operand
5925         for FP_REGS test.
5926         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
5927         (alpha_expand_unaligned_store): Likewise.
5928         (alpha_expand_unaligned_load_words): Likewise.
5929         (alpha_expand_unaligned_store_words): Likewise.
5930         (alpha_expand_block_clear): Likewise.
5931         (print_operand): Handle %#, %*, %H.
5932         (print_operand_address): Handle LO_SUM.
5933         (find_lo_sum): New.
5934         (alpha_does_function_need_gp): Use it.
5935         (alpha_expand_block_move): Fix signed compare warnings.
5936         (alpha_sa_mask, alpha_align_insns): Likewise.
5937         * config/alpha/alpha-protos.h: Update.
5938         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
5939         (MASK_EXPLICIT_RELOCS): New.
5940         (TARGET_SWITCHES): Add -mexplicit-relocs.
5941         (EXTRA_CONSTRAINT): Add 'T'.
5942         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
5943         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
5944         (ENCODE_SECTION_INFO): Out line.
5945         (REDO_SECTION_INFO_P): New.
5946         (STRIP_NAME_ENCODING): New.
5947         (ASM_OUTPUT_LABELREF): New.
5948         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
5949         (PREDICATE_CODES): Update.
5950         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
5951         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
5952         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
5953         builtin_setjmp_receiver_er, exception_receiver_1_er,
5954         call_value_osf_1_er): New patterns.
5955         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
5956         (movqi, movhi, movsi): Add explicit $31 base register to lda.
5957         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
5958         (FINAL_PRESCAN_INSN): New.
5959
5960 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
5961
5962         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
5963
5964 2001-09-08  Andreas Jaeger  <aj@suse.de>
5965
5966         * i386.h (TARGET_SWITCHES): Fix description.
5967
5968 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
5969
5970         * rs6000.c (num_insns_constant): Compute number of instructions
5971         more accurately.
5972
5973         * doc/install.texi: Explain AIX exception handling work-around.
5974         Update URL for AIX fixes.
5975
5976 2001-09-07  Jim Wilson  <wilson@redhat.com>
5977
5978         * alias.c (clear_reg_alias_info): New.
5979         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
5980         * rtl.h (clear_reg_alias_info): Declare.
5981
5982 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5983
5984         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
5985         available.
5986         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
5987         (m16m,edivm,emulm): Change declaration to match definition.
5988
5989 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
5990
5991         * reload.c (push_reload): Check for subreg_lowpart_p instead of
5992         SUBREG_BYTE being 0 when determining if the inner part of a subreg
5993         can be reloaded.
5994
5995 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5996
5997         * c-common.c (signed_or_unsigned_type): Handle machine mode types
5998         which have no corresponding C type.
5999         * fold_const.c (target_isinf,target_isnan,target_negative): Update
6000         the representation of 64-bit doubles to work with 64-bit ints.
6001
6002 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
6003
6004         * config/mips/mips.c (override_options): Do not override ISA when ABI
6005         specified if MIPS_CPU_STRING_DEFAULT was specified.
6006
6007 2001-09-07  Richard Henderson  <rth@redhat.com>
6008
6009         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
6010         (express_from_1): Wrap lines.
6011         * rtlanal.c (commutative_operand_precedence): Rename from
6012         operand_preference; export.
6013         * rtl.h: Declare it.
6014         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
6015         (simplify_binary_operation): Invoke simplify_plus_minus on
6016         (CONST (PLUS ...)) as well.
6017         (struct simplify_plus_minus_op_data): New.
6018         (simplify_plus_minus_op_data_cmp): New.
6019         (simplify_plus_minus): Use them.  Avoid infinite recursion with
6020         simplify_binary_operation wrt CONST.
6021
6022 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
6023
6024         * h8300-protos.h (general_operand_dst_push): Remove.
6025         * h8300.c (general_operand_dst_push): Likewise.
6026         * h8300.h (OK_FOR_T): Likewise.
6027         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
6028         * h8300.md (pushqi_h8300): New.
6029         (pushqi_h8300hs): Likewise.
6030         (pushqi): Likewise.
6031         (pushhi_h8300): Likewise.
6032         (pushhi_h8300hs): Likewise.
6033         (pushhi): Likewise.
6034
6035 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6036
6037         * genattrtab.c (attr_printf): First arg is unsigned.
6038         Clean up formatting of callers.
6039
6040 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
6041
6042         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
6043         registers.
6044
6045 2001-09-07  Andreas Jaeger  <aj@suse.de>
6046
6047         * i386.h (TARGET_SWITCHES): Fix descriptions.
6048
6049 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
6050
6051         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
6052
6053 2001-09-06  Ira Ruben  <ira@apple.com>
6054
6055         Remove OP_IDENTIFIER.
6056         * tree.def (OP_IDENTIFIER): Remove.
6057         * tree.c (tree_node_kind enum): Remove op_id_kind.
6058         (tree_node_kind_names): Remove "op_identifiers".
6059         (make_node): Remove OP_IDENTIFIER test.
6060         (build_op_identifier): Removed because it isn't being used.
6061         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
6062         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
6063
6064 2001-09-06  Richard Henderson  <rth@redhat.com>
6065
6066         * simplify-rtx.c (simplify_binary_operation): Revert last change.
6067
6068 2001-09-06  Richard Henderson  <rth@redhat.com>
6069
6070         * simplify-rtx.c (simplify_binary_operation): Simplify contents
6071         of CONST.
6072
6073 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6074
6075         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
6076         number used for CR register.
6077
6078 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
6079                           Joern Rennecke (amylaar@cygnus.com)
6080
6081         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
6082         * h8300.c (initial_offset): Handle offset between RP and FP.
6083         (h8300_return_addr_rtx): New function.
6084         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
6085         return register.
6086         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
6087         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
6088         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
6089         (CAN_ELIMINATE, REGISTER_NAMES):
6090         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
6091
6092 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
6093
6094         Remove TYPE_NONCOPIED_PARTS.
6095         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
6096         (struct tree_type): Remove noncopied_parts.
6097         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
6098         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
6099         (fixed_type_p): Remove.
6100         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
6101         (expand_expr, MODIFY_EXPR): Likewise.
6102         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
6103         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
6104
6105 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
6106
6107         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
6108         compiler warnings.
6109         (mask64_operand): Likewise.
6110         (includes_rldic_lshift_p): Likewise.
6111         (includes_rldicr_lshift_p): Likewise.
6112
6113 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
6114
6115         * objc/objc-act.c (build_message_expr): If a class method cannot
6116         be found, do not issue a warning if a corresponding instance
6117         method exists in the root class.
6118
6119 2001-09-05  Richard Henderson  <rth@redhat.com>
6120
6121         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
6122
6123 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
6124
6125         * function.c (ggc_mark_struct_function): Mark f->outer.
6126         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
6127         * integrate.c (output_inline_function): ... not here.
6128
6129 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
6130
6131         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
6132
6133         * i386.c (size_cost): New static variable.
6134         (override_function): Use size_cost when -Os is specified.
6135
6136         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
6137         properly;  Use current_function_calls_eh_return.
6138         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
6139         use leave to avoid dependency chain.
6140
6141         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
6142         get BB loop_depth instead of computing it from LOOP notes.
6143
6144         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
6145
6146 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6147
6148         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
6149         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
6150         UNALIGNED_DOUBLE_INT_ASM_OP): Define
6151
6152 2001-09-05  Jeffrey A Law  (law@cygnus.com)
6153             Jason Merrill (jason@redhat.com)
6154
6155         * stor-layout.c (layout_type): Complain if an array's size can
6156         not be represented in a size_t.
6157
6158         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
6159
6160 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
6161
6162         * gcc.c: (process_command) Add parentheses around assignment
6163         used as truth value.
6164
6165 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
6166
6167         * config/mips/mips.c (save_restore_insns): Don't mark any register
6168         save slots as unchanging if current_function_calls_eh_return.
6169
6170 2001-09-05  Richard Henderson  <rth@redhat.com>
6171
6172         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
6173         * config/alpha/alpha-protos.h: Declare it.
6174         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
6175         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
6176         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
6177         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
6178         (REG_OK_FOR_BASE_P): Select one of the above.
6179
6180 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
6181
6182         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
6183         (crti.o): Prefix name of object file with $(T).
6184         (crtn.o): Likewise.
6185
6186 2001-09-05  David S. Miller  <davem@redhat.com>
6187
6188         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
6189         * config/sparc/linux64.h: Likewise.
6190
6191 2001-09-05  Andreas Jaeger  <aj@suse.de>
6192
6193         * doc/invoke.texi (i386 Options): -mwide-multiply is not
6194         available anymore, remove the documentation.
6195         (i386 Options): Fix typo, cleanup index entries.
6196
6197         * prefix.c (concat): Remove, we can use the version from liberty.
6198
6199 2001-09-05  Richard Henderson  <rth@redhat.com>
6200
6201         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
6202         New functions split out of md file expanders.
6203         * config/alpha/alpha-protos.h: Declare them.
6204         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
6205
6206 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
6207
6208         * cppmacro.c (funlike_invocation_p): No need to restore context.
6209
6210 2001-09-04  Richard Henderson  <rth@redhat.com>
6211
6212         * reload.c (push_reload): Export.
6213         * reload.h (push_reload): Declare it.
6214
6215         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
6216         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
6217         * config/alpha/alpha.c (alpha_legitimize_address): New.
6218         (alpha_legitimize_reload_address): Likewise.
6219         * config/alpha/alpha-protos.h: Declare them.
6220
6221 2001-09-04  Stan Shebs  <shebs@apple.com>
6222
6223         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
6224         * config/darwin.c (machopic_stub_name): Account for internally
6225         generated lib calls such as memcpy.
6226
6227 2001-09-04  Richard Henderson  <rth@redhat.com>
6228
6229         * unwind.h (_UA_END_OF_STACK): New flag.
6230         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
6231
6232 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
6233
6234         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
6235
6236 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
6237
6238         * config/mips/mips.c (save_restore_insns): Change base_offset to
6239         fp_offset in second call to mips_emit_frame_related_store.
6240
6241 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
6242
6243         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
6244         sometimes be represented as a NOTE of type
6245         NOTE_INSN_DELETED_LABEL.
6246         (Insns): Document NOTE_INSN_DELETED_LABEL.
6247
6248 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
6249
6250         * c-common.h (tree_dump_index): Add more comments.
6251         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
6252         (dump_option_value_info): New struct.
6253         (dump_options): New array.
6254         (dump_switch_p): Parse switch options symbolically.
6255         * doc/invoke.texi (-fdump-ast): Rename to ...
6256         (-fdump-tree): ... here. Document that options are symbolic, and
6257         not all are applicable.
6258
6259 2001-09-04  David S. Miller  <davem@redhat.com>
6260
6261         * config/sparc/sparc.md (define_splits): Kill constraints.
6262
6263         Cleanup redundant and unused insn attributes.
6264         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
6265         binary, and move.  Mark ialu as default.
6266         (commented out define_function_unit "alu"): Kill.
6267         (define_attr "use_clobbered"): Kill.
6268         (whole file): Kill address insn type references.  Replace
6269         all unary/binary/move references with ialu.
6270         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
6271         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
6272         TYPE_IALU.
6273
6274         Simplify length insn attribute and make more judicious use
6275         of insn attribute defaulting.
6276         * config/sparc/sparc.md (all insns with length > one): Mark as
6277         insn type multi if real instructions, else use default if
6278         it is a forced splitter.
6279         (all insns with length == one): Use default insn length.
6280         (all insns of type ialu): Use default insn type.
6281
6282         Fix erroneous insn attribute settings.
6283         (addx): Set insn type to misc.
6284         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
6285         const_umulsidi3_sp64): Set insn type to imul.
6286
6287         Track SFmode vs DFmode insns according to UltraSPARC
6288         scheduling rules.
6289         * config/sparc/sparc.md ("fptype"): New attribute, default
6290         to "single".
6291         (all DFmode single insns): Mark as fptype "double".
6292
6293 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
6294
6295         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
6296
6297 2001-09-03  Richard Henderson  <rth@redhat.com>
6298
6299         * function.h (struct function): Add arg_pointer_save_area_init.
6300         * function.c (expand_function_end): Init arg_pointer_save_area.
6301         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
6302         when called from a nested function.
6303
6304 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
6305
6306         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
6307         is enabled.
6308
6309 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
6310
6311         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
6312
6313 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
6314
6315         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
6316         (emit_push_insn): Use specified padding direction when
6317         STACK_PUSH_CODE is POST_INC.
6318
6319         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
6320
6321 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6322
6323         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
6324
6325 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
6326
6327         * cppinit.c (cpp_start_read): Free the imacros list as we
6328         traverse it.  Don't free the chains before returning.
6329         (_cpp_push_next_buffer): Only try pushing buffers if we've
6330         completed -imacros handling.
6331
6332 2001-08-31  Eric Christopher  <echristo@redhat.com>
6333
6334         * gcc.c (handle_braces): Add explaination for abort.
6335
6336 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
6337
6338         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
6339         move adjustment of bitpos instead.
6340
6341 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
6342
6343         * function.c: Remove all_functions.  Make outer_function_chain
6344         static.
6345         (init_function_start): Don't add new function structure to
6346         all_functions.
6347         (find_function_data, push_function_context_to,
6348         pop_function_context_from, put_var_into_stack,
6349         trampoline_address): Update for changed structure element names.
6350         (push_function_context_to): Disentangle.
6351         (free_after_compilation): Also free F.
6352         (expand_dummy_function_end): Don't free cfun here.
6353         (put_var_into_stack): Comment why we can't use find_function_data here.
6354         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
6355         (mark_function_chain): Split into maybe_mark_struct_function and
6356         ggc_mark_struct_function.  Export the latter.
6357         (init_function_once): Mark from cfun and outer_function_chain;
6358         not all_functions.
6359
6360         * function.h (struct function): Kill next_global.  Rename next
6361         to outer.  All users updated to match.
6362         (all_functions, outer_function_chain): Don't declare.
6363
6364         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
6365         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
6366         don't touch f->inlinable, after calling rest_of_compilation.
6367
6368         * tree.h: Forward-declare struct function.  Prototype
6369         ggc_mark_struct_function.
6370
6371 2001-08-31  Kazu Hirata  <kazu@hxi.com>
6372
6373         * config/h8300/h8300.md (*andorhi3): Fix typos.
6374
6375 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6376
6377         * calls.c (emit_library_call_value): Don't use a fixed
6378         argument after VA_CLOSE, i.e. out of scope in traditional C.
6379
6380         * emit-rtl.c (gen_rtvec): Likewise.
6381
6382 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6383
6384         * Makefile.in (c-pragma.o): Depend on output.h.
6385         (reorg.o): Depend on except.h.
6386
6387         * c-pragma.c: Include output.h.
6388
6389         * reorg.c: Include except.h.
6390
6391         * unwind-dw2.c: Call __builtin_alloca, not alloca.
6392
6393 2001-08-31  Richard Henderson  <rth@redhat.com>
6394
6395         * sched-deps.c (add_dependence): Don't elide dependency if the
6396         conditional used by insn is modified in elem.
6397
6398 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
6399
6400         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
6401
6402 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
6403
6404         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
6405         dump_switch_p.
6406
6407 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
6408
6409         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
6410         function.
6411         (stormy16_asm_out_constructor): New function.
6412         (TARGET_ASM_CONSTRUCTOR): Define.
6413         (TARGET_ASM_DESTRUCTOR): Define.
6414
6415 2001-08-31  Andreas Jaeger  <aj@suse.de>
6416
6417         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
6418         * loop.c (add_label_notes): Likewise.
6419         * reload.c (find_reloads): Likewise.
6420         * config/sh/sh.c (machine_dependent_reorg): Likewise.
6421
6422 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
6423
6424         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
6425         code here.  Take _Unwind_{W,Sw}ord*.
6426         (read_encoded_value_with_base): Use them.
6427         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
6428         words.
6429         (extract_cie_info): Simplify read_?leb128 handling.
6430         (execute_stack_op, execute_cfa_program): Likewise.
6431         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
6432
6433 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
6434
6435         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
6436         the frame pointer to pop the stack if convenient.
6437
6438         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
6439         Don't use post-increment before combine.
6440         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
6441         a call-saved register.
6442
6443 2001-08-31  Andreas Jaeger  <aj@suse.de>
6444
6445         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
6446         code was correct.
6447
6448 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
6449
6450         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
6451         not DIV/MOD, of course.
6452
6453 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
6454
6455         * rtl.def: Undo my patch commited 2001-08-27.
6456
6457         * genattrtab.c: Ditto.
6458
6459         * rtl.h: Ditto.
6460
6461         * sched-int.h: Ditto.
6462
6463         * target-def.h: Ditto.
6464
6465         * target.h: Ditto.
6466
6467         * haifa-sched.c: Ditto.
6468
6469         * sched-rgn.c: Ditto.
6470
6471         * sched-vis.c: Ditto.
6472
6473         * Makefile.in: Ditto.
6474
6475         * doc/md.texi: Ditto.
6476
6477         * doc/tm.texi: Ditto.
6478
6479         * doc/contrib.texi: Ditto.
6480
6481         * doc/gcc.texi: Ditto.
6482
6483         * genattrtab.h: Remove it.
6484
6485         * genautomata.c: Remove it.
6486
6487         * genattr.c: Undo my patch and Richard Henderson's patch commited
6488         2001-08-27.
6489
6490 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
6491
6492         * config.gcc (h8300-*-elf*): New case.
6493         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
6494         (SUBTARGET_CPP_SPEC): Define.
6495         (EXTRA_SPECS): Define.
6496         (SUBTARGET_EXTRA_SPECS): Define.
6497         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
6498         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
6499
6500 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
6501
6502         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
6503         (LIB2FUNCS_EXTRA): Define.
6504         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
6505         config/h8300/fixunssfsi.c: New file.
6506
6507 2001-08-30  Kazu Hirata  <kazu@hxi.com>
6508
6509         * config/h8300/h8300.md (zero_extendqihi2): Changes to
6510         define_expand to accommodate target-specific attributes.
6511         (anonymous zero_extendqihi2 patterns): New.
6512
6513 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
6514
6515         * h8300.md (*andorhi3): New pattern.
6516
6517 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
6518
6519         * h8300.c (dosize): Fix test for "sub".
6520
6521 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
6522
6523         * c-typeck.c (pointer_diff): Try to eliminate common term before
6524         doing conversions.
6525
6526 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
6527
6528         * config/arm/arm.c (arm_compute_initial_elimination_offset):
6529         Account for the saves of the FP registers.
6530
6531         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
6532         (TEXT_SECTION_ASM_OP): Define.
6533         (INIT_SECTION_ASM_OP): Define.
6534         (FINI_SECTION_ASM_OP): Define.
6535         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
6536         (RDATA_SECTION_FUNCITON): Provide prototype.
6537
6538 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
6539
6540         * reload1.c (move2add_note_store): Correct typo checking for
6541         argument pushes.
6542
6543 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
6544
6545         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
6546         note should not be considered outside the libcall block.
6547
6548 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6549
6550         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
6551
6552 2001-08-29  Kazu Hirata  <kazu@hxi.com>
6553
6554         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
6555
6556 2001-08-29  Kazu Hirata  <kazu@hxi.com>
6557
6558         * config/h8300/h8300-protos.h: Add a prototype for
6559         emit_logical_op.
6560         * config/h8300/h8300.c (emit_logical_op): New.
6561         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
6562         (andsi3): Likewise.
6563         (iorhi3): Likewise.
6564         (iorsi3): Likewise.
6565         (xorhi3): Likewise.
6566         (xorsi3): Likewise.
6567
6568 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6569
6570         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
6571         comparison with rtx INTVAL.
6572         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
6573         expression.
6574         * pa.h (FUNCTION_ARG_SIZE): Likewise.
6575
6576 2001-08-29  Kazu Hirata  <kazu@hxi.com>
6577
6578         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
6579         comment typos.
6580
6581 2001-08-29  Kazu Hirata  <kazu@hxi.com>
6582
6583         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
6584         (reg n) to (mem (pre_dec (reg n))
6585         (anonymous movsi pattern): Likewise.
6586
6587 2001-08-29  Kazu Hirata  <kazu@hxi.com>
6588
6589         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
6590
6591 2001-08-29  Kazu Hirata  <kazu@hxi.com>
6592
6593         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
6594         several special constants.
6595
6596 2001-08-29  Kazu Hirata  <kazu@hxi.com>
6597
6598         * config/h8300/lib1funcs.asm: Fix comment typos.
6599
6600 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6601
6602         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
6603         Fix format specifier warnings.
6604
6605         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
6606         inet_makeaddr, semctl): Prototype.
6607
6608         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
6609         (save_restore_insns): Use base_offset, not gp_offset.
6610
6611         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
6612         (ASM_OUTPUT_BYTE): Fix format specifier warning.
6613
6614 2001-08-29  Richard Henderson  <rth@redhat.com>
6615
6616         * bb-reorder.c (function_tail_eff_head): New.
6617         (record_effective_endpoints): Set it.
6618         (fixup_reorder_chain): Use it.
6619
6620 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6621
6622         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
6623
6624 2001-08-28  Dale Johannesen  <dalej@apple.com>
6625
6626         * config/darwin.c (machopic_function_base_name): Add const
6627         qualifier to a string.
6628         (darwin_encode_section_info): Ditto.
6629
6630 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6631
6632         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
6633         function definition.
6634
6635 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
6636
6637         * df.h (struct df): Add rts_order variable.
6638
6639         * df.c (df_visit_next_rts): New function.
6640         (df_visit_next): Renamed to df_visit_next_rc
6641         (df_analyse_1): Allocate/compute/free rts_order as well.
6642         (df_rd_global_compute): Use df_visit_next_rc instead of
6643         df_visit_next.
6644         (df_ru_global_compute): Use df_visit_next_rts instead of
6645         df_visit_next.
6646
6647         * flow.c (flow_reverse_top_sort_order_compute): New function.
6648
6649         * basic-block.h: Add prototype.
6650
6651 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
6652
6653         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
6654         blocks, the BB_REACHABLE is now set, rather than aux being
6655         non-NULL. Update the test to reflect this.
6656
6657 2001-08-28  Eric Christopher  <echristo@redhat.com>
6658
6659         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
6660         config/mips/crti.asm: Ditto.
6661
6662 2001-08-28  Eric Christopher <echristo@redhat.com>
6663             Richard Henderson <rth@redhat.com>
6664
6665         * c-pragma.h (add_weak): Move prototype from here...
6666         * output.h (add_weak): ... to here.
6667         * varasm.c (add_weak): Fix typo.
6668         * config/mips/crti.asm: New file.
6669         * config/mips/crtn.asm: Ditto.
6670         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
6671         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
6672         (INVOKE__main): Ditto.
6673         (INIT_SECTION_ASM_OP): New.
6674         (FINI_SECTION_ASM_OP): Ditto.
6675         (STARTFILE_SPEC): Add crti.
6676         (ENDFILE_SPEC): Add crtn.
6677         * config/mips/elf64.h: Same.
6678         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
6679         Remove.
6680         * config/mips/vxworks.h: Ditto.
6681         * config/mips/t-elf: Support crti and crtn.
6682
6683 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
6684
6685         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
6686         INSN_LIST.
6687
6688 2001-08-28  Richard Henderson  <rth@redhat.com>
6689
6690         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
6691         (one_cmplbi2 splitter): Remove redundant test.
6692
6693 2001-08-28  Dale Johannesen  <dalej@apple.com>
6694
6695         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
6696
6697 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
6698
6699         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
6700
6701 2001-08-28  Stan Shebs  <shebs@apple.com>
6702
6703         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
6704         (UNALIGNED_SHORT_ASM_OP): Define.
6705         (UNALIGNED_INT_ASM_OP): Define.
6706
6707 2001-08-28  Will Cohen  <wcohen@redhat.com>
6708
6709         * config/rs6000/rs6000.md (store_multiple): Correct RTL
6710         generation for first set.
6711
6712 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
6713
6714         * flow.c (redirect_edge_succ_nodup): Return new edge.
6715         (try_simplify_condjump): Use new edge.
6716         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
6717
6718         * cse.c (cse_basic_block): Skip note instructions.
6719
6720 2001-08-27  Richard Henderson  <rth@redhat.com>
6721
6722         * combine.c (combine_simplify_rtx): Don't reverse condition
6723         if there is no reverse for the condition.
6724         (simplify_comparison): Don't simplify subregs from INT to FP.
6725
6726         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
6727         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
6728         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
6729         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
6730         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
6731         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
6732
6733 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
6734
6735         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
6736         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
6737         (pushqi1): New.
6738         (adddi_dilshr32, adddi_dishl32): Only data register can be
6739         source for mem destination.
6740
6741         * expmed.c (store_bit_field): Ignore adjustment to bitpos
6742         and use bitnum to decide about register move.
6743
6744 2001-08-27  Richard Henderson  <rth@redhat.com>
6745
6746         * genattr.c (main): Emit state_t even when not doing scheduling.
6747
6748 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
6749             Richard Henderson  <rth@redhat.com>
6750
6751         * gcse.c (reg_first_set, reg_last_set): Replace with ...
6752         (reg_avail_info, current_bb): ... these.
6753         (oprs_unchanged_p, record_last_reg_set_info): Use them.
6754         (compute_hash_table): Likewise.
6755
6756 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
6757
6758         * flow.c (verify_flow_info): Use checksums to verify edges.
6759
6760 2001-08-27  Richard Henderson  <rth@redhat.com>
6761
6762         * genautomata.c (expand_automata): Always create a description.
6763
6764 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
6765
6766         * optabs.c (expand_binop): Correctly handle the carry in multiword
6767         add/subtract operations.
6768
6769 2001-08-27  Fred Fish  <fnf@be.com>
6770
6771         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
6772         __SIZE_TYPE__.
6773
6774 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
6775
6776         * reload.c (find_reloads_toplev): Back out this change:
6777
6778         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
6779
6780         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
6781         mem if the address is a mode_dependent_address_p.
6782
6783 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
6784
6785         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
6786         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
6787         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
6788         RTL constructions.
6789
6790         * genattr.c (main): New variable num_insn_reservations.  Increase
6791         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
6792         pipeline hazard recognizer interface.
6793
6794         * genattrtab.h: New file.
6795
6796         * genattrtab.c: Include genattrtab.h.
6797         (attr_printf, check_attr_test, make_internal_attr,
6798         make_numeric_value): Move protypes into genattrtab.h.  Define them
6799         as external.
6800         (num_dfa_decls): New global variable.
6801         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
6802         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
6803         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
6804         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
6805
6806         * genautomata.c: New file.
6807
6808         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
6809
6810         * sched-int.h: (curr_state): Add the external definition for
6811         automaton pipeline interface.
6812         (haifa_insn_data): Add comments for members blockage and units.
6813
6814         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
6815         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
6816         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
6817         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
6818         TARGET_SCHED_DFA_POST_CYCLE_INSN,
6819         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
6820         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
6821         macros.
6822         (TARGET_SCHED): Use the new macros.
6823
6824         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
6825         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
6826         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
6827         dfa_bubble): New members in gcc_target.sched.
6828
6829         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
6830         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
6831         (insn_queue): Redefine it as pointer to array.
6832         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
6833         INSN_QUEUE_SIZE.
6834         (max_insn_queue_index_macro_value): New variable.
6835         (curr_state, dfa_state_size, ready_try): New varaibles for
6836         automaton interface.
6837         (ready_element, ready_remove, max_issue): New function prototypes
6838         for automaton interface.
6839         (choose_ready): New function prototype.
6840         (insn_unit, blockage_range): Add comments.
6841         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
6842         FUNCTION_UNITS_SIZE == 0.
6843         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
6844         actual_hazard, potential_hazard): Add comments.
6845         (insn_cost): Use cost -1 as undefined value.  Remove
6846         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
6847         pipeline interface.
6848         (ready_element, ready_remove): New functions for automaton
6849         interface.
6850         (schedule_insn): Add new code for automaton pipeline interface.
6851         (queue_to_ready): Add new code for automaton pipeline interface.
6852         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
6853         (debug_ready_list): Print newline when the queue is empty.
6854         (max_issue): New function for automaton pipeline interface.
6855         (choose_ready): New function.
6856         (schedule_block): Add new code for automaton pipeline interface.
6857         Print ready list before scheduling each insn.
6858         (sched_init): Add new code for automaton pipeline interface.
6859         Initiate insn cost by -1.
6860         (sched_finish): Free the current automaton state and finalize
6861         automaton pipeline interface.
6862
6863         * sched-rgn.c: Include target.h.
6864         (init_ready_list, new_ready, debug_dependencies): Add new code for
6865         automaton pipeline interface.
6866
6867         * sched-vis.c: Include target.h.
6868         (get_visual_tbl_length): Add code for automaton interface.
6869         (target_units, print_block_visualization):  Add comments.
6870
6871         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
6872         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
6873         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
6874         (getruntime.o, genautomata.o): New entries.
6875         (genattrtab.o): Add new dependency file genattrtab.h.
6876         (genattrtab): Add new dependencies.  Link it with `libm.a'.
6877         (getruntime.o, hashtab.o): New entries for canadian cross.
6878
6879         * doc/md.texi: Description of automaton based model.
6880
6881         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
6882         Add comments.
6883         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
6884         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
6885         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
6886         TARGET_SCHED_DFA_POST_CYCLE_INSN,
6887         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
6888         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
6889         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
6890         hook descriptions.
6891         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
6892         MAX_DFA_ISSUE_RATE): New macro descriptions.
6893
6894         * doc/contrib.texi: Add dfa based scheduler contribution.
6895
6896         * doc/gcc.texi: Add more information about genattrtab.
6897
6898 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
6899
6900         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
6901         an RTL basic block.
6902
6903 2001-08-27  Richard Henderson  <rth@redhat.com>
6904
6905         * function.c (expand_function_end): Don't init arg_pointer_save_area.
6906         (get_arg_pointer_save_area): New.  Create an init it here.
6907         (fix_lexical_addr): Use it.
6908         * function.h: Declare it.
6909         * builtins.c (expand_builtin_setjmp_receiver): Use it.
6910         * stmt.c (expand_nl_goto_receiver): Use it.
6911
6912 2001-08-27  Richard Henderson  <rth@redhat.com>
6913
6914         * final.c (final_scan_insn): Don't enter APP_ON mode for
6915         empty asm strings.
6916
6917         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
6918         alignment for assemble_integer for DW_EH_PE_aligned.
6919         * except.c (output_function_exception_table): Likewise.
6920
6921 2001-08-26  Andreas Jaeger  <aj@suse.de>
6922
6923         * c-tree.h: Add prototyp for c_sizeof_nowarn.
6924
6925 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
6926
6927         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
6928
6929 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
6930
6931         * config/rs6000/rs6000.c (mask_operand): Rewrite without
6932         bit-shifting loop.
6933         (mask64_operand): Likewise.
6934         (rldic_operand): Delete.
6935         (includes_lshift64_p): Delete.
6936         (includes_rldic_lshift_p): New function.
6937         (includes_rldicr_lshift_p): New function.
6938         (print_operand): Don't call rldic_operand in case 'W'.
6939         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
6940         (includes_lshift64_p): Remove.
6941         (includes_rldic_lshift_p): Declare.
6942         (includes_rldicr_lshift_p): Declare.
6943         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
6944         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
6945         Replace match_operand rldic_operand predicate with
6946         const_int_operand.  Replace includes_lshift64_p condition with
6947         includes_rldic_lshift_p.
6948         <ashldi3_internal 64 bit rldicr patterns>: New.
6949
6950 2001-08-27  Andreas Jaeger  <aj@suse.de>
6951
6952         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
6953         * errors.c: Likewise.
6954         * final.c: Likewise.
6955         * dwarf2asm.c: Likewise.
6956         * doprint.c (checkit): Likewise.
6957         * diagnostic.c: Likewise.
6958         * collect2.c: Likewise.
6959         * calls.c: Likewise.
6960         * c-semantics.c (build_stmt): Likewise.
6961         * c-format.c (status_warning): Likewise.
6962         * c-errors.c (pedwarn_c99): Likewise.
6963         * builtins.c (validate_arglist): Likewise.
6964         * config/pj/pj.c (pj_printf): Likewise.
6965         * fix-header.c: Likewise.
6966         * gcc.c: Likewise.
6967         * gcov.c (fnotice): Likewise.
6968         * gensupport.c (message_with_line): Likewise.
6969         * mips-tfile.c: Likewise.
6970         * protoize.c (notice): Likewise.
6971         * read-rtl.c (fatal_with_file_and_line): Likewise.
6972         * rtl-error.c: Likewise.
6973         * tradcpp.c: Likewise.
6974         * tree.c: Likewise.
6975         * cp/tree.c (build_min_nt): Likewise.
6976         (build_min): Likewise.
6977         * cp/lex.c: Likewise.
6978         * cp/errfn.c: Likewise.
6979         * cp/rtti.c (create_pseudo_type_info): Likewise.
6980
6981 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
6982
6983         * df.c (df_uses_record): Return after recording all uses
6984         in ASM_OPERANDS.
6985
6986 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
6987
6988         * df.c (df_insn_modify): Realloc the INSN table here, if
6989         necessary, here, too.
6990
6991 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
6992
6993         * config/mips/mips.c (mips_function_value): Handle complex return
6994         values.
6995
6996 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
6997
6998         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
6999         unshared.
7000         * reload.c (make_memloc): Copy result if it is still
7001         reg_equiv_memory_loc[regno] on return.
7002         (subst_reloads) [ENABLE_CHECKING]: Check that none of
7003         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
7004         reg_equiv_mem are modified by the substitutions.
7005
7006 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
7007
7008         * predict.c (expensive_function_p): New.
7009         * rtl.h (expensive_function_p): Declare.
7010         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
7011         (use_fast_prologue_epilogue): New static variable.
7012         (expand_prologue): Set it; emit short prologues if unset.
7013         (expand_epilogue): Likewise.
7014
7015 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
7016
7017         * config.gcc: Add stormy16-*-elf case.
7018         * config/stormy16/stormy-abi: New file.
7019         * config/stormy16/stormy16-lib2.c: New file.
7020         * config/stormy16/stormy16-protos.h: New file.
7021         * config/stormy16/stormy16.c: New file.
7022         * config/stormy16/stormy16.h: New file.
7023         * config/stormy16/stormy16.md: New file.
7024         * config/stormy16/t-stormy16: New file.
7025
7026 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
7027
7028         * i386.h (no-accumulate-outgoing-args): Use proper mask.
7029
7030 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
7031
7032         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
7033         descriptor members are pointer size, not constant 4.
7034         * config/rs6000/rs6000.md (define_splits): Remove more unused
7035         constraints.
7036
7037 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7038
7039         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
7040
7041 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
7042
7043         * cp/rtti.c (VPARAMS): Fix parameter.
7044
7045 2001-08-24  Zack Weinberg  <zackw@panix.com>
7046
7047         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
7048         to zero.
7049         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
7050         to switch.
7051         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
7052         in if controlling use of insv.
7053         (extract_bit_field): Likewise, for extv and extzv.
7054
7055 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
7056
7057         * i386.md (movcc peep2): Fix load of 0.
7058
7059 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7060
7061         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
7062         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
7063
7064 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
7065
7066         * c-pragma.h: Move weak_syms and weak_decls...
7067         * varasm.c: ...here.  Now static.
7068         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
7069         depend on HANDLE_PRAGMA_WEAK.
7070
7071         * c-common.c (c_alignof, c_alignof_expr): Move here...
7072         * c-typeck.c: ...from here.
7073         * c-tree.h, c-common.h: Adjust.
7074
7075 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
7076
7077         * config/ia64/ia64.c (rws_update): If !pred, set write_count
7078         instead of incrementing it.
7079
7080         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
7081         asm ready, don't try to move them all into the same array element.
7082
7083 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
7084
7085         * function.c (thread_prologue_and_epilogue_insns): Avoid
7086         fallthru flag on edge to exit.
7087
7088         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
7089
7090         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
7091         dead edges.
7092
7093 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
7094
7095         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
7096         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
7097         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
7098         Remove prototype.
7099
7100 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
7101
7102         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
7103         replace "GNU CC" with "GCC".
7104
7105 2001-08-23  Richard Henderson  <rth@redhat.com>
7106
7107         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
7108         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
7109         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
7110         Need GR between FR and not GR_AND_FR.
7111         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
7112         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
7113         AR regs before GR regs.
7114         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
7115         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
7116         (REGISTER_MOVE_COST): Update.
7117         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
7118
7119 2001-08-23  Richard Henderson  <rth@redhat.com>
7120
7121         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
7122         a register class.
7123
7124 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
7125
7126         * reload1.c (emit_reload_insns): Don't look for notes
7127         on a NULL store_insn.
7128
7129 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7130
7131         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
7132         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
7133         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
7134         format specifier warnings.
7135         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
7136
7137 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
7138
7139         * config/i386/i386-protos.h: Correct declaration of
7140         i386_pe_asm_named_section.
7141
7142 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7143
7144         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
7145         variable i.
7146         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
7147
7148 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
7149
7150         * cpperror.c (print_location): Don't show _Pragma.
7151         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
7152         and file change callback generation here.
7153         (stack_include_file): Update use of cpp_push_buffer.
7154         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
7155         (struct cpp_buffer): Remove type, pfile members.
7156         * cppinit.c (cpp_handle_option): Use free_chain.
7157         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
7158         (skip_escaped_newlines, get_effective_char, lex_percent): Take
7159         a cpp_reader rather than a cpp_buffer.
7160         (skip_escaped_newlines, get_effective_char, skip_block_comment,
7161         skip_line_comment, parse_string, lex_percent, lex_dot,
7162         _cpp_lex_token): Update accordingly.
7163         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
7164         generation here.
7165         (cpp_push_buffer): Update prototype.
7166         (run_directive): Update use of cpp_push_buffer.
7167         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
7168         handle_assertion): Update use of run_directive.
7169         * cpplib.h (enum cpp_buffer_type): Remove.
7170         (cpp_push_buffer): Update prototype.
7171         * fix-header.c (read_scan_file): Update.
7172
7173 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7174
7175         * gcc.c (struct prefix_list): Change prefix to const char *.
7176
7177 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7178
7179         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
7180
7181 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
7182
7183         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
7184         from a new MEM.
7185
7186         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
7187         a squeezable note.
7188         * rtl.h: Adjust.
7189         * ifcvt.c (dead_or_predicable): Adjust.
7190         * loop.c (find_and_verify_loops): Adjust.
7191         * stmt.c (expand_end_case): Adjust.
7192         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
7193         head and end insn pointers in the basic block, not just local copies.
7194         (merge_blocks_move_predecessor_nojumps): Likewise.
7195
7196 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
7197
7198         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
7199         bitmap.h, builtin-types.def, builtins.c, builtins.def,
7200         c-aux-info.c, c-common.c, c-common.def, c-common.h,
7201         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
7202         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
7203         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
7204         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
7205         conditions.h, config.gcc, configure.frag, configure.in,
7206         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
7207         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
7208         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
7209         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
7210         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
7211         emit-rtl.c, errors.c, errors.h, except.c, except.h,
7212         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
7213         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
7214         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
7215         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
7216         gencheck.c, gencodes.c, genconfig.c, genemit.c,
7217         genextract.c, genflags.c, gengenrtl.c, genmultilib,
7218         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
7219         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
7220         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
7221         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
7222         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
7223         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
7224         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
7225         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
7226         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
7227         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
7228         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
7229         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
7230         params.h, predict.c, predict.def, predict.h, prefix.c,
7231         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
7232         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
7233         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
7234         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
7235         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
7236         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
7237         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
7238         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
7239         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
7240         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
7241         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
7242         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
7243         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
7244         xcoffout.h: replace "GNU CC" with "GCC".
7245
7246 2001-08-21  Richard Henderson  <rth@redhat.com>
7247
7248         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
7249         (final_scan_insn): Consider jump tables data even if we have no
7250         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
7251         ADDR_VEC_ALIGN.
7252         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
7253         (ASM_OUTPUT_CASE_END): Remove.
7254         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
7255         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
7256         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
7257
7258 2001-08-21  Richard Henderson  <rth@redhat.com>
7259
7260         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
7261         at barrier insns.  Emit stop bits before barriers.
7262
7263         * flow.c (flow_find_cross_jump): Don't consider unconditional
7264         return insns for commoning.
7265
7266         * final.c (compute_alignments): Fix typo.
7267
7268         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
7269         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
7270         (store_bit_field): Use mode_for_extraction more places.
7271         (extract_bit_field): Likewise.
7272
7273 2001-08-21  Zack Weinberg  <zackw@panix.com>
7274
7275         * caller-save.c: Don't include insn-codes.h.
7276         (reg_save_code, reg_restore_code): Make arrays of int.
7277         All uses updated to match.
7278         (insert_save, insert_restore): No need to initialize "code"
7279         variable upon declaration.
7280         * Makefile.in: update dependencies; fix typo in clean rule.
7281
7282 2001-08-21  Richard Henderson  <rth@redhat.com>
7283
7284         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
7285         (merge_if_block): Handle fallout from same.
7286
7287 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7288
7289         * builtins.c (type_to_class): Fix typo in last change.
7290
7291 2001-08-21  Richard Henderson  <rth@redhat.com>
7292
7293         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
7294         ia64_asm_output_label.
7295
7296         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
7297         copy of gp while the real gp register contains garbage.
7298
7299 2001-08-21  Zack Weinberg  <zackw@panix.com>
7300
7301         * expmed.c (mode_for_extraction): New function.
7302         (store_bit_field, extract_bit_field): Use it.
7303         * expr.h: Prototype it and provide an enum for its first argument.
7304
7305         * combine.c, function.c, recog.c: Don't include insn-codes.h.
7306         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
7307         and digging through the insn_data tables.
7308         * Makefile.in: Update dependencies.
7309
7310 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
7311
7312         * cppfiles.c (stack_include_file): line-map.c now handles include
7313         depth.
7314         (handle_missing_handler): Similarly.
7315         (_cpp_execute_include): Similarly.
7316         (_cpp_pop_file_buffer): Similarly.
7317         * cpphash.h (struct cpp_reader): Remove system_include_depth,
7318         buffer_stack_depth and include_depth.
7319         * cpplib.c (do_include_common): line-map.c now handles include depth.
7320         (cpp_push_buffer): Similarly.
7321         (_cpp_pop_buffer): Similarly.
7322         * cppmacro.c (builtin_macro): Update.
7323         * line-map.c (init_line_maps): Set depth.
7324         (add_line_map): Increment "used" earlier.  Update and use the
7325         include depth.
7326         (trace_include): Use the include depth.
7327         * line-map.h (struct line_maps): New member depth.
7328
7329 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
7330
7331         * cppfiles.c (stack_include_file): Don't handle -H here.
7332         * cppinit.c (cpp_start_read): Set include tracing after
7333         cpp_post_options and after stacking the main file.
7334         * line-map.c (trace_include): New.
7335         (init_line_maps, add_line_map): Update.
7336         * line-map.h (struct line_maps): New member trace_includes.
7337
7338 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
7339
7340         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
7341         * cppfiles.c (stack_include_file): Only stack a file if there
7342         is something to do.  Return a boolean indicating whether a
7343         buffer was stacked or not.
7344         (_cpp_execute_include): Similarly.
7345         (_cpp_read_file): Similarly.
7346         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
7347
7348 2001-08-21  Sam Steingold  <sds@gnu.org>
7349
7350         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
7351         (RECACHE): keep obufp_before_macroname up to date
7352
7353 2001-08-21  Zack Weinberg  <zackw@panix.com>
7354
7355         * stmt.c: Don't include insn-codes.h.
7356         (expand_end_case): Machine specific logic moved to expr.c.
7357         No need to worry about __builtin_classify_type.
7358         (check_for_full_enumeration_handling, emit_case_nodes):
7359         Kill #if 0 blocks.
7360
7361         * builtins.o (expand_builtin_classify_type): Split up so code
7362         can be shared with fold_builtin_classify_type.
7363         (type_to_class, fold_builtin_classify_type): New functions.
7364         (fold_builtins): Handle __builtin_classify_type.
7365
7366         * expr.c (do_tablejump): Now static.
7367         (case_values_threshold, try_casesi, try_tablejump): New;
7368         code mostly from stmt.c (expand_end_case).
7369         (expr.h): Update prototypes.
7370
7371         * Makefile.in (stmt.o): Update dependencies.
7372
7373 2001-08-21  Will Cohen  <wcohen@redhat.com>
7374
7375         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
7376         declaration of variable i.
7377         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
7378         declaration of variable i.
7379
7380 2001-08-21  Richard Henderson  <rth@redhat.com>
7381
7382         * crtstuff.c: Fix thinko last change.  Move list tails to start
7383         of CRT_END section.  Tidy ifdefs.
7384         (__EH_FRAME_BEGIN__): Always static for ELF.
7385         (__do_global_ctors_1): Rename from __frame_dummy.
7386         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
7387         name change; don't hide __EH_FRAME_BEGIN__.
7388
7389 2001-08-21  Richard Henderson  <rth@redhat.com>
7390
7391         * gdbinit.in: Move break on exit after break on fancy_abort.
7392
7393         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
7394         sized types.
7395
7396 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
7397
7398         * cpphash.h (_cpp_push_next_buffer): New.
7399         * cppinit.c (do_includes): Remove.
7400         (push_include, free_chain, _cpp_push_next_buffer): New.
7401         (cpp_start_read): Use them to rework command line option handling.
7402         (cpp_handle_option): Combine handling of -include and -imacros.
7403         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
7404         appropriate.  Always insert missing \n at EOF.
7405         * cpplib.c (start_directive): Get the directive position right.
7406         * cppmain.c (cb_file_change): Always print the first line, unless
7407         preprocessed.
7408
7409 2001-08-20  Andreas Jaeger  <aj@suse.de>
7410
7411         * profile.c (compute_branch_probabilities): Remove extra new-line
7412         in error message.
7413         * flow.c (verify_flow_info): Likewise.
7414
7415 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
7416
7417         * basic-block.h (basic_block): Add new field 'flags'.
7418         (BB_REACHABLE): Define.
7419         (expunge_block): Declare.
7420         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
7421         (EXIT_BLOCK_PTR): Ditto.
7422         (expunge_block): Remove static declaration.
7423         (cleanup_cfg): Clear bb->aux on every basic block.
7424         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
7425         computing reachability.
7426         (delete_unreachable_blocks): Delete block b if b->flags has
7427         BB_REACHABLE unset.
7428
7429 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
7430
7431         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
7432
7433 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7434
7435         * sparc.c (sparc_variable_issue): Fix typo in last change.
7436
7437 2001-08-20  Richard Henderson  <rth@redhat.com>
7438
7439         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
7440
7441 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7442
7443         * pa.h (RETURN_IN_MEMORY): Improve comment.
7444
7445 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
7446
7447         * doc/invoke.texi (Profiling options): Clarify the interactions
7448         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
7449
7450 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
7451
7452         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
7453         command.
7454
7455 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7456
7457         * gcc.c (make_relative_prefix): Allocate a sufficiently large
7458         buffer.
7459
7460 2001-08-20  Richard Henderson  <rth@redhat.com>
7461
7462         * final.c (end_final): Fix typo last change.
7463
7464 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
7465
7466         * cppinit.c (init_standard_includes): The returned buffer
7467         is already malloc-ed.
7468         * gcc.c (add_prefix): Similarly.
7469         * prefix.c (translate_name): Update to support clear buffer
7470         ownership rules.
7471         (update_path): Similarly.  Be sure to free any newly allocated
7472         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
7473         (tr): New function.
7474         * prefix.h (update_path): Update prototype and document.
7475         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
7476         up and update to new buffer ownership rules.
7477         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
7478
7479 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
7480
7481         * final.c (compute_alignments): New function.
7482         (init_insn_lengths): Do not care label_align.
7483         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
7484         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
7485         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
7486         (shorted_branches): Realloc label_align array; do
7487         not call init_insn_lengths; Do not care about loop alignments.
7488         * output.h (compute_alignments): Declare.
7489         * toplev.c (rest_of_compilation): Call compute_alignments.
7490         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
7491
7492         * predict.c (block_info_def): Add npredecesors, remove nvisited;
7493         change visited to tovisit.
7494         (propagate_freq): Use faster traversing algorithm.
7495         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
7496         to tovisit; reverse meaning.
7497
7498         * predict.c (struct block_info_def): Remove nvisited.
7499         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
7500         (estimate_bb_frequencies): Call mark_dfs_back_edges.
7501
7502 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
7503
7504         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
7505         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
7506         (TARGET_FUSED_MADD): New.
7507         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
7508         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
7509         the multiply-add instructions.
7510
7511 2001-08-19  Richard Henderson  <rth@redhat.com>
7512
7513         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
7514         is aligned to pointer size.
7515
7516 2001-08-19  Richard Henderson  <rth@redhat.com>
7517
7518         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
7519         display markers during final schedule.
7520
7521 2001-08-19  Richard Henderson  <rth@redhat.com>
7522
7523         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
7524
7525 2001-08-19  Richard Henderson  <rth@redhat.com>
7526
7527         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
7528         in the same string.
7529         (ASM_NAME_TO_STRING): Remove.
7530         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
7531         in the same string.  Remove support for expressions.
7532
7533 2001-08-19  Richard Henderson  <rth@redhat.com>
7534
7535         * config/i386/i386.md (tablejump): Make an expander; handle
7536         pic relative addressing here.
7537         (tablejump_1): Rename from tablejump_pic.
7538         (casesi): Remove.
7539
7540 2001-08-19  Richard Henderson  <rth@redhat.com>
7541
7542         * regclass.c (fix_register): Fix typo.
7543
7544 2001-08-18  Richard Henderson  <rth@redhat.com>
7545
7546         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
7547         (struct _Unwind_Context): Expand br_loc to hold it.
7548         (uw_frame_state_for): Handle leaf functions better.
7549         (uw_update_reg_address): Update for br_loc change.
7550
7551 2001-08-18  Richard Henderson  <rth@redhat.com>
7552
7553         * crtstuff.c: Move list heads before code that uses them.
7554         (__JCR_LIST__): Remove initial null.
7555         (frame_dummy, __frame_dummy): Do java registration here ...
7556         (__do_global_ctors_aux): ... not here.
7557
7558         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
7559         (__do_global_dtors_aux): Update to match.
7560         (__JCR_LIST__, __do_jv_register_classes): New.
7561         (.init): Call it.
7562         * config/ia64/crtend.asm (__JCR_END__): New.
7563         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
7564         instead of an indirect LTOFF22 reloc.
7565
7566 2001-08-18  Richard Henderson  <rth@redhat.com>
7567
7568         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
7569         * regclass.c (init_reg_sets_1): Fix typo.
7570         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
7571         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
7572         (ia64_compute_frame_size): Make ar.unat live when in use.
7573         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
7574         for ar.pfs; remove ar.unat handling.
7575         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
7576         call-saved.
7577         (PREDICATE_CODES): Add ar_pfs_reg_operand.
7578         * config/ia64/ia64-protos.h: Update decls.
7579         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
7580         (sibcall_pic): Likewise.
7581
7582 2001-08-18  Richard Henderson  <rth@redhat.com>
7583
7584         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
7585         pred_rel_mutex when searching for insn_group_barrier.
7586         * config/ia64/ia64.md (cycle_display): Combine the expander
7587         and insn patterns.
7588
7589         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
7590         bit before asm as needed.
7591
7592 2001-08-18  Richard Henderson  <rth@redhat.com>
7593
7594         * timevar.def (TV_MACH_DEP): New.
7595         * toplev.c (rest_of_compilation): Use it.
7596         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
7597
7598 2001-08-18  Zack Weinberg  <zackw@panix.com>
7599
7600         * unwind-dw2.c (execute_stack_op): Add default aborts to
7601         the inner switches to prevent warnings.
7602
7603 2001-08-18  Richard Henderson  <rth@redhat.com>
7604
7605         * timevar.h (struct timevar_time_def): Change element type to float.
7606         (ticks_to_msec, clocks_to_msec): Likewise.
7607         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
7608         (get_time): Likewise.
7609         (timevar_print): Adjust zero check and printing to match.
7610
7611 2001-08-18  Zack Weinberg  <zackw@panix.com>
7612
7613         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
7614         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
7615         Eliminate overfull or underfull hboxes.
7616
7617 2001-08-18  Zack Weinberg  <zackw@panix.com>
7618
7619         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
7620
7621 2001-08-18  Zack Weinberg  <zackw@panix.com>
7622
7623         * haifa-sched.c: Convert to target hooks.  Macros replaced
7624         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
7625         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
7626         MD_SCHED_FINISH, and HAVE_cycle_display.
7627         * target-def.h (TARGET_SCHED_ADJUST_COST,
7628         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
7629         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
7630         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
7631         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
7632         New hook #defines to be overridden.
7633         (TARGET_SCHED): Bring them all together.
7634         (TARGET_INITIALIZER): Update.
7635         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
7636         instead of 'struct rtx_def *' throughout.
7637         (struct sched): New set of hooks for the scheduler.
7638         * Makefile.in (haifa-sched.o): Depend on target.h.
7639         * doc/tm.texi: Document the new scheduler hooks, together in
7640         their own section, instead of scattered around.
7641         Fix a bunch of underfull/overfull hboxes.
7642
7643         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
7644         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
7645         sparc.h: Don't define any of the old scheduler macros.
7646
7647         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
7648         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
7649         sparc.c: Create hook functions from code extracted from
7650         corresponding target header, or make existing hooks static, as
7651         appropriate.  Set the appropriate entries in targetm.
7652
7653         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
7654         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
7655         rs6000-protos.h, s390-protos.h, sparc-protos.h:
7656         Remove prototypes for functions which are now static.
7657
7658         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
7659         related gunk; the Haifa scheduler is now the only choice.
7660
7661 2001-08-18  Zack Weinberg  <zackw@panix.com>
7662
7663         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
7664         * genopinit.c: Put floating point divide insns in sdiv_optab.
7665         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
7666         * config/gofast.h, config/c4x/c4x.h,
7667         config/ia64/hpux_longdouble.h, config/mips/mips.h,
7668         config/pa/long_double.h, config/rs6000/sysv4.h,
7669         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
7670         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
7671         (init_optabs): Use init_optabv for overflow-trapping optabs.
7672         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
7673         cmp_optab RTX codes so have_insn_for can find them.
7674
7675         * optabs.c (expand_simple_binop, expand_simple_unop,
7676         have_insn_for, gen_sub3_insn): New interfaces.
7677         * expr.h: Prototype new functions.
7678         (enum optab_methods): Move here from optabs.h.
7679
7680         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
7681         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
7682         Use new functions instead of working directly with optabs.
7683         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
7684         unroll.c: Don't include optabs.h.
7685         * caller-save.c, combine.c, function.c, stmt.c: Just include
7686         insn-codes.h, not optabs.h.
7687         * Makefile.in: Update dependencies.
7688
7689         * combine.c (make_compound_operation, simplify_comparison):
7690         Fix typos testing for this or that instruction.
7691
7692 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
7693
7694         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
7695         generating libgcc.a.
7696
7697 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7698
7699         * except.c (TYPE_HASH): Delete.
7700
7701         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
7702         HOST_WIDE_INT.
7703
7704         * tree.c (TYPE_HASH): Delete.
7705
7706         * tree.h (TYPE_HASH): Define.
7707
7708 2001-08-18  Graham Stott  <grahams@redhat.com>
7709
7710         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
7711         define_split.
7712         (adddi3_internal_2+2): Likewise.
7713         (eh_set_lr_di+1): Likewise.
7714
7715 2001-08-17  Richard Henderson  <rth@redhat.com>
7716
7717         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
7718         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
7719         * dwarf2asm.c: ... here.
7720         * dwarfout.c: Remove them.
7721
7722         * varasm.c (assemble_integer): Add align parameter.
7723         (assemble_real, output_constant, output_constructor): Likewise.
7724         * output.h: Update decls.
7725         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
7726         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
7727         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
7728         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
7729         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
7730         Update all callers.
7731
7732         * final.c (end_final): Abort profile block generation if we
7733         havn't layed it out properly.
7734         * output.h (assemble_eh_integer): Remove stale decl.
7735         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
7736         (min_align): New.
7737         (assemble_integer): Handle unaligned data.
7738         (assemble_real): Abort on unaligned data.
7739         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
7740         anything useful.
7741         (default_dtor_section_asm_out_destructor): Use assemble_align.
7742         (default_named_section_asm_out_constructor): Likewise.
7743         (default_ctor_section_asm_out_constructor): Likewise.
7744         * config/darwin.c (machopic_asm_out_constructor): Likewise.
7745         (machopic_asm_out_destructor): Likewise.
7746         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
7747         (nextstep_asm_out_destructor): Likewise.
7748         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
7749         (vms_asm_out_destructor): Likewise.
7750
7751 2001-08-17  Richard Henderson  <rth@redhat.com>
7752
7753         * config/mips/iris6.h (TARGET_IRIX6): New.
7754         (current_section_name, current_section_flags): New.
7755         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
7756         (MAX_OFILE_ALIGNMENT): New.
7757         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
7758         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
7759         (copy_file_data): Split out from
7760         (mips_asm_file_end): ... here.
7761         (mips_asm_file_start): Remove extra .section directive.  Use
7762         tmpfile instead of mips_make_temp_file.
7763         (mips_unique_section): Use const char * as needed for warnings.
7764         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
7765         re-add align parameter.
7766         (iris6_asm_named_section): New.
7767         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
7768         (iris6_asm_output_align, iris6_section_align_1): New.
7769         (iris6_asm_file_start, iris6_asm_file_end): New.
7770         * config/mips/mips-protos.h: Update decls.
7771
7772 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
7773
7774         * doc/install.texi (Install GCC): Add links to build status pages.
7775         (Specific): Ditto.
7776         (Final install): Ditto; request updates for specific info
7777
7778 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
7779
7780         * cpperror.c (print_location):  Don't take a file name; use the
7781         line map instead.
7782         (_cpp_begin_message): Similarly.
7783         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
7784         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
7785         (cpp_pedwarn_with_file_and_line): Remove.
7786         * cppfiles.c (stack_include_file): Update; set filename to stdin
7787         here when appropriate.
7788         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
7789         (_cpp_begin_message): Don't take a file name.
7790         * cppinit.c: Add comment.
7791         * cpplex.c: Fix end-of-directive indicator.
7792         * cpplib.c: Don't include intl.h.
7793         (run_directive, do_diagnostic): Update.
7794         (do_line): Update to not use nominal_fname.
7795         (cpp_push_buffer): Don't take a filename.
7796         * cpplib.h (struct ht): Remove.
7797         (cpp_push_buffer): Don't take a filename.
7798         (cpp_pedwarn_with_file_and_line): Remove.
7799         * cppmacro.c (struct cpp_macro): Remove file.
7800         (builtin_macro): Update.
7801         (_cpp_create_definition): Update.
7802         * cppmain.c: Correct comment.
7803         * fix-header.c (read_scan_file): Update.
7804
7805 2001-08-17  Kazu Hirata  <kazu@hxi.com>
7806
7807         * sbitmap.c: Fix comment formatting.
7808         * sched-deps.c: Likewise.
7809         * sibcall.c: Likewise.
7810         * simplify-rtx.c: Likewise.
7811         * ssa.c: Likewise.
7812         * ssa-ccp.c: Likewise.
7813         * stor-layout.c: Likewise.
7814         * timevar.c: Likewise.
7815         * toplev.c: Likewise.
7816         * unwind-dw2.c: Likewise.
7817         * unwind-dw2-fde.c: Likewise.
7818         * varasm.c: Likewise.
7819
7820 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7821
7822         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
7823         or larger than an integer in memory.
7824
7825 2001-08-17  Zack Weinberg  <zackw@panix.com>
7826
7827         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
7828         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
7829         * rtl.h: Don't forward-declare union tree_node here.  Don't
7830         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
7831         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
7832         and tree respectively.
7833         * tree.h: Don't forward-declare struct rtx_def here.  Don't
7834         typedef tree here.  Change all uses of struct rtx_def *,
7835         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
7836         and tree respectively.
7837
7838 2001-08-17  Richard Henderson  <rth@redhat.com>
7839
7840         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
7841         config/mips/openbsd.h: Fix typos last change.
7842
7843 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7844
7845         * doc/invoke.texi (Optimize Options): The default for
7846         -finline-limit is 600.
7847
7848 2001-08-17  Richard Henderson  <rth@redhat.com>
7849
7850         * varasm.c (text_section): Allow TEXT_SECTION to override the
7851         printing of TEXT_SECTION_ASM_OP.
7852         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
7853         (DATA_SECTION, BSS_SECTION): Remove.
7854         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
7855         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
7856         Rename from s/_NAME//.
7857         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
7858         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
7859         (TEXT_SECTION): ... here.  New.
7860         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
7861         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
7862         * config/mips/openbsd.h: Likewise.
7863         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
7864         (mips_asm_file_end): Likewise test.
7865         (mips_output_function_epilogue): Likewise.  Switch back to data
7866         section after emitting the function.
7867
7868         * doc/tm.texi (Sections): Document TEXT_SECTION.
7869
7870 2001-08-17  Richard Henderson  <rth@redhat.com>
7871
7872         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
7873         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
7874
7875 2001-08-17  Richard Henderson  <rth@redhat.com>
7876
7877         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
7878         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
7879         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
7880         Add aligned attribute.
7881
7882 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
7883
7884         * config/sh/sh.md: Add modes to unspecs in first insn to match
7885         those in the second.
7886
7887         * Makefile.in: Fix collect2 copy for Cygwin.
7888
7889 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
7890
7891         Install the proper patch.
7892         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
7893         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
7894         (expand_function_start): Likewise.
7895         * stmt.c (expand_decl): Likewise.
7896         * varasm.c (make_decl_rtx): Likewise.
7897
7898 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
7899
7900         * final.c: Undo my previous accidental checkin.
7901         * output.h: Likewise.
7902         * tm.texi: Likewise.
7903
7904 2001-08-16  Richard Henderson  <rth@redhat.com>
7905
7906         * varasm.c (named_section_flags): Remove align parameter.
7907         * varasm.c, dwarf2out.c: Update all callers.
7908         * output.h: Update prototypes.
7909
7910         * target.h (target.asm_out.named_section): Remove align parameter.
7911         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
7912         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
7913         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
7914         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
7915         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
7916
7917         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
7918         (get_named_section_flags, set_named_section_flags): New.
7919         (named_section_flags): Use them.
7920         (named_section): Do decl vs section flags check here...
7921         (default_section_type_flags): ... not here.
7922         (init_varasm_once): Create in_named_htab.
7923         (resolve_unique_section): Mark reloc unused.
7924
7925 2001-08-16  Richard Henderson  <rth@redhat.com>
7926
7927         * varasm.c (force_const_mem): Keep pool alignment in bits.
7928         (output_constant_pool): Use assemble_align.
7929
7930 2001-08-16  Zack Weinberg  <zackw@panix.com>
7931
7932         * doc/tm.texi: Remove extra @table command.
7933
7934 2001-08-16  Zack Weinberg  <zackw@panix.com>
7935
7936         * final.c (shorten_branches): Clear the end of the label_align
7937         array only if we made it larger.  Break up messy expressions
7938         for clarity.
7939
7940         * diagnostic.c (internal_error): Check for error recursion
7941         before doing ICE suppression.
7942
7943         * timevar.c: Timing variables now count in milliseconds.
7944         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
7945         (get_time): Not here.
7946         (timevar_print): Don't print any timer whose user, cpu, and
7947         wall times are all zero as displayed.
7948         * timevar.h: Update comment aboout units.  Make timevar
7949         counters unsigned.
7950
7951 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
7952
7953         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
7954         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
7955         (expand_function_start): Likewise.
7956         * stmt.c (expand_decl): Likewise.
7957         * varasm.c (make_decl_rtx): Likewise.
7958
7959 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
7960
7961         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
7962         (finalize_record_size): Don't set TYPE_USER_ALIGN.
7963
7964 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7965
7966         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
7967         variables.
7968
7969 2001-08-16  Andreas Jaeger  <aj@suse.de>
7970
7971         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
7972         prototype.
7973
7974 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
7975
7976         * rtl.h (only_sets_cc0_p): New prototype.
7977         * jump.c (sets_cc0_p): Handle INSN.
7978         (only_sets_cc0_p): New function.
7979         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
7980         (tidy_fallthru_edge): Likewise.
7981         * integrate.c (copy_insn_list): Likewise.
7982         * unroll.c (unroll_loop): Likewise.
7983         (copy_loop_body): Likewise.
7984
7985 2001-08-15  Jason Eckhardt  <jle@redhat.com>
7986
7987         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
7988
7989 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
7990
7991         * predict.c (struct block_info_def): Remove nvisited.
7992         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
7993         (estimate_bb_frequencies): Call mark_dfs_back_edges.
7994
7995         * i386.c (ix86_agi_depdendant): Lea causes AGI only on the Pentium
7996         (ix86_adjust_cost): Teach scheduler that latency to load operand can
7997         be masked.
7998
7999 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
8000
8001         * predict.def: Update hitrates.
8002
8003 2001-08-15  Richard Henderson  <rth@redhat.com>
8004
8005         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
8006
8007 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
8008
8009         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
8010         note from its associated jump.
8011
8012 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
8013
8014         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
8015         also on 64-bit s390x targets.
8016
8017 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
8018
8019         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
8020         function.
8021         (arm_expand_prologue): Handled nested functions which take a
8022         variable argument list.
8023         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
8024         macro with an invocation of
8025         arm_compute_initial_elimination_offset.
8026         * config/arm/arm-protos.h: Prototype
8027         arm_compute_initial_elimination_offset.
8028
8029 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8030
8031         * doc/install.texi (Specific, avr): Fix markup.
8032         (Specific, c4x): Ditto.
8033
8034 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
8035
8036         * predict.c (dump_prediction): Change `bool' parameter to `int'.
8037
8038 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
8039
8040         * Makefile.in (OBJS): Add rtl-error.o
8041         (rtl-error.o): New rule.
8042         (diagnostic.o): Adjust dependency.
8043         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
8044         error_for_asm, _fatal_insn, _fatal_insn_not_found,
8045         warning_for_asm): Move to...
8046         rtl-error.c: ...here.  New file.
8047
8048 2001-08-14  Richard Henderson  <rth@redhat.com>
8049
8050         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
8051         if USING_SJLJ_EXCEPTIONS.
8052
8053 2001-08-14  Steve Ellcey <sje@cup.hp.com>
8054
8055         * tlink.c (scan_linker_output): Check string for unsatisfied in
8056         addition to undefined and unresolved.
8057
8058 2001-08-14  Graham Stott  <grahams@redhat.com>
8059
8060         * libgcc2.c (*): Replace EH_FRAME_SECTION with
8061         EH_FRAME_SECTION_NAME.
8062
8063 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
8064
8065         * genattrtab.c (simplify_test_exp_in_temp): New function.
8066         (simplify_test_exp): Avoid explicit use of temporary obstack.
8067         (simplify_cond, insert_right_side, evaluate_eq_attr,
8068         simplify_and_tree, simplify_or_tree, eliminate_known_true):
8069         Use simplify_test_exp_in_temp.
8070         (optimize_attrs): Iterate until expression stabilizes.
8071
8072 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
8073
8074         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
8075         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
8076
8077 2001-08-13  Richard Henderson  <rth@redhat.com>
8078
8079         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
8080         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
8081         * config/arm/conix-elf.h: Likewise.
8082
8083 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
8084
8085         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
8086         in gcc.c.
8087         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
8088
8089         * gcse.c (hash_scan_set): Expressions that are set as part of
8090         jump instructions are not available.
8091
8092 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
8093
8094         * config/s390/s390.c (print_operand, s390_function_prologue,
8095         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
8096
8097 2001-08-13  Richard Henderson  <rth@redhat.com>
8098
8099         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
8100         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
8101         * doc/tm.texi (Exception Region Output): Document it.
8102
8103 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
8104
8105         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
8106         DWARF2 instead of stabs by default.
8107
8108 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
8109
8110         * config/rs6000/rs6000.c: Include optabs.h.
8111
8112 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
8113
8114         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
8115         save/restore routines.
8116         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
8117
8118 2001-08-13  Andreas Jaeger  <aj@suse.de>
8119
8120         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
8121         the english is correct.
8122
8123 2001-08-13  Zack Weinberg  <zackw@panix.com>
8124
8125         * expr.h: Split out optab- and libfunc-related code to...
8126         * optabs.h, libfuncs.h: ... these new headers.
8127
8128         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
8129         (OPTABS_H): New.
8130         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
8131         dependencies.
8132         * mkconfig.sh: Don't include insn-codes.h from config.h.
8133
8134         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
8135         enum insn_code is available.  Move reload_in_optab and
8136         reload_out_optab array declarations to optabs.h.
8137         * regmove.c (gen_add3_insn): Move to optabs.c, export from
8138         there, prototype in expr.h.
8139         * gencodes.c: Cleanup: zap global variables, don't use
8140         printf where puts will do, don't bother defining MAX_INSN_CODE
8141         which nothing uses, let CODE_FOR_nothing get its value implicitly.
8142
8143         * genemit.c, genopinit.c: Include optabs.h in generated file.
8144         * genoutput.c: Include insn-codes.h in generated file.
8145         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
8146         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
8147         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
8148         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
8149         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
8150         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
8151         Include optabs.h.
8152         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
8153         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
8154         config/m88k/m88k.c, config/sparc/sparc.c:
8155         Include libfuncs.h.
8156         * reload.c: Include expr.h and optabs.h before reload.h.
8157         * config/alpha/alpha.c: Include tree.h before reload.h.
8158         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
8159         and reload.h in that order.
8160         * config/sparc/sparc.c: Include debug.h.
8161         * recog.c: Include insn-codes.h.
8162
8163 2001-08-13  Andreas Jaeger  <aj@suse.de>
8164
8165         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
8166         s390*linux.
8167
8168 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
8169
8170         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
8171         * gcc.c (init_spec): Fix typo in comment.
8172         * varasm.c (data_section): Fix typo in comment.
8173
8174 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
8175
8176         * predict.c (dump_prediction): New argument "USED".
8177         (combine_predictions_for_insn): Determine the used heuristics,
8178         output the case no heuristic applied.
8179         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
8180
8181 2001-08-13  Andreas Jaeger  <aj@suse.de>
8182
8183         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
8184         register %rip.
8185
8186 2001-08-13  Kazu Hirata  <kazu@hxi.com>
8187
8188         * jump.c: Fix formatting.
8189
8190 2001-08-13  Kazu Hirata  <kazu@hxi.com>
8191
8192         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
8193         length.
8194
8195 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
8196
8197         * loop.c (check_dbra_loop): Use condjump_label to compute
8198         jump_label.
8199
8200         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
8201         to better document the files they're in.
8202
8203 2001-08-12  Zack Weinberg  <zackw@panix.com>
8204
8205         * recog.h (struct insn_operand_data): Shrink 'mode' field
8206         to 16 bits.
8207
8208 2001-08-12  Kazu Hirata  <kazu@hxi.com>
8209
8210         * gcc.c: Fix comment formatting.
8211         * gccspec.c: Likewise.
8212         * gcov.c: Likewise.
8213         * gcse.c: Likewise.
8214         * genemit.c: Likewise.
8215         * gengenrtl.c: Likewise.
8216         * genrecog.c: Likewise.
8217         * gensupport.c: Likewise.
8218         * ggc-page.c: Likewise.
8219         * global.c: Likewise.
8220         * graph.c: Likewise.
8221         * ifcvt.c: Likewise.
8222         * integrate.c: Likewise.
8223         * lcm.c: Likewise.
8224         * libgcc2.c: Likewise.
8225         * loop.c: Likewise.
8226         * mbchar.c: Likewise.
8227         * optabs.c: Likewise.
8228         * predict.c: Likewise.
8229         * prefix.c: Likewise.
8230         * profile.c: Likewise.
8231         * protoize.c: Likewise.
8232         * real.c: Likewise.
8233         * recog.c: Likewise.
8234         * regclass.c: Likewise.
8235         * regmove.c: Likewise.
8236         * reg-stack.c: Likewise.
8237         * reload1.c: Likewise.
8238         * resource.c: Likewise.
8239         * rtlanal.c: Likewise.
8240         * rtl.c: Likewise.
8241
8242 2001-08-12  Kazu Hirata  <kazu@hxi.com>
8243
8244         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
8245         a tree representing a constant is passed to the macro.
8246
8247 2001-08-12  Richard Henderson  <rth@redhat.com>
8248
8249         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
8250         (rs6000_elf_asm_out_destructor): New.
8251         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
8252         (DTORS_SECTION_ASM_OP): Remove.
8253         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8254         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
8255
8256 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
8257
8258         Revert:
8259         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8260         * gcc.c (set_collect_gcc_options): New function, split out from
8261         main.
8262         Ignore elided switches.
8263         (do_spec_1): Invoke before executing command.
8264         (set_input): Export.
8265         Move declaration ...
8266         * gcc.h (set_input): ... here.
8267         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
8268         file.
8269
8270 2001-08-12  Richard Henderson  <rth@redhat.com>
8271
8272         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
8273         thinko wrt TARGET_RELOCATABLE.
8274
8275 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
8276
8277         * fix-header.c (cb_file_change): Update prototype.
8278
8279 2001-08-11  Zack Weinberg  <zackw@panix.com>
8280
8281         * toplev.c (set_float_handler): Make static.
8282         * toplev.h: Don't prototype set_float_handler.
8283
8284         * simplify-rtx.c: Don't include setjmp.h.
8285         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
8286         New functions.
8287         (simplify_unary_operation, simplify_binary_operation): Use them,
8288         via do_float_handler.
8289
8290         * fold-const.c: Don't include setjmp.h.
8291         (exact_real_inverse_1): New function.
8292         (exact_real_inverse): Use it, via do_float_handler.
8293
8294         * varasm.c: Don't include setjmp.h.
8295         (assemble_real_1): New function.
8296         (assemble_real): Use it, via do_float_handler.
8297         Call internal_error if we get a trap here.
8298
8299         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
8300         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
8301
8302 2001-08-11  Zack Weinberg  <zackw@panix.com>
8303
8304         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
8305         STACK_BOUNDARY if not already defined.
8306
8307         * calls.c, function.c, reload1.c, explow.c: Don't default
8308         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
8309         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
8310
8311         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
8312         to run-time test.
8313
8314         * doc/tm.texi: Document that STACK_BOUNDARY is required;
8315         clarify difference between it and PREFERRED_STACK_BOUNDARY.
8316
8317 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
8318
8319         * cppmacro.c (enter_macro_context): Push macro expansions even
8320         if empty.
8321
8322 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8323
8324         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
8325         (rs6000_elf_section_type_flags): Actually return a value.
8326
8327 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
8328
8329         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
8330         Clean up code: add missing comments and prototypes, fix warnings,
8331         remove obsolete code, fix spacing to conform to coding style.
8332
8333 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
8334
8335         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
8336         and TARGET_ASM_CLOSE_PAREN.
8337         (regclass_map): CC register belongs to class NO_REGS.
8338         (legitimize_pic_address): Don't generate unnecessary moves
8339         (to avoid confusing loop optimization).
8340         (check_and_change_labels): Replace jump_long by indirect_jump.
8341         (s390_final_chunkify): Don't start a new literal pool on section
8342         switch in 64-bit code.
8343         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
8344
8345         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
8346         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
8347         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
8348         modes correctly.
8349         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
8350         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
8351         (CONST_COSTS): Fixed incorrect costs.
8352
8353         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
8354         Use emit_jump instead of emit_jump_insn (gen_jump).
8355         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
8356         (to avoid confusing flow analysis).
8357         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
8358         (casesi, casesi_jump): New.
8359         (jump_long): Removed.  Functionality merged into indirect_jump.
8360         (indirect_jump): Accept address_operand, not just register_operand.
8361         (cjump_long, icjump_long): Use same logic as indirect_jump.
8362         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
8363         Fixed broken setjmp/longjmp handling.
8364         (do_builtin_setjmp_setup): Removed.
8365
8366         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
8367         broken GNU as versions that don't accept .quad with large
8368         negative values.  Use hexadecimal output instead.
8369         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
8370         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
8371         FUNCTION_EPILOGUE): Removed.  Now in targetm.
8372
8373         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
8374
8375         * config/s390/fixdfdi.h: Add missing copyright statement.
8376         Fix type conflicts on 64-bit.  Add missing SFmode routines.
8377
8378         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
8379         email address.
8380
8381 2001-08-11  Richard Henderson  <rth@redhat.com>
8382
8383         * rtl.h (REG_EH_RETHROW): Remove.
8384         * rtl.c (reg_note_name): Update.
8385         * combine.c (distribute_notes): Don't check for it.
8386
8387 2001-08-11  Richard Henderson  <rth@redhat.com>
8388
8389         * combine.c (distribute_notes): Place REG_SETJMP.
8390
8391 2001-08-11  Richard Henderson  <rth@redhat.com>
8392
8393         * doc/extend.texi (Arrays and pointers implementation): Discourage
8394         relying on sign-extension of pointers.
8395
8396 2001-08-11  H.J. Lu <hjl@gnu.org>
8397
8398         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
8399         in_dtors.
8400         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
8401         RDATA_SECTION_ASM_OP.
8402
8403 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8404
8405         * doc/install.texi (Specific, c4x): Fix cross-reference to the
8406         main manual to work both for info and HTML versions.
8407
8408 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
8409             Matt Kraai <kraai@alumni.carnegiemellon.edu>
8410
8411         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
8412         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
8413         (struct cpp_pool): New member first.
8414         * cppinit.c (append_include_chain): Plug memory leaks.
8415         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
8416         Allocate pragma structures from the (aligned) macro pool to
8417         avoid leaking memory.
8418         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
8419         so we don't leak memory.
8420         * hashtable.c (ht_destroy): New.
8421         * hashtable.h (ht_destroy): New.
8422
8423 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
8424             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8425
8426         * c-lex.c (map): Make const.
8427         (cb_file_change): Update for callback passing a line map.
8428         Don't assume we have a previous map.  Remove sanity check
8429         about popping too many files.
8430         * cpperror.c (print_location): Make map const.
8431         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
8432         (cpp_make_system_header): Similarly.
8433         (search_from): Similarly.
8434         (_cpp_execute_include): Don't remember where we came from.
8435         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
8436         (struct cpp_reader): Make map const.
8437         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
8438         * cpplib.c (do_line): Update; line maps now hold sysp.
8439         (cpp_push_buffer): Similarly.
8440         (_cpp_do_file_change): Similarly; callback with map instead.
8441         (cpp_get_line_maps): Constify return value.
8442         (_cpp_pop_buffer): Update.
8443         * cpplib.h (struct cpp_file_change): Remove.
8444         (struct cpp_callbacks): Update.
8445         (cpp_get_line_maps): Constify return value.
8446         * cppmacro.c (_cpp_create_definition): Update.
8447         * cppmain.c (struct printer): Constify map.
8448         (maybe_print_line): Similarly.
8449         (print_line): Similarly.  Deduce flags 1 and 2 here.
8450         (cb_file_change): Update.
8451         * line-map.c (free_line_maps): Warn regardless.
8452         (add_line_map): Return pointer to const.  When passed NULL to_file
8453         with LC_LEAVE, use the obvious values for the return point so the
8454         caller doesn't have to figure them out.
8455         (lookup_line): Return pointer to const.
8456         (print_containing_files): Take pointer to const.
8457         * line-map.h (struct line_map): New members reason, sysp.
8458         (add_line_map): Return pointer to const.
8459         (lookup_line): Similarly.
8460         (print_containing_files): Take pointer to const.
8461
8462 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
8463             Richard Henderson  <rth@redhat.com>
8464
8465         * regmove.c (regmove_optimize): Avoid setting a register twice in
8466         a parallel set.
8467
8468 2001-08-10  Richard Henderson  <rth@redhat.com>
8469
8470         * doc/extend.texi (Arrays and pointers implementation): Document
8471         behavior of pointer/integer conversion.
8472
8473 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
8474
8475         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
8476
8477 2001-08-10  Richard Henderson  <rth@redhat.com>
8478
8479         * doc/extend.texi (C Implementation): New chapter.
8480         * doc/gcc.texi (Top): Link it in.
8481
8482 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
8483
8484         * doc/install.texi (Specific): Fix CVS merge botch.
8485
8486 2001-08-10  Richard Henderson  <rth@redhat.com>
8487
8488         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
8489         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
8490
8491 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
8492
8493         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
8494         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
8495         this macro is now required.
8496
8497         * cselib.c (cselib_process_insn), flow.c (propagate_block),
8498         loop.c (find_and_verify_loops), reload.c (reload): Check
8499         for rtx code of CALL_INSN, not CALL, when deciding if we
8500         need to check for REG_SETJMP note.
8501
8502         * gcse.c (compute_hash_table, compute_store_table): Update
8503         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
8504         logic.
8505
8506         * config/avr/avr.c: Fix typo.
8507         * config/convex/convex.c (expand_movstr): Use adjust_address.
8508         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
8509         variable.
8510         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
8511         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
8512         Fix typo.
8513         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
8514         Do define STACK_BOUNDARY.
8515         * config/i370/i370.c: Include expr.h.
8516         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
8517         config/pa/som.h, config/v850/v850.h: Take in_ctors and
8518         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
8519         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
8520         * config/m88k/m88k.c: Include c-tree.h after expr.h.
8521         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
8522         * config/romp/romp.c: Include expr.h after tree.h.
8523         Include toplev.h.
8524         (output_fpop): Use xmalloc, not oballoc.
8525         * config/we32k/we32k.c: Include expr.h.
8526
8527 2001-08-10  Kazu Hirata  <kazu@hxi.com>
8528
8529         * config/h8300/h8300.h: Fix formatting.
8530
8531 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
8532
8533         * c-common.h (RETURN_NULLIFIED_P): Lose.
8534         * c-semantics.c (genrtl_return_stmt): Don't check it.
8535
8536 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
8537
8538         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
8539         (mips_annotate_frame_insn): New function.
8540         (mips_emit_frame_related_store): New function.
8541         (save_restore_insns): Don't mark instructions that set up the base
8542         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
8543         the store instructions instead.
8544         (mips_expand_prologue): If the stack size is moved into a temporary
8545         register, do not mark that move as frame-related.  Add a
8546         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
8547
8548 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
8549
8550         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
8551         stack slot as unchanging if current_function_calls_eh_return.
8552
8553 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
8554
8555         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
8556         access the second half of the TFmode scratch operand.
8557
8558 2001-08-10  Anthony Green  <green@redhat.com>
8559
8560         * java/class.c (emit_register_classes): Conditionalize code on
8561         JCR_SECTION_NAME.
8562
8563 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8564
8565         * doc/install.texi (Specific, avr): Fix cross-reference to the
8566         main manual to work both for info and HTML versions.
8567
8568 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8569
8570         * stmt.c (expand_null_return_1): Remove code to generate simple returns
8571         and "use_goto" argument.
8572         (expand_null_return, expand_value_return): Update all callers.
8573         * function.c (expand_function_end): Remove code to generate simple
8574         return.
8575         * config/vax/vax.md (epilogue): New expander for function return.
8576         * doc/md.texi (epilogue): Remove "if defined".
8577
8578 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
8579
8580         * Makefile.in: Partially revert my previous change:
8581         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
8582         of the hashtab.o and safe-ctype.o rules.
8583
8584 2001-08-09  Richard Henderson  <rth@redhat.com>
8585
8586         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
8587         (USE_COLLECT2): Remove duplicate definition.
8588         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
8589         (use_collect2): Remove dead code.
8590         * configure.in (use_collect2): Remove will_use_collect2 and
8591         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
8592         * configure: Rebuild.
8593
8594         * target.h (targetm.asm_out.constructor): New.
8595         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
8596         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
8597         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
8598         * varasm.c (in_ctors, in_dtors): New.
8599         (assemble_constructor, assemble_destructor): Remove.
8600         (default_stabs_asm_out_destructor): New.
8601         (default_named_section_asm_out_destructor): New.
8602         (dtors_section, default_dtor_section_asm_out_destructor): New.
8603         (default_stabs_asm_out_constructor): New.
8604         (default_named_section_asm_out_constructor): New.
8605         (ctors_section, default_ctor_section_asm_out_constructor): New.
8606         * output.h: Update declarations.
8607         * c-decl.c (c_expand_body): Use target hooks instead of
8608         assemble_constructor and assemble_destructor.
8609         * profile.c (output_func_start_profiler): Likewise.
8610         * objc/objc-act.c (finish_objc): Likewise.
8611         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
8612         for the constructor.
8613         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
8614
8615         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
8616         (DTORS_SECTION_ASM_OP): Likewise.
8617         (__CTOR_LIST__): Use attribute section when possible.
8618         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
8619
8620         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
8621         ASM_OUTPUT_CONSTRUCTOR.
8622
8623         * config/darwin.c (machopic_asm_out_constructor): New.
8624         (machopic_asm_out_destructor): New.
8625         * config/darwin-protos.h: Update declarations.
8626         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8627         (ASM_OUTPUT_DESTRUCTOR): Remove.
8628         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8629         * config/nextstep.c (nextstep_asm_out_constructor): New.
8630         (nextstep_asm_out_destructor): New.
8631         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8632         (ASM_OUTPUT_DESTRUCTOR): Remove.
8633         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8634         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
8635         ASM_OUTPUT_*STRUCTOR.
8636         * config/i386/aix386ng.h: Likewise.
8637
8638         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
8639         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
8640         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
8641         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
8642         * config/lynx.h: Likewise.
8643         * config/netware.h: Likewise.
8644         * config/psos.h: Likewise.
8645         * config/alpha/alpha-interix.h: Likewise.
8646         * config/alpha/elf.h: Likewise.
8647         * config/arc/arc.h: Likewise.
8648         * config/arm/aof.h: Likewise.
8649         * config/arm/coff.h: Likewise.
8650         * config/arm/elf.h: Likewise.
8651         * config/c4x/c4x.h: Likewise.
8652         * config/h8300/h8300.h: Likewise.
8653         * config/i386/cygwin.h: Likewise.
8654         * config/i386/djgpp.h: Likewise.
8655         * config/i386/i386-coff.h: Likewise.
8656         * config/i386/i386-interix.h: Likewise.
8657         * config/i386/sco5.h: Likewise.
8658         * config/i386/vsta.h: Likewise.
8659         * config/i386/win32.h: Likewise.
8660         * config/i960/i960-coff.h: Likewise.
8661         * config/ia64/sysv4.h: Likewise.
8662         * config/m68hc11/m68hc11.h: Likewise.
8663         * config/m68k/coff.h: Likewise.
8664         * config/m68k/mot3300.h: Likewise.
8665         * config/m88k/m88k.h: Likewise.
8666         * config/mcore/mcore-pe.h: Likewise.
8667         * config/mcore/mcore.h: Likewise.
8668         * config/mips/elf.h: Likewise.
8669         * config/mips/elf64.h: Likewise.
8670         * config/mips/iris6.h: Likewise.
8671         * config/pa/pa64-hpux.h: Likewise.
8672         * config/rs6000/sysv4.h: Likewise.
8673         * config/sh/sh.h: Likewise.
8674         * config/sparc/litecoff.h: Likewise.
8675
8676         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
8677         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
8678         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
8679         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8680         (ASM_OUTPUT_DESTRUCTOR): Remove.
8681         * config/a29k/a29k.c: Move include of tree.h.
8682         * config/a29k/udi.h: Delete file.
8683         * config/alpha/alpha.c (vms_asm_out_constructor): New.
8684         (vms_asm_out_destructor): New.
8685         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
8686         (EXTRA_SECTION_FUNCTIONS): Likewise.
8687         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
8688         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8689         * config/c4x/c4x.c: Move include of tree.h.
8690         * config/clipper/clipper.c (clix_asm_out_constructor): New.
8691         (clix_asm_out_destructor): New.
8692         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8693         (ASM_OUTPUT_DESTRUCTOR): Remove.
8694         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8695         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8696         (TARGET_ASM_CONSTRUCTOR): New.
8697         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
8698         (sco_asm_out_constructor): New.
8699         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
8700         * config/i386/svr3gas.h: Remove stack grows up code.
8701         Remove code duplicated from i386/sysv3.h.
8702         (TARGET_ASM_CONSTRUCTOR): New.
8703         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
8704         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
8705         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8706         (TARGET_ASM_CONSTRUCTOR): New.
8707         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
8708         (m68hc11_asm_out_destructor): New.
8709         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
8710         (TARGET_ASM_DESTRUCTOR): New.
8711         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
8712         * config/m68k/dpx2.h: Properly undef all the bits inherited from
8713         config/svr3.h pertaining to section manipulation.
8714         * config/m68k/dpx2g.h: Remove #if 0 code.
8715         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
8716         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
8717         (ASM_OUTPUT_CONSTRUCTOR): Remove.
8718         (TARGET_ASM_CONSTRUCTOR): New.
8719         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
8720         (m88k_svr3_asm_out_constructor): New.
8721         (m88k_svr3_asm_out_destructor): New.
8722         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8723         (ASM_OUTPUT_DESTRUCTOR): Remove.
8724         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8725         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
8726         * config/rs6000/aix.h: Likewise.
8727         * config/mips/rtems64.h: Don't undef removed constructor related bits.
8728         * config/mips/vxworks.h: Likewise.
8729         * config/rs6000/lynx.h: Likewise.
8730         * config/sh/elf.h: Likewise.
8731         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
8732         (DTORS_SECTION_ASM_OP): New.
8733         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8734         (ASM_OUTPUT_DESTRUCTOR): Remove.
8735         * config/sparc/sol2-sld-64.h: Likewise.
8736         * config/vax/vax.c (vms_asm_out_constructor): New.
8737         (vms_asm_out_destructor): New.
8738         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8739         (ASM_OUTPUT_DESTRUCTOR): Remove.
8740         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8741
8742         * doc/tm.texi (@node Initialization): Update.
8743
8744 2001-08-09  Richard Henderson  <rth@redhat.com>
8745
8746         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
8747         (__do_global_dtors_aux): Use gp-relative static data to avoid
8748         one dynamic relocation.
8749         (__do_frame_setup): Register Java classes.
8750         * config/alpha/crtend.asm (__JCR_END__): New.
8751
8752 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
8753
8754         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
8755         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
8756         (GEN, STAGESTUFF): Add new files.
8757         (insn-constants.h, s-constants, tm-preds.h, s-preds,
8758         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
8759         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
8760         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
8761         as well as insn-codes.h and insn-flags.h in config.h; and no
8762         extra headers in tconfig.h and hconfig.h.
8763
8764         * gencodes.c: Eliminate code to generate predicate declarations
8765         or #defines for md-file constants.
8766         * genconstants.c, genpreds.c: New files.
8767
8768         * i386.md: Re-order guard expressions such that TARGET_64BIT
8769         comes first, when this permits better optimization.  Add
8770         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
8771         why this is desirable.
8772
8773 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
8774
8775         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
8776         (find_fde_for_dso): Remove.
8777         (_Unwind_IteratePhdrCallback): New.
8778         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
8779         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
8780
8781 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8782
8783         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
8784         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
8785
8786 2001-08-09  Graham Stott  <grahams@redhat.com>
8787
8788         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
8789         (vis_no_unit): Use it.
8790         (visualize_no_unit): Add the insn only if room exists.
8791
8792 2001-08-09  Graham Stott  <grahams@redhat.com>
8793
8794         * predict.c (estimate_probability): Replace magic numbers with
8795         appropriate enumeration.
8796
8797 2001-08-09  Graham Stott  <grahams@redhat.com>
8798
8799         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
8800         parameter.
8801         (EXTRACT_FLAGS): Likewise.
8802
8803 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
8804
8805         * config/mips/mips.c    (mips_legitimate_address_p): Check for
8806         CONST_INT in last patch.
8807
8808 2001-08-08  Anthony Green  <green@redhat.com>
8809
8810         * java/class.c (emit_register_classes): Use assemble_jcr if
8811         possible.  Keep the original mechanism as a fallback.
8812         * defaults.h (JCR_SECTION_NAME): Define if we have named section
8813         and weak symbol support.
8814         * crtstuff.c (__JCR_LIST__): Define.
8815         (__JCR_END__): Define.
8816         (_Jv_RegiserClasses): Define weak symbol if possible.
8817         (__do_global_ctors_aux): Register classes for ELF targets with
8818         weak symbol support.
8819
8820 2001-08-08  Kazu Hirata  <kazu@hxi.com>
8821
8822         * dbxout.c: Fix comment formatting.
8823         * dependence.c: Likewise.
8824         * df.c: Likewise.
8825         * diagnostic.c: Likewise.
8826         * dominance.c: Likewise.
8827         * doprint.c: Likewise.
8828         * dwarf2out.c: Likewise.
8829         * dwarfout.c: Likewise.
8830         * emit-rtl.c: Likewise.
8831         * except.c: Likewise.
8832         * explow.c: Likewise.
8833         * expmed.c: Likewise.
8834         * expr.c: Likewise.
8835         * flow.c: Likewise.
8836         * fold-const.c: Likewise.
8837         * function.c: Likewise.
8838
8839 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8840
8841         * global.c (retry_global_alloc): Avoid shadowing allocno.
8842
8843 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
8844
8845         * except.c (remove_fixup_regions): Fix typo.
8846
8847 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
8848
8849         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
8850         unsigned HOST_WIDE_INT to avoid warning.
8851         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
8852         * flow.c (set_block_for_new_insns): Likewise.
8853
8854 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
8855
8856         * sibcall.c (return_value_pseudo): New static variable.
8857         (skip_copy_to_return_value): Handle return_value_pseudo.
8858         (call_ends_block_p): Ensure that return_value_pseudo is set.
8859         (optimize_sibling_and_tail_recursive_call): Discover the
8860         load of pseudo return value in alternate exit block.
8861
8862 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
8863
8864         * calls.c (ECF_ALWAYS_RETURN): New constant.
8865         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
8866         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
8867         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
8868         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
8869         * rtl.c (reg_note_name): New name.
8870         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
8871
8872 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
8873
8874         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
8875
8876 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
8877
8878         * alias.c (get_alias_set): Return a previously calculated
8879         alias set for a VAR_DECL.
8880         * function.c (gen_mem_addressof): Calculate the alias set before
8881         touching the RTL.
8882
8883 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
8884
8885         * predict.def: Set hitrates according our experimental run.
8886
8887 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
8888
8889         * i386.h (HARD_REGNO_RENAME_OK): New macro.
8890
8891 2001-08-08  H.J. Lu <hjl@gnu.org>
8892
8893         * config/mips/mips.c (mips_unique_section): New. Copied from
8894         config/mips/elf.h.
8895
8896         * config/mips/mips-protos.h (mips_unique_section): New
8897         prototype.
8898
8899         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
8900
8901         * config/mips/little.h: New. Generic little endian mips
8902         targets. Only mips*-*-linux* is converted to use it so far.
8903
8904         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
8905         (WCHAR_TYPE): Defined
8906         (WCHAR_TYPE_SIZE): Likewise.
8907         (INIT_SUBTARGET_OPTABS): Likewise.
8908         (BSS_SECTION_ASM_OP): Likewise.
8909         (SBSS_SECTION_ASM_OP): Likewise.
8910         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
8911         (ASM_DECLARE_OBJECT_NAME): Likewise.
8912         (UNIQUE_SECTION): Likewise.
8913         (EXTRA_SECTIONS): Likewise.
8914         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
8915         (ASM_OUTPUT_DESTRUCTOR): Likewise.
8916         (ASM_OUTPUT_DEF): Likewise.
8917         (HANDLE_SYSV_PRAGMA): Removed.
8918         (NO_IMPLICIT_EXTERN_C): Likewise.
8919         (TARGET_MEM_FUNCTIONS): Likewise.
8920         (STARTFILE_SPEC): Likewise.
8921         (ENDFILE_SPEC): Likewise.
8922         (LIB_SPEC): Likewise.
8923         (INVOKE__main): Likewise.
8924         (CTOR_LIST_BEGIN): Likewise.
8925         (CTOR_LIST_END): Likewise.
8926         (DTOR_LIST_BEGIN): Likewise.
8927         (DTOR_LIST_END): Likewise.
8928         (SET_ASM_OP): Likewise.
8929         (ASM_OUTPUT_SOURCE_LINE): Likewise.
8930         (ASM_OUTPUT_DEF): Likewise.
8931         (ASM_OUTPUT_IDENT): Likewise.
8932
8933         * config/mips/mips.h (ASM_SPEC): Undefine before define.
8934         (CPLUSPLUS_CPP_SPEC): Likewise.
8935         (ASM_APP_ON) Redefine only if not defined.
8936         (ASM_APP_OFF): Likewise.
8937         (ASM_OUTPUT_SOURCE_LINE): Likewise.
8938         (ASM_OUTPUT_IDENT): Likewise.
8939
8940         * config.gcc: Update tm_file for Linux/mips.
8941
8942 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
8943
8944         * cselib.c (cselib_record_sets): If insn is predicated, turn
8945         sources into IF_THEN_ELSEs.
8946
8947         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
8948         Turn into define_insn_and_split.
8949
8950         * sched-deps.c: Include "cselib.h".
8951         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
8952         Use cselib to turn memory addresses into VALUEs.
8953         (sched_analyze): Call cselib_init/cselib_finish if necessary.
8954         * sched-int.h (struct sched_info): New member USE_CSELIB.
8955         * sched-ebb.c (ebb_sched_info): Initialize it.
8956         * sched-rgn.c (rgn_sched_info): Likewise.
8957         * Makefile.in (sched-deps.o): Update dependencies.
8958
8959         * cselib.h (cselib_subst_to_values): Declare.
8960         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
8961         that have no value and autoincs to be handled by generating a new
8962         dummy value.
8963
8964 2001-08-08  Graham Stott  <grahams@redhat.com>
8965
8966         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
8967         within fixed length SEQUENCE.
8968
8969 2001-08-08  Graham Stott  <grahams@redhat.com>
8970
8971         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
8972         (diagnostic_prefixing_rule): Likewise.
8973         (diagnostic_line_cutoff): Likewise.
8974         (diagnostic_kind_count): Likewise.
8975
8976 2001-08-08  Graham Stott  <grahams@redhat.com>
8977
8978         * alias.c (find_base_decl): Delete redundent assignment.
8979
8980 2001-08-08  Graham Stott  <grahams@redhat.com>
8981
8982         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
8983         (abs): Uppercase and paranthesize macro parameter.
8984         (MEM_DEPENDENCY): Add whitespace.
8985
8986 2001-08-08  Graham Stott  <grahams@redhat.com>
8987
8988         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
8989         failure check for CONST_INT
8990
8991 2001-08-08  Graham Stott  <grahams@redhat.com>
8992
8993         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
8994         (libcall_dead_p): Likewise.
8995
8996         (mark_used_regs): Constify fmt.
8997         (find_use_as_address): Likewise.
8998
8999 2001-08-08  Graham Stott  <grahams@redhat.com>
9000
9001         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
9002          parameter.
9003
9004 2001-08-08  Graham Stott  <grahams@redhat.com>
9005
9006         * combine.c (combine_simplify_rtx): Update comment and
9007         remove erroneous test.
9008
9009 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
9010
9011         * cppinit.c (cpp_finish): Pop the final buffer without comment.
9012         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
9013         take care to avoid multiple no-newline at EOF warnings in that
9014         case.
9015
9016 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
9017
9018         * calls.c (expand_call): Do not emit INSN_SETJMP note.
9019         (emit_library_call_value_1): Likewise.
9020         (emit_call_1): Emit REG_SETJMP note.
9021         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
9022         of INSN_SETJMP
9023         * cselib.c (cselib_process_insn): Likewise.
9024         * flow.c (propagate_block): Likewise.
9025         * loop.c (find_and_verify_loops): Likewise.
9026         * reload.c (find_equiv_regs): Likewise.
9027         * reload1.c (reload): Likewise.
9028         * resource.c (mark_referenced_resources,
9029         mark_set_resources): Likewise.
9030         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
9031         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
9032         * haifa-sched.c (unlink_other_notes): Likewise.
9033         (reemit_notes): Likewise.
9034         * sched-ebb.c (sched_ebb): Likewise.
9035         * sched-rgc.c (sched_region): Likewise.
9036         * rtl.c (note_insn_name): Likewise.
9037         (reg_note_name): Add REG_SETJMP
9038         * rtl.h (reg_note): Add REG_SETJMP.
9039         (insn_note): Remove NOTE_INSN_SETJMP.
9040
9041         * profile.c (branch_prob): Add fake edges for setjmp.
9042
9043 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
9044
9045         * config.gcc: Quote target_cpu_default2 correctly for
9046         powerpc*-*-* targets.
9047
9048 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
9049
9050         * cpplib.h, line-map.h: Update comments.
9051         * cppmain.c (printer_init): Move inline.
9052         (maybe_print_line, print_line): Take a map pointer.
9053         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
9054         (cb_file_change): Don't use prior value of print.map.
9055
9056 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
9057
9058         * doc/install.texi: Document fine-grained multilib configuration.
9059
9060 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
9061
9062         * rtlanal.c (find_first_parameter_load): Call note_stores
9063         only on the instructions.
9064
9065 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
9066
9067         * alias.c (nonlocal_mentioned_p):
9068         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
9069         * calls.c (emit_call_1): Likewise.
9070         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
9071         * cselib.c (cselib_process_insn): Likewise.
9072         * df.c (df_insns_modify): Likewise.
9073         * flow.c (need_fake_edge_p): Likewise.
9074         (propagate_one_insn): Likewise.
9075         * haifa-sched.c (reemit_notes): Likewise.
9076         * integrate.c (copy_insn_list): Likewise.
9077         * jump.c (delete_prior_computation): Likewise.
9078         * local-alloc.c (validate_equiv_mem): Likewise.
9079         * loop.c (scan_loop): Likewise.
9080         * predict.c (estimate_probability): Likewise.
9081         * reload.c (reload): Likewise.
9082         * sched-deps (sched_analyze): Likewise.
9083         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
9084         * gcse.c (compute_hash_table): Likewise.
9085         (mark_call): Likewise.
9086         (store_killed_in_insn): Likewise.
9087
9088 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
9089
9090         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
9091
9092 2001-08-06  Richard Henderson  <rth@redhat.com>
9093
9094         * varasm.c (assemble_gc_entry): Remove.
9095         * output.h: Likewise.
9096
9097 2001-08-06  Richard Henderson  <rth@redhat.com>
9098
9099         * varasm.c (assemble_constructor): Take a symbol_ref and a
9100         priority instead of a bare string.  Move priority handling
9101         here from cp/decl2.c.
9102         * output.h: Update decls.
9103
9104         * c-decl.c (c_expand_body): Update calls to assemble_constructor
9105         and assemble_destructor.
9106         * profile.c (output_func_start_profiler): Likewise.
9107         * objc/objc-act.c (finish_objc): Likewise.
9108         (build_module_descriptor): Return the symbol not the symbol name.
9109
9110 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
9111
9112         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
9113         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
9114         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
9115         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
9116         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
9117         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
9118
9119 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9120
9121         * cpperror.c (print_containing_files): Moved to line-map.c.
9122         (print_location): line-map.c handles re-listing or otherwise.
9123         * cpphash.h (struct lexer_state): Remove next_bol.
9124         (struct cpp_buffer): Remove include_stack_listed.
9125         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
9126         Remove faked buffer handling.
9127         (_cpp_do_file_change): Tweak.
9128         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
9129         * cppmain.c (struct printer): Remove filename.
9130         (print_line, cb_file_change): Update accordingly.
9131         * line-map.c: Include intl.h.
9132         (init_line_maps): Initialize last_listed.
9133         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
9134         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
9135         (print_containing_files): New.
9136         * line-map.h (struct line_maps): New member last_listed.
9137         (print_containing_files, INCLUDED_FROM): New.
9138         * Makefile.in: Update.
9139         * po/POTFILES.in: Add line-map.c.
9140
9141 2001-08-06  Richard Henderson  <rth@redhat.com>
9142
9143         * except.c (convert_from_eh_region_ranges_1): Never mark
9144         USE or CLOBBER insns as throwing.
9145
9146         * expr.c (store_constructor): Don't clobber memory targets.
9147
9148 2001-08-06  Andreas Jaeger  <aj@suse.de>
9149
9150         * profile.c (branch_prob): Remove unused variable insn.
9151
9152         * Makefile.in (local-alloc.o): Add dependency on except.h.
9153
9154         * local-alloc.c: Include except.h for can_throw_internal prototype.
9155
9156 2001-08-06  Richard Henderson  <rth@redhat.com>
9157
9158         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
9159         * function.c (expand_main_function): Implement it.
9160         * doc/tm.texi: Document it.
9161
9162 2001-08-06  Stan Shebs  <shebs@apple.com>
9163
9164         * doc/install.texi: Document powerpc-*-darwin* details.
9165
9166 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
9167
9168         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
9169         (ASM_CPU_SPEC): Move back to rs6000.h
9170         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
9171
9172         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
9173
9174         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
9175         readded.
9176
9177         * config/rs6000/linux64.h: Ditto.
9178
9179         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
9180         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
9181         nothing.
9182
9183         Remove accidently readded definitions of FUNCTION_PROLOGUE,
9184         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
9185
9186         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
9187         to rs6000.h
9188
9189 2001-08-05  Richard Henderson  <rth@redhat.com>
9190
9191         * local-alloc.c (update_equiv_regs): Do not move insns that
9192         can throw.
9193
9194 2001-08-05  Jan Hubicka  <jh@suse.cz>
9195
9196         * Makefile.in (reload1.o): Add dedendancy on except.h
9197         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
9198         prototypes.
9199         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
9200         indicating wehther edges has been cleaned up.
9201         * reload1.c: Inlucde except.h
9202         (fixup_abnormal_edges): Accept deleted insns.
9203         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
9204         after combine.
9205
9206 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9207
9208         * cpplib.c (do_line): Correct line number after pop_buffer.
9209
9210 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
9211
9212         PR preprocessor/3824
9213         * line-map.c: Update comments.
9214         * line-map.h: Update comments.
9215         * tradcif.y: Don't consider large numbers unsigned.
9216
9217 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
9218
9219         PR preprocessor/3081
9220         * c-lex.c (map): New.
9221         (cb_file_change): Update map and use it.
9222         (cb_def_pragma, cb_define, cb_undef): Use map and line.
9223         (c_lex): Update to use map.
9224         * cpperror.c (print_location): Move to using logical line numbers.
9225         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
9226         (cpp_make_system_header): Similarly.
9227         (_cpp_execute_include): Stop line numbering hacks.  Store the
9228         line we will return to.
9229         * cpphash.h (CPP_BUF_LINE): Remove.
9230         (struct cpp_buffer): Remove lineno and pseudo_newlines.
9231         Add map and return_to_line.
9232         (_cpp_do_file_change): Update.
9233         * cppinit.c (cpp_start_read): Update line kludge.
9234         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
9235         (trigraph_ok): Use logical line numbers for diagnostics.
9236         (skip_block_comment): Likewise.
9237         (skip_whitespace): Likewise.
9238         (skip_line_comment): Use pfile->line instead.
9239         (_cpp_lex_token): Update to use logical line numbering exclusively.
9240         Handle BOL locally.  Accept new lines in directives, but keep
9241         pfile->line decremented.  Diagnostics use logical lines.  Update
9242         directive handling.
9243         * cpplib.c (SEEN_EOL): New.
9244         (skip_rest_of_line, check_eol): Use it.
9245         (end_directive): Increase line number when accepting the newline
9246         at the end of a directive.
9247         (run_directive): Simplify.
9248         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
9249         (_cpp_do_file_change): Update to take buffer line number as an
9250         argument, and store the current map in the cpp_reader.  Remove
9251         line number kludges.
9252         (_cpp_do__Pragma): Restore output position after a _Pragma.
9253         (cpp_push_buffer): Don't set output line or lineno.
9254         (_cpp_pop_buffer): Transfer more info from a faked buffer.
9255         Remove line kludge.  Set output_line.
9256         * cppmacro.c (builtin_macro): Update handling of __LINE__.
9257         (parse_arg): Use logical lines.
9258         (save_lookahead_token): Save EOFs too now.
9259         * cppmain.c (struct printer): Fix comments.
9260         (printer_init): Simplify, let caller do errors.
9261         (scan_translation_unit, check_multiline_token, dump_macro): Update.
9262         (maybe_print_line): Simplify.
9263         (print_line): Don't print a linemarker if -P.
9264         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
9265         (cb_file_change): Simplify.
9266         * line-map.h (LAST_SOURCE_LINE): Fix.
9267         (CURRENT_LINE_MAP): New.
9268
9269 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
9270
9271         * doloop.c (doloop_modify_runtime): Properly compute number of
9272         iterations if loop was unrolled.
9273
9274         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
9275         if their CSELIB_VAL_PTRs are.
9276
9277         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
9278         (setup_spill_pointers): Initialize it.
9279         (spill_restore_mem): Set it.
9280         (do_spill, do_restore): Use it to add REG_INC note.
9281         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
9282
9283         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
9284         asms if other insns are available.
9285
9286         * config/ia64/ia64.c (condop_operator): New predicate.
9287         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
9288         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
9289         patterns.
9290
9291         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
9292         temporary register than directly using a MEM.
9293
9294 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
9295
9296         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
9297         parameter in last change.
9298
9299 2001-08-04  Zack Weinberg  <zackw@panix.com>
9300
9301         * sparc.md: Don't use #if inside C test expression.
9302
9303 2001-08-04  Richard Henderson  <rth@redhat.com>
9304
9305         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
9306
9307 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
9308
9309         * cpphash.h (struct cpp_reader): New member directive_line.
9310         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
9311         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
9312         do_pragma): Pass line to callbacks.
9313         (start_directive): Record line of directive.
9314         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
9315         cb_include): Similarly.
9316         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
9317         Similarly.
9318
9319 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
9320
9321         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
9322         comment.
9323
9324 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
9325
9326         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
9327
9328         * reload1.c (fixup_abnormal_edges): New static function.
9329         (reload): Use it.
9330
9331         * flow.c (need_fake_edge_p): New function.
9332         (flow_call_edges_add): Fix handling of noreturn and sibling calls;
9333         avoid call insn to be very last insn in the insn stream.
9334
9335         * profile.c (branch_prob): Call flow_call_edges_add instead of
9336         doing that by hand; cleanup cfg to re-merge basic blocks once
9337         we are done.
9338
9339 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9340
9341         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
9342         are also on line-map.h.
9343         * cppfiles.c (stack_include_file): Update.
9344         * cpphash.h (struct cpp_buffer): New member return_at_eof.
9345         (_cpp_pop_buffer): New.
9346         * cppinit.c (cpp_destroy, cpp_finish): Update.
9347         (do_includes): Mark each buffer to return at EOF.
9348         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
9349         return as requested.
9350         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
9351         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
9352         * cpplib.h (cpp_pop_buffer): Remove.
9353         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
9354         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
9355         buffers.
9356         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
9357         to pop buffers.
9358         (do_preprocessing): Update.
9359         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
9360         * c-parse.in (_yylex): Similarly.
9361         * scan-decls.c (scan_decls): Similarly.
9362         * line-map.h: Update comments.
9363
9364         * objc/Make-lang.in (objc-act.o): Update dependencies.
9365
9366 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9367
9368         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
9369         and soft register for operand 0.
9370         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
9371
9372 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9373
9374         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
9375         register for operand 0.
9376         ("bitcmpqi_z_used"): Allow memory for operand 0.
9377         (split "bitcmpqi"): New split to handle address reg as operand 1.
9378
9379 2001-08-04  Andreas Jaeger  <aj@suse.de>
9380
9381         * gcse.c: Revert Daniel's last patch.
9382
9383 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
9384
9385         * sparc-protos.h: Add prototypes for fp_zero_operand and
9386         reg_or_0_operand.
9387         * sh-protos.h: Add prototype for fpul_operand.
9388
9389 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
9390
9391         * doc/extend.texi (Other Builtins): Fix typo in last change.
9392
9393 2001-08-03  Richard Henderson  <rth@redhat.com>
9394
9395         * target.h (gcc_target): Add asm_out.named_section,
9396         section_type_flags, have_named_sections.
9397         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
9398         (TARGET_HAVE_NAMED_SECTIONS): New.
9399         (TARGET_SECTION_TYPE_FLAGS): New.
9400
9401         * Makefile.in (toplev.o): Depend on TARGET_H.
9402         (varasm.o, dbxout.o): Likewise.
9403         * c-common.c (decl_attributes): Check targetm.have_named_sections
9404         instead of ifdef ASM_OUTPUT_SECTION_NAME.
9405         * dbxout.c (dbxout_function_decl): Likewise.
9406         (dbxout_function_end): Likewise.
9407         * toplev.c (compile_file): Likewise.
9408         * varasm.c (exception_section): Likewise.
9409         * cp/decl2.c (finish_objects): Likewise.
9410
9411         * defaults.h (EH_FRAME_SECTION): Remove.
9412         (EH_FRAME_SECTION_ASM_OP): Remove.
9413         (EH_FRAME_SECTION_NAME): New.
9414         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
9415         (UNIQUE_SECTION_P): Remove.
9416         * dwarf2out.c (SECTION_FORMAT): Remove.
9417         (ASM_OUTPUT_SECTION): Remove.
9418         (output_call_frame_info): Use named_section_flags.
9419         (output_comp_unit, dwarf2out_start_source_file): Likewise.
9420         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
9421         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
9422         * varasm.c (in_eh_frame, eh_frame_section): Remove.
9423         (named_section_flags): New.
9424         (named_section): Use it and targetm.section_type_flags.
9425         (resolve_unique_section): New.
9426         (assemble_start_function): Use it.
9427         (asm_emit_uninitialised, assemble_variable): Likewise.
9428         (default_section_type_flags): New.
9429         (default_no_named_section, default_elf_asm_named_section): New.
9430         (default_coff_asm_named_section, default_pe_asm_named_section): New.
9431         * output.h: Update varasm.c decls.
9432         (SECTION_*): New flags.
9433
9434         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
9435         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
9436
9437         * config/elfos.h (UNIQUE_SECTION_P): Remove.
9438         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
9439         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
9440         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
9441         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
9442         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
9443         * config/mips/elf.h, config/mips/elf64.h: Likewise.
9444         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
9445         * config/pa/pa64-hpux.h,
9446
9447         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
9448         (TARGET_ASM_NAMED_SECTION): New.
9449         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
9450         * config/alpha/vms.h, config/arm/coff.h: Likewise.
9451         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
9452         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
9453         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
9454         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
9455         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
9456         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
9457         * config/i386/sco5.h, config/i386/win32.h: Likewise.
9458         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
9459         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
9460         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
9461         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
9462         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
9463         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
9464         * config/sparc/sysv4.h: Likewise.
9465
9466         * config/nextstep.h: Error until named sections implemented.
9467
9468         * config/a29k/a29k.c (a29k_asm_named_section): New.
9469         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
9470         (vms_section_type_flags, vms_asm_named_section): New.
9471         * config/arm/arm.c (arm_elf_asm_named_section): New.
9472         * config/avr/avr.c (asm_output_section_name): Remove.
9473         * config/avr/avr-protos.h: Update.
9474         * config/c4x/c4x.c (c4x_asm_named_section): New.
9475         * config/h8300/h8300.c (h8300_asm_named_section): New.
9476         * config/i386/i386.c (sco_asm_named_section): New.
9477         * config/i386/winnt.c (SECTION_PE_SHARED): New.
9478         (i386_pe_section_type_flags): New.
9479         (i386_pe_asm_named_section): New.
9480         * config/i386/i386-protos.h: Update.
9481         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
9482         * config/mcore/mcore.c (mcore_asm_named_section): New.
9483         * config/mips/mips.c (iris6_asm_named_section): New.
9484         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
9485         instead of UNIQUE_SECTION_P.
9486         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
9487         (xcoff_asm_named_section): New.
9488         * config/sh/sh.c (sh_asm_named_section): New.
9489         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
9490
9491         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
9492         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
9493         (EH_FRAME_SECTION_NAME): New.
9494         (EXCEPTION_SECTION): New.
9495         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
9496         (DEBUG_*_SECTION): Remove.
9497         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
9498         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
9499         (EH_FRAME_SECTION_ASM_OP): Remove.
9500
9501         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
9502         (ASM_OUTPUT_SECTION_NAME): Remove.
9503         (TARGET_ASM_NAMED_SECTION): New.
9504         (TARGET_HAVE_NAMED_SECTIONS): New.
9505         (TARGET_SECTION_TYPE_FLAGS): New.
9506         (EH_FRAME_SECTION_ASM_OP): Remove.
9507         (EH_FRAME_SECTION_NAME): New.
9508
9509 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
9510
9511         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
9512         for complex expressions when cfun == 0.
9513         * doc/extend.texi: Document that __builtin_constant_p can be
9514         used in data initializers as well as functions.
9515
9516 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
9517
9518         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
9519         variable I locally, instead of expecting a declaration in the
9520         calling context.
9521
9522 2001-08-03  Richard Henderson  <rth@redhat.com>
9523
9524         * except.c (collect_one_action_chain): Add an explicit cleanup
9525         action if regions surrounding a catch were encoded entirely
9526         within the call-site entry.
9527
9528 2001-08-03  Richard Henderson  <rth@redhat.com>
9529
9530         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
9531         don't take REGNO of a non-register.
9532
9533 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9534
9535         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
9536         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
9537         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
9538         (__gthread_mutex_init_function): New function for mutex initialization.
9539
9540 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
9541
9542         * Makefile.in: Revert screwed up commit.
9543
9544 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9545
9546         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
9547         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
9548         merged by linker script to get a final _exit().
9549         (__do_global_dtors): New for destructor handling in specific exit
9550         section.
9551         (__do_global_ctors): New for constructors in specific install section.
9552         (__map_data_section): Map data sections before running constructors.
9553         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
9554         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
9555         (DTORS_SECTION_ASM_OP): Likewise.
9556         (CTORS_SECTION_FUNCTION): Define to force a reference to
9557         __do_global_ctors.
9558         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
9559
9560 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
9561
9562         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
9563
9564         * Makefile.in: Add df.h to gcse.c dependencies.
9565
9566 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9567
9568         * varasm.c (output_constant_def_contents): Use for the length of a
9569         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
9570         depending on which is larger.
9571
9572 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
9573
9574         * gcse.c: Include df.h for use as a dataflow analyzer.
9575         Remove regvec.
9576         Declaration of reg_set_info: gone.
9577         New df_analyzer variable used by store motion.
9578         (reg_set_info): Deleted.
9579         (mark_mem_regs): New function, analyze regs used by a mem.
9580         (store_ops_ok): Use dataflow analyzer results to determine if
9581         necessary regs are changed in the block.
9582         (find_moveable_store): Remove check for symbol ref, we can handle
9583         much more complex expressions now.
9584         (compute_store_table): Remove most of the code, it's unnecessary
9585         now that the dataflow analyzer records the info for us.
9586         (store_killed_after): Add parameter to say whether to do the
9587         store_ops_okay test, used to speed up testing when we already know
9588         the answer, and just want to know if the store itself was killed.
9589         (build_store_vector): Largely rewritten to calculate the various
9590         vectors properly, and somewhat optimized.
9591         (store_motion): Init the df_analyzer, get REG_DEF chains.
9592         Also handle trapping expressions (since mems almost always trap)
9593         (simple_mem): Redefine what a simple mem is.
9594
9595 2001-08-03  DJ Delorie  <dj@redhat.com>
9596
9597         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
9598         set from a constant part of the condition.
9599
9600 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
9601
9602         * mkdeps.c (deps_add_default_target): Make local variable
9603         ``start'' a const char pointer.
9604         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
9605
9606 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9607
9608         * doc/install.texi (Configuration): Fix markup.
9609         (Specific, i?86-*-udk): Likewise.
9610         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
9611         --with-gnu-ld.
9612         Document --enable-threads and --enable-libgcj status.
9613         (Specific, mips-sgi-irix*): Canonicalize triples.
9614         (Specific, mips-sgi-irix5): Warn about problems with this config.
9615         Mention required GNU as patch.
9616         Native assembler problems are fixed.
9617         (Specific, mips-sgi-irix6): Update O32 ABI support status.
9618         Document --enable-threads and --enable-libgcj status.
9619
9620 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
9621
9622         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
9623         of mkinstalldirs.
9624
9625 2001-08-03  Richard Henderson  <rth@redhat.com>
9626
9627         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
9628         constant data.
9629
9630 2001-08-03  Richard Henderson  <rth@redhat.com>
9631
9632         * rtlanal.c (find_first_parameter_load): Stop if we
9633         reach a CODE_LABEL at BOUNDARY.
9634
9635 2001-08-03  Richard Henderson  <rth@redhat.com>
9636
9637         * config/alpha/alpha.md (force_movdi): New insn.
9638         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
9639         Tweek FRP marking of VMS prologue insns.
9640         * config/alpha/vms.h (EPILOGUE_USES): New.
9641
9642 2001-08-02  Richard Henderson  <rth@redhat.com>
9643
9644         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
9645
9646 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
9647
9648         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
9649         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
9650         config/convex/convex.h, config/d30v/d30v.c,
9651         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
9652         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
9653         config/mips/mips.h, config/mn10200/mn10200.h,
9654         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
9655         config/v850/v850.h, config/vax/openbsd.h,
9656         config/vax/openbsd1.h, config/vax/ultrix.h,
9657         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
9658         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
9659         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
9660         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
9661         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
9662         in comments and documentation.
9663
9664 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9665
9666         * line-map.c: New.
9667         * line-map.h: New.
9668         * Makefile.in (line-map.o): New.
9669         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
9670         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
9671         * cpperror.c (print_containing_files): Similarly.
9672         (print_location): Update.  Don't output a space before _Pragma.
9673         * cppfiles.c (stack_include_file): Set to line 1 immediately.
9674         (stack_include_filee, cpp_make_system_header): Update.
9675         (_cpp_execute_include): Get logical line number right for calling
9676         as-yet-unterminated #include.
9677         * cpphash.h (struct cpp_reader): Add line_maps.
9678         (_cpp_do_file_change): Update.
9679         * cppinit.c (cpp_create_reader): Initialize line maps.
9680         (cpp_destroy): Destroy line maps.
9681         (cpp_start_read): Get logical line number right.
9682         * cpplex.c (parse_string): Only warn once for multi-line strings.
9683         Use boolean variable for null warning.
9684         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
9685         already.
9686         (do_include_common): End the directive early.
9687         (do_line): Don't warn about out-of-range lines in preprocessed
9688         source.  Update.  Remove unused variables.
9689         (_cpp_do_file_change): Update for new line mapping.
9690         (pragma_cb): New typedef.
9691         (cpp_register_pragma): Stop looking ahead before calling the
9692         handler.  Clean up.
9693         (do_pragma_system_header): End directive early.
9694         (cpp_get_line_maps): New.
9695         (cpp_pop_buffer): Fudge logical line.  Update.
9696         * cpplib.h: Include line-map.h
9697         (enum cpp_fc_reason): Remove.
9698         (struct cpp_file_change): Update.
9699         (cpp_get_line_maps): New.
9700         * cppmain.c (struct_printer): New member map.
9701         (cb_file_change): Update for new mappings.
9702         * fix-header.c (cb_file_change): Similarly.
9703
9704 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
9705
9706         * Makefile.in (libgcc.mk): Define mkinstalldirs.
9707         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
9708
9709 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
9710
9711         * config/vax/vax.c: include expr.h.
9712
9713 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
9714
9715         * Makefile.in ($(srcdir)/configure): Only rebuild in
9716         maintainer mode.
9717         ($(srcdir)/config.in): Only define in maintainer mode.
9718         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
9719
9720 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
9721
9722         * doc/install.texi (Install GCC: Binaries): Update Bull info.
9723
9724 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9725
9726         * gcc.c (set_collect_gcc_options): New function, split out from
9727         main.
9728         Ignore elided switches.
9729         (do_spec_1): Invoke before executing command.
9730         (set_input): Export.
9731         Move declaration ...
9732         * gcc.h (set_input): ... here.
9733         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
9734         file.
9735
9736 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
9737
9738         Kill -fhonor-std.
9739         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
9740         interaction.
9741         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
9742
9743 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
9744
9745         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
9746         for the unnamed instructions it expands to.
9747
9748 2001-08-02  Richard Henderson  <rth@redhat.com>
9749
9750         * regclass.c (call_really_used_regs): Conditionally define.
9751         (init_reg_sets_1): Don't use it if not defined.
9752         (fix_register): Similarly, don't set it.
9753
9754 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9755
9756         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
9757         Correct comment that had been missed in the previous change.
9758
9759 2001-08-01  Stan Shebs  <shebs@apple.com>
9760
9761         * config/darwin.c (machopic_stub_name): Try matching by name.
9762         (update_stubs): New function.
9763         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
9764         unconditionally.
9765
9766 2001-08-01  Richard Henderson  <rth@redhat.com>
9767
9768         * except.c (output_function_exception_table): Use assemble_align.
9769         * varasm.c (assemble_eh_label): Remove.
9770         (assemble_eh_align, assemble_eh_integer): Remove.
9771
9772 2001-08-01  Robert Lipe  <robertl@caldera.com>
9773
9774         * dwarfout.c: Remove reference to README.DWARF.
9775
9776 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
9777
9778         * regclass.c (call_really_used_regs): New array for registers which
9779         are actually used by a call.
9780         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
9781         new array.
9782         (fix_register): Set call_really_used too.
9783         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
9784         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
9785
9786 2001-08-01  Richard Henderson  <rth@redhat.com>
9787
9788         * read-rtl.c (read_name): Consider \r whitespace.
9789
9790 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
9791
9792         * config.gcc: Recognize powerpc-*-netbsd*.
9793
9794         * doc/install.texi (Host/target specific installation notes for
9795         GCC): Mention powerpc-*-netbsd*.
9796
9797         * config/rs6000/netbsd.h: New file.
9798         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
9799         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
9800         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
9801         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
9802         (TARGET_VERSION): Redefine.
9803
9804         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
9805         mcall-netbsd as a match for mcall-sysv.
9806         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
9807         (ncrti.S, ncrtn.S): New targets.
9808         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
9809
9810         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
9811         "netbsd' as a V4 ABI.
9812         (ASM_SPEC): Check for -mcall-netbsd.
9813         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
9814         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
9815         (LIB_SPEC, ENDFILE_SPEC): Ditto.
9816         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
9817         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
9818         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
9819         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
9820
9821         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
9822         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
9823
9824 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
9825
9826         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
9827         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
9828         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
9829         including "unwind-pe.h".
9830
9831 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
9832
9833         * rs6000.md (define_splits): Kill unused constraints.
9834
9835 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
9836                               Jan Hubicka  <jh@suse.cz>
9837
9838         * function.c (thread_prologue_and_epilogue_insns): Kill code
9839         dealing with non-existent CFG.
9840
9841 2001-08-01  Kazu Hirata  <kazu@hxi.com>
9842
9843         * alias.c: Fix comment formatting.
9844         * bitmap.c: Likewise.
9845         * builtins.c: Likewise.
9846         * calls.c: Likewise.
9847         * c-common.c: Likewise.
9848         * c-decl.c: Likewise.
9849         * c-dump.c: Likewise.
9850         * c-lex.c: Likewise.
9851         * collect2.c: Likewise.
9852         * combine.c: Likewise.
9853         * conflict.c: Likewise.
9854         * cppfiles.c: Likewise.
9855         * cppinit.c: Likewise.
9856         * cpplex.c: Likewise.
9857         * cpplib.c: Likewise.
9858         * cppmacro.c: Likewise.
9859         * cppspec.c: Likewise.
9860         * c-pragma.c: Likewise.
9861         * crtstuff.c: Likewise.
9862         * cse.c: Likewise.
9863         * cselib.c: Likewise.
9864         * c-semantics.c: Likewise.
9865         * c-typeck.c: Likewise.
9866
9867 2001-08-01  H.J. Lu <hjl@gnu.org>
9868
9869         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
9870
9871 2001-08-01  H.J. Lu <hjl@gnu.org>
9872
9873         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
9874
9875 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
9876
9877         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
9878         contextualizing Objective-C class name lookup by the lexer.
9879         (typespec_reserved_nonattr): Disable ObjC class name lookup after
9880         seeing a TYPESPEC.
9881         (protocoldef): Add support for forward @protocol declarations.
9882         (yylexname): Suppress ObjC class name lookup in certain contexts;
9883         re-enable after lookup is complete.
9884         (_yylex): Re-enable ObjC class name lookup when certain
9885         punctuation marks are seen.
9886
9887         * objc/objc-act.c (check_protocol_recursively): New function used
9888         for finding circular dependencies in protocols.
9889         (objc_declare_protocols): New function for handling forward
9890         @protocol declarations.
9891         (receiver_is_class_object): Detect the case when 'self' is used
9892         inside of a class method.
9893         (build_message_expr): Issue a warning if class method is desired
9894         but instance method is found instead.
9895         (conforms_to_protocol): Streamline.
9896         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
9897         protocol Foo, even if 'Bar foo' does not.
9898         (check_protocols): Streamline.
9899         (start_protocol): Add checks for circular and duplicate protocol
9900         definitions.
9901         (encode_aggregate_within): For typedefs of structs, encode the
9902         underlying struct.
9903         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
9904         (objc_declare_protocols): New prototype.
9905
9906 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9907
9908         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
9909         * cpplex.c (handle_newline): Update prototype.  Maintain logical
9910         line number.
9911         (skip_escaped_newlines, skip_block_comment, parse_string):
9912         Update accordingly.
9913         (_cpp_lex_token): Update, and store token position within the token.
9914         * cpplib.h (struct cpp_token): Add line and column entries.
9915         * cppmacro.c (replace_args): Position stringified tokens correctly.
9916
9917 2001-08-01  Andreas Jaeger  <aj@suse.de>
9918
9919         * basic-block.h: Add prototype for last_loop_beg_note.
9920
9921 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
9922
9923         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
9924         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
9925         comment.
9926         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
9927         while handling WITH_CLEANUP_EXPR node. Use second operand calling
9928         expand_decl_cleanup.
9929         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
9930         the first RTX.
9931         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
9932         operand while calling simple_cst_equal.
9933         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
9934         operand is the cleanup expression, the third is the RTL_EXPR.
9935         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
9936
9937 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
9938
9939         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
9940
9941 2001-07-31  matthew green  <mrg@eterna.com.au>
9942
9943         * config.gcc (i386-*-netbsdelf): New description.
9944         * config/i386/netbsd-elf.h: New file.
9945
9946 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
9947
9948         * loop.c (check_dbra_loop): Use single_set to compute
9949         jump_label.
9950
9951 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
9952
9953         PowerPC reorg and support for powerpc64-*-linux*.
9954
9955         Also fixes emitting of constants on 32 bit and 64 bit
9956         platforms.
9957
9958         * config.gcc: powerpc64-*-linux* is a new target.
9959         Things that needed aix.h now also include xcoff.h
9960
9961         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
9962         xcoff.h.
9963         Move AIX specific stuff into aix.h.
9964         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
9965         with more than just XCOFF now.
9966         (SET_ASM_OP): Remove, now defined where needed.
9967         (FUNCTION_PROLOGUE): New macro definition.
9968         (FUNCTION_EPILOGUE): New macro definition.
9969         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
9970
9971         * config/rs6000/xcoff.h: New file.
9972
9973         * config/rs6000/linux64.h: New file.
9974
9975         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
9976
9977 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
9978
9979         * rs6000.c (print_operand_address): Handle ELF syntax.
9980         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
9981         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
9982         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
9983
9984 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
9985
9986         * rs6000.c (rs6000_override_options): Only disable
9987         flag_function_sections for XCOFF.
9988         (exact_log2_cint_operand): New predicate.
9989         (reg_or_{add,sub}_cint64_operand): New predicates.
9990         (add_operand): Compare CONST_INT with fewer function calls.
9991         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
9992         (print_operand, case 'p'): Ensure positive operand.
9993         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
9994         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
9995         (PREDICATE_CODES): Add new predicates.
9996         * rs6000.md (addsi3): Split 32-bit constants more correctly.
9997         (divsi3, modsi3): Ensure positive power-of-2.
9998         (adddi3): Use new predicate.  Split 32-bit constants more
9999         correctly.  Re-arrange splitter to handle any constant.
10000         (subdi3): Use new predicate.
10001         (divdi3, moddi3): Ensure positive power-of-2.
10002         (movdi): Use rs6000_emit_set_const.
10003         (load_toc_v4_pic_di): Delete.
10004
10005 2001-07-31  Graham Stott <grahams@redhat.com>
10006
10007         * function.c (pad_below): Revert 2001-07-26 patch.
10008
10009 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
10010
10011         * reg-stack (convert_regs_1): Fix best edge condition.
10012
10013 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
10014
10015         * jump.c (duplicate_loop_exit_test): Better test for jumps
10016         entering the loop; create loop pre_header.
10017
10018 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
10019
10020         * doc/install.texi: Add s390 and s390x as new targets.
10021         * doc/invoke.texi: Add documentation of S/390 and zSeries
10022         target options.
10023         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
10024
10025 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
10026
10027         * config/m68k/m68k.md: Replace all general_operand with
10028         nonimmediate_operand for all destinations.
10029         * config/m68k/m68k.c (not_sp_operand): Likewise.
10030
10031 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
10032
10033         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
10034
10035 2001-07-30  Richard Henderson  <rth@redhat.com>
10036
10037         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
10038         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
10039
10040 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
10041
10042         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
10043         Add missing doc strings
10044         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
10045         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
10046
10047 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
10048
10049         * i386.c (ix86_output_main_function_alignment_hack): New function.
10050         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
10051
10052         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
10053         edges by EDGE_DFS_BACK flag.
10054         (dump_edge_info): Add dfs_back flag.
10055         * basic-block.h (EDGE_DFS_BACK): New constant.
10056         (mark_dfs_back_edges): Declare.
10057         * alias.c (loop_p): Remove.
10058         (mark_constant_function): Use mark_dfs_back_edges.
10059
10060         * reg-stack.c (block_info_def): Add predecesors counter and stack_out.
10061         (reg_to_stack): Call mark_dfs_back_edges; count the predecesors.
10062         (compensate_edge): Break out from ...
10063         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
10064         (convert_regs_2): Set block_done once block is really done;
10065         Do updating of the predecesors counts.
10066
10067         * toplev.c (rest_of_compilation): Recompute block_for_insn
10068         before post-reload cfg_cleanup.
10069         * function.c (thread_prologue_epilogue_insns):
10070         Call set_block_for_new_insns when emitting prologue directly.
10071
10072 2001-07-30  Andreas Jaeger  <aj@suse.de>
10073
10074         * jump.c: Add prototype for mark_modified_reg.
10075
10076         * cse.c (set_live_p): Add unused attribute.
10077
10078         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
10079         overflow.
10080         (scan_for_source_files): Use long for count to avoid overflow.
10081         (output_data): Likewise.
10082         (output_data): Don't use string concatatenation to silence gcc
10083         -traditional.
10084
10085         * predict.c: Fix typos and grammar.
10086
10087         * gcse.c (insert_insn_end_bb): Remove unused variables.
10088
10089 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
10090
10091         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
10092         (attempt_auto_inc): LIkewise.
10093         (mark_used_reg): Likewise.
10094         (try_pre_increment_1): Likewise.
10095         * regclass.c (regclass): Likewise.
10096         * global.c (allocno_compare): Update comment; change scaling factor.
10097         * local-alloc.c (QTY_CMP_PRI): Likewise.
10098         * regs.h (REG_FREQ_FROM_BB): New.
10099         (REG_FREQ_MAX): Likewise.
10100
10101 2001-07-30  H.J. Lu <hjl@gnu.org>
10102
10103         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
10104         -D_GNU_SOURCE.
10105
10106 2001-07-30  H.J. Lu  (hjl@gnu.org)
10107
10108         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
10109         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
10110         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
10111
10112 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
10113
10114         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
10115         as -mthumb-interwork when -mcpu=arm7 is specified.
10116
10117 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
10118
10119         * predict.def (noreturn, loop branch, loop exit): Mark as first
10120         match heuristics.
10121
10122 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
10123
10124         * combine.c (try_combine): Avoid barrier after noop jumps.
10125
10126 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10127
10128         * cpphash.h (struct cpp_reader): Remove import_warning.
10129         * cpplib.c (skip_rest_of_line): Don't bother turning off
10130         macro expansion.
10131         (parse_include): Move include handling to...
10132         (do_include_common): ... here.  Move import warning from...
10133         (do_import): ... here.
10134         (do_pragma_poison): Don't do a callback for poison identifiers.
10135         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
10136         * cppmain.c (setup_callbacks): Similarly.
10137
10138 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
10139
10140         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
10141         handle multiple sets.
10142         * except.c (sjlj_mark_call_sites): .... here.
10143         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
10144
10145 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
10146
10147         Suggested by Richard Henderson and Richard Kenner:
10148         * combine.c (recog_for_combine): Use the fake recog
10149         only if instruction does not match.
10150         * rtl.h (NOOP_MOVE_INSN_CODE): New.
10151         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
10152
10153         * combine.c (try_combine): Discover noop jump as direct jump.
10154
10155 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
10156
10157         * df.c (df_rd_global_compute): Add successors to worklist, not
10158         current item.
10159         (df_ru_global_compute): Ditto.
10160
10161 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
10162
10163         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
10164         increment REG_N_SETS.
10165
10166 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
10167
10168         * sbitmap.h: New prototype for sbitmap_a_xor_b.
10169
10170         * sbitmap.c (sbitmap_a_xor_b): New function.
10171         ifdef the basic block stuff on IN_GCC.
10172
10173 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10174
10175         * cppexp.c (parse_defined): Always record the macro name.
10176         (lex): Don't worry about identifiers, or special-case
10177         CPP_NOT here.
10178         (_cpp_parse_expr): Figure out at the end of the routine
10179         whether we saw a valid !defined() expression.
10180         * cppfiles.c (stack_include_file): Update for mi_valid.
10181         (_cpp_pop_file_buffer): Similarly.
10182         * cpplex.c (_cpp_lex_token): Similarly.
10183         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
10184         mi_if_not_defined, mi_lexed): Remove.
10185         (mi_valid): New.
10186         * cpplib.c (do_if): Simplify.
10187         (do_endif, push_conditional, _cpp_handle_directive): Update
10188         for renaming of mi_state to mi_valid.
10189 doc:
10190         * cpp.texi: Add index entries for digraphs, and add comment
10191         that C++ refers to them as alternative tokens.
10192
10193 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
10194
10195         * basic-block.h (CLEANUP_PRE_LOOP): New.
10196         * except.c (finish_eh_generation): Update call of cleanup_cfg.
10197         * sibcall.c (optimize_sibling_calls): Likewise.
10198         * toplev.c (rest_of_compilation): Likewise.
10199         * flow.c (try_forward_edges): Take argument MODE;
10200         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
10201         (try_optimize_cfg): Update call of try_forward_edges.
10202
10203 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
10204                                 Jan Hubicka  <jh@suse.cz>
10205
10206         * (validate_replace_rtx_1): Fix simplification of MINUS.
10207
10208 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
10209
10210         PR preprocessor/3669
10211         * cppinit.c (init_dependency_output): Turn off dump requests
10212         if sending dependencies to stdout.
10213
10214 2001-07-28  Richard Henderson  <rth@redhat.com>
10215
10216         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
10217         not optimizing.
10218
10219 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
10220
10221         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
10222
10223 2001-07-28  Kazu Hirata  <kazu@hxi.com>
10224
10225         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
10226         is VAR_DECL first to prevent an ICE.
10227
10228 2001-07-28  Richard Henderson  <rth@redhat.com>
10229
10230         * varasm.c (immed_real_const_1): Don't elide special cases for
10231         nested functions.
10232         (clear_const_double_mem): Clear const_tiny_rtx too.
10233
10234 2001-07-28  Richard Henderson  <rth@redhat.com>
10235
10236         * dwarf2out.c (dw_val_class_offset): New.
10237         (struct dw_ranges_struct, dw_ranges_ref): New.
10238         (ranges_table, ranges_table_allocated): New.
10239         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
10240         (add_AT_offset, add_ranges, output_ranges): New.
10241         (print_die, output_die): Handle dw_val_class_offset.
10242         (attr_checksum, size_of_die, value_format): Likewise.
10243         (gen_lexical_block_die): Handle non-contiguous blocks.
10244         (gen_block_die): Likewise.
10245         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
10246         if needed.  Dump the ranges table.
10247         * final.c (final_start_function): Remove unnecessary notes and
10248         rebuild the block tree before numbering the blocks.
10249         * function.c (reorder_blocks_0): Walk the existing block tree
10250         to unmark all blocks.
10251         (reorder_blocks_1): Create block fragments when duplicate block
10252         notes are seen.
10253         (reorder_fix_fragments): New.
10254         (reorder_blocks): Call it.
10255         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
10256
10257 2001-07-28  Richard Henderson  <rth@redhat.com>
10258
10259         * emit-rtl.c (adjust_address): Make a copy of the memory address.
10260
10261 2001-07-28  Richard Henderson  <rth@redhat.com>
10262
10263         * flow.c (add_to_mem_set_list): New function.
10264         (init_propagate_block_info): Use it.
10265         (mark_set_1): Likewise.
10266         (insn_dead_p): Canonicalize memory address for dead store
10267         comparison.  Allow wider mode stores to kill narrower mode stores.
10268         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
10269         (invalidate_mems_from_set): Don't handle MEMs.
10270
10271 2001-07-28  Kazu Hirata  <kazu@hxi.com>
10272
10273         * config/h8300/h8300.h: Fix formatting.
10274
10275 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
10276
10277         * basic-block.h (EDGE_FREQUENCY): New macro.
10278         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
10279         for new BB/edges.
10280         * flow.c (find_sub_basic_blocks): Likewise.
10281         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
10282         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
10283
10284         * predict.c (DEF_PREDICTOR): New argument FLAGS.
10285         (HITRATE): New macro.
10286         (PRED_FLAG_FIRST_MATCH): New constant.
10287         (predictor_info): New field flgags.
10288         (combine_predictions_for_insn): Use DS theory to combine
10289         probabilities; set the edge probabilities when finished.
10290         (estimate_probability): Avoid duplicated matches
10291         of LOOP_BRANCH heuristics for nested loops; update comment.
10292         * predict.def: Add flags for each prediction, set probabilities
10293         according to B&L paper.
10294         * predict.h (DEF_PREDICTOR): New argument FLAGS.
10295
10296         * profile.c (compute_branch_probabilities):  Cleanup way the edge
10297         probabilities are computed and REG_BR_PROB notes are dropped; if
10298         values does not match, emit error.
10299         (init_branch_prob): Do error instead of warning when profile driven
10300         feedback is missing or corrupt.
10301
10302 2001-07-27  DJ Delorie  <dj@redhat.com>
10303
10304         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
10305         against a constant, try to adjust the compare to have the desired
10306         constant in it so that min/max optimizations happen more often.
10307
10308 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
10309
10310         * flow.c (last_loop_beg_note): New function.
10311         (redirect_edge_and_branch): Use it.
10312         (split_edge): Likewise.
10313
10314         * alias.c (loop_p): Avoid uninitialized memory access.
10315
10316         * flow.c (try_forward_edges): Avoid accessing freed memory.
10317
10318         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
10319         variable access.
10320
10321 2001-07-26  Andrew Haley  <aph@redhat.com>
10322         Joern Rennecke <amylaar@redhat.com>
10323
10324         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
10325         (SUBTARGET_CPP_ENDIAN_SPEC): New.
10326         (SUBTARGET_CPP_SPEC): New.
10327         (CPP_SPEC): Remove.
10328         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
10329         (SUBTARGET_CPP_PTR_SPEC): New.
10330         (CPP_DEFAULT_CPU_SPEC): New.
10331         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
10332         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
10333         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
10334         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
10335         (SUBTARGET_CPP_SPEC): Define as an empty string.
10336
10337 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10338
10339         * doc/install.texi (Configuration): Properly link the host
10340         specific instructions also when generating HTML.
10341
10342 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
10343
10344         * flow.c (redirect_edge_and_branch_force): Test
10345         target->global_live_at_start.
10346
10347 2001-07-26  Richard Henderson  <rth@redhat.com>
10348
10349         * simplify-rtx.c (avoid_constant_pool_reference): Export.
10350         * rtl.h (avoid_constant_pool_reference): Declare it.
10351         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
10352         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
10353
10354 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
10355
10356         * rtl.h (cleanup_barriers): Declare.
10357         * jump.c (cleanup_barriers): New function.
10358         * toplev.c (rest_of_compilation): Call cleanup_barriers
10359         before loop optimizer and after bb_reorder.
10360
10361         * flow.c (back_edge_of_syntactic_loop_p): New.
10362         (split_edge): Use it.
10363
10364 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10365
10366         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
10367
10368 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
10369
10370         * cse.c (cse_process_notes): Replace any registers if the address
10371         remains valid.
10372
10373 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
10374
10375         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
10376         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
10377         (propagate_block): Update prototype.
10378         * flow.c (update_life_info): Simplify the CFG and
10379         recalculate the global regs which are alive when
10380         removing dead code during a global update.
10381         (propagate_block): Return non-zero if an INSN is
10382         deleted.
10383
10384 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10385
10386         * Makefile.in (LIBICONV): Define.
10387
10388 2001-07-26  Catherine Moore  <clm@redhat.com>
10389
10390         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
10391         of conditional to avoid tree checking errors.
10392
10393 2001-07-26  Kazu Hirata  <kazu@hxi.com>
10394
10395         * regmove.c (regmove_optimize): Don't replace a reg with
10396         another reg of a different mode.
10397
10398 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
10399
10400         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
10401         limit length of dependency flush list.
10402         * params.h (MAX_PENDING_LIST_LENGTH): Define.
10403         * sched-int.h  (struct deps): Add pending_flush_length field.
10404         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
10405         has 1 element in it.
10406         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
10407         (sched_analyze): After a jump, if the pending memory flush list is too
10408         large, flush the pending lists.
10409         (init_deps): Initialize pending_flush_length to 0.
10410         * doc/invoke.texi (max_pending_list_length): Document parameter.
10411
10412 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
10413
10414         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
10415         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
10416         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
10417
10418 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10419
10420         * cpphash.h (struct_lexer_state): Delete was_skipping.
10421         Move skipping here from struct cpp_reader.
10422         * cpplex.c (parse_identifier): Update.
10423         (_cpp_lex_token): Don't skip tokens in a directive.
10424         * cpplib.c (struct if_stack): Update.
10425         (start_directive, end_directive): Don't change skipping state.
10426         (_cpp_handle_directive): Update.
10427         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
10428         (do_else, do_endif): Update; only check for excess tokens if not
10429         in a skipped conditional block.
10430         (push_conditional): Update for new struct if_stack.
10431
10432 2001-07-26  Graham Stott  <grahams@redhat.com>
10433
10434         * function.c (locate_and_pad_parm): Also pad initial offset
10435         so that the total argument size also includes the padding.
10436
10437 2001-07-26  Graham Stott <grahams@redhat.com>
10438
10439         * gensupport.c (alter_output_for_insn): Correct enable checking failure
10440         change XSTR to XTMPL.
10441
10442         (process_one_cond_exec): Likewise
10443
10444 2001-07-25  Richard Henderson  <rth@redhat.com>
10445
10446         * varasm.c (assemble_variable): Create DECL_RTL before setting
10447         TREE_ASM_WRITTEN.
10448
10449 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
10450
10451         * predict.c (estimate_probability): Avoid duplicated predictions.
10452
10453         * loop.c (find_and_verify_loops): Grok multiple barriers.
10454
10455 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10456
10457         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
10458
10459         * dbxout.c: Consistently use putc instead of fputc.
10460         (print_wide_int): New function; call instead of direct fprintf.
10461         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
10462         (dbxout_type_fields, dbxout_type_method_1): Likewise.
10463         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
10464         (print_int_cst_octal): Likewise.
10465         (print_octal): Show we wrote characters.
10466         (dbxout_type): Set have_used_extensions in more places.
10467
10468 2001-07-25  Catherine Moore  <clm@redhat.com>
10469
10470         * config/v850/v850.c (v850_va_arg):  Use addr
10471         instead of valist to build incr.
10472
10473 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
10474
10475         * flow.c (delete_dead_jumptables): New function.
10476         (life_analyzis): Call it.
10477         * bb-reorder.c (skip_insns_after_block): Handle contradictory
10478         sequences.
10479
10480 2001-07-25  Richard Henderson  <rth@redhat.com>
10481
10482         * except.c (reachable_handlers): Handle a region being removed
10483         out from under a RESX.
10484
10485 2001-07-25  Richard Henderson  <rth@redhat.com>
10486
10487         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
10488         swap GE/GT if it is an fp comparison.
10489
10490 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
10491
10492         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
10493         operands.
10494
10495 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
10496
10497         * ssa.c (rename_insn_1): Do not wrap an assignment to a
10498         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
10499         glitch.
10500
10501         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
10502         throw an exception.
10503         (visit_expression): When attempting to simplify an expression,
10504         retrieve any modes for arguments before they are simplified
10505         to constants.
10506
10507 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
10508             Janis Johnson  <janis@us.ibm.com>
10509
10510         * stmt.c (expand_goto): A nonlocal goto can be a call too.
10511         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
10512         pointer parameters to match documented usage of nonlocal_goto.
10513         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
10514         parameters to their correct order.
10515         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
10516         parameters to their correct order.
10517
10518 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
10519
10520         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
10521
10522 2001-07-25  Jan Hubicka  <jh@suse.cz>
10523             Richard Henderson  <rth@redhat.com>
10524
10525         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
10526         the sequence.
10527         (make_edges): New argument update_p; populate the edge cache if set.
10528         (find_basic_blocks): Update make_edges invocation.
10529
10530 2001-07-24  Joel Sherrill <joel@OARcorp.com>
10531
10532         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
10533
10534 2001-07-24  Joel Sherrill <joel@OARcorp.com>
10535
10536         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
10537         -Acpu and -Amachine.h.
10538         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
10539         Corrected header to say ELF not a.out.
10540         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
10541         when given -msoft-float.
10542
10543 2001-07-24  Joel Sherrill <joel@OARcorp.com>
10544
10545         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
10546         extra multilib parts like arm-elf.
10547         (i960-*-coff*, i960-*-rtems): Should not use collect2.
10548         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
10549         crtfini.o as extra multilib parts.
10550
10551 2001-07-24  Joel Sherrill <joel@OARcorp.com>
10552
10553         * configure.in: Add rtems as a supported thread model.
10554         * gthr-rtems.h: Add missing entry point __gthread_active_p.
10555         * configure: Rebuilt.
10556
10557 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
10558
10559         * stor-layout.c (get_mode_alignment): make it work when
10560         BITS_PER_UNIT is not a power of two.
10561         * builtins.c (get_pointer_alignment): Likewise.
10562
10563 2001-07-24  Richard Henderson  <rth@redhat.com>
10564
10565         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
10566         the retrieved constant into the expected mode.
10567
10568 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
10569
10570         * flow.c (try_simplify_condjump): Avoid duplicated edges.
10571         (verify_flow_info): Check for duplicated edges; clarify
10572         error reporting.
10573
10574         * flow.c (block_label): Update basic_block_for_insn.
10575         (commit_edge_insertions): Call compute_bb_for_insn.
10576
10577         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
10578         returns too.
10579
10580         * flow.c (redirect_edge_and_branch,
10581         try_optimize_cfg): Use redirect_edge_succ_nodup
10582         (redirect_edge_succ_nodup): New.
10583         * basic_block.h (redirect_edge_succ_nodup): Declare.
10584
10585         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
10586         after gcse.
10587
10588 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
10589
10590         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
10591         (try_crossjump_to_edge): Update commetns.
10592         (try_crossjump_bb): Likewise.
10593
10594 2001-07-24  Richard Henderson  <rth@redhat.com>
10595
10596         * combine.c (distribute_notes): Move set of need_refresh
10597         for noop_move_p down to catch all cases.
10598
10599 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
10600
10601         * recog.c (split_all_insns_noflow): New.
10602         * rtl.h (split_all_insns_noflow): Declare.
10603         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
10604         * m68hc11.c (m68hc11_reorg): Likewise.
10605         * sh.c (machine_dependent_reorg): Likewise.
10606         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
10607         call.
10608
10609 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
10610
10611         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
10612         (ashlsi3_n splitter): Likewise.
10613         (lshrsi3_n splitter): Likewise.
10614
10615         (GOTaddr2picreg): Make const SImode.
10616         (sym_label2reg): Likewise.
10617         (symGOT2reg): Likewise.
10618         (symGOTOFF2reg) Likewise.
10619
10620         (casesi_worker_0): Make unspec SImode.
10621
10622 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
10623
10624         * config/sh/sh.c (barrier_align): Check that an operand really is
10625         an insn before extracting its INSN_CODE.
10626
10627 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
10628
10629         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
10630         dangling else.
10631
10632         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
10633         for SImode to prevent overflow.
10634
10635 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10636
10637         * config/mips/irix6-libc-compat.c: New file.
10638         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
10639         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
10640         passing workaround.
10641
10642 2001-07-24  lars brinkhoff  <lars@nocrew.org>
10643
10644         * rtl.texi (REG_POINTER): Document.
10645         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
10646         QFmode, HFmode, TQFmode, QCmode, and HCmode.
10647
10648 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
10649
10650         * flow.c (delete_noop_moves): Do not confuse libcall regions.
10651
10652 2001-07-23  Richard Henderson  <rth@redhat.com>
10653
10654         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
10655
10656 2001-07-23  Kazu Hirata  <kazu@hxi.com>
10657
10658         * config/h8300/h8300-protos.h: Add a prototype for
10659         general_operand_dst_push.
10660         * config/h8300/h8300.c (general_operand_dst_push): New.
10661         * config/h8300/h8300.h (OK_FOR_T): New.
10662         (EXTRA_CONSTRAINT): Use it.
10663         * config/h8300/h8300.md (movqi_push): Remove and integrate into
10664         the existing movqi pattern.
10665         (movhi_push): Likewise.
10666
10667         * reload.c: Fix comment typos.
10668
10669 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
10670
10671         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
10672
10673 2001-07-23  H.J. Lu  (hjl@gnu.org)
10674
10675         * doc/extend.texi: Update __builtin_return_address and
10676         __builtin_frame_address.
10677
10678 2001-07-23  Richard Henderson  <rth@redhat.com>
10679
10680         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
10681         before CSE.
10682         * config/i386/i386.md: New setcc+movzbl peephole2.
10683
10684 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10685
10686         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
10687         * objc/objc-act.c: Include debug.h.
10688         (synth_module_prologue): Save and restore debug hooks too.
10689
10690 2001-07-23  lars brinkhoff  <lars@nocrew.org>
10691
10692         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
10693         and C4X_FLOAT_FORMAT.
10694         (BOOL_TYPE_SIZE): Document.
10695
10696 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
10697
10698         * unroll.c (loop_iterations): Fix miscalculation of initial
10699         giv offset.
10700
10701 2001-07-13  Andrew Haley  <aph@redhat.com>
10702
10703         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
10704         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
10705         * config/sh/sh.c (sh_can_redirect_branch): New function.
10706         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
10707         * reorg.c (steal_delay_list_from_target): Use
10708         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
10709
10710 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
10711
10712         * flow.c (try_simplify_condjump): Unlink insn chain on
10713         fallthru edge; use can_fallthru.
10714
10715 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
10716
10717         * basic-block.h (find_sub_basic_block): Declare.
10718         * flow.c (make_edges): New arguments MIN and MAX;
10719         (find_sub_basic_blocks): Revamp to use make_edges
10720         and purge_dead_edges.
10721         (find_basic_blocks): Update call of find_sub_basic_block.
10722
10723         * recog.c (split_all_insns): Always expect CFG to be consistent;
10724         call find_sub_basic_blocks in case something has changed.
10725         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
10726         has been built.
10727
10728         * basic-block.h (delete_noop_moves): Declare.
10729         * combine.c (combine_instructions): Call it.
10730         (recog_for_combine): Tolerate noop moves
10731         (distribute_notes): Force refresh when register dies at noop move.
10732         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
10733         too.
10734         (life_analysis): Update delete_noop_moves call.
10735         (set_noop_p): Move too ...
10736         * rtlanal.c (noop_move_p): ... here.
10737         * rtl.h (noop_move_p): Declare.
10738
10739         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
10740         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
10741         after combine.
10742         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
10743         (cprop_jump): Likewise; call purge_dead_edges if substitution suceeded.
10744
10745 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
10746
10747         * reload.c (push_reload): Fix typo in comment.
10748         (find_reloads_address): Ditto.
10749         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
10750
10751 2001-07-22  Richard Henderson  <rth@redhat.com>
10752
10753         * flow.c: Grammar check and clarify a lot of comments.
10754         (try_simplify_condjump): Rename variables to be clearer.
10755         (try_forward_edges): Skip complex and fallthru edges.
10756         Rearrange tests to avoid duplicate checks.
10757         (flow_find_cross_jump): Likewise.
10758         (outgoing_edges_match): Allow match if neither branch has
10759         probability data.  Loosen probability match to 5%.
10760         (try_crossjump_to_edge): Hoist repeated indirection into
10761         local variables.
10762         (try_crossjump_bb): Don't check complex edges.  Eliminate
10763         redundant crossjump tests.
10764         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
10765         checks before more expensive checks.
10766
10767 2001-07-22  Richard Henderson  <rth@redhat.com>
10768
10769         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
10770         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
10771         arguments.
10772
10773 2001-07-22  Richard Henderson  <rth@redhat.com>
10774
10775         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
10776         (const_sint32_operand): Likewise.
10777         * m68k.md (anon mulsi pattern): Use const_int_operand not
10778         const_sint32_operand.
10779         (umulsi3_highpart): Zero extend a constant input.
10780         (smulsi3_highpart): Don't bother checking SImode constant.
10781         (const_umulsi3_highpart): Give op3 DImode.
10782         (const_smulsi3_highpart): Likewise.
10783
10784 2001-07-22  Richard Henderson  <rth@redhat.com>
10785
10786         * flow.c (split_block): Make sure bb_note is included in the
10787         new block when splitting before a label.
10788
10789 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
10790
10791         * basic-block.h (redirect_edge_and_branch_force,
10792         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
10793         * flow.c (redirect_edge_and_branch_force,
10794         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
10795         (redirect_edge_and_branch_force): Fix copying of lifeness information.
10796         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
10797         * ifcvt.c (dead_or_predictable): Take BB as an new destionation
10798         instead of label; update CFG after transformation.
10799         (find_if_case_1): Update call, use redirect_edge_and_branch_force
10800         for finishing the transformation; handle even case where ELSE
10801         does not follow THEN.
10802         (find_if_case_2): Update call of dead_or_predictable; simplify
10803         CFG update.
10804
10805         * emit-rtl.c (split_branch_probability): New global variable.
10806         (try_split): Take care to set split_branch_probability and
10807         create REG_BR_PROB note for new jump insns.
10808         * md.texi (define_split): Document new feature.
10809
10810         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
10811
10812 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
10813
10814         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
10815         (asm_out_file): Remove redundant declaration.
10816         (assemble_asm): Remove old #if 0 block.
10817         (assemble_variable): Remove end of function; debug output is
10818         now handled with global_decl.  Remove old #if 0 block.  Update.
10819         Remove saved_in_section and associated no-op code.
10820         * Makefile.in (varasm.o): Correct dependencies.
10821
10822 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
10823
10824         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
10825         the definition in defaults.h.
10826
10827 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
10828
10829         * jump.c: Update comments.
10830         (delete_barrier_successors, delete_unreferenced_labels,
10831         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
10832         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
10833         jump_optimize, jump_optimize_minimal): Kill.
10834         (rebuild_jump_labels): Move code from jump_optimize_1.
10835         (purge_line_number_notes): Likewise.
10836         (copy_loop_headers): Likewise.
10837         * reg-stack.c: Update comment.
10838         * stmt.c: Likewise.
10839         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
10840         JUMP_AFTER_REGSCAN): Kill.
10841         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
10842         purge_line_number_notes and copy_loop_headers.
10843
10844 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
10845            Richard Henderson  <rth@redhat.com>
10846
10847         * dbxout.c (dbxout_global_decl): New.
10848         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
10849         * sdbout.c (sdbout_finish): New.
10850         (sdbout_debug_hooks): Use it, add comments.
10851         (sdbout_global_decl): Defer initialised public vars to
10852         sdbout_finish.
10853         * varasm.c (assemble_variable): Don't output debug information
10854         for file-scope variables.
10855
10856 2001-07-22  Richard Henderson  <rth@redhat.com>
10857
10858         * config/alpha/alpha.c (get_trap_mode_suffix): New.
10859         (get_round_mode_suffix): New.
10860         (print_operand): Use them for [/].  Remove support for [&'`()+].
10861         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
10862         * config/alpha/alpha.md (attr round_suffix): New.
10863         (attr trap_suffix): New.
10864         (all insns): Set them appropriately.  Use %/ instead of the
10865         myriad punctuators.
10866
10867 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10868
10869         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
10870
10871 2001-07-22  Richard Henderson  <rth@redhat.com>
10872
10873         * regrename.c (regrename_optimize): Compute nregs for each
10874         potential target register.
10875
10876 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
10877            Richard Henderson  <rth@redhat.com>
10878
10879         * dbxout.c (dbxout_global_decl): New.
10880         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
10881         * sdbout.c (sdbout_finish): New.
10882         (sdbout_debug_hooks): Use it, add comments.
10883         (sdbout_global_decl): Defer initialised public vars to
10884         sdbout_finish.
10885         * varasm.c (assemble_variable): Don't output debug information
10886         for file-scope variables.
10887
10888 2001-07-21  H.J. Lu  (hjl@gnu.org)
10889
10890         * config/mips/mips.c (mips_cpu): Moved into ...
10891         (override_options): Here.
10892
10893         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
10894         mips_tune.
10895         (mips_cpu): Removed.
10896
10897 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10898
10899         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
10900         ("iorqi3"): Likewise.
10901         ("xorqi3"): Likewise.
10902         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
10903         ("*subhi3_sp): Likewise.
10904         ("*subhi3"): Likewise.
10905         ("extendhisi2"): Accept D, X and Y as source operand to avoid
10906         reload problems.
10907
10908 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
10909
10910         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
10911         * config/freebsd.h: Likewise.
10912         * config/linux.h: Likewise.
10913         * config/openbsd.h: Likewise.
10914         * config/alpha/linux-elf.h: Likewise.
10915         * config/arm/linux-elf.h: Likewise.
10916         * config/d30v/d30v.h: Likewise.
10917         * config/fr30/fr30.h: Likewise.
10918         * config/ia64/aix.h: Likewise.
10919         * config/ia64/ia64.h: Likewise.
10920         * config/mips/linux.h: Likewise.
10921         * config/pj/pj.h: Likewise.
10922         * config/rs6000/linux.h: Likewise.
10923         * config/sparc/linux.h: Likewise.
10924         * config/sparc/linux64.h: Likewise.
10925
10926 2001-07-20  Bruce Korb  <bkorb@gnu.org>
10927
10928         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
10929         because getc() and char* may disagree on signedness.
10930
10931 2001-07-20  Richard Henderson  <rth@redhat.com>
10932
10933         * doc/rtl.texi (REG_DEAD): Update for current semantics.
10934
10935         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
10936         insns to delete in the presence of cc0 in a jump insn.
10937
10938 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
10939                                 Jan Hubicka  <jh@suse.cz>
10940
10941         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
10942         of doing the change by hand.
10943
10944 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
10945
10946         * rtlanal.c (set_noop_p): Return true for noop jumps.
10947
10948         * expr.c (emit_single_push_insn): Add call to push expander.
10949         * expr.h (optab_index): Add OTI_push
10950         (push_optab): New constant.
10951         * genopinit.c (optabs): Add push_optab.
10952         * optabs.c (init_optab): Init push optab.
10953         * md.texi (push??1): Document
10954
10955 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10956
10957         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
10958         expand to emit the pattern; put a REG_INC note for push/pop
10959         instructions.
10960         ("movdf", "movdf_internal"): Likewise.
10961         ("movsi", "movsi_internal"): Likewise.
10962         ("movsf", "movsf_internal"): Likewise.
10963         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
10964
10965 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10966
10967         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
10968         gen_highpart.
10969
10970 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
10971
10972         * params.def: Change default max inline insns to 100.
10973
10974 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
10975
10976         * combine.c (combine_simplify_rtx): Generate a new shift operation
10977         when simplifying the first operand of a (neg (ashift)) expression.
10978
10979 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10980
10981         * regclass.c (N_REG_INTS): Use only 32 bits per element.
10982
10983 2001-07-20  Kelley Cook  <kelley.cook@home.com>
10984
10985         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
10986         information.   Move rest into ...
10987         (*-*-solaris): ... here.  Eliminate redundant information and
10988         reword necessary packages section.  Delete 4.x assembler bug info.
10989         (sparc-sun-*): Merge into ...
10990         (sparc-sun-sunos*): here.
10991
10992 2001-07-20  Catherine Moore  <clm@redhat.com>
10993
10994         * config/v850/v850.md (casesi): Generate LABEL_REF
10995         with Pmode.
10996
10997 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
10998
10999         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
11000         * i386.c (ix86_zero_extend_to_Pmode): Make global.
11001         * i386.md (strclrsi expander): Use it.
11002
11003 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
11004
11005         * integrate.c (copy_insn_list): handle
11006         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
11007         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
11008         identically as to CODE_LABEL.
11009
11010         * fold-const (fold): Convert A/B/C to A/(B*C) and
11011         A/(B/C) to (A/B)*C
11012
11013         * except.c (connect_post_landing_pads): Delete the RESX insns.
11014
11015 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
11016
11017         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
11018
11019         * config/mips/mips.md (nmadd/nmsub): Use macro.
11020
11021 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
11022
11023         * cppinit.c (remove_dup_dir): Make static.
11024         (remove_dup_dirs): Make static. Only warn about preempting a
11025         system directory with a non-system directory.
11026
11027 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
11028
11029         * ifcvt.c (noce_try_store_flag_constants): Correct order
11030         of parameters to trunc_int_for_mode.
11031
11032 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
11033
11034         * reorg.c (fill_simple_delay_slots): If an instruction might throw
11035         an exception that will be caught within this function, do not fill
11036         its delay slot with any subsequent instruction.
11037
11038 2001-07-19  Steve Ellcey <sje@cup.hp.com>
11039
11040         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
11041         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
11042         pointer extension instruction.
11043         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
11044         * simplify-rtx.c (simplify_unary_operation) Likewise.
11045         * explow.c (convert_memory_address) Check value of
11046         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
11047         less than zero.
11048         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
11049         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
11050         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
11051         Add Multilib Support.
11052         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
11053         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
11054         Add Multilib Support.
11055         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
11056         support.
11057         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
11058         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
11059         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
11060
11061 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
11062
11063         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
11064         old and new operands in `<', `3' and `b'.
11065
11066 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
11067
11068         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
11069         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
11070         (toplev.o): Don't depend on xcoffout.h.
11071         * c-decl.c: Include debug.h
11072         (duplicate_decls): Use debug hook.
11073         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
11074         (dbx_debug_hooks, xcoff_debug_hooks): Update.
11075         (dbxout_types): Remove.
11076         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
11077         * debug.c (do_nothing_debug_hooks): Update.
11078         (debug_true_tree, debug_nothing_rtx): New.
11079         * debug.h (struct rtx_def): New.
11080         (struct gcc_debug_hooks): New hooks ignore_block,
11081         outlining_inline_function and label.
11082         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
11083         dwarf2out_frame_finish): New.
11084         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
11085         Make static, update prototype.
11086         (dwarf2_debug_hooks): Update.
11087         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
11088         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
11089         * dwarfout.c (dwarf_debug_hooks): Update.
11090         * emit-rtl.c: Include debug.h.
11091         (remove_unnecessary_notes): Use debug hook.
11092         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
11093         (final_scan_insn): Use debug hook.
11094         * integrate.c (output_inline_function): Use debug hook.
11095         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
11096         (sdb_debug_hooks): Update.
11097         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
11098         * toplev.c: Don't include xcoffout.h.
11099         (note_outlining_of_inline_function, debug_ignore_block): Remove.
11100         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
11101         Remove.
11102         * tree.h (dwarf2out_do_frame): Remove.
11103
11104 2001-07-19  Catherine Moore  <clm@cygnus.com>
11105
11106         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
11107
11108 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
11109
11110         * reload1.c (eliminate_regs_in_insn): When updating a set
11111         to the frame pointer to the hardware frame pointer, perform
11112         the update always not just when REPLACE is set.
11113
11114         * reload1.c (choose_reload_regs): Don't inherit a reload
11115         that crosses multiple registers if registers past the first
11116         don't fit in the desired class.
11117
11118         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
11119         when negating constants.
11120
11121 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
11122
11123         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
11124         * doc/tree.texi: Ditto.
11125
11126 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
11127             Jakub Jelinek  <jakub@redhat.com>
11128
11129         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
11130         (extract_cie_info): Handle "eh" augmentation properly,
11131         remember eh_ptr.
11132         (struct frame_state, __frame_state_for): New.
11133
11134 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11135
11136         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
11137         HANDLE_SYSV_PRAGMA): Define.
11138         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
11139         previous args.
11140         (copy_object): Caller changed.
11141
11142 2001-07-19  Andreas Schwab  <schwab@suse.de>
11143
11144         * configure.in (assembler dwarf2 debug_line support): Define nop
11145         insn for m68k.
11146         * configure: Regenerated.
11147
11148 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
11149
11150         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
11151         dwarfout.h.
11152         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
11153         to conditionally compiled block.
11154         (dbx_debug_hooks, xcoff_debug_hooks): Update.
11155         * dbxout.h (dbxout_function): Remove.
11156         * debug.c (do_nothing_debug_hooks): Update.
11157         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
11158         global_decl, deferred_inline_function.
11159         * dwarf2out.c (dwarf2_debug_hooks): Update.
11160         (dwarf2out_global_decl): New.
11161         * dwarfout.c: Don't include dwarfout.h.
11162         (dwarfout_global_decl, dwarfout_function_decl,
11163         dwarfout_deferred_inline_function): New.
11164         (dwarf_debug_hooks): Update.
11165         * dwarfout.h: Remove.
11166         * final.c: Don't include dwarfout.h.
11167         * sdbout.c (sdbout_global_decl): New.
11168         (sdbout_debug_hooks): Update.
11169         * toplev.c: Don't include dwarfout.h.
11170         (check_global_declarations, rest_of_compilation): Use new debug hooks.
11171         (note_deferral_of_defined_inline_function): Remove.
11172         * toplev.h (note_deferral_of_defined_inline_function): Remove.
11173         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
11174         * ch/lex.c: Don't include dwarfout.h.
11175         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
11176         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
11177         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
11178         * cp/optimize.c: Include debug.h.
11179         (maybe_clone_body): Use debug hook.
11180         * cp/semantics.c: Include debug.h.
11181         (expand_body): Use debug hook.
11182         * po/POTFILES.in: Remove dwarfout.h.
11183
11184 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
11185
11186         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
11187         * c-parse.in (yyerror, _yylex): Similarly.
11188         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
11189         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
11190         Update comments.
11191         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
11192         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
11193
11194 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
11195
11196         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
11197         in-class declaration at -g1.  Fixes c++/2814.
11198
11199 2001-07-18  Richard Henderson  <rth@redhat.com>
11200
11201         * doc/md.texi (reload_in/out): Document restrictions in predicates
11202         and constraints for these patterns.  Document empty string matching
11203         ALL_REGS.
11204
11205 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11206
11207         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
11208
11209 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
11210
11211         * cse.c: Undo my previous patch.
11212
11213 2001-07-18  Tom Tromey  <tromey@redhat.com>
11214
11215         For PR java/2812:
11216         * configure: Rebuilt.
11217         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
11218         instead.
11219         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
11220
11221 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
11222                                 Jan Hubicka  <jh@suse.cz>
11223
11224         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
11225         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
11226         * jump.c (mark_jump_label): Do not forward branches.
11227
11228 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
11229
11230         * cse.c (delete_trivially_dead_insns): Delete the libcall block
11231         when return value is unused.
11232
11233 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
11234
11235         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
11236
11237 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
11238
11239         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
11240         on error.  We can't blindly return the result of
11241         pthread_mutex_trylock because it returns a positive number on
11242         error, while we must return -1 on error.
11243         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
11244         fixes.
11245         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
11246
11247 2001-07-18  Andreas Jaeger  <aj@suse.de>
11248
11249         * integrate.c (output_inline_function): Correct type of debug_hooks.
11250
11251 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
11252
11253         * combine.c (combine_simplify_rtx): DIV can be treated
11254         associatively for floats if unsafe math optimisations are enabled.
11255
11256 2001-07-17  Richard Henderson  <rth@redhat.com>
11257
11258         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
11259
11260 2001-07-17  Richard Henderson  <rth@redhat.com>
11261
11262         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
11263         don't force the function address into a register.
11264         (expand_call, emit_library_call_value_1): Update callers.
11265         * builtins.c (expand_builtin_apply): Likewise.
11266         * expr.h (prepare_call_address): Update decl.
11267
11268 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
11269
11270         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
11271         config directory.
11272         * config/i386/chorus.h: Move up.
11273         * config/sparc/chorus.h: Likewise.
11274         * config/rs6000/chorus.h: Likewise.
11275         * config/chorus.h: Moved here.
11276
11277 2001-07-17  Andreas Schwab  <schwab@suse.de>
11278
11279         * configure.in  (assembler eh_frame optimization): Handle big
11280         endian.
11281         * configure: Regenerated.
11282
11283 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
11284
11285         * expr.c (epxand_expr): Convert divisions into multiplications by
11286         reciprocals if -ffast-math.
11287
11288 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
11289
11290         * dbxout.c (dbxout_really_begin_function): Rename to
11291         dbxout_begin_function.
11292         (dbx_debug_hooks, xcoff_debug_hooks): Update.
11293         (dbxout_begin_function): Remove.
11294         (dbxout_function): Update.
11295         (dbxout_source_line): Update prototype.
11296         * dbxout.h (dbxout_begin_function): Remove.
11297         * debug.c (do_nothing_debug_hooks): Update.
11298         (debug_nothing_tree): Update.
11299         (debug_nothing_charstar_rtx): Remove.
11300         * debug.h (union tree_node): Declare.
11301         (struct rtx_def): Remove.
11302         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
11303         begin_function.  Change source_line prototype.
11304         (debug_nothing_tree): New.
11305         (debug_nothing_charstar_rtx): Delete.
11306         (dwarf2out_begin_prologue): Moved from ...
11307         * tree.h: ... here.
11308         * dwarf2out.c (dwarf2_debug_hooks): Update.
11309         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
11310         debug info, call dwarf2out_source_line.
11311         (dwarf2out_souce_line): Update prototype.
11312         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
11313         Change prototype, make static.
11314         (dwarfout_source_line): Update prototype.
11315         (dwarf_debug_hooks): Update.
11316         * dwarfout.h (dwarfout_begin_function): Remove.
11317         * final.c (final_start_function, final_scan_insn): Use appropriate
11318         debug hooks, update to use notice_source_line.
11319         (output_source_line): Rename notice_source_line.  Don't call the
11320         source_line debug hook.
11321         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
11322         make static, update prototype.
11323         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
11324         prototype.
11325         (sdbout_end_prologue): New.
11326         (sdbout_source_line): Update prototype.
11327         (sdbout_debug_hooks): Update.
11328         (sdbout_symbol): Remove unused var.
11329         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
11330         Delete.
11331         * varasm.c: Include debug.h.
11332         (assemble_start_function): Use begin_function debug_hook.
11333         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
11334         update with prototype.
11335         (xcoffout_source_line): Update prototype.
11336         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
11337         update prototype.
11338         (xcoffout_source_line): Update prototype.
11339
11340 2001-07-17  Richard Henderson  <rth@redhat.com>
11341
11342         * c-typeck.c (build_binary_op): Do not shorten unsigned
11343         right shift after sign extension.
11344
11345 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
11346
11347         * combine.c (combine_simplify_rtx): Attempt to simplify
11348         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
11349
11350         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
11351         (simplify_binary_operation, simplify_unary_operation,
11352          simplify_relational_operation): Use it.
11353
11354         * combine.c (combine_simplify_rtx): Don't do associative law
11355         on divisions; allow associative law on floats.
11356
11357 2001-07-17  H.J. Lu <hjl@gnu.org>
11358             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11359
11360         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
11361         ASM_OUTPUT_WEAK_ALIAS are defined.
11362         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
11363         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
11364         Moved ...
11365         * config/mips/iris5.h: ... here.
11366         (HANDLE_SYSV_PRAGMA): Defined as 1.
11367         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
11368         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
11369         symbol.
11370
11371 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
11372
11373         * c-parse.in (all_prefix_attributes): New variable.
11374         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
11375         (maybe_resetattrs): New production.
11376         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
11377         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
11378         notype_initdcl, nested_function, notype_nested_function,
11379         component_decl, components, components_notype,
11380         component_declarator, component_notype_declarator,
11381         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
11382         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
11383         after a comma being applied to more than one declarator.
11384         * doc/extend.texi (Attribute Syntax): Update.  Remove
11385         documentation of bugs that are no longer present.
11386
11387 2001-07-13  Eric Christopher  <echristo@redhat.com>
11388
11389         * config/mips/mips.h: Change TUNE_MIPS* options to use
11390         mips_tune.
11391         (EXTRA_SPECS): Add cc1_cpu_spec.
11392         * config/mips/mips.md (muldf3): Fix typo.
11393
11394 2001-07-16  Richard Henderson  <rth@redhat.com>
11395
11396         * config/m68k/m68k.c: Include expr.h and reload.h.
11397         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
11398         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
11399
11400 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
11401             Richard Henderson  <rth@redhat.com>
11402
11403         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
11404         (insn_live_p): Fix fall off end of function.
11405         (dead_libcall_p): Remove COUNTS argument; update callers.
11406         (delete_trivially_dead_insns): Remove unused variables.
11407
11408 2001-07-17  Andreas Jaeger  <aj@suse.de>
11409
11410         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
11411         x86-64 pic support.
11412
11413         * lcm.c (optimize_mode_switching): Avoid warning for unused
11414         variable if !NORMAL_MODE.
11415
11416         * flow.c (try_crossjump_to_edge): Remove unused variable.
11417
11418 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11419
11420         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
11421         atexit declaration in stdlib.h.
11422
11423 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
11424
11425         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
11426
11427 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
11428
11429         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
11430         * except.c (finish_eh_generation): Update call of cleanup_cfg;
11431         do rebuild_jump_labels instead of jump_optimize
11432         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
11433         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
11434         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
11435
11436         * flow.c: Include timevar.h
11437         (find_basic_block): Push/pop timevar;
11438         (cleanup_cfg): Likewise.
11439         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
11440         * Makefile: Add dependencies on timevar.h
11441
11442         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
11443         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
11444
11445         * rtl.h (delete_trivially_dead_insns): Add new parameter.
11446         * toplev.c (rest_of_compilation): Update calls.
11447         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
11448         (delete_trivially_dead_insns): ... here; accept new argument
11449         preserve_basic_blocks; preserve basic blocks if set.
11450
11451         * reg-stack.c (stack_regs_mentioned): Return 0 if
11452         stack_regs_mentioned_data is not initialized.
11453         (reg_to_stack): Make stack_regs_mentioned survive after the
11454         reg-stack is completted; do not call cleanup_cfg.
11455         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
11456         make cleanup_cfg after bb-reorder to output to debug file.
11457
11458 2001-07-16  Richard Henderson  <rth@redhat.com>
11459
11460         * regclass.c (init_reg_sets): Use only 32 bits per initializer
11461         from int_reg_class_contents.
11462
11463 2001-07-16  Richard Henderson  <rth@redhat.com>
11464
11465         * hard-reg-set.h (regs_invalidated_by_call): Declare.
11466         * regclass.c (regs_invalidated_by_call): Move from cse.c.
11467         (init_reg_sets_1): Move initialization from cse_main.
11468         * cse.c (regs_invalidated_by_call): Move to regclass.c.
11469         (cse_main): Move its initialization also.
11470         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
11471         * flow.c (propagate_one_insn): Likewise.
11472         * gcse.c (compute_hash_table): Likewise.
11473         (compute_kill_rd, compute_store_table): Likewise.
11474         * sched-deps.c (sched_analyze_1): Likewise.
11475
11476 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
11477
11478         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
11479         gen_rtx_SET.
11480
11481 2001-07-16  Steve Ellcey <sje@cup.hp.com>
11482
11483         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
11484         in if statement so we don't access undefined memory.
11485
11486 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
11487
11488         * gcse.c: Update comment at top.
11489         Update comment on mem handling.
11490         mem_last_set, mem_first_set, mem_set_in_block: gone.
11491         Declaration of reg_set_info: gone.
11492         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
11493         pointless with load_killed_in_block_p (they are *more*
11494         conservative then it, not less, and less accurate).
11495         (oprs_not_set_p): Ditto.
11496         (alloc_gcse_mem): Don't allocate mem_set_in_block
11497         (free_gcse_mem): Don't free it, either.
11498         (record_last_mem_set_info): Update comment in front, remove
11499         mem_*set_* stuff. Note the reason we don't handle stores directly
11500         here.
11501         (compute_hash_table): Update comments to reflect reality. Remove
11502         mem_*set_* references.
11503         (reset_opr_set_tables): Remove mem_*set_* references.
11504         (mark_call): Ditto.
11505         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
11506         (mark_clobber): Ditto (on both parts, we double set here too).
11507         (expr_killed_p): Remove mem_set_in_block test.
11508         (compute_transp): Remove mem_set_in_block test.
11509
11510         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
11511         of edge, and removal of phi alternative to dump file.
11512         (ssa_ccp_substitute_constants): Add note about register now being
11513         constant, and which uses were replaced in what insns to dump file.
11514
11515 2001-07-16  Andreas Jaeger  <aj@suse.de>
11516
11517         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
11518         variables of type HOST_WIDEST_INT.
11519
11520         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
11521         (__bb_exit_func): Correct type of count_max to avoid overflow.
11522         (num_digits): Handle long long argument.
11523
11524         * combine.c (gen_lowpart_for_combine): Remove unused variable.
11525
11526 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11527
11528         * output.h (sdb_begin_function_line): Restore as an extern
11529         variable.
11530         * sdbout.c (sdb_begin_function_line): Make extern.
11531
11532 2001-07-15  Richard Henderson  <rth@redhat.com>
11533
11534         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
11535         * genrecog.c (maybe_both_true_mode): New.
11536         (maybe_both_true_2): Use it.
11537         (write_switch): Don't put Pmode in a switch.
11538         * rtl.c (mode arrays): Don't explicitly size them.
11539
11540 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
11541
11542         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
11543         handling; move unconditional splitting before mode switching.
11544
11545         * i386.md (type): Add fistp type.
11546         (i387, length_attr, scheduling definitions): Handle this type.
11547         (fix_trunc?f?i2): Revamp to use mode switching.
11548         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
11549         * i386.h (fp_cw_mode): New enum
11550         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
11551         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
11552
11553 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11554
11555         * Makefile.in (integrate.o): Add debug.h.
11556         * integrate.c (debug.h): Add.
11557         (output_inline_function): Save, reset, and restore debug_hooks.
11558
11559 2001-07-15  Richard Henderson  <rth@redhat.com>
11560
11561         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
11562         instead of COMPARE for the EQUIV expression.
11563
11564 2001-07-15  Richard Henderson  <rth@redhat.com>
11565
11566         * flow.c (redirect_edge_and_branch_force): Initialize
11567         global_live_at_start and global_live_at_end.
11568         (allocate_bb_life_data): Export.
11569         * basic-block.h (allocate_bb_life_data): Declare.
11570         * toplev.c (rest_of_compilation): Call it.
11571
11572 2001-07-15  Richard Henderson  <rth@redhat.com>
11573
11574         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
11575         (alpha_tablejump_best_label): New.
11576         * config/alpha/alpha-protos.h: Declare them.
11577         * config/alpha/alpha.md: Use braced strings for code blocks.
11578         (tablejump_osf): Break out add with r29.
11579         (tablejump_osf_internal): Remove.
11580         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
11581         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
11582
11583 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
11584
11585         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
11586         of the movable.
11587
11588         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
11589
11590         * i386-protos.h (ix86_split_fp_branch): Update prototype.
11591         (ix86_fp_jump_nontrivial_p): New.
11592         * i386.md (fp_jcc_?): Update call of split_fp_branch;
11593         use ix86_fp_jump_nontrivial_p.
11594         * i386.c (ix86_fp_jump_nontrivial_p): New.
11595         (ix86_split_fp_branch): Accept code instead of rtx.
11596         (ix86_expand_compare): Expand comparison early in case
11597         doing so is resonably cheap.
11598
11599 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
11600
11601         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
11602         not 'machine'.
11603         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
11604         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
11605
11606 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
11607
11608         * dbxout.c (dbxout_source_line): Make static, update prototype.
11609         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
11610         (dbxout_init, dbxout_finish, dbxout_source_line,
11611         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
11612         * dbxout.h (dbxout_source_line): Delete.
11613         * debug.c (debug_nothing_file, debug_nothing_file_int,
11614         debug_nothing_file_charstar_rtx): New.
11615         (do_nothing_debug_hooks): Update.
11616         (debug_nothing_void, debug_nothing_charstar_rtx,
11617         dwarf2out_end_epilogue): New.
11618         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
11619         * debug.h (struct rtx_def): Declare.
11620         (gcc_debug_hooks): New hooks source_line, end_epilogue
11621         and end_function.
11622         (debug_nothing_void, debug_nothing_charstar_rtx,
11623         dwarf2out_end_epilogue): New.
11624         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
11625         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
11626         (dwarf2_debug_hooks): Update.
11627         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
11628         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
11629         * dwarf2out.h (dwarf2out_source_line): Remove.
11630         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
11631         Make static, update prototype.
11632         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
11633         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
11634         (dwarf_debug_hooks): Update.
11635         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
11636         dwarfout_end_function): Remove.
11637         * final.c (profile_function): Use debug hooks for ending functions
11638         and epilogues.
11639         (output_source_line, final_end_function): Update prototype,
11640         use debug hooks.
11641         (final_start_function, final_scan_insn): Update.
11642         * output.h (sdb_begin_function_line): Remove.
11643         (final_end_function): Update prototype.
11644         * sdbout.c (sdb_begin_function_line): Make static.
11645         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
11646         (sdbout_source_line): New.
11647         (sdbout_end_epilogue, sdbout_end_function): Make static, update
11648         prototypes.
11649         (sdb_debug_hooks): Update.
11650         (sdbout_init, sdbout_source_line,
11651         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
11652         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
11653         * toplev.c (compile_file, rest_of_compilation): Update.
11654         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
11655         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
11656         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
11657         Update for prototype changes.
11658         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
11659         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
11660
11661 2001-07-15  Richard Henderson  <rth@redhat.com>
11662
11663         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
11664         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
11665         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
11666         * config/alpha/alpha.c: Likewise.
11667         * config/alpha/alpha.md: Likewise.
11668         * config/alpha/alpha32.h: Likewise.
11669         * config/alpha/vms.h: Likewise.
11670         (OPEN_VMS): Remove.
11671
11672 2001-07-14  Richard Henderson  <rth@redhat.com>
11673
11674         * config/alpha/alpha.md: Use define_constants for unspec values.
11675         Substitute throughout.
11676
11677 2001-07-14  Tim Josling  <tej@melbpc.org.au>
11678
11679         * tree.def (EXPON_EXPR) remove. Never supported anyway.
11680
11681 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11682
11683         * pa.md: Remove unused constraints from define_split's.
11684
11685 2001-04-14  Richard Henderson  <rth@redhat.com>
11686
11687         * ifcvt.c (find_cond_trap): Test for exit block.
11688
11689 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
11690
11691         Re-install recently reverted patch.
11692         * emit-rtl.c (try_split): Update mark_jump_label call.
11693         * flow.c (find_sub_basic_blocks): Likewise.
11694         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
11695         jump_back_p): Kill.
11696         (mark_all_labels): Kill second parameter.
11697         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
11698         (rebuild_jump_labels, jump_optimize_minimal): Update call
11699         of jump_optimize_1.
11700         (jump_optimize_1): Kill crossjumping code.
11701         (mark_jump_label): Kill cross_jump parameter.
11702         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
11703         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
11704         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
11705          splitting.
11706         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
11707         DFI_bpro.
11708         (dump_file_info): Likewise.
11709         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
11710         reorganize passes to do reg-stack first, bb-reorder second.
11711         * invoke.texi (-d letters doc): Remove the jump2 pass.
11712
11713 2001-07-14  Richard Henderson  <rth@redhat.com>
11714
11715         * ifcvt.c (find_cond_trap): New.
11716         (find_if_header): Call it.
11717         (merge_if_block): Relax existing jump sanity check.
11718         * jump.c (jump_optimize_1): Remove conditional trap handling.
11719
11720 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
11721
11722         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
11723         millicode.
11724         (insn_refs_are_delayed): Correct comment.
11725         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
11726         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
11727         instead of r31.  Make associated insn !TARGET_64BIT, and
11728         provide an additional 64-bit insn that clobbers r2.
11729         (divsi3): Likewise.
11730         (udivsi3): Likewise.
11731         (modsi3): Likewise.
11732         (umodsi3): Likewise.
11733
11734 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
11735
11736         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
11737
11738         * flow.c (redirect_edge_and_branch_force, split_edge,
11739         try_crossjump_to_edge): Use set_block_for_new_insns.
11740         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
11741
11742 2001-07-13  H.J. Lu  (hjl@gnu.org)
11743
11744         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
11745         the correct patch.
11746
11747 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
11748
11749         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
11750
11751 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
11752
11753         * c-common.c (decl_attributes): Take a pointer to the node to
11754         which attributes are to be attached, and a flags argument.
11755         * c-common.h (enum attribute_flags): New.
11756         (decl_attributes): Update prototype.
11757         * c-decl.c (start_decl, push_parm_decl, finish_struct,
11758         finish_enum, start_function): Update calls to decl_attributes.
11759         * c-parse.in (component_declarator, component_notype_declarator,
11760         label): Update calls to decl_attributes.
11761
11762 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
11763
11764         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
11765         * config/avr/avr.c (legitimate_address_p): Return value changed
11766         from letter to register classes. For better debugging.
11767
11768 2001-07-13  Kazu Hirata  <kazu@hxi.com>
11769
11770         * jump.c (reversed_comparison_code_parts): Fix comment typos.
11771
11772 2001-07-13  H.J. Lu  (hjl@gnu.org)
11773
11774         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
11775
11776 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
11777
11778         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
11779         correctly for shared configurations.
11780         * config/t-libgcc-pic:  New.
11781         * config/{i386,m68k,sparc}/t-openbsd:  New.
11782         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
11783         Support -shared.  Support debugging libraries with -g.
11784         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
11785         frame information does not emit pointer diffs.
11786         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
11787         emit pointer diffs.
11788
11789 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
11790
11791         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
11792
11793 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
11794
11795         * combine.c (try_combine): Ensure const_int pow2 is positive.
11796
11797 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
11798
11799         * config.gcc: Add configuration for s/390.
11800         * config/s390/s390.c: New. Subroutines for code generation.
11801         * config/s390/s390.h: New. Definitions for s/390.
11802         * config/s390/s390-protos.h: New. Prototypes.
11803         * config/s390/linux.h: New. Definitions for linux for s/390.
11804         * config/s390/linux64.h: New. Definitions for linux for zSeries.
11805         * config/s390/t-linux: New. Makefile fragment.
11806         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
11807         * config/s390/fixdfdi.h: New. Fix L_fix*di.
11808
11809 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
11810
11811         * emit-rtl.c (try_split): Update mark_jump_label call.
11812         * flow.c (find_sub_basic_blocks): Likewise.
11813         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
11814         jump_back_p): Kill.
11815         (mark_all_labels): Kill second parameter.
11816         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
11817         (rebuild_jump_labels, jump_optimize_minimal): Update call
11818         of jump_optimize_1.
11819         (jump_optimize_1): Kill crossjumping code.
11820         (mark_jump_label): Kill cross_jump parameter.
11821         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
11822         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
11823         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
11824          splitting.
11825         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
11826         DFI_bpro.
11827         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
11828         reorganize passes to do reg-stack first, bb-reorder second.
11829         * invoke.texi (-d letters doc): Remove the jump2 pass.
11830
11831 2001-07-12  Steve Ellcey <sje@cup.hp.com>
11832
11833         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
11834
11835 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
11836
11837         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
11838         basic blocks.
11839         (verify_flow_info): Make diagnostics prettier.
11840
11841 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
11842
11843         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
11844
11845         * flow.c (outgoing_edges_match): Return early if condition reversal
11846         failed.
11847
11848 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
11849
11850         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
11851         (mips_move_2words): When splitting a move into two instructions,
11852         prefix the second address operand with '%D'.
11853
11854 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
11855
11856         * Makefile.in (final.o): Depend on debug.h.
11857         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
11858         (dbx_debug_hooks): Add new hooks.
11859         (xcoff_debug_hooks): New.
11860         * debug.c (debug_nothing_file_int_int): New.
11861         (do_nothing_debug_hooks): Update.
11862         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
11863         (debug_nothing_file_int_int): New.
11864         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
11865         static, update prototype.
11866         (dwarf2_debug_hooks): Update.
11867         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
11868         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
11869         static, update prototype.
11870         (dwarf_debug_hooks): Update.
11871         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
11872         * final.c: Include debug.h.
11873         (final_scan_insn): Use debug hooks when beginning and ending blocks.
11874         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
11875         static, update prototype.
11876         (sdb_debug_hooks): Update.
11877         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
11878         * toplev.c: Distinguish between xcoff and dbx.
11879
11880         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
11881         Call all debug hooks, not just dwarf ones.
11882
11883 2001-07-11  Timothy Wall  <twall@redhat.com>
11884
11885         * config.gcc: Add configuration for AIX5/IA64.
11886         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
11887         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
11888         support prefix/suffix code.
11889         * config/ia64/t-aix: New.  Makefile fragment.
11890         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
11891
11892 2001-07-11  Kazu Hirata  <kazu@hxi.com>
11893
11894         * recog.c (validate_change): Fix a comment typo.
11895
11896 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11897
11898         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
11899         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
11900         hooks directly.
11901         * dbxout.c (dbx_debug_hooks): Add new hooks.
11902         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
11903         make static.
11904         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
11905         make static.
11906         * dbxout.h (dbxout_start_new_source_file,
11907         dbxout_resume_previous_source_file): Delete.
11908         * debug.c (do_nothing_debug_hooks): Add new hooks.
11909         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
11910         (debug_nothing_int_charstar, debug_nothing_int): New.
11911         * debug.h (gcc_debug_hooks): New hooks define, undef,
11912         start_source_file and end_source_file.
11913         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
11914         (debug_nothing_int_charstar, debug_nothing_int): New.
11915         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
11916         the conditionally compiled section.
11917         (dwarf2out_start_source_file, dwarf2out_end_source_file,
11918         dwarf2out_define, dwarf2out_undef): Make static.
11919         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
11920         dwarf2out_define, dwarf2out_undef): Remove.
11921         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
11922         (dwarfout_start_source_file, dwarfout_end_source_file,
11923         dwarfout_define, dwarfout_undef): Make static.
11924         (dwarfout_start_source_file_check,
11925         dwarfout_end_source_file_check): New.
11926         (dwarfout_define, dwarfout_finish): Update.
11927         * dwarfout.h (dwarfout_start_new_source_file,
11928         dwarfout_resume_previous_source_file, dwarfout_define,
11929         dwarfout_undef): Remove.
11930         * sdbout.c (sdb_debug_hooks): Add new hooks.
11931         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
11932         make static.
11933         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
11934         make static, take an arg.
11935         * sdbout.h (sdbout_start_new_source_file,
11936         sdbout_resume_previous_source_file): Delete.
11937         * toplev.c (debug_start_source_file, debug_end_source_file,
11938         debug_define, debug_undef): Delete.
11939         * toplev.h (debug_start_source_file, debug_end_source_file,
11940         debug_define, debug_undef): Delete.
11941
11942         * java/jcf-parse.c: Include debug.h.
11943         (parse_class_file): Update to use debug hooks directly.
11944         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
11945
11946 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11947
11948         * alias.c (set_mem_alias_set): New function.
11949         * rtl.h (set_mem_alias_set): Declare it.
11950         * builtins.c (expand_builtin_return_addr): Call it instead of
11951         using MEM_ALIAS_SET accessor.
11952         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
11953         (get_memory_rtx, expand_builtin_va_arg): Likewise.
11954         (expand_builtin_va_copy):Likewise.
11955         * caller-save.c (setup_save_areas): Likewise.
11956         * calls.c (compute_argument_addresses): Likewise.
11957         * explow.c (set_mem_attributes): Likewise.
11958         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
11959         (expand_assignment, store_constructor_field, store_field): Likewise.
11960         (expand_expr_unaligned): Likewise.
11961         * function.c (assign_stack_temp_for_type): Likewise.
11962         (put_reg_into_stack, gen_mem_addressof): Likewise.
11963         * ifcvt.c (noce_try_cmove_arith): Likewise.
11964         * reload1.c (reload, alter_reg): Likewise.
11965         * config/alpha/alpha.c (get_aligned_mem): Likewise.
11966         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
11967         (alpha_expand_unaligned_store): Likewise
11968         (alpha_expand_unaligned_load_words): Likewise.
11969         (alpha_expand_unaligned_store_words): Likewise.
11970         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
11971         (alpha_expand_epilogue): Likewise.
11972         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
11973         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
11974         * config/i386/i386.c (legitimize_pic_address): Likewise.
11975         * config/i960/i960.c (setup_incoming_varargs): Likewise.
11976         * config/ia64/ia64.c (spill_restore_mem): Likewise.
11977         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
11978         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
11979         * config/mips/mips.c (mips_va_arg): Likewise.
11980         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
11981         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
11982         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
11983         (setup_incoming_varargs, rs6000_va_arg): Likewise.
11984         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
11985         (rs6000_emit_epilogue): Likewise.
11986         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
11987         * config/sparc/sparc.c (sparc_va_arg): Likewise.
11988         * config/v850/v850.c (v850_va_arg): Likewise.
11989
11990 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
11991
11992         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
11993         when fallthru edge is present.
11994         (mege_blocks): Handle case where creation of jump insn
11995         is required.
11996
11997         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
11998         CLEANUP_POST_REGSTACK): New constants.
11999         * except.c (finish_eh_generation): Update call of cleanup_cfg,
12000         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
12001         * output.h (cleanup_cfg): Update prototype.
12002         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
12003         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
12004         cleanup_cfg call; kill missleading comment.
12005         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
12006         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
12007         parameter; control optimizations performed using it.
12008         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
12009         try_crossjump_bb): New functions.
12010
12011 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12012
12013         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
12014         extern.
12015         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
12016         pa_output_function_prologue.
12017         * pa-protos.h (pa_output_function_prologue): New prototype.
12018
12019 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12020
12021         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
12022         and low to get correct sign extension in low+high test.
12023
12024 2001-07-11  Janis Johnson <janis@us.ibm.com>
12025
12026         * gcov.c (arcdata): Use gcov_type to fix branch percentage
12027         for large hit count.
12028
12029         * profile.c (branch_prob): Fix .bbg info for computed gotos
12030         and C++ EH code.
12031
12032 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
12033
12034         * stmt.c (parse_output_constraint): New function, split out
12035         from ...
12036         (expand_asm_operands): ... here.  Use parse_output_constraint.
12037         * tree.h (parse_output_constraint): Declare it.
12038
12039 2001-07-11  Richard Henderson  <rth@redhat.com>
12040
12041         * bitmap.c: Comment some functions; fiddle whitespace.
12042         (bitmap_free): Don't export.
12043         (bitmap_element_allocate): Use memset.
12044         * bitmap.h (bitmap_free): Don't declare.
12045
12046 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
12047
12048         * gcse.c, lcm.c, sched-deps.c:
12049         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
12050
12051         * flow.c (flow_loops_find): Free dom if we found no loops, since
12052         we aren't going to save it.
12053
12054         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
12055         done.
12056
12057 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
12058
12059         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
12060
12061 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12062
12063         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
12064         #ifndef DWARF2_DEBUGGING_INFO.
12065
12066 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
12067
12068         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
12069
12070 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
12071
12072         * config/mips/mips.c (gen_int_relational): Tell the caller not to
12073         reverse a branch if a NE comparison is implemented with GTU.
12074
12075 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
12076             H.J. Lu  <hjl@gnu.org>
12077
12078         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
12079         constant addresses.
12080         (call_internal2): Likewise.
12081         (call_value_internal1): Likewise.
12082         (call_value_internal2): Likewise.
12083         (call_value_multiple_internal1): Likewise.
12084         (call_value_multiple_internal2): Likewise.
12085
12086 2001-07-10  Kazu Hirata  <kazu@hxi.com>
12087
12088         * calls.c (emit_library_call_value_1): Fix a comment typo.
12089         * dwarf2out.c (mem_loc_descriptor): Likewise.
12090         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
12091
12092 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
12093
12094         * simplify-rtx.c (simplify_subreg): Fix typo in comment
12095
12096 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12097
12098         * recog.c (offsettable_address_p): Handle LO_SUM case.
12099         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
12100         instead of plus_constant.
12101
12102 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12103
12104         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
12105         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
12106
12107 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12108
12109         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
12110         adjust_address_nv instead of plus_constant.
12111
12112 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
12113
12114         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
12115         dwarf2out.o): Depend on debug.h, wrap long lines.
12116         * dbxout.c: Include debug.h.
12117         (dbx_debug_hooks): New.
12118         (dbxout_init): Make static, take just 2 args.
12119         (dbxout_finish): Make static.
12120         * dbxout.h (dbxout_init, dbxout_finish): Delete.
12121         * debug.c: New file.
12122         * debug.h: New file.
12123         * dwarf2out.c: Include debug.h.
12124         (dwarf2_debug_hooks): New.
12125         (dwarf2out_init): Make static.
12126         (dwarf2out_finish): Make static, take 2 args.
12127         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
12128         * dwarfout.c: Include debug.h.
12129         (dwarf_debug_hooks): New.
12130         (dwarfout_init): Make static.
12131         (dwarfout_finish): Make static, take 2 args.
12132         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
12133         * sdbout.c: Include debug.h.
12134         (sdb_debug_hooks): New.
12135         (sdbout_init): Make static, take 2 args.
12136         * sdbout.h (sdbout_init): Delete.
12137         * toplev.c: Include debug.h.
12138         (debug_hooks): New.
12139         (compile_file): Set deubg_hooks based on command line options.
12140         Use the hooks unconditionally rather than conditional compilation.
12141
12142 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
12143
12144         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
12145         first_insn_after_basic_block_note instead.
12146
12147         * df.c (df_bb_refs_unlink): #if 0 out for now.
12148
12149 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
12150
12151         * ssa.h: Add prototype for ssa_const_prop
12152         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
12153         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
12154         (ssa_fast_dce): Remove unused variable
12155
12156 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
12157
12158         * diagnostic.c (finish_diagnostic): Rename to
12159         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
12160         calls thourghout.
12161
12162 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
12163
12164         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
12165         .loc support.
12166
12167         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
12168         (dump_file): Only pad the demangled name with spaces if the
12169         mangled name was padded with spaces.
12170
12171 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
12172
12173         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
12174         edge detection.
12175
12176 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12177
12178         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
12179         extraction if no direct load if either EXPAND_CONST_ADDRESS or
12180         EXPAND_INITIALIZER.
12181
12182         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
12183         whether can put offset inside LO_SUM to check mode alignment, not size.
12184
12185 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
12186
12187         * doc/tm.texi (Misc): Fix thinko.
12188
12189 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
12190
12191         * regmove.c (replace_in_call_usage): Fix warnings.
12192         * sched-deps.c (add_dependence): Fix warnings.
12193         * simplify-rtx.c (simplify_subreg): Likewise.
12194         Return NULL_RTX instead of NULL.
12195
12196         * reg-stack.c (emit_swap_insn): Eliminate warnings.
12197         (subst_asm_stack_regs): Likewise.
12198
12199         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
12200         warnings.
12201
12202         * dwarf2out.c (output_call_frame_info): Declare i as int.
12203         (build_abbrev_table): Declare n_alloc as int.
12204         (dwarf2out_finish): Initialize die.
12205         * except.c: Declare sjlj_funcdef_number as unsigned.
12206         (connect_post_landing_pads): Declare j as unsigned.
12207         (convert_to_eh_region_ranges): Initialize call_site.
12208         (output_function_exception_table): Initialize tt_format_size.
12209         * expr.c (move_by_pieces_1): Initialize to1.
12210         (store_constructor): Initialize minelt and maxelt.
12211         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
12212         * function.c (instantiate_decls): Avoid signed/unsigned warning.
12213
12214         * c-decl.c (combine_parm_decls): Unused, remove.
12215         * c-tree.h: Remove prototype for combine_parm_decls.
12216
12217         * reload.c (push_reload): Fix warning.
12218         (regno_clobbered_p): Likewise.
12219         * reload1.c (replace_pseudos_in_call_usage): Likewise.
12220         (reload_combine): Likewise.
12221
12222         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
12223         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
12224         warnings.
12225         * bitmap.c (bitmap_operation): Change user.
12226         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
12227
12228 2001-07-10  Eric Christopher  <echristo@redhat.com>
12229
12230         * config/mips/mips.c (override_options): Fix typo.
12231
12232 2001-07-09  Stan Shebs  <shebs@apple.com>
12233
12234         * target.h (struct gcc_target): New fields init_builtins and
12235         expand_builtin.
12236         * target-def.h (TARGET_INIT_BUILTINS): New macro.
12237         (TARGET_EXPAND_BUILTIN): New macro.
12238         (TARGET_INITIALIZER): Add them.
12239         * builtins.c: Include target.h.
12240         (expand_builtin): Use targetm.expand_builtin.
12241         (default_init_builtins): New function.
12242         (default_expand_builtin): New function.
12243         * expr.h (default_init_builtins): Declare.
12244         (default_expand_builtin): Declare.
12245         * c-common.c (c_common_nodes_and_builtins): Use
12246         targetm.init_builtins.
12247         * defaults.h (MD_INIT_BUILTINS): Remove.
12248         * Makefile.in (builtins.o): Depend on target.h.
12249
12250         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
12251         (TARGET_EXPAND_BUILTIN): Define.
12252         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
12253         (MD_EXPAND_BUILTIN): Remove.
12254
12255         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
12256         (TARGET_EXPAND_BUILTIN): Define.
12257         (c4x_init_builtins): Make endlink arg a local.
12258         (c4x_print_operand): Fix typos in adjust_address usages.
12259         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
12260         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
12261         (MD_EXPAND_BUILTIN): Remove.
12262
12263         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
12264         (TARGET_EXPAND_BUILTIN): Define.
12265         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
12266         (ix86_init_builtins): Call new function only if TARGET_MMX.
12267         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
12268         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
12269         (MD_EXPAND_BUILTIN): Remove.
12270
12271         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
12272         (TARGET_EXPAND_BUILTIN): Define.
12273         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
12274         (MD_EXPAND_BUILTIN): Remove.
12275
12276         * doc/tm.texi: Document these changes.
12277
12278 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
12279
12280         * basic-block.h (tree_node): Forward declare if needed.
12281         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
12282         (BLOCK_HEAD_TREE): Define.
12283         (BLOCK_END_TREE): Define.
12284         (struct loops): Rename field 'tree' to 'tree_root'.
12285         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
12286         'end_tree'.
12287         (flow_loops_tree_build): Rename reference to field 'tree' to
12288         'tree_root'.
12289         (flow_loops_level_compute): Ditto.
12290         * predict.c (estimate_bb_frequencies): Ditto.
12291         * tree.h (struct tree_common): Add field 'aux'.
12292
12293 2001-07-09  Stan Shebs  <shebs@apple.com>
12294
12295         * config/darwin.c (darwin_encode_section_info): Don't mark any
12296         DECL_EXTERNAL node as defined.
12297
12298 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12299
12300         * pa.c (pa_init_machine_status, pa_mark_machine_status,
12301         pa_free_machine_status, hppa_init_pic_save): Delete.
12302         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
12303         (hppa_profile_hook): Use hppa_pic_save_rtx.
12304         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
12305         hppa_init_pic_save): Delete.
12306         (hppa_pic_save_rtx): Declare.
12307         * pa.md (call, call_value, sibcall, sibcall_value,
12308         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
12309
12310 2001-07-09  Kazu Hirata  <kazu@hxi.com>
12311
12312         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
12313         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
12314
12315 2001-07-09  Andreas Jaeger  <aj@suse.de>
12316
12317         * output.h: Add declaration of final_forward_branch_p.
12318
12319         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
12320
12321         * varray.c: Include errors.h for internal_error and trim_filename
12322         declarations.
12323
12324         * Makefile.in (varray.o): Add errors.h.
12325
12326 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
12327
12328         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
12329         * optabs.c (have_add2_insn): Check whether the add insn chosen
12330         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
12331         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
12332
12333 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
12334
12335         * Makefile.in (OBJS): Add ssa-ccp.o
12336         (ssa-ccp.o): Add dependencies.
12337         * toplev.c (DFI_ssa_ccp): New dump file enum.
12338         (dump_file): Add entry for dumping after SSA CCP.
12339         (flag_ssa_ccp): New flag variable.
12340         (f_options): Add -fssa-ccp.
12341         (rest_of_compilation): Run SSA CCP if requested.
12342         * timevar.def (TV_SSA_CCP): New timevar.
12343         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
12344         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
12345         Fix minor typo in SSA DCE documentation.
12346         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
12347         Add documentation for new dump option.  Renumber dump files
12348         appropriately.
12349
12350 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
12351
12352         * emit-rtl.c (gen_highpart_mode): New.
12353         * rtl.h (gen_highpart_mode): Declare.
12354         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
12355         operand can be VOIDmode constant.
12356
12357 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
12358
12359         * flow.c (redirect_edge_and_branch_force): New.
12360         (can_fallthru): Ensure that basic blocks are succeeding.
12361         (try_optimize_cfg): Do not delete basic block if it is the last one.
12362
12363         * flow.c (try_redirect_by_replacing_jump): Do not remove
12364         jumps with side effects, unlink chain on fallthru edge;
12365         set block for new jump instruction; avoid basic block to
12366         over by line number note.
12367
12368         * flow.c (try_simplify_condjump): Verify that the condjump
12369         is not always falling through.
12370
12371         Re-install patch:
12372         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
12373
12374         * flow.c (forwarder_block_p): Fix for fallthru blocks.
12375         (try_redirect_by_replacing_jump): Update properly the count
12376         and frequency information.
12377
12378 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12379
12380         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
12381         address that is a LO_SUM specially.
12382         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
12383
12384         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
12385
12386         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
12387         (operand_subword): Use them.
12388         (change_address_1): Renamed from change_address; new arg VALIDATE.
12389         * expr.h: Reflect above changes; change_address now macro.
12390         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
12391         making MEM.
12392         * cselib.c (add_mem_for_addr): Likewise.
12393         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
12394         * regmove.c (try_apply_stack_adjustment): Likewise.
12395         * reload.c (push_reload, make_memloc): Likewise.
12396         * reload1.c (eliminate_regs): Likewise.
12397         * simplify-rtx.c (simplify_replace_rtx): Likewise.
12398         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
12399         adjust_addess.
12400         * combine.c (make_extraction, simplify_shift_const): Likewise.
12401         (gen_lowpart_for_combine): Likewise.
12402         * cse.c (gen_lowpart_if_possible): Likewise.
12403         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
12404         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
12405         * optabs.c (gen_move_insn): Likewise.
12406         * reload1.c (alter_reg): Likewise.
12407         * simplify-rtx.c (simplify_subreg): Likewise.
12408         * stmt.c (expand_anon_union_decl): Likewise.
12409         * recog.c (validate_replace_rtx_1): Likewise.
12410         (expr.h): Include.
12411         * Makefile.in (recog.o): Add $(EXPR_H).
12412         * explow.c (stabilize): Call replace_equiv_address.
12413         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
12414         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
12415
12416 2001-07-03  Andrew Haley  <aph@redhat.com>
12417
12418         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
12419         the mode of the memory location.
12420
12421 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
12422
12423         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
12424
12425 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
12426
12427         * final.c (output_addr_const): Use target opening and
12428         closing parentheses.
12429         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
12430         defaults, add to TARGET_ASM_OUT.
12431         * target.h (struct gcc_target): Add open_paren and close_paren.
12432         * doc/md.texi: Update.
12433         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
12434         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
12435         TARGET_ASM_CLOSE_PAREN.
12436         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
12437         Override.
12438         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
12439         Override.
12440         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
12441         * config/a29k/a29k.h: Similarly.
12442         * config/alpha/alpha.h: Similarly.
12443         * config/arc/arc.h: Similarly.
12444         * config/arm/aof.h: Similarly.
12445         * config/arm/aout.h: Similarly.
12446         * config/avr/avr.h: Similarly.
12447         * config/c4x/c4x.h: Similarly.
12448         * config/clipper/clipper.h: Similarly.
12449         * config/convex/convex.h: Similarly.
12450         * config/d30v/d30v.h: Similarly.
12451         * config/dsp16xx/dsp16xx.h: Similarly.
12452         * config/elxsi/elxsi.h: Similarly.
12453         * config/fr30/fr30.h: Similarly.
12454         * config/h8300/h8300.h: Similarly.
12455         * config/i370/i370.h: Similarly.
12456         * config/i386/i386.h: Similarly.
12457         * config/i860/i860.h: Similarly.
12458         * config/i960/i960.h: Similarly.
12459         * config/ia64/ia64.h: Similarly.
12460         * config/m32r/m32r.h: Similarly.
12461         * config/m68hc11/m68hc11.h: Similarly.
12462         * config/m68k/m68k.h: Similarly.
12463         * config/m88k/m88k.h: Similarly.
12464         * config/mcore/mcore.h: Similarly.
12465         * config/mips/mips.h: Similarly.
12466         * config/mn10200/mn10200.h: Similarly.
12467         * config/mn10300/mn10300.h: Similarly.
12468         * config/ns32k/ns32k.h: Similarly.
12469         * config/pa/pa.h: Similarly.
12470         * config/pdp11/pdp11.h: Similarly.
12471         * config/pj/pj.h: Similarly.
12472         * config/romp/romp.h: Similarly.
12473         * config/rs6000/rs6000.h: Similarly.
12474         * config/sh/sh.h: Similarly.
12475         * config/sparc/sparc.h: Similarly.
12476         * config/v850/v850.h: Similarly.
12477         * config/vax/vax.h: Similarly.
12478         * config/we32k/we32k.h: Similarly.
12479
12480 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
12481
12482         * doc/c-tree.texi: Document representation of attributes.
12483
12484 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
12485
12486         * doc/tm.texi: Update some places for the rename of target to
12487         targetm.  Fix typo.
12488
12489 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
12490
12491         * target.h (struct gcc_target): Add insert_attributes.
12492         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
12493         (TARGET_INITIALIZER): Update.
12494         * tree.c, tree.h (default_insert_attributes): New function.
12495         Update comments on other default functions to refer to targetm,
12496         not target.
12497         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
12498         TARGET_INSERT_ATTRIBUTES.
12499         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
12500         * c-common.c (decl_attributes): Use targetm.insert_attributes.
12501         Don't use PRAGMA_INSERT_ATTRIBUTES.
12502         * Makefile.in (c-common.o): Depend on $(TARGET_H).
12503         * c-decl.c (start_decl, start_function): Don't call
12504         SET_DEFAULT_DECL_ATTRIBUTES.
12505         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
12506         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
12507         declare.
12508         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
12509         (c4x_check_attribute): Avoid modifying attribute list itself.
12510         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
12511         Make static.
12512         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
12513         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
12514         declare.
12515         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
12516         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
12517         Make static.
12518         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
12519         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
12520         declare.
12521         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
12522         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
12523         Adjust parameters.  Make static.
12524
12525 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
12526
12527         * c-common.c (decl_attributes): Only take a single attributes
12528         parameter.
12529         * c-common.h (decl_attributes): Update prototype.
12530         * c-decl.c (start_decl, start_function): Only take a single
12531         attributes parameter.  Update calls to decl_attributes.
12532         (finish_struct, finish_enum): Update calls to decl_attributes.
12533         (push_parm_decl): Expect unified list of attributes.  Update call
12534         to decl_attributes.
12535         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
12536         notype_nested_function, component_declarator,
12537         component_notype_declarator, label): Update calls to
12538         decl_attributes.
12539         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
12540         lists that are passed to push_parm_decl.
12541         * c-tree.h (start_function, start_decl): Update prototypes.
12542         * config/sh/sh-protos.h, config/sh/sh.c
12543         (sh_pragma_insert_attributes): Only take a single attributes
12544         parameter.
12545         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
12546         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
12547         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
12548         build_module_descriptor, generate_static_references,
12549         generate_strings, build_selector_translation_table,
12550         generate_descriptor_table, generate_protocols,
12551         generate_ivars_list, generate_dispatch_table,
12552         generate_protocol_list, generate_category,
12553         generate_shared_structures, really_start_method, add_objc_decls,
12554         generate_classref_translation_entry): Update calls to start_decl
12555         and start_function.
12556         (build_tmp_function_decl, start_method_def): Unify attribute lists
12557         that are passed to push_parm_decl.
12558
12559 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
12560
12561         * final.c (no_asm_to_stream): New.
12562         (final_scan_insn): Use target structures for prologue ends
12563         and epilogue starts.
12564         * output.h (no_asm_to_stream): New.
12565         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
12566         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
12567         (TARGET_ASM_OUT): Update.
12568         * target.h (struct gcc_target): New members function_end_prologue
12569         and function_begin_epilogue.
12570         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
12571         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
12572         * config/alpha/alpha.c (output_end_prologue): Rename to
12573         alpha_output_function_end_prologue.  Use in target struct
12574         and make static.
12575         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
12576         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
12577         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
12578         ia64_output_function_end_prologue.  Use in target struct
12579         and make static.
12580         (ia64_function_prologue, ia64_funciton_epilogue): Rename
12581         mistyped prototypes.
12582         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
12583         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
12584         Delete.
12585         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
12586         an use in target struct, make static.
12587         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
12588         Delete.
12589
12590 2001-07-08  Richard Henderson  <rth@redhat.com>
12591
12592         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
12593
12594 2001-07-08  Richard Henderson  <rth@redhat.com>
12595
12596         * config/i386/i386.md: Remove constraints strings from define_split
12597         and define_peephole2 patterns.
12598         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
12599         (eh_return): Use them.
12600
12601 2001-07-08  Richard Henderson  <rth@redhat.com>
12602
12603         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
12604         Document MD_FALLBACK_FRAME_STATE_FOR.
12605
12606 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12607
12608         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
12609         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
12610         elimination.
12611         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
12612
12613 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
12614
12615         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
12616         of the label inside NAME as opposed to just the end of NAME.
12617
12618 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12619
12620         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
12621         * config/alpha/alpha.c (alpha_init_machine_status,
12622         alpha_mark_machine_status, alpha_free_machine_status): Delete.
12623         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
12624         (vms_valid_decl_attribute_p): Make static, conditionally compile.
12625         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
12626
12627 2001-07-06  Stan Shebs  <shebs@apple.com>
12628
12629         * target.h (targetm): Rename global from "target", so as not to
12630         conflict with local variables.
12631         * c-decl.c: Ditto.
12632         * c-typeck.c: Ditto.
12633         * final.c: Ditto.
12634         * tree.c: Ditto.
12635         * cp/decl.c: Ditto.
12636         * cp/decl2.c: Ditto.
12637         * cp/typeck.c: Ditto.
12638         * 1750a/1750a.c: Ditto.
12639         * a29k/a29k.c: Ditto.
12640         * arc/arc.c: Ditto.
12641         * arm/arm.c: Ditto.
12642         * avr/avr.c: Ditto.
12643         * clipper/clipper.c: Ditto.
12644         * convex/convex.c: Ditto.
12645         * d30v/d30v.c: Ditto.
12646         * dsp16xx/dsp16xx.c: Ditto.
12647         * elxsi/elxsi.c: Ditto.
12648         * fr30/fr30.c: Ditto.
12649         * h8300/h8300.c: Ditto.
12650         * i370/i370.c: Ditto.
12651         * i386/i386.c: Ditto.
12652         * i860/i860.c: Ditto.
12653         * i960/i960.c: Ditto.
12654         * ia64/ia64.c: Ditto.
12655         * m32r/m32r.c: Ditto.
12656         * m68hc11/m68hc11.c: Ditto.
12657         * m68k/m68k.c: Ditto.
12658         * m88k/m88k.c: Ditto.
12659         * mips/mips.c: Ditto.
12660         * ns32k/ns32k.c: Ditto.
12661         * pa/pa.c: Ditto.
12662         * pdp11/pdp11.c: Ditto.
12663         * romp/romp.c: Ditto.
12664         * rs6000/rs6000.c: Ditto.
12665         * sh/sh.c: Ditto.
12666         * sparc/sparc.c: Ditto.
12667         * vax/vax.c: Ditto.
12668         * we32k/we32k.c: Ditto.
12669         * doc/tm.texi: Update the manual to match.
12670
12671 2001-07-06  Richard Henderson  <rth@redhat.com>
12672
12673         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
12674         DWARF2_UNWIND_INFO not just whether it is defined.
12675
12676 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
12677
12678         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
12679         call to simplify_binary_operation returns a new pattern.
12680
12681 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
12682
12683         * glimits.h (__SHRT_MAX__): New.
12684         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
12685         (SHRT_MAX): Define in terms of __SHRT_MAX__.
12686
12687 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
12688
12689         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
12690         avoid warnings.
12691
12692 2001-07-06  Richard Henderson  <rth@redhat.com>
12693
12694         * bitmap.c (bitmap_release_memory): Move adjacent to the
12695         allocation functions.
12696         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
12697         the implementation.  Binary search for the set bit.
12698         (bitmap_union_of_diff): Allocate the temporary on the stack
12699         instead of using xmalloc.
12700
12701 2001-07-06  Richard Henderson  <rth@redhat.com>
12702
12703         * genrecog.c (validate_pattern): Warn for constraints in
12704         define_{expand,split,peephole2}.  Remove strict_low_part
12705         before looking up match_dup.
12706
12707 2001-07-06  DJ Delorie  <dj@redhat.com>
12708
12709         * doc/gcc.texi (Makefile): Rename to be a more general purpose
12710         chapter about various build hints and history.  Add section
12711         talking about the various types of native and cross builds.
12712
12713 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
12714
12715         * Makefile.in (final.o): Depend on target.h.
12716         * final.c: Include target.h.
12717         (default_function_pro_epilogue): New.
12718         (final_start_function): Use target structure for function prologues.
12719         (final_end_function): Use target structure for function epilogues.
12720         * fold-const.c (real_hex_to_f): Constify s and p.
12721         * output.h (default_function_pro_epilogue): New.
12722         * real.h (real_hex_to_f): Update prototype.
12723         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
12724         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
12725         (TARGET_INITIALIZER): Update.
12726         * target.h (gcc_target): Add struct asm_out.
12727         * doc/tm.texi: Update.
12728
12729 config:
12730         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
12731         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
12732         in cpu/cpu.c, or rename old functions consistently.  Take
12733         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
12734         redundant macros and prototypes.  Make new functions static.
12735
12736         * 1750a/1750a.c: Similarly.
12737         * 1750a/1750a.h: Similarly.
12738         * a29k/a29k-protos.h: Similarly.
12739         * a29k/a29k.c: Similarly.
12740         * a29k/a29k.h: Similarly.
12741         * arc/arc-protos.h: Similarly.
12742         * arc/arc.c: Similarly.
12743         * arc/arc.h: Similarly.
12744         * arm/arm-protos.h: Similarly.
12745         * arm/arm.c: Similarly.
12746         * arm/arm.h: Similarly.
12747         * avr/avr-protos.h: Similarly.
12748         * avr/avr.c: Similarly.
12749         * avr/avr.h: Similarly.
12750         * clipper/clipper-protos.h: Similarly.
12751         * clipper/clipper.c: Similarly.
12752         * clipper/clipper.h: Similarly.
12753         * convex/convex.c: Similarly.
12754         * convex/convex.h: Similarly.
12755         * d30v/d30v-protos.h: Similarly.
12756         * d30v/d30v.c: Similarly.
12757         * d30v/d30v.h: Similarly.
12758         * d30v/d30v.md: Similarly.
12759         * dsp16xx/dsp16xx-protos.h: Similarly.
12760         * dsp16xx/dsp16xx.c: Similarly.
12761         * dsp16xx/dsp16xx.h: Similarly.
12762         * elxsi/elxsi.c: Similarly.
12763         * elxsi/elxsi.h: Similarly.
12764         * fr30/fr30.c: Similarly.
12765         * fr30/fr30.md: Similarly.
12766         * h8300/h8300-protos.h: Similarly.
12767         * h8300/h8300.c: Similarly.
12768         * h8300/h8300.h: Similarly.
12769         * i370/i370-protos.h: Similarly.
12770         * i370/i370.c: Similarly.
12771         * i370/i370.h: Similarly.
12772         * i386/i386.c: Similarly.
12773         * i386/osf1elf.h: Similarly.
12774         * i386/osfrose.h: Similarly.
12775         * i860/i860-protos.h: Similarly.
12776         * i860/i860.c: Similarly.
12777         * i860/i860.h: Similarly.
12778         * i960/i960-protos.h: Similarly.
12779         * i960/i960.c: Similarly.
12780         * i960/i960.h: Similarly.
12781         * ia64/ia64-protos.h: Similarly.
12782         * ia64/ia64.c: Similarly.
12783         * ia64/ia64.h: Similarly.
12784         * m32r/m32r-protos.h: Similarly.
12785         * m32r/m32r.c: Similarly.
12786         * m32r/m32r.h: Similarly.
12787         * m68hc11/m68hc11-protos.h: Similarly.
12788         * m68hc11/m68hc11.c: Similarly.
12789         * m68hc11/m68hc11.h: Similarly.
12790         * m68k/crds.h: Similarly.
12791         * m68k/dpx2.h: Similarly.
12792         * m68k/m68k-protos.h: Similarly.
12793         * m68k/m68k.c: Similarly.
12794         * m68k/m68k.h: Similarly.
12795         * m68k/news.h: Similarly.
12796         * m88k/m88k-protos.h: Similarly.
12797         * m88k/m88k.c: Similarly.
12798         * m88k/m88k.h: Similarly.
12799         * mips/mips-protos.h: Similarly.
12800         * mips/mips.c: Similarly.
12801         * mips/mips.h: Similarly.
12802         * ns32k/merlin.h: Similarly.
12803         * ns32k/ns32k.c: Similarly.
12804         * ns32k/ns32k.h: Similarly.
12805         * ns32k/tek6000.h: Similarly.
12806         * pa/pa-protos.h: Similarly.
12807         * pa/pa.c: Similarly.
12808         * pa/pa.h: Similarly.
12809         * pdp11/2bsd.h: Similarly.
12810         * pdp11/pdp11-protos.h: Similarly.
12811         * pdp11/pdp11.c: Similarly.
12812         * pdp11/pdp11.h: Similarly.
12813         * romp/romp-protos.h: Similarly.
12814         * romp/romp.c: Similarly.
12815         * romp/romp.h: Similarly.
12816         * rs6000/rs6000-protos.h: Similarly.
12817         * rs6000/rs6000.c: Similarly.
12818         * rs6000/rs6000.h: Similarly.
12819         * rs6000/sysv4.h: Similarly.
12820         * sh/sh-protos.h: Similarly.
12821         * sh/sh.c: Similarly.
12822         * sh/sh.h: Similarly.
12823         * sparc/sparc-protos.h: Similarly.
12824         * sparc/sparc.c: Similarly.
12825         * sparc/sparc.h: Similarly.
12826         * vax/vax.c: Similarly.
12827         * vax/vax.h: Similarly.
12828         * vax/vms.h: Similarly.
12829         * we32k/we32k.c: Similarly.
12830         * we32k/we32k.h: Similarly.
12831
12832 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
12833
12834         * basic-block.h (first_insn_after_basic_block_note): Declare.
12835         * flow.c (first_insn_after_basic_block_note): Define.  Moved
12836         from...
12837         * ssa.c (first_insn_after_basic_block_note): Remove.
12838         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
12839         necessary.
12840         (ssa_eliminate_dead_code): Properly update the CFG and PHI
12841         nodes when we find a dead conditional branch.  Insert BARRIERs
12842         after any blocks with no successors, but which do not have
12843         any BARRIERs.
12844
12845 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
12846
12847         * varray.c (varray_check_failed): Use internal_error.
12848
12849 2001-07-05  Andrew Haley  <aph@redhat.com>
12850
12851         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
12852         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
12853         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
12854
12855 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
12856
12857         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
12858         reference if the target constant is also a SYMBOL_REF.
12859
12860 2001-07-05  Eric Christopher  <echristo@redhat.com>
12861
12862         * config/mips/mips.h (MASK_MIPS3900): Remove.
12863         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
12864         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
12865         (TARGET_MIPS3900): Change to use mips_arch.
12866         (TARGET_MIPS4000): New.
12867         (TARGET_MIPS4100): New.
12868         (TARGET_MIPS4300): New.
12869         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
12870         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
12871         for -mipsX.
12872         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
12873         (ISA_HAS_BRANCHLIKELY): To here.
12874         (CC1_CPU_SPEC):  New.
12875         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
12876         (mips_arch_string): Declare.
12877         (mips_arch): Declare.
12878         (TARGET_OPTIONS): Add -march and -mtune.
12879
12880         * config/mips/mips.c (mips_arch_string): New.
12881         (mips_arch): New.
12882         (override_options): Handle -march for codegen and -mtune
12883         for scheduling. Use mips_arch. Move tx39 target default here.
12884         (mips_parse_cpu): Move error message to override_options.
12885
12886         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
12887
12888         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
12889
12890         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
12891         (MIPS Options): Ditto.  Change mcpu entry to historical text.
12892
12893 2001-07-05  H.J. Lu  (hjl@gnu.org)
12894
12895         * config/mips/mips.c (mips_parse_cpu): New function to parse
12896         -march=*/-mcpu=*.
12897
12898 2001-07-05  Jim Wilson  <wilson@redhat.com>
12899
12900         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
12901         * config/ia64/t-ia64: Likewise.
12902         (LIB1ASMFUNCS): Update comment.
12903
12904 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
12905
12906         * doc/install.texi (Install GCC: Binaries): Fix typo.
12907
12908 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12909
12910         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
12911         reference using the stack pointer, adjust it since we push Y
12912         temporarily.
12913         ("*ashrsi3"): Likewise.
12914         ("*lshrsi3"): Likewise.
12915
12916 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12917
12918         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
12919         when -fomit-frame-pointer is used.
12920
12921 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
12922
12923         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
12924         (try_redirect_by_replacing_jump): Reverse updating properly the
12925         count and frequency information.  Reverse removing cc0 setter.
12926         (forwarder_block_p): Reverse fixing for fallthru blocks.
12927
12928 2001-07-05  DJ Delorie  <dj@redhat.com>
12929
12930         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
12931         (translate_options): If the above is defined, use it to map
12932         given options to new options.
12933         * doc/tm.texi: Document it.
12934
12935 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
12936             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12937
12938         * doc/invoke.texi (Optimize Options): Document that -fgcse may
12939         cause programs using computed gotos to run more slowly.
12940
12941 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12942
12943         * doc/install.texi (Specific): Markup, spelling and typo fixes.
12944         Fixed sorting.
12945         Consistently require binutils 2.11.2, not prereleases.
12946         (Specific, decstation-*): Canonicalize as mips-dec-*.
12947         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
12948         always necessary.
12949         (Specific, m68k-altos): Removed reference to README.altos, deleted.
12950         (Specific, mips-*): Reword MIPS C compiler requirements.
12951         (Specific, powerpc*-*-*): New, mention --with-cpu once.
12952         (Specific, sunv5): Removed, obsolete.
12953
12954 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
12955
12956         * dwarf2out.c (output_loc_list): Use an all ones mask for
12957         .text asm output and don't rely on long long
12958         literals. Reformat some long lines.
12959
12960 2001-07-05  Andreas Jaeger  <aj@suse.de>
12961
12962         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
12963         section.
12964
12965 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
12966
12967         * dwarf2out.c (dwarf2out_define): Update comment.
12968         (dwarf2out_undef): Ditto.
12969         (dwarf2out_start_source_file): Ditto.
12970         (dwarf2out_end_source_file): Ditto.
12971         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
12972         since we never call the start/end debug hook for the primary file.
12973
12974 2001-07-04  Kazu Hirata  <kazu@hxi.com>
12975
12976         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
12977         from shll.
12978
12979 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
12980
12981         * cppinit.c (remove_dup_dirs): Inform if a system include
12982         directory is being reordered.
12983         * doc/invoke.texi (Directory Options): GCC warns if you hide a
12984         system include.
12985         * doc/cpp.texi (Search Paths): Likewise.
12986         * doc/gcc.texi (Interoperation): Remove information about
12987         -I/usr/include.
12988
12989 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
12990
12991         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
12992         (VARRAY_TOP_CHAR_PTR): Likewise.
12993
12994 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12995
12996         * gcc.c (process_command): Don't assign elements of a const char*.
12997
12998 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12999
13000         * emit-rtl.c (change_address): Don't abort if invalid address while
13001         reload is in progress.
13002
13003 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
13004
13005         * c-lex.c (cb_file_change): Pass line number to
13006         debug_start_source_file.
13007         (cb_undefine): Pass correct line number to debug_undef.
13008
13009         * toplev.c (debug_start_source_file): Add line number to
13010         parameters. Pass it along to dwarf2out_start_source_file.
13011         (decode_g_option): Stop resetting debug level back to normal when
13012         we change debug formats, unless the current level is
13013         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
13014         3).
13015
13016         * toplev.h (debug_start_source_file): Add line number to
13017         parameters.
13018
13019         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
13020         parameters.
13021
13022         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
13023         parameters.
13024         Output debug_macinfo data for starting file if requested.
13025         (dwarf2out_end_source_file): Output debug_macinfo data for ending
13026         file if requested.
13027         (dwarf2out_define): Output debug_macinfo data for defining a macro
13028         if requested.
13029         (dwarf2out_undef): Output debug_macinfo data for undefining a
13030         macro if requested.
13031         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
13032         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
13033         (macinfo_section_label): New. DWARF2 macro info section label.
13034         (dwarf2out_init): If we want macro info, output the start label
13035         for the section.
13036         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
13037         attribute to the compilation unit die pointing to the macro info.
13038
13039 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
13040
13041         * dwarf2out.c (new_loc_list): Move to inside #ifdef
13042         DWARF2_DEBUGGING_INFO.
13043         (add_loc_descr_to_loc_list): Ditto.
13044         (output_loc_list): Ditto.
13045         Also, fix thinko in curr not being initialized.
13046         (gen_internal_sym): Ditto.
13047
13048 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13049
13050         * emit-rtl.c (replace_equiv_address): New function.
13051         * expr.h (replace_equiv_address): New declaration.
13052         * explow.c (validize_mem): Call it instead of change_address and
13053         also call if -fforce-addr and address is constant.
13054         * expr.c: Replace more calls to change_address with adjust_address
13055         and/or replace_equiv_address or to validize_mem.
13056         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
13057         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
13058         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
13059         * config/i370/i370.md, config/i860/i860.md: Likewise.
13060         * config/i960/i960.md, config/mips/mips.c: Likewise.
13061         * config/mips/mips.md, config/pa/pa.md: Likewise.
13062         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
13063         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
13064
13065 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13066
13067         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
13068
13069         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
13070         function.
13071
13072 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
13073
13074         * doc/include: New directory.
13075         * doc/fdl.texi: Move to doc/include/fdl.texi.
13076         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
13077         * doc/include/funding.texi, doc/include/gpl.texi: New files.
13078         * doc/gcc.texi: Use funding.texi and gpl.texi.
13079         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
13080         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
13081         Update dependencies and use -I $(docdir)/include.
13082
13083 2001-07-04  Anthony Green  <green@redhat.com>
13084
13085         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
13086
13087 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13088
13089         * doc/install.texi (sparc64-*-*): Remove garbage.
13090
13091 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
13092
13093         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
13094         Fix typo in last change to use adjust_address.
13095
13096 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13097
13098         * doc/install.texi (Specific): Update information for *-*-solaris*.
13099
13100 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13101
13102         * explow.c (plus_constant_wide): Reinitialize Y for restart.
13103
13104 2001-07-03  Stan Shebs  <shebs@apple.com>
13105
13106         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
13107         case for flag_no_mach_text_sections.
13108         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
13109         * config/darwin.c (flag_no_mach_text_sections): Remove.
13110         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
13111
13112 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13113
13114         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
13115         and avoid checking for constant as first operand.
13116         * recog.c (find_constant_term_loc): No longer static.
13117         (adj_offettable_operand): Delete.
13118         * rtl.h (adj_offsettable_operand): Delete declaration.
13119         (find_constant_term): Add declaration.
13120         * caller-save.c: Replace calls to adj_offsettable_operand with calls
13121         to adjust_address.
13122         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
13123         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
13124         * config/i386/i386.c, config/i386/i386.md: Likewise.
13125         * config/i860/i860.c, config/i960/i960.c: Likewise.
13126         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
13127         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
13128         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
13129         * config/mips/mips.c, config/mips/mips.md: Likewise.
13130         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
13131         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
13132         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
13133         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
13134         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
13135         * config/ns32k/ns32k.md: Likewise.
13136
13137 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
13138
13139         * rtl.c (copy_rtx): Handle 'T' format letter.
13140         * gensupport.c (collect_insn_data): Likewise.
13141         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
13142
13143 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
13144
13145         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
13146         -B option.  Use 'dir' not 'foo' as example directory name.
13147
13148 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13149
13150         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
13151         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
13152
13153 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
13154
13155         * doc/cppinternals.texi: Improve formatting and logical markup.
13156
13157 2001-07-03  Andreas Jaeger  <aj@suse.de>
13158
13159         * Makefile.in (insn-recog.o): Add dependency on reload.h.
13160
13161         * genrecog.c (write_header): Include reload.h for prototypes in
13162         insn-recog.c.
13163
13164 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
13165
13166 config:
13167         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
13168         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
13169         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
13170         i386_pe_valid_type_attribute_p): Add.
13171         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
13172         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
13173
13174 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13175
13176         * explow.c (plus_constant_wide, case LO_SUM): New case.
13177         (plus_constant_for_output_wide): Delete.
13178         * rtl.h (plus_constant_for_output): Delete.
13179         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
13180         instead of plus_constant_for_output.
13181         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
13182         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
13183         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
13184         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
13185         * config/sparc/sparc.md: Likewise.
13186         Convert some change_address calls to adjust_address.
13187
13188 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
13189
13190         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
13191         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
13192         documentation of -std and -Wwrite-strings.
13193
13194 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
13195
13196         * cse.c (canon_hash): Don't register registers in very small
13197         register classes, as extending their lifetime might cause
13198         reload to fail.
13199
13200 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
13201
13202         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
13203
13204         * flow.c (forwarder_block_p): Fix for fallthru blocks.
13205         (try_redirect_by_replacing_jump): Update properly the count
13206         and frequency information.
13207
13208 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
13209
13210         * toplev.c (dump_file_index): Move SSA dumps just after first
13211         jump dump.
13212         (dump_file): Corresponding changes.
13213         (rest_of_compilation): Move SSA path to just after the first
13214         jump pass.
13215         * doc/gcc.texi (Passes): Update due to movement of SSA path.
13216         * doc/invoke.texi: Update dump file #s as they were completely
13217         out of date with reality.
13218
13219 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
13220
13221         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
13222
13223         * expr.c (emit_move_insn_1): Deal with non-default
13224         STACK_PUSH_CODE.
13225
13226         * expr.c (emit_single_push_insn): Fix warning.
13227
13228 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
13229
13230         * expr.c (emit_move_insn_1): Avoid modifying
13231         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
13232
13233 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13234
13235         * emit-rtl.c (adjust_address): New function.
13236         * expr.h (adjust_address): Add declaration.
13237         * builtins.c: Replace some calls to change_address with calls to it
13238         or to validize_mem.
13239         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
13240         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
13241         * config/arm/arm.c, config/convex/convex.c: Likewise.
13242         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
13243         * config/i386/i386.c, config/i386/i386.md: Likewise.
13244         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
13245         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
13246         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
13247         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
13248         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
13249
13250 2001-07-02  Jim Wilson  <wilson@redhat.com>
13251
13252         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
13253
13254 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
13255
13256         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
13257         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
13258
13259 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
13260
13261         * cppinit.c (lang_defaults): New table.
13262         (set_lang): Just read from lang_defaults into the live options
13263         structure.
13264
13265 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
13266
13267         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
13268         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
13269         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
13270
13271 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13272
13273         * doc/install.texi: Various spelling and markup fixes.
13274         (Installing GCC): Component specific installation instructions are
13275         gone.
13276         Fix reference.
13277         Warn about removing old install dir in the presence of shared libs.
13278         (Configuration): Invoke with options target to match configure
13279         --help.
13280         Consistently refer to gas, gld pathnames.
13281         Invert --enable-multilib documentation.
13282         Remove references to old compiler versions.
13283
13284 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13285
13286         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
13287
13288 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13289
13290         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
13291         section.
13292         (Specific, mips*-sgi-irix5): Note IDO download.
13293         Reworded MIPS C hints.
13294         Use GNU as instead of GAS.
13295         Markup fixes.
13296         Removed SGI Freeware reference, IRIX 6 only.
13297         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
13298         Note N64 library requirement/workaround.
13299         Update O32 hints.
13300         Complete list of structure passing bug victims.
13301
13302 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13303
13304         * doc/install.texi: Remove CVS Id.
13305
13306 2001-07-02  Andreas Jaeger  <aj@suse.de>
13307
13308         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
13309         (find_inherently_necessary): Remove unused variable.
13310
13311 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
13312
13313         * c-common.h (TDI_inlined): New ast dump phase.
13314         (dump_flag_name): New function.
13315         * c-dump.c (dump_files): Add inlined phase.
13316         (dump_flag_name): Define.
13317         * doc/invoke.texi (-fdump-ast-inlined): Document.
13318
13319 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13320
13321         * stor-layout.c (layout_decl): Revert change to handling of alignment
13322         in packed types.
13323
13324 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13325
13326         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
13327         for FIELD_DECL.
13328
13329 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
13330
13331         * doc/tm.texi (FUNCTION_ARG): Document that the last call
13332         is special.
13333
13334 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
13335
13336         * tlink.c (recompile_files): Remove COMPILER_PATH and
13337         LIBRARY_PATH from the environment.
13338
13339 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
13340
13341         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
13342         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
13343         enumerators.
13344         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
13345
13346         * c-parse.in (OBJC_STRING): Kill.
13347         (objc_string): Decompose to [objc_string] '@' STRING.
13348         (reswords): Take the leading '@' off all the Objective C keywords.
13349         (objc_rid_sans_at): Kill.
13350         (init_reswords): Don't initialize it.
13351         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
13352         (_yylex): Kill reconsider label.  Look ahead one token after
13353         an '@'; if we get an identifier, check whether it's an
13354         Objective C @-keyword.  If so, return the keyword.  Otherwise,
13355         put back the token and return the '@' as a terminal.
13356
13357         * cpplib.c (lex_macro_node): Remove unnecessary check for
13358         leading '@' on identifier.  Clarify control flow and commentary.
13359
13360 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13361
13362         * cse.c (new_label_ref): Variable deleted.
13363         (insert): Remove set of new_label_ref.
13364         (check_for_label_ref): New function.
13365         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
13366
13367 See ChangeLog.5 for earlier changes.