OSDN Git Service

* tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
2
3         * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
4         (TYPE_READONLY): Likewise.
5
6         * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
7
8         * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
9         don't pass --gdwarf2 to the assembler if the compiler will also
10         provide debug info.
11
12         * config/stormy16/stormy16.c (xstormy16_expand_casesi): 
13         Don't change INDEX.
14
15 Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16
17         * alias.c (nonoverlapping_memrefs_p): New function.
18         (true_dependence, canon_true_depenence, write_dependence_p): Call it.
19
20         * emit-rtl.c (set_mem_attributes): Get alignments for constants.
21
22 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
23
24         * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
25         (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
26         generating altivec code.
27         (FIXED_REGISTERS): VRSAVE is fixed.
28         (CALL_USED_REGISTERS): VRSAVE is call used.
29
30 2001-11-08  Jason Eckhardt  <jle@rice.edu>
31
32         * config/mips/mips.c (mips_output_conditional_branch): Do not hard
33         code the branch target as ".+16/.+12", but rather use labels.
34
35 Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
36
37         * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0  
38         to work around limitations of certain versions of GAS.
39
40         * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
41         (muldi3): Update due to SUBREG_BYTE changes.
42         (casesi): Similarly.
43
44 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
45
46         * doc/invoke.texi: Remove comment referring to -xf77-version.
47
48 2001-11-09  Kazu Hirata  <kazu@hxi.com>
49
50         * config/convex/convex.c: Fix comment formatting.
51         * config/convex/convex.h: Likewise.
52
53 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
54
55         * Makefile.in (.po.pox): Look both in srcdir and builddir
56         for $(PACKAGE).pot.
57         (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
58         to the source directory.
59
60 2001-11-09 Ben Elliston  <bje@redhat.com>
61            Michael Meissner  <meissner@redhat.com>
62            Andrew MacLeod  <amacleod@redhat.com>
63            Richard Henderson  <rth@redhat.com>
64            Nick Clifton  <nickc@redhat.com>
65            Catherine Moore  <clm@redhat.com>
66
67         * m32r.c: Add support for m32rx processor.
68         * m32r.h: Ditto.
69         * m32r.md: Ditto.
70         * t-m32r: Ditto.
71         * m32r-protos.h: Add prototypes for m32rx functions.
72         * doc/invoke.texi: Document -m32rx option.
73
74 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
75
76         * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
77         or after reload.
78
79 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
80
81         * doc/install.texi2html: Use $MAKEINFO --no-split.
82
83 2001-11-09  Andreas Schwab  <schwab@suse.de>
84
85         * Makefile.in ($(HOST_PREFIX_1)rtl.o,
86         $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
87         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o, 
88         $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
89         $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
90
91 2001-11-09  H.J. Lu <hjl@gnu.org>
92
93         * config/mips/mips.c (mips_output_function_prologues): Cast
94         `tsize' to long for output.
95
96 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
97
98         * c-lang.c (LANG_HOOKS_NAME): New.
99         (lang_hooks): Constify.
100         (c_init_options): Update.
101         (lang_identify): Remove.
102         * c-parse.in (language_string): Remove.
103         * dbxout.c: Include langhooks.h.
104         (dbxout_symbol_location): Update.
105         * dwarf2out.c: Include langhooks.h.
106         (gen_compile_unit_die): Update.
107         * dwarfout.c: Include langhooks.h.
108         (prototyped_attribute, output_compile_unit_die): Update.
109         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
110         (LANG_HOOKS_INITIALIZER): Update.
111         * langhooks.h (struct lang_hooks): New members.  Constify.
112         * stringpool.c: Don't include toplev.h.
113         (set_identifier_size): Remove.
114         * toplev.c (toplev_main): Initialize identifier size.
115         (print_version): Update.
116         * tree.h (language_string, init_lex, lang_identify,
117         set_identifier_size): Remove.
118         * Makefile.in: Update dependencies.
119         * config/darwin.c: Include langhooks.h.
120         (func_name_maybe_scoped): Update.
121         * config/darwin.h (ASM_END_FILE): Update.
122         * config/nextstep.h (ASM_END_FILE): Update.
123         * config/nextstep21.h (ASM_END_FILE): Update.
124         * config/i386/sun386.h (ASM_END_FILE): Update.
125         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
126         (rs6000_output_function_epilogue): Update.
127 objc:
128         * objc-act.c (LANG_HOOKS_NAME): Override.
129         (struct lang_hooks): Constify.
130         (objc_init_options): Update.
131         (lang_identify): Remove.
132
133 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
134
135         * fold-const.c (lshift_double): Honor PREC.
136         (rshift_double): Likewise.
137
138 2001-11-08  Kazu Hirata  <kazu@hxi.com>
139
140         * config/1750a/1750a.c: Fix comment formatting.
141         * config/1750a/1750a.h: Likewise.
142
143 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
144
145         * configure.in (--enable-languages): Be more permissive about
146         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
147         * configure: Regenerated.
148
149 2001-11-08  Richard Henderson  <rth@redhat.com>
150
151         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
152
153 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
154
155         * config.gcc: Rename stormy16 to xstormy16.
156         * config/stormy16/stormy-abi: Likewise.
157         * config/stormy16/stormy16-protos.h: Likewise.
158         * config/stormy16/stormy16.c: Likewise.
159         * config/stormy16/stormy16.h: Likewise.
160         * config/stormy16/stormy16.md: Likewise.
161
162 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
163
164         * tree.h (TYPE_VOLATILE): Add enable-checking code.
165         (TYPE_READONLY): Likewise.
166
167 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
168
169         * reload1.c (reload): Don't delete equiv insn if can throw.
170
171         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
172         (clear_storage): Likewise, for OBJECT.
173
174 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
175
176         * pa.c (emit_move_sequence): Fix SUBREG expression to
177         use proper byte offset when extending a constant from
178         SImode to DImode.
179
180 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
181
182         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
183         which cannot throw.
184
185 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
186
187         * explow.c (convert_memory_address, case SUBREG): Only return
188         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
189
190 2001-11-08  Richard Henderson  <rth@redhat.com>
191
192         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
193         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
194         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
195
196 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
197
198         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
199
200 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
201
202         * dwarf2out.c (debug_str_hash): New.
203         (struct indirect_string_node): New.
204         (struct dw_val_struct): Change type of val_str to it.
205         (DEBUG_STR_SECTION_FLAGS): Define.
206         (add_AT_string): Push string into hashtable, increment reference
207         counter.
208         (AT_string): Return string from ht_identifier.
209         (AT_string_form): New.
210         (free_AT): For dw_val_class_str, just decrement reference counter.
211         (size_of_string): Remove.
212         (size_of_die): Use AT_string_form to decide what size the string
213         occupies in DIE.
214         (size_of_pubnames): Use strlen instead of size_of_string.
215         (value_format): Use AT_string_form for dw_val_class_str.
216         (output_die): Output DW_FORM_strp strings using
217         dw2_asm_output_offset.
218         (indirect_string_alloc, output_indirect_string): New.
219         (dwarf2out_finish): Emit .debug_str strings if there are any.
220
221 2001-11-08  Andreas Franck  <afranck@gmx.de>
222
223         * configure.in: Add AC_ARG_PROGRAM to support program name
224         transformation with --program-prefix, --program-suffix and
225         --program-transform-name.
226         * configure: Regenerated.
227         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
228         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
229         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
230         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
231         program_transform_name the way suggested by autoconf.
232         (GCC_TARGET_INSTALL_NAME): Define.
233         (install-driver): Use the transformed target alias name.
234
235 2001-11-08  Richard Henderson  <rth@redhat.com>
236
237         * config/mips/mips.c (save_restore_insns): Remove GP from the
238         restore registers mask early instead of special casing it inside
239         the loop.
240
241 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
242
243         * cp/decl.c (shadow_warning): New function.
244         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
245         and an error when a block scope decl shadows a parameter.
246
247 2001-11-08  Richard Henderson  <rth@redhat.com>
248
249         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
250         case as well.
251
252 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
253
254         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
255         to implement floating negation on processors prior to PA 2.0.
256
257 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
258
259         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
260         (USE_LINKONCE_INDIRECT): Define.
261         (dw2_output_indirect_constant_1): Try to output indirect constants
262         into linkonce sections if possible.
263         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
264         (dw2_output_indirect_constants): Likewise.
265
266 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
267
268         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
269
270 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
271
272         * c-decl.c (pushdecl): Remove file and line.
273         * c-typeck.c (pop_init_level): Remove size.
274
275 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
276
277         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
278         for rs6000.
279
280         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
281         (TARGET_ALTIVEC): New.
282         (TARGET_SWITCHES): Add altivec.
283         (FIRST_PSEUDO_REGISTER): Change to 109.
284         (CALL_USED_REGISTERS): Same.
285         (FIRST_ALTIVEC_REGNO): New.
286         (LAST_ALTIVEC_REGNO): New.
287         (ALTIVEC_REGNO_P): New.
288         (UNITS_PER_ALTIVEC_WORD): New.
289         (ALTIVEC_VECTOR_MODE): New.
290         (FIXED_REGISTERS): Add altivec registers.
291         (REG_ALLOC_ORDER): Same.
292         (HARD_REGNO_NREGS): Adjust for altivec registers.
293         (HARD_REGNO_MODE_OK): Same.
294         (MODES_TIEABLE_P): Same.
295         (REGISTER_MOVE_COST): Same.
296         (REGNO_REG_CLASS): Same.
297         (reg_class): Add ALTIVEC_REGS.
298         (REG_CLASS_NAMES): Same.
299         (REG_CLASS_CONTENTS): Same.
300         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
301         (ALTIVEC_ARG_RETURN): New.
302         (FUNCTION_VALUE): Handle VECTOR_TYPE.
303         (LIBCALL_VALUE): Handle altivec vector modes.
304         (VECTOR_MODE_SUPPORTED_P): New.
305         (ALTIVEC_ARG_MIN_REG): New.
306         (ALTIVEC_ARG_MAX_REG): New.
307         (ALTIVEC_ARG_NUM_REG): New.
308         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
309         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
310         (REGISTER_NAMES): Add altivec regs.
311         (DEBUG_REGISTER_NAMES): Same.
312         (ADDITIONAL_REGISTER_NAMES): Same.
313         (rs6000_builtins): New.
314         (MD_EXPAND_BUILTIN): New.
315         (MD_INIT_BUILTINS): New.
316         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
317         for AltiVec instructions.
318         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
319         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
320         registers.
321         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
322         (TARGET_SWITCHES): Add no-altivec.
323         (DATA_ALIGNMENT): Align vectors to 128 bits.
324         (TARGET_OPTIONS): Add abi= option.
325         Add rs6000_abi_string extern.
326         (LOCAL_ALIGNMENT): New.
327         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
328         (MASK_ALTIVEC_ABI): New.
329         (TARGET_ALTIVEC_ABI): New.
330         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
331         call-saved.
332         (STACK_BOUNDARY): Adjust for altivec.
333         (BIGGEST_ALIGNMENT): Same.
334         (rs6000_args): Add vregno.
335         (USE_ALTIVEC_FOR_ARG_P): New.
336         (FIXED_REGISTERS): Add vrsave register.
337         (CALL_USED_REGISTERS): Same.
338         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
339         (VRSAVE_REGNO): New.
340         (reg_class): Add VRSAVE_REGS.
341         (REG_CLASS_NAMES): Same.
342         (REG_CLASS_CONTENTS): Same.
343         (REGNO_REG_CLASS): Same.
344         
345         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
346         (ABI_STACK_BOUNDARY): Same.
347         (BIGGEST_ALIGNMENT): Same.
348         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
349         (ROUND_TYPE_ALIGN): Same.
350         
351         * config/rs6000/aix.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/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
358         to 64.
359
360         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
361         (altivec_expand_builtin): New.
362         (altivec_init_builtins): New.
363         (TARGET_EXPAND_BUILTIN): New.
364         (TARGET_INIT_BUILTINS): New.
365         (rs6000_init_builtins): New.
366         (struct builtin_description): New.
367         (bdesc_2arg): New.
368         (rs6000_reg_names): Add altivec registers.
369         (alt_reg_names): Same.
370         (secondary_reload_class): Altivec regs can hold altivec regs and
371         memory.
372         (rs6000_emit_move): Force constants into memory for AltiVec moves.
373         (print_operand): Add 'y' case for printing altivec memory
374         operands.
375         (rs6000_legitimize_address): Legitimize vector addresses into
376         [REG+REG] or [REG].
377         (altivec_expand_binop_builtin): New.
378         New string rs6000_current_abi.
379         (rs6000_override_options): Call rs6000_parse_abi_options.
380         (rs6000_parse_abi_options): New.
381         (function_arg_boundary): Vector arguments must be 16
382         byte aligned.
383         (function_arg_advance): Handle vector arguments.
384         (function_arg_partial_nregs): Same.
385         (init_cumulative_args): Same.
386         (function_arg): Same.
387
388         * config/rs6000/rs6000.md (altivec_lvx): New.
389         (type): Add altivec attribute.
390         (movv4si): New.
391         (*movv4si_internal): New.
392         (movv16qi): New.
393         (*movv16qi_internal): New.
394         (movv8hi): New.
395         (*movv8hi_internal1): New.
396         (movv4sf): New.
397         (*movv4sf_internal1): New.
398         (altivec_stvx): New.
399         (vaddubm): New.
400         (vadduhm): New.
401         (vadduwm): New.
402         (vaddfp): New.
403         (vaddcuw): New.
404         (vaddubs): New.
405         (vaddsbs): New.
406         (vadduhs): New.
407         (vaddshs): New.
408         (vadduws): New.
409         (vaddsws): New.
410         (vand): New.
411         (vandc): New.
412         (vavgub): New.
413         (vavgsb): New.
414         (vavguh): New.
415         (vavgsh): New.
416         (vavguw): New.
417         (vavgsw): New.
418         (vcmpbfp): New.
419         (vcmpequb): New.
420         (vcmpequh): New.
421         (vcmpequw): New.
422         (vcmpeqfp): New.
423         (vcmpgefp): New.
424         (vcmpgtub): New.
425         (vcmpgtsb): New.
426         (vcmpgtuh): New.
427         (vcmpgtsh): New.
428         (vcmpgtuw): New.
429         (vcmpgtsw): New.
430         (vcmpgtfp): New.
431         (vcmpgefp): New.
432         (vcmpgtub): New.
433         (vcmpgtsb): New.
434         (vcmpgtuh): New.
435         (vcmpgtsh): New.
436         (vcmpgtuw): New.
437         (vcmpgtsw): New.
438         (vcmpgtfp): New.
439         (vmaxub): New.
440         (vmaxsb): New.
441         (vmaxuh): New.
442         (vmaxsh): New.
443         (vmaxuw): New.
444         (vmaxsw): New.
445         (vmaxfp): New.
446         (vmrghb): New.
447         (vmrghh): New.
448         (vmrghw): New.
449         (vmrglb): New.
450         (vmrglh): New.
451         (vmrglw): New.
452         (vminub): New.
453         (vminsb): New.
454         (vminuh): New.
455         (vminsh): New.
456         (vminuw): New.
457         (vminsw): New.
458         (vminfp): New.
459         (vmuleub): New.
460         (vmulesb): New.
461         (vmuleuh): New.
462         (vmulesh): New.
463         (vmuloub): New.
464         (vmulosb): New.
465         (vmulouh): New.
466         (vmulosh): New.
467         (vnor): New.
468         (vor): New.
469         (vpkuhum): New.
470         (vpkuwum): New.
471         (vpkpx): New.
472         (vpkuhss): New.
473         (vpkshss): New.
474         (vpkuwss): New.
475         (vpkswss): New.
476         (vpkuhus): New.
477         (vpkshus): New.
478         (vpkuwus): New.
479         (vpkswus): New.
480         (vrlb): New.
481         (vrlh): New.
482         (vrlw): New.
483         (vslb): New.
484         (vslh): New.
485         (vslw): New.
486         (vsl): New.
487         (vslo): New.
488         (vsrb): New.
489         (vrsh): New.
490         (vrsw): New.
491         (vsrab): New.
492         (vsrah): New.
493         (vsraw): New.
494         (vsr): New.
495         (vsro): New.
496         (vsububm): New.
497         (vsubuhm): New.
498         (vsubuwm): New.
499         (vsubfp): New.
500         (vsubcuw): New.
501         (vsububs): New.
502         (vsubsbs): New.
503         (vsubuhs): New.
504         (vsubshs): New.
505         (vsubuws): New.
506         (vsubsws): New.
507         (vsum4ubs): New.
508         (vsum4sbs): New.
509         (vsum4shs): New.
510         (vsum2sws): New.
511         (vsumsws): New.
512         (vxor): New.
513
514 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
515
516         * Makefile.in (df.o): Add fibheap.h to dependencies.
517        
518         * df.h: Add prototypes for transfer functions, iterative_dataflow
519         functions.
520         (enum df_flow_dir): New enum.
521         (enum df_confluence_op): New enum.
522         (struct df): Add inverse_rts_map.
523
524         * df.c: Add sbitmap.h to the list of includes.
525         (df_rd_global_compute): Removed.
526         (df_ru_global_compute): Removed.
527         (df_lr_global_compute): Removed.
528         (df_rd_transfer_function): New function.
529         (df_ru_transfer_function): New function.
530         (df_lr_transfer_function): New function.
531         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
532         Use iterative_dataflow_bitmap instead of df_*_global_compute.
533         (iterative_dataflow_sbitmap): New function.
534         (iterative_dataflow_bitmap): New function.
535
536 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
537
538         * doc/gcc.texi: Move terminology and spelling conventions to
539         htdocs/codingconventions.html.
540
541 2001-11-07  Graham Stott  <grahams@redhat.com>
542
543         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
544
545 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
546
547         * expmed.c (expand_mult): Force operand to register before computing
548         cost.
549         * i386.c (x86_decompose_lea): New global vairable.
550         * i386.h (x86_decompose_lea): Declare.
551         (TARGET_DECOMPOSE_LEA): New macro.
552         (RTX_COST): Handle leas properly.
553
554 2001-11-06  Richard Henderson  <rth@redhat.com>
555
556         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
557         defined for a CONSTRUCTOR; don't check it.
558
559 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
560
561         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
562         test for absolute pathnames.
563
564 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
565
566         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
567         instructions up to the target pc inclusive.
568
569 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
570
571         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
572
573 2001-11-06  Eric Christopher  <echristo@redhat.com>
574
575         * config/mips/mips.md(movdf_internal2): Add constraints for float
576         to general register move.
577         * config/mips/elf64.h: Add default ABI.
578
579 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
580
581         * alias.c:: Include langhooks.h.
582         * emit-rtl.c: Similarly.
583         * toplev.c: Similarly.
584         * tree-inline.c: Similarly.
585         * langhooks-def.h: New, the old langhooks.h.  Give the default
586         hooks a common prefix.
587         * langhooks.h: Contents extracted from toplev.h.
588         * toplev.h: Move langhook stuff to langhooks.h.
589         * langhooks.c: Give default hooks a common prefix.
590
591         * c-lang.c: Include langhooks-def.h.
592         * objc/objc-act.c: Similarly.
593         * Makefile.in: Update.
594         * objc/Make-lang.in: Update.
595
596 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
597
598         * doc/install.texi: Document that configure options not listed in
599         this file are unsupported.  Document --with-system-zlib.
600
601 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
602
603         * rtl.h (mem_for_const_double): New declaration.
604         * varasm.c (mem_for_const_double): New function.
605         * config/convex/convex.md (movdf): Use it.
606         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
607         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
608         * config/m68k/m68kv4.h: Likewise.
609
610         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
611         of new GP reg classes.
612
613         * expr.c (store_field): When making temp object for unaligned
614         component, set it to alias set 0.
615
616 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
617
618         * c-common.c (c_expand_expr_stmt): Apply default conversions to
619         non-lvalue arrays if C99.
620         * c-typeck.c (default_conversion): Split out code handling
621         array-to-pointer and function-to-pointer conversions into a
622         separate default_function_array_conversion function.
623         (default_function_array_conversion): New function.  Keep track of
624         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
625         arrays unchanged outside C99 mode instead of giving an error for
626         them.
627         (build_component_ref): Use pedantic_non_lvalue when handling
628         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
629         (convert_arguments): Use default_function_array_conversion.
630         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
631         non-lvalues are OK.
632         (unary_complex_lvalue): Likewise.
633         (internal_build_compound_expr): Use
634         default_function_array_conversion.  Apply default conversions to
635         function in compound expression.
636         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
637         Use default_function_array_conversion.
638         * doc/extend.texi: Update documentation of subscripting non-lvalue
639         arrays.
640         Fixes PR c/461.
641
642 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
643
644         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
645         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
646         corresponding to the complete set of .po and .gmo files in
647         the source directory's po subdir, modified by LINGUAS.  Don't
648         look at ALL_LINGUAS.
649         * configure.in: Don't set ALL_LINGUAS.
650         * configure: Regenerate.
651
652         * Makefile.in (.po.gmo): Don't move into source directory.
653         (.po.pox): Clarify comments.
654         (install-po): Look for .gmo files in both srcdir and objdir;
655         don't fail if a file is totally missing.
656         (distclean): rmdir ada subdirectory too.
657
658 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
659
660         * config/rs6000/rs6000.c (rs6000_select_section): Handle
661         CONSTRUCTORs _correctly_.
662
663 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
664
665         * c-decl.c (delete_block): Remove.
666         * c-tree.h (delete_block): Remove.
667
668 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
669
670         * cppexp.c (lex, parse_defined): Update warning about defined.
671
672 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
673
674         * config/rs6000/rs6000.c (rs6000_select_section): Handle
675         CONSTRUCTORs too.
676
677 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
678
679         * config/arm/arm.c (arm_return_in_memory): Cope with
680         int_size_in_bytes returning -1.
681
682         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
683         DECL being NULL.
684
685 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
686
687         * Makefile.in (bb-reoder.o): Add depdendency on cfglayout.h;
688         remove unneded depdendencies;
689         (cfglayout.o): New.
690         * cfglayout.c, cfglayout.h: New files; break out from ...
691         * bb-reorder.c: ... here; Remove unneeded includes;
692
693 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
694
695         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
696
697 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
698
699         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
700         mode as well.  Do not explicitly create intermediate regs.
701
702 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
703
704         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
705         (common_section): Delete unused variable.
706         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
707         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
708         * arm-protos.h (arm_poke_function_name, aof_add_import,
709         aof_delete_import): Const-ify.
710         * arm.c (legitimize_pic_address): Wrap variables in the macro
711         controlling their usage.
712         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
713         (arm_poke_function_name, pic_chain, import, aof_add_import,
714         aof_delete_import): Const-ify.
715         * i386.c (ix86_osf_output_function_prologue): Const-ify.
716         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
717         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
718         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
719         * i860/sysv3.h: Add missing comment closure.
720         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
721         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
722         to symbolic_operand.
723
724         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
725         (i960-*-*): Set tmake_file.
726         (sparc86x-*-elf*): Fix typo in header name.
727
728         * sched-rgn.c (schedule_insns): Delete unused variable.
729
730 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
731
732         PR c/2820
733         * c-typeck.c (lookup_field): Rework to return a chain down to
734         the looked-up field.
735         (build_component_ref): Use the new lookup_field to handle
736         nested anonymous entities correctly.
737
738 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
739
740         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
741         Change parameters to gen_rtx_CONST_DOUBLE.
742         (GEN_INT64, sparc_emit_set_const64): Likewise.
743         * config/sparc/sparc.md (movdf split): Likewise.
744
745 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
746
747         * unroll.c (calculate_giv_inc): Use find_last_value rather
748         than just hoping the last instruction is the right SET.
749         [Fixes 990604-1.c on stormy16.]
750
751         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
752         library at all if -T is used.
753
754         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
755         some uses of uninitialized variables in error cases.
756
757         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
758         look at 'temp' if we won't be using it.
759
760         * config/stormy16/stormy16.h (CONST_COSTS): Define.
761         (RTX_COSTS): Define.
762         (ADDRESS_COST): Define.
763         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
764
765         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
766
767         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
768         stormy16_asm_output_mi_thunk.
769         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
770         function.
771         * config/stormy16/stormy16-protos.h
772         (stormy16_asm_output_mi_thunk): New prototype.
773
774 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
775
776         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
777         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
778         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
779         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
780         sched-int.h, toplev.c, config/alpha/alpha.c,
781         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
782         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
783         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
784         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
785         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
786         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
787         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
788
789 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
790
791         * Makefile.in (dbxout.o): Depend on function.h.
792         * collect2.c (is_in_list): Hide unused function.
793         * dbxout.c: Include function.h.
794         (source_label_number, dbxout_source_line, dbxout_source_file,
795         dbxout_function_end, dbxout_begin_function): Wrap/move inside
796         macros controlling usage.
797         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
798         * output.h (exports_section): Prototype.
799
800         * convex.c (convex_output_function_prologue): Fix format specifier
801         warning.
802         (asm_declare_function_name): Fix signed/unsigned warning.
803         (print_operand): Fix format specifier warning.
804         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
805         * dsp16xx-protos.h (uns_comparison_operator,
806         num_1600_core_shifts): Prototype.
807         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
808         (frame_size, frame_pointer_offset): Delete.
809         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
810         Make static.  Fix format specifier warnings.
811         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
812         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
813         * dsp16xx.md: Add default case in switches.
814         * fr30.h (IN_RANGE): Delete.
815         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
816         * mcore-protos.h (mcore_output_cmov): Const-ify.
817         * mcore.c (mcore_output_cmov): Likewise.
818         * mcore.h (switch_to_section): Make static and prototype.
819         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
820         unsigned>=0 warnings.
821         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
822         * rs6000-protos.h (read_only_data_section,
823         read_only_private_data_section): Prototype.
824         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
825         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
826         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
827
828 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
829
830         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
831         ATTRIBUTE_UNUSED.
832         * final.c (final_scan_insn): Add brackets around body of if-stmt.
833         * gcc.c (convert_filename): Add static prototype.  Const-ify.
834         Wrap variable in macros controlling its use.
835         * output.h (sdata_section): Add prototype.
836
837         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
838         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
839         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
840         (ASM_FILE_START): Const-ify.
841         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
842         specifier warning.
843         * c4x.md: Don't use the 'U' integer suffix.
844         * clipper.md (clipper_movstr): Delete declaration.
845         * d30v-protos.h (d30v_move_2words): Const-ify.
846         (debug_stack_info): Add prototype.
847         * d30v.c: Include "integrate.h".
848         (d30v_function_arg_boundary, d30v_function_arg,
849         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
850         signed/unsigned warnings.
851         (d30v_print_operand_memory_reference, d30v_move_2words):
852         Const-ify.
853         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
854         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
855         * fr30.md: Const-ify.
856         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
857         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
858         (mvs_get_label_page): Hide unused static function.
859         * i860.c (current_function_original_name): Const-ify.
860         * i860/sysv3.h (current_function_original_name): Likewise.
861         * i860/sysv4.h (current_function_original_name): Likewise.
862         * i960.md: Add default case in switches.  Remove unused variable.
863         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
864         * m32r.md: Const-ify.
865         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
866         * m68hc11.c: Include "reload.h".
867         (static_chain_reg, print_options, m68hc11_asm_file_start):
868         Const-ify.
869         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
870         around & in comparison.
871         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
872         * mn10200.c (shift_mode): Remove trailing comma.
873         * mn10300-protos.h (output_tst): Const-ify.
874         * mn10300.c (output_tst): Likewise.
875         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
876         warnings.
877         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
878         * pa.c (output_ascii): Likewise.
879         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
880         * pdp11.md (expand_unop): Delete declarations.
881         * pj-protos.h (pj_output_addsi3): Const-ify.
882         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
883         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
884         unique_src_operand): Add prototypes.
885         (pj_output_store_into_lval): Make definition static.
886         (pj_function_incoming_arg): Don't use unary plus.
887         (pj_output_addsi3): Const-ify.
888         * romp.md (get_symref): Delete declarations.
889         * v850-c.c (mark_current_function_as_interrupt): Don't return
890         value from void function.
891         * v850.c: Include "integrate.h".
892         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
893         * vax-protos.h (const_section): Add prototype.
894
895 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
896
897         * machmode.def: Add documentation for the seventh argument in
898         vector modes.
899
900 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
901
902         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
903         consistently.
904         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
905         <-melf>: Don't have markup for ELF acronym.
906
907 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
908
909         * config.gcc (mmix-*-*): New target.
910         * doc/invoke.texi: Document MMIX options.
911         * doc/contrib.texi: Add note about MMIX port to my entry.
912         * config/mmix/t-mmix: New file.
913         * config/mmix/mmix.h: New file.
914         * config/mmix/mmix-protos.h: New file.
915         * config/mmix/mmix.c: New file.
916         * config/mmix/mmix.md: New file.
917         * config/mmix/crti.asm: New file.
918         * config/mmix/crtn.asm: New file.
919
920 2001-11-03  Kazu Hirata  <kazu@hxi.com>
921
922         * config/sparc/linux-aout.h: Fix comment formatting.
923         * config/sparc/linux.h: Likewise.
924         * config/sparc/linux64.h: Likewise.
925         * config/sparc/lynx.h: Likewise.
926         * config/sparc/pbd.h: Likewise.
927         * config/sparc/sol2-sld-64.h: Likewise.
928         * config/sparc/sol2.h: Likewise.
929         * config/sparc/sparc.c: Likewise.
930         * config/sparc/sparc.h: Likewise.
931         * config/sparc/sparc.md: Likewise.
932         * config/sparc/sunos4.h: Likewise.
933         * config/sparc/vxsim.h: Likewise.
934         * config/sparc/vxsparc.h: Likewise.
935         * config/sparc/vxsparc64.h: Likewise.
936
937 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
938
939         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
940         reference to CONST_DOUBLE_MEM in comment.
941         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
942         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
943         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
944         * function.c (pop_function_context_from): Don't call
945         restore_varasm_status.
946         * function.h (restore_varasm_status): Delete declaration.
947         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
948         * rtl.c: Likewise.
949         * rtl.def (CONST_DOUBLE): Update comment.
950         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
951         (CONST_DOUBLE_CHAIN): Likewise.
952         (CONST_DOUBLE_MEM): Delete.
953         (gen_rtx_CONST_DOUBLE): Update parameters.
954         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
955         Remove reference to CONST_DOUBLE_MEM.
956         (const_alias_set): New variable.
957         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
958         (immed_real_const_1): Adjust tests for 0, 1, and 2.
959         Don't set CONST_DOUBLE_MEM.
960         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
961         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
962         Put constant in const_alias_set.
963         (struct pool_constant): ALIGN now unsigned.
964         OFFSET now HOST_WIDE_INT.
965         Delete LABEL.
966         (restore_varasm_status): Deleted.
967         (mark_pool_constant): Mark desc->rtl.
968         (force_const_mem): Rework to store rtl in hash table,
969         not CONST_DOUBLE_MEM.
970         Put constant in const_alias_set.
971         (find_pool_constant): Check desc->rtl.
972         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
973         (init_varasm_once): Initialize const_alias_set.
974
975         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
976         force_const_mem.
977
978         * reload.c (combine_reloads): Don't combine an output reload if there
979         are other reloads around for part of the output.
980
981         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
982         constant expression.
983         (set_mem_decl): New function.
984         * expr.h (set_mem_decl): New declaration.
985         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
986         (output_asm_operand_names): Add tab.
987         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
988
989         * builtins.c (get_memory_rtx): Properly set MEM alias set and
990         attributes.
991
992 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
993
994         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
995         Use "invalid" instead of "illegal".  Use @r in comments in
996         examples.
997
998 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
999
1000         * c-decl.c (pushdecl): Move block inside if conditional to remove
1001         possibility of a segfault.  Lookup block-level extern
1002         variables in enclosing scopes correctly.
1003
1004         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
1005
1006 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
1007
1008         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
1009         SUBREG so we avoid SUBREGing memory.
1010
1011         * expmed.c (store_bit_field): Same.
1012
1013 2001-11-02  DJ Delorie  <dj@redhat.com>
1014
1015         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
1016         using FP registers for DImode mem-mem moves is acceptable.
1017
1018 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
1019
1020         * builtins.c (apply_args_size): Handle vector arguments.
1021         (apply_result_size): Same.
1022
1023         * machmode.def: Set WIDER mode field for all vector entries.
1024
1025 2001-11-02  Graham Stott  <grahams@redhat.com>
1026
1027         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
1028
1029 2001-11-01  Eric Christopher  <echristo@redhat.com>
1030
1031         * config.gcc: Revert part of earlier patch.
1032         * config/mips/linux.h: Ditto.
1033         * df.c: Include tm_p.h to avoid warnings.
1034         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
1035         #if/#endif.
1036         * config/mips/mips.c: Define mips_abi regardless.
1037         (mips_output_function_prologues): Add long casts for .frame
1038         output.
1039         (override_options): Allow use of ABI_32.
1040
1041 2001-11-01  Kazu Hirata  <kazu@hxi.com>
1042
1043         * config/m68hc11/m68hc11.c: Fix comment formatting.
1044         * config/m68hc11/m68hc11.h: Likewise.
1045         * config/m68hc11/m68hc11.md: Likewise.
1046
1047 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
1048
1049         * c-typeck.c (default_conversion): Retain the original expression
1050         codes.
1051         * gcc.dg/Wparentheses.c: New tests.
1052
1053 2001-11-01  David S. Miller  <davem@redhat.com>
1054
1055         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
1056         64-bit Sparc description more in line with reality.
1057
1058 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
1059
1060         * Makefile.in (GCOV_OBJS): Add version.o.
1061         * gcov.c: Include "version.h" and <getopt.h>.
1062         (gcov_version_string): Remove.
1063         (print_usage): Take a parameter to determine whether this is a
1064         call from --help or an error message.  Give fuller output that
1065         follows the GNU Coding Standards for --help.
1066         (print_version): New function.
1067         (options): New.
1068         (process_args): Use getopt_long.  Support long options.  Follow
1069         GNU Coding Standards for --help and --version.
1070         * doc/gcov.texi: Document long options.
1071         Addresses part of PR other/704.
1072
1073 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1074
1075         * pa.c (output_move_double): Fix typo in double load.
1076
1077 2001-11-01  Kazu Hirata  <kazu@hxi.com>
1078
1079         * config/h8300/h8300.c (h8300_encode_label): Compute a string
1080         before passing it to ggc_alloc_string.
1081
1082 2001-11-01  Kazu Hirata  <kazu@hxi.com>
1083
1084         * config/m68k/3b1.h: Fix comment formatting.
1085         * config/m68k/3b1g.h: Likewise.
1086         * config/m68k/a-ux.h: Likewise.
1087         * config/m68k/amix.h: Likewise.
1088         * config/m68k/apollo68.h: Likewise.
1089         * config/m68k/atari.h: Likewise.
1090         * config/m68k/aux-exit.c: Likewise.
1091         * config/m68k/ccur-GAS.h: Likewise.
1092         * config/m68k/crds.h: Likewise.
1093         * config/m68k/dpx2.h: Likewise.
1094         * config/m68k/dpx2g.h: Likewise.
1095         * config/m68k/hp310.h: Likewise.
1096         * config/m68k/hp320.h: Likewise.
1097         * config/m68k/isi.h: Likewise.
1098         * config/m68k/linux.h: Likewise.
1099         * config/m68k/lynx.h: Likewise.
1100         * config/m68k/m68k-psos.h: Likewise.
1101         * config/m68k/m68k.c: Likewise.
1102         * config/m68k/m68k.h: Likewise.
1103         * config/m68k/m68k.md: Likewise.
1104         * config/m68k/m68kelf.h: Likewise.
1105         * config/m68k/m68kv4.h: Likewise.
1106         * config/m68k/mot3300.h: Likewise.
1107         * config/m68k/news.h: Likewise.
1108         * config/m68k/next.h: Likewise.
1109         * config/m68k/pbb.h: Likewise.
1110         * config/m68k/plexus.h: Likewise.
1111         * config/m68k/sgs.h: Likewise.
1112         * config/m68k/sun3.h: Likewise.
1113         * config/m68k/tower.h: Likewise.
1114         * config/m68k/vxm68k.h: Likewise.
1115
1116 2001-10-31  DJ Delorie  <dj@redhat.com>
1117
1118         * config/mips/mips.h (mips_cache_flush_func): Prototype.
1119         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
1120         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
1121         * config/mips/mips.c (mips_cache_flush_func): New.
1122         * doc/invoke.texi: Document the new options.
1123
1124 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
1125
1126         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
1127         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
1128
1129         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
1130
1131         * config/cris/cris.c: Include output.h after tree.h but before
1132         target.h.
1133
1134 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
1135
1136         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
1137         (INTL_SUBDIRS): Just intl.
1138         (.SUFFIXES): Add .gmo .po .pox.
1139         (native): Also depend on build-@POSUB@.
1140         (intl.all, intl.install): Depend on config.h and things it includes.
1141         (po-generated): New target; depend on c-parse.c and tradcif.c.
1142         (install-normal): Also depend on install-@POSUB@.
1143         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
1144         (build-, install-, build-po, update-po, install-po,
1145         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
1146
1147         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
1148         * configure.in: Don't munge XGETTEXT.  Don't generate
1149         po/Makefile.in.
1150         * configure: Regenerate.
1151
1152         * exgettext: Delete.
1153         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
1154         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
1155
1156 2001-10-31  Kazu Hirata  <kazu@hxi.com>
1157
1158         * config/h8300/h8300.md (two anonymous patterns): New.
1159
1160 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
1161
1162         * tree.h (tree_index): Add support for V16QI and V8HI.
1163         (V8HI_type_node): New.
1164         (V16QI_type_node): New.
1165
1166         * tree.c (build_common_tree_nodes_2): Same.
1167
1168         * c-common.c (type_for_mode): Same.
1169
1170 2001-10-31  Kazu Hirata  <kazu@hxi.com>
1171
1172         * config/i386/att.h: Fix comment formatting.
1173         * config/i386/beos-elf.h: Likewise.
1174         * config/i386/bsd.h: Likewise.
1175         * config/i386/bsd386.h: Likewise.
1176         * config/i386/crtdll.h: Likewise.
1177         * config/i386/cygwin.asm: Likewise.
1178         * config/i386/cygwin.h: Likewise.
1179         * config/i386/djgpp.h: Likewise.
1180         * config/i386/freebsd-aout.h: Likewise.
1181         * config/i386/freebsd.h: Likewise.
1182         * config/i386/gas.h: Likewise.
1183         * config/i386/i386-interix.h: Likewise.
1184         * config/i386/i386-protos.h: Likewise.
1185         * config/i386/i386.c: Likewise.
1186         * config/i386/i386.h: Likewise.
1187         * config/i386/i386.md: Likewise.
1188         * config/i386/i386elf.h: Likewise.
1189         * config/i386/interix.c: Likewise.
1190         * config/i386/isc.h: Likewise.
1191         * config/i386/isccoff.h: Likewise.
1192         * config/i386/iscdbx.h: Likewise.
1193         * config/i386/linux.h: Likewise.
1194         * config/i386/lynx.h: Likewise.
1195         * config/i386/mingw32.h: Likewise.
1196         * config/i386/netbsd-elf.h: Likewise.
1197         * config/i386/next.h: Likewise.
1198         * config/i386/osf1elf.h: Likewise.
1199         * config/i386/osfrose.h: Likewise.
1200         * config/i386/sco5.h: Likewise.
1201         * config/i386/seq-gas.h: Likewise.
1202         * config/i386/seq-sysv3.h: Likewise.
1203         * config/i386/sequent.h: Likewise.
1204         * config/i386/sol2.h: Likewise.
1205         * config/i386/sun386.h: Likewise.
1206         * config/i386/uwin.asm: Likewise.
1207         * config/i386/uwin.h: Likewise.
1208         * config/i386/vxi386.h: Likewise.
1209         * config/i386/win32.h: Likewise.
1210         * config/i386/winnt.c: Likewise.
1211         * config/i386/xm-cygwin.h: Likewise.
1212         * config/i386/xm-mingw32.h: Likewise.
1213
1214 2001-10-31  Kazu Hirata  <kazu@hxi.com>
1215
1216         * builtins.def: Fix comment typos.
1217         * config/alpha.c: Likewise.
1218         * config/arm/arm.c: Likewise.
1219         * config/avr/avr.h: Likewise.
1220         * config/d30v/d30v.c: Likewise.
1221         * config/d30v/d30v.h: Likewise.
1222         * config/d30v/d30v.md: Likewise.
1223         * config/dsp16xx/dsp16xx.c: Likewise.
1224         * config/fr30/fr30.c: Likewise.
1225         * config/fr30/fr30.md: Likewise.
1226         * config/i386/i386.c: Likewise.
1227         * config/i860/i860.c: Likewise.
1228         * config/i960/i960.c: Likewise.
1229         * config/ia64/ia64.c: Likewise.
1230         * config/mips/mips.c: Likewise.
1231         * config/pa/pa.c: Likewise.
1232         * config/rs6000/rs6000.c: Likewise.
1233         * config/s390/s390.c: Likewise.
1234         * config/sparc/sparc.c: Likewise.
1235
1236 2001-10-30  Kazu Hirata  <kazu@hxi.com>
1237
1238         * config/mips/elf.h: Fix comment formatting.
1239         * config/mips/elf64.h: Likewise.
1240         * config/mips/iris5.h: Likewise.
1241         * config/mips/iris5gas.h: Likewise.
1242         * config/mips/iris6.h: Likewise.
1243         * config/mips/isa3264.h: Likewise.
1244         * config/mips/linux.h: Likewise.
1245         * config/mips/mips.c: Likewise.
1246         * config/mips/mips.h: Likewise.
1247         * config/mips/mips.md: Likewise.
1248         * config/mips/mips16.S: Likewise.
1249         * config/mips/netbsd.h: Likewise.
1250         * config/mips/osfrose.h: Likewise.
1251         * config/mips/r3900.h: Likewise.
1252         * config/mips/sni-svr4.h: Likewise.
1253         * config/mips/svr4-t.h: Likewise.
1254         * config/mips/ultrix.h: Likewise.
1255
1256 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
1257
1258         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
1259         when we update head->current.
1260
1261 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
1262
1263         * tree.c (id_string_size): Remove.
1264         (dump_tree_statistics): Update.
1265         * toplev.c (compile_file): If dumping stats, dump tree stats too.
1266
1267 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
1268
1269         * sched-rgn.c (schedule_insns): Fix comment.
1270
1271 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
1272
1273         * configure.in: Correct previous change: don't assume that
1274         gas's version number _isn't_ the last thing on the line, or
1275         isn't the only number on the line, either.
1276         * configure: Regenerate.
1277
1278 2001-10-30  Kazu Hirata  <kazu@hxi.com>
1279
1280         * cfgcleanup.c: Fix a comment typo.
1281
1282 2001-10-30  Kazu Hirata  <kazu@hxi.com>
1283
1284         * alias.c: Fix comment formatting.
1285         * recog.c: Likewise.
1286         * config/cris/cris.c: Likewise.
1287         * config/cris/cris.h: Likewise.
1288         * config/i960/i960.c: Likewise.
1289         * config/i960/i960.h: Likewise.
1290
1291 2001-10-30  Kazu Hirata  <kazu@hxi.com>
1292
1293         * config/arm/arm.c: Fix a comment typo.
1294         * config/arm/arm.h: Likewise.
1295         * config/ia64/ia64.c: Likewise.
1296
1297 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
1298
1299         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
1300         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
1301         * rtl.h (set_unique_reg_note): Change return value.
1302         * gcse.c (try_replace_reg): Use set_unique_reg_note.
1303         * cse.c (cse_insn): Likewise.
1304         * expr.c (emit_move_insn): Likewise.
1305         * explow.c (force_reg): Likewise.
1306         * local-alloc (update_equiv_regs): Likewise.
1307         * loop.c (move_moveables, load_mems): Likewise.
1308         * reload (find_reloads): Likewise.
1309
1310 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
1311
1312         Localization fixes.
1313         * c-decl.c (parmlist_tags_warning, start_struct,
1314         check_for_loop_decls): Separate messages for struct, union and
1315         enum cases to allow for languages in which they have different
1316         genders.
1317         * c-format.c (scanf_flag_specs): Separate short and long name of
1318         the assignment suppression feature.
1319         (check_format_types): Localize "pointer" and "different types"
1320         strings.
1321         * c-lex.c (lex_number): Localize "an unsigned long int" and
1322         related strings.
1323         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
1324         warning message.
1325         * c-typeck.c (build_unary_up): Separate messages for increment and
1326         decrement cases to allow for languages in which they use different
1327         articles.  Localize the strings "increment" and "decrement" in one
1328         case.
1329
1330 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
1331
1332         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
1333         when no changes has been made.
1334
1335         * gcse.c (reg_set_bitmap): Turn into reg_set.
1336         (modify_mem_list_set, canon_modify_mem_list_set)
1337         (clear_modify_mem_tables, free_modify_mem_tables): New.
1338         (gcse_main); Use free_modify_mem_tables.
1339         (free_gcse_mem): Likewise; free the bitmaps.
1340         (alloc_gcse_main): Initialize the bitmaps.
1341         (canon_list_insert): Set canon_modify_mem_list_set.
1342         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
1343         (compute_hash_table): Use clear_modify_mem_tables.
1344         (reset_opr_set_tables): Likewise.
1345         (oprs_not_set_p): reg_set_bitmap is regset.
1346         (mark_set, mark_clobber): Likewise.
1347
1348         * df.h (DF_EQUIV_NOTES): New constant.
1349         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
1350         when asked for.
1351
1352         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
1353         (init_regions, schedule_insns): Conditionalize the checking
1354         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
1355
1356 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
1357
1358         * i386.md (movti_rex64 splitter): Fix condition.
1359
1360 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
1361
1362         * configure.in: Do not assume that gas's version number is the
1363         last thing on the first line of as --version output.
1364         * configure: Regenerate.
1365
1366         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
1367         MT_WARNING, MT_ERROR, MT_FATAL.
1368         (main): Call gcc_init_libintl.
1369         (v_message): Call gettext on msgid and "warning: "
1370         * tradcif.y: Include intl.h.
1371         (yyerror): Make parameter definition consistent with
1372         prototype.  Call gettext on msgid argument.
1373
1374 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1375
1376         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
1377         warnings.
1378
1379         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
1380
1381 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1382
1383         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
1384         before referencing it.
1385
1386 2001-10-26  DJ Delorie  <dj@redhat.com>
1387
1388         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
1389         override -G, and force -G0.
1390
1391 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
1392
1393         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
1394         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
1395         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
1396         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
1397
1398         * loop.h (struct induction): Rename ext_dependant to
1399         ext_dependent.
1400         * loop.c: Change all uses.
1401         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
1402         All callers changed.
1403         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
1404
1405 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
1406
1407         * c-parse.in (expr_no_commas, primary), c-typeck.c
1408         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
1409
1410 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
1411
1412         Undo assemble_name change in earlier patch.
1413
1414 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
1415
1416         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
1417         determining the type of the receiver, do not check that TREE_CODE
1418         of receiver is CALL_EXPR before calling receiver_is_class_object().
1419         (receiver_is_class_object): For the GNU runtime: recognize
1420         the case that the receiver is self in a class method context.
1421         Check that TREE_CODE of receiver is CALL_EXPR when checking that
1422         the receiver is a call to objc_get_class.
1423
1424 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1425
1426         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
1427
1428 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1429
1430         * Makefile.in (OBJS): Put all files in alphabetical order.
1431
1432         * dwarf2out.c (add_const_value_attribute): Fix error in last
1433         change.
1434
1435 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
1436
1437         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
1438         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
1439         fix warning.
1440         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
1441         (life_analysis): call purge_all_dead_edges after deleting noops.
1442         (delete_noop_move): Do not purge CFG.
1443         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
1444
1445 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
1446
1447         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
1448         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
1449         (ASM_GLOBALIZE_LABEL): Use assemble_name.
1450         (ASM_OUTPUT_COMMON): Likewise.
1451         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
1452         (rs6000_output_function_epilogue): Likewise.
1453         (output_mi_thunk): Fix typo.
1454         (rs6000_output_symbol_ref): Use assemble_name.
1455         (output_toc): Likewise.
1456         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
1457         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
1458         assemble_name calls STRIP_NAME_ENCODING.
1459         (ASM_OUTPUT_LABEL): Use assemble_name.
1460         (ASM_GLOBALIZE_LABEL): Likewise.
1461         (ASM_DECLARE_FUNCTION_NAME): Likewise.
1462         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
1463         (ASM_OUTPUT_LOCAL): Likewise.
1464
1465 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1466
1467         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
1468         (expand_builtin_apply, expand_builtin_return): Likewise.
1469         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
1470
1471 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
1472
1473         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
1474         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
1475         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
1476         configure, configure.in, except.c, except.h, flow.c, function.c,
1477         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
1478         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
1479         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
1480         unroll.c: Fix spelling errors.
1481
1482         * doc/extend.texi, doc/invoke.texi: Fix spelling.
1483
1484         * doc/gcc.texi: Document use of "dependent" and American spelling.
1485
1486 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
1487
1488         * expr.c (emit_group_load): Support CONCATs by storing them to memory
1489         and reloading.
1490
1491 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1492
1493         * expr.c (store_constructor_field): Only call adjust_address on MEM.
1494
1495 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
1496
1497         * genrecog.c (write_switch):  Output if before switch for
1498         DT_elt_zero_wide_safe.
1499
1500 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1501
1502         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
1503         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
1504         (FUNCTION_PROFILER): Const-ify.
1505         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
1506         (eliminate_constant_term, assemble_name, output_addr_const):
1507         Remove declarations.
1508         (ptr_half_pic_address_p, half_pic_hash): Prototype.
1509         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
1510         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
1511         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
1512         (half_pic_declare, half_pic_external): Const-ify.
1513         * toplev.c: Include "halfpic.h".
1514
1515 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
1516
1517         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
1518         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
1519         config/i386/i386.c, config/i386/i386-interix.h,
1520         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
1521         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
1522         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
1523         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
1524         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
1525         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
1526         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
1527         spelling errors.
1528
1529         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
1530         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
1531         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
1532         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
1533         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
1534         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
1535         system.h, toplev.c: Fix spelling errors.
1536
1537 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1538
1539         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
1540
1541         * dwarf2out.c (reg_number): Abort if pseudo.
1542         (reg_loc_descriptor): Return 0 if pseudo.
1543         (is_based_loc): Return 0 if pseudo.
1544         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
1545         recursive calls.
1546         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
1547         (loc_descriptor): Return 0 if can't find location and handle 0
1548         return from recursive calls.
1549         (loc_descriptor_from_tree): Likewise.
1550         Fix handling of indirect.
1551         Also return 0 for PLACEHOLDER_EXPR.
1552         Clean up COMPONENT_REF cases.
1553         (add_AT_location_descriptor): Simplify, but handle 0 return from
1554         loc_descriptor.
1555         (add_const_value_attribute): Avoid shift count warning.
1556         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
1557         Set comp_unit_die as context if not in function.
1558
1559         * config/mips/mips-protos.h: Break up long lines.
1560         Remove needless #ifdef/#endif blocks.
1561         Don't declare functions declared in file made by genpreds or recog.h.
1562         * config/mips/mips.c (mips_output_function_prologue): TSIZE
1563         is now HOST_WIDE_INT; delete unneeded casts.
1564         * config/mips/mips.h: Don't use #elif.
1565
1566         * expr.c (stor_constructor_field): Always call adjust_address.
1567         Copy TARGET before changing its alias set.
1568         (store_field): Likewise, for TO_RTX.
1569         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
1570         replacement.
1571         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
1572         (find_placeholder): Return 0 if can't find object.
1573         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
1574         returns 0.
1575
1576 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
1577
1578         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
1579
1580 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
1581
1582         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
1583         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
1584         (merge_blocks): Properly udpate life after making edge nonfallthru.
1585         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
1586
1587 2001-10-26  Kazu Hirata  <kazu@hxi.com>
1588
1589         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
1590
1591 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
1592
1593         * c-typeck.c (convert_arguments): When comparing for enumeral
1594         type equality, use TYPE_MAIN_VARIANT.
1595         * gcc.dg/Wconversion.c: New tests.
1596
1597 2001-10-26  Kazu Hirata  <kazu@hxi.com>
1598
1599         * s390/s390.c: Fix comment typos.
1600         * s390/s390.h: Likewise.
1601         * s390/s390.md: Likewise.
1602
1603 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
1604
1605         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
1606         (walk_tree): Use it for tail calls where appropriate.
1607
1608 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
1609
1610         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
1611         non-local label_refs.
1612
1613 2001-10-26  Kazu Hirata  <kazu@hxi.com>
1614
1615         * config/h8300/h8300.md (4 anonymous patterns): New.
1616
1617 2001-10-26  Kazu Hirata  <kazu@hxi.com>
1618
1619         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
1620         algorithm through the shift_info structure.
1621         (emit_a_shift): Update the use of get_shift_alg.
1622
1623 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
1624
1625         * sched-rgn.c: Remove bitset typedef.
1626         Change bitset to sbitmap in prototypes / variable types.
1627         Remove bbset_size.
1628         Remove edgeset_bits.
1629         Remove edgeset_size.
1630         s/BITSET_ADD/SET_BIT/g
1631         s/BITSET_INVERT/sbitmap_ones/g
1632         s/BITSET_INTER/sbitmap_a_and_b/g
1633         s/BITSET_UNION/sbitmap_a_or_b/g
1634         s/BITSET_DIFFER/sbitmap_difference/g
1635         s/bitset_member/TEST_BIT/g
1636         (BITSET_*): Removed.
1637         (bitset_member): Removed.
1638         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
1639         EXECUTE_IF_SET_IN_SBITMAP.
1640         (split_edges): Rewrite, use sbitmap functions instead of bitset
1641         operations.
1642         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
1643
1644 2001-10-26  Andreas Schwab  <schwab@suse.de>
1645
1646         * reload1.c (emit_input_reload_insns): Fix parens in last
1647         (undocumented) change that was supposed to change only whitespace.
1648
1649 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1650
1651         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
1652
1653         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
1654         ASM_OPERANDS.
1655
1656 2001-10-26  Andreas Jaeger  <aj@suse.de>
1657
1658         * flow.c (clear_log_links): Remove unused variable.
1659         * cfgcleanup.c (cleanup_cfg): Likewise.
1660
1661 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
1662
1663         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
1664         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
1665
1666 2001-10-26  Richard Henderson  <rth@redhat.com>
1667
1668         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
1669         rename PV_REG to R27_REG.
1670         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
1671         (REG_CLASS_FROM_LETTER): Update.
1672         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
1673         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
1674         (udivsi3, modsi3, umodsi3): Likewise.
1675         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
1676
1677 2001-10-26  Richard Henderson  <rth@redhat.com>
1678
1679         * cfg.c (clear_aux_for_blocks): Split out of ...
1680         (free_aux_for_blocks): here.
1681         (clear_aux_for_edges): Split from ...
1682         (free_aux_for_edges): here.
1683         * basic-block.h: Declare them.
1684         * lcm.c (compute_antinout_edge): Use them.
1685         (compute_laterin, compute_available, compute_nearerout): Likewise.
1686         (optimize_mode_switching): Likewise.
1687
1688 2001-10-26  Richard Henderson  <rth@redhat.com>
1689
1690         * Makefile.in (unstage*): Remove as, ld, collect-ld before
1691         moving everything back to the main build directory.
1692
1693 2001-10-26  Christopher Faylor  <cgf@redhat.com>
1694
1695         * config/i386/cygwin.h: Search target specfic include directory, if
1696         appropriate.
1697
1698 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1699
1700         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
1701         of macro guards. Fix #endif comment.
1702
1703         * output.h (default_exception_section, default_eh_frame_section):
1704         Move prototypes outside of macro guard.
1705
1706         * crtstuff.c: Fix #endif comment.
1707
1708 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
1709
1710         * doc/md.texi (movMM): Clarify semantics of storing into a
1711         non-paradoxical SUBREG.
1712
1713 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
1714
1715         * langhooks.c (lang_hook_default_clear_binding_stack): New.
1716         (lang_hook_default_get_alias_set): Move next to other alias
1717         hooks.
1718         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
1719         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
1720         (LANG_HOOKS_INITIALIZER): Add it.
1721         * toplev.h (struct lang_hooks): Add clear_binding_stack.
1722         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
1723         instead of a loop calling poplevel.
1724
1725 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
1726
1727         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
1728         occurrences of #elif with #if...#endif.
1729
1730 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1731
1732         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
1733
1734 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1735
1736         * alias.c (can_address_p): No longer static.
1737         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
1738         Return 0 if all parameters are default values.
1739         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
1740         (adjust_address_1): Try harder to compute a size.
1741         * expr.c (expand_assignment, store_constructor): If can't address,
1742         set MEM_KEEP_ALIAS_SET_P.
1743         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
1744         (store_field): Likewise.
1745         (store_constructor): Simplify call to store_constructor_field.
1746         * expr.h (can_address_p): New declaration.
1747         * gensupport.c (gen_rtx_CONST_INT): New function.
1748         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
1749         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
1750         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
1751
1752         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
1753
1754 2001-10-24  Christopher Faylor  <cgf@redhat.com>
1755
1756         * config/i386/cygwin.h: Use proper path for mingw crt files when
1757         -mno-cygwin.
1758
1759 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1760
1761         * dwarf2out.c (file_info_cmp): Always return consistent results.
1762
1763 2001-10-24  Roger Sayle <roger@eyesopen.com>
1764
1765         * stmt.c (expand_end_case): Index jumptables from zero for
1766         suitably small values of minval.
1767
1768 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
1769
1770         * stor-layout.c (place_union_field): If any field was aligned with
1771         attribute aligned, set record type's TYPE_USER_ALIGN.
1772         (place_field): Likewise.
1773         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
1774         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
1775
1776 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
1777
1778         * c-common.h (struct c_common_identifier): Remove rid_code field.
1779         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
1780
1781         * c-typeck.c (constructor_designated): New local flag.
1782         (struct constructor_stack): Add "designated" field to match.
1783         (start_init): Clear it.
1784         (really_start_incremental_init, push_init_level): Push and
1785         clear it.
1786         (pop_init_level): Pop it.
1787         (set_designator): Set it.
1788
1789         (pop_init_level): Suppress "missing initializer" warnings if
1790         constructor_designated is true.
1791         (process_init_element): Suppress warning about union
1792         initialization under traditional C, if constructor_designated
1793         is true.
1794
1795 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1796
1797         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
1798         change.
1799
1800 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
1801
1802         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
1803
1804 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
1805
1806         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
1807         the node was already a set to a constant.
1808
1809 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1810
1811         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
1812         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
1813
1814 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1815
1816         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
1817         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
1818         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
1819         * s390.c (s390_final_chunkify): Don't use string concatenation.
1820         (s390_function_prologue, s390_function_epilogue): Const-ify.
1821         * s390.h (FUNCTION_PROFILER): Remove unused variable.
1822
1823 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
1824
1825         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
1826         prototypes.
1827
1828 2001-10-23  Stan Shebs  <shebs@apple.com>
1829
1830         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
1831         -traditional-cpp in first-stage compilation.
1832
1833 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1834
1835         * gensupport.c (target_flags): Add.
1836
1837 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
1838
1839         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
1840         if needed.
1841         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
1842         * except.c (expand_builtin_frob_return_addr): Likewise.
1843         (expand_builtin_eh_return): Likewise.
1844         * stmt.c (expand_computed_goto): Likewise.
1845         * explow.c (memory_address): Likewise.
1846         (allocate_dynamic_stack_space): Clean up predicate testing.
1847         (probe_stack_range): Convert SIZE to Pmode.
1848         * calls.c (rtx_for_function_call): Only call convert_memory_address
1849         if needed.
1850         Pass function call operand as ptr_mode, not Pmode.
1851         * expr.c (expand_assignment): Clean up calls to convert_memory
1852         address by only doing so when needed and making offsets Pmode.
1853         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
1854         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
1855         is in Pmode, not ptr_mode.
1856
1857 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1858
1859         * darwin-protos.h (constructor_section, destructor_section,
1860         mod_init_section, mod_term_section): Prototype.
1861         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
1862         Const-ify.
1863         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
1864         Likewise.
1865         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
1866         objc_section_init declaration.
1867         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
1868         (objc_section_init, try_section_alias): Make static.
1869         (alias_section): Make static and hide unused function.
1870         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
1871
1872 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1873
1874         * alias.c (can_address_p): Compnonents are not addressable if
1875         the containing type has alias set 0.
1876         (get_alias_set): Rework to use STRIP_NOPS.
1877         Only call front-end routine on object, type, or object with
1878         NOPs stripped, not inner values.
1879         Use language hook to call front-end routine.
1880         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
1881         (expand_builtin_apply): Call set_mem_align on MEMs we make.
1882         Don't pass alignment to emit_block_move.
1883         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
1884         (expand_builtin_memset): Likewise, but for clear_storage.
1885         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
1886         and remove C++ specific parts.
1887         * c-common.h (c_common_get_alias_set): Add declaration.
1888         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
1889         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
1890         (save_fixed_argument_area): Call set_mem_align.
1891         Remove alignment in call to emit_block_move.
1892         (emit_library_call_value_1, store_one_arg): Likewise.
1893         (target_for_arg): Remove; disabled long ago.
1894         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
1895         once and similar cleanups.
1896         (offset_address): Use proper introductory comment.
1897         * expr.c (emit_block_move): Use alignment from that of MEM args, not
1898         from explicit operand; all callers changed.
1899         (clear_storage): Likewise.
1900         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
1901         (store_field): Remove kludge on alias set used for to_rtx.
1902         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
1903         (expand_expr_unaligned): Call set_mem_attributes instead of
1904         set_mem_alias_set.
1905         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
1906         * function.c (assign_stack_temp_for_type): Set MEM alignment.
1907         (expand_function_end): Track MEM attributes of trampolines.
1908         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
1909         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
1910         attributes from original.
1911         * langhooks.c (lang_hook_default_get_alias_set): New function.
1912         (hook_get_alias_set_0): New function.
1913         * langhooks.h (hook_get_alias_set_0): New declaration.
1914         (lang_hook_default_get_alias_set): Likewise.
1915         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
1916         * reload1.c (alter_reg): Use adjust_address_nv.
1917         * rtl.c (get_mode_alignment): Moved to here.
1918         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
1919         change default if unknown from 1 to BITS_PER_UNIT.
1920         * stor-layout.c (get_mode_alignment): Remove from here.
1921         * toplev.h (struct lang_hoks): Add get_alias_set field.
1922         * tree.h (lang_get_alias_set): Delete declaration.
1923         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
1924         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
1925         (ix86_va_arg): Likewise.
1926         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
1927         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
1928         * config/sparc/sparc.c (sparc_va_arg): Likewise.
1929         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
1930         (expand_block_move_mem): Remove dead code.
1931
1932 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
1933
1934         * c-common.c (warn_div_by_zero): New.
1935         * c-common.h (warn_div_by_zero): New.
1936         * c-decl.c (c_decode_option): Take it on the command line.
1937         * c-typeck.c (build_binary_op): Warn about division by zero.
1938         * doc/invoke.texi: Document the new command line option, fix
1939         documentation of -Wmultichar.
1940         * testsuite/gcc.dg/divbyzero.c: New tests.
1941         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
1942
1943 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
1944
1945         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
1946
1947         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
1948         to avoid update_life_info call.
1949         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
1950         * cfgcleanup.c (bb_flags): New enum.
1951         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
1952         (notice_new_block, update_forwarder_flag): New functions.
1953         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
1954         (try_forward_edges): Likewise; update flags.
1955         (merge_blocks): Likewise.
1956         (outgoing_edges_match): Likewise.
1957         (try_crossjump_to_edge): Likewise.
1958         (try_optimize_cfg): Likewise; initialize and clear the flags;
1959         recompute life info if needed.
1960         (cleanup_cfg): No need to clear aux pointers.
1961
1962 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
1963
1964         * config/i386/i386.c (override_options): Default to minimum
1965         stack alignment when optimizing for code size.
1966         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
1967         change.
1968
1969         * config/i386/i386.c (override_options): Set upper limit of
1970         -mpreferred-stack-boundary to 12.
1971
1972 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
1973
1974         * recog.c (peephole2_optimize): Add default case to switch.
1975
1976 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
1977
1978         * doc/gcc.texi (Sending Patches): Remove.
1979
1980 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
1981
1982         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
1983         fields when comparing.
1984
1985 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1986
1987         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
1988         * arm.c (HOST_INT, HOST_UINT): Likewise.
1989
1990 2001-10-22  Stan Shebs  <shebs@apple.com>
1991
1992         * config/darwin-protos.h (darwin_exception_section): Declare.
1993         (darwin_eh_frame_section): Declare.
1994
1995 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
1996
1997         * i386.md (movti_rex64): Fix mode.
1998
1999 2001-10-22  Stan Shebs  <shebs@apple.com>
2000
2001         * target.h (struct gcc_target): Add asm_out.exception_section,
2002         asm_out.eh_frame_section.
2003         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
2004         (TARGET_ASM_EH_FRAME_SECTION): New.
2005         (TARGET_INITIALIZER): Update.
2006         * output.h (default_exception_section): Declare.
2007         (default_eh_frame_section): Declare.
2008         * dwarf2out.c: Include target.h.
2009         (output_call_frame_info): Call target hook for eh frames.
2010         (default_eh_frame_section): New function.
2011         * except.c: Include target.h.
2012         (output_function_exception_table): Call target hook for exception
2013         section.
2014         * varasm.c (default_exception_section): Rename from
2015         exception_section, remove EXCEPTION_SECTION macro.
2016
2017         * config/darwin.h (darwin_eh_frame_section): New function.
2018         (EXCEPTION_SECTION): Remove.
2019         (TARGET_ASM_EXCEPTION_SECTION): Define.
2020         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
2021         (nextstep_exception_section): New function.
2022         (nextstep_eh_frame_section): New function.
2023         (TARGET_ASM_EXCEPTION_SECTION): Define.
2024         (TARGET_ASM_EH_FRAME_SECTION): Define.
2025
2026         * config/pa/som.h (EXCEPTION_SECTION): Remove.
2027         (TARGET_ASM_EXCEPTION_SECTION): Define.
2028         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
2029         (EXCEPTION_SECTION): Remove.
2030         (TARGET_ASM_EXCEPTION_SECTION): Define.
2031         * config/stormy16/stormy16.h: Remove comments referencing
2032         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
2033
2034         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
2035         TARGET_ASM_EH_FRAME_SECTION.
2036
2037 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
2038
2039         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
2040         terms.
2041
2042         * c-format.c: Fix spelling typo in comment.
2043
2044         * sched-int.h: Fix typo in GCC preamble.
2045
2046 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2047
2048         PR debug/4252
2049         * doc/invoke.texi: Remove references to -fdump-translation-unit.
2050
2051 2001-10-22  Richard Henderson  <rth@redhat.com>
2052
2053         * config/i386/i386.c (ix86_expand_clear): New.
2054         * config/i386/i386-protos.h: Declare it.
2055         * config/i386/i386.md (setcc peep2s): Use it.
2056         (movsi_xor): Unexport.
2057
2058 2001-10-22  Richard Henderson  <rth@redhat.com>
2059
2060         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
2061         free_EXPR_LIST_list for LOG_LINKS.
2062
2063 2001-10-21  Robert Lipe  <robertlipe@usa.net>
2064
2065         * config/i386/i386.c (sco_asm_named_section): Delete.
2066         (sco_asm_out_constructor): Delete.
2067         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
2068         (ASM_OUTPUT_DOUBLE_INT): Likewise.
2069         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
2070         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
2071         (EXCEPTION_SECTION): Delete EH scn renaming hack.
2072
2073 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2074
2075         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
2076         and/or fold extra calls into fewer ones.
2077         * collect2.c (dump_file): Likewise.
2078         * cppexp.c (parse_number): Likewise.
2079         * cpplex.c (_cpp_lex_direct): Likewise.
2080         * final.c (output_asm_insn, asm_fprintf): Likewise.
2081         * fix-header.c (inf_scan_ident, main): Likewise.
2082         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
2083         Likewise.
2084         * fold-const.c (real_hex_to_f): Likewise.
2085         * gen-protos.c (parse_fn_proto): Likewise.
2086         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
2087         * genrecog.c (change_state, write_action): Likewise.
2088         * gensupport.c (shift_output_template): Likewise.
2089         * local-alloc.c (requires_inout): Likewise.
2090         * mips-tfile.c (IS_ASM_IDENT): Likewise.
2091         * protoize.c (is_id_char, main): Likewise.
2092         * real.c (asctoeg): Likewise.
2093         * recog.c (asm_operand_ok): Likewise.
2094         * reload.c (find_reloads): Likewise.
2095         * scan.c (scan_identget_token): Likewise.
2096         * sched-vis.c (print_value): Likewise.
2097         * stringpool.c (ggc_alloc_string): Likewise.
2098         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
2099         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
2100         * tradcpp.c (rescan): Likewise.
2101         * tree.c (clean_symbol_name): Likewise.
2102         * varasm.c (decode_reg_name): Likewise.
2103
2104         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
2105         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
2106         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
2107         * m88k.c (output_ascii): Likewise.
2108         * m88k.h (OVERRIDE_OPTIONS): Likewise.
2109         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
2110         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
2111         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
2112
2113 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
2114
2115         * langhooks.c (lang_hook_default_do_nothing,
2116         lang_hook_default_decode_option): New defaults.
2117         * langhooks.h: Make hooks unconditional and non-NULL.
2118         * toplev.c (compile_file, toplev_main): Update.
2119         * toplev.h: Update comments.
2120         * objc/objc-act.c (lang_hooks): Update to new paradigm.
2121
2122 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2123
2124         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
2125
2126         * system.h (IN_RANGE): New macro.
2127
2128 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
2129
2130         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
2131         INTLDEPS variable, which does not include $LIBICONV.
2132         * Makefile.in: Use INTLDEPS in LIBDEPS.
2133         * configure: Regenerate.
2134
2135 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
2136
2137         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
2138         * cpplex.c (lex_percent, lex_dot): Remove.
2139         (get_effective_char, skip_block_comment, skip_line_comment,
2140         parse_identifier_slow, parse_number, parse_string, save_comment,
2141         _cpp_lex_direct): Update to do lookback freely.
2142         (IF_NEXT_IS, BACKUP): New macros.
2143         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
2144         * cppmacro.c (paste_tokens): Update.
2145
2146 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
2147
2148         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
2149
2150 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
2151
2152         * reload1.c (reload): Check CONSTANT_P before calling
2153         LEGITIMATE_PIC_OPERAND_P.
2154         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
2155         workaround of 2001-10-13.
2156
2157 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
2158
2159         * i386.c (split_di): Handle splitting of DFmode.
2160
2161 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2162
2163         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
2164         (adjust_address_1, offset_address): Likewise.
2165
2166         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
2167         (output_asm_insn): Call it for each line output.
2168         Don't record an operand more than once.
2169
2170         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
2171         * main.c: Include config.h and system.h, but not ansidecl.h.
2172         * Makefile.in (main.o): Update accordingly.
2173
2174 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
2175
2176         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
2177
2178 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
2179
2180         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
2181         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
2182         Break out from ...
2183         (find_sub_basic_blocks): ... here;
2184         (find_many_sub_basic_blocks): New.
2185         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
2186
2187         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
2188
2189         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
2190
2191         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
2192
2193         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
2194         * flow.c (update_life_info): Measure time.
2195         * c-decl.c: Include timevar.h
2196         (c_expand_body): Measure time.
2197         * toplev.c (rest_of_compilation): Measure time of mode switching
2198         separately.
2199         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
2200
2201         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
2202         (lang_independent_options): Add asynchronous-unwind-tables
2203         (toplev_main): flag_asynchronous_unwind_tables implies
2204         flag_unwind_tables.
2205         * flags.h (flag_asynchronous_unwind_tables): Declare.
2206         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
2207         flag_asynchronous_unwind_tables.
2208         (output_call_frame_info): Likewise.
2209         * invoke.texi (-fasynchronous-unwind-tables): Document.
2210         * i386.c (optimization_options): Enable
2211         flag_asynchronous_unwind_tables.
2212
2213         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
2214         * i386.md (s* expanders): Destination is QImode.
2215
2216         * toplev.c (rest_of_compilation): Do not call clear_log_links.
2217         * rtl.h (clear_log_links): Kill.
2218         * flow.c (clear_log_links): Make static; accept blocks parameter;
2219         do no clear life info.
2220         (update_life_info): Call clear_log_links.
2221
2222         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
2223
2224 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
2225
2226         * cpplex.c (handle_newline, skip_escaped_newlines,
2227         get_effective_char, skip_block_comment, skip_line_comment,
2228         parse_identifier_slow, parse_number, parse_string,
2229         _cpp_lex_direct): Update to do more stepping back.
2230         (trigraph_ok): Similarly.  Rename trigraph_p.
2231         (SAVE_STATE, RESTORE_STATE): Remove.
2232         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
2233
2234         * cpplib.c (destringize): Rename destringize_and_run, and
2235         call run_directive directly.
2236         (_cpp_do__Pragma): Simplify.
2237
2238 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2239
2240         * pe.c (arm_pe_unique_section): Const-ify.
2241         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
2242         (switch_to_section): Add static prototype.
2243
2244         * output.h (drectve_section): Prototype.
2245
2246 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2247
2248         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
2249         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
2250         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
2251         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
2252         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
2253         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
2254         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
2255         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
2256         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
2257         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
2258         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
2259         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
2260         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
2261         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
2262         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
2263         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
2264         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
2265         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
2266         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
2267         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
2268         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
2269         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
2270         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
2271         cris-*-none, cris-*-linux*: Update ${tmfile} list.
2272         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
2273         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
2274         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
2275         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
2276         v850-*-*): Delete superflous ${cpu_type} setting.
2277         * config/linux.h: Delete svr4.h include.
2278         (SET_ASM_OP): Delete.
2279         * config/netware.h (INT_ASM_OP): Undef before define.
2280         * config/ptx4.h: Delete elfos.h include.
2281         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
2282         * config/svr4.h: Delete elfos.h include. Update commentary.
2283         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
2284         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
2285         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
2286         config/v850/v850.h: Delete svr4.h include.
2287         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
2288         config/m68k/m68kv4.h, config/m88k/sysv4.h,
2289         config/sparc/sysv4.h: Update includes.
2290         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
2291         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
2292         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
2293         config/m88k/dguxbcs.h: Delete includes.
2294         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
2295         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
2296         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
2297         it.
2298         * config/m88k/dgux.h: Delete include.
2299         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
2300         defining it.
2301         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
2302         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
2303         * config/sh/elf.h: Update include.
2304         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
2305         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
2306
2307 2001-10-19  Catherine Moore  <clm@redhat.com>
2308
2309         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
2310         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
2311         base and count fields.
2312         (stormy16_expand_builtin_va_start):  last_reg_count changed to
2313         size_of_reg_args.  Use count + size in first comparison.
2314
2315 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2316
2317         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
2318         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
2319         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
2320         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
2321         Set alignment from type if INDIRECT_REF.
2322         (adjust_address_1, offset_address): Simplify alignment compuitation.
2323         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
2324         here; done by set_mem_attributes.
2325
2326 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2327
2328         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
2329         * arm-protos.h (rdata_section, zero_init_section, common_section):
2330         Prototype.
2331         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
2332         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
2333         traditional mode stringification.
2334         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
2335         in macros controling its use.
2336         * rtlanal.c: Include tm_p.h.
2337         * varasm.c (asm_output_aligned_bss): Mark parameter with
2338         ATTRIBUTE_UNUSED.
2339         (assemble_constant_align, assemble_start_function, assemble_align,
2340         assemble_variable, assemble_trampoline_template,
2341         output_constant_def_contents): Wrap potentially empty if-stmt body
2342         in brackets.
2343
2344 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2345
2346         * a29k-protos.h (literal_section): Prototype.
2347         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
2348         * a29k.md: Ensure function pointers are prototyped.
2349         * genattrtab.c (write_eligible_delay): Mark parameter with
2350         ATTRIBUTE_UNUSED.
2351
2352 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2353
2354         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
2355         * 1750a.c (print_operand): Fix format specifier warning.
2356         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
2357         * 1750a.md: Likewise.
2358         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
2359         * genemit.c (output_add_clobbers): Mark parameter with
2360         ATTRIBUTE_UNUSED.
2361         * genrecog.c (write_subroutine): Likewise.
2362         * integrate.c (expand_inline_function): Delete unused variable.
2363         * varasm.c (remove_from_pending_weak_list): Wrap with
2364         ASM_WEAKEN_LABEL.
2365
2366 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
2367
2368         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
2369         field is different to previous argument's neg field.
2370
2371         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
2372
2373 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2374
2375         * final.c (get_decl_from_op): New function.
2376         (output_asm_insn): Call it; write "*" when item with decl is address.
2377
2378 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
2379
2380         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
2381         about 64-bit support from the 3.0_branch version.
2382
2383 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
2384
2385         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
2386         USE_INCLUDED_LIBINTL when appropriate.
2387         * configure, config.in: Regenerate.
2388         * Makefile.in (datadir): Set to @datadir@.
2389         (intl.o): Also depend on $(CONFIG_H) and system.h.
2390
2391         * intl.c: Factor out common gettext initialization sequence.
2392         (gcc_init_libintl):  New function.
2393         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
2394         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
2395         off NLS.  Add multiple include guard.  No need to #ifdef-guard
2396         an #undef.  Prototype gcc_init_libintl here.
2397
2398         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
2399         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
2400         Use gcc_init_libintl.
2401
2402 2001-10-19  Catherine Moore  <clm@redhat.com>
2403
2404         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
2405
2406         * config/stormy16/stormy16.c (stormy16_split_move):  Make
2407         sure that REG_INC notes are present for auto_inc operands.
2408
2409 2001-10-19  Andreas Jaeger  <aj@suse.de>
2410
2411         * configure: Regenerated.
2412         * configure.in: Add x86_64 to switch statements.
2413
2414 2001-10-18  Richard Henderson  <rth@redhat.com>
2415
2416         * config/alpha/alpha.md (sibcall_osf_1): Load destination
2417         address into $27 explicitly.
2418         (sibcall_value_osf_1): Likewise.
2419
2420 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2421
2422         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
2423         (offset_address): New function.
2424         (free_emit_status): Free regno_decl.
2425         (init_emit): Pass proper number of elements to xcalloc.
2426         Allocate regno_decl.
2427         (mark_emit_status): Mark regno_decl values.
2428         * expr.c (highest_pow2_factor): New function.
2429         (expand_assigment): Use it and offset_address.
2430         Properly handle ptr_mode vs. Pmode in offset calculation.
2431         (store_constructor, expand_expr_unaligned): Likewise.
2432         (expand_expr, case COMPONENT_EXPR): Likewise.
2433         * expr.h (offset_address): New decl.
2434         * function.h (struct emit_status): Add regno_decl.
2435         (REGNO_DECL): New macro.
2436         * final.c (output_asm_name): Move in file and don't conditionalize
2437         on flag_print_asm_name.
2438         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
2439         Output names of operands, if known.
2440         * function.c (assign_parms): Set REGNO_DECL.
2441         * integrate.c (integrate_decl_tree): Likewise.
2442         * stmt.c (expand_decl): Likewise.
2443         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
2444
2445 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
2446
2447         * attribs.c (handle_noinline_attribute): New function.
2448         (handle_used_attribute): Likewise.
2449         (c_common_attribute_table): Added noinline and used.
2450         * doc/extend.texi (Function Attributes): Document them.
2451         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
2452         Warn when merging inline with attribute noinline.
2453         (start_decl, start_function): Warn if inline and attribute
2454         noinline appear in the same declaration.
2455
2456 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
2457
2458         * config.gcc: Update c4x and i370 for C front end-specific
2459         dependencies.
2460         * config/c4x/c4x-c.c: New.
2461         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
2462         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
2463         New declarations.
2464         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
2465         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
2466         Make extern.
2467         (c4x_init_pragma): Remove.
2468         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
2469         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
2470         c4x_pr_ignored): Move to c4x-c.c.
2471         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
2472         * config/c4x/t-c4x: Update.
2473         * config/i370/i370-c.c: New.
2474         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
2475         (i370_pr_map): Move to i370-c.c.
2476         * config/i370/t-i370: New.
2477
2478         * doc/tm.texi: Update.
2479
2480 2001-10-17  Stan Shebs  <shebs@apple.com>
2481
2482         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
2483         typo fixes throughout.
2484         (machopic_output_stub): Remove some dead code.
2485
2486 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
2487
2488         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
2489         leak.
2490
2491 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2492
2493         * Makefile.in (print-rtl.o): Depend on TREE_H.
2494         * alias.c (get_alias_set): Make two passes over objects to first
2495         see if inner object is access via restricted pointer.
2496         Defer allocating alias set for restricted pointer until here.
2497         Call find_placeholder with second arg nonzero.
2498         Minor cleanups.
2499         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
2500         set for restricted pointer types.
2501         * emit-rtl.c (set_mem_attributes): Set more attributes.
2502         (set_mem_align, change_address, adjust_address_1): New functions.
2503         (change_address_1): Now static.
2504         (adjust_address, adjust_address_nv): Deleted.
2505         (replace_equiv_address): Call change_address_1.
2506         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
2507         (find_placeholder): Get starting point from PLIST arg.
2508         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
2509         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
2510         (adjust_address, adjust_address_nv): New macros.
2511         * print-rtl.c (tree.h): New include.
2512         (print_rtx, case MEM): Print all memory attributes.
2513
2514 2001-10-17  Richard Henderson  <rth@redhat.com>
2515
2516         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
2517
2518 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
2519
2520         * c-tree.texi: Eliminate duplicated word.
2521         * cpp.texi: Likewise.
2522         * install.texi: Likewise.
2523         * invoke.texi: Likewise.
2524         * tm.texi: Likewise.
2525
2526 2001-10-17  Michael Collison  <collison@isisinc.net>
2527
2528         * dsp16xx.c: Fix comment formatting to match GNU standards.
2529         (dsp16xx_output_function_prologue): Change type of 'size'
2530         parameter from 'int' to HOST_WIDE_INT.
2531         (dsp16xx_output_function_epilogue): Change type of 'size'
2532         parameter from 'int' to HOST_WIDE_INT.
2533
2534 2001-10-16  Richard Henderson  <rth@redhat.com>
2535
2536         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
2537         * configure, config.in: Rebuild.
2538
2539         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
2540         (ix86_output_addr_diff_elt): New.
2541         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
2542         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
2543         (JUMP_TABLES_IN_TEXT_SECTION): New.
2544         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
2545         * config/i386/i386-protos.h: Update.
2546
2547         * config/i386/386bsd.h, config/i386/beos-elf.h,
2548         config/i386/freebsd-aout.h, config/i386/freebsd.h,
2549         config/i386/i386-interix.h, config/i386/i386elf.h,
2550         config/i386/linux.h, config/i386/netbsd-elf.h,
2551         config/i386/netbsd.h, config/i386/openbsd.h,
2552         config/i386/ptx4-i.h, config/i386/rtemself.h,
2553         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
2554         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
2555
2556 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
2557
2558         * stmt.c (expand_asm_operands): Update commentary.
2559
2560 2001-10-16  Stan Shebs  <shebs@apple.com>
2561
2562         * config/darwin.h (GCC_NAME): Remove, no longer used.
2563         (NO_MATH_LIBRARY): Ditto.
2564         (MATH_LIBRARY): Define to emptiness.
2565         (DWARF2_DEBUGGING_INFO): Define.
2566         (PREFERRED_DEBUGGING_TYPE): Define.
2567         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
2568         (EXCEPTION_SECTION): Define.
2569         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2570         * config/darwin.c (darwin_encode_section_info): Handle case of
2571         DECL_INITIAL being error_mark_node.
2572
2573 2001-10-16  Richard Henderson  <rth@redhat.com>
2574
2575         * alpha.c (current_file_function_operand): Don't fail for profiling.
2576         (direct_call_operand): New.
2577         * alpha-protos.h: Declare it.
2578         * alpha.h (EXTRA_CONSTRAINT): Use it.
2579         (PREDICATE_CODES): Add it.
2580         (ASM_OUTPUT_MI_THUNK): Remove.
2581         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
2582         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
2583
2584 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
2585
2586         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
2587         (JUMP_TABLES_IN_TEXT_SECTION): Define.
2588
2589 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
2590
2591         * cfg.c (free_edge): Break out from ....
2592         (remove_edge): ... here.
2593         (clear_edges): Use free_edge.
2594
2595         * att.h (ASM_QUAD): Add comment.
2596         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
2597
2598 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
2599
2600         * i386.c (split_ti): New function.
2601         (ix86_split_to_parts): Support TImodes.
2602         * i386.h (VALID_INT_MODE_P): Add TImode.
2603         * i386.md (movdi splitter): Fix.
2604         (movti): Support 64bit integer registers.
2605         (movti_rex64): New function and splitter.
2606
2607         * i386.c (*_cost): Add movsx/movzx cost.
2608         * i386.h (struct processor_costs): Add movsx/movzx fields.
2609         (RTX_COSTS): Handle zero/sign extend + avoid believing that
2610         64bit operations require split on 64bit machine.
2611         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
2612
2613         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
2614         (ix86_expand_move): Avoid pushes of memory if size does not match;
2615         move long constants to register.
2616         (x86_initialize_trampoline): Fix mode.
2617         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
2618         Use ASM_QUAD on 64bit.
2619         * i386.md (test pattern): Disallow impossible constants.
2620         (tablejump PIC expander): Fix emitting of sum.
2621         (movdicc_rex64): Rename to movdicc.
2622         * linux64.h (LINK_SPEC): Add missing '%'.
2623
2624 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
2625
2626         * tree-inline.c (inlinable_function_p): Leave it up to the
2627         front-end to turn -finline-functions into DECL_INLINE set for all
2628         functions.
2629
2630 2001-10-16  Stan Shebs  <shebs@apple.com>
2631
2632         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
2633
2634 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
2635
2636         * recog.c: Formatting and comment typo fixes.
2637
2638         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
2639         version in single tree build.
2640         * configure: Regenerate.
2641
2642 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
2643
2644         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
2645         MODE arguments to gen_rtx and compare operand with const0_rtx.
2646
2647 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
2648
2649         * system.h: Poison old unused target macros.
2650         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
2651         * config/stormy16/stormy16.c: Update references to obsolete macros.
2652         * config/stormy16/stormy16.h: Similarly.
2653         * config/stormy16/stormy16.md: Similarly.
2654         * config/cris/cris.h: Similarly.
2655
2656 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
2657
2658         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
2659         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
2660         cpp_register_pragma): Update accordingly.
2661
2662 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
2663
2664         * c-pragma.h (cpp_register_pragma_space): Remove.
2665         * cpplib.h (cpp_register_pragma_space): Remove.
2666         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
2667         (cpp_register_pragma_space): Remove.
2668         (cpp_register_pragma): Simplify using lookup_pragma_entry,
2669         add sanity checks.
2670         (do_pragma): Similarly.
2671         (_cpp_init_internal_pragmas): Don't register namespaces.
2672
2673         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
2674         Don't register namespaces.
2675         * cp/lex.c (init_cp_pragma): Similarly.
2676         * doc/tm.texi: Update.
2677
2678 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2679
2680         PR c/4157
2681         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
2682
2683 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
2684
2685         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
2686         add scheduling support.
2687         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
2688         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
2689         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
2690
2691
2692 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
2693
2694         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
2695         missing CONSTANT_P test in core GCC.
2696
2697 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
2698
2699         * cppmain.c (struct printer): New member source.
2700         (scan_translation_unit): Fix spacing at start of lines.
2701         (cb_line_change): Update.
2702
2703         * gcc.dg/cpp/spacing2.c: New test.
2704
2705 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
2706
2707         * config/cris/arit.c: Use __builtin_labs, not abs.
2708
2709         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
2710
2711         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
2712         misplaced sprintf and fprintf argument.
2713
2714 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
2715
2716         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
2717         * configure.in, Makefile.in: Take out obsolete check-po logic.
2718         * configure, config.in: Regenerate.
2719
2720 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
2721
2722         * objc/objc-act.c (finish_objc): Correct precondition for emitting
2723         symtab declarations.
2724
2725 2001-10-12  Stan Shebs  <shebs@apple.com>
2726
2727         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
2728         declarations of arguments and local variables.
2729
2730 2001-10-12  Christopher Faylor  <cgf@redhat.com>
2731
2732         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
2733         ENDFILE_SPEC definition.
2734
2735 2001-10-12  Kazu Hirata  <kazu@hxi.com>
2736
2737         * gthr-dce.h: Fix comment formatting.
2738         * gthr-posix.h: Likewise.
2739         * gthr-single.h: Likewise.
2740         * gthr-solaris.h: Likewise.
2741         * gthr-vxworks.h: Likewise.
2742         * gthr-win32.h: Likewise.
2743
2744 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
2745
2746         * final.c (output_asm_insn): Make sure assembly dialects are
2747         terminated, not nested.  Output `|' and `}' characters if they
2748         don't appear inside assembly dialect selection.
2749         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
2750         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
2751         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
2752         strsetsi_rex_1): Add {} braces.
2753
2754 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
2755
2756         * toplev.c (compile_file): Ignore return value from yyparse.
2757         Always pop any nested binding levels after yyparse returns.
2758
2759 2001-10-11  Richard Henderson  <rth@redhat.com>
2760
2761         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
2762
2763 2001-10-11  Richard Henderson  <rth@redhat.com>
2764
2765         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
2766         fall back to add_AT_long_long for large CONST_INT.
2767
2768 2001-10-11  Richard Henderson  <rth@redhat.com>
2769
2770         * config/i386/i386.md (setcc splitters): Add four splitters to
2771         simplify compound compares that simplify_comparison can't handle.
2772
2773 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
2774
2775         * cpplex.c (digraph_spellings, token_spellings): Make static.
2776
2777 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2778
2779         * unroll.c (loop_iterations): Fixup last patch.
2780
2781 2001-10-11  Richard Henderson  <rth@redhat.com>
2782
2783         * rtl.h (REG_VTABLE_REF): New.
2784         * rtl.c (reg_note_name): Add it.
2785         * combine.c (distribute_notes): Handle it.
2786         * final.c (final_scan_insn): Handle it.
2787         * tree.def (VTABLE_REF): New.
2788         * expr.c (expand_expr): Handle it.
2789         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
2790         * output.h: Declare them.
2791
2792 2001-10-11  Richard Henderson  <rth@redhat.com>
2793
2794         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
2795         for a DECL_INITIAL.
2796
2797 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
2798
2799         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
2800         available in 64-bit mode.
2801
2802 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
2803
2804         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
2805         cris-*-linux* cases.
2806         * config/cris/cris-protos.h: New file.
2807         * config/cris/cris.c: New file.
2808         * config/cris/cris.h: New file.
2809         * config/cris/cris.md: New file.
2810         * config/cris/linux.h: New file.
2811         * config/cris/aout.h: New file.
2812         * config/cris/arit.c: New file.
2813         * config/cris/cris_abi_symbol.c: New file.
2814         * config/cris/mulsi3.asm: New file.
2815         * config/cris/t-aout: New file.
2816         * config/cris/t-cris: New file.
2817         * config/cris/t-elfmulti: New file.
2818         * config/cris/t-linux: New file.
2819         * doc/invoke.texi: Add CRIS options.
2820         * doc/install.texi (Specific): Add blurb for CRIS.
2821
2822 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
2823
2824         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
2825         before using it.
2826         * config/float/i32.h: Likewise.
2827         * config/float-i386.h: Likewise.
2828         * config/float-i64.h: Likewise.
2829         * config/float-m68k.h: Likewise.
2830         * config/float-sh.h: Likewise.
2831         * config/float-sparc.h: Likewise.
2832
2833 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
2834
2835         * doc/contrib.texi: Add note about CRIS port to my entry.
2836
2837 2001-10-11  Kazu Hirata  <kazu@hxi.com>
2838
2839         * basic-block.h: Fix formatting.
2840         * bitmap.h: Likewise.
2841         * cpplib.h: Likewise.
2842         * c-tree.h: Likewise.
2843         * diagnostic.h: Likewise.
2844         * flags.h: Likewise.
2845         * ggc.h: Likewise.
2846         * longlong.h: Likewise.
2847         * real.h: Likewise.
2848         * reload.h: Likewise.
2849         * rtl.h: Likewise.
2850         * tree.h: Likewise.
2851
2852 2001-10-10  Richard Henderson  <rth@redhat.com>
2853
2854         * c-parse.in (asm_operand): Allow named operands.
2855         * genconfig.c (max_recog_operands): Set to 29.
2856         * local-alloc.c (requires_inout): Skip multiple digits.
2857         * recog.c (asm_operand_ok): Likewise.
2858         (preprocess_constraints): Use strtoul for matching constraints.
2859         (constrain_operands): Likewise.
2860         * regmove.c (find_matches): Likewise.
2861         * reload.c (find_reloads): Likewise.
2862         * stmt.c (parse_output_constraint): Don't reject in-out
2863         constraint on operands > 9.  Reject '[' in constraint.
2864         (expand_asm_operands): Handle named operands.  Use strtoul
2865         for matching constraints.
2866         (check_operand_nalternatives): Split out from expand_asm_operands.
2867         (check_unique_operand_names): New.
2868         (resolve_operand_names, resolve_operand_name_1): New.
2869
2870         * doc/extend.texi (Extended Asm): Document named operands.
2871         * doc/md.texi (Simple Constraints): Document matching constraints
2872         on operands > 9.
2873
2874 2001-10-10  Richard Henderson  <rth@redhat.com>
2875
2876         * combine.c (try_combine): Handle a SEQUENCE of one insn.
2877
2878         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
2879         (jcc splitters): Add two splitters to simplify compound compares
2880         that simplify_comparison can't handle.
2881
2882 2001-10-10  Richard Henderson  <rth@redhat.com>
2883
2884         * langhooks.c: Include langhooks.h.
2885         * Makefile.in (langhooks.o): Depend on it.
2886
2887 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
2888
2889         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
2890         should not be considered as a no-op.
2891         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
2892
2893 2001-10-10  Stan Shebs  <shebs@apple.com>
2894
2895         * alias.c: Remove uses of "register" specifier in declarations
2896         of arguments and local variables.
2897         * c-common.c: Ditto.
2898         * c-convert.c: Ditto.
2899         * c-decl.c: Ditto.
2900         * c-format.c: Ditto.
2901         * c-semantics.c: Ditto.
2902         * c-typeck.c: Ditto.
2903         * caller-save.c: Ditto.
2904         * calls.c: Ditto.
2905         * cfg.c: Ditto.
2906         * cfgbuild.c: Ditto.
2907         * cfgrtl.c: Ditto.
2908         * collect2.c: Ditto.
2909         * combine.c: Ditto.
2910         * convert.c: Ditto.
2911         * cppexp.c: Ditto.
2912         * cppfiles.c: Ditto.
2913         * cse.c: Ditto.
2914         * dbxout.c: Ditto.
2915         * defaults.h: Ditto.
2916         * df.c: Ditto.
2917         * dwarf2out.c: Ditto.
2918         * dwarfout.c: Ditto.
2919         * emit-rtl.c: Ditto.
2920         * explow.c: Ditto.
2921         * expmed.c: Ditto.
2922         * expr.c: Ditto.
2923         * final.c: Ditto.
2924         * fix-header.c: Ditto.
2925         * floatlib.c: Ditto.
2926         * flow.c: Ditto.
2927         * fold-const.c: Ditto.
2928         * function.c: Ditto.
2929         * gcc.c: Ditto.
2930         * gcse.c: Ditto.
2931         * gen-protos.c: Ditto.
2932         * genattrtab.c: Ditto.
2933         * gencheck.c: Ditto.
2934         * genconfig.c: Ditto.
2935         * genemit.c: Ditto.
2936         * genextract.c: Ditto.
2937         * genflags.c: Ditto.
2938         * gengenrtl.c: Ditto.
2939         * genoutput.c: Ditto.
2940         * genpeep.c: Ditto.
2941         * genrecog.c: Ditto.
2942         * gensupport.c: Ditto.
2943         * global.c: Ditto.
2944         * gmon.c: Ditto.
2945         * graph.c: Ditto.
2946         * haifa-sched.c: Ditto.
2947         * hard-reg-set.h: Ditto.
2948         * hash.c: Ditto.
2949         * integrate.c: Ditto.
2950         * jump.c: Ditto.
2951         * lists.c: Ditto.
2952         * local-alloc.c: Ditto.
2953         * loop.c: Ditto.
2954         * mips-tdump.c: Ditto.
2955         * mips-tfile.c: Ditto.
2956         * optabs.c: Ditto.
2957         * prefix.c: Ditto.
2958         * print-rtl.c: Ditto.
2959         * read-rtl.c: Ditto.
2960         * real.c: Ditto.
2961         * recog.c: Ditto.
2962         * reg-stack.c: Ditto.
2963         * regclass.c: Ditto.
2964         * regmove.c: Ditto.
2965         * reload.c: Ditto.
2966         * reload1.c: Ditto.
2967         * reorg.c: Ditto.
2968         * resource.c: Ditto.
2969         * rtl.c: Ditto.
2970         * rtlanal.c: Ditto.
2971         * scan.c: Ditto.
2972         * sched-deps.c: Ditto.
2973         * sched-rgn.c: Ditto.
2974         * sdbout.c: Ditto.
2975         * simplify-rtx.c: Ditto.
2976         * stmt.c: Ditto.
2977         * stor-layout.c: Ditto.
2978         * toplev.c: Ditto.
2979         * tradcif.y: Ditto.
2980         * tradcpp.c: Ditto.
2981         * tree.c: Ditto.
2982         * unroll.c: Ditto.
2983         * varasm.c: Ditto.
2984         * xcoffout.c: Ditto.
2985
2986 2001-10-10  Richard Henderson  <rth@redhat.com>
2987
2988         * rtl.h (can_reverse_comparison_p): Remove.
2989
2990 2001-10-10  Christopher Faylor <cgf@redhat.com>
2991
2992         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
2993         used.
2994
2995 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
2996
2997         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
2998         (Thanks to Chris Faylor for suggesting macro name).
2999         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
3000         WIN32 defines.
3001         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
3002         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
3003         (MATH_LIBRARY): Undef before definition.
3004         (OUTPUT_QUOTED_STRING): Likewise.
3005         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
3006
3007 2001-10-10  Richard Henderson  <rth@redhat.com>
3008
3009         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
3010         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
3011         a tristate comparison value.
3012         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
3013
3014 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3015
3016         PR c++/4512
3017         * unroll.c (loop_iterations): Ignore insns generated by loop
3018         unrolling.
3019
3020         * config.gcc (mips*-*-gnu*): Delete support.
3021         * config/mips/gnu.h: Remove.
3022
3023 2001-10-10  Kazu Hirata  <kazu@hxi.com>
3024
3025         * calls.c: Fix formatting.
3026         * c-decl.c: Likewise.
3027         * cfgcleanup.c: Likewise.
3028         * combine.c: Likewise.
3029         * cppfiles.c: Likewise.
3030         * cpplib.c: Likewise.
3031         * cppmacro.c: Likewise.
3032         * crtstuff.c: Likewise.
3033         * cse.c: Likewise.
3034         * dwarf2out.c: Likewise.
3035         * expmed.c: Likewise.
3036         * expr.c: Likewise.
3037         * fold-const.c: Likewise.
3038         * function.c: Likewise.
3039         * gcse.c: Likewise.
3040         * genattrtab.c: Likewise.
3041         * ggc-page.c: Likewise.
3042         * integrate.c: Likewise.
3043         * libgcc2.c: Likewise.
3044         * loop.c: Likewise.
3045         * optabs.c: Likewise.
3046         * profile.c: Likewise.
3047         * protoize.c: Likewise.
3048         * real.c: Likewise.
3049         * recog.c: Likewise.
3050         * reload1.c: Likewise.
3051         * reload.c: Likewise.
3052         * reorg.c: Likewise.
3053         * resource.c: Likewise.
3054         * sched-rgn.c: Likewise.
3055         * sdbout.c: Likewise.
3056         * stmt.c: Likewise.
3057         * toplev.c: Likewise.
3058         * varasm.c: Likewise.
3059
3060 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
3061
3062         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
3063         * Makefile.in (langhooks.o): Add dependencies.
3064
3065 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
3066
3067         * rs6000.c (rs6000_emit_load_toc_table): Don't
3068         strdup the toc label.
3069         (create_TOC_reference): Likewise.
3070
3071 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
3072
3073         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
3074         version default.
3075
3076 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
3077
3078         * config/i386/i386.c (ix86_attribute_table): Correct
3079         min_len, max_len fields for dllimport, dllexport and shared.
3080
3081 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
3082
3083         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
3084         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
3085         Consistently use "nonzero" instead of "non-zero".
3086
3087 2001-10-09  Kazu Hirata  <kazu@hxi.com>
3088
3089         * acconfig.h: Fix comment formatting.
3090         * c-dump.h: Likewise.
3091         * c-tree.h: Likewise.
3092         * conditions.h: Likewise.
3093         * expr.h: Likewise.
3094         * function.h: Likewise.
3095         * gthr.h: Likewise.
3096         * hwint.h: Likewise.
3097         * integrate.h: Likewise.
3098         * intl.h: Likewise.
3099         * loop.h: Likewise.
3100         * optabs.h: Likewise.
3101
3102 2001-10-09  Kazu Hirata  <kazu@hxi.com>
3103
3104         * c-common.h: Fix comment formatting.
3105         * c-dump.c: Likewise.
3106         * cfg.c: Likewise.
3107         * diagnostic.h: Likewise.
3108         * except.c: Likewise.
3109         * gcc.h: Likewise.
3110         * gcov-io.h: Likewise.
3111         * genattrtab.c: Likewise.
3112         * output.h: Likewise.
3113         * predict.h: Likewise.
3114         * reload1.c: Likewise.
3115         * reload.h: Likewise.
3116         * resource.h: Likewise.
3117         * scan.h: Likewise.
3118         * system.h: Likewise.
3119         * tree.h: Likewise.
3120         * tree-inline.c: Likewise.
3121         * tsystem.h: Likewise.
3122         * varasm.c: Likewise.
3123         * xcoffout.h: Likewise.
3124
3125 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
3126
3127         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
3128
3129 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
3130
3131         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
3132         config/i386/i386elf.h, config/i386/netbsd-elf.h,
3133         config/i386/netware.h, config/mcore/gfloat.h,
3134         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
3135         config/netware.h, gccbug.in: Update FSF address.
3136
3137 2001-10-09  Kazu Hirata  <kazu@hxi.com>
3138
3139         * c-common.c: Fix comment typos.
3140         * cfgrtl.c: Likewise.
3141         * collect2.c: Likewise.
3142         * cpplex.c: Likewise.
3143         * doloop.c: Likewise.
3144         * dwarf2out.c: Likewise.
3145         * dwarfout.c: Likewise.
3146         * expr.c: Likewise.
3147         * fold-const.c: Likewise.
3148         * gcc.c: Likewise.
3149         * gcov.c: Likewise.
3150         * gcse.c: Likewise.
3151         * global.c: Likewise.
3152         * ifcvt.c: Likewise.
3153         * loop.c: Likewise.
3154         * optabs.c: Likewise.
3155         * protoize.c: Likewise.
3156         * regclass.c: Likewise.
3157         * reorg.c: Likewise.
3158         * rtl.h: Likewise.
3159         * stmt.c: Likewise.
3160         * tree.h: Likewise.
3161         * doc/cpp.texi: Likewise.
3162         * doc/c-tree.texi: Likewise.
3163         * doc/extend.texi: Likewise.
3164         * doc/invoke.texi: Likewise.
3165         * doc/objc.texi: Likewise.
3166         * doc/tm.texi: Likewise.
3167
3168 2001-10-08  Richard Henderson  <rth@redhat.com>
3169
3170         * varasm.c (set_named_section_flags): Initialize "declared".
3171
3172 2001-10-08  Robert Lipe  <robertlipe@usa.net>
3173
3174         * varasm.c (struct in_named_entry): Add declared.
3175         (named_section_first_declaration): New function.
3176         (default_elf_asm_named_section): Use it.
3177         * output.h (named_section_first_declaration): New.
3178
3179 2001-10-08  Richard Henderson  <rth@redhat.com>
3180
3181         * i386.md (movsi_xor): Export.
3182         (setcc peep2): Use it when available; add an alternative to
3183         match zero_extendhisi2_and.
3184
3185 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3186
3187         * romp-protos.h (romp_initialize_trampoline): New function.
3188         * romp.c (romp_initialize_trampoline): Likewise.
3189         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
3190         romp_initialize_trampoline.
3191
3192 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3193
3194         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
3195         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
3196         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
3197         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
3198
3199 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3200
3201         * unroll.c (loop_iterations): Extend check for multiple back edges.
3202
3203 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
3204
3205         * langhooks.h: New file.
3206         * Makefile.in (OBJS): Added langhooks.o.
3207         (c-lang.o): Depend on langhooks.h.
3208         (c-common.o): Don't depend on tree-inline.h.
3209         (tree-inline.o): Depend on toplev.h.
3210         (langhooks.o): New rule.
3211         * c-common.c: Don't include tree-inline.h.
3212         (c_mark_lang_decl): Mark argument c as unused.
3213         (c_common_lang_init): Don't initialize hooks here.
3214         * c-lang.c: Include langhooks.h, then override some macros.
3215         (lang_hooks): Initialize with macros in langhooks.h.
3216         (c_init): Don't initialize hooks here.
3217         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
3218         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
3219         * tree-inline.c: Include toplev.h.  Don't define hook variables.
3220         * tree-inline.h: Don't define hook types nor declare hook
3221         variables.  Move macros to...
3222         * langhooks.c: ... new file, as functions.  Adjust all callers.
3223
3224 2001-10-08  Jeffrey A Law  <law@cygnus.com>
3225
3226         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
3227         purge_mem_unchanging_flag on all instructions, not just on those
3228         before NOTE_INSN_FUNCTION_BEG.
3229
3230 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
3231
3232         * cppmacro.c (_cpp_create_definition): Leave comments off.
3233
3234         * doc/cpp.texi: Update.
3235
3236 2001-10-08  DJ Delorie  <dj@redhat.com>
3237
3238         * c-decl.c (grokfield): Make sure the only unnamed fields
3239         we're allowing are either structs or unions.
3240         * doc/extend.texi: Add documentation for the unnamed field
3241         extension.
3242
3243 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
3244
3245         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
3246         * configure.in: Use it.
3247         * configure: Regenerated.
3248         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
3249         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
3250
3251 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
3252
3253         * cppfiles.c (open_file): Don't mark zero-length files
3254         never-reread here.  Don't output diagnostics here either.
3255         (stack_include_file): Mark them never-reread here.
3256         (_cpp_read_file): Update.
3257
3258 2001-10-08  Richard Henderson  <rth@redhat.com>
3259
3260         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
3261
3262 2001-10-08  Richard Henderson  <rth@redhat.com>
3263
3264         * expr.c (store_expr): When converting a CONST_INT for storage
3265         in a SUBREG, convert it to both SUBREG modes before stripping
3266         the SUBREG.
3267
3268 2001-10-08  Richard Henderson  <rth@redhat.com>
3269
3270         * varasm.c (restore_varasm_status): New.
3271         * function.h: Declare it.
3272         * function.c (pop_function_context_from): Call it.
3273
3274 2001-10-08  Richard Henderson  <rth@redhat.com>
3275
3276         * c-common.h (struct c_lang_decl): Add declared_inline.
3277         * c-tree.h (DECL_DECLARED_INLINE_P): New.
3278         * c-lang.c (c_disregard_inline_limits): Use it.
3279         * c-decl.c (duplicate_decls): Likewise.
3280         (pushdecl, redeclaration_error_message): Likewise.
3281         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
3282         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
3283         Set DECL_INLINE if -finline-functions.
3284         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
3285
3286 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
3287
3288         * cppmacro.c (funlike_invocation_p): Move some logic to caller
3289         in enter_macro_context.  Create a padding token in its own context
3290         if necessary when the search for '(' fails.
3291         (enter_macro_context): Update.
3292
3293 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
3294
3295         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
3296         genmultilib, toplev.c: Fix spelling errors of "separate" as
3297         "seperate", and corresponding spelling errors of related words.
3298
3299 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3300
3301         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
3302         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
3303         Likewise.
3304         * c-dump.c (dump_option_value_info): Likewise.
3305         * c-format.c (format_length_info, format_char_info,
3306         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
3307         * collect2.c (names): Likewise.
3308         * cppdefault.h (default_include): Likewise.
3309         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
3310         * flow.c (life_analysis): Likewise.
3311         * gcc.c (dir_separator_str, modify_target, option_map,
3312         target_option_translations, spec_list_1, extra_specs_1,
3313         init_spec): Likewise.
3314         * gcov.c (gcov_version_string): Likewise.
3315         * genattr.c (write_units): Likewise.
3316         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
3317         * gengenrtl.c (rtx_definition, defs): Likewise.
3318         * genrecog.c (pred_table): Likewise.
3319         * global.c (global_alloc): Likewise.
3320         * lcm.c (optimize_mode_switching): Likewise.
3321         * local-alloc.c (find_free_reg): Likewise.
3322         * params.h (param_info): Likewise.
3323         * predict.c (predictor_info): Likewise.
3324         * protoize.c (unexpansion_struct): Likewise.
3325         * real.c (bmask): Likewise.
3326         * recog.h (insn_operand_data, insn_data): Likewise.
3327         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
3328         * stmt.c (expand_nl_goto_receiver): Likewise.
3329         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
3330         target_switches, target_options): Likewise.
3331         * tradcif.y (token, tokentab2, yylex): Likewise.
3332         * tree.h (attribute_spec): Likewise.
3333
3334         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
3335         Likewise.
3336         * arc.c (arc_output_function_epilogue): Likewise.
3337         * arm.c (processors, all_cores, all_architectures,
3338         arm_override_options, isr_attribute_arg, isr_attribute_args,
3339         arm_isr_value): Likewise.
3340         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
3341         Likewise.
3342         * c4x.c (c4x_int_reglist): Likewise.
3343         * d30v.c (override_options): Likewise.
3344         * h8300.c (shift_insn): Likewise.
3345         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
3346         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
3347         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
3348         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
3349         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
3350         * i386.h (processor_costs, ix86_cost): Likewise.
3351         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
3352         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
3353         * m68k.c (codes_68881, codes_FPA): Likewise.
3354         * m88k.c (mode_from_align, max_from_align, all_from_align,
3355         best_from_align, m_options): Likewise.
3356         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
3357         * mcore.c (mode_from_align): Likewise.
3358         * mips/elf64.h (UNIQUE_SECTION): Likewise.
3359         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
3360         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
3361         * mips.h (mips_regno_to_class): Likewise.
3362         * ns32k.c (scales): Likewise.
3363         * pa.c (import_string, magic_milli): Likewise.
3364         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
3365         * sparc.c (leaf_reg_remap, sparc_override_options,
3366         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
3367         Likewise.
3368         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
3369
3370 2001-10-07  Dale Johannesen  <dalej@apple.com>
3371
3372         * reload1.c (reload_reg_free_p): Teach register interference
3373         checking that multiple output reloads are emitted in
3374         reverse order.
3375         reload1.c (reload_reg_reaches_end_p):  Ditto.
3376         reload1.c (reloads_conflict):  Ditto.
3377
3378 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
3379
3380         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
3381         NULL_TREE inside @code.
3382
3383 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
3384
3385         * doc/gcc.texi: Document consistent style of "32-bit",
3386         "Objective-C", and "@code{NULL}".
3387
3388 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
3389
3390         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
3391         (cpp_token_len, cpp_spell_token, cpp_output_token,
3392         _cpp_equiv_tokens): Handle it.
3393         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
3394         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
3395         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
3396         error messages.
3397
3398 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3399
3400         * gcc.c (default_compilers): Remove .ada.
3401
3402 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
3403
3404         * doc/cppinternals.texi: Update.
3405
3406 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
3407
3408         * gcc.c (main): Set this_file_error if the appropriate
3409         compiler for a language has not been installed.
3410
3411 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
3412
3413         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
3414
3415 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
3416
3417         * gccbug.in (CATEGORIES): Add ada.
3418
3419 2001-10-05  Catherine Moore  <clm@redhat.com>
3420
3421         * config/stormy16/stormy-abi:  Document abi changes.
3422         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
3423         (ICALL_REGS): New register class.
3424         (NUM_ARGUMENT_REGISTERS): Now 6.
3425         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
3426         in registers.
3427         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
3428         * config/stormy16.md (call_internal, call_value_internal,
3429         indirect_jump): Use new 'z' constraint.
3430
3431 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
3432
3433         * doc/cppinternals.texi: Update.
3434
3435 2001-10-05  Richard Henderson  <rth@redhat.com>
3436
3437         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
3438         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
3439         the gas section-name-as-label feature.
3440
3441 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
3442
3443         * doc/cppinternals.texi: Update.
3444
3445 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3446
3447         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
3448         to ensure valid SImode constants.
3449
3450 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
3451
3452         * Makefile.in (c-decl.o): Depend on tree-inline.h.
3453         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
3454         * c-decl.c: Include tree-inline.h.
3455         (c_expand_body): Call optimize_inline_calls. Determine whether
3456         a function is inlinable upfront, and only clear
3457         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
3458         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
3459         (c_disregard_inline_limits): New function.
3460         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
3461         (c_post_options): Enable tree inlining if inlining is enabled.
3462         Don't inline trees when instrumenting functions.
3463         (c_init): Initialize lang_disregard_inline_limits and
3464         lang_cannot_inline_tree_fn.
3465         * tree-inline.c (initialize_inlined_parameters): Handle calls
3466         with fewer arguments than declared parameters, and fewer
3467         parameters than passed arguments.  Don't assume value is a
3468         DECL.
3469         (declare_return_variable): Convert return value back to the
3470         original type, if it was promoted.
3471         (tree_inlinable_function_p): New function.
3472         (inlinable_function_p): Don't look at DECL_INLINE if we're
3473         inlining all functions.  Make it work with a NULL id.
3474         Re-check DECL_UNINLINABLE after language-specific checks.
3475         * tree-inline.h (tree_inlinable_function_p): Declare it.
3476         * integrate.c (save_for_inline): Don't bother to prepare argvec
3477         when not inlining.
3478         * cse.c (check_for_label_ref): Don't check deleted labels.
3479
3480         * Makefile.in (tree-inline.o): Depend on newly-included headers.
3481         * tree-inline.c: Include headers needed for the functions moved in.
3482         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
3483         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
3484         (copy_body, initialize_inlined_parameters): Likewise.
3485         (declare_return_variable, inlinable_function_p): Likewise.
3486         (expand_call_inline, expand_calls_inline): Likewise.
3487         (optimize_inline_calls, clone_body): Likewise.
3488         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
3489         (copy_tree_r, remap_save_expr): Likewise.
3490
3491 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
3492
3493         * Makefile.in (OBJS): Added tree-inline.o.
3494         (c-common.o): Depend on tree-inline.h.
3495         (tree-inline.o): New target.
3496         * c-common.c: Include tree-inline.h.
3497         (c_mark_lang_decl): Don't mark saved_tree.
3498         (c_common_lang_init): Set lang_anon_aggr_type_p.
3499         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
3500         (struct c_lang_decl): Moved saved_tree to tree_decl.
3501         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
3502         * integrate.h (function_attribute_inlinable_p): Declare it.
3503         * integrate.c (function_attribute_inlinable_p): Export it.
3504         * tree-inline.c: New file.  Define variables declared in...
3505         * tree-inline.h: New file.  Declare functions to be moved to
3506         tree-inline.c.  Define macros and declare types and hooks for
3507         language-specific tree inlining.
3508         (flag_inline_trees): Moved definition from cp/decl2.c.
3509         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
3510         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
3511         (struct tree_decl): Moved saved_tree from c_lang_decl and
3512         inlined_fns from C++'s lang_decl.
3513
3514 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
3515
3516         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
3517         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
3518
3519 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
3520
3521         * doc/cppinternals.texi: Update.
3522
3523 2001-10-04  Eric Christopher  <echristo@redhat.com>
3524
3525         * config/mips/mips.c (init_cumulative_args): Remember to set
3526         cum->prototype.
3527         * config.gcc: Redo linux configuration. Add target_cpu_default
3528         of soft-float to all mipsisa32 combinations and tx39.
3529         * config/mips/linux.h: Remove include of mips.h.
3530
3531 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
3532
3533         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
3534         HOST_LDFLAGS and HOST_CPPFLAGS.
3535
3536 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
3537
3538         * c-parse.in (objc_inherit_code, objc_pq_context,
3539         objc_public_flag): Make static.
3540         (objc_interface_context, objc_implementation_context,
3541         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
3542         global tree array in objc/objc-act.[ch].
3543         (methoddef): Remove unnecessary code.
3544
3545         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
3546         Hoist struct definitions to objc-act.h.
3547         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
3548         cat_count): Place declaration in objc-act.h.
3549         (objc_tree_index): Move enumeration to objc-act.h.
3550         (objc_global_trees): Place declaration and macro accessors in
3551         objc-act.h.
3552         (implementation_context): Remove duplicate; use
3553         objc_implementation_context instead:
3554         (method_context): Remove duplicate; use objc_method_context
3555         instead.
3556         (objc_ellipsis_node, objc_method_prototype_template,
3557         implemented_classes, function_type): Move global vars to
3558         objc_global_trees.
3559         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
3560         (build_message_expr): Move actual construction of ObjC message
3561         send nodes to finish_message_expr.
3562         (finish_message_expr): New routine, contains code formerly in
3563         build_message_expr.
3564         * objc/objc-act.h (finish_message_expr): New prototype.
3565         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
3566         declarations; these vars are now part of objc_global_trees.
3567         (objc_tree_index, objc_global_trees): Move definitions from
3568         objc-act.c.
3569         * objc/objc-tree.def: Update copyright info.
3570
3571 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
3572
3573         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
3574         op is NULL.
3575         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
3576         only if TARGET_ARCH64.
3577
3578 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
3579
3580         * doc/extend.texi: Fix some problems with previous checkin.
3581         * doc/invoke.texi: Likewise.
3582
3583 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
3584
3585         * cpphash.h: Update comments.
3586         (cpp_context): Update.
3587         (spec_nodes): Remove n__Pragma.
3588         * cppinit.c (cpp_create_reader): Update.
3589         (builtin_array): Add _Pragma.
3590         * cpplib.h: Update comments.
3591         (NODE_DISABLED, BT_PRAGMA): New.
3592         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
3593         * cppmacro.c (struct cpp_macro): Remove disabled.
3594         (builtin_macro): Return int, handle _Pragma, push the new token
3595         on the context stack.
3596         (funlike_invocation_p): Unconstify, update.
3597         (enter_macro_context): Handle builtins here.
3598         (replace_args, push_token_context, push_ptoken_context):
3599         Update for prototype changes.
3600         (_cpp_pop_context): Update.
3601         (cpp_get_token): Don't handle buitins, nor _Pragma here.
3602         (cpp_sys_macro_p): Update.
3603         (_cpp_free_definition): Clear disabled flag.
3604         (_cpp_create_definition): Upate.
3605         * cppmain.c: Update comments.
3606
3607 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
3608                                 Andreas Jaeger <aj@suse.de>,
3609                                 Jan Hubicka    <jh@suse.cz>
3610
3611         * doc/invoke.texi (i386 Options): Document x86-64 options.
3612         (i386 and x86-64 Options): Rename i386 options section.
3613
3614         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
3615         (TARGET_SWITCHES): Add -munwind-info.
3616         (MASK_NO_UNWIND_INFO): New.
3617         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
3618         biarch compilation.
3619         (ASM_OUTPUT_DOUBLE_INT): New.
3620
3621         * config/i386/linux64.h: New spec file for Linux x86-64 support.
3622         * config.gcc: Fix tm_file settings for x86-64.
3623         * config/i386/x86-64.h: New file with OS independent x86-64
3624         definitions.
3625         * config/i386/biarch64.h: New file used to configure compiler
3626         to biarch/64bit compilation.
3627
3628         * config/i386/i386.c: (override_options): Set flags default
3629         for 64bit compilation.
3630
3631 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
3632
3633         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
3634         (ix86_expand_int_movcc): Optimize DImode conditional moves with
3635         constants on x86_64.
3636         (ix86_attr_length_immediate_default): Support MODE_DI.
3637         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
3638         condition.
3639         (indirect_jump, tablejump): Turn into expander.
3640
3641 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
3642
3643         * c-common.c (c_format_attribute_table): Make format and
3644         format_arg attributes apply to function types rather than to
3645         decls.
3646         (is_valid_printf_arglist): Construct an attribute list and pass
3647         that to check_function_format rather than a name.
3648         * c-common.h (check_function_format): Adjust prototype.
3649         * c-decl.c (duplicate_decls): Preserve attributes from type of
3650         built-in decl when allowing for harmless conflict in types.
3651         * c-format.c (record_function_format,
3652         record_international_format, function_format_list,
3653         international_format_info, international_format_list): Remove.
3654         (function_format_info): Remove next, name and assembler_name.
3655         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
3656         (decode_format_attr): New.
3657         (handle_format_attribute): Handle receiving a type rather than a
3658         decl.  Call decode_format_attr.  Store format information in a
3659         function_format_info.
3660         (handle_format_arg_attribute): Correct comment.  Handle receiving
3661         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
3662         arg_num.
3663         (check_format_info_recurse, check_format_info_main): Take argument
3664         numbers as unsigned HOST_WIDE_INT.
3665         (check_function_format): Take a list of attributes from the
3666         function type rather than a name or assembler name.  Check for
3667         format attributes in that list and the attributes on the type of
3668         the current function rather than looking through
3669         function_format_list.
3670         (check_format_info): Use unsigned HOST_WIDE_INT for argument
3671         numbers.
3672         (check_format_info_recurse): Take format_arg attributes from the
3673         type of the function calls rather than using
3674         international_format_list.  Allow for multiple format_arg
3675         attributes.
3676         * c-typeck.c (build_function_call): Pass type attributes to
3677         check_function_format rather than name or assembler name.  Don't
3678         require there to be a name or assembler name to check formats.
3679
3680 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
3681
3682         * attribs.c (decl_attributes): Possibly call
3683         insert_default_attributes to insert default attributes on
3684         functions in a lazy manner.
3685         * builtin-attrs.def: New file; define the default format and
3686         format_arg attributes.
3687         * c-common.c (c_format_attribute_table): Move to earlier in the
3688         file.
3689         (c_common_nodes_and_builtins): Initialize format_attribute_table.
3690         (enum built_in_attribute, built_in_attributes,
3691         c_attrs_initialized, c_init_attributes,
3692         c_common_insert_default_attributes): New.
3693         (c_common_lang_init): Don't initialize format_attribute_table.  Do
3694         call c_init_attributes.
3695         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
3696         * c-common.h (init_function_format_info): Don't declare.
3697         (c_common_insert_default_attributes): Declare.
3698         * c-decl.c (implicitly_declare, builtin_function): Call
3699         decl_attributes.
3700         (init_decl_processing): Don't call init_function_format_info.
3701         (insert_default_attributes): New.
3702         * c-format.c (handle_format_attribute,
3703         handle_format_arg_attribute): Be quiet about inappropriate
3704         declaration when applying default attributes.
3705         (init_function_format_info): Remove.
3706         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
3707         (insert_default_attributes): Declare.
3708
3709 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
3710
3711         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
3712
3713 2001-10-01  Jim Wilson  <wilson@redhat.com>
3714
3715         * sched-deps.c (add_dependence): When elide conditional dependence,
3716         check that insn doesn't modify cond2.
3717
3718 2001-10-01  Dale Johannesen  <dalej@apple.com>
3719
3720         * config/rs6000/rs6000.h (enum processor_type): Add support
3721         for 7400 (G4) and 7450.
3722         (RTX_COSTS): Ditto.
3723         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
3724         (rs6000_issue_rate): Ditto.
3725         (rs6000_adjust_cost): Fix cycle counts for compares.
3726         (debug_stack_info):  Fix an obvious typo.
3727         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
3728         * doc/invoke.texi: Document.
3729         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
3730         for Darwin.
3731         (PROCESSOR_DEFAULT): Ditto.
3732
3733 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
3734
3735         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
3736         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
3737         later recursive make invocation.
3738
3739 2001-10-01  Hans Boehm  <boehm@acm.org>
3740
3741         * optabs.c (emit_libcall_block): When using non-call exceptions,
3742         don't add REG_LIBCALL reg notes to trapping calls.
3743
3744 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
3745
3746         * flow.c (propagate_block_delete_libcall): Remove unused first arg
3747         (propagate_one_insn):  Update for above change
3748
3749 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
3750
3751         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
3752         _Unwind_GetTextRelBase): Argument is unused.
3753
3754 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3755
3756         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
3757         Loop through NOPs, placeholders, and components.
3758         Don't go through NOPs if change mode.
3759         (record_alias_subset): Do nothing if SUBSET and SET are the same.
3760         * emit-rtl.c (set_mem_alias_set): Enable check.
3761         * expr.c (find_placeholder): New function.
3762         (expand_expr, case PLACEHOLDER_EXPR): Use it.
3763         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
3764         to modify it and avoid unneeded copies.
3765         * expr.h (expand_expr): Always define.
3766         (find_placeholder): New declaration.
3767
3768 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3769
3770         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
3771         operand 2 is the stack pointer.
3772         ("addr-peephole"): Fix address computation peephole when operand 2
3773         is the stack pointer.
3774
3775 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3776
3777         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
3778         (ix86_setup_incoming_varargs): Likewise.
3779
3780 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
3781
3782         * stor-layout.c (layout_type): Don't complain about too-large
3783         array here.
3784
3785 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3786
3787         * function.c (keep_stack_depressed): Don't use delete_insn.
3788
3789         * expr.h (set_mem_alias_set): Move decl to here.
3790         * rtl.h (mem_attrs): New typedef and struct.
3791         (union rtunion_def): Add field for mem_attrs.
3792         (X0MEMATTR, MEM_ATTRS): New macros.
3793         (MEM_ALIAS_SET): Use MEM_ATTRS.
3794         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
3795         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
3796         (set_mem_alias_set): Delete decl from here.
3797
3798         * alias.c (set_mem_alias_set): Delete from here.
3799         * emit-rtl.c (mem_attrs_htab): New variable.
3800         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
3801         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
3802         (mem_attrs_mark, get_mem_attrs): Likewise.
3803         (gen_rtx_MEM): Clear MEM_ATTRS.
3804         (set_mem_attributes): Move to here.
3805         (set_mem_alias_set): Likewise, and call get_mem_attrs.
3806         (init_emit_once): const_int_htab now deletable htab.
3807         Initialize mem_attrs_htab.
3808         * explow.c (set_mem_attributes): Delete from here.
3809         * function.c (put_var_into_stack): Clear MEM_ATTRS.
3810         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
3811         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
3812         * reload1.c (reload): Rework changing REG to MEM.
3813
3814 2001-09-30  H.J. Lu <hjl@gnu.org>
3815
3816         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
3817         * config.in: Rebuild.
3818
3819 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3820
3821         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
3822         ("tsthi_1"): Avoid allocation in register y.
3823         ("*movqi_68hc12"): Reorganize and fix constraints.
3824         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
3825         ("addqi3"): Likewise.
3826         ("addhi3"): Fix constraints.
3827         ("*logicalhi3_zexthi"): Disparage soft registers.
3828
3829 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3830
3831         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
3832         to tmp reg.
3833
3834 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3835
3836         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
3837         that we use setjmp/longjmp exceptions.
3838
3839 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
3840
3841         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
3842         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
3843         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
3844         _cpp_pool_alloc, _cpp_next_chunk): Remove.
3845         (_cpp_extend_buff, BUFF_ROOM): Update.
3846         (_cpp_append_extend_buff): New.
3847         (struct cpp_reader): Remove macro_pool, add a_buff.
3848         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
3849         macro_pool.
3850         (cpp_destroy): Free a_buff instead of macro_pool.
3851         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
3852         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
3853         _cpp_pool_alloc, ): Remove.
3854         (parse_number, parse_string): Update use of _cpp_extend_buff.
3855         (_cpp_extend_buff): Update.
3856         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
3857         * cpplib.c (glue_header_name, parse_answer):
3858         Update use of _cpp_extend_buff.
3859         (cpp_register_pragma, cpp_register_pragma_space): Use
3860         _cpp_aligned_alloc.
3861         (do_assert, do_unassert): Check for EOL, update.
3862         * cppmacro.c (stringify_arg, collect_args): Update to use
3863         _cpp_extend_buff and _cpp_append_extend_buff.
3864         (save_parameter, parse_params, alloc_expansion_token,
3865         _cpp_create_definition): Rework memory management.
3866
3867 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
3868
3869         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
3870         update md_exec_prefix.
3871         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
3872         to string constant.
3873
3874 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
3875
3876         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
3877         (SELECT_CC_MODE): Use s390_select_ccmode.
3878         * config/s390/s390-protos.h (s390_select_ccmode): Add.
3879         * config/s390/s390.c (s390_select_ccmode): New.
3880         (s390_match_ccmode): Add CCLmode.
3881         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
3882         (output_branch_condition, output_inverse_branch_condition): Removed.
3883         (print_operand): Use s390_branch_condition_mnemonic.
3884         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
3885         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
3886         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
3887
3888         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
3889         when converting conditional branches to far branches.
3890         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
3891         cmpint_di): Use CCSmode instead of CCUmode.
3892
3893         * config/s390/s390.c (legitimate_la_operand_p): New.
3894         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
3895         * config/s390/s390.md (movsi): Convert load address patterns to
3896         arithmetic operations when necessary.
3897         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
3898         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
3899         (*do_la_reg_0): Don't use before reload.
3900
3901         * config/s390/s390.c (legitimize_address): Make more efficient
3902         use of two-register addressing mode.
3903
3904         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
3905         with -mno-backchain in some corner cases.
3906
3907         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
3908
3909 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
3910
3911         * reload.c (find_reloads): Mark new USE insns with QImode.
3912         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
3913         find_reloads_subreg_address): Likewise.
3914         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
3915         encountered.
3916         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
3917         CLOBBERs.
3918         (reload): Make sure there are no USEs with mode other than
3919         VOIDmode.  At the end, remove those marked with QImode.
3920
3921 2001-09-29  Per Bothner  <per@bothner.com>
3922
3923         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
3924         * Makefile.in (includedir):  Rename to local_includedir.
3925         (includedir):  Define as $(prefix)/include.
3926         * config.in (PREFIX_INCLUDE_DIR):  New variable.
3927         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
3928
3929 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
3930
3931         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
3932         storehps builtins.
3933         * doc/extend.texi (Vector Extensions): New node.
3934         * doc/invoke.texi (Machine Dependent Options): Add documentation for
3935         i386 -mmmx, -msse, -m3dnow.
3936
3937 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
3938
3939         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
3940
3941 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
3942
3943         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
3944
3945         * doc/invoke.texi (Optimize Options): Delete spurious @table.
3946
3947 2001-09-28  Richard Henderson  <rth@redhat.com>
3948
3949         * varasm.c (assemble_integer): Bound alignment check by
3950         BIGGEST_ALIGNMENT.
3951
3952         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
3953
3954 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3955
3956         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
3957
3958 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
3959
3960         Mostly from Graham Stott  <grahams@redhat.com>
3961         * c-common.c (type_for_mode): Add support for V2SFmode.
3962         * tree.c (build_common_tree_nodes_2): Likewise.
3963         * tree.h (enum tree_index, global_trees): Likewise.
3964         * config/i386/i386.c (x86_3dnow_a): New variable.
3965         (override_options): Support 3Dnow extensions.
3966         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
3967         Athlon's version of 3Dnow.
3968         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
3969         (ix86_expand_builtin): Handle them.
3970         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
3971         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
3972         TARGET_3DNOW_A): New macros.
3973         (TARGET_SWITCHES): Add 3Dnow switches.
3974         (VALID_MMX_REG_MODE_3DNOW): New macro.
3975         (VECTOR_MODE_SUPPORTED_P): Use it.
3976         (enum ix86_builtins): Add entries for 3Dnow builtins.
3977         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
3978         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
3979         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
3980         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
3981         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
3982         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
3983         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
3984         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
3985         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
3986         sfence_insn, prefetch): Make these available if TARGET_SSE or
3987         TARGET_3DNOW_A.
3988
3989 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
3990
3991         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
3992         ix86_va_start, ix86_build_va_list): Declare.
3993         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
3994         ix86_va_start, ix86_build_va_list): New global functions.
3995         * i386.md (sse_prologue_save_insn): New insn.
3996         (sse_prologue_save): New expander.
3997         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
3998         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
3999
4000 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
4001
4002         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
4003         Use size_t everywhere, make definitions consistent with
4004         prototypes.
4005
4006 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
4007
4008         * gcse.c (replace_store_insn): Use delete_insn.
4009         * loop.c (move_movables): Likewise; avoid delete_insn
4010         from clobbering notes moved elsewhere.
4011         (check_dbra_loop): Use delete_insn.
4012         * ssa.c (convert_from_ssa): Likewise.
4013         * cse.c (cse_insn): Use delete_insn.
4014
4015 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
4016
4017         * cpphash.h (struct cpp_buff): Make unsigned.
4018         (_cpp_get_buff): Take length of size_t.
4019         (_cpp_unaligned_alloc): New.
4020         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
4021         (struct cpp_reader): Remove ident_pool.  Add u_buff.
4022         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
4023         (cpp_destroy): Destroy u_buff, not ident_pool.
4024         * cpplex.c (parse_number, parse_string, save_comment,
4025         cpp_token_as_text): Update to use the unaligned buffer.
4026         (new_buff): Make unsigned.
4027         (_cpp_unaligned_alloc): New.
4028         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
4029         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
4030         Similarly.
4031         (collect_args): Make unsigned.
4032
4033 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
4034
4035         * cpplex.c (cpp_output_token): Use a putc loop for
4036         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
4037
4038         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
4039         * configure, config.in: Regenerate.
4040         * system.h: Replace fwrite and fprintf with their unlocked
4041         variants if available.
4042
4043 2001-09-27  Richard Henderson  <rth@redhat.com>
4044
4045         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
4046         in favour of .eh_frame.
4047
4048 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
4049
4050         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
4051         to macros.
4052         (LIBCALL_VALUE): Likewise.
4053
4054 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
4055
4056         * cpphash.h: Update comment.
4057         * cpplex.c: Update comments.
4058         (_cpp_can_paste): Remove.
4059         * cpplib.h (_cpp_can_paste): Remove.
4060         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
4061         lexer rather than _cpp_can_paste.
4062
4063 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
4064
4065         * doc/cppinternals.texi: Update.
4066
4067 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
4068
4069         * cpphash.h (struct cpp_pool): Remove locks and locked.
4070         (struct cpp_context): Add member buff.
4071         (struct cpp_reader): Remove member argument_pool.
4072         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
4073         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
4074         * cpplex.c (chunk_suitable): Remove pool argument.
4075         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
4076         (new_buff, _cpp_extend_buff): Update.
4077         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
4078         which buffer is returned.
4079         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
4080         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
4081         * cppmacro.c (lock_pools, unlock_pools): Remove.
4082         (push_ptoken_context): Take a _cpp_buff.
4083         (enter_macro_context): Pool locking removed.
4084         (replace_args): Use a _cpp_buff for the replacement list with
4085         arguments replaced.
4086         (push_token_context): Clear buff.
4087         (expand_arg): Use _cpp_pop_context.
4088         (_cpp_pop_context): Free a context's buffer, if any.
4089
4090 2001-09-26  DJ Delorie  <dj@redhat.com>
4091
4092         * c-typeck.c (digest_init): Check for sizeless arrays.
4093
4094 2001-09-26  Richard Henderson  <rth@redhat.com>
4095
4096         * optabs.c (init_one_libfunc): Create a dummy function type
4097         instead of using error_mark_node.
4098
4099 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
4100
4101         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
4102         _cpp_extend_buff, _cpp_free_buff): New.
4103         (struct cpp_reader): New member free_buffs.
4104         * cppinit.c (cpp_destroy): Free buffers.
4105         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
4106         _cpp_extend_buff, _cpp_free_buff): New.
4107         * cpplib.h (struct cpp_options): Remove unused member.
4108         * cppmacro.c (collect_args): New.  Combines the old parse_arg
4109         and parse_args.  Use _cpp_buff for memory allocation.
4110         (funlike_invocation_p, replace_args): Update.
4111
4112 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
4113
4114         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
4115
4116 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
4117
4118         * except.c (sjlj_mark_call_sites): Change address inside sequence.
4119
4120 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
4121
4122         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
4123         glibc.
4124
4125 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
4126             Jim Wilson  <wilson@redhat.com>
4127
4128         * doc/install.texi (Specific, ia64-*-linux): Document.
4129
4130 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
4131
4132         * Makefile.in (cfgrtl.o): Add.
4133         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
4134         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
4135         free_aux_for_edge): Declare.
4136         * cfg.c
4137         (HAVE_return): Undefine.
4138         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
4139         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
4140         free_aux_for_edge): New global functions.
4141         (first_delete_block): New static variable.
4142         (init_flow): Clear first_delete_block.
4143         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
4144          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
4145          try_redirect_by_replacing_jump, last_loop_beg_note,
4146          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
4147          delete_insn, delete_insn_chain, create_basic_block_structure,
4148          create_basic_block, flow_delete_block, compute_bb_for_insn,
4149          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
4150          set_block_for_new_insns, split_block, merge_blocks_nomove,
4151          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
4152          redirect_edge_and_branch, force_nonfallthru_and_redirect,
4153          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
4154          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
4155          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
4156          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
4157          purge_all_dead_edges): Move to ....
4158         * cfgrtl.c: New file; .... Here.
4159
4160         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
4161         (reroder_basic_block): Use alloc_aux_for_blocks.
4162         * predict.c (estimate_bb_frequencies): Likewise; use
4163         alloc_aux_for_edges.
4164         * profile.c (compute_branch_probabilities): Likewise.
4165         (branch_prob): Likewise.
4166         * reg-stack.c (reg_to_stack): Likewise.
4167
4168         * emit-rtl.c (emit_insns_after): Never return NULL.
4169
4170         * basic-block.h (set_block_for_new_insns): Delete.
4171         * cfgrtl.c (set_block_for_new_insns): Delete.
4172
4173         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
4174         calls when crossjumping.
4175
4176         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
4177         * unroll.c (copy_loop_body): Use delete_insn.
4178
4179         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
4180         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
4181         keep_stack_depressed): Likewise.
4182         * gcse.c (cprop_cc0_jump): Likewise.
4183         * local-alloc.c (update_equiv_regs): Likewise.
4184         * loop.c (scan_loop, loop_delete_insns): Likewise.
4185         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
4186         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
4187         delete_output_reload, delete_address_reloads_1,
4188         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
4189         Likewise.
4190         * sibcall.c (replace_call_placeholder): Likewise.
4191         * cse.c (cse_insn): Likewise.
4192
4193 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
4194
4195         From Graham Stott  <grahams@redhat.com>
4196         (def_builtin): Only define builtins appropriate for target_flags.  All
4197         callers changed.
4198         (builtin_decsription): Add new field mask which is used to determine
4199         when to define the builtin via the macro def_builtin.
4200
4201         (bdesc_comi): Initialise new mask fields.
4202         (bdesc_2srg): Likewise.
4203         (bdesc_1arg): Likewise.
4204
4205         * config/i386/i386.c (ix86_init_builtins): Correct return type
4206         building v4hi_ftype_v4hi_int_int tree node.
4207         (ix86_expand_sse_comi): Fix typo swapping operands.
4208         Don't swap comparision condition, it is already swapped.
4209         (ix86_expand_sse_compare): Before swapping operands
4210         move operand 1 into new rtx and not the target rtx.
4211         Don't swap comparison condition, it is already swapped.
4212         Always check whether we need to create a new TARGET.
4213
4214         * config/i386/i386.md: (sse_comi) Fix typos.
4215         (sse_ucomi): Likewise.
4216         (cvtss2si): Fix operand 0 contraint.
4217         (cvttss2si): Likewise.
4218         (sse_unpckhps): Fix mode for operand 2.
4219         (sse_unpcklps): Likewise.
4220
4221 2001-09-25  Graham Stott  <grahams@redhat.com>
4222
4223         * sibcall.c (skip_copy_to_return_value): Tighten return value
4224         copy check.
4225
4226 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
4227
4228         * rs6000.c (lwa_operand): Address must be word aligned.
4229
4230 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4231
4232         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
4233         number has been set.
4234         (type_hash_mark): Mark type itself.
4235
4236 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
4237
4238         * c-lex.c (cb_def_pragma): Update.
4239         (c_lex): Update, and skip padding.
4240         * cppexp.c (lex, parse_defined): Update, remove unused variable.
4241         * cpphash.h (struct toklist): Delete.
4242         (union utoken): New.
4243         (struct cpp_context): Update.
4244         (struct cpp_reader): New members eof, avoid_paste.
4245         (_cpp_temp_token): New.
4246         * cppinit.c (cpp_create_reader): Update.
4247         * cpplex.c (_cpp_temp_token): New.
4248         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
4249         (cpp_output_token): Don't print leading whitespace.
4250         (cpp_output_line): Update.
4251         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
4252         do_include_common, do_line, do_ident, do_pragma,
4253         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
4254         parse_assertion): Update.
4255         (get_token_no_padding): New.
4256         * cpplib.h (CPP_PADDING): New.
4257         (AVOID_LPASTE): Delete.
4258         (struct cpp_token): New union member source.
4259         (cpp_get_token): Update.
4260         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
4261         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
4262         replace_args, quote_string, stringify_arg, parse_arg, next_context,
4263         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
4264         _cpp_backup_tokens, _cpp_create_definition): Update.
4265         (push_arg_context): Delete.
4266         (padding_token, push_token_context, push_ptoken_context): New.
4267         (make_string_token, make_number_token): Update, rename.
4268         (cpp_get_token): Update to handle tokens as pointers to const,
4269         and insert padding appropriately.
4270         * cppmain.c (struct printer): New member prev.
4271         (check_multiline_token): Constify.
4272         (do_preprocessing, cb_line_change): Update.
4273         (scan_translation_unit): Update to handle spacing.
4274         * scan-decls.c (get_a_token): New.
4275         (skip_to_closing_brace, scan_decls): Update.
4276         * fix-header.c (read_scan_file): Update.
4277
4278         * doc/cpp.texi: Update.
4279
4280 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4281
4282         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
4283         leak by passing malloc'ed pointer to reconcat, not concat.
4284
4285 2001-09-24  DJ Delorie  <dj@redhat.com>
4286
4287         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
4288
4289 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
4290
4291         * flow.c (delete_dead_jumptables): Delete jumptable if the only
4292         reference is from the literal pool.
4293
4294 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
4295
4296         * doc/install.texi (Final install): Request additional information
4297         in mail about successful builds.
4298
4299 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4300
4301         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
4302         initial value of return pointer register instead of value in frame-20.
4303         Revise comments.
4304
4305 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4306
4307         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
4308         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
4309         the libcall if there isn't a referenced identifier for the symbol.
4310
4311 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4312
4313         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
4314         non 64-bit machines.  Use these as a plabel for the trampoline.
4315         (TRAMPOLINE_SIZE): Adjust size for new words.
4316         (INITIALIZE_TRAMPOLINE): Initialize new words.
4317         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
4318         pointer to the plabel in the trampoline.
4319
4320 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4321
4322         * pa.c (function_arg): Pass floating arguments in both general and
4323         floating registers in indirect (dynamic) calls when generating code
4324         for the 32 bit ABI and the HP assembler.
4325
4326 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4327
4328         * doc/install.texi: Markup fixes.
4329         Use Solaris 2, SunOS 4 as appropriate.
4330         (Specific, *-*-solaris2*): Explain this.
4331         Unconditionally warn against /usr/ucb tools.
4332         Remove Sun as warning, obsolete.
4333         Move X11 header bug workaround here, update patches.
4334         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
4335         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
4336
4337 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
4338
4339         * errors.h (warning, error, fatal, internal_error): Don't mark
4340         with ATTRIBUTE_PRINTF_n.
4341         * toplev.h (internal_error, fatal_io_error, warning, error,
4342         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
4343         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
4344         Likewise.
4345
4346 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4347
4348         * function.c (pop_function_context_from): var_refs_queue
4349         and temp slots now in GC memory.
4350         (mark_function_status, free_after_compilation): Likewise;
4351         also struct function now in GC memory.
4352         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
4353         (combine_temp_slots): Likewise.
4354         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
4355         (prepare_function_start): Use GC memory for struct function.
4356         (mark_temp_slot): Deleted.
4357         (gcc_mark_struct_function): struct function now in GC memory.
4358
4359         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
4360         code for division, not modulus.
4361
4362         * rtl.def (MEM): Remove obsolete part of comment.
4363
4364 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
4365
4366         * c-format.c (init_function_format_info): Check __builtin_printf
4367         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
4368         in gnu89 mode.
4369
4370 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4371
4372         * c-common.c (format_attribute_table): Remove decl.
4373         * tree.h (format_attribute_table, lang_attribute_table): New decls.
4374         (lang_attribute_common): Likewise.
4375
4376         * function.c (fix_lexical_address): Use set_mem_alias_set.
4377         (expand_function_start): Likewise.
4378         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
4379
4380         * varasm.c (output_constant): Fix unused variable warning.
4381
4382         * attribs.c: New file, from c-common.c.
4383         (attribute_tables): Now four elements.
4384         (format_attribute_table, lang_attribute_common): New variables.
4385         (init_attributes): Reflect above changes.
4386         (handle_mode_attribute): Delete check for wider than uintmax.
4387         * c-common.c: Delete parts moved to attribs.c.
4388         (enum attrs): Deleted; unused.
4389         (c_format_attribute_table): New variable.
4390         (c_common_lang_init): Initialize format_attribute_table with it.
4391         * c-common.h (decl_attributes): Remove decl.
4392         * tree.h (decl_attribute): Move it to here.
4393         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
4394         (attribs.o): New rule.
4395
4396 2001-09-22  Andreas Jaeger  <aj@suse.de>
4397
4398         * builtins.c (c_getstr): Remove unused variable.
4399
4400 2001-09-21  Richard Henderson  <rth@redhat.com>
4401
4402         * reload1.c (reload): Use delete_insn instead of splatting
4403         NOTE_INSN_DELETED.
4404
4405 2001-09-21  Richard Henderson  <rth@redhat.com>
4406
4407         * reload.c (push_secondary_reload): Don't check for "=" in output
4408         constraint after ""->ALL_REGS check.
4409
4410 2001-09-21  Richard Henderson  <rth@redhat.com>
4411
4412         * predict.c (expected_value_to_br_prob): Use pc_set.
4413
4414         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
4415         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
4416
4417 2001-09-21  Richard Henderson  <rth@redhat.com>
4418
4419         * rtl.h (LCT_RETURNS_TWICE): New.
4420         * calls.c (emit_call_1): Set current_function_calls_setjmp for
4421         ECF_RETURNS_TWICE.
4422         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
4423         to ECF_RETURNS_TWICE.
4424         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
4425         call to setjmp.
4426
4427         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
4428
4429         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
4430         (JMP_BUF_SIZE): New.
4431
4432 2001-09-21  Richard Henderson  <rth@redhat.com>
4433
4434         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
4435         to R8_REGS.
4436
4437 2001-09-21  Richard Henderson  <rth@redhat.com>
4438
4439         * tree.def (FDESC_EXPR): New.
4440         * expr.c (expand_expr): Handle it.
4441         * varasm.c (initializer_constant_valid_p): Likewise.
4442         (output_constant): Likewise.
4443         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
4444         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
4445         (ASM_OUTPUT_FDESC): New.
4446         * doc/tm.texi: Document the new macros.
4447
4448 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
4449
4450         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
4451         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
4452         once merging is complete.
4453
4454 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4455
4456         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
4457
4458 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
4459
4460         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
4461         that would be invalid after a merge.
4462
4463 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
4464
4465         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
4466         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
4467         remove some labels.
4468         (flow_delete_insn): This one.
4469         (delete_insn_chain): Rename from ...; do not care labels.
4470         (flow_delete_insn_chain): ... this one.
4471         (flow_delete_block): Remove the insns one BB has been expunged.
4472         (merge_blocks_nomove): Likewise.
4473         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
4474         updating BB boundaries.
4475         (tidy_fallthru_edge): Likewise.
4476         (commit_one_edge_insertion): Likewise.
4477         * cfgbuild.c (find_basic_block): Likewise.
4478         (find_basic_blocks_1): Likewise.
4479         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
4480         (try_crossjump_to_edge): Likewise.
4481         (try_optimize_cfg): Likewise.
4482         * cse.c (delete_trivially_dead_insns): Likewise.
4483         * df.c (df_insn_delete): Likewise.
4484         * doloop.c (doloop_modify): Use delete_related_insns.
4485         * emit-rtl.c (try_split): Likewise.
4486         (remove_insn): Update BB boundaries.
4487         * expect.c (connect_post_landing_pads): Use delete_related_insns.
4488         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
4489         updating BB boundaries.
4490         (propagate_block_delete_insn): Likewise.
4491         (propagate_block_delete_libcall): Likewise.
4492         * function.c (delete_handlers): Use delete_related_insns.
4493         (thread_prologue_and_epilogue_insns): Likewise.
4494         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
4495         * genpeep.c (gen_peephole): Use delete_related_insns.
4496         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
4497         BB boundaries.
4498         (find_cond_trap): Likewise.
4499         * integrate.c (save_for_inline): Use delete_related_insns.
4500         (copy_insn_list): Likewise.
4501         * jump.c (pruge_linie_number_notes): Likewise.
4502         (duplicate_loop_exit_test): Likewise.
4503         (delete_computation): Likewise.
4504         (delete_related_insn): Rename from ...; use delete_insn
4505         (delete_insn): ... this one.
4506         (redirect_jump): Use delete_related_insns.
4507         * loop.c (scan_loop): Likewise.
4508         (move_movables): Likewise.
4509         (find_and_verify_loops): Likewise.
4510         (check_dbra_loop): Likewise.
4511         * recog.c (peephole2_optimize): Likewise.
4512         * reg-stack.c (delete_insn_for_stacker): Remove.
4513         (move_for_stack_reg): Use delete_insn.
4514         * regmove.c (combine_stack_adjustments_for_block): Likewise.
4515         * reload1.c (delete_address_reloads): Use delete_related_insns.
4516         (fixup_abnormal_edges): Use delete_insn.
4517         * recog.c (emit_delay_sequence): Use delete_related_insns.
4518         (delete_from-delay_slot): Likewise.
4519         (delete_scheduled_jump): likewise.
4520         (optimize_skip): Likewise.
4521         (try_merge_delay_insns): Likewise.
4522         (full_simple_delay_slots): Likewise.
4523         (fill_slots_from_thread): Likewise.
4524         (relax_delay_slots): Likewise.
4525         (make_return_insns): Likewise.
4526         (dbr_schedule): Likewise.
4527         * rtl.h (delete_insn): Rename to delete_related_insns.
4528         (delete_insn, delete_insn_chain): New prototypes.
4529         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
4530         by df_insn_delete already.
4531         * ssa-dce.c (delete_insn_bb): Use delete_insn.
4532         * ssa.c (convert_from_ssa): Use delete_related_insns.
4533         * unroll.c (unroll_loop): Likewise.
4534         (calculate_giv_inc): Likewise.
4535         (copy_loop_body): Likewise.
4536
4537         * i386-protos.h (ix86_libcall_value, ix86_function_value,
4538         ix86_function_arg_regno_p, ix86_function_arg_boundary,
4539         ix86_return_in_memory, ix86_function_value): Declare.
4540         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
4541         new static valurables.
4542         (x86_64_reg_class): New enum
4543         (x86_64_reg_class_name): New array.
4544         (classify_argument, examine_argument, construct_container,
4545          merge_classes): New static functions.
4546         (optimization_options): Enable flag_omit_frame_pointer and disable
4547         flag_pcc_struct_return on 64bit.
4548         (ix86_libcall_value, ix86_function_value,
4549         ix86_function_arg_regno_p, ix86_function_arg_boundary,
4550         ix86_return_in_memory, ix86_function_value): New global functions.
4551         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
4552         (function_arg_advance): Handle x86_64 passing conventions.
4553         (function_arg): Likewise.
4554         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
4555         (RETURN_IN_MEMORY): Move offline.
4556         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
4557         (FUNCTION_VALUE_REGNO_P): New macro.
4558         (FUNCTION_ARG_REGNO_P): Move offline.
4559         (struct ix86_args): Add maybe_vaarg.
4560         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
4561         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
4562
4563 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
4564
4565         * s390.md: Changed attributes for scheduling.
4566         * s390.c: (s390_adjust_cost, s390_adjust_priority)
4567         Changed scheduling
4568
4569 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
4570
4571         Table-driven attributes.
4572         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
4573         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
4574         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
4575         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
4576         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
4577         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
4578         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
4579         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
4580         * tree.h (struct tree_decl): Change machine_attributes to
4581         attributes.
4582         * doc/c-tree.texi: Document that all attributes are now attached
4583         to decls and types.
4584         * c-common.c (add_attribute, attrtab, attrtab_idx,
4585         default_valid_lang_attribute, valid_lang_attribute): Remove.
4586         (attribute_tables, attributes_initialized,
4587         c_common_attribute_table, default_lang_attribute_table): New
4588         variables.
4589         (handle_packed_attribute, handle_nocommon_attribute,
4590         handle_common_attribute, handle_noreturn_attribute,
4591         handle_unused_attribute, handle_const_attribute,
4592         handle_transparent_union_attribute, handle_constructor_attribute,
4593         handle_destructor_attribute, handle_mode_attribute,
4594         handle_section_attribute, handle_aligned_attribute,
4595         handle_weak_attribute, handle_alias_attribute,
4596         handle_no_instrument_function_attribute,
4597         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
4598         handle_no_limit_stack_attribute, handle_pure_attribute): New
4599         functions.
4600         (init_attributes, decl_attributes): Rewrite to implement
4601         table-driven attributes.
4602         * c-common.h (enum attribute_flags): Move to tree.h.
4603         * c-format.c (decl_handle_format_attribute,
4604         decl_handle_format_arg_attribute): Rename to
4605         handle_format_attribute and handle_format_arg_attribute.  Update
4606         for table-driven attributes.
4607         * c-common.h (decl_handle_format_attribute,
4608         decl_handle_format_arg_attribute): Remove prototypes.
4609         (handle_format_attribute, handle_format_arg_attribute): Add
4610         prototypes.
4611         * c-decl.c (grokdeclarator): Handle attributes nested inside
4612         declarators.
4613         * c-parse.in (setattrs, maybe_setattrs): Remove.
4614         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
4615         Update to handle nested attributes properly.
4616         (maybe_resetattrs, after_type_declarator,
4617         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
4618         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
4619         properly.
4620         (make_pointer_declarator): Update to handle nested attributes
4621         properly.
4622         * doc/extend.texi: Update documentation of limits of attributes
4623         syntax.  Warn about problems with attribute semantics in C++.
4624         * target.h (struct target): Remove valid_decl_attribute and
4625         valid_type_attribute.  Add attribute_table and
4626         function_attribute_inlinable_p.
4627         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
4628         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
4629         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
4630         Add.
4631         (TARGET_INITIALIZER): Update.
4632         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
4633         definition.
4634         (function_attribute_inlinable_p): New function.  Check for the
4635         presence of any machine attributes before using
4636         targetm.function_attribute_inlinable_p.
4637         (function_cannot_inline_p): Update.
4638         * Makefile.in (integrate.o): Update dependencies.
4639         * doc/tm.texi: Update documentation of target attributes and
4640         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
4641         * tree.c (default_valid_attribute_p, valid_machine_attribute):
4642         Remove.
4643         (default_target_attribute_table,
4644         default_function_attribute_inlinable_p): New.
4645         (lookup_attribute): Update comment to clarify handling of multiple
4646         attributes with the same name.
4647         (merge_attributes, attribute_list_contained): Allow multiple
4648         attributes with the same name but different arguments to appear in
4649         the same attribute list.
4650         * tree.h (default_valid_attribute_p): Remove prototype.
4651         (struct attribute_spec): New.
4652         (default_target_attribute_table): Declare.
4653         (enum attribute_flags): Move from c-common.h.  Add
4654         ATTR_FLAG_TYPE_IN_PLACE.
4655         (default_function_attribute_inlinable_p): Declare.
4656         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
4657         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
4658         (TARGET_ATTRIBUTE_TABLE): Define.
4659         (vms_attribute_table): New.
4660         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
4661         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
4662         (TARGET_ATTRIBUTE_TABLE): Define.
4663         (arc_attribute_table, arc_handle_interrupt_attribute): New.
4664         * config/arm/arm.c (arm_valid_type_attribute_p,
4665         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
4666         Remove.
4667         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
4668         define.
4669         (TARGET_ATTRIBUTE_TABLE): Define.
4670         (arm_attribute_table, arm_handle_fndecl_attribute,
4671         arm_handle_isr_attribute): New.
4672         * config/avr/avr.c (avr_valid_type_attribute,
4673         avr_valid_decl_attribute): Remove.
4674         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
4675         define.
4676         (TARGET_ATTRIBUTE_TABLE): Define.
4677         (avr_attribute_table, avr_handle_progmem_attribute,
4678         avr_handle_fndecl_attribute): New.
4679         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
4680         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
4681         (TARGET_ATTRIBUTE_TABLE): Define.
4682         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
4683         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
4684         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
4685         (TARGET_ATTRIBUTE_TABLE): Define.
4686         (h8300_attribute_table, h8300_handle_fndecl_attribute,
4687         h8300_handle_eightbit_data_attribute,
4688         h8300_handle_tiny_data_attribute): New.
4689         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
4690         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
4691         Remove prototypes.
4692         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
4693         declarations.
4694         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
4695         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
4696         define.
4697         (TARGET_ATTRIBUTE_TABLE): Define.
4698         (ix86_attribute_table, ix86_handle_cdecl_attribute,
4699         ix86_handle_regparm_attribute): New.
4700         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
4701         i386_pe_valid_type_attribute_p): Remove.
4702         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
4703         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
4704         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
4705         (TARGET_ATTRIBUTE_TABLE): Define.
4706         (ia64_attribute_table): New.
4707         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
4708         interrupt_ident2, model_ident1, model_ident2): Remove.
4709         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
4710         (TARGET_ATTRIBUTE_TABLE): Define.
4711         (init_idents): Update.
4712         (m32r_attribute_table, m32r_handle_model_attribute): New.
4713         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
4714         Remove.
4715         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
4716         (TARGET_ATTRIBUTE_TABLE): Define.
4717         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
4718         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
4719         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
4720         (TARGET_ATTRIBUTE_TABLE): Define.
4721         (mcore_attribute_table, mcore_handle_naked_attribute): New.
4722         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
4723         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
4724         (TARGET_ATTRIBUTE_TABLE): Define.
4725         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
4726         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
4727         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
4728         (TARGET_ATTRIBUTE_TABLE): Define.
4729         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
4730         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
4731         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
4732         (TARGET_ATTRIBUTE_TABLE): Define.
4733         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
4734         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
4735         New.
4736         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
4737         Remove.
4738         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
4739         (TARGET_ATTRIBUTE_TABLE): Define.
4740         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
4741         New.
4742         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
4743         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
4744         (TARGET_ATTRIBUTE_TABLE): Define.
4745         (v850_attribute_table, v850_handle_interrupt_attribute,
4746         v850_handle_data_area_attribute): New.
4747         * config/v850/v850-c.c (mark_current_function_as_interrupt):
4748         Return void.  Call decl_attributes instead of
4749         valid_machine_attribute.
4750
4751 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
4752
4753         * sh-protos.h (sh_pr_n_sets): Declare.
4754         * sh.c (calc_live_regs): If the initial value for PR has been copied,
4755         look at the copy to determine if PR needs to be saved.
4756         sh_pr_n_sets: New function.
4757         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
4758         (ALLOCATE_INITIAL_VALUE): Define.
4759
4760         * sh.c (initial_elimination_offset):
4761         Fix RETURN_ADDRESS_POINTER_REGNUM case.
4762
4763 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
4764
4765         * integrate.c (allocate_initial_values): New function.
4766         * integrate.h (allocate_initial_values): Declare.
4767         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
4768         here...
4769         * reload1.c (reload): And initialization of reg_equiv_memory_loc
4770         from here...
4771         * toplev.c (rest_of_compilation): To here.
4772         Call allocate_initial_values.
4773         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
4774
4775 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4776
4777         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
4778
4779 2001-09-20  DJ Delorie  <dj@redhat.com>
4780
4781         * c-typeck.c (really_start_incremental_init): Discriminate
4782         between zero-length arrays and flexible arrays.
4783         (push_init_level): Detect zero-length arrays and handle them
4784         like fixed-sized arrays.
4785         * expr.c (store_constructor): Handle zero-length arrays and
4786         flexible arrays correctly.
4787         * doc/extend.texi: Update zero-length array notes.
4788
4789 2001-09-20  Jim Wilson  <wilson@redhat.com>
4790
4791         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
4792         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
4793         for issue port conflicts.
4794         (cycle_end_fill_slots): TYPE_L instructions take two slots.
4795
4796 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
4797
4798         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
4799         on ia64.
4800
4801 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4802
4803         * fold-const.c (hashtab.h): Include.
4804         (int_const_binop): Remove FORSIZE arg and compute from type; all
4805         callers changed.
4806         Call size_int_type_wide for all single-word constants.
4807         (size_htab_hash, size_htab_eq): New functions.
4808         (size_int_type_wide): Rework to use hash table.
4809         * ggc-common.c (hashtab.h): Include.
4810         (struct d_htab_root): New struct.
4811         (d_htab_roots): New variable.
4812         (ggc_add_deletable_htab, ggc_htab_delete): New functions
4813         (ggc_mark_roots): Handle deletable htabs.
4814         * ggc-page.c (ggc_marked_p): New function.
4815         * ggc-simple.c (ggc_marked_p): Likewise.
4816         * ggc.h: Reformatting throughout.
4817         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
4818         * tree.c (init_obstacks): Make type_hash_table a deletable root.
4819         (type_hash_add): Allocate struct type_hash from GC memory.
4820         (mark_hash_entry, mark_type_hash): Deleted.
4821         (type_hash_marked_p, type_hash_mark): New functions.
4822         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
4823
4824 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
4825
4826         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
4827         than SImode.
4828
4829 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4830
4831         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
4832         array-too-large test for signed sizetype.
4833
4834 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
4835
4836         * i386.md (indirect_jump): Allow Pmode operand.
4837         (tablejump): LIkewise; perform expansion to 64bit mode.
4838         * i386.c (symbolic_operand): Allow 64bit PIC references.
4839         (pic_symbolic_operand): Likewise.
4840         (ix86_find_base_term): Strip the 64bit PIC references.
4841         (legitimate_pic_address_disp_p): Handle 64bit PIC.
4842         (legitimize_pic_address): Likewise.
4843         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
4844         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
4845
4846 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
4847
4848         * stringpool.c (get_identifier_with_length): New function.
4849         * tree.h (get_identifier_with_length): New prototype.
4850
4851 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
4852             David Edelsohn  <edelsohn@gnu.org>
4853
4854         Revert:
4855         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
4856         already sign-extended.
4857
4858         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
4859         * config/rs6000/rs6000.c (logical_operand): Always compare op as
4860         HOST_WIDE_INT.
4861         (rs6000_emit_set_long_const): Avoid unnecessary shift.
4862         (output_profile_hook): Declare label_name const.
4863         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
4864         to match constraints.
4865
4866 2001-09-19  Stan Shebs  <shebs@apple.com>
4867
4868         * alias.c: Fix typos in comments.
4869         * sched-rgn.c (init_ready_list): Ditto.
4870         * unwind-dw2.c (uw_frame_state_for): Ditto.
4871         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
4872         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
4873         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
4874
4875 2001-09-19  Richard Henderson  <rth@redhat.com>
4876
4877         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
4878         to the exit block.
4879         * Makefile.in (cfg.o): Depend on TM_P_H.
4880
4881 2001-09-19  Richard Henderson  <rth@redhat.com>
4882
4883         * config/alpha/alpha.c (local_symbol_p): Split out from ...
4884         (local_symbolic_operand): ... here.
4885         (small_symbolic_operand): Check mode.
4886         (global_symbolic_operand): New.
4887         (input_operand): Reject symbolics if explicit relocs.
4888         (call_operand): Tidy.
4889         (alpha_legitimize_address): Use movdi_er_high_g.
4890         (alpha_expand_mov): Likewise.
4891         * config/alpha/alpha-protos.h: Update.
4892         * config/alpha/alpha.h (PREDICATE_CODES): Update.
4893         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
4894         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
4895         (UNSPECV_LDGP2): Remove.
4896         (all call patterns): Use 's' not 'i' for symbolic constraint.
4897         (call_osf call_value_osf): Use call_operand.
4898         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
4899         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
4900         (prologue_ldgp_1_er): Remove.
4901         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
4902         (builtin_setjmp_receiver_er patterns): Use them.
4903         (exception_receiver_er): Likewise.
4904
4905 2001-09-19  Richard Henderson  <rth@redhat.com>
4906
4907         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
4908
4909         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
4910         and NON_LOCAL_GOTO notes.
4911         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
4912         copy over CALL_INSN_FUNCTION_USAGE.
4913
4914 2001-09-18  Catherine Moore  <clm@redhat.com>
4915
4916         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
4917         Define as 0.
4918
4919 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
4920
4921         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
4922         new-style tm_file specification.  Specify correct tm_p_file,
4923         md_file, and out_file for s390x.
4924
4925         * config/s390/linux.h, linux64.h:  Don't include other target
4926         macro header files.  Now handled via tm_file.
4927
4928         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
4929         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
4930         are defined before use.
4931
4932 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
4933
4934         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
4935         code generation only for Gnu assembler.
4936
4937 2001-09-18  Catherine Moore  <clm@redhat.com>
4938
4939         * config/stormy16 (LIB_SPEC): Remove -lnosys.
4940
4941 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
4942
4943         * config/mips/mips.c (mips_frame_set): New.
4944         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
4945         a parallel frame-related expression with a set for each register.
4946
4947 2001-09-18  Philip Blundell  <philb@gnu.org>
4948
4949         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
4950         header files.
4951
4952 2001-09-17  Dale Johannesen  <dalej@apple.com>
4953
4954         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
4955         * config/rs6000/aix.h (FIXED_R2): Define.
4956         * config/rs6000/darwin.h (FIXED_R2): Define.
4957         * config/rs6000/sysv4.h (FIXED_R2): Define.
4958
4959 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
4960
4961         * except.c (dw2_build_landing_pads): New local
4962         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
4963         barrier after clobbers.  Fixes c++/4012.
4964
4965 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4966
4967         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
4968
4969 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
4970
4971         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
4972         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
4973
4974 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4975
4976         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
4977         alloca/strcpy.
4978
4979 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
4980
4981         * cpphash.h (_cpp_lex_direct): New.
4982         * cpplex.c (_cpp_lex_token): Update.
4983         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
4984         and increment that pointer.
4985         * cppmacro.c (alloc_expansion_token): New.
4986         (lex_expansion_token): Lex macro expansion directly into
4987         macro storage.
4988
4989 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
4990
4991         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
4992
4993 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
4994
4995         * basic-block.h (free_bb_for_insn): Declare.
4996         * bb-reorder.c (label_for_bb): Use block_label.
4997         (emit_jump_to_block_after): Remove.
4998         (insert_intra_1): Do not update block_for_insn.
4999         (insert_inter_bb_scope_notes): Likewise; update bb->end
5000         * cfg.c (free_bb_for_insn): New.
5001         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
5002         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
5003         (commit_one_edge_insertion): Likewise.
5004         (commit_one_edge_insertion): Do not update BB boundary.
5005         (commit_edge_insertions): Do not call compute_bb_for_insn.
5006         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
5007         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
5008         (merge_blocks_move_successor_nojumps): Likewise.
5009         (try_crossjump_to_edge): Do not update block_for_insn.
5010         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
5011         * df.c (df_pattern_emit_later): Do not update BB boundary.
5012         (df_jump_pattern_emit_after): Likewise.
5013         (df_insn_move_before): Use emit_insn_before.
5014         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
5015          properly.
5016         (add_insn_after, add_insn_before, emit_insns_after): Update BB
5017         boundaries and basic_block_for_insn.
5018         (reorder_insns_nobb): Rename from reorder_insns.
5019         (reorder_insns): New.
5020         (emit_block_insn_before, emit_block_insn_after): Kill.
5021         * flow.c (check_function_return_warnings): Do not call
5022         compute_bb_for_insn; Do not free basic_block_for_insn.
5023         (attempt_auto_inc): Do not update basic_block_for_insn.
5024         * function.c (emit_return_into_block): Likewise;
5025         do not update BB boundaries.
5026         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
5027         (insert_insn_end_bb): Use emit_insn_before; Likewise.
5028         (pre_insert_copy_insn): Likewise.
5029         (update_ld_motion_notes): Likewise.
5030         (insert_insn_start_bb): Likewise.
5031         (replace_store_insn): Likewise.
5032         * ifcvt.c (noce_process_if_block): Likewise.
5033         (if_convert): Do not call compute_bb_for_insn.
5034         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
5035         Use emit_insn_before and emit_insn_after.
5036         * recog.c (split_all_insns): Do not update BB boundaries;
5037         Do not call compute_bb_for_insn.
5038         (peephole2_optimize): Do not update BB boundaries.
5039         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
5040         emit_insn_before.
5041         (emit_swap_insn): Likewise.
5042         (convert_regs_1): Likewise.
5043         * reload1.c (reload): Call compute_bb_for_insn.
5044         * rtl.h (reorder_insns_nobb): Declare.
5045         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
5046         * toplev.c (rest_of_compilation): Call free_bb_for_insn
5047         at places CFG is invalidated; do not call compute_bb_for_insn.
5048
5049         * cfg.c (expunge_block): Invalidate BB structure.
5050
5051         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
5052         array.
5053
5054         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
5055
5056 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
5057
5058         * cpphash.h (_cpp_lex_token): Update prototype.
5059         * cpplex.c (_cpp_lex_token): New prototype.
5060         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
5061         lex_macro_node, read_flag, do_pragma_poison): Update.
5062         * cppmacro.c (cpp_get_token, parse_params,
5063         lex_expansion_token): Update.
5064
5065 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
5066
5067         * cppmain.c (scan_translation_unit): Don't worry about
5068         putting a space after hashes.
5069         * cpplib.c (directive_diagnostics): New.
5070         (_cpp_handle_directive): Update to use directive_diagnostics.
5071         (run_directive): Don't toggle prevent_expansion.
5072         (do_line): Backup in case of the line extension.
5073         * cpplib.h (cpp_lexer_pos): Remove.
5074         * cppmacro.c (_cpp_create_definition): Precede a leading #
5075         with whitespace.
5076
5077 2001-09-15  Richard Henderson  <rth@redhat.com>
5078
5079         * c-typeck.c (comptypes): Handle zero-length arrays properly.
5080
5081 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5082
5083         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
5084
5085 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
5086
5087         PR preprocessor/3571
5088         * tradcpp.c (handle_directive): Skip non-vertical space.
5089
5090 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
5091
5092         * cppmain.c (setup_callbacks): Set line callback only
5093         if outputting preprocessed source.
5094
5095 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5096
5097         * collect2.c (main): Const-ification.
5098         * gcc.c (translate_options, process_command): Use xstrdup in
5099         lieu of xmalloc/strcpy.
5100         (main): Use concat in lieu of xmalloc/strcpy/strcat.
5101
5102 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5103
5104         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
5105         example.
5106
5107 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
5108
5109         * scan-decls.c (scan_decls): Fix typo.
5110
5111 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
5112
5113         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
5114         Split mlstring_pos into mls_line and mls_col.
5115         * cppinit.c (cpp_create_reader): Initialize line to 1.
5116         (cpp_destroy): Free tokenruns.
5117         (push_include): Don't update lexer_pos.
5118         * cpplex.c (unterminated, parse_string): Update.
5119         (lex_token): Don't update lexer_pos, update.
5120         * cpplib.c (if_stack): Save line instead of line + col.
5121         (start_directive, _cpp_do__Pragma, do_else, do_elif,
5122         push_conditional, _cpp_pop_buffer): Update.
5123         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
5124         (_cpp_create_definition): Update.
5125
5126 2001-09-15  Eric Christopher  <echristo@redhat.com>
5127
5128         * config/mips/abi64.h: Add support for MEABI.
5129
5130 2001-09-15  Eric Christopher  <echristo@redhat.com>
5131
5132         * config/mips/mips.md: Add unspec #2.
5133         (reload_indi): Use.
5134         (reload_outdi): Ditto.
5135         (reload_outsi): Ditto.
5136         (HILO_delay): New.
5137
5138 2001-09-15  Eric Christopher  <echristo@redhat.com>
5139             Jason Eckhardt  <jle@redhat.com>
5140
5141         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
5142         * config/mips/isa32-linux.h: New file.
5143         * config/mips/isa3264.h: Ditto.
5144         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
5145         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
5146         (output_block_mode): Support MEABI.
5147         (function_arg): Ditto. Fix floating point arg passing.
5148         (mips_va_start): Ditto.
5149         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
5150         processors.
5151         (mips_asm_file_start): Add new section to pass abi to gdb.
5152         (function_arg_pass_by_reference): Support MEABI.
5153         (mips_parse_cpu): Support mips32 and mips64 processors.
5154         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
5155         TARGET_MIPS5KC.  Support isa32 and isa64.
5156         (processor_type): Add r4kc, r5kc, r20kc.
5157         (GENERATE_MULT3_SI): New.
5158         (GENERATE_MULT3_DI): Ditto.
5159         (GENERATE_MULT3): Remove.
5160         (ISA_HAS_64BIT_REGS): Add isa == 64.
5161         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
5162         (ISA_HAS_MADD_MSUB): New.
5163         (ISA_HAS_CLZ_CLO): Ditto.
5164         (ISA_HAS_DCLZ_DCLO): Ditto.
5165         (ABI_GAS_ASM_SPEC): New.
5166         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
5167         (ASM_SPEC): Ditto.
5168         (LINK_SPEC): Ditto.
5169         (SUBTARGET_CC1_SPEC): Ditto.
5170         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
5171         (PAD_VARARGS_DOWN): Support MEABI.
5172         (HARD_REGNO_NREGS): Move to mips.c.
5173         (ASM_OUTPUT_IDENT): Add #undef.
5174         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
5175         (mulsi3): Use GENERATE_MULT3_SI.
5176         (mulsi3_mult3): Ditto.  Support mips32, mips64.
5177         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
5178         (mul_sub_si): New pattern.
5179         (unnamed splitters): New.
5180         (muldi3): Use GENERATE_MULT3_DI.
5181         (muldi3_internal2): Ditto.
5182         (movdicc): Support mips32.
5183         * config/mips/t-isa3264: New file.
5184
5185 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
5186
5187         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
5188         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
5189         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
5190
5191         * reorg.c (fill_slots_from_thread): After call to
5192         steal_delay_list_from_target, update own_thread as new_thread may
5193         have branched.
5194
5195 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
5196
5197         * cpperror.c (print_location): Take line and column, for
5198         default positioning use the previously lexed token.
5199         (_cpp_begin_message): Take line and column.
5200         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
5201         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
5202         * cpphash.h (_cpp_begin_message): Update prototype.
5203         * cppinit.c (push_include): Don't set output line.
5204         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
5205         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
5206         (do_pragma): Kludge for front ends.  Don't expand macros at all.
5207         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
5208         (struct cpp_token): Remove output_line.
5209         (struct cpp_callbacks): New member line_change.
5210         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
5211         cpp_get_token): Preserve BOL flag.
5212         (cpp_get_line): Remove.
5213         (_cpp_backup_tokens): Remove useless abort().
5214         * cppmain.c (cb_line_change): New.
5215         (scan_translation_unit): Don't worry about starting new lines here.
5216         * scan-decls.c (scan_decls): Update.
5217         * c-lex.c (c_lex, init_c_lex): Update.
5218         (cb_line_change, src_lineno): New.
5219
5220 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
5221
5222         * tree.c (append_random_chars): Generate the random
5223         characters in a reproducable fashion.
5224
5225 2001-09-14  Richard Henderson  <rth@redhat.com>
5226
5227         * config/i386/i386.c (internal_label_prefix): New.
5228         (internal_label_prefix_len): New.
5229         (override_options): Set them.
5230         (local_symbolic_operand): New.
5231         (legitimate_pic_address_disp_p): Use it.
5232         (legitimize_pic_address): Likewise.
5233
5234 2001-09-14  Marc Espie <espie@openbsd.org>
5235
5236         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
5237         correctly.
5238
5239 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5240
5241         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
5242         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
5243
5244 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
5245
5246         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
5247         invocation of SUBREG_REGNO_OFFSET.
5248
5249         * haifa-sched.c: Fix typo in FSF copyright statement.
5250         * sched-deps.c: Fix typo in FSF copyright statement.
5251         * sched-ebb.c: Fix typo in FSF copyright statement.
5252         * sched-rgn.c: Fix typo in FSF copyright statement.
5253         * sched-vis.c: Fix typo in FSF copyright statement.
5254
5255         * config.gcc: Move inclusion of arm elf specific header files
5256         from the files themselves into the tm_file variable.  Make
5257         sure that elfos.h is included before target specific elf
5258         headers.
5259         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
5260         already defined.
5261         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
5262         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
5263         ASM_OUTPUT_CASE_LABEL): Protect definition.
5264         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
5265         not already defined.
5266         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
5267         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
5268         Remove duplicate definition.
5269         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
5270         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
5271         (RDATA_SECTION_FUNCTION): Remove redundant definition.
5272         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
5273         Remove inclusion of arm/elf.h.
5274         * config/arm/unknown-elf.h: as for conix-elf.h.
5275         (STARTFILE_SPEC): Include crti.o and crtn.o.
5276         * config/arm/linux-elf.h: as for conix-elf.h.
5277         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
5278         * config/arm/strongarm-elf.h: Remove inclusion of
5279         unknown-elf.h.
5280         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
5281         * config/arm/unknown-elf-oabi.h: Remove inclusion of
5282         unknown-elf.h and elf.h.
5283         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
5284         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
5285         ASM_WEAKEN_LABEL): Remove redundant definition.
5286         * config/arm/elf.h: Test for inclusion of elfos.h
5287         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
5288         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
5289         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
5290         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
5291         redundant definition.
5292         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
5293         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
5294         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
5295         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
5296         Add rules to build crti.o and crtn.o
5297         * crti.asm: New file.
5298         * crtn.asm: New file.
5299
5300 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
5301
5302         * c-parse.in (_yylex): Use _cpp_backup_tokens.
5303         * cpphash.h (struct tokenrun): Add prev.
5304         (struct lexer_state): Remove bol.
5305         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
5306         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
5307         : Remove.
5308         * cppinit.c (cpp_create_reader): Don't set bol.
5309         (cpp_destroy): Don't free lookaheads.
5310         * cpplex.c (lex_directive): Remove.
5311         (next_tokenrun): Update.
5312         (_cpp_lex_token): Clean up logic.
5313         (lex_token): Update to return a pointer to lexed token, since it
5314         can move to the start of the buffer.  Simpify newline handling.
5315         * cpplib.c (SEEN_EOL): Update.
5316         (skip_rest_of_line): Remove lookahead stuff.
5317         (end_directive): Line numbers are already incremented.  Revert
5318         to start of lexed token buffer if we can.
5319         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
5320         parse_answer): Use _cpp_backup_tokens.
5321         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
5322         instead.  Don't check for EOL.
5323         (do_include_common, do_line, do_pragma_system_header): Use
5324         skip_rest_of_line.
5325         * cpplib.h (BOL, _cpp_backup_tokens): New.
5326         * cppmacro.c (save_lookahead_token, take_lookahead_token,
5327         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
5328         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
5329         (builtin_macro): Don't use cpp_get_line.
5330         (cpp_get_line): Short term kludge.
5331         (parse_arg): Handle directives in arguments here.  Back up when
5332         appropriate.  Store EOF at end of argument list.
5333         (funlike_invocation_p): Use _cpp_backup_tokens.
5334         (push_arg_context): Account for EOF at end of list.
5335         (cpp_get_token): Remove lookahead stuff.  Update.
5336
5337 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5338
5339         * c-parse.in (yyerror): Const-ification and/or static-ization.
5340         * c-typeck.c (push_member_name): Likewise.
5341         * collect2.c (main): Likewise.
5342         * dbxout.c (dbxout_parms): Likewise.
5343         * diagnostic.c (format_with_decl): Likewise.
5344         * dwarf2out.c (output_ranges): Likewise.
5345         * dwarfout.c (fundamental_type_code): Likewise.
5346         * except.c (dw2_output_call_site_table): Likewise.
5347         * gcc.c (do_spec_1): Likewise.
5348         * genopinit.c (optabs): Likewise.
5349         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
5350         gen_declaration_1, handle_impent): Likewise.
5351         * protoize.c (default_include, in_system_include_dir, abspath):
5352         Likewise.
5353         * sched-vis.c (visualize_stall_cycles): Likewise.
5354         * sdbout.c (plain_type_1, sdbout_end_function,
5355         sdbout_end_epilogue): Likewise.
5356         * varasm.c (decode_reg_name): Likewise.
5357
5358         * 1750a.c (mod_regno_adjust): Likewise.
5359         * alpha.c (alpha_write_one_linkage,
5360         unicosmk_output_default_externs): Likewise.
5361         * arm.c (arm_condition_codes): Likewise.
5362         * arm.h (arm_condition_codes): Likewise.
5363         * avr.c (output_movsisf, encode_section_info): Likewise.
5364         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
5365         Likewise.
5366         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
5367         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
5368         * m88k.c (output_function_profiler): Likewise.
5369         * mips.c (mips_output_conditional_branch): Likewise.
5370         * ns32k.c (ns32k_out_reg_names): Likewise.
5371         * ns32k.h (ns32k_out_reg_names): Likewise.
5372         * pj.c (pj_output_rval): Likewise.
5373         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
5374         * sparc.c (sparc_flat_function_prologue,
5375         sparc_flat_function_epilogue): Likewise.
5376
5377 2001-09-13  Markus Werle <numerical.simulation@web.de>
5378             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5379
5380         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
5381         Aachen University of Technology".
5382
5383 2001-09-13  Andreas Schwab  <schwab@suse.de>
5384
5385         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
5386         C99.
5387
5388 2001-09-13  Richard Henderson  <rth@redhat.com>
5389
5390         * config/alpha/alpha.c (small_symbolic_operand): New.
5391         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
5392         (some_operand, input_operand): Don't handle HIGH.
5393         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
5394         (alpha_expand_mov): Likewise.
5395         (print_operand) [H]: Just print HIGH symbol.
5396         (print_operand_address): Handle small data.
5397         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
5398         (TARGET_SWITCHES): Add -msmall-data/large-data.
5399         (PIC_OFFSET_TABLE_REGNUM): New.
5400         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
5401         (PREDICATE_COES): Update.
5402         * config/alpha/alpha.md (adddi_er_high): New.
5403         (adddi_er_low): Handle small data.
5404         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
5405         prefer .sdata to .rodata.
5406         (SELECT_RTX_SECTION): Likewise.
5407
5408 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
5409
5410         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
5411         defining __size_t and leaving size_t undefined.
5412
5413 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
5414
5415         * basic-block.h (expunge_block): Declare.
5416         * cfg.c (expunge_block): Remove static declaration.
5417
5418 2001-09-12  Richard Henderson  <rth@redhat.com>
5419
5420         * integrate.c (copy_insn_list): Copy label name from
5421         NOTE_INSN_DELETED_LABEL.
5422
5423 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5424
5425         * c-common.c (c_tree_code_name): Const-ification.
5426         * c-decl.c (c_decode_option): Likewise.
5427         * c-typeck.c (warn_for_assignment): Likewise.
5428         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
5429         Likewise.
5430         * cppinit.c (output_deps): Likewise.
5431         * dependence.c (dependence_string, direction_string): Likewise.
5432         * dwarf2out.c (output_ranges): Likewise.
5433         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
5434         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
5435         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
5436         standard_startfile_prefix, standard_startfile_prefix_1,
5437         standard_startfile_prefix_2, tooldir_base_prefix,
5438         standard_bindir_prefix, find_a_file): Likewise.
5439         * genattrtab.c (make_length_attrs): Likewise.
5440         * gencheck.c (tree_codes): Likewise.
5441         * genemit.c (gen_split): Likewise.
5442         * genrecog.c (special_mode_pred_table): Likewise.
5443         * graph.c (graph_ext): Likewise.
5444         * protoize (default_include): Likewise.
5445         * reload.c (reload_when_needed_name): Likewise.
5446         * sched-vis.c (visualize_stall_cycles): Likewise.
5447         * tlink.c (recompile_files): Likewise.
5448         * toplev.c (decode_g_option): Likewise.
5449         * tradcpp.c (output_deps): Likewise.
5450         * varasm.c (decode_reg_name): Likewise.
5451
5452         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
5453         Const-ification.
5454         * arm.md: Likewise.
5455         * avr.c (avr_regnames, encode_section_info): Likewise.
5456         * c4x.c (float_reg_names): Likewise.
5457         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
5458         * elfos.h (const_section): Likewise.
5459         * i386.c (ix86_comp_type_attributes): Likewise.
5460         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
5461         * ia64/aix.h (UNIQUE_SECTION): Likewise.
5462         * ia64.c (type_names): Likewise.
5463         * m68hc11.c (reg_class_names): Likewise.
5464         * m88k.c (m_options): Likewise.
5465         * mips.c (mips_output_conditional_branch, mips_unique_section):
5466         Likewise.
5467         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
5468         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
5469         ultra_code_names): Likewise.
5470         * sparc.h (OVERRIDE_OPTIONS): Likewise.
5471
5472 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
5473
5474         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
5475         Use --fatal-warnings option for gas.
5476         * configure: Rebuilt.
5477
5478 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5479
5480         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
5481
5482 2001-09-11  Jim Wilson  <wilson@redhat.com>
5483
5484         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
5485
5486 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
5487
5488         * builtins.c (c_strlen): Treat an offset too large for a
5489         HOST_WIDE_INT as out of range.
5490
5491 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
5492
5493         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
5494         (EDGE_CRITICAL_P): New predicate.
5495         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
5496         handling.
5497         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
5498         (dump_edge_info): Remove "crit".
5499         * cfganal.c (mark_critical_edges): Kill.
5500         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
5501         * cfgcleanup.c (cleanup_cfg): Likewise.
5502         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
5503         (find_spanning_tree): Likewise.
5504         * reg-stack.c (convert_regs_1): Likewise.
5505         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
5506
5507         * basic-block.h (create_basic_block_structure): New.
5508         (create_basic_block): Update prototype.
5509         (force_nonfallthru): New.
5510         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
5511         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
5512         handle updating of block_for_insn, creating of empty BBs and BBs at
5513         the end of INSN chain.
5514         (create_basic_block): New function.
5515         (split_block): Use create_basic_block.
5516         (force_nonfallthru_and_redirect): Break out from ...; cleanup
5517         (redirect_edge_and_branch_force): ... here.
5518         (force_nonfallthru): New.
5519         (split_edge): Rewrite to use force_nonfallthru and create_block.
5520         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
5521         (find_basic_blocks): Free basic_block_for_insn.
5522         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
5523
5524         * cfg.c: Fix formating.
5525         * cfgcleanup.c: Fix formating.
5526         (merge_blocks, tail_recursion_label_p): Return bool.
5527         (merge_blocks_move_predecessor_nojumps,
5528          merge_blocks_move_successor_nojumps): Return void.
5529
5530 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
5531
5532         * configure.in: Check whether assembler supports section merging.
5533         * config.in: Rebuilt.
5534         * configure: Rebuilt.
5535         * varasm.c (variable_section, output_constant_pool): Pass alignment
5536         to SELECT_SECTION and SELECT_RTX_SECTION.
5537         (mergeable_string_section): New.
5538         (mergeable_constant_section): New.
5539         (default_elf_asm_named_section): Output SECTION_MERGE and
5540         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
5541         * output.h (mergeable_string_section): New.
5542         (mergeable_constant_section): New.
5543         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
5544         * toplev.c (flag_merge_constants): New.
5545         (f_options): Add -fmerge-constants and -fmerge-all-constants
5546         options.
5547         (toplev_main): Default to -fno-merge-constants if not optimizing.
5548         * flags.h (flag_merge_constants): Add extern.
5549         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
5550         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
5551         argument.
5552         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
5553         Define if assembler has working .subsection -1 support.
5554         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
5555         Put constant into special SHF_MERGE sections if the linker should
5556         attempt to merge duplicates.
5557         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
5558         macro argument.
5559         Put constant into special SHF_MERGE sections if the linker should
5560         attempt to merge duplicates.
5561         * config/alpha/elf.h: Likewise.
5562         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
5563         has working .subsection -1 support.
5564         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
5565         SELECT_SECTION.
5566         * config/svr3.h: Likewise.
5567         * config/darwin.h: Likewise.
5568         * config/arm/aof.h: Likewise.
5569         * config/arm/linux-elf.h: Likewise.
5570         * config/avr/avr.h: Likewise.
5571         * config/c4x/c4x.h: Likewise.
5572         * config/d30v/d30v.h: Likewise.
5573         * config/i386/dgux.h: Likewise.
5574         * config/i386/osfrose.h: Likewise.
5575         * config/i386/sco5.h: Likewise.
5576         * config/i386/svr3gas.h: Likewise.
5577         * config/ia64/aix.h: Likewise.
5578         * config/m32r/m32r.h: Likewise.
5579         * config/m68k/m68k.h: Likewise.
5580         * config/m88k/dgux.h: Likewise.
5581         * config/m88k/m88k.h: Likewise.
5582         * config/mcore/mcore-pe.h: Likewise.
5583         * config/mips/mips.h: Likewise.
5584         * config/pa/pa.h: Likewise.
5585         * config/pa/pa-linux.h: Likewise.
5586         * config/romp/romp.h: Likewise.
5587         * config/rs6000/sysv4.h: Likewise.
5588         * config/rs6000/xcoff.h: Likewise.
5589         * config/s390/linux.h: Likewise.
5590         * config/sparc/sparc.h: Likewise.
5591         * config/sparc/sysv4.h: Likewise.
5592         * config/stormy16/stormy16.h: Likewise.
5593         * config/v850/v850.h: Likewise.
5594         * config/vax/vms.h: Likewise.
5595         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
5596         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
5597         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
5598         default_elf_asm_named_section for SHF_MERGE sections.
5599
5600 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
5601
5602         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
5603         is OK.
5604
5605 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
5606
5607         * c-common.c (split_specs_attrs): Allow for empty attributes with
5608         empty TREE_PURPOSE.  Fixes PR c/4294.
5609
5610 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
5611
5612         * basic-block.h (cached_make_edge, make_single_succ): New.
5613         (make_edge): Remove first parameter.
5614         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
5615         * cfg.c (cached_make_edge): Rename from make_edge; return newly
5616         created edge; use obstack allocation.
5617         (make_edge, make_single_succ_edge): New.
5618         (first_removed_edge): New static variable.
5619         (init_flow): Initialize first_removed_edge and n_edges.
5620         (clear_edges): Use remove_edge.
5621         (flow_delete_block): Likewise.
5622         (remove_edge): Add removed edges to the removed edges list.
5623         (split_block, redirect_edge_and_branch_force, split_edge):
5624         Use make_edge.
5625         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
5626         (add_noreturn_fake_exit_edges): Likewise.
5627         (connect_infinite_loops_to_exit): Liekwise.
5628         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
5629         Use cached_make_edge.
5630         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
5631         * profile.c (branch_prob): Update make_edge call.
5632         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
5633
5634 2001-09-11  Richard Henderson  <rth@redhat.com>
5635
5636         * config/alpha/alpha.c: Tidy formatting.
5637         (local_symbolic_operand): Verify mode.
5638         (alpha_sa_mask): Ignore unicos for eh_return.
5639         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
5640         * config/alpha/alpha.md (umk divsi patterns): Remove.
5641         (extendsfdf2): Remove unicos check.
5642         (tablejump): Merge vms and unicos code; always use direct set
5643         plus label_ref use.
5644
5645 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5646
5647         * config.gcc (alpha*-*-unicosmk*): New target.
5648
5649         * config/alpha/alpha-protos.h (symbolic_operand,
5650         unicosmk_add_call_info_word, unicosmk_add_extern,
5651         unicosmk_defer_case_vector, unicosmk_unique_section,
5652         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
5653         unicosmk_asm_file_start, unicosmk_asm_file_end,
5654         unicosmk_output_common): Declare.
5655
5656         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
5657         direct_return, function_arg, alpha_va_start, alpha_va_arg,
5658         alpha_does_function_need_gp, alpha_end_function): Support Cray
5659         Unicos/Mk.
5660         (alpha_init_machine_status, alpha_mark_machine_status,
5661         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
5662         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
5663         unicosmk_asm_named_section, unicosmk_insert_attributes,
5664         unicosmk_section_type_flags, symbolic_operand,
5665         unicosmk_output_module_name, unicosmk_output_default_externs,
5666         unicosmk_output_dex, unicosmk_output_externs,
5667         unicosmk_output_addr_vec, unicosmk_ssib_name,
5668         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
5669         unicosmk_asm_file_end, unicosmk_output_common,
5670         unicosmk_section_type_flags, unicosmk_unique_section,
5671         unicosmk_add_call_info_word, unicosmk_text_section,
5672         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
5673         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
5674         unicosmk_dex_count, unicosmk_special_name): New.
5675         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
5676         TARGET_ABI_UNICOSMK.
5677         (get_aligned_mem, alpha_expand_unaligned_load,
5678         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
5679         alpha_expand_unaligned_store_words): Support big-endian mode.
5680         (print_operand): Likewise. New format specifier 't'. Use
5681         TARGET_AS_SLASH_BEFORE_SUFFIX.
5682         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
5683         (alpha_pv_save_size): Update with above change.
5684         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
5685         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
5686         Unicos/Mk.
5687
5688         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
5689         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
5690         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
5691         (EXTRA_CONSTRAINT): New constraint 'U'.
5692         (PREDICATE_CODES): Add symbolic_operand.
5693
5694         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
5695         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
5696         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
5697         (integer division and modulus patterns): Split in default and
5698         Unicos/Mk versions.
5699         (*divmodsi_internal, *divmoddi_internal): Disable for
5700         TARGET_ABI_UNICOSMK.
5701         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
5702         little-endian and big-endian versions.
5703         (ext, ins, msk): Likewise.
5704         (extv, extzv, insv): Support big-endian mode.
5705         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
5706         (call_umk, call_value_umk, *call_umk, tablejump_umk,
5707         *tablejump_umk_internal, *call_value_umk): New.
5708         (*movdi_nofix): Add pattern for loading an address into a register on
5709         TARGET_ABI_UNICOSMK.
5710         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
5711         (umk_mismatch_args, arg_home_umk): New.
5712         (various insns): Don't use mov, fmov, nop, fnop and unop.
5713         (realign): Support TARGET_ABI_UNICOSMK.
5714
5715         * config/alpha/unicosmk.h: New file.
5716         * config/alpha/t-unicosmk: New file.
5717
5718         * fixinc/inclhack.def (unicosmk_restrict): New.
5719         * fixinc/fixincl.x: Regenerate.
5720
5721         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
5722         (wchar_t): Check for and define __WCHAR_T__.
5723
5724 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
5725
5726         * combine.c (simplify_shift_const): Treat shifts by the mode
5727         size as undefined.
5728
5729 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
5730
5731         * cpphash.h (struct tokenrun): New.
5732         (struct cpp_context): New member bol.
5733         (struct cpp_reader): New members.
5734         (_cpp_init_tokenrun): New.
5735         * cppinit.c (cpp_create_reader): Set up the token runs.
5736         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
5737         (lex_token): New internalised version of _cpp_lex_token.  Don't
5738         handle directives or the multiple include opimisation here any
5739         more.  Simply lex a token.
5740         * cpplib.c (run_directive): Clear bol.
5741         (_cpp_pop_buffer): Set bol.
5742         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
5743         arguments.
5744
5745 2001-09-11  Michael Meissner  <meissner@redhat.com>
5746
5747         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
5748         give an error if the user uses -mfp32.
5749         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
5750         default options.
5751         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
5752         floating point register size.
5753         (EXTRA_SPECS): Add CPP_FPR_SPEC.
5754
5755         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
5756         HOST_WIDE_INT_PRINT_DEC to properly print the result of
5757         int_size_in_bytes.
5758         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
5759         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
5760
5761 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
5762
5763         * dbxout.c (dbxout_parms): Fix typo in comment.
5764         * unroll.c (loop_find_equiv_value): Ditto.
5765         * toplev.c (rest_of_compilation): Ditto.
5766         * loop.c (scan_loop): Ditto.
5767         * dwarf2out.c (struct dw_fde_struct): Ditto.
5768
5769 2001-09-10  Zack Weinberg  <zackw@panix.com>
5770
5771         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
5772         copying identifier when we're just going to throw it away.
5773         (parse_identifier_slow): New routine to handle abnormal cases.
5774         (_cpp_lex_token): Update call site.
5775
5776         * hashtable.c (ht_lookup): Don't assume that the string we've
5777         been given is NUL-terminated.
5778         * system.h: #define __builtin_expect(a, b) to (a) if not
5779         GCC >=3.0.
5780
5781 2001-09-10  Michael Meissner  <meissner@redhat.com>
5782
5783         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
5784         binutils, gdb.
5785
5786 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
5787
5788         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
5789
5790 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5791
5792         * builtins.c (c_getstr): Correct thinko in last change and further
5793         cleanup.
5794
5795 2001-09-10  Tim Freeman <tim@fungibole.com>
5796
5797         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
5798         into varray's and register them as roots with the garbage
5799         collector so they are not collected too soon.
5800
5801 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
5802
5803         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
5804         New.
5805         * basic-block.h (flow_obstack, label_value_list,
5806         tail_recursion_label_list): Declare
5807         (tidy_fallthru_edges): Declare.
5808         (expunge_block, last_loop_beg_note): Delete.
5809         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
5810         * cfg.c: New file
5811         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
5812         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
5813         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
5814         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
5815         expunge_block, flow_delete_block, compute_bb_for_insn,
5816         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
5817         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
5818         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
5819         try_redirect_by_replacing_jump, last_loop_beg_note,
5820         redirect_edge_and_branch, redirect_edge_and_branch_force,
5821         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
5822         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
5823         commit_edge_insertions, dump_flow_info, debug_flow_info,
5824         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
5825         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
5826         Move here from flow.c
5827         * cfganal.c: New file.
5828         (forwarder_block_p, can_fallthru, mark_critical_edges,
5829          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
5830          find_unreachable_blocks, create_edge_list, free_edge_list,
5831          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
5832          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
5833          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
5834          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
5835          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
5836          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
5837         Move here from flow.c
5838         * cfgbuild.c: New file
5839         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
5840          make_edges, find_basic_blocks_1, find_basic_blocks,
5841          find_sub_basic_blocks): Move here from flow.c
5842         * cfgcleanup.c: New file.
5843         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
5844          merge_blocks_move_predecessor_nojumps,
5845          merge_blocks_move_successor_nojumps, merge_blocks,
5846          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
5847          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
5848         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
5849         if succeeded.
5850         * cfgloop.c: New file
5851         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
5852          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
5853          flow_loop_exit_edges_find, flow_loop_nodes_find,
5854          flow_loop_pre_header_scan, flow_loop_pre_header_find,
5855          flow_loop_tree_node_add, flow_loops_tree_build,
5856          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
5857          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
5858         Move here from flow.c
5859         * flow.c: Remove everything moved elsewhere
5860         * output.h (cleanup_cfg): Return bool.
5861
5862         * bb-reorder.c (reorder_block_def): Remove 'index'.
5863         (insert_intra_1): Add argument BB, set block for new note.
5864         (make_reorder_chain): Do not depdent on BB indexes.
5865         (make_reorder_chain_1): Do not use BB indexes.
5866         (label_for_bb): Likewise; set BB for new insn.
5867         (emit_jump_to_block_after): Likewise.
5868         (fixup_reoder_chain): Sanity check that all basic blocks
5869         are chained; verify newly created insn chain; remove
5870         undocnitional jump simplifying; Do not use BB indexes;
5871         properly initialize count and frequency information;
5872         dump reordered sequence.
5873         (insert_intra_bb_scope_notes): update call of insert_intra_1.
5874         (insert_inter_bb_scope_notes): Set block for new insn.
5875         (reorder_basic_blocks): Dump flow info before reoredering.
5876
5877 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5878
5879         * alias.c (clear_reg_alias_info): Use K&R format definition.
5880         Avoid unsigned warning.
5881         * builtins.c: Use "unsigned int", not "unsigned".
5882         (target_char_cast): Use host_integerp and tree_low_cst.
5883         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
5884         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
5885         (c_getstr): Likewise.
5886         (std_expand_builtin_va_arg): Use int_size_in_bytes.
5887         (builtin_memcpy_read_str): Avoid unsigned warning.
5888         (expand_builtin_memcpy): Alignments are unsigned.
5889         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
5890         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
5891         * predict.c (expensive_function_p): LIMIT now unsigned.
5892         * resource.c (mark_target_live_regs): Make some vars unsigned.
5893         * sdbout.c: Use "unsigned int", not "unsigned".
5894         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
5895         (sdbout_source_line): Likewise.
5896         (sdbout_record_type_name): Remove "const" for NAME declaration.
5897         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
5898
5899 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
5900
5901         * calls.c (store_one_arg): Expand comment.
5902
5903 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5904
5905         * calls.c (store_one_arg): Make sure that the entire argument is
5906         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
5907
5908 2001-09-09  Richard Henderson  <rth@redhat.com>
5909
5910         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
5911
5912 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
5913
5914         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
5915
5916 2001-09-09  Richard Henderson  <rth@redhat.com>
5917
5918         * config/alpha/alpha.c (alpha_next_sequence_number): New.
5919         (alpha_this_literal_sequence_number): New.
5920         (alpha_this_gpdisp_sequence_number): New.
5921         (some_operand, input_operand): Add HIGH.
5922         (local_symbolic_operand): New.
5923         (alpha_encode_section_info): New.
5924         (alpha_legitimate_address_p): Allow LO_SUM.
5925         (alpha_legitimize_address): Generate HIGH+LO_SUM.
5926         (alpha_expand_mov): Likewise.
5927         (secondary_reload_class): Check memory_operand not general_operand
5928         for FP_REGS test.
5929         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
5930         (alpha_expand_unaligned_store): Likewise.
5931         (alpha_expand_unaligned_load_words): Likewise.
5932         (alpha_expand_unaligned_store_words): Likewise.
5933         (alpha_expand_block_clear): Likewise.
5934         (print_operand): Handle %#, %*, %H.
5935         (print_operand_address): Handle LO_SUM.
5936         (find_lo_sum): New.
5937         (alpha_does_function_need_gp): Use it.
5938         (alpha_expand_block_move): Fix signed compare warnings.
5939         (alpha_sa_mask, alpha_align_insns): Likewise.
5940         * config/alpha/alpha-protos.h: Update.
5941         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
5942         (MASK_EXPLICIT_RELOCS): New.
5943         (TARGET_SWITCHES): Add -mexplicit-relocs.
5944         (EXTRA_CONSTRAINT): Add 'T'.
5945         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
5946         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
5947         (ENCODE_SECTION_INFO): Out line.
5948         (REDO_SECTION_INFO_P): New.
5949         (STRIP_NAME_ENCODING): New.
5950         (ASM_OUTPUT_LABELREF): New.
5951         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
5952         (PREDICATE_CODES): Update.
5953         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
5954         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
5955         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
5956         builtin_setjmp_receiver_er, exception_receiver_1_er,
5957         call_value_osf_1_er): New patterns.
5958         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
5959         (movqi, movhi, movsi): Add explicit $31 base register to lda.
5960         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
5961         (FINAL_PRESCAN_INSN): New.
5962
5963 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
5964
5965         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
5966
5967 2001-09-08  Andreas Jaeger  <aj@suse.de>
5968
5969         * i386.h (TARGET_SWITCHES): Fix description.
5970
5971 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
5972
5973         * rs6000.c (num_insns_constant): Compute number of instructions
5974         more accurately.
5975
5976         * doc/install.texi: Explain AIX exception handling work-around.
5977         Update URL for AIX fixes.
5978
5979 2001-09-07  Jim Wilson  <wilson@redhat.com>
5980
5981         * alias.c (clear_reg_alias_info): New.
5982         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
5983         * rtl.h (clear_reg_alias_info): Declare.
5984
5985 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5986
5987         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
5988         available.
5989         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
5990         (m16m,edivm,emulm): Change declaration to match definition.
5991
5992 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
5993
5994         * reload.c (push_reload): Check for subreg_lowpart_p instead of
5995         SUBREG_BYTE being 0 when determining if the inner part of a subreg
5996         can be reloaded.
5997
5998 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5999
6000         * c-common.c (signed_or_unsigned_type): Handle machine mode types
6001         which have no corresponding C type.
6002         * fold_const.c (target_isinf,target_isnan,target_negative): Update
6003         the representation of 64-bit doubles to work with 64-bit ints.
6004
6005 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
6006
6007         * config/mips/mips.c (override_options): Do not override ISA when ABI
6008         specified if MIPS_CPU_STRING_DEFAULT was specified.
6009
6010 2001-09-07  Richard Henderson  <rth@redhat.com>
6011
6012         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
6013         (express_from_1): Wrap lines.
6014         * rtlanal.c (commutative_operand_precedence): Rename from
6015         operand_preference; export.
6016         * rtl.h: Declare it.
6017         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
6018         (simplify_binary_operation): Invoke simplify_plus_minus on
6019         (CONST (PLUS ...)) as well.
6020         (struct simplify_plus_minus_op_data): New.
6021         (simplify_plus_minus_op_data_cmp): New.
6022         (simplify_plus_minus): Use them.  Avoid infinite recursion with
6023         simplify_binary_operation wrt CONST.
6024
6025 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
6026
6027         * h8300-protos.h (general_operand_dst_push): Remove.
6028         * h8300.c (general_operand_dst_push): Likewise.
6029         * h8300.h (OK_FOR_T): Likewise.
6030         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
6031         * h8300.md (pushqi_h8300): New.
6032         (pushqi_h8300hs): Likewise.
6033         (pushqi): Likewise.
6034         (pushhi_h8300): Likewise.
6035         (pushhi_h8300hs): Likewise.
6036         (pushhi): Likewise.
6037
6038 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6039
6040         * genattrtab.c (attr_printf): First arg is unsigned.
6041         Clean up formatting of callers.
6042
6043 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
6044
6045         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
6046         registers.
6047
6048 2001-09-07  Andreas Jaeger  <aj@suse.de>
6049
6050         * i386.h (TARGET_SWITCHES): Fix descriptions.
6051
6052 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
6053
6054         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
6055
6056 2001-09-06  Ira Ruben  <ira@apple.com>
6057
6058         Remove OP_IDENTIFIER.
6059         * tree.def (OP_IDENTIFIER): Remove.
6060         * tree.c (tree_node_kind enum): Remove op_id_kind.
6061         (tree_node_kind_names): Remove "op_identifiers".
6062         (make_node): Remove OP_IDENTIFIER test.
6063         (build_op_identifier): Removed because it isn't being used.
6064         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
6065         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
6066
6067 2001-09-06  Richard Henderson  <rth@redhat.com>
6068
6069         * simplify-rtx.c (simplify_binary_operation): Revert last change.
6070
6071 2001-09-06  Richard Henderson  <rth@redhat.com>
6072
6073         * simplify-rtx.c (simplify_binary_operation): Simplify contents
6074         of CONST.
6075
6076 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6077
6078         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
6079         number used for CR register.
6080
6081 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
6082                           Joern Rennecke (amylaar@cygnus.com)
6083
6084         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
6085         * h8300.c (initial_offset): Handle offset between RP and FP.
6086         (h8300_return_addr_rtx): New function.
6087         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
6088         return register.
6089         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
6090         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
6091         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
6092         (CAN_ELIMINATE, REGISTER_NAMES):
6093         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
6094
6095 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
6096
6097         Remove TYPE_NONCOPIED_PARTS.
6098         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
6099         (struct tree_type): Remove noncopied_parts.
6100         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
6101         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
6102         (fixed_type_p): Remove.
6103         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
6104         (expand_expr, MODIFY_EXPR): Likewise.
6105         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
6106         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
6107
6108 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
6109
6110         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
6111         compiler warnings.
6112         (mask64_operand): Likewise.
6113         (includes_rldic_lshift_p): Likewise.
6114         (includes_rldicr_lshift_p): Likewise.
6115
6116 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
6117
6118         * objc/objc-act.c (build_message_expr): If a class method cannot
6119         be found, do not issue a warning if a corresponding instance
6120         method exists in the root class.
6121
6122 2001-09-05  Richard Henderson  <rth@redhat.com>
6123
6124         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
6125
6126 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
6127
6128         * function.c (ggc_mark_struct_function): Mark f->outer.
6129         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
6130         * integrate.c (output_inline_function): ... not here.
6131
6132 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
6133
6134         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
6135
6136         * i386.c (size_cost): New static variable.
6137         (override_function): Use size_cost when -Os is specified.
6138
6139         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
6140         properly;  Use current_function_calls_eh_return.
6141         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
6142         use leave to avoid dependency chain.
6143
6144         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
6145         get BB loop_depth instead of computing it from LOOP notes.
6146
6147         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
6148
6149 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6150
6151         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
6152         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
6153         UNALIGNED_DOUBLE_INT_ASM_OP): Define
6154
6155 2001-09-05  Jeffrey A Law  (law@cygnus.com)
6156             Jason Merrill (jason@redhat.com)
6157
6158         * stor-layout.c (layout_type): Complain if an array's size can
6159         not be represented in a size_t.
6160
6161         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
6162
6163 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
6164
6165         * gcc.c: (process_command) Add parentheses around assignment
6166         used as truth value.
6167
6168 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
6169
6170         * config/mips/mips.c (save_restore_insns): Don't mark any register
6171         save slots as unchanging if current_function_calls_eh_return.
6172
6173 2001-09-05  Richard Henderson  <rth@redhat.com>
6174
6175         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
6176         * config/alpha/alpha-protos.h: Declare it.
6177         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
6178         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
6179         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
6180         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
6181         (REG_OK_FOR_BASE_P): Select one of the above.
6182
6183 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
6184
6185         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
6186         (crti.o): Prefix name of object file with $(T).
6187         (crtn.o): Likewise.
6188
6189 2001-09-05  David S. Miller  <davem@redhat.com>
6190
6191         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
6192         * config/sparc/linux64.h: Likewise.
6193
6194 2001-09-05  Andreas Jaeger  <aj@suse.de>
6195
6196         * doc/invoke.texi (i386 Options): -mwide-multiply is not
6197         available anymore, remove the documentation.
6198         (i386 Options): Fix typo, cleanup index entries.
6199
6200         * prefix.c (concat): Remove, we can use the version from liberty.
6201
6202 2001-09-05  Richard Henderson  <rth@redhat.com>
6203
6204         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
6205         New functions split out of md file expanders.
6206         * config/alpha/alpha-protos.h: Declare them.
6207         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
6208
6209 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
6210
6211         * cppmacro.c (funlike_invocation_p): No need to restore context.
6212
6213 2001-09-04  Richard Henderson  <rth@redhat.com>
6214
6215         * reload.c (push_reload): Export.
6216         * reload.h (push_reload): Declare it.
6217
6218         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
6219         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
6220         * config/alpha/alpha.c (alpha_legitimize_address): New.
6221         (alpha_legitimize_reload_address): Likewise.
6222         * config/alpha/alpha-protos.h: Declare them.
6223
6224 2001-09-04  Stan Shebs  <shebs@apple.com>
6225
6226         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
6227         * config/darwin.c (machopic_stub_name): Account for internally
6228         generated lib calls such as memcpy.
6229
6230 2001-09-04  Richard Henderson  <rth@redhat.com>
6231
6232         * unwind.h (_UA_END_OF_STACK): New flag.
6233         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
6234
6235 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
6236
6237         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
6238
6239 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
6240
6241         * config/mips/mips.c (save_restore_insns): Change base_offset to
6242         fp_offset in second call to mips_emit_frame_related_store.
6243
6244 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
6245
6246         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
6247         sometimes be represented as a NOTE of type
6248         NOTE_INSN_DELETED_LABEL.
6249         (Insns): Document NOTE_INSN_DELETED_LABEL.
6250
6251 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
6252
6253         * c-common.h (tree_dump_index): Add more comments.
6254         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
6255         (dump_option_value_info): New struct.
6256         (dump_options): New array.
6257         (dump_switch_p): Parse switch options symbolically.
6258         * doc/invoke.texi (-fdump-ast): Rename to ...
6259         (-fdump-tree): ... here. Document that options are symbolic, and
6260         not all are applicable.
6261
6262 2001-09-04  David S. Miller  <davem@redhat.com>
6263
6264         * config/sparc/sparc.md (define_splits): Kill constraints.
6265
6266         Cleanup redundant and unused insn attributes.
6267         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
6268         binary, and move.  Mark ialu as default.
6269         (commented out define_function_unit "alu"): Kill.
6270         (define_attr "use_clobbered"): Kill.
6271         (whole file): Kill address insn type references.  Replace
6272         all unary/binary/move references with ialu.
6273         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
6274         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
6275         TYPE_IALU.
6276
6277         Simplify length insn attribute and make more judicious use
6278         of insn attribute defaulting.
6279         * config/sparc/sparc.md (all insns with length > one): Mark as
6280         insn type multi if real instructions, else use default if
6281         it is a forced splitter.
6282         (all insns with length == one): Use default insn length.
6283         (all insns of type ialu): Use default insn type.
6284
6285         Fix erroneous insn attribute settings.
6286         (addx): Set insn type to misc.
6287         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
6288         const_umulsidi3_sp64): Set insn type to imul.
6289
6290         Track SFmode vs DFmode insns according to UltraSPARC
6291         scheduling rules.
6292         * config/sparc/sparc.md ("fptype"): New attribute, default
6293         to "single".
6294         (all DFmode single insns): Mark as fptype "double".
6295
6296 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
6297
6298         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
6299
6300 2001-09-03  Richard Henderson  <rth@redhat.com>
6301
6302         * function.h (struct function): Add arg_pointer_save_area_init.
6303         * function.c (expand_function_end): Init arg_pointer_save_area.
6304         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
6305         when called from a nested function.
6306
6307 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
6308
6309         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
6310         is enabled.
6311
6312 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
6313
6314         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
6315
6316 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
6317
6318         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
6319         (emit_push_insn): Use specified padding direction when
6320         STACK_PUSH_CODE is POST_INC.
6321
6322         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
6323
6324 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6325
6326         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
6327
6328 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
6329
6330         * cppinit.c (cpp_start_read): Free the imacros list as we
6331         traverse it.  Don't free the chains before returning.
6332         (_cpp_push_next_buffer): Only try pushing buffers if we've
6333         completed -imacros handling.
6334
6335 2001-08-31  Eric Christopher  <echristo@redhat.com>
6336
6337         * gcc.c (handle_braces): Add explaination for abort.
6338
6339 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
6340
6341         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
6342         move adjustment of bitpos instead.
6343
6344 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
6345
6346         * function.c: Remove all_functions.  Make outer_function_chain
6347         static.
6348         (init_function_start): Don't add new function structure to
6349         all_functions.
6350         (find_function_data, push_function_context_to,
6351         pop_function_context_from, put_var_into_stack,
6352         trampoline_address): Update for changed structure element names.
6353         (push_function_context_to): Disentangle.
6354         (free_after_compilation): Also free F.
6355         (expand_dummy_function_end): Don't free cfun here.
6356         (put_var_into_stack): Comment why we can't use find_function_data here.
6357         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
6358         (mark_function_chain): Split into maybe_mark_struct_function and
6359         ggc_mark_struct_function.  Export the latter.
6360         (init_function_once): Mark from cfun and outer_function_chain;
6361         not all_functions.
6362
6363         * function.h (struct function): Kill next_global.  Rename next
6364         to outer.  All users updated to match.
6365         (all_functions, outer_function_chain): Don't declare.
6366
6367         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
6368         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
6369         don't touch f->inlinable, after calling rest_of_compilation.
6370
6371         * tree.h: Forward-declare struct function.  Prototype
6372         ggc_mark_struct_function.
6373
6374 2001-08-31  Kazu Hirata  <kazu@hxi.com>
6375
6376         * config/h8300/h8300.md (*andorhi3): Fix typos.
6377
6378 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6379
6380         * calls.c (emit_library_call_value): Don't use a fixed
6381         argument after VA_CLOSE, i.e. out of scope in traditional C.
6382
6383         * emit-rtl.c (gen_rtvec): Likewise.
6384
6385 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6386
6387         * Makefile.in (c-pragma.o): Depend on output.h.
6388         (reorg.o): Depend on except.h.
6389
6390         * c-pragma.c: Include output.h.
6391
6392         * reorg.c: Include except.h.
6393
6394         * unwind-dw2.c: Call __builtin_alloca, not alloca.
6395
6396 2001-08-31  Richard Henderson  <rth@redhat.com>
6397
6398         * sched-deps.c (add_dependence): Don't elide dependency if the
6399         conditional used by insn is modified in elem.
6400
6401 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
6402
6403         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
6404
6405 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
6406
6407         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
6408         dump_switch_p.
6409
6410 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
6411
6412         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
6413         function.
6414         (stormy16_asm_out_constructor): New function.
6415         (TARGET_ASM_CONSTRUCTOR): Define.
6416         (TARGET_ASM_DESTRUCTOR): Define.
6417
6418 2001-08-31  Andreas Jaeger  <aj@suse.de>
6419
6420         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
6421         * loop.c (add_label_notes): Likewise.
6422         * reload.c (find_reloads): Likewise.
6423         * config/sh/sh.c (machine_dependent_reorg): Likewise.
6424
6425 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
6426
6427         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
6428         code here.  Take _Unwind_{W,Sw}ord*.
6429         (read_encoded_value_with_base): Use them.
6430         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
6431         words.
6432         (extract_cie_info): Simplify read_?leb128 handling.
6433         (execute_stack_op, execute_cfa_program): Likewise.
6434         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
6435
6436 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
6437
6438         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
6439         the frame pointer to pop the stack if convenient.
6440
6441         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
6442         Don't use post-increment before combine.
6443         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
6444         a call-saved register.
6445
6446 2001-08-31  Andreas Jaeger  <aj@suse.de>
6447
6448         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
6449         code was correct.
6450
6451 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
6452
6453         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
6454         not DIV/MOD, of course.
6455
6456 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
6457
6458         * rtl.def: Undo my patch commited 2001-08-27.
6459
6460         * genattrtab.c: Ditto.
6461
6462         * rtl.h: Ditto.
6463
6464         * sched-int.h: Ditto.
6465
6466         * target-def.h: Ditto.
6467
6468         * target.h: Ditto.
6469
6470         * haifa-sched.c: Ditto.
6471
6472         * sched-rgn.c: Ditto.
6473
6474         * sched-vis.c: Ditto.
6475
6476         * Makefile.in: Ditto.
6477
6478         * doc/md.texi: Ditto.
6479
6480         * doc/tm.texi: Ditto.
6481
6482         * doc/contrib.texi: Ditto.
6483
6484         * doc/gcc.texi: Ditto.
6485
6486         * genattrtab.h: Remove it.
6487
6488         * genautomata.c: Remove it.
6489
6490         * genattr.c: Undo my patch and Richard Henderson's patch commited
6491         2001-08-27.
6492
6493 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
6494
6495         * config.gcc (h8300-*-elf*): New case.
6496         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
6497         (SUBTARGET_CPP_SPEC): Define.
6498         (EXTRA_SPECS): Define.
6499         (SUBTARGET_EXTRA_SPECS): Define.
6500         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
6501         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
6502
6503 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
6504
6505         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
6506         (LIB2FUNCS_EXTRA): Define.
6507         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
6508         config/h8300/fixunssfsi.c: New file.
6509
6510 2001-08-30  Kazu Hirata  <kazu@hxi.com>
6511
6512         * config/h8300/h8300.md (zero_extendqihi2): Changes to
6513         define_expand to accommodate target-specific attributes.
6514         (anonymous zero_extendqihi2 patterns): New.
6515
6516 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
6517
6518         * h8300.md (*andorhi3): New pattern.
6519
6520 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
6521
6522         * h8300.c (dosize): Fix test for "sub".
6523
6524 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
6525
6526         * c-typeck.c (pointer_diff): Try to eliminate common term before
6527         doing conversions.
6528
6529 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
6530
6531         * config/arm/arm.c (arm_compute_initial_elimination_offset):
6532         Account for the saves of the FP registers.
6533
6534         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
6535         (TEXT_SECTION_ASM_OP): Define.
6536         (INIT_SECTION_ASM_OP): Define.
6537         (FINI_SECTION_ASM_OP): Define.
6538         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
6539         (RDATA_SECTION_FUNCITON): Provide prototype.
6540
6541 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
6542
6543         * reload1.c (move2add_note_store): Correct typo checking for
6544         argument pushes.
6545
6546 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
6547
6548         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
6549         note should not be considered outside the libcall block.
6550
6551 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6552
6553         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
6554
6555 2001-08-29  Kazu Hirata  <kazu@hxi.com>
6556
6557         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
6558
6559 2001-08-29  Kazu Hirata  <kazu@hxi.com>
6560
6561         * config/h8300/h8300-protos.h: Add a prototype for
6562         emit_logical_op.
6563         * config/h8300/h8300.c (emit_logical_op): New.
6564         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
6565         (andsi3): Likewise.
6566         (iorhi3): Likewise.
6567         (iorsi3): Likewise.
6568         (xorhi3): Likewise.
6569         (xorsi3): Likewise.
6570
6571 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6572
6573         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
6574         comparison with rtx INTVAL.
6575         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
6576         expression.
6577         * pa.h (FUNCTION_ARG_SIZE): Likewise.
6578
6579 2001-08-29  Kazu Hirata  <kazu@hxi.com>
6580
6581         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
6582         comment typos.
6583
6584 2001-08-29  Kazu Hirata  <kazu@hxi.com>
6585
6586         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
6587         (reg n) to (mem (pre_dec (reg n))
6588         (anonymous movsi pattern): Likewise.
6589
6590 2001-08-29  Kazu Hirata  <kazu@hxi.com>
6591
6592         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
6593
6594 2001-08-29  Kazu Hirata  <kazu@hxi.com>
6595
6596         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
6597         several special constants.
6598
6599 2001-08-29  Kazu Hirata  <kazu@hxi.com>
6600
6601         * config/h8300/lib1funcs.asm: Fix comment typos.
6602
6603 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6604
6605         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
6606         Fix format specifier warnings.
6607
6608         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
6609         inet_makeaddr, semctl): Prototype.
6610
6611         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
6612         (save_restore_insns): Use base_offset, not gp_offset.
6613
6614         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
6615         (ASM_OUTPUT_BYTE): Fix format specifier warning.
6616
6617 2001-08-29  Richard Henderson  <rth@redhat.com>
6618
6619         * bb-reorder.c (function_tail_eff_head): New.
6620         (record_effective_endpoints): Set it.
6621         (fixup_reorder_chain): Use it.
6622
6623 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6624
6625         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
6626
6627 2001-08-28  Dale Johannesen  <dalej@apple.com>
6628
6629         * config/darwin.c (machopic_function_base_name): Add const
6630         qualifier to a string.
6631         (darwin_encode_section_info): Ditto.
6632
6633 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6634
6635         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
6636         function definition.
6637
6638 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
6639
6640         * df.h (struct df): Add rts_order variable.
6641
6642         * df.c (df_visit_next_rts): New function.
6643         (df_visit_next): Renamed to df_visit_next_rc
6644         (df_analyse_1): Allocate/compute/free rts_order as well.
6645         (df_rd_global_compute): Use df_visit_next_rc instead of
6646         df_visit_next.
6647         (df_ru_global_compute): Use df_visit_next_rts instead of
6648         df_visit_next.
6649
6650         * flow.c (flow_reverse_top_sort_order_compute): New function.
6651
6652         * basic-block.h: Add prototype.
6653
6654 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
6655
6656         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
6657         blocks, the BB_REACHABLE is now set, rather than aux being
6658         non-NULL. Update the test to reflect this.
6659
6660 2001-08-28  Eric Christopher  <echristo@redhat.com>
6661
6662         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
6663         config/mips/crti.asm: Ditto.
6664
6665 2001-08-28  Eric Christopher <echristo@redhat.com>
6666             Richard Henderson <rth@redhat.com>
6667
6668         * c-pragma.h (add_weak): Move prototype from here...
6669         * output.h (add_weak): ... to here.
6670         * varasm.c (add_weak): Fix typo.
6671         * config/mips/crti.asm: New file.
6672         * config/mips/crtn.asm: Ditto.
6673         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
6674         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
6675         (INVOKE__main): Ditto.
6676         (INIT_SECTION_ASM_OP): New.
6677         (FINI_SECTION_ASM_OP): Ditto.
6678         (STARTFILE_SPEC): Add crti.
6679         (ENDFILE_SPEC): Add crtn.
6680         * config/mips/elf64.h: Same.
6681         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
6682         Remove.
6683         * config/mips/vxworks.h: Ditto.
6684         * config/mips/t-elf: Support crti and crtn.
6685
6686 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
6687
6688         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
6689         INSN_LIST.
6690
6691 2001-08-28  Richard Henderson  <rth@redhat.com>
6692
6693         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
6694         (one_cmplbi2 splitter): Remove redundant test.
6695
6696 2001-08-28  Dale Johannesen  <dalej@apple.com>
6697
6698         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
6699
6700 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
6701
6702         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
6703
6704 2001-08-28  Stan Shebs  <shebs@apple.com>
6705
6706         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
6707         (UNALIGNED_SHORT_ASM_OP): Define.
6708         (UNALIGNED_INT_ASM_OP): Define.
6709
6710 2001-08-28  Will Cohen  <wcohen@redhat.com>
6711
6712         * config/rs6000/rs6000.md (store_multiple): Correct RTL
6713         generation for first set.
6714
6715 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
6716
6717         * flow.c (redirect_edge_succ_nodup): Return new edge.
6718         (try_simplify_condjump): Use new edge.
6719         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
6720
6721         * cse.c (cse_basic_block): Skip note instructions.
6722
6723 2001-08-27  Richard Henderson  <rth@redhat.com>
6724
6725         * combine.c (combine_simplify_rtx): Don't reverse condition
6726         if there is no reverse for the condition.
6727         (simplify_comparison): Don't simplify subregs from INT to FP.
6728
6729         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
6730         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
6731         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
6732         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
6733         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
6734         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
6735
6736 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
6737
6738         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
6739         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
6740         (pushqi1): New.
6741         (adddi_dilshr32, adddi_dishl32): Only data register can be
6742         source for mem destination.
6743
6744         * expmed.c (store_bit_field): Ignore adjustment to bitpos
6745         and use bitnum to decide about register move.
6746
6747 2001-08-27  Richard Henderson  <rth@redhat.com>
6748
6749         * genattr.c (main): Emit state_t even when not doing scheduling.
6750
6751 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
6752             Richard Henderson  <rth@redhat.com>
6753
6754         * gcse.c (reg_first_set, reg_last_set): Replace with ...
6755         (reg_avail_info, current_bb): ... these.
6756         (oprs_unchanged_p, record_last_reg_set_info): Use them.
6757         (compute_hash_table): Likewise.
6758
6759 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
6760
6761         * flow.c (verify_flow_info): Use checksums to verify edges.
6762
6763 2001-08-27  Richard Henderson  <rth@redhat.com>
6764
6765         * genautomata.c (expand_automata): Always create a description.
6766
6767 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
6768
6769         * optabs.c (expand_binop): Correctly handle the carry in multiword
6770         add/subtract operations.
6771
6772 2001-08-27  Fred Fish  <fnf@be.com>
6773
6774         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
6775         __SIZE_TYPE__.
6776
6777 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
6778
6779         * reload.c (find_reloads_toplev): Back out this change:
6780
6781         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
6782
6783         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
6784         mem if the address is a mode_dependent_address_p.
6785
6786 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
6787
6788         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
6789         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
6790         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
6791         RTL constructions.
6792
6793         * genattr.c (main): New variable num_insn_reservations.  Increase
6794         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
6795         pipeline hazard recognizer interface.
6796
6797         * genattrtab.h: New file.
6798
6799         * genattrtab.c: Include genattrtab.h.
6800         (attr_printf, check_attr_test, make_internal_attr,
6801         make_numeric_value): Move protypes into genattrtab.h.  Define them
6802         as external.
6803         (num_dfa_decls): New global variable.
6804         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
6805         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
6806         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
6807         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
6808
6809         * genautomata.c: New file.
6810
6811         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
6812
6813         * sched-int.h: (curr_state): Add the external definition for
6814         automaton pipeline interface.
6815         (haifa_insn_data): Add comments for members blockage and units.
6816
6817         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
6818         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
6819         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
6820         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
6821         TARGET_SCHED_DFA_POST_CYCLE_INSN,
6822         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
6823         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
6824         macros.
6825         (TARGET_SCHED): Use the new macros.
6826
6827         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
6828         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
6829         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
6830         dfa_bubble): New members in gcc_target.sched.
6831
6832         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
6833         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
6834         (insn_queue): Redefine it as pointer to array.
6835         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
6836         INSN_QUEUE_SIZE.
6837         (max_insn_queue_index_macro_value): New variable.
6838         (curr_state, dfa_state_size, ready_try): New varaibles for
6839         automaton interface.
6840         (ready_element, ready_remove, max_issue): New function prototypes
6841         for automaton interface.
6842         (choose_ready): New function prototype.
6843         (insn_unit, blockage_range): Add comments.
6844         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
6845         FUNCTION_UNITS_SIZE == 0.
6846         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
6847         actual_hazard, potential_hazard): Add comments.
6848         (insn_cost): Use cost -1 as undefined value.  Remove
6849         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
6850         pipeline interface.
6851         (ready_element, ready_remove): New functions for automaton
6852         interface.
6853         (schedule_insn): Add new code for automaton pipeline interface.
6854         (queue_to_ready): Add new code for automaton pipeline interface.
6855         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
6856         (debug_ready_list): Print newline when the queue is empty.
6857         (max_issue): New function for automaton pipeline interface.
6858         (choose_ready): New function.
6859         (schedule_block): Add new code for automaton pipeline interface.
6860         Print ready list before scheduling each insn.
6861         (sched_init): Add new code for automaton pipeline interface.
6862         Initiate insn cost by -1.
6863         (sched_finish): Free the current automaton state and finalize
6864         automaton pipeline interface.
6865
6866         * sched-rgn.c: Include target.h.
6867         (init_ready_list, new_ready, debug_dependencies): Add new code for
6868         automaton pipeline interface.
6869
6870         * sched-vis.c: Include target.h.
6871         (get_visual_tbl_length): Add code for automaton interface.
6872         (target_units, print_block_visualization):  Add comments.
6873
6874         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
6875         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
6876         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
6877         (getruntime.o, genautomata.o): New entries.
6878         (genattrtab.o): Add new dependency file genattrtab.h.
6879         (genattrtab): Add new dependencies.  Link it with `libm.a'.
6880         (getruntime.o, hashtab.o): New entries for canadian cross.
6881
6882         * doc/md.texi: Description of automaton based model.
6883
6884         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
6885         Add comments.
6886         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
6887         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
6888         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
6889         TARGET_SCHED_DFA_POST_CYCLE_INSN,
6890         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
6891         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
6892         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
6893         hook descriptions.
6894         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
6895         MAX_DFA_ISSUE_RATE): New macro descriptions.
6896
6897         * doc/contrib.texi: Add dfa based scheduler contribution.
6898
6899         * doc/gcc.texi: Add more information about genattrtab.
6900
6901 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
6902
6903         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
6904         an RTL basic block.
6905
6906 2001-08-27  Richard Henderson  <rth@redhat.com>
6907
6908         * function.c (expand_function_end): Don't init arg_pointer_save_area.
6909         (get_arg_pointer_save_area): New.  Create an init it here.
6910         (fix_lexical_addr): Use it.
6911         * function.h: Declare it.
6912         * builtins.c (expand_builtin_setjmp_receiver): Use it.
6913         * stmt.c (expand_nl_goto_receiver): Use it.
6914
6915 2001-08-27  Richard Henderson  <rth@redhat.com>
6916
6917         * final.c (final_scan_insn): Don't enter APP_ON mode for
6918         empty asm strings.
6919
6920         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
6921         alignment for assemble_integer for DW_EH_PE_aligned.
6922         * except.c (output_function_exception_table): Likewise.
6923
6924 2001-08-26  Andreas Jaeger  <aj@suse.de>
6925
6926         * c-tree.h: Add prototyp for c_sizeof_nowarn.
6927
6928 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
6929
6930         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
6931
6932 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
6933
6934         * config/rs6000/rs6000.c (mask_operand): Rewrite without
6935         bit-shifting loop.
6936         (mask64_operand): Likewise.
6937         (rldic_operand): Delete.
6938         (includes_lshift64_p): Delete.
6939         (includes_rldic_lshift_p): New function.
6940         (includes_rldicr_lshift_p): New function.
6941         (print_operand): Don't call rldic_operand in case 'W'.
6942         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
6943         (includes_lshift64_p): Remove.
6944         (includes_rldic_lshift_p): Declare.
6945         (includes_rldicr_lshift_p): Declare.
6946         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
6947         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
6948         Replace match_operand rldic_operand predicate with
6949         const_int_operand.  Replace includes_lshift64_p condition with
6950         includes_rldic_lshift_p.
6951         <ashldi3_internal 64 bit rldicr patterns>: New.
6952
6953 2001-08-27  Andreas Jaeger  <aj@suse.de>
6954
6955         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
6956         * errors.c: Likewise.
6957         * final.c: Likewise.
6958         * dwarf2asm.c: Likewise.
6959         * doprint.c (checkit): Likewise.
6960         * diagnostic.c: Likewise.
6961         * collect2.c: Likewise.
6962         * calls.c: Likewise.
6963         * c-semantics.c (build_stmt): Likewise.
6964         * c-format.c (status_warning): Likewise.
6965         * c-errors.c (pedwarn_c99): Likewise.
6966         * builtins.c (validate_arglist): Likewise.
6967         * config/pj/pj.c (pj_printf): Likewise.
6968         * fix-header.c: Likewise.
6969         * gcc.c: Likewise.
6970         * gcov.c (fnotice): Likewise.
6971         * gensupport.c (message_with_line): Likewise.
6972         * mips-tfile.c: Likewise.
6973         * protoize.c (notice): Likewise.
6974         * read-rtl.c (fatal_with_file_and_line): Likewise.
6975         * rtl-error.c: Likewise.
6976         * tradcpp.c: Likewise.
6977         * tree.c: Likewise.
6978         * cp/tree.c (build_min_nt): Likewise.
6979         (build_min): Likewise.
6980         * cp/lex.c: Likewise.
6981         * cp/errfn.c: Likewise.
6982         * cp/rtti.c (create_pseudo_type_info): Likewise.
6983
6984 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
6985
6986         * df.c (df_uses_record): Return after recording all uses
6987         in ASM_OPERANDS.
6988
6989 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
6990
6991         * df.c (df_insn_modify): Realloc the INSN table here, if
6992         necessary, here, too.
6993
6994 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
6995
6996         * config/mips/mips.c (mips_function_value): Handle complex return
6997         values.
6998
6999 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
7000
7001         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
7002         unshared.
7003         * reload.c (make_memloc): Copy result if it is still
7004         reg_equiv_memory_loc[regno] on return.
7005         (subst_reloads) [ENABLE_CHECKING]: Check that none of
7006         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
7007         reg_equiv_mem are modified by the substitutions.
7008
7009 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
7010
7011         * predict.c (expensive_function_p): New.
7012         * rtl.h (expensive_function_p): Declare.
7013         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
7014         (use_fast_prologue_epilogue): New static variable.
7015         (expand_prologue): Set it; emit short prologues if unset.
7016         (expand_epilogue): Likewise.
7017
7018 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
7019
7020         * config.gcc: Add stormy16-*-elf case.
7021         * config/stormy16/stormy-abi: New file.
7022         * config/stormy16/stormy16-lib2.c: New file.
7023         * config/stormy16/stormy16-protos.h: New file.
7024         * config/stormy16/stormy16.c: New file.
7025         * config/stormy16/stormy16.h: New file.
7026         * config/stormy16/stormy16.md: New file.
7027         * config/stormy16/t-stormy16: New file.
7028
7029 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
7030
7031         * i386.h (no-accumulate-outgoing-args): Use proper mask.
7032
7033 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
7034
7035         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
7036         descriptor members are pointer size, not constant 4.
7037         * config/rs6000/rs6000.md (define_splits): Remove more unused
7038         constraints.
7039
7040 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7041
7042         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
7043
7044 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
7045
7046         * cp/rtti.c (VPARAMS): Fix parameter.
7047
7048 2001-08-24  Zack Weinberg  <zackw@panix.com>
7049
7050         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
7051         to zero.
7052         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
7053         to switch.
7054         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
7055         in if controlling use of insv.
7056         (extract_bit_field): Likewise, for extv and extzv.
7057
7058 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
7059
7060         * i386.md (movcc peep2): Fix load of 0.
7061
7062 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7063
7064         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
7065         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
7066
7067 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
7068
7069         * c-pragma.h: Move weak_syms and weak_decls...
7070         * varasm.c: ...here.  Now static.
7071         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
7072         depend on HANDLE_PRAGMA_WEAK.
7073
7074         * c-common.c (c_alignof, c_alignof_expr): Move here...
7075         * c-typeck.c: ...from here.
7076         * c-tree.h, c-common.h: Adjust.
7077
7078 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
7079
7080         * config/ia64/ia64.c (rws_update): If !pred, set write_count
7081         instead of incrementing it.
7082
7083         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
7084         asm ready, don't try to move them all into the same array element.
7085
7086 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
7087
7088         * function.c (thread_prologue_and_epilogue_insns): Avoid
7089         fallthru flag on edge to exit.
7090
7091         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
7092
7093         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
7094         dead edges.
7095
7096 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
7097
7098         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
7099         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
7100         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
7101         Remove prototype.
7102
7103 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
7104
7105         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
7106         replace "GNU CC" with "GCC".
7107
7108 2001-08-23  Richard Henderson  <rth@redhat.com>
7109
7110         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
7111         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
7112         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
7113         Need GR between FR and not GR_AND_FR.
7114         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
7115         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
7116         AR regs before GR regs.
7117         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
7118         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
7119         (REGISTER_MOVE_COST): Update.
7120         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
7121
7122 2001-08-23  Richard Henderson  <rth@redhat.com>
7123
7124         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
7125         a register class.
7126
7127 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
7128
7129         * reload1.c (emit_reload_insns): Don't look for notes
7130         on a NULL store_insn.
7131
7132 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7133
7134         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
7135         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
7136         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
7137         format specifier warnings.
7138         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
7139
7140 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
7141
7142         * config/i386/i386-protos.h: Correct declaration of
7143         i386_pe_asm_named_section.
7144
7145 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7146
7147         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
7148         variable i.
7149         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
7150
7151 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
7152
7153         * cpperror.c (print_location): Don't show _Pragma.
7154         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
7155         and file change callback generation here.
7156         (stack_include_file): Update use of cpp_push_buffer.
7157         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
7158         (struct cpp_buffer): Remove type, pfile members.
7159         * cppinit.c (cpp_handle_option): Use free_chain.
7160         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
7161         (skip_escaped_newlines, get_effective_char, lex_percent): Take
7162         a cpp_reader rather than a cpp_buffer.
7163         (skip_escaped_newlines, get_effective_char, skip_block_comment,
7164         skip_line_comment, parse_string, lex_percent, lex_dot,
7165         _cpp_lex_token): Update accordingly.
7166         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
7167         generation here.
7168         (cpp_push_buffer): Update prototype.
7169         (run_directive): Update use of cpp_push_buffer.
7170         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
7171         handle_assertion): Update use of run_directive.
7172         * cpplib.h (enum cpp_buffer_type): Remove.
7173         (cpp_push_buffer): Update prototype.
7174         * fix-header.c (read_scan_file): Update.
7175
7176 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7177
7178         * gcc.c (struct prefix_list): Change prefix to const char *.
7179
7180 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7181
7182         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
7183
7184 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
7185
7186         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
7187         from a new MEM.
7188
7189         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
7190         a squeezable note.
7191         * rtl.h: Adjust.
7192         * ifcvt.c (dead_or_predicable): Adjust.
7193         * loop.c (find_and_verify_loops): Adjust.
7194         * stmt.c (expand_end_case): Adjust.
7195         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
7196         head and end insn pointers in the basic block, not just local copies.
7197         (merge_blocks_move_predecessor_nojumps): Likewise.
7198
7199 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
7200
7201         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
7202         bitmap.h, builtin-types.def, builtins.c, builtins.def,
7203         c-aux-info.c, c-common.c, c-common.def, c-common.h,
7204         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
7205         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
7206         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
7207         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
7208         conditions.h, config.gcc, configure.frag, configure.in,
7209         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
7210         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
7211         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
7212         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
7213         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
7214         emit-rtl.c, errors.c, errors.h, except.c, except.h,
7215         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
7216         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
7217         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
7218         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
7219         gencheck.c, gencodes.c, genconfig.c, genemit.c,
7220         genextract.c, genflags.c, gengenrtl.c, genmultilib,
7221         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
7222         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
7223         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
7224         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
7225         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
7226         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
7227         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
7228         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
7229         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
7230         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
7231         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
7232         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
7233         params.h, predict.c, predict.def, predict.h, prefix.c,
7234         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
7235         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
7236         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
7237         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
7238         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
7239         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
7240         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
7241         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
7242         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
7243         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
7244         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
7245         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
7246         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
7247         xcoffout.h: replace "GNU CC" with "GCC".
7248
7249 2001-08-21  Richard Henderson  <rth@redhat.com>
7250
7251         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
7252         (final_scan_insn): Consider jump tables data even if we have no
7253         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
7254         ADDR_VEC_ALIGN.
7255         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
7256         (ASM_OUTPUT_CASE_END): Remove.
7257         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
7258         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
7259         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
7260
7261 2001-08-21  Richard Henderson  <rth@redhat.com>
7262
7263         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
7264         at barrier insns.  Emit stop bits before barriers.
7265
7266         * flow.c (flow_find_cross_jump): Don't consider unconditional
7267         return insns for commoning.
7268
7269         * final.c (compute_alignments): Fix typo.
7270
7271         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
7272         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
7273         (store_bit_field): Use mode_for_extraction more places.
7274         (extract_bit_field): Likewise.
7275
7276 2001-08-21  Zack Weinberg  <zackw@panix.com>
7277
7278         * caller-save.c: Don't include insn-codes.h.
7279         (reg_save_code, reg_restore_code): Make arrays of int.
7280         All uses updated to match.
7281         (insert_save, insert_restore): No need to initialize "code"
7282         variable upon declaration.
7283         * Makefile.in: update dependencies; fix typo in clean rule.
7284
7285 2001-08-21  Richard Henderson  <rth@redhat.com>
7286
7287         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
7288         (merge_if_block): Handle fallout from same.
7289
7290 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7291
7292         * builtins.c (type_to_class): Fix typo in last change.
7293
7294 2001-08-21  Richard Henderson  <rth@redhat.com>
7295
7296         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
7297         ia64_asm_output_label.
7298
7299         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
7300         copy of gp while the real gp register contains garbage.
7301
7302 2001-08-21  Zack Weinberg  <zackw@panix.com>
7303
7304         * expmed.c (mode_for_extraction): New function.
7305         (store_bit_field, extract_bit_field): Use it.
7306         * expr.h: Prototype it and provide an enum for its first argument.
7307
7308         * combine.c, function.c, recog.c: Don't include insn-codes.h.
7309         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
7310         and digging through the insn_data tables.
7311         * Makefile.in: Update dependencies.
7312
7313 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
7314
7315         * cppfiles.c (stack_include_file): line-map.c now handles include
7316         depth.
7317         (handle_missing_handler): Similarly.
7318         (_cpp_execute_include): Similarly.
7319         (_cpp_pop_file_buffer): Similarly.
7320         * cpphash.h (struct cpp_reader): Remove system_include_depth,
7321         buffer_stack_depth and include_depth.
7322         * cpplib.c (do_include_common): line-map.c now handles include depth.
7323         (cpp_push_buffer): Similarly.
7324         (_cpp_pop_buffer): Similarly.
7325         * cppmacro.c (builtin_macro): Update.
7326         * line-map.c (init_line_maps): Set depth.
7327         (add_line_map): Increment "used" earlier.  Update and use the
7328         include depth.
7329         (trace_include): Use the include depth.
7330         * line-map.h (struct line_maps): New member depth.
7331
7332 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
7333
7334         * cppfiles.c (stack_include_file): Don't handle -H here.
7335         * cppinit.c (cpp_start_read): Set include tracing after
7336         cpp_post_options and after stacking the main file.
7337         * line-map.c (trace_include): New.
7338         (init_line_maps, add_line_map): Update.
7339         * line-map.h (struct line_maps): New member trace_includes.
7340
7341 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
7342
7343         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
7344         * cppfiles.c (stack_include_file): Only stack a file if there
7345         is something to do.  Return a boolean indicating whether a
7346         buffer was stacked or not.
7347         (_cpp_execute_include): Similarly.
7348         (_cpp_read_file): Similarly.
7349         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
7350
7351 2001-08-21  Sam Steingold  <sds@gnu.org>
7352
7353         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
7354         (RECACHE): keep obufp_before_macroname up to date
7355
7356 2001-08-21  Zack Weinberg  <zackw@panix.com>
7357
7358         * stmt.c: Don't include insn-codes.h.
7359         (expand_end_case): Machine specific logic moved to expr.c.
7360         No need to worry about __builtin_classify_type.
7361         (check_for_full_enumeration_handling, emit_case_nodes):
7362         Kill #if 0 blocks.
7363
7364         * builtins.o (expand_builtin_classify_type): Split up so code
7365         can be shared with fold_builtin_classify_type.
7366         (type_to_class, fold_builtin_classify_type): New functions.
7367         (fold_builtins): Handle __builtin_classify_type.
7368
7369         * expr.c (do_tablejump): Now static.
7370         (case_values_threshold, try_casesi, try_tablejump): New;
7371         code mostly from stmt.c (expand_end_case).
7372         (expr.h): Update prototypes.
7373
7374         * Makefile.in (stmt.o): Update dependencies.
7375
7376 2001-08-21  Will Cohen  <wcohen@redhat.com>
7377
7378         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
7379         declaration of variable i.
7380         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
7381         declaration of variable i.
7382
7383 2001-08-21  Richard Henderson  <rth@redhat.com>
7384
7385         * crtstuff.c: Fix thinko last change.  Move list tails to start
7386         of CRT_END section.  Tidy ifdefs.
7387         (__EH_FRAME_BEGIN__): Always static for ELF.
7388         (__do_global_ctors_1): Rename from __frame_dummy.
7389         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
7390         name change; don't hide __EH_FRAME_BEGIN__.
7391
7392 2001-08-21  Richard Henderson  <rth@redhat.com>
7393
7394         * gdbinit.in: Move break on exit after break on fancy_abort.
7395
7396         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
7397         sized types.
7398
7399 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
7400
7401         * cpphash.h (_cpp_push_next_buffer): New.
7402         * cppinit.c (do_includes): Remove.
7403         (push_include, free_chain, _cpp_push_next_buffer): New.
7404         (cpp_start_read): Use them to rework command line option handling.
7405         (cpp_handle_option): Combine handling of -include and -imacros.
7406         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
7407         appropriate.  Always insert missing \n at EOF.
7408         * cpplib.c (start_directive): Get the directive position right.
7409         * cppmain.c (cb_file_change): Always print the first line, unless
7410         preprocessed.
7411
7412 2001-08-20  Andreas Jaeger  <aj@suse.de>
7413
7414         * profile.c (compute_branch_probabilities): Remove extra new-line
7415         in error message.
7416         * flow.c (verify_flow_info): Likewise.
7417
7418 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
7419
7420         * basic-block.h (basic_block): Add new field 'flags'.
7421         (BB_REACHABLE): Define.
7422         (expunge_block): Declare.
7423         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
7424         (EXIT_BLOCK_PTR): Ditto.
7425         (expunge_block): Remove static declaration.
7426         (cleanup_cfg): Clear bb->aux on every basic block.
7427         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
7428         computing reachability.
7429         (delete_unreachable_blocks): Delete block b if b->flags has
7430         BB_REACHABLE unset.
7431
7432 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
7433
7434         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
7435
7436 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7437
7438         * sparc.c (sparc_variable_issue): Fix typo in last change.
7439
7440 2001-08-20  Richard Henderson  <rth@redhat.com>
7441
7442         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
7443
7444 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7445
7446         * pa.h (RETURN_IN_MEMORY): Improve comment.
7447
7448 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
7449
7450         * doc/invoke.texi (Profiling options): Clarify the interactions
7451         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
7452
7453 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
7454
7455         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
7456         command.
7457
7458 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7459
7460         * gcc.c (make_relative_prefix): Allocate a sufficiently large
7461         buffer.
7462
7463 2001-08-20  Richard Henderson  <rth@redhat.com>
7464
7465         * final.c (end_final): Fix typo last change.
7466
7467 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
7468
7469         * cppinit.c (init_standard_includes): The returned buffer
7470         is already malloc-ed.
7471         * gcc.c (add_prefix): Similarly.
7472         * prefix.c (translate_name): Update to support clear buffer
7473         ownership rules.
7474         (update_path): Similarly.  Be sure to free any newly allocated
7475         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
7476         (tr): New function.
7477         * prefix.h (update_path): Update prototype and document.
7478         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
7479         up and update to new buffer ownership rules.
7480         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
7481
7482 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
7483
7484         * final.c (compute_alignments): New function.
7485         (init_insn_lengths): Do not care label_align.
7486         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
7487         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
7488         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
7489         (shorted_branches): Realloc label_align array; do
7490         not call init_insn_lengths; Do not care about loop alignments.
7491         * output.h (compute_alignments): Declare.
7492         * toplev.c (rest_of_compilation): Call compute_alignments.
7493         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
7494
7495         * predict.c (block_info_def): Add npredecesors, remove nvisited;
7496         change visited to tovisit.
7497         (propagate_freq): Use faster traversing algorithm.
7498         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
7499         to tovisit; reverse meaning.
7500
7501         * predict.c (struct block_info_def): Remove nvisited.
7502         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
7503         (estimate_bb_frequencies): Call mark_dfs_back_edges.
7504
7505 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
7506
7507         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
7508         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
7509         (TARGET_FUSED_MADD): New.
7510         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
7511         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
7512         the multiply-add instructions.
7513
7514 2001-08-19  Richard Henderson  <rth@redhat.com>
7515
7516         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
7517         is aligned to pointer size.
7518
7519 2001-08-19  Richard Henderson  <rth@redhat.com>
7520
7521         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
7522         display markers during final schedule.
7523
7524 2001-08-19  Richard Henderson  <rth@redhat.com>
7525
7526         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
7527
7528 2001-08-19  Richard Henderson  <rth@redhat.com>
7529
7530         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
7531         in the same string.
7532         (ASM_NAME_TO_STRING): Remove.
7533         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
7534         in the same string.  Remove support for expressions.
7535
7536 2001-08-19  Richard Henderson  <rth@redhat.com>
7537
7538         * config/i386/i386.md (tablejump): Make an expander; handle
7539         pic relative addressing here.
7540         (tablejump_1): Rename from tablejump_pic.
7541         (casesi): Remove.
7542
7543 2001-08-19  Richard Henderson  <rth@redhat.com>
7544
7545         * regclass.c (fix_register): Fix typo.
7546
7547 2001-08-18  Richard Henderson  <rth@redhat.com>
7548
7549         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
7550         (struct _Unwind_Context): Expand br_loc to hold it.
7551         (uw_frame_state_for): Handle leaf functions better.
7552         (uw_update_reg_address): Update for br_loc change.
7553
7554 2001-08-18  Richard Henderson  <rth@redhat.com>
7555
7556         * crtstuff.c: Move list heads before code that uses them.
7557         (__JCR_LIST__): Remove initial null.
7558         (frame_dummy, __frame_dummy): Do java registration here ...
7559         (__do_global_ctors_aux): ... not here.
7560
7561         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
7562         (__do_global_dtors_aux): Update to match.
7563         (__JCR_LIST__, __do_jv_register_classes): New.
7564         (.init): Call it.
7565         * config/ia64/crtend.asm (__JCR_END__): New.
7566         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
7567         instead of an indirect LTOFF22 reloc.
7568
7569 2001-08-18  Richard Henderson  <rth@redhat.com>
7570
7571         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
7572         * regclass.c (init_reg_sets_1): Fix typo.
7573         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
7574         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
7575         (ia64_compute_frame_size): Make ar.unat live when in use.
7576         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
7577         for ar.pfs; remove ar.unat handling.
7578         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
7579         call-saved.
7580         (PREDICATE_CODES): Add ar_pfs_reg_operand.
7581         * config/ia64/ia64-protos.h: Update decls.
7582         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
7583         (sibcall_pic): Likewise.
7584
7585 2001-08-18  Richard Henderson  <rth@redhat.com>
7586
7587         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
7588         pred_rel_mutex when searching for insn_group_barrier.
7589         * config/ia64/ia64.md (cycle_display): Combine the expander
7590         and insn patterns.
7591
7592         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
7593         bit before asm as needed.
7594
7595 2001-08-18  Richard Henderson  <rth@redhat.com>
7596
7597         * timevar.def (TV_MACH_DEP): New.
7598         * toplev.c (rest_of_compilation): Use it.
7599         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
7600
7601 2001-08-18  Zack Weinberg  <zackw@panix.com>
7602
7603         * unwind-dw2.c (execute_stack_op): Add default aborts to
7604         the inner switches to prevent warnings.
7605
7606 2001-08-18  Richard Henderson  <rth@redhat.com>
7607
7608         * timevar.h (struct timevar_time_def): Change element type to float.
7609         (ticks_to_msec, clocks_to_msec): Likewise.
7610         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
7611         (get_time): Likewise.
7612         (timevar_print): Adjust zero check and printing to match.
7613
7614 2001-08-18  Zack Weinberg  <zackw@panix.com>
7615
7616         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
7617         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
7618         Eliminate overfull or underfull hboxes.
7619
7620 2001-08-18  Zack Weinberg  <zackw@panix.com>
7621
7622         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
7623
7624 2001-08-18  Zack Weinberg  <zackw@panix.com>
7625
7626         * haifa-sched.c: Convert to target hooks.  Macros replaced
7627         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
7628         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
7629         MD_SCHED_FINISH, and HAVE_cycle_display.
7630         * target-def.h (TARGET_SCHED_ADJUST_COST,
7631         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
7632         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
7633         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
7634         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
7635         New hook #defines to be overridden.
7636         (TARGET_SCHED): Bring them all together.
7637         (TARGET_INITIALIZER): Update.
7638         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
7639         instead of 'struct rtx_def *' throughout.
7640         (struct sched): New set of hooks for the scheduler.
7641         * Makefile.in (haifa-sched.o): Depend on target.h.
7642         * doc/tm.texi: Document the new scheduler hooks, together in
7643         their own section, instead of scattered around.
7644         Fix a bunch of underfull/overfull hboxes.
7645
7646         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
7647         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
7648         sparc.h: Don't define any of the old scheduler macros.
7649
7650         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
7651         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
7652         sparc.c: Create hook functions from code extracted from
7653         corresponding target header, or make existing hooks static, as
7654         appropriate.  Set the appropriate entries in targetm.
7655
7656         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
7657         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
7658         rs6000-protos.h, s390-protos.h, sparc-protos.h:
7659         Remove prototypes for functions which are now static.
7660
7661         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
7662         related gunk; the Haifa scheduler is now the only choice.
7663
7664 2001-08-18  Zack Weinberg  <zackw@panix.com>
7665
7666         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
7667         * genopinit.c: Put floating point divide insns in sdiv_optab.
7668         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
7669         * config/gofast.h, config/c4x/c4x.h,
7670         config/ia64/hpux_longdouble.h, config/mips/mips.h,
7671         config/pa/long_double.h, config/rs6000/sysv4.h,
7672         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
7673         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
7674         (init_optabs): Use init_optabv for overflow-trapping optabs.
7675         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
7676         cmp_optab RTX codes so have_insn_for can find them.
7677
7678         * optabs.c (expand_simple_binop, expand_simple_unop,
7679         have_insn_for, gen_sub3_insn): New interfaces.
7680         * expr.h: Prototype new functions.
7681         (enum optab_methods): Move here from optabs.h.
7682
7683         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
7684         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
7685         Use new functions instead of working directly with optabs.
7686         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
7687         unroll.c: Don't include optabs.h.
7688         * caller-save.c, combine.c, function.c, stmt.c: Just include
7689         insn-codes.h, not optabs.h.
7690         * Makefile.in: Update dependencies.
7691
7692         * combine.c (make_compound_operation, simplify_comparison):
7693         Fix typos testing for this or that instruction.
7694
7695 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
7696
7697         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
7698         generating libgcc.a.
7699
7700 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7701
7702         * except.c (TYPE_HASH): Delete.
7703
7704         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
7705         HOST_WIDE_INT.
7706
7707         * tree.c (TYPE_HASH): Delete.
7708
7709         * tree.h (TYPE_HASH): Define.
7710
7711 2001-08-18  Graham Stott  <grahams@redhat.com>
7712
7713         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
7714         define_split.
7715         (adddi3_internal_2+2): Likewise.
7716         (eh_set_lr_di+1): Likewise.
7717
7718 2001-08-17  Richard Henderson  <rth@redhat.com>
7719
7720         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
7721         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
7722         * dwarf2asm.c: ... here.
7723         * dwarfout.c: Remove them.
7724
7725         * varasm.c (assemble_integer): Add align parameter.
7726         (assemble_real, output_constant, output_constructor): Likewise.
7727         * output.h: Update decls.
7728         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
7729         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
7730         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
7731         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
7732         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
7733         Update all callers.
7734
7735         * final.c (end_final): Abort profile block generation if we
7736         havn't layed it out properly.
7737         * output.h (assemble_eh_integer): Remove stale decl.
7738         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
7739         (min_align): New.
7740         (assemble_integer): Handle unaligned data.
7741         (assemble_real): Abort on unaligned data.
7742         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
7743         anything useful.
7744         (default_dtor_section_asm_out_destructor): Use assemble_align.
7745         (default_named_section_asm_out_constructor): Likewise.
7746         (default_ctor_section_asm_out_constructor): Likewise.
7747         * config/darwin.c (machopic_asm_out_constructor): Likewise.
7748         (machopic_asm_out_destructor): Likewise.
7749         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
7750         (nextstep_asm_out_destructor): Likewise.
7751         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
7752         (vms_asm_out_destructor): Likewise.
7753
7754 2001-08-17  Richard Henderson  <rth@redhat.com>
7755
7756         * config/mips/iris6.h (TARGET_IRIX6): New.
7757         (current_section_name, current_section_flags): New.
7758         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
7759         (MAX_OFILE_ALIGNMENT): New.
7760         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
7761         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
7762         (copy_file_data): Split out from
7763         (mips_asm_file_end): ... here.
7764         (mips_asm_file_start): Remove extra .section directive.  Use
7765         tmpfile instead of mips_make_temp_file.
7766         (mips_unique_section): Use const char * as needed for warnings.
7767         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
7768         re-add align parameter.
7769         (iris6_asm_named_section): New.
7770         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
7771         (iris6_asm_output_align, iris6_section_align_1): New.
7772         (iris6_asm_file_start, iris6_asm_file_end): New.
7773         * config/mips/mips-protos.h: Update decls.
7774
7775 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
7776
7777         * doc/install.texi (Install GCC): Add links to build status pages.
7778         (Specific): Ditto.
7779         (Final install): Ditto; request updates for specific info
7780
7781 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
7782
7783         * cpperror.c (print_location):  Don't take a file name; use the
7784         line map instead.
7785         (_cpp_begin_message): Similarly.
7786         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
7787         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
7788         (cpp_pedwarn_with_file_and_line): Remove.
7789         * cppfiles.c (stack_include_file): Update; set filename to stdin
7790         here when appropriate.
7791         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
7792         (_cpp_begin_message): Don't take a file name.
7793         * cppinit.c: Add comment.
7794         * cpplex.c: Fix end-of-directive indicator.
7795         * cpplib.c: Don't include intl.h.
7796         (run_directive, do_diagnostic): Update.
7797         (do_line): Update to not use nominal_fname.
7798         (cpp_push_buffer): Don't take a filename.
7799         * cpplib.h (struct ht): Remove.
7800         (cpp_push_buffer): Don't take a filename.
7801         (cpp_pedwarn_with_file_and_line): Remove.
7802         * cppmacro.c (struct cpp_macro): Remove file.
7803         (builtin_macro): Update.
7804         (_cpp_create_definition): Update.
7805         * cppmain.c: Correct comment.
7806         * fix-header.c (read_scan_file): Update.
7807
7808 2001-08-17  Kazu Hirata  <kazu@hxi.com>
7809
7810         * sbitmap.c: Fix comment formatting.
7811         * sched-deps.c: Likewise.
7812         * sibcall.c: Likewise.
7813         * simplify-rtx.c: Likewise.
7814         * ssa.c: Likewise.
7815         * ssa-ccp.c: Likewise.
7816         * stor-layout.c: Likewise.
7817         * timevar.c: Likewise.
7818         * toplev.c: Likewise.
7819         * unwind-dw2.c: Likewise.
7820         * unwind-dw2-fde.c: Likewise.
7821         * varasm.c: Likewise.
7822
7823 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7824
7825         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
7826         or larger than an integer in memory.
7827
7828 2001-08-17  Zack Weinberg  <zackw@panix.com>
7829
7830         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
7831         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
7832         * rtl.h: Don't forward-declare union tree_node here.  Don't
7833         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
7834         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
7835         and tree respectively.
7836         * tree.h: Don't forward-declare struct rtx_def here.  Don't
7837         typedef tree here.  Change all uses of struct rtx_def *,
7838         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
7839         and tree respectively.
7840
7841 2001-08-17  Richard Henderson  <rth@redhat.com>
7842
7843         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
7844         config/mips/openbsd.h: Fix typos last change.
7845
7846 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7847
7848         * doc/invoke.texi (Optimize Options): The default for
7849         -finline-limit is 600.
7850
7851 2001-08-17  Richard Henderson  <rth@redhat.com>
7852
7853         * varasm.c (text_section): Allow TEXT_SECTION to override the
7854         printing of TEXT_SECTION_ASM_OP.
7855         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
7856         (DATA_SECTION, BSS_SECTION): Remove.
7857         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
7858         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
7859         Rename from s/_NAME//.
7860         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
7861         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
7862         (TEXT_SECTION): ... here.  New.
7863         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
7864         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
7865         * config/mips/openbsd.h: Likewise.
7866         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
7867         (mips_asm_file_end): Likewise test.
7868         (mips_output_function_epilogue): Likewise.  Switch back to data
7869         section after emitting the function.
7870
7871         * doc/tm.texi (Sections): Document TEXT_SECTION.
7872
7873 2001-08-17  Richard Henderson  <rth@redhat.com>
7874
7875         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
7876         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
7877
7878 2001-08-17  Richard Henderson  <rth@redhat.com>
7879
7880         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
7881         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
7882         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
7883         Add aligned attribute.
7884
7885 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
7886
7887         * config/sh/sh.md: Add modes to unspecs in first insn to match
7888         those in the second.
7889
7890         * Makefile.in: Fix collect2 copy for Cygwin.
7891
7892 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
7893
7894         Install the proper patch.
7895         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
7896         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
7897         (expand_function_start): Likewise.
7898         * stmt.c (expand_decl): Likewise.
7899         * varasm.c (make_decl_rtx): Likewise.
7900
7901 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
7902
7903         * final.c: Undo my previous accidental checkin.
7904         * output.h: Likewise.
7905         * tm.texi: Likewise.
7906
7907 2001-08-16  Richard Henderson  <rth@redhat.com>
7908
7909         * varasm.c (named_section_flags): Remove align parameter.
7910         * varasm.c, dwarf2out.c: Update all callers.
7911         * output.h: Update prototypes.
7912
7913         * target.h (target.asm_out.named_section): Remove align parameter.
7914         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
7915         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
7916         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
7917         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
7918         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
7919
7920         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
7921         (get_named_section_flags, set_named_section_flags): New.
7922         (named_section_flags): Use them.
7923         (named_section): Do decl vs section flags check here...
7924         (default_section_type_flags): ... not here.
7925         (init_varasm_once): Create in_named_htab.
7926         (resolve_unique_section): Mark reloc unused.
7927
7928 2001-08-16  Richard Henderson  <rth@redhat.com>
7929
7930         * varasm.c (force_const_mem): Keep pool alignment in bits.
7931         (output_constant_pool): Use assemble_align.
7932
7933 2001-08-16  Zack Weinberg  <zackw@panix.com>
7934
7935         * doc/tm.texi: Remove extra @table command.
7936
7937 2001-08-16  Zack Weinberg  <zackw@panix.com>
7938
7939         * final.c (shorten_branches): Clear the end of the label_align
7940         array only if we made it larger.  Break up messy expressions
7941         for clarity.
7942
7943         * diagnostic.c (internal_error): Check for error recursion
7944         before doing ICE suppression.
7945
7946         * timevar.c: Timing variables now count in milliseconds.
7947         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
7948         (get_time): Not here.
7949         (timevar_print): Don't print any timer whose user, cpu, and
7950         wall times are all zero as displayed.
7951         * timevar.h: Update comment aboout units.  Make timevar
7952         counters unsigned.
7953
7954 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
7955
7956         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
7957         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
7958         (expand_function_start): Likewise.
7959         * stmt.c (expand_decl): Likewise.
7960         * varasm.c (make_decl_rtx): Likewise.
7961
7962 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
7963
7964         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
7965         (finalize_record_size): Don't set TYPE_USER_ALIGN.
7966
7967 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7968
7969         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
7970         variables.
7971
7972 2001-08-16  Andreas Jaeger  <aj@suse.de>
7973
7974         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
7975         prototype.
7976
7977 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
7978
7979         * rtl.h (only_sets_cc0_p): New prototype.
7980         * jump.c (sets_cc0_p): Handle INSN.
7981         (only_sets_cc0_p): New function.
7982         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
7983         (tidy_fallthru_edge): Likewise.
7984         * integrate.c (copy_insn_list): Likewise.
7985         * unroll.c (unroll_loop): Likewise.
7986         (copy_loop_body): Likewise.
7987
7988 2001-08-15  Jason Eckhardt  <jle@redhat.com>
7989
7990         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
7991
7992 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
7993
7994         * predict.c (struct block_info_def): Remove nvisited.
7995         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
7996         (estimate_bb_frequencies): Call mark_dfs_back_edges.
7997
7998         * i386.c (ix86_agi_depdendant): Lea causes AGI only on the Pentium
7999         (ix86_adjust_cost): Teach scheduler that latency to load operand can
8000         be masked.
8001
8002 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
8003
8004         * predict.def: Update hitrates.
8005
8006 2001-08-15  Richard Henderson  <rth@redhat.com>
8007
8008         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
8009
8010 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
8011
8012         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
8013         note from its associated jump.
8014
8015 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
8016
8017         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
8018         also on 64-bit s390x targets.
8019
8020 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
8021
8022         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
8023         function.
8024         (arm_expand_prologue): Handled nested functions which take a
8025         variable argument list.
8026         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
8027         macro with an invocation of
8028         arm_compute_initial_elimination_offset.
8029         * config/arm/arm-protos.h: Prototype
8030         arm_compute_initial_elimination_offset.
8031
8032 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8033
8034         * doc/install.texi (Specific, avr): Fix markup.
8035         (Specific, c4x): Ditto.
8036
8037 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
8038
8039         * predict.c (dump_prediction): Change `bool' parameter to `int'.
8040
8041 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
8042
8043         * Makefile.in (OBJS): Add rtl-error.o
8044         (rtl-error.o): New rule.
8045         (diagnostic.o): Adjust dependency.
8046         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
8047         error_for_asm, _fatal_insn, _fatal_insn_not_found,
8048         warning_for_asm): Move to...
8049         rtl-error.c: ...here.  New file.
8050
8051 2001-08-14  Richard Henderson  <rth@redhat.com>
8052
8053         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
8054         if USING_SJLJ_EXCEPTIONS.
8055
8056 2001-08-14  Steve Ellcey <sje@cup.hp.com>
8057
8058         * tlink.c (scan_linker_output): Check string for unsatisfied in
8059         addition to undefined and unresolved.
8060
8061 2001-08-14  Graham Stott  <grahams@redhat.com>
8062
8063         * libgcc2.c (*): Replace EH_FRAME_SECTION with
8064         EH_FRAME_SECTION_NAME.
8065
8066 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
8067
8068         * genattrtab.c (simplify_test_exp_in_temp): New function.
8069         (simplify_test_exp): Avoid explicit use of temporary obstack.
8070         (simplify_cond, insert_right_side, evaluate_eq_attr,
8071         simplify_and_tree, simplify_or_tree, eliminate_known_true):
8072         Use simplify_test_exp_in_temp.
8073         (optimize_attrs): Iterate until expression stabilizes.
8074
8075 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
8076
8077         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
8078         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
8079
8080 2001-08-13  Richard Henderson  <rth@redhat.com>
8081
8082         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
8083         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
8084         * config/arm/conix-elf.h: Likewise.
8085
8086 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
8087
8088         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
8089         in gcc.c.
8090         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
8091
8092         * gcse.c (hash_scan_set): Expressions that are set as part of
8093         jump instructions are not available.
8094
8095 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
8096
8097         * config/s390/s390.c (print_operand, s390_function_prologue,
8098         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
8099
8100 2001-08-13  Richard Henderson  <rth@redhat.com>
8101
8102         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
8103         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
8104         * doc/tm.texi (Exception Region Output): Document it.
8105
8106 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
8107
8108         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
8109         DWARF2 instead of stabs by default.
8110
8111 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
8112
8113         * config/rs6000/rs6000.c: Include optabs.h.
8114
8115 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
8116
8117         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
8118         save/restore routines.
8119         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
8120
8121 2001-08-13  Andreas Jaeger  <aj@suse.de>
8122
8123         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
8124         the english is correct.
8125
8126 2001-08-13  Zack Weinberg  <zackw@panix.com>
8127
8128         * expr.h: Split out optab- and libfunc-related code to...
8129         * optabs.h, libfuncs.h: ... these new headers.
8130
8131         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
8132         (OPTABS_H): New.
8133         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
8134         dependencies.
8135         * mkconfig.sh: Don't include insn-codes.h from config.h.
8136
8137         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
8138         enum insn_code is available.  Move reload_in_optab and
8139         reload_out_optab array declarations to optabs.h.
8140         * regmove.c (gen_add3_insn): Move to optabs.c, export from
8141         there, prototype in expr.h.
8142         * gencodes.c: Cleanup: zap global variables, don't use
8143         printf where puts will do, don't bother defining MAX_INSN_CODE
8144         which nothing uses, let CODE_FOR_nothing get its value implicitly.
8145
8146         * genemit.c, genopinit.c: Include optabs.h in generated file.
8147         * genoutput.c: Include insn-codes.h in generated file.
8148         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
8149         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
8150         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
8151         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
8152         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
8153         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
8154         Include optabs.h.
8155         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
8156         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
8157         config/m88k/m88k.c, config/sparc/sparc.c:
8158         Include libfuncs.h.
8159         * reload.c: Include expr.h and optabs.h before reload.h.
8160         * config/alpha/alpha.c: Include tree.h before reload.h.
8161         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
8162         and reload.h in that order.
8163         * config/sparc/sparc.c: Include debug.h.
8164         * recog.c: Include insn-codes.h.
8165
8166 2001-08-13  Andreas Jaeger  <aj@suse.de>
8167
8168         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
8169         s390*linux.
8170
8171 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
8172
8173         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
8174         * gcc.c (init_spec): Fix typo in comment.
8175         * varasm.c (data_section): Fix typo in comment.
8176
8177 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
8178
8179         * predict.c (dump_prediction): New argument "USED".
8180         (combine_predictions_for_insn): Determine the used heuristics,
8181         output the case no heuristic applied.
8182         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
8183
8184 2001-08-13  Andreas Jaeger  <aj@suse.de>
8185
8186         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
8187         register %rip.
8188
8189 2001-08-13  Kazu Hirata  <kazu@hxi.com>
8190
8191         * jump.c: Fix formatting.
8192
8193 2001-08-13  Kazu Hirata  <kazu@hxi.com>
8194
8195         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
8196         length.
8197
8198 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
8199
8200         * loop.c (check_dbra_loop): Use condjump_label to compute
8201         jump_label.
8202
8203         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
8204         to better document the files they're in.
8205
8206 2001-08-12  Zack Weinberg  <zackw@panix.com>
8207
8208         * recog.h (struct insn_operand_data): Shrink 'mode' field
8209         to 16 bits.
8210
8211 2001-08-12  Kazu Hirata  <kazu@hxi.com>
8212
8213         * gcc.c: Fix comment formatting.
8214         * gccspec.c: Likewise.
8215         * gcov.c: Likewise.
8216         * gcse.c: Likewise.
8217         * genemit.c: Likewise.
8218         * gengenrtl.c: Likewise.
8219         * genrecog.c: Likewise.
8220         * gensupport.c: Likewise.
8221         * ggc-page.c: Likewise.
8222         * global.c: Likewise.
8223         * graph.c: Likewise.
8224         * ifcvt.c: Likewise.
8225         * integrate.c: Likewise.
8226         * lcm.c: Likewise.
8227         * libgcc2.c: Likewise.
8228         * loop.c: Likewise.
8229         * mbchar.c: Likewise.
8230         * optabs.c: Likewise.
8231         * predict.c: Likewise.
8232         * prefix.c: Likewise.
8233         * profile.c: Likewise.
8234         * protoize.c: Likewise.
8235         * real.c: Likewise.
8236         * recog.c: Likewise.
8237         * regclass.c: Likewise.
8238         * regmove.c: Likewise.
8239         * reg-stack.c: Likewise.
8240         * reload1.c: Likewise.
8241         * resource.c: Likewise.
8242         * rtlanal.c: Likewise.
8243         * rtl.c: Likewise.
8244
8245 2001-08-12  Kazu Hirata  <kazu@hxi.com>
8246
8247         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
8248         a tree representing a constant is passed to the macro.
8249
8250 2001-08-12  Richard Henderson  <rth@redhat.com>
8251
8252         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
8253         (rs6000_elf_asm_out_destructor): New.
8254         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
8255         (DTORS_SECTION_ASM_OP): Remove.
8256         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8257         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
8258
8259 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
8260
8261         Revert:
8262         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8263         * gcc.c (set_collect_gcc_options): New function, split out from
8264         main.
8265         Ignore elided switches.
8266         (do_spec_1): Invoke before executing command.
8267         (set_input): Export.
8268         Move declaration ...
8269         * gcc.h (set_input): ... here.
8270         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
8271         file.
8272
8273 2001-08-12  Richard Henderson  <rth@redhat.com>
8274
8275         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
8276         thinko wrt TARGET_RELOCATABLE.
8277
8278 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
8279
8280         * fix-header.c (cb_file_change): Update prototype.
8281
8282 2001-08-11  Zack Weinberg  <zackw@panix.com>
8283
8284         * toplev.c (set_float_handler): Make static.
8285         * toplev.h: Don't prototype set_float_handler.
8286
8287         * simplify-rtx.c: Don't include setjmp.h.
8288         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
8289         New functions.
8290         (simplify_unary_operation, simplify_binary_operation): Use them,
8291         via do_float_handler.
8292
8293         * fold-const.c: Don't include setjmp.h.
8294         (exact_real_inverse_1): New function.
8295         (exact_real_inverse): Use it, via do_float_handler.
8296
8297         * varasm.c: Don't include setjmp.h.
8298         (assemble_real_1): New function.
8299         (assemble_real): Use it, via do_float_handler.
8300         Call internal_error if we get a trap here.
8301
8302         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
8303         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
8304
8305 2001-08-11  Zack Weinberg  <zackw@panix.com>
8306
8307         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
8308         STACK_BOUNDARY if not already defined.
8309
8310         * calls.c, function.c, reload1.c, explow.c: Don't default
8311         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
8312         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
8313
8314         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
8315         to run-time test.
8316
8317         * doc/tm.texi: Document that STACK_BOUNDARY is required;
8318         clarify difference between it and PREFERRED_STACK_BOUNDARY.
8319
8320 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
8321
8322         * cppmacro.c (enter_macro_context): Push macro expansions even
8323         if empty.
8324
8325 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8326
8327         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
8328         (rs6000_elf_section_type_flags): Actually return a value.
8329
8330 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
8331
8332         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
8333         Clean up code: add missing comments and prototypes, fix warnings,
8334         remove obsolete code, fix spacing to conform to coding style.
8335
8336 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
8337
8338         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
8339         and TARGET_ASM_CLOSE_PAREN.
8340         (regclass_map): CC register belongs to class NO_REGS.
8341         (legitimize_pic_address): Don't generate unnecessary moves
8342         (to avoid confusing loop optimization).
8343         (check_and_change_labels): Replace jump_long by indirect_jump.
8344         (s390_final_chunkify): Don't start a new literal pool on section
8345         switch in 64-bit code.
8346         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
8347
8348         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
8349         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
8350         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
8351         modes correctly.
8352         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
8353         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
8354         (CONST_COSTS): Fixed incorrect costs.
8355
8356         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
8357         Use emit_jump instead of emit_jump_insn (gen_jump).
8358         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
8359         (to avoid confusing flow analysis).
8360         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
8361         (casesi, casesi_jump): New.
8362         (jump_long): Removed.  Functionality merged into indirect_jump.
8363         (indirect_jump): Accept address_operand, not just register_operand.
8364         (cjump_long, icjump_long): Use same logic as indirect_jump.
8365         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
8366         Fixed broken setjmp/longjmp handling.
8367         (do_builtin_setjmp_setup): Removed.
8368
8369         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
8370         broken GNU as versions that don't accept .quad with large
8371         negative values.  Use hexadecimal output instead.
8372         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
8373         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
8374         FUNCTION_EPILOGUE): Removed.  Now in targetm.
8375
8376         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
8377
8378         * config/s390/fixdfdi.h: Add missing copyright statement.
8379         Fix type conflicts on 64-bit.  Add missing SFmode routines.
8380
8381         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
8382         email address.
8383
8384 2001-08-11  Richard Henderson  <rth@redhat.com>
8385
8386         * rtl.h (REG_EH_RETHROW): Remove.
8387         * rtl.c (reg_note_name): Update.
8388         * combine.c (distribute_notes): Don't check for it.
8389
8390 2001-08-11  Richard Henderson  <rth@redhat.com>
8391
8392         * combine.c (distribute_notes): Place REG_SETJMP.
8393
8394 2001-08-11  Richard Henderson  <rth@redhat.com>
8395
8396         * doc/extend.texi (Arrays and pointers implementation): Discourage
8397         relying on sign-extension of pointers.
8398
8399 2001-08-11  H.J. Lu <hjl@gnu.org>
8400
8401         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
8402         in_dtors.
8403         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
8404         RDATA_SECTION_ASM_OP.
8405
8406 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8407
8408         * doc/install.texi (Specific, c4x): Fix cross-reference to the
8409         main manual to work both for info and HTML versions.
8410
8411 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
8412             Matt Kraai <kraai@alumni.carnegiemellon.edu>
8413
8414         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
8415         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
8416         (struct cpp_pool): New member first.
8417         * cppinit.c (append_include_chain): Plug memory leaks.
8418         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
8419         Allocate pragma structures from the (aligned) macro pool to
8420         avoid leaking memory.
8421         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
8422         so we don't leak memory.
8423         * hashtable.c (ht_destroy): New.
8424         * hashtable.h (ht_destroy): New.
8425
8426 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
8427             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8428
8429         * c-lex.c (map): Make const.
8430         (cb_file_change): Update for callback passing a line map.
8431         Don't assume we have a previous map.  Remove sanity check
8432         about popping too many files.
8433         * cpperror.c (print_location): Make map const.
8434         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
8435         (cpp_make_system_header): Similarly.
8436         (search_from): Similarly.
8437         (_cpp_execute_include): Don't remember where we came from.
8438         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
8439         (struct cpp_reader): Make map const.
8440         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
8441         * cpplib.c (do_line): Update; line maps now hold sysp.
8442         (cpp_push_buffer): Similarly.
8443         (_cpp_do_file_change): Similarly; callback with map instead.
8444         (cpp_get_line_maps): Constify return value.
8445         (_cpp_pop_buffer): Update.
8446         * cpplib.h (struct cpp_file_change): Remove.
8447         (struct cpp_callbacks): Update.
8448         (cpp_get_line_maps): Constify return value.
8449         * cppmacro.c (_cpp_create_definition): Update.
8450         * cppmain.c (struct printer): Constify map.
8451         (maybe_print_line): Similarly.
8452         (print_line): Similarly.  Deduce flags 1 and 2 here.
8453         (cb_file_change): Update.
8454         * line-map.c (free_line_maps): Warn regardless.
8455         (add_line_map): Return pointer to const.  When passed NULL to_file
8456         with LC_LEAVE, use the obvious values for the return point so the
8457         caller doesn't have to figure them out.
8458         (lookup_line): Return pointer to const.
8459         (print_containing_files): Take pointer to const.
8460         * line-map.h (struct line_map): New members reason, sysp.
8461         (add_line_map): Return pointer to const.
8462         (lookup_line): Similarly.
8463         (print_containing_files): Take pointer to const.
8464
8465 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
8466             Richard Henderson  <rth@redhat.com>
8467
8468         * regmove.c (regmove_optimize): Avoid setting a register twice in
8469         a parallel set.
8470
8471 2001-08-10  Richard Henderson  <rth@redhat.com>
8472
8473         * doc/extend.texi (Arrays and pointers implementation): Document
8474         behavior of pointer/integer conversion.
8475
8476 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
8477
8478         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
8479
8480 2001-08-10  Richard Henderson  <rth@redhat.com>
8481
8482         * doc/extend.texi (C Implementation): New chapter.
8483         * doc/gcc.texi (Top): Link it in.
8484
8485 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
8486
8487         * doc/install.texi (Specific): Fix CVS merge botch.
8488
8489 2001-08-10  Richard Henderson  <rth@redhat.com>
8490
8491         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
8492         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
8493
8494 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
8495
8496         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
8497         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
8498         this macro is now required.
8499
8500         * cselib.c (cselib_process_insn), flow.c (propagate_block),
8501         loop.c (find_and_verify_loops), reload.c (reload): Check
8502         for rtx code of CALL_INSN, not CALL, when deciding if we
8503         need to check for REG_SETJMP note.
8504
8505         * gcse.c (compute_hash_table, compute_store_table): Update
8506         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
8507         logic.
8508
8509         * config/avr/avr.c: Fix typo.
8510         * config/convex/convex.c (expand_movstr): Use adjust_address.
8511         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
8512         variable.
8513         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
8514         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
8515         Fix typo.
8516         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
8517         Do define STACK_BOUNDARY.
8518         * config/i370/i370.c: Include expr.h.
8519         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
8520         config/pa/som.h, config/v850/v850.h: Take in_ctors and
8521         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
8522         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
8523         * config/m88k/m88k.c: Include c-tree.h after expr.h.
8524         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
8525         * config/romp/romp.c: Include expr.h after tree.h.
8526         Include toplev.h.
8527         (output_fpop): Use xmalloc, not oballoc.
8528         * config/we32k/we32k.c: Include expr.h.
8529
8530 2001-08-10  Kazu Hirata  <kazu@hxi.com>
8531
8532         * config/h8300/h8300.h: Fix formatting.
8533
8534 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
8535
8536         * c-common.h (RETURN_NULLIFIED_P): Lose.
8537         * c-semantics.c (genrtl_return_stmt): Don't check it.
8538
8539 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
8540
8541         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
8542         (mips_annotate_frame_insn): New function.
8543         (mips_emit_frame_related_store): New function.
8544         (save_restore_insns): Don't mark instructions that set up the base
8545         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
8546         the store instructions instead.
8547         (mips_expand_prologue): If the stack size is moved into a temporary
8548         register, do not mark that move as frame-related.  Add a
8549         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
8550
8551 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
8552
8553         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
8554         stack slot as unchanging if current_function_calls_eh_return.
8555
8556 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
8557
8558         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
8559         access the second half of the TFmode scratch operand.
8560
8561 2001-08-10  Anthony Green  <green@redhat.com>
8562
8563         * java/class.c (emit_register_classes): Conditionalize code on
8564         JCR_SECTION_NAME.
8565
8566 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8567
8568         * doc/install.texi (Specific, avr): Fix cross-reference to the
8569         main manual to work both for info and HTML versions.
8570
8571 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8572
8573         * stmt.c (expand_null_return_1): Remove code to generate simple returns
8574         and "use_goto" argument.
8575         (expand_null_return, expand_value_return): Update all callers.
8576         * function.c (expand_function_end): Remove code to generate simple
8577         return.
8578         * config/vax/vax.md (epilogue): New expander for function return.
8579         * doc/md.texi (epilogue): Remove "if defined".
8580
8581 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
8582
8583         * Makefile.in: Partially revert my previous change:
8584         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
8585         of the hashtab.o and safe-ctype.o rules.
8586
8587 2001-08-09  Richard Henderson  <rth@redhat.com>
8588
8589         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
8590         (USE_COLLECT2): Remove duplicate definition.
8591         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
8592         (use_collect2): Remove dead code.
8593         * configure.in (use_collect2): Remove will_use_collect2 and
8594         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
8595         * configure: Rebuild.
8596
8597         * target.h (targetm.asm_out.constructor): New.
8598         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
8599         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
8600         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
8601         * varasm.c (in_ctors, in_dtors): New.
8602         (assemble_constructor, assemble_destructor): Remove.
8603         (default_stabs_asm_out_destructor): New.
8604         (default_named_section_asm_out_destructor): New.
8605         (dtors_section, default_dtor_section_asm_out_destructor): New.
8606         (default_stabs_asm_out_constructor): New.
8607         (default_named_section_asm_out_constructor): New.
8608         (ctors_section, default_ctor_section_asm_out_constructor): New.
8609         * output.h: Update declarations.
8610         * c-decl.c (c_expand_body): Use target hooks instead of
8611         assemble_constructor and assemble_destructor.
8612         * profile.c (output_func_start_profiler): Likewise.
8613         * objc/objc-act.c (finish_objc): Likewise.
8614         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
8615         for the constructor.
8616         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
8617
8618         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
8619         (DTORS_SECTION_ASM_OP): Likewise.
8620         (__CTOR_LIST__): Use attribute section when possible.
8621         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
8622
8623         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
8624         ASM_OUTPUT_CONSTRUCTOR.
8625
8626         * config/darwin.c (machopic_asm_out_constructor): New.
8627         (machopic_asm_out_destructor): New.
8628         * config/darwin-protos.h: Update declarations.
8629         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8630         (ASM_OUTPUT_DESTRUCTOR): Remove.
8631         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8632         * config/nextstep.c (nextstep_asm_out_constructor): New.
8633         (nextstep_asm_out_destructor): New.
8634         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8635         (ASM_OUTPUT_DESTRUCTOR): Remove.
8636         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8637         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
8638         ASM_OUTPUT_*STRUCTOR.
8639         * config/i386/aix386ng.h: Likewise.
8640
8641         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
8642         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
8643         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
8644         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
8645         * config/lynx.h: Likewise.
8646         * config/netware.h: Likewise.
8647         * config/psos.h: Likewise.
8648         * config/alpha/alpha-interix.h: Likewise.
8649         * config/alpha/elf.h: Likewise.
8650         * config/arc/arc.h: Likewise.
8651         * config/arm/aof.h: Likewise.
8652         * config/arm/coff.h: Likewise.
8653         * config/arm/elf.h: Likewise.
8654         * config/c4x/c4x.h: Likewise.
8655         * config/h8300/h8300.h: Likewise.
8656         * config/i386/cygwin.h: Likewise.
8657         * config/i386/djgpp.h: Likewise.
8658         * config/i386/i386-coff.h: Likewise.
8659         * config/i386/i386-interix.h: Likewise.
8660         * config/i386/sco5.h: Likewise.
8661         * config/i386/vsta.h: Likewise.
8662         * config/i386/win32.h: Likewise.
8663         * config/i960/i960-coff.h: Likewise.
8664         * config/ia64/sysv4.h: Likewise.
8665         * config/m68hc11/m68hc11.h: Likewise.
8666         * config/m68k/coff.h: Likewise.
8667         * config/m68k/mot3300.h: Likewise.
8668         * config/m88k/m88k.h: Likewise.
8669         * config/mcore/mcore-pe.h: Likewise.
8670         * config/mcore/mcore.h: Likewise.
8671         * config/mips/elf.h: Likewise.
8672         * config/mips/elf64.h: Likewise.
8673         * config/mips/iris6.h: Likewise.
8674         * config/pa/pa64-hpux.h: Likewise.
8675         * config/rs6000/sysv4.h: Likewise.
8676         * config/sh/sh.h: Likewise.
8677         * config/sparc/litecoff.h: Likewise.
8678
8679         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
8680         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
8681         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
8682         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8683         (ASM_OUTPUT_DESTRUCTOR): Remove.
8684         * config/a29k/a29k.c: Move include of tree.h.
8685         * config/a29k/udi.h: Delete file.
8686         * config/alpha/alpha.c (vms_asm_out_constructor): New.
8687         (vms_asm_out_destructor): New.
8688         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
8689         (EXTRA_SECTION_FUNCTIONS): Likewise.
8690         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
8691         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8692         * config/c4x/c4x.c: Move include of tree.h.
8693         * config/clipper/clipper.c (clix_asm_out_constructor): New.
8694         (clix_asm_out_destructor): New.
8695         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8696         (ASM_OUTPUT_DESTRUCTOR): Remove.
8697         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8698         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8699         (TARGET_ASM_CONSTRUCTOR): New.
8700         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
8701         (sco_asm_out_constructor): New.
8702         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
8703         * config/i386/svr3gas.h: Remove stack grows up code.
8704         Remove code duplicated from i386/sysv3.h.
8705         (TARGET_ASM_CONSTRUCTOR): New.
8706         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
8707         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
8708         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8709         (TARGET_ASM_CONSTRUCTOR): New.
8710         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
8711         (m68hc11_asm_out_destructor): New.
8712         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
8713         (TARGET_ASM_DESTRUCTOR): New.
8714         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
8715         * config/m68k/dpx2.h: Properly undef all the bits inherited from
8716         config/svr3.h pertaining to section manipulation.
8717         * config/m68k/dpx2g.h: Remove #if 0 code.
8718         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
8719         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
8720         (ASM_OUTPUT_CONSTRUCTOR): Remove.
8721         (TARGET_ASM_CONSTRUCTOR): New.
8722         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
8723         (m88k_svr3_asm_out_constructor): New.
8724         (m88k_svr3_asm_out_destructor): New.
8725         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8726         (ASM_OUTPUT_DESTRUCTOR): Remove.
8727         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8728         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
8729         * config/rs6000/aix.h: Likewise.
8730         * config/mips/rtems64.h: Don't undef removed constructor related bits.
8731         * config/mips/vxworks.h: Likewise.
8732         * config/rs6000/lynx.h: Likewise.
8733         * config/sh/elf.h: Likewise.
8734         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
8735         (DTORS_SECTION_ASM_OP): New.
8736         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8737         (ASM_OUTPUT_DESTRUCTOR): Remove.
8738         * config/sparc/sol2-sld-64.h: Likewise.
8739         * config/vax/vax.c (vms_asm_out_constructor): New.
8740         (vms_asm_out_destructor): New.
8741         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8742         (ASM_OUTPUT_DESTRUCTOR): Remove.
8743         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8744
8745         * doc/tm.texi (@node Initialization): Update.
8746
8747 2001-08-09  Richard Henderson  <rth@redhat.com>
8748
8749         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
8750         (__do_global_dtors_aux): Use gp-relative static data to avoid
8751         one dynamic relocation.
8752         (__do_frame_setup): Register Java classes.
8753         * config/alpha/crtend.asm (__JCR_END__): New.
8754
8755 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
8756
8757         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
8758         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
8759         (GEN, STAGESTUFF): Add new files.
8760         (insn-constants.h, s-constants, tm-preds.h, s-preds,
8761         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
8762         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
8763         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
8764         as well as insn-codes.h and insn-flags.h in config.h; and no
8765         extra headers in tconfig.h and hconfig.h.
8766
8767         * gencodes.c: Eliminate code to generate predicate declarations
8768         or #defines for md-file constants.
8769         * genconstants.c, genpreds.c: New files.
8770
8771         * i386.md: Re-order guard expressions such that TARGET_64BIT
8772         comes first, when this permits better optimization.  Add
8773         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
8774         why this is desirable.
8775
8776 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
8777
8778         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
8779         (find_fde_for_dso): Remove.
8780         (_Unwind_IteratePhdrCallback): New.
8781         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
8782         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
8783
8784 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8785
8786         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
8787         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
8788
8789 2001-08-09  Graham Stott  <grahams@redhat.com>
8790
8791         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
8792         (vis_no_unit): Use it.
8793         (visualize_no_unit): Add the insn only if room exists.
8794
8795 2001-08-09  Graham Stott  <grahams@redhat.com>
8796
8797         * predict.c (estimate_probability): Replace magic numbers with
8798         appropriate enumeration.
8799
8800 2001-08-09  Graham Stott  <grahams@redhat.com>
8801
8802         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
8803         parameter.
8804         (EXTRACT_FLAGS): Likewise.
8805
8806 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
8807
8808         * config/mips/mips.c    (mips_legitimate_address_p): Check for
8809         CONST_INT in last patch.
8810
8811 2001-08-08  Anthony Green  <green@redhat.com>
8812
8813         * java/class.c (emit_register_classes): Use assemble_jcr if
8814         possible.  Keep the original mechanism as a fallback.
8815         * defaults.h (JCR_SECTION_NAME): Define if we have named section
8816         and weak symbol support.
8817         * crtstuff.c (__JCR_LIST__): Define.
8818         (__JCR_END__): Define.
8819         (_Jv_RegiserClasses): Define weak symbol if possible.
8820         (__do_global_ctors_aux): Register classes for ELF targets with
8821         weak symbol support.
8822
8823 2001-08-08  Kazu Hirata  <kazu@hxi.com>
8824
8825         * dbxout.c: Fix comment formatting.
8826         * dependence.c: Likewise.
8827         * df.c: Likewise.
8828         * diagnostic.c: Likewise.
8829         * dominance.c: Likewise.
8830         * doprint.c: Likewise.
8831         * dwarf2out.c: Likewise.
8832         * dwarfout.c: Likewise.
8833         * emit-rtl.c: Likewise.
8834         * except.c: Likewise.
8835         * explow.c: Likewise.
8836         * expmed.c: Likewise.
8837         * expr.c: Likewise.
8838         * flow.c: Likewise.
8839         * fold-const.c: Likewise.
8840         * function.c: Likewise.
8841
8842 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8843
8844         * global.c (retry_global_alloc): Avoid shadowing allocno.
8845
8846 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
8847
8848         * except.c (remove_fixup_regions): Fix typo.
8849
8850 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
8851
8852         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
8853         unsigned HOST_WIDE_INT to avoid warning.
8854         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
8855         * flow.c (set_block_for_new_insns): Likewise.
8856
8857 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
8858
8859         * sibcall.c (return_value_pseudo): New static variable.
8860         (skip_copy_to_return_value): Handle return_value_pseudo.
8861         (call_ends_block_p): Ensure that return_value_pseudo is set.
8862         (optimize_sibling_and_tail_recursive_call): Discover the
8863         load of pseudo return value in alternate exit block.
8864
8865 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
8866
8867         * calls.c (ECF_ALWAYS_RETURN): New constant.
8868         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
8869         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
8870         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
8871         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
8872         * rtl.c (reg_note_name): New name.
8873         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
8874
8875 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
8876
8877         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
8878
8879 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
8880
8881         * alias.c (get_alias_set): Return a previously calculated
8882         alias set for a VAR_DECL.
8883         * function.c (gen_mem_addressof): Calculate the alias set before
8884         touching the RTL.
8885
8886 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
8887
8888         * predict.def: Set hitrates according our experimental run.
8889
8890 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
8891
8892         * i386.h (HARD_REGNO_RENAME_OK): New macro.
8893
8894 2001-08-08  H.J. Lu <hjl@gnu.org>
8895
8896         * config/mips/mips.c (mips_unique_section): New. Copied from
8897         config/mips/elf.h.
8898
8899         * config/mips/mips-protos.h (mips_unique_section): New
8900         prototype.
8901
8902         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
8903
8904         * config/mips/little.h: New. Generic little endian mips
8905         targets. Only mips*-*-linux* is converted to use it so far.
8906
8907         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
8908         (WCHAR_TYPE): Defined
8909         (WCHAR_TYPE_SIZE): Likewise.
8910         (INIT_SUBTARGET_OPTABS): Likewise.
8911         (BSS_SECTION_ASM_OP): Likewise.
8912         (SBSS_SECTION_ASM_OP): Likewise.
8913         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
8914         (ASM_DECLARE_OBJECT_NAME): Likewise.
8915         (UNIQUE_SECTION): Likewise.
8916         (EXTRA_SECTIONS): Likewise.
8917         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
8918         (ASM_OUTPUT_DESTRUCTOR): Likewise.
8919         (ASM_OUTPUT_DEF): Likewise.
8920         (HANDLE_SYSV_PRAGMA): Removed.
8921         (NO_IMPLICIT_EXTERN_C): Likewise.
8922         (TARGET_MEM_FUNCTIONS): Likewise.
8923         (STARTFILE_SPEC): Likewise.
8924         (ENDFILE_SPEC): Likewise.
8925         (LIB_SPEC): Likewise.
8926         (INVOKE__main): Likewise.
8927         (CTOR_LIST_BEGIN): Likewise.
8928         (CTOR_LIST_END): Likewise.
8929         (DTOR_LIST_BEGIN): Likewise.
8930         (DTOR_LIST_END): Likewise.
8931         (SET_ASM_OP): Likewise.
8932         (ASM_OUTPUT_SOURCE_LINE): Likewise.
8933         (ASM_OUTPUT_DEF): Likewise.
8934         (ASM_OUTPUT_IDENT): Likewise.
8935
8936         * config/mips/mips.h (ASM_SPEC): Undefine before define.
8937         (CPLUSPLUS_CPP_SPEC): Likewise.
8938         (ASM_APP_ON) Redefine only if not defined.
8939         (ASM_APP_OFF): Likewise.
8940         (ASM_OUTPUT_SOURCE_LINE): Likewise.
8941         (ASM_OUTPUT_IDENT): Likewise.
8942
8943         * config.gcc: Update tm_file for Linux/mips.
8944
8945 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
8946
8947         * cselib.c (cselib_record_sets): If insn is predicated, turn
8948         sources into IF_THEN_ELSEs.
8949
8950         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
8951         Turn into define_insn_and_split.
8952
8953         * sched-deps.c: Include "cselib.h".
8954         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
8955         Use cselib to turn memory addresses into VALUEs.
8956         (sched_analyze): Call cselib_init/cselib_finish if necessary.
8957         * sched-int.h (struct sched_info): New member USE_CSELIB.
8958         * sched-ebb.c (ebb_sched_info): Initialize it.
8959         * sched-rgn.c (rgn_sched_info): Likewise.
8960         * Makefile.in (sched-deps.o): Update dependencies.
8961
8962         * cselib.h (cselib_subst_to_values): Declare.
8963         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
8964         that have no value and autoincs to be handled by generating a new
8965         dummy value.
8966
8967 2001-08-08  Graham Stott  <grahams@redhat.com>
8968
8969         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
8970         within fixed length SEQUENCE.
8971
8972 2001-08-08  Graham Stott  <grahams@redhat.com>
8973
8974         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
8975         (diagnostic_prefixing_rule): Likewise.
8976         (diagnostic_line_cutoff): Likewise.
8977         (diagnostic_kind_count): Likewise.
8978
8979 2001-08-08  Graham Stott  <grahams@redhat.com>
8980
8981         * alias.c (find_base_decl): Delete redundent assignment.
8982
8983 2001-08-08  Graham Stott  <grahams@redhat.com>
8984
8985         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
8986         (abs): Uppercase and paranthesize macro parameter.
8987         (MEM_DEPENDENCY): Add whitespace.
8988
8989 2001-08-08  Graham Stott  <grahams@redhat.com>
8990
8991         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
8992         failure check for CONST_INT
8993
8994 2001-08-08  Graham Stott  <grahams@redhat.com>
8995
8996         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
8997         (libcall_dead_p): Likewise.
8998
8999         (mark_used_regs): Constify fmt.
9000         (find_use_as_address): Likewise.
9001
9002 2001-08-08  Graham Stott  <grahams@redhat.com>
9003
9004         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
9005          parameter.
9006
9007 2001-08-08  Graham Stott  <grahams@redhat.com>
9008
9009         * combine.c (combine_simplify_rtx): Update comment and
9010         remove erroneous test.
9011
9012 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
9013
9014         * cppinit.c (cpp_finish): Pop the final buffer without comment.
9015         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
9016         take care to avoid multiple no-newline at EOF warnings in that
9017         case.
9018
9019 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
9020
9021         * calls.c (expand_call): Do not emit INSN_SETJMP note.
9022         (emit_library_call_value_1): Likewise.
9023         (emit_call_1): Emit REG_SETJMP note.
9024         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
9025         of INSN_SETJMP
9026         * cselib.c (cselib_process_insn): Likewise.
9027         * flow.c (propagate_block): Likewise.
9028         * loop.c (find_and_verify_loops): Likewise.
9029         * reload.c (find_equiv_regs): Likewise.
9030         * reload1.c (reload): Likewise.
9031         * resource.c (mark_referenced_resources,
9032         mark_set_resources): Likewise.
9033         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
9034         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
9035         * haifa-sched.c (unlink_other_notes): Likewise.
9036         (reemit_notes): Likewise.
9037         * sched-ebb.c (sched_ebb): Likewise.
9038         * sched-rgc.c (sched_region): Likewise.
9039         * rtl.c (note_insn_name): Likewise.
9040         (reg_note_name): Add REG_SETJMP
9041         * rtl.h (reg_note): Add REG_SETJMP.
9042         (insn_note): Remove NOTE_INSN_SETJMP.
9043
9044         * profile.c (branch_prob): Add fake edges for setjmp.
9045
9046 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
9047
9048         * config.gcc: Quote target_cpu_default2 correctly for
9049         powerpc*-*-* targets.
9050
9051 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
9052
9053         * cpplib.h, line-map.h: Update comments.
9054         * cppmain.c (printer_init): Move inline.
9055         (maybe_print_line, print_line): Take a map pointer.
9056         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
9057         (cb_file_change): Don't use prior value of print.map.
9058
9059 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
9060
9061         * doc/install.texi: Document fine-grained multilib configuration.
9062
9063 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
9064
9065         * rtlanal.c (find_first_parameter_load): Call note_stores
9066         only on the instructions.
9067
9068 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
9069
9070         * alias.c (nonlocal_mentioned_p):
9071         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
9072         * calls.c (emit_call_1): Likewise.
9073         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
9074         * cselib.c (cselib_process_insn): Likewise.
9075         * df.c (df_insns_modify): Likewise.
9076         * flow.c (need_fake_edge_p): Likewise.
9077         (propagate_one_insn): Likewise.
9078         * haifa-sched.c (reemit_notes): Likewise.
9079         * integrate.c (copy_insn_list): Likewise.
9080         * jump.c (delete_prior_computation): Likewise.
9081         * local-alloc.c (validate_equiv_mem): Likewise.
9082         * loop.c (scan_loop): Likewise.
9083         * predict.c (estimate_probability): Likewise.
9084         * reload.c (reload): Likewise.
9085         * sched-deps (sched_analyze): Likewise.
9086         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
9087         * gcse.c (compute_hash_table): Likewise.
9088         (mark_call): Likewise.
9089         (store_killed_in_insn): Likewise.
9090
9091 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
9092
9093         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
9094
9095 2001-08-06  Richard Henderson  <rth@redhat.com>
9096
9097         * varasm.c (assemble_gc_entry): Remove.
9098         * output.h: Likewise.
9099
9100 2001-08-06  Richard Henderson  <rth@redhat.com>
9101
9102         * varasm.c (assemble_constructor): Take a symbol_ref and a
9103         priority instead of a bare string.  Move priority handling
9104         here from cp/decl2.c.
9105         * output.h: Update decls.
9106
9107         * c-decl.c (c_expand_body): Update calls to assemble_constructor
9108         and assemble_destructor.
9109         * profile.c (output_func_start_profiler): Likewise.
9110         * objc/objc-act.c (finish_objc): Likewise.
9111         (build_module_descriptor): Return the symbol not the symbol name.
9112
9113 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
9114
9115         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
9116         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
9117         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
9118         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
9119         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
9120         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
9121
9122 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9123
9124         * cpperror.c (print_containing_files): Moved to line-map.c.
9125         (print_location): line-map.c handles re-listing or otherwise.
9126         * cpphash.h (struct lexer_state): Remove next_bol.
9127         (struct cpp_buffer): Remove include_stack_listed.
9128         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
9129         Remove faked buffer handling.
9130         (_cpp_do_file_change): Tweak.
9131         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
9132         * cppmain.c (struct printer): Remove filename.
9133         (print_line, cb_file_change): Update accordingly.
9134         * line-map.c: Include intl.h.
9135         (init_line_maps): Initialize last_listed.
9136         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
9137         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
9138         (print_containing_files): New.
9139         * line-map.h (struct line_maps): New member last_listed.
9140         (print_containing_files, INCLUDED_FROM): New.
9141         * Makefile.in: Update.
9142         * po/POTFILES.in: Add line-map.c.
9143
9144 2001-08-06  Richard Henderson  <rth@redhat.com>
9145
9146         * except.c (convert_from_eh_region_ranges_1): Never mark
9147         USE or CLOBBER insns as throwing.
9148
9149         * expr.c (store_constructor): Don't clobber memory targets.
9150
9151 2001-08-06  Andreas Jaeger  <aj@suse.de>
9152
9153         * profile.c (branch_prob): Remove unused variable insn.
9154
9155         * Makefile.in (local-alloc.o): Add dependency on except.h.
9156
9157         * local-alloc.c: Include except.h for can_throw_internal prototype.
9158
9159 2001-08-06  Richard Henderson  <rth@redhat.com>
9160
9161         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
9162         * function.c (expand_main_function): Implement it.
9163         * doc/tm.texi: Document it.
9164
9165 2001-08-06  Stan Shebs  <shebs@apple.com>
9166
9167         * doc/install.texi: Document powerpc-*-darwin* details.
9168
9169 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
9170
9171         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
9172         (ASM_CPU_SPEC): Move back to rs6000.h
9173         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
9174
9175         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
9176
9177         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
9178         readded.
9179
9180         * config/rs6000/linux64.h: Ditto.
9181
9182         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
9183         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
9184         nothing.
9185
9186         Remove accidently readded definitions of FUNCTION_PROLOGUE,
9187         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
9188
9189         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
9190         to rs6000.h
9191
9192 2001-08-05  Richard Henderson  <rth@redhat.com>
9193
9194         * local-alloc.c (update_equiv_regs): Do not move insns that
9195         can throw.
9196
9197 2001-08-05  Jan Hubicka  <jh@suse.cz>
9198
9199         * Makefile.in (reload1.o): Add dedendancy on except.h
9200         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
9201         prototypes.
9202         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
9203         indicating wehther edges has been cleaned up.
9204         * reload1.c: Inlucde except.h
9205         (fixup_abnormal_edges): Accept deleted insns.
9206         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
9207         after combine.
9208
9209 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9210
9211         * cpplib.c (do_line): Correct line number after pop_buffer.
9212
9213 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
9214
9215         PR preprocessor/3824
9216         * line-map.c: Update comments.
9217         * line-map.h: Update comments.
9218         * tradcif.y: Don't consider large numbers unsigned.
9219
9220 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
9221
9222         PR preprocessor/3081
9223         * c-lex.c (map): New.
9224         (cb_file_change): Update map and use it.
9225         (cb_def_pragma, cb_define, cb_undef): Use map and line.
9226         (c_lex): Update to use map.
9227         * cpperror.c (print_location): Move to using logical line numbers.
9228         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
9229         (cpp_make_system_header): Similarly.
9230         (_cpp_execute_include): Stop line numbering hacks.  Store the
9231         line we will return to.
9232         * cpphash.h (CPP_BUF_LINE): Remove.
9233         (struct cpp_buffer): Remove lineno and pseudo_newlines.
9234         Add map and return_to_line.
9235         (_cpp_do_file_change): Update.
9236         * cppinit.c (cpp_start_read): Update line kludge.
9237         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
9238         (trigraph_ok): Use logical line numbers for diagnostics.
9239         (skip_block_comment): Likewise.
9240         (skip_whitespace): Likewise.
9241         (skip_line_comment): Use pfile->line instead.
9242         (_cpp_lex_token): Update to use logical line numbering exclusively.
9243         Handle BOL locally.  Accept new lines in directives, but keep
9244         pfile->line decremented.  Diagnostics use logical lines.  Update
9245         directive handling.
9246         * cpplib.c (SEEN_EOL): New.
9247         (skip_rest_of_line, check_eol): Use it.
9248         (end_directive): Increase line number when accepting the newline
9249         at the end of a directive.
9250         (run_directive): Simplify.
9251         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
9252         (_cpp_do_file_change): Update to take buffer line number as an
9253         argument, and store the current map in the cpp_reader.  Remove
9254         line number kludges.
9255         (_cpp_do__Pragma): Restore output position after a _Pragma.
9256         (cpp_push_buffer): Don't set output line or lineno.
9257         (_cpp_pop_buffer): Transfer more info from a faked buffer.
9258         Remove line kludge.  Set output_line.
9259         * cppmacro.c (builtin_macro): Update handling of __LINE__.
9260         (parse_arg): Use logical lines.
9261         (save_lookahead_token): Save EOFs too now.
9262         * cppmain.c (struct printer): Fix comments.
9263         (printer_init): Simplify, let caller do errors.
9264         (scan_translation_unit, check_multiline_token, dump_macro): Update.
9265         (maybe_print_line): Simplify.
9266         (print_line): Don't print a linemarker if -P.
9267         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
9268         (cb_file_change): Simplify.
9269         * line-map.h (LAST_SOURCE_LINE): Fix.
9270         (CURRENT_LINE_MAP): New.
9271
9272 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
9273
9274         * doloop.c (doloop_modify_runtime): Properly compute number of
9275         iterations if loop was unrolled.
9276
9277         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
9278         if their CSELIB_VAL_PTRs are.
9279
9280         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
9281         (setup_spill_pointers): Initialize it.
9282         (spill_restore_mem): Set it.
9283         (do_spill, do_restore): Use it to add REG_INC note.
9284         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
9285
9286         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
9287         asms if other insns are available.
9288
9289         * config/ia64/ia64.c (condop_operator): New predicate.
9290         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
9291         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
9292         patterns.
9293
9294         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
9295         temporary register than directly using a MEM.
9296
9297 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
9298
9299         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
9300         parameter in last change.
9301
9302 2001-08-04  Zack Weinberg  <zackw@panix.com>
9303
9304         * sparc.md: Don't use #if inside C test expression.
9305
9306 2001-08-04  Richard Henderson  <rth@redhat.com>
9307
9308         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
9309
9310 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
9311
9312         * cpphash.h (struct cpp_reader): New member directive_line.
9313         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
9314         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
9315         do_pragma): Pass line to callbacks.
9316         (start_directive): Record line of directive.
9317         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
9318         cb_include): Similarly.
9319         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
9320         Similarly.
9321
9322 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
9323
9324         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
9325         comment.
9326
9327 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
9328
9329         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
9330
9331         * reload1.c (fixup_abnormal_edges): New static function.
9332         (reload): Use it.
9333
9334         * flow.c (need_fake_edge_p): New function.
9335         (flow_call_edges_add): Fix handling of noreturn and sibling calls;
9336         avoid call insn to be very last insn in the insn stream.
9337
9338         * profile.c (branch_prob): Call flow_call_edges_add instead of
9339         doing that by hand; cleanup cfg to re-merge basic blocks once
9340         we are done.
9341
9342 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9343
9344         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
9345         are also on line-map.h.
9346         * cppfiles.c (stack_include_file): Update.
9347         * cpphash.h (struct cpp_buffer): New member return_at_eof.
9348         (_cpp_pop_buffer): New.
9349         * cppinit.c (cpp_destroy, cpp_finish): Update.
9350         (do_includes): Mark each buffer to return at EOF.
9351         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
9352         return as requested.
9353         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
9354         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
9355         * cpplib.h (cpp_pop_buffer): Remove.
9356         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
9357         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
9358         buffers.
9359         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
9360         to pop buffers.
9361         (do_preprocessing): Update.
9362         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
9363         * c-parse.in (_yylex): Similarly.
9364         * scan-decls.c (scan_decls): Similarly.
9365         * line-map.h: Update comments.
9366
9367         * objc/Make-lang.in (objc-act.o): Update dependencies.
9368
9369 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9370
9371         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
9372         and soft register for operand 0.
9373         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
9374
9375 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9376
9377         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
9378         register for operand 0.
9379         ("bitcmpqi_z_used"): Allow memory for operand 0.
9380         (split "bitcmpqi"): New split to handle address reg as operand 1.
9381
9382 2001-08-04  Andreas Jaeger  <aj@suse.de>
9383
9384         * gcse.c: Revert Daniel's last patch.
9385
9386 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
9387
9388         * sparc-protos.h: Add prototypes for fp_zero_operand and
9389         reg_or_0_operand.
9390         * sh-protos.h: Add prototype for fpul_operand.
9391
9392 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
9393
9394         * doc/extend.texi (Other Builtins): Fix typo in last change.
9395
9396 2001-08-03  Richard Henderson  <rth@redhat.com>
9397
9398         * target.h (gcc_target): Add asm_out.named_section,
9399         section_type_flags, have_named_sections.
9400         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
9401         (TARGET_HAVE_NAMED_SECTIONS): New.
9402         (TARGET_SECTION_TYPE_FLAGS): New.
9403
9404         * Makefile.in (toplev.o): Depend on TARGET_H.
9405         (varasm.o, dbxout.o): Likewise.
9406         * c-common.c (decl_attributes): Check targetm.have_named_sections
9407         instead of ifdef ASM_OUTPUT_SECTION_NAME.
9408         * dbxout.c (dbxout_function_decl): Likewise.
9409         (dbxout_function_end): Likewise.
9410         * toplev.c (compile_file): Likewise.
9411         * varasm.c (exception_section): Likewise.
9412         * cp/decl2.c (finish_objects): Likewise.
9413
9414         * defaults.h (EH_FRAME_SECTION): Remove.
9415         (EH_FRAME_SECTION_ASM_OP): Remove.
9416         (EH_FRAME_SECTION_NAME): New.
9417         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
9418         (UNIQUE_SECTION_P): Remove.
9419         * dwarf2out.c (SECTION_FORMAT): Remove.
9420         (ASM_OUTPUT_SECTION): Remove.
9421         (output_call_frame_info): Use named_section_flags.
9422         (output_comp_unit, dwarf2out_start_source_file): Likewise.
9423         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
9424         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
9425         * varasm.c (in_eh_frame, eh_frame_section): Remove.
9426         (named_section_flags): New.
9427         (named_section): Use it and targetm.section_type_flags.
9428         (resolve_unique_section): New.
9429         (assemble_start_function): Use it.
9430         (asm_emit_uninitialised, assemble_variable): Likewise.
9431         (default_section_type_flags): New.
9432         (default_no_named_section, default_elf_asm_named_section): New.
9433         (default_coff_asm_named_section, default_pe_asm_named_section): New.
9434         * output.h: Update varasm.c decls.
9435         (SECTION_*): New flags.
9436
9437         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
9438         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
9439
9440         * config/elfos.h (UNIQUE_SECTION_P): Remove.
9441         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
9442         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
9443         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
9444         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
9445         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
9446         * config/mips/elf.h, config/mips/elf64.h: Likewise.
9447         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
9448         * config/pa/pa64-hpux.h,
9449
9450         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
9451         (TARGET_ASM_NAMED_SECTION): New.
9452         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
9453         * config/alpha/vms.h, config/arm/coff.h: Likewise.
9454         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
9455         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
9456         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
9457         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
9458         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
9459         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
9460         * config/i386/sco5.h, config/i386/win32.h: Likewise.
9461         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
9462         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
9463         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
9464         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
9465         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
9466         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
9467         * config/sparc/sysv4.h: Likewise.
9468
9469         * config/nextstep.h: Error until named sections implemented.
9470
9471         * config/a29k/a29k.c (a29k_asm_named_section): New.
9472         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
9473         (vms_section_type_flags, vms_asm_named_section): New.
9474         * config/arm/arm.c (arm_elf_asm_named_section): New.
9475         * config/avr/avr.c (asm_output_section_name): Remove.
9476         * config/avr/avr-protos.h: Update.
9477         * config/c4x/c4x.c (c4x_asm_named_section): New.
9478         * config/h8300/h8300.c (h8300_asm_named_section): New.
9479         * config/i386/i386.c (sco_asm_named_section): New.
9480         * config/i386/winnt.c (SECTION_PE_SHARED): New.
9481         (i386_pe_section_type_flags): New.
9482         (i386_pe_asm_named_section): New.
9483         * config/i386/i386-protos.h: Update.
9484         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
9485         * config/mcore/mcore.c (mcore_asm_named_section): New.
9486         * config/mips/mips.c (iris6_asm_named_section): New.
9487         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
9488         instead of UNIQUE_SECTION_P.
9489         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
9490         (xcoff_asm_named_section): New.
9491         * config/sh/sh.c (sh_asm_named_section): New.
9492         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
9493
9494         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
9495         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
9496         (EH_FRAME_SECTION_NAME): New.
9497         (EXCEPTION_SECTION): New.
9498         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
9499         (DEBUG_*_SECTION): Remove.
9500         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
9501         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
9502         (EH_FRAME_SECTION_ASM_OP): Remove.
9503
9504         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
9505         (ASM_OUTPUT_SECTION_NAME): Remove.
9506         (TARGET_ASM_NAMED_SECTION): New.
9507         (TARGET_HAVE_NAMED_SECTIONS): New.
9508         (TARGET_SECTION_TYPE_FLAGS): New.
9509         (EH_FRAME_SECTION_ASM_OP): Remove.
9510         (EH_FRAME_SECTION_NAME): New.
9511
9512 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
9513
9514         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
9515         for complex expressions when cfun == 0.
9516         * doc/extend.texi: Document that __builtin_constant_p can be
9517         used in data initializers as well as functions.
9518
9519 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
9520
9521         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
9522         variable I locally, instead of expecting a declaration in the
9523         calling context.
9524
9525 2001-08-03  Richard Henderson  <rth@redhat.com>
9526
9527         * except.c (collect_one_action_chain): Add an explicit cleanup
9528         action if regions surrounding a catch were encoded entirely
9529         within the call-site entry.
9530
9531 2001-08-03  Richard Henderson  <rth@redhat.com>
9532
9533         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
9534         don't take REGNO of a non-register.
9535
9536 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9537
9538         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
9539         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
9540         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
9541         (__gthread_mutex_init_function): New function for mutex initialization.
9542
9543 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
9544
9545         * Makefile.in: Revert screwed up commit.
9546
9547 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9548
9549         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
9550         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
9551         merged by linker script to get a final _exit().
9552         (__do_global_dtors): New for destructor handling in specific exit
9553         section.
9554         (__do_global_ctors): New for constructors in specific install section.
9555         (__map_data_section): Map data sections before running constructors.
9556         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
9557         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
9558         (DTORS_SECTION_ASM_OP): Likewise.
9559         (CTORS_SECTION_FUNCTION): Define to force a reference to
9560         __do_global_ctors.
9561         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
9562
9563 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
9564
9565         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
9566
9567         * Makefile.in: Add df.h to gcse.c dependencies.
9568
9569 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9570
9571         * varasm.c (output_constant_def_contents): Use for the length of a
9572         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
9573         depending on which is larger.
9574
9575 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
9576
9577         * gcse.c: Include df.h for use as a dataflow analyzer.
9578         Remove regvec.
9579         Declaration of reg_set_info: gone.
9580         New df_analyzer variable used by store motion.
9581         (reg_set_info): Deleted.
9582         (mark_mem_regs): New function, analyze regs used by a mem.
9583         (store_ops_ok): Use dataflow analyzer results to determine if
9584         necessary regs are changed in the block.
9585         (find_moveable_store): Remove check for symbol ref, we can handle
9586         much more complex expressions now.
9587         (compute_store_table): Remove most of the code, it's unnecessary
9588         now that the dataflow analyzer records the info for us.
9589         (store_killed_after): Add parameter to say whether to do the
9590         store_ops_okay test, used to speed up testing when we already know
9591         the answer, and just want to know if the store itself was killed.
9592         (build_store_vector): Largely rewritten to calculate the various
9593         vectors properly, and somewhat optimized.
9594         (store_motion): Init the df_analyzer, get REG_DEF chains.
9595         Also handle trapping expressions (since mems almost always trap)
9596         (simple_mem): Redefine what a simple mem is.
9597
9598 2001-08-03  DJ Delorie  <dj@redhat.com>
9599
9600         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
9601         set from a constant part of the condition.
9602
9603 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
9604
9605         * mkdeps.c (deps_add_default_target): Make local variable
9606         ``start'' a const char pointer.
9607         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
9608
9609 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9610
9611         * doc/install.texi (Configuration): Fix markup.
9612         (Specific, i?86-*-udk): Likewise.
9613         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
9614         --with-gnu-ld.
9615         Document --enable-threads and --enable-libgcj status.
9616         (Specific, mips-sgi-irix*): Canonicalize triples.
9617         (Specific, mips-sgi-irix5): Warn about problems with this config.
9618         Mention required GNU as patch.
9619         Native assembler problems are fixed.
9620         (Specific, mips-sgi-irix6): Update O32 ABI support status.
9621         Document --enable-threads and --enable-libgcj status.
9622
9623 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
9624
9625         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
9626         of mkinstalldirs.
9627
9628 2001-08-03  Richard Henderson  <rth@redhat.com>
9629
9630         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
9631         constant data.
9632
9633 2001-08-03  Richard Henderson  <rth@redhat.com>
9634
9635         * rtlanal.c (find_first_parameter_load): Stop if we
9636         reach a CODE_LABEL at BOUNDARY.
9637
9638 2001-08-03  Richard Henderson  <rth@redhat.com>
9639
9640         * config/alpha/alpha.md (force_movdi): New insn.
9641         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
9642         Tweek FRP marking of VMS prologue insns.
9643         * config/alpha/vms.h (EPILOGUE_USES): New.
9644
9645 2001-08-02  Richard Henderson  <rth@redhat.com>
9646
9647         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
9648
9649 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
9650
9651         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
9652         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
9653         config/convex/convex.h, config/d30v/d30v.c,
9654         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
9655         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
9656         config/mips/mips.h, config/mn10200/mn10200.h,
9657         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
9658         config/v850/v850.h, config/vax/openbsd.h,
9659         config/vax/openbsd1.h, config/vax/ultrix.h,
9660         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
9661         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
9662         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
9663         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
9664         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
9665         in comments and documentation.
9666
9667 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9668
9669         * line-map.c: New.
9670         * line-map.h: New.
9671         * Makefile.in (line-map.o): New.
9672         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
9673         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
9674         * cpperror.c (print_containing_files): Similarly.
9675         (print_location): Update.  Don't output a space before _Pragma.
9676         * cppfiles.c (stack_include_file): Set to line 1 immediately.
9677         (stack_include_filee, cpp_make_system_header): Update.
9678         (_cpp_execute_include): Get logical line number right for calling
9679         as-yet-unterminated #include.
9680         * cpphash.h (struct cpp_reader): Add line_maps.
9681         (_cpp_do_file_change): Update.
9682         * cppinit.c (cpp_create_reader): Initialize line maps.
9683         (cpp_destroy): Destroy line maps.
9684         (cpp_start_read): Get logical line number right.
9685         * cpplex.c (parse_string): Only warn once for multi-line strings.
9686         Use boolean variable for null warning.
9687         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
9688         already.
9689         (do_include_common): End the directive early.
9690         (do_line): Don't warn about out-of-range lines in preprocessed
9691         source.  Update.  Remove unused variables.
9692         (_cpp_do_file_change): Update for new line mapping.
9693         (pragma_cb): New typedef.
9694         (cpp_register_pragma): Stop looking ahead before calling the
9695         handler.  Clean up.
9696         (do_pragma_system_header): End directive early.
9697         (cpp_get_line_maps): New.
9698         (cpp_pop_buffer): Fudge logical line.  Update.
9699         * cpplib.h: Include line-map.h
9700         (enum cpp_fc_reason): Remove.
9701         (struct cpp_file_change): Update.
9702         (cpp_get_line_maps): New.
9703         * cppmain.c (struct_printer): New member map.
9704         (cb_file_change): Update for new mappings.
9705         * fix-header.c (cb_file_change): Similarly.
9706
9707 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
9708
9709         * Makefile.in (libgcc.mk): Define mkinstalldirs.
9710         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
9711
9712 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
9713
9714         * config/vax/vax.c: include expr.h.
9715
9716 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
9717
9718         * Makefile.in ($(srcdir)/configure): Only rebuild in
9719         maintainer mode.
9720         ($(srcdir)/config.in): Only define in maintainer mode.
9721         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
9722
9723 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
9724
9725         * doc/install.texi (Install GCC: Binaries): Update Bull info.
9726
9727 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9728
9729         * gcc.c (set_collect_gcc_options): New function, split out from
9730         main.
9731         Ignore elided switches.
9732         (do_spec_1): Invoke before executing command.
9733         (set_input): Export.
9734         Move declaration ...
9735         * gcc.h (set_input): ... here.
9736         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
9737         file.
9738
9739 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
9740
9741         Kill -fhonor-std.
9742         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
9743         interaction.
9744         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
9745
9746 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
9747
9748         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
9749         for the unnamed instructions it expands to.
9750
9751 2001-08-02  Richard Henderson  <rth@redhat.com>
9752
9753         * regclass.c (call_really_used_regs): Conditionally define.
9754         (init_reg_sets_1): Don't use it if not defined.
9755         (fix_register): Similarly, don't set it.
9756
9757 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9758
9759         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
9760         Correct comment that had been missed in the previous change.
9761
9762 2001-08-01  Stan Shebs  <shebs@apple.com>
9763
9764         * config/darwin.c (machopic_stub_name): Try matching by name.
9765         (update_stubs): New function.
9766         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
9767         unconditionally.
9768
9769 2001-08-01  Richard Henderson  <rth@redhat.com>
9770
9771         * except.c (output_function_exception_table): Use assemble_align.
9772         * varasm.c (assemble_eh_label): Remove.
9773         (assemble_eh_align, assemble_eh_integer): Remove.
9774
9775 2001-08-01  Robert Lipe  <robertl@caldera.com>
9776
9777         * dwarfout.c: Remove reference to README.DWARF.
9778
9779 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
9780
9781         * regclass.c (call_really_used_regs): New array for registers which
9782         are actually used by a call.
9783         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
9784         new array.
9785         (fix_register): Set call_really_used too.
9786         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
9787         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
9788
9789 2001-08-01  Richard Henderson  <rth@redhat.com>
9790
9791         * read-rtl.c (read_name): Consider \r whitespace.
9792
9793 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
9794
9795         * config.gcc: Recognize powerpc-*-netbsd*.
9796
9797         * doc/install.texi (Host/target specific installation notes for
9798         GCC): Mention powerpc-*-netbsd*.
9799
9800         * config/rs6000/netbsd.h: New file.
9801         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
9802         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
9803         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
9804         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
9805         (TARGET_VERSION): Redefine.
9806
9807         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
9808         mcall-netbsd as a match for mcall-sysv.
9809         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
9810         (ncrti.S, ncrtn.S): New targets.
9811         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
9812
9813         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
9814         "netbsd' as a V4 ABI.
9815         (ASM_SPEC): Check for -mcall-netbsd.
9816         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
9817         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
9818         (LIB_SPEC, ENDFILE_SPEC): Ditto.
9819         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
9820         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
9821         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
9822         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
9823
9824         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
9825         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
9826
9827 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
9828
9829         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
9830         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
9831         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
9832         including "unwind-pe.h".
9833
9834 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
9835
9836         * rs6000.md (define_splits): Kill unused constraints.
9837
9838 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
9839                               Jan Hubicka  <jh@suse.cz>
9840
9841         * function.c (thread_prologue_and_epilogue_insns): Kill code
9842         dealing with non-existent CFG.
9843
9844 2001-08-01  Kazu Hirata  <kazu@hxi.com>
9845
9846         * alias.c: Fix comment formatting.
9847         * bitmap.c: Likewise.
9848         * builtins.c: Likewise.
9849         * calls.c: Likewise.
9850         * c-common.c: Likewise.
9851         * c-decl.c: Likewise.
9852         * c-dump.c: Likewise.
9853         * c-lex.c: Likewise.
9854         * collect2.c: Likewise.
9855         * combine.c: Likewise.
9856         * conflict.c: Likewise.
9857         * cppfiles.c: Likewise.
9858         * cppinit.c: Likewise.
9859         * cpplex.c: Likewise.
9860         * cpplib.c: Likewise.
9861         * cppmacro.c: Likewise.
9862         * cppspec.c: Likewise.
9863         * c-pragma.c: Likewise.
9864         * crtstuff.c: Likewise.
9865         * cse.c: Likewise.
9866         * cselib.c: Likewise.
9867         * c-semantics.c: Likewise.
9868         * c-typeck.c: Likewise.
9869
9870 2001-08-01  H.J. Lu <hjl@gnu.org>
9871
9872         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
9873
9874 2001-08-01  H.J. Lu <hjl@gnu.org>
9875
9876         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
9877
9878 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
9879
9880         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
9881         contextualizing Objective-C class name lookup by the lexer.
9882         (typespec_reserved_nonattr): Disable ObjC class name lookup after
9883         seeing a TYPESPEC.
9884         (protocoldef): Add support for forward @protocol declarations.
9885         (yylexname): Suppress ObjC class name lookup in certain contexts;
9886         re-enable after lookup is complete.
9887         (_yylex): Re-enable ObjC class name lookup when certain
9888         punctuation marks are seen.
9889
9890         * objc/objc-act.c (check_protocol_recursively): New function used
9891         for finding circular dependencies in protocols.
9892         (objc_declare_protocols): New function for handling forward
9893         @protocol declarations.
9894         (receiver_is_class_object): Detect the case when 'self' is used
9895         inside of a class method.
9896         (build_message_expr): Issue a warning if class method is desired
9897         but instance method is found instead.
9898         (conforms_to_protocol): Streamline.
9899         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
9900         protocol Foo, even if 'Bar foo' does not.
9901         (check_protocols): Streamline.
9902         (start_protocol): Add checks for circular and duplicate protocol
9903         definitions.
9904         (encode_aggregate_within): For typedefs of structs, encode the
9905         underlying struct.
9906         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
9907         (objc_declare_protocols): New prototype.
9908
9909 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9910
9911         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
9912         * cpplex.c (handle_newline): Update prototype.  Maintain logical
9913         line number.
9914         (skip_escaped_newlines, skip_block_comment, parse_string):
9915         Update accordingly.
9916         (_cpp_lex_token): Update, and store token position within the token.
9917         * cpplib.h (struct cpp_token): Add line and column entries.
9918         * cppmacro.c (replace_args): Position stringified tokens correctly.
9919
9920 2001-08-01  Andreas Jaeger  <aj@suse.de>
9921
9922         * basic-block.h: Add prototype for last_loop_beg_note.
9923
9924 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
9925
9926         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
9927         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
9928         comment.
9929         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
9930         while handling WITH_CLEANUP_EXPR node. Use second operand calling
9931         expand_decl_cleanup.
9932         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
9933         the first RTX.
9934         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
9935         operand while calling simple_cst_equal.
9936         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
9937         operand is the cleanup expression, the third is the RTL_EXPR.
9938         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
9939
9940 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
9941
9942         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
9943
9944 2001-07-31  matthew green  <mrg@eterna.com.au>
9945
9946         * config.gcc (i386-*-netbsdelf): New description.
9947         * config/i386/netbsd-elf.h: New file.
9948
9949 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
9950
9951         * loop.c (check_dbra_loop): Use single_set to compute
9952         jump_label.
9953
9954 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
9955
9956         PowerPC reorg and support for powerpc64-*-linux*.
9957
9958         Also fixes emitting of constants on 32 bit and 64 bit
9959         platforms.
9960
9961         * config.gcc: powerpc64-*-linux* is a new target.
9962         Things that needed aix.h now also include xcoff.h
9963
9964         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
9965         xcoff.h.
9966         Move AIX specific stuff into aix.h.
9967         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
9968         with more than just XCOFF now.
9969         (SET_ASM_OP): Remove, now defined where needed.
9970         (FUNCTION_PROLOGUE): New macro definition.
9971         (FUNCTION_EPILOGUE): New macro definition.
9972         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
9973
9974         * config/rs6000/xcoff.h: New file.
9975
9976         * config/rs6000/linux64.h: New file.
9977
9978         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
9979
9980 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
9981
9982         * rs6000.c (print_operand_address): Handle ELF syntax.
9983         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
9984         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
9985         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
9986
9987 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
9988
9989         * rs6000.c (rs6000_override_options): Only disable
9990         flag_function_sections for XCOFF.
9991         (exact_log2_cint_operand): New predicate.
9992         (reg_or_{add,sub}_cint64_operand): New predicates.
9993         (add_operand): Compare CONST_INT with fewer function calls.
9994         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
9995         (print_operand, case 'p'): Ensure positive operand.
9996         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
9997         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
9998         (PREDICATE_CODES): Add new predicates.
9999         * rs6000.md (addsi3): Split 32-bit constants more correctly.
10000         (divsi3, modsi3): Ensure positive power-of-2.
10001         (adddi3): Use new predicate.  Split 32-bit constants more
10002         correctly.  Re-arrange splitter to handle any constant.
10003         (subdi3): Use new predicate.
10004         (divdi3, moddi3): Ensure positive power-of-2.
10005         (movdi): Use rs6000_emit_set_const.
10006         (load_toc_v4_pic_di): Delete.
10007
10008 2001-07-31  Graham Stott <grahams@redhat.com>
10009
10010         * function.c (pad_below): Revert 2001-07-26 patch.
10011
10012 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
10013
10014         * reg-stack (convert_regs_1): Fix best edge condition.
10015
10016 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
10017
10018         * jump.c (duplicate_loop_exit_test): Better test for jumps
10019         entering the loop; create loop pre_header.
10020
10021 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
10022
10023         * doc/install.texi: Add s390 and s390x as new targets.
10024         * doc/invoke.texi: Add documentation of S/390 and zSeries
10025         target options.
10026         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
10027
10028 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
10029
10030         * config/m68k/m68k.md: Replace all general_operand with
10031         nonimmediate_operand for all destinations.
10032         * config/m68k/m68k.c (not_sp_operand): Likewise.
10033
10034 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
10035
10036         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
10037
10038 2001-07-30  Richard Henderson  <rth@redhat.com>
10039
10040         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
10041         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
10042
10043 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
10044
10045         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
10046         Add missing doc strings
10047         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
10048         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
10049
10050 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
10051
10052         * i386.c (ix86_output_main_function_alignment_hack): New function.
10053         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
10054
10055         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
10056         edges by EDGE_DFS_BACK flag.
10057         (dump_edge_info): Add dfs_back flag.
10058         * basic-block.h (EDGE_DFS_BACK): New constant.
10059         (mark_dfs_back_edges): Declare.
10060         * alias.c (loop_p): Remove.
10061         (mark_constant_function): Use mark_dfs_back_edges.
10062
10063         * reg-stack.c (block_info_def): Add predecesors counter and stack_out.
10064         (reg_to_stack): Call mark_dfs_back_edges; count the predecesors.
10065         (compensate_edge): Break out from ...
10066         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
10067         (convert_regs_2): Set block_done once block is really done;
10068         Do updating of the predecesors counts.
10069
10070         * toplev.c (rest_of_compilation): Recompute block_for_insn
10071         before post-reload cfg_cleanup.
10072         * function.c (thread_prologue_epilogue_insns):
10073         Call set_block_for_new_insns when emitting prologue directly.
10074
10075 2001-07-30  Andreas Jaeger  <aj@suse.de>
10076
10077         * jump.c: Add prototype for mark_modified_reg.
10078
10079         * cse.c (set_live_p): Add unused attribute.
10080
10081         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
10082         overflow.
10083         (scan_for_source_files): Use long for count to avoid overflow.
10084         (output_data): Likewise.
10085         (output_data): Don't use string concatatenation to silence gcc
10086         -traditional.
10087
10088         * predict.c: Fix typos and grammar.
10089
10090         * gcse.c (insert_insn_end_bb): Remove unused variables.
10091
10092 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
10093
10094         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
10095         (attempt_auto_inc): LIkewise.
10096         (mark_used_reg): Likewise.
10097         (try_pre_increment_1): Likewise.
10098         * regclass.c (regclass): Likewise.
10099         * global.c (allocno_compare): Update comment; change scaling factor.
10100         * local-alloc.c (QTY_CMP_PRI): Likewise.
10101         * regs.h (REG_FREQ_FROM_BB): New.
10102         (REG_FREQ_MAX): Likewise.
10103
10104 2001-07-30  H.J. Lu <hjl@gnu.org>
10105
10106         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
10107         -D_GNU_SOURCE.
10108
10109 2001-07-30  H.J. Lu  (hjl@gnu.org)
10110
10111         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
10112         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
10113         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
10114
10115 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
10116
10117         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
10118         as -mthumb-interwork when -mcpu=arm7 is specified.
10119
10120 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
10121
10122         * predict.def (noreturn, loop branch, loop exit): Mark as first
10123         match heuristics.
10124
10125 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
10126
10127         * combine.c (try_combine): Avoid barrier after noop jumps.
10128
10129 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10130
10131         * cpphash.h (struct cpp_reader): Remove import_warning.
10132         * cpplib.c (skip_rest_of_line): Don't bother turning off
10133         macro expansion.
10134         (parse_include): Move include handling to...
10135         (do_include_common): ... here.  Move import warning from...
10136         (do_import): ... here.
10137         (do_pragma_poison): Don't do a callback for poison identifiers.
10138         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
10139         * cppmain.c (setup_callbacks): Similarly.
10140
10141 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
10142
10143         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
10144         handle multiple sets.
10145         * except.c (sjlj_mark_call_sites): .... here.
10146         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
10147
10148 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
10149
10150         Suggested by Richard Henderson and Richard Kenner:
10151         * combine.c (recog_for_combine): Use the fake recog
10152         only if instruction does not match.
10153         * rtl.h (NOOP_MOVE_INSN_CODE): New.
10154         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
10155
10156         * combine.c (try_combine): Discover noop jump as direct jump.
10157
10158 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
10159
10160         * df.c (df_rd_global_compute): Add successors to worklist, not
10161         current item.
10162         (df_ru_global_compute): Ditto.
10163
10164 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
10165
10166         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
10167         increment REG_N_SETS.
10168
10169 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
10170
10171         * sbitmap.h: New prototype for sbitmap_a_xor_b.
10172
10173         * sbitmap.c (sbitmap_a_xor_b): New function.
10174         ifdef the basic block stuff on IN_GCC.
10175
10176 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10177
10178         * cppexp.c (parse_defined): Always record the macro name.
10179         (lex): Don't worry about identifiers, or special-case
10180         CPP_NOT here.
10181         (_cpp_parse_expr): Figure out at the end of the routine
10182         whether we saw a valid !defined() expression.
10183         * cppfiles.c (stack_include_file): Update for mi_valid.
10184         (_cpp_pop_file_buffer): Similarly.
10185         * cpplex.c (_cpp_lex_token): Similarly.
10186         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
10187         mi_if_not_defined, mi_lexed): Remove.
10188         (mi_valid): New.
10189         * cpplib.c (do_if): Simplify.
10190         (do_endif, push_conditional, _cpp_handle_directive): Update
10191         for renaming of mi_state to mi_valid.
10192 doc:
10193         * cpp.texi: Add index entries for digraphs, and add comment
10194         that C++ refers to them as alternative tokens.
10195
10196 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
10197
10198         * basic-block.h (CLEANUP_PRE_LOOP): New.
10199         * except.c (finish_eh_generation): Update call of cleanup_cfg.
10200         * sibcall.c (optimize_sibling_calls): Likewise.
10201         * toplev.c (rest_of_compilation): Likewise.
10202         * flow.c (try_forward_edges): Take argument MODE;
10203         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
10204         (try_optimize_cfg): Update call of try_forward_edges.
10205
10206 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
10207                                 Jan Hubicka  <jh@suse.cz>
10208
10209         * (validate_replace_rtx_1): Fix simplification of MINUS.
10210
10211 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
10212
10213         PR preprocessor/3669
10214         * cppinit.c (init_dependency_output): Turn off dump requests
10215         if sending dependencies to stdout.
10216
10217 2001-07-28  Richard Henderson  <rth@redhat.com>
10218
10219         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
10220         not optimizing.
10221
10222 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
10223
10224         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
10225
10226 2001-07-28  Kazu Hirata  <kazu@hxi.com>
10227
10228         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
10229         is VAR_DECL first to prevent an ICE.
10230
10231 2001-07-28  Richard Henderson  <rth@redhat.com>
10232
10233         * varasm.c (immed_real_const_1): Don't elide special cases for
10234         nested functions.
10235         (clear_const_double_mem): Clear const_tiny_rtx too.
10236
10237 2001-07-28  Richard Henderson  <rth@redhat.com>
10238
10239         * dwarf2out.c (dw_val_class_offset): New.
10240         (struct dw_ranges_struct, dw_ranges_ref): New.
10241         (ranges_table, ranges_table_allocated): New.
10242         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
10243         (add_AT_offset, add_ranges, output_ranges): New.
10244         (print_die, output_die): Handle dw_val_class_offset.
10245         (attr_checksum, size_of_die, value_format): Likewise.
10246         (gen_lexical_block_die): Handle non-contiguous blocks.
10247         (gen_block_die): Likewise.
10248         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
10249         if needed.  Dump the ranges table.
10250         * final.c (final_start_function): Remove unnecessary notes and
10251         rebuild the block tree before numbering the blocks.
10252         * function.c (reorder_blocks_0): Walk the existing block tree
10253         to unmark all blocks.
10254         (reorder_blocks_1): Create block fragments when duplicate block
10255         notes are seen.
10256         (reorder_fix_fragments): New.
10257         (reorder_blocks): Call it.
10258         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
10259
10260 2001-07-28  Richard Henderson  <rth@redhat.com>
10261
10262         * emit-rtl.c (adjust_address): Make a copy of the memory address.
10263
10264 2001-07-28  Richard Henderson  <rth@redhat.com>
10265
10266         * flow.c (add_to_mem_set_list): New function.
10267         (init_propagate_block_info): Use it.
10268         (mark_set_1): Likewise.
10269         (insn_dead_p): Canonicalize memory address for dead store
10270         comparison.  Allow wider mode stores to kill narrower mode stores.
10271         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
10272         (invalidate_mems_from_set): Don't handle MEMs.
10273
10274 2001-07-28  Kazu Hirata  <kazu@hxi.com>
10275
10276         * config/h8300/h8300.h: Fix formatting.
10277
10278 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
10279
10280         * basic-block.h (EDGE_FREQUENCY): New macro.
10281         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
10282         for new BB/edges.
10283         * flow.c (find_sub_basic_blocks): Likewise.
10284         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
10285         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
10286
10287         * predict.c (DEF_PREDICTOR): New argument FLAGS.
10288         (HITRATE): New macro.
10289         (PRED_FLAG_FIRST_MATCH): New constant.
10290         (predictor_info): New field flgags.
10291         (combine_predictions_for_insn): Use DS theory to combine
10292         probabilities; set the edge probabilities when finished.
10293         (estimate_probability): Avoid duplicated matches
10294         of LOOP_BRANCH heuristics for nested loops; update comment.
10295         * predict.def: Add flags for each prediction, set probabilities
10296         according to B&L paper.
10297         * predict.h (DEF_PREDICTOR): New argument FLAGS.
10298
10299         * profile.c (compute_branch_probabilities):  Cleanup way the edge
10300         probabilities are computed and REG_BR_PROB notes are dropped; if
10301         values does not match, emit error.
10302         (init_branch_prob): Do error instead of warning when profile driven
10303         feedback is missing or corrupt.
10304
10305 2001-07-27  DJ Delorie  <dj@redhat.com>
10306
10307         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
10308         against a constant, try to adjust the compare to have the desired
10309         constant in it so that min/max optimizations happen more often.
10310
10311 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
10312
10313         * flow.c (last_loop_beg_note): New function.
10314         (redirect_edge_and_branch): Use it.
10315         (split_edge): Likewise.
10316
10317         * alias.c (loop_p): Avoid uninitialized memory access.
10318
10319         * flow.c (try_forward_edges): Avoid accessing freed memory.
10320
10321         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
10322         variable access.
10323
10324 2001-07-26  Andrew Haley  <aph@redhat.com>
10325         Joern Rennecke <amylaar@redhat.com>
10326
10327         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
10328         (SUBTARGET_CPP_ENDIAN_SPEC): New.
10329         (SUBTARGET_CPP_SPEC): New.
10330         (CPP_SPEC): Remove.
10331         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
10332         (SUBTARGET_CPP_PTR_SPEC): New.
10333         (CPP_DEFAULT_CPU_SPEC): New.
10334         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
10335         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
10336         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
10337         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
10338         (SUBTARGET_CPP_SPEC): Define as an empty string.
10339
10340 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10341
10342         * doc/install.texi (Configuration): Properly link the host
10343         specific instructions also when generating HTML.
10344
10345 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
10346
10347         * flow.c (redirect_edge_and_branch_force): Test
10348         target->global_live_at_start.
10349
10350 2001-07-26  Richard Henderson  <rth@redhat.com>
10351
10352         * simplify-rtx.c (avoid_constant_pool_reference): Export.
10353         * rtl.h (avoid_constant_pool_reference): Declare it.
10354         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
10355         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
10356
10357 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
10358
10359         * rtl.h (cleanup_barriers): Declare.
10360         * jump.c (cleanup_barriers): New function.
10361         * toplev.c (rest_of_compilation): Call cleanup_barriers
10362         before loop optimizer and after bb_reorder.
10363
10364         * flow.c (back_edge_of_syntactic_loop_p): New.
10365         (split_edge): Use it.
10366
10367 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10368
10369         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
10370
10371 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
10372
10373         * cse.c (cse_process_notes): Replace any registers if the address
10374         remains valid.
10375
10376 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
10377
10378         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
10379         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
10380         (propagate_block): Update prototype.
10381         * flow.c (update_life_info): Simplify the CFG and
10382         recalculate the global regs which are alive when
10383         removing dead code during a global update.
10384         (propagate_block): Return non-zero if an INSN is
10385         deleted.
10386
10387 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10388
10389         * Makefile.in (LIBICONV): Define.
10390
10391 2001-07-26  Catherine Moore  <clm@redhat.com>
10392
10393         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
10394         of conditional to avoid tree checking errors.
10395
10396 2001-07-26  Kazu Hirata  <kazu@hxi.com>
10397
10398         * regmove.c (regmove_optimize): Don't replace a reg with
10399         another reg of a different mode.
10400
10401 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
10402
10403         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
10404         limit length of dependency flush list.
10405         * params.h (MAX_PENDING_LIST_LENGTH): Define.
10406         * sched-int.h  (struct deps): Add pending_flush_length field.
10407         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
10408         has 1 element in it.
10409         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
10410         (sched_analyze): After a jump, if the pending memory flush list is too
10411         large, flush the pending lists.
10412         (init_deps): Initialize pending_flush_length to 0.
10413         * doc/invoke.texi (max_pending_list_length): Document parameter.
10414
10415 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
10416
10417         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
10418         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
10419         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
10420
10421 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10422
10423         * cpphash.h (struct_lexer_state): Delete was_skipping.
10424         Move skipping here from struct cpp_reader.
10425         * cpplex.c (parse_identifier): Update.
10426         (_cpp_lex_token): Don't skip tokens in a directive.
10427         * cpplib.c (struct if_stack): Update.
10428         (start_directive, end_directive): Don't change skipping state.
10429         (_cpp_handle_directive): Update.
10430         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
10431         (do_else, do_endif): Update; only check for excess tokens if not
10432         in a skipped conditional block.
10433         (push_conditional): Update for new struct if_stack.
10434
10435 2001-07-26  Graham Stott  <grahams@redhat.com>
10436
10437         * function.c (locate_and_pad_parm): Also pad initial offset
10438         so that the total argument size also includes the padding.
10439
10440 2001-07-26  Graham Stott <grahams@redhat.com>
10441
10442         * gensupport.c (alter_output_for_insn): Correct enable checking failure
10443         change XSTR to XTMPL.
10444
10445         (process_one_cond_exec): Likewise
10446
10447 2001-07-25  Richard Henderson  <rth@redhat.com>
10448
10449         * varasm.c (assemble_variable): Create DECL_RTL before setting
10450         TREE_ASM_WRITTEN.
10451
10452 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
10453
10454         * predict.c (estimate_probability): Avoid duplicated predictions.
10455
10456         * loop.c (find_and_verify_loops): Grok multiple barriers.
10457
10458 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10459
10460         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
10461
10462         * dbxout.c: Consistently use putc instead of fputc.
10463         (print_wide_int): New function; call instead of direct fprintf.
10464         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
10465         (dbxout_type_fields, dbxout_type_method_1): Likewise.
10466         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
10467         (print_int_cst_octal): Likewise.
10468         (print_octal): Show we wrote characters.
10469         (dbxout_type): Set have_used_extensions in more places.
10470
10471 2001-07-25  Catherine Moore  <clm@redhat.com>
10472
10473         * config/v850/v850.c (v850_va_arg):  Use addr
10474         instead of valist to build incr.
10475
10476 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
10477
10478         * flow.c (delete_dead_jumptables): New function.
10479         (life_analyzis): Call it.
10480         * bb-reorder.c (skip_insns_after_block): Handle contradictory
10481         sequences.
10482
10483 2001-07-25  Richard Henderson  <rth@redhat.com>
10484
10485         * except.c (reachable_handlers): Handle a region being removed
10486         out from under a RESX.
10487
10488 2001-07-25  Richard Henderson  <rth@redhat.com>
10489
10490         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
10491         swap GE/GT if it is an fp comparison.
10492
10493 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
10494
10495         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
10496         operands.
10497
10498 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
10499
10500         * ssa.c (rename_insn_1): Do not wrap an assignment to a
10501         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
10502         glitch.
10503
10504         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
10505         throw an exception.
10506         (visit_expression): When attempting to simplify an expression,
10507         retrieve any modes for arguments before they are simplified
10508         to constants.
10509
10510 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
10511             Janis Johnson  <janis@us.ibm.com>
10512
10513         * stmt.c (expand_goto): A nonlocal goto can be a call too.
10514         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
10515         pointer parameters to match documented usage of nonlocal_goto.
10516         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
10517         parameters to their correct order.
10518         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
10519         parameters to their correct order.
10520
10521 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
10522
10523         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
10524
10525 2001-07-25  Jan Hubicka  <jh@suse.cz>
10526             Richard Henderson  <rth@redhat.com>
10527
10528         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
10529         the sequence.
10530         (make_edges): New argument update_p; populate the edge cache if set.
10531         (find_basic_blocks): Update make_edges invocation.
10532
10533 2001-07-24  Joel Sherrill <joel@OARcorp.com>
10534
10535         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
10536
10537 2001-07-24  Joel Sherrill <joel@OARcorp.com>
10538
10539         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
10540         -Acpu and -Amachine.h.
10541         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
10542         Corrected header to say ELF not a.out.
10543         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
10544         when given -msoft-float.
10545
10546 2001-07-24  Joel Sherrill <joel@OARcorp.com>
10547
10548         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
10549         extra multilib parts like arm-elf.
10550         (i960-*-coff*, i960-*-rtems): Should not use collect2.
10551         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
10552         crtfini.o as extra multilib parts.
10553
10554 2001-07-24  Joel Sherrill <joel@OARcorp.com>
10555
10556         * configure.in: Add rtems as a supported thread model.
10557         * gthr-rtems.h: Add missing entry point __gthread_active_p.
10558         * configure: Rebuilt.
10559
10560 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
10561
10562         * stor-layout.c (get_mode_alignment): make it work when
10563         BITS_PER_UNIT is not a power of two.
10564         * builtins.c (get_pointer_alignment): Likewise.
10565
10566 2001-07-24  Richard Henderson  <rth@redhat.com>
10567
10568         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
10569         the retrieved constant into the expected mode.
10570
10571 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
10572
10573         * flow.c (try_simplify_condjump): Avoid duplicated edges.
10574         (verify_flow_info): Check for duplicated edges; clarify
10575         error reporting.
10576
10577         * flow.c (block_label): Update basic_block_for_insn.
10578         (commit_edge_insertions): Call compute_bb_for_insn.
10579
10580         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
10581         returns too.
10582
10583         * flow.c (redirect_edge_and_branch,
10584         try_optimize_cfg): Use redirect_edge_succ_nodup
10585         (redirect_edge_succ_nodup): New.
10586         * basic_block.h (redirect_edge_succ_nodup): Declare.
10587
10588         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
10589         after gcse.
10590
10591 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
10592
10593         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
10594         (try_crossjump_to_edge): Update commetns.
10595         (try_crossjump_bb): Likewise.
10596
10597 2001-07-24  Richard Henderson  <rth@redhat.com>
10598
10599         * combine.c (distribute_notes): Move set of need_refresh
10600         for noop_move_p down to catch all cases.
10601
10602 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
10603
10604         * recog.c (split_all_insns_noflow): New.
10605         * rtl.h (split_all_insns_noflow): Declare.
10606         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
10607         * m68hc11.c (m68hc11_reorg): Likewise.
10608         * sh.c (machine_dependent_reorg): Likewise.
10609         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
10610         call.
10611
10612 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
10613
10614         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
10615         (ashlsi3_n splitter): Likewise.
10616         (lshrsi3_n splitter): Likewise.
10617
10618         (GOTaddr2picreg): Make const SImode.
10619         (sym_label2reg): Likewise.
10620         (symGOT2reg): Likewise.
10621         (symGOTOFF2reg) Likewise.
10622
10623         (casesi_worker_0): Make unspec SImode.
10624
10625 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
10626
10627         * config/sh/sh.c (barrier_align): Check that an operand really is
10628         an insn before extracting its INSN_CODE.
10629
10630 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
10631
10632         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
10633         dangling else.
10634
10635         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
10636         for SImode to prevent overflow.
10637
10638 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10639
10640         * config/mips/irix6-libc-compat.c: New file.
10641         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
10642         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
10643         passing workaround.
10644
10645 2001-07-24  lars brinkhoff  <lars@nocrew.org>
10646
10647         * rtl.texi (REG_POINTER): Document.
10648         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
10649         QFmode, HFmode, TQFmode, QCmode, and HCmode.
10650
10651 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
10652
10653         * flow.c (delete_noop_moves): Do not confuse libcall regions.
10654
10655 2001-07-23  Richard Henderson  <rth@redhat.com>
10656
10657         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
10658
10659 2001-07-23  Kazu Hirata  <kazu@hxi.com>
10660
10661         * config/h8300/h8300-protos.h: Add a prototype for
10662         general_operand_dst_push.
10663         * config/h8300/h8300.c (general_operand_dst_push): New.
10664         * config/h8300/h8300.h (OK_FOR_T): New.
10665         (EXTRA_CONSTRAINT): Use it.
10666         * config/h8300/h8300.md (movqi_push): Remove and integrate into
10667         the existing movqi pattern.
10668         (movhi_push): Likewise.
10669
10670         * reload.c: Fix comment typos.
10671
10672 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
10673
10674         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
10675
10676 2001-07-23  H.J. Lu  (hjl@gnu.org)
10677
10678         * doc/extend.texi: Update __builtin_return_address and
10679         __builtin_frame_address.
10680
10681 2001-07-23  Richard Henderson  <rth@redhat.com>
10682
10683         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
10684         before CSE.
10685         * config/i386/i386.md: New setcc+movzbl peephole2.
10686
10687 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10688
10689         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
10690         * objc/objc-act.c: Include debug.h.
10691         (synth_module_prologue): Save and restore debug hooks too.
10692
10693 2001-07-23  lars brinkhoff  <lars@nocrew.org>
10694
10695         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
10696         and C4X_FLOAT_FORMAT.
10697         (BOOL_TYPE_SIZE): Document.
10698
10699 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
10700
10701         * unroll.c (loop_iterations): Fix miscalculation of initial
10702         giv offset.
10703
10704 2001-07-13  Andrew Haley  <aph@redhat.com>
10705
10706         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
10707         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
10708         * config/sh/sh.c (sh_can_redirect_branch): New function.
10709         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
10710         * reorg.c (steal_delay_list_from_target): Use
10711         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
10712
10713 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
10714
10715         * flow.c (try_simplify_condjump): Unlink insn chain on
10716         fallthru edge; use can_fallthru.
10717
10718 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
10719
10720         * basic-block.h (find_sub_basic_block): Declare.
10721         * flow.c (make_edges): New arguments MIN and MAX;
10722         (find_sub_basic_blocks): Revamp to use make_edges
10723         and purge_dead_edges.
10724         (find_basic_blocks): Update call of find_sub_basic_block.
10725
10726         * recog.c (split_all_insns): Always expect CFG to be consistent;
10727         call find_sub_basic_blocks in case something has changed.
10728         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
10729         has been built.
10730
10731         * basic-block.h (delete_noop_moves): Declare.
10732         * combine.c (combine_instructions): Call it.
10733         (recog_for_combine): Tolerate noop moves
10734         (distribute_notes): Force refresh when register dies at noop move.
10735         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
10736         too.
10737         (life_analysis): Update delete_noop_moves call.
10738         (set_noop_p): Move too ...
10739         * rtlanal.c (noop_move_p): ... here.
10740         * rtl.h (noop_move_p): Declare.
10741
10742         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
10743         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
10744         after combine.
10745         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
10746         (cprop_jump): Likewise; call purge_dead_edges if substitution suceeded.
10747
10748 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
10749
10750         * reload.c (push_reload): Fix typo in comment.
10751         (find_reloads_address): Ditto.
10752         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
10753
10754 2001-07-22  Richard Henderson  <rth@redhat.com>
10755
10756         * flow.c: Grammar check and clarify a lot of comments.
10757         (try_simplify_condjump): Rename variables to be clearer.
10758         (try_forward_edges): Skip complex and fallthru edges.
10759         Rearrange tests to avoid duplicate checks.
10760         (flow_find_cross_jump): Likewise.
10761         (outgoing_edges_match): Allow match if neither branch has
10762         probability data.  Loosen probability match to 5%.
10763         (try_crossjump_to_edge): Hoist repeated indirection into
10764         local variables.
10765         (try_crossjump_bb): Don't check complex edges.  Eliminate
10766         redundant crossjump tests.
10767         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
10768         checks before more expensive checks.
10769
10770 2001-07-22  Richard Henderson  <rth@redhat.com>
10771
10772         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
10773         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
10774         arguments.
10775
10776 2001-07-22  Richard Henderson  <rth@redhat.com>
10777
10778         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
10779         (const_sint32_operand): Likewise.
10780         * m68k.md (anon mulsi pattern): Use const_int_operand not
10781         const_sint32_operand.
10782         (umulsi3_highpart): Zero extend a constant input.
10783         (smulsi3_highpart): Don't bother checking SImode constant.
10784         (const_umulsi3_highpart): Give op3 DImode.
10785         (const_smulsi3_highpart): Likewise.
10786
10787 2001-07-22  Richard Henderson  <rth@redhat.com>
10788
10789         * flow.c (split_block): Make sure bb_note is included in the
10790         new block when splitting before a label.
10791
10792 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
10793
10794         * basic-block.h (redirect_edge_and_branch_force,
10795         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
10796         * flow.c (redirect_edge_and_branch_force,
10797         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
10798         (redirect_edge_and_branch_force): Fix copying of lifeness information.
10799         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
10800         * ifcvt.c (dead_or_predictable): Take BB as an new destionation
10801         instead of label; update CFG after transformation.
10802         (find_if_case_1): Update call, use redirect_edge_and_branch_force
10803         for finishing the transformation; handle even case where ELSE
10804         does not follow THEN.
10805         (find_if_case_2): Update call of dead_or_predictable; simplify
10806         CFG update.
10807
10808         * emit-rtl.c (split_branch_probability): New global variable.
10809         (try_split): Take care to set split_branch_probability and
10810         create REG_BR_PROB note for new jump insns.
10811         * md.texi (define_split): Document new feature.
10812
10813         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
10814
10815 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
10816
10817         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
10818         (asm_out_file): Remove redundant declaration.
10819         (assemble_asm): Remove old #if 0 block.
10820         (assemble_variable): Remove end of function; debug output is
10821         now handled with global_decl.  Remove old #if 0 block.  Update.
10822         Remove saved_in_section and associated no-op code.
10823         * Makefile.in (varasm.o): Correct dependencies.
10824
10825 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
10826
10827         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
10828         the definition in defaults.h.
10829
10830 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
10831
10832         * jump.c: Update comments.
10833         (delete_barrier_successors, delete_unreferenced_labels,
10834         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
10835         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
10836         jump_optimize, jump_optimize_minimal): Kill.
10837         (rebuild_jump_labels): Move code from jump_optimize_1.
10838         (purge_line_number_notes): Likewise.
10839         (copy_loop_headers): Likewise.
10840         * reg-stack.c: Update comment.
10841         * stmt.c: Likewise.
10842         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
10843         JUMP_AFTER_REGSCAN): Kill.
10844         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
10845         purge_line_number_notes and copy_loop_headers.
10846
10847 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
10848            Richard Henderson  <rth@redhat.com>
10849
10850         * dbxout.c (dbxout_global_decl): New.
10851         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
10852         * sdbout.c (sdbout_finish): New.
10853         (sdbout_debug_hooks): Use it, add comments.
10854         (sdbout_global_decl): Defer initialised public vars to
10855         sdbout_finish.
10856         * varasm.c (assemble_variable): Don't output debug information
10857         for file-scope variables.
10858
10859 2001-07-22  Richard Henderson  <rth@redhat.com>
10860
10861         * config/alpha/alpha.c (get_trap_mode_suffix): New.
10862         (get_round_mode_suffix): New.
10863         (print_operand): Use them for [/].  Remove support for [&'`()+].
10864         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
10865         * config/alpha/alpha.md (attr round_suffix): New.
10866         (attr trap_suffix): New.
10867         (all insns): Set them appropriately.  Use %/ instead of the
10868         myriad punctuators.
10869
10870 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10871
10872         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
10873
10874 2001-07-22  Richard Henderson  <rth@redhat.com>
10875
10876         * regrename.c (regrename_optimize): Compute nregs for each
10877         potential target register.
10878
10879 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
10880            Richard Henderson  <rth@redhat.com>
10881
10882         * dbxout.c (dbxout_global_decl): New.
10883         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
10884         * sdbout.c (sdbout_finish): New.
10885         (sdbout_debug_hooks): Use it, add comments.
10886         (sdbout_global_decl): Defer initialised public vars to
10887         sdbout_finish.
10888         * varasm.c (assemble_variable): Don't output debug information
10889         for file-scope variables.
10890
10891 2001-07-21  H.J. Lu  (hjl@gnu.org)
10892
10893         * config/mips/mips.c (mips_cpu): Moved into ...
10894         (override_options): Here.
10895
10896         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
10897         mips_tune.
10898         (mips_cpu): Removed.
10899
10900 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10901
10902         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
10903         ("iorqi3"): Likewise.
10904         ("xorqi3"): Likewise.
10905         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
10906         ("*subhi3_sp): Likewise.
10907         ("*subhi3"): Likewise.
10908         ("extendhisi2"): Accept D, X and Y as source operand to avoid
10909         reload problems.
10910
10911 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
10912
10913         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
10914         * config/freebsd.h: Likewise.
10915         * config/linux.h: Likewise.
10916         * config/openbsd.h: Likewise.
10917         * config/alpha/linux-elf.h: Likewise.
10918         * config/arm/linux-elf.h: Likewise.
10919         * config/d30v/d30v.h: Likewise.
10920         * config/fr30/fr30.h: Likewise.
10921         * config/ia64/aix.h: Likewise.
10922         * config/ia64/ia64.h: Likewise.
10923         * config/mips/linux.h: Likewise.
10924         * config/pj/pj.h: Likewise.
10925         * config/rs6000/linux.h: Likewise.
10926         * config/sparc/linux.h: Likewise.
10927         * config/sparc/linux64.h: Likewise.
10928
10929 2001-07-20  Bruce Korb  <bkorb@gnu.org>
10930
10931         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
10932         because getc() and char* may disagree on signedness.
10933
10934 2001-07-20  Richard Henderson  <rth@redhat.com>
10935
10936         * doc/rtl.texi (REG_DEAD): Update for current semantics.
10937
10938         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
10939         insns to delete in the presence of cc0 in a jump insn.
10940
10941 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
10942                                 Jan Hubicka  <jh@suse.cz>
10943
10944         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
10945         of doing the change by hand.
10946
10947 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
10948
10949         * rtlanal.c (set_noop_p): Return true for noop jumps.
10950
10951         * expr.c (emit_single_push_insn): Add call to push expander.
10952         * expr.h (optab_index): Add OTI_push
10953         (push_optab): New constant.
10954         * genopinit.c (optabs): Add push_optab.
10955         * optabs.c (init_optab): Init push optab.
10956         * md.texi (push??1): Document
10957
10958 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10959
10960         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
10961         expand to emit the pattern; put a REG_INC note for push/pop
10962         instructions.
10963         ("movdf", "movdf_internal"): Likewise.
10964         ("movsi", "movsi_internal"): Likewise.
10965         ("movsf", "movsf_internal"): Likewise.
10966         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
10967
10968 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10969
10970         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
10971         gen_highpart.
10972
10973 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
10974
10975         * params.def: Change default max inline insns to 100.
10976
10977 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
10978
10979         * combine.c (combine_simplify_rtx): Generate a new shift operation
10980         when simplifying the first operand of a (neg (ashift)) expression.
10981
10982 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10983
10984         * regclass.c (N_REG_INTS): Use only 32 bits per element.
10985
10986 2001-07-20  Kelley Cook  <kelley.cook@home.com>
10987
10988         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
10989         information.   Move rest into ...
10990         (*-*-solaris): ... here.  Eliminate redundant information and
10991         reword necessary packages section.  Delete 4.x assembler bug info.
10992         (sparc-sun-*): Merge into ...
10993         (sparc-sun-sunos*): here.
10994
10995 2001-07-20  Catherine Moore  <clm@redhat.com>
10996
10997         * config/v850/v850.md (casesi): Generate LABEL_REF
10998         with Pmode.
10999
11000 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
11001
11002         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
11003         * i386.c (ix86_zero_extend_to_Pmode): Make global.
11004         * i386.md (strclrsi expander): Use it.
11005
11006 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
11007
11008         * integrate.c (copy_insn_list): handle
11009         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
11010         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
11011         identically as to CODE_LABEL.
11012
11013         * fold-const (fold): Convert A/B/C to A/(B*C) and
11014         A/(B/C) to (A/B)*C
11015
11016         * except.c (connect_post_landing_pads): Delete the RESX insns.
11017
11018 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
11019
11020         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
11021
11022         * config/mips/mips.md (nmadd/nmsub): Use macro.
11023
11024 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
11025
11026         * cppinit.c (remove_dup_dir): Make static.
11027         (remove_dup_dirs): Make static. Only warn about preempting a
11028         system directory with a non-system directory.
11029
11030 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
11031
11032         * ifcvt.c (noce_try_store_flag_constants): Correct order
11033         of parameters to trunc_int_for_mode.
11034
11035 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
11036
11037         * reorg.c (fill_simple_delay_slots): If an instruction might throw
11038         an exception that will be caught within this function, do not fill
11039         its delay slot with any subsequent instruction.
11040
11041 2001-07-19  Steve Ellcey <sje@cup.hp.com>
11042
11043         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
11044         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
11045         pointer extension instruction.
11046         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
11047         * simplify-rtx.c (simplify_unary_operation) Likewise.
11048         * explow.c (convert_memory_address) Check value of
11049         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
11050         less than zero.
11051         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
11052         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
11053         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
11054         Add Multilib Support.
11055         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
11056         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
11057         Add Multilib Support.
11058         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
11059         support.
11060         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
11061         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
11062         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
11063
11064 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
11065
11066         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
11067         old and new operands in `<', `3' and `b'.
11068
11069 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
11070
11071         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
11072         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
11073         (toplev.o): Don't depend on xcoffout.h.
11074         * c-decl.c: Include debug.h
11075         (duplicate_decls): Use debug hook.
11076         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
11077         (dbx_debug_hooks, xcoff_debug_hooks): Update.
11078         (dbxout_types): Remove.
11079         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
11080         * debug.c (do_nothing_debug_hooks): Update.
11081         (debug_true_tree, debug_nothing_rtx): New.
11082         * debug.h (struct rtx_def): New.
11083         (struct gcc_debug_hooks): New hooks ignore_block,
11084         outlining_inline_function and label.
11085         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
11086         dwarf2out_frame_finish): New.
11087         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
11088         Make static, update prototype.
11089         (dwarf2_debug_hooks): Update.
11090         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
11091         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
11092         * dwarfout.c (dwarf_debug_hooks): Update.
11093         * emit-rtl.c: Include debug.h.
11094         (remove_unnecessary_notes): Use debug hook.
11095         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
11096         (final_scan_insn): Use debug hook.
11097         * integrate.c (output_inline_function): Use debug hook.
11098         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
11099         (sdb_debug_hooks): Update.
11100         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
11101         * toplev.c: Don't include xcoffout.h.
11102         (note_outlining_of_inline_function, debug_ignore_block): Remove.
11103         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
11104         Remove.
11105         * tree.h (dwarf2out_do_frame): Remove.
11106
11107 2001-07-19  Catherine Moore  <clm@cygnus.com>
11108
11109         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
11110
11111 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
11112
11113         * reload1.c (eliminate_regs_in_insn): When updating a set
11114         to the frame pointer to the hardware frame pointer, perform
11115         the update always not just when REPLACE is set.
11116
11117         * reload1.c (choose_reload_regs): Don't inherit a reload
11118         that crosses multiple registers if registers past the first
11119         don't fit in the desired class.
11120
11121         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
11122         when negating constants.
11123
11124 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
11125
11126         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
11127         * doc/tree.texi: Ditto.
11128
11129 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
11130             Jakub Jelinek  <jakub@redhat.com>
11131
11132         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
11133         (extract_cie_info): Handle "eh" augmentation properly,
11134         remember eh_ptr.
11135         (struct frame_state, __frame_state_for): New.
11136
11137 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11138
11139         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
11140         HANDLE_SYSV_PRAGMA): Define.
11141         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
11142         previous args.
11143         (copy_object): Caller changed.
11144
11145 2001-07-19  Andreas Schwab  <schwab@suse.de>
11146
11147         * configure.in (assembler dwarf2 debug_line support): Define nop
11148         insn for m68k.
11149         * configure: Regenerated.
11150
11151 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
11152
11153         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
11154         dwarfout.h.
11155         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
11156         to conditionally compiled block.
11157         (dbx_debug_hooks, xcoff_debug_hooks): Update.
11158         * dbxout.h (dbxout_function): Remove.
11159         * debug.c (do_nothing_debug_hooks): Update.
11160         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
11161         global_decl, deferred_inline_function.
11162         * dwarf2out.c (dwarf2_debug_hooks): Update.
11163         (dwarf2out_global_decl): New.
11164         * dwarfout.c: Don't include dwarfout.h.
11165         (dwarfout_global_decl, dwarfout_function_decl,
11166         dwarfout_deferred_inline_function): New.
11167         (dwarf_debug_hooks): Update.
11168         * dwarfout.h: Remove.
11169         * final.c: Don't include dwarfout.h.
11170         * sdbout.c (sdbout_global_decl): New.
11171         (sdbout_debug_hooks): Update.
11172         * toplev.c: Don't include dwarfout.h.
11173         (check_global_declarations, rest_of_compilation): Use new debug hooks.
11174         (note_deferral_of_defined_inline_function): Remove.
11175         * toplev.h (note_deferral_of_defined_inline_function): Remove.
11176         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
11177         * ch/lex.c: Don't include dwarfout.h.
11178         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
11179         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
11180         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
11181         * cp/optimize.c: Include debug.h.
11182         (maybe_clone_body): Use debug hook.
11183         * cp/semantics.c: Include debug.h.
11184         (expand_body): Use debug hook.
11185         * po/POTFILES.in: Remove dwarfout.h.
11186
11187 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
11188
11189         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
11190         * c-parse.in (yyerror, _yylex): Similarly.
11191         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
11192         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
11193         Update comments.
11194         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
11195         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
11196
11197 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
11198
11199         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
11200         in-class declaration at -g1.  Fixes c++/2814.
11201
11202 2001-07-18  Richard Henderson  <rth@redhat.com>
11203
11204         * doc/md.texi (reload_in/out): Document restrictions in predicates
11205         and constraints for these patterns.  Document empty string matching
11206         ALL_REGS.
11207
11208 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11209
11210         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
11211
11212 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
11213
11214         * cse.c: Undo my previous patch.
11215
11216 2001-07-18  Tom Tromey  <tromey@redhat.com>
11217
11218         For PR java/2812:
11219         * configure: Rebuilt.
11220         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
11221         instead.
11222         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
11223
11224 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
11225                                 Jan Hubicka  <jh@suse.cz>
11226
11227         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
11228         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
11229         * jump.c (mark_jump_label): Do not forward branches.
11230
11231 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
11232
11233         * cse.c (delete_trivially_dead_insns): Delete the libcall block
11234         when return value is unused.
11235
11236 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
11237
11238         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
11239
11240 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
11241
11242         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
11243         on error.  We can't blindly return the result of
11244         pthread_mutex_trylock because it returns a positive number on
11245         error, while we must return -1 on error.
11246         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
11247         fixes.
11248         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
11249
11250 2001-07-18  Andreas Jaeger  <aj@suse.de>
11251
11252         * integrate.c (output_inline_function): Correct type of debug_hooks.
11253
11254 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
11255
11256         * combine.c (combine_simplify_rtx): DIV can be treated
11257         associatively for floats if unsafe math optimisations are enabled.
11258
11259 2001-07-17  Richard Henderson  <rth@redhat.com>
11260
11261         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
11262
11263 2001-07-17  Richard Henderson  <rth@redhat.com>
11264
11265         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
11266         don't force the function address into a register.
11267         (expand_call, emit_library_call_value_1): Update callers.
11268         * builtins.c (expand_builtin_apply): Likewise.
11269         * expr.h (prepare_call_address): Update decl.
11270
11271 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
11272
11273         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
11274         config directory.
11275         * config/i386/chorus.h: Move up.
11276         * config/sparc/chorus.h: Likewise.
11277         * config/rs6000/chorus.h: Likewise.
11278         * config/chorus.h: Moved here.
11279
11280 2001-07-17  Andreas Schwab  <schwab@suse.de>
11281
11282         * configure.in  (assembler eh_frame optimization): Handle big
11283         endian.
11284         * configure: Regenerated.
11285
11286 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
11287
11288         * expr.c (epxand_expr): Convert divisions into multiplications by
11289         reciprocals if -ffast-math.
11290
11291 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
11292
11293         * dbxout.c (dbxout_really_begin_function): Rename to
11294         dbxout_begin_function.
11295         (dbx_debug_hooks, xcoff_debug_hooks): Update.
11296         (dbxout_begin_function): Remove.
11297         (dbxout_function): Update.
11298         (dbxout_source_line): Update prototype.
11299         * dbxout.h (dbxout_begin_function): Remove.
11300         * debug.c (do_nothing_debug_hooks): Update.
11301         (debug_nothing_tree): Update.
11302         (debug_nothing_charstar_rtx): Remove.
11303         * debug.h (union tree_node): Declare.
11304         (struct rtx_def): Remove.
11305         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
11306         begin_function.  Change source_line prototype.
11307         (debug_nothing_tree): New.
11308         (debug_nothing_charstar_rtx): Delete.
11309         (dwarf2out_begin_prologue): Moved from ...
11310         * tree.h: ... here.
11311         * dwarf2out.c (dwarf2_debug_hooks): Update.
11312         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
11313         debug info, call dwarf2out_source_line.
11314         (dwarf2out_souce_line): Update prototype.
11315         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
11316         Change prototype, make static.
11317         (dwarfout_source_line): Update prototype.
11318         (dwarf_debug_hooks): Update.
11319         * dwarfout.h (dwarfout_begin_function): Remove.
11320         * final.c (final_start_function, final_scan_insn): Use appropriate
11321         debug hooks, update to use notice_source_line.
11322         (output_source_line): Rename notice_source_line.  Don't call the
11323         source_line debug hook.
11324         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
11325         make static, update prototype.
11326         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
11327         prototype.
11328         (sdbout_end_prologue): New.
11329         (sdbout_source_line): Update prototype.
11330         (sdbout_debug_hooks): Update.
11331         (sdbout_symbol): Remove unused var.
11332         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
11333         Delete.
11334         * varasm.c: Include debug.h.
11335         (assemble_start_function): Use begin_function debug_hook.
11336         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
11337         update with prototype.
11338         (xcoffout_source_line): Update prototype.
11339         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
11340         update prototype.
11341         (xcoffout_source_line): Update prototype.
11342
11343 2001-07-17  Richard Henderson  <rth@redhat.com>
11344
11345         * c-typeck.c (build_binary_op): Do not shorten unsigned
11346         right shift after sign extension.
11347
11348 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
11349
11350         * combine.c (combine_simplify_rtx): Attempt to simplify
11351         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
11352
11353         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
11354         (simplify_binary_operation, simplify_unary_operation,
11355          simplify_relational_operation): Use it.
11356
11357         * combine.c (combine_simplify_rtx): Don't do associative law
11358         on divisions; allow associative law on floats.
11359
11360 2001-07-17  H.J. Lu <hjl@gnu.org>
11361             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11362
11363         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
11364         ASM_OUTPUT_WEAK_ALIAS are defined.
11365         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
11366         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
11367         Moved ...
11368         * config/mips/iris5.h: ... here.
11369         (HANDLE_SYSV_PRAGMA): Defined as 1.
11370         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
11371         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
11372         symbol.
11373
11374 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
11375
11376         * c-parse.in (all_prefix_attributes): New variable.
11377         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
11378         (maybe_resetattrs): New production.
11379         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
11380         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
11381         notype_initdcl, nested_function, notype_nested_function,
11382         component_decl, components, components_notype,
11383         component_declarator, component_notype_declarator,
11384         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
11385         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
11386         after a comma being applied to more than one declarator.
11387         * doc/extend.texi (Attribute Syntax): Update.  Remove
11388         documentation of bugs that are no longer present.
11389
11390 2001-07-13  Eric Christopher  <echristo@redhat.com>
11391
11392         * config/mips/mips.h: Change TUNE_MIPS* options to use
11393         mips_tune.
11394         (EXTRA_SPECS): Add cc1_cpu_spec.
11395         * config/mips/mips.md (muldf3): Fix typo.
11396
11397 2001-07-16  Richard Henderson  <rth@redhat.com>
11398
11399         * config/m68k/m68k.c: Include expr.h and reload.h.
11400         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
11401         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
11402
11403 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
11404             Richard Henderson  <rth@redhat.com>
11405
11406         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
11407         (insn_live_p): Fix fall off end of function.
11408         (dead_libcall_p): Remove COUNTS argument; update callers.
11409         (delete_trivially_dead_insns): Remove unused variables.
11410
11411 2001-07-17  Andreas Jaeger  <aj@suse.de>
11412
11413         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
11414         x86-64 pic support.
11415
11416         * lcm.c (optimize_mode_switching): Avoid warning for unused
11417         variable if !NORMAL_MODE.
11418
11419         * flow.c (try_crossjump_to_edge): Remove unused variable.
11420
11421 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11422
11423         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
11424         atexit declaration in stdlib.h.
11425
11426 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
11427
11428         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
11429
11430 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
11431
11432         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
11433         * except.c (finish_eh_generation): Update call of cleanup_cfg;
11434         do rebuild_jump_labels instead of jump_optimize
11435         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
11436         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
11437         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
11438
11439         * flow.c: Include timevar.h
11440         (find_basic_block): Push/pop timevar;
11441         (cleanup_cfg): Likewise.
11442         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
11443         * Makefile: Add dependencies on timevar.h
11444
11445         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
11446         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
11447
11448         * rtl.h (delete_trivially_dead_insns): Add new parameter.
11449         * toplev.c (rest_of_compilation): Update calls.
11450         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
11451         (delete_trivially_dead_insns): ... here; accept new argument
11452         preserve_basic_blocks; preserve basic blocks if set.
11453
11454         * reg-stack.c (stack_regs_mentioned): Return 0 if
11455         stack_regs_mentioned_data is not initialized.
11456         (reg_to_stack): Make stack_regs_mentioned survive after the
11457         reg-stack is completted; do not call cleanup_cfg.
11458         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
11459         make cleanup_cfg after bb-reorder to output to debug file.
11460
11461 2001-07-16  Richard Henderson  <rth@redhat.com>
11462
11463         * regclass.c (init_reg_sets): Use only 32 bits per initializer
11464         from int_reg_class_contents.
11465
11466 2001-07-16  Richard Henderson  <rth@redhat.com>
11467
11468         * hard-reg-set.h (regs_invalidated_by_call): Declare.
11469         * regclass.c (regs_invalidated_by_call): Move from cse.c.
11470         (init_reg_sets_1): Move initialization from cse_main.
11471         * cse.c (regs_invalidated_by_call): Move to regclass.c.
11472         (cse_main): Move its initialization also.
11473         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
11474         * flow.c (propagate_one_insn): Likewise.
11475         * gcse.c (compute_hash_table): Likewise.
11476         (compute_kill_rd, compute_store_table): Likewise.
11477         * sched-deps.c (sched_analyze_1): Likewise.
11478
11479 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
11480
11481         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
11482         gen_rtx_SET.
11483
11484 2001-07-16  Steve Ellcey <sje@cup.hp.com>
11485
11486         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
11487         in if statement so we don't access undefined memory.
11488
11489 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
11490
11491         * gcse.c: Update comment at top.
11492         Update comment on mem handling.
11493         mem_last_set, mem_first_set, mem_set_in_block: gone.
11494         Declaration of reg_set_info: gone.
11495         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
11496         pointless with load_killed_in_block_p (they are *more*
11497         conservative then it, not less, and less accurate).
11498         (oprs_not_set_p): Ditto.
11499         (alloc_gcse_mem): Don't allocate mem_set_in_block
11500         (free_gcse_mem): Don't free it, either.
11501         (record_last_mem_set_info): Update comment in front, remove
11502         mem_*set_* stuff. Note the reason we don't handle stores directly
11503         here.
11504         (compute_hash_table): Update comments to reflect reality. Remove
11505         mem_*set_* references.
11506         (reset_opr_set_tables): Remove mem_*set_* references.
11507         (mark_call): Ditto.
11508         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
11509         (mark_clobber): Ditto (on both parts, we double set here too).
11510         (expr_killed_p): Remove mem_set_in_block test.
11511         (compute_transp): Remove mem_set_in_block test.
11512
11513         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
11514         of edge, and removal of phi alternative to dump file.
11515         (ssa_ccp_substitute_constants): Add note about register now being
11516         constant, and which uses were replaced in what insns to dump file.
11517
11518 2001-07-16  Andreas Jaeger  <aj@suse.de>
11519
11520         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
11521         variables of type HOST_WIDEST_INT.
11522
11523         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
11524         (__bb_exit_func): Correct type of count_max to avoid overflow.
11525         (num_digits): Handle long long argument.
11526
11527         * combine.c (gen_lowpart_for_combine): Remove unused variable.
11528
11529 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11530
11531         * output.h (sdb_begin_function_line): Restore as an extern
11532         variable.
11533         * sdbout.c (sdb_begin_function_line): Make extern.
11534
11535 2001-07-15  Richard Henderson  <rth@redhat.com>
11536
11537         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
11538         * genrecog.c (maybe_both_true_mode): New.
11539         (maybe_both_true_2): Use it.
11540         (write_switch): Don't put Pmode in a switch.
11541         * rtl.c (mode arrays): Don't explicitly size them.
11542
11543 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
11544
11545         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
11546         handling; move unconditional splitting before mode switching.
11547
11548         * i386.md (type): Add fistp type.
11549         (i387, length_attr, scheduling definitions): Handle this type.
11550         (fix_trunc?f?i2): Revamp to use mode switching.
11551         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
11552         * i386.h (fp_cw_mode): New enum
11553         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
11554         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
11555
11556 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11557
11558         * Makefile.in (integrate.o): Add debug.h.
11559         * integrate.c (debug.h): Add.
11560         (output_inline_function): Save, reset, and restore debug_hooks.
11561
11562 2001-07-15  Richard Henderson  <rth@redhat.com>
11563
11564         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
11565         instead of COMPARE for the EQUIV expression.
11566
11567 2001-07-15  Richard Henderson  <rth@redhat.com>
11568
11569         * flow.c (redirect_edge_and_branch_force): Initialize
11570         global_live_at_start and global_live_at_end.
11571         (allocate_bb_life_data): Export.
11572         * basic-block.h (allocate_bb_life_data): Declare.
11573         * toplev.c (rest_of_compilation): Call it.
11574
11575 2001-07-15  Richard Henderson  <rth@redhat.com>
11576
11577         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
11578         (alpha_tablejump_best_label): New.
11579         * config/alpha/alpha-protos.h: Declare them.
11580         * config/alpha/alpha.md: Use braced strings for code blocks.
11581         (tablejump_osf): Break out add with r29.
11582         (tablejump_osf_internal): Remove.
11583         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
11584         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
11585
11586 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
11587
11588         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
11589         of the movable.
11590
11591         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
11592
11593         * i386-protos.h (ix86_split_fp_branch): Update prototype.
11594         (ix86_fp_jump_nontrivial_p): New.
11595         * i386.md (fp_jcc_?): Update call of split_fp_branch;
11596         use ix86_fp_jump_nontrivial_p.
11597         * i386.c (ix86_fp_jump_nontrivial_p): New.
11598         (ix86_split_fp_branch): Accept code instead of rtx.
11599         (ix86_expand_compare): Expand comparison early in case
11600         doing so is resonably cheap.
11601
11602 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
11603
11604         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
11605         not 'machine'.
11606         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
11607         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
11608
11609 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
11610
11611         * dbxout.c (dbxout_source_line): Make static, update prototype.
11612         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
11613         (dbxout_init, dbxout_finish, dbxout_source_line,
11614         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
11615         * dbxout.h (dbxout_source_line): Delete.
11616         * debug.c (debug_nothing_file, debug_nothing_file_int,
11617         debug_nothing_file_charstar_rtx): New.
11618         (do_nothing_debug_hooks): Update.
11619         (debug_nothing_void, debug_nothing_charstar_rtx,
11620         dwarf2out_end_epilogue): New.
11621         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
11622         * debug.h (struct rtx_def): Declare.
11623         (gcc_debug_hooks): New hooks source_line, end_epilogue
11624         and end_function.
11625         (debug_nothing_void, debug_nothing_charstar_rtx,
11626         dwarf2out_end_epilogue): New.
11627         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
11628         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
11629         (dwarf2_debug_hooks): Update.
11630         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
11631         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
11632         * dwarf2out.h (dwarf2out_source_line): Remove.
11633         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
11634         Make static, update prototype.
11635         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
11636         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
11637         (dwarf_debug_hooks): Update.
11638         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
11639         dwarfout_end_function): Remove.
11640         * final.c (profile_function): Use debug hooks for ending functions
11641         and epilogues.
11642         (output_source_line, final_end_function): Update prototype,
11643         use debug hooks.
11644         (final_start_function, final_scan_insn): Update.
11645         * output.h (sdb_begin_function_line): Remove.
11646         (final_end_function): Update prototype.
11647         * sdbout.c (sdb_begin_function_line): Make static.
11648         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
11649         (sdbout_source_line): New.
11650         (sdbout_end_epilogue, sdbout_end_function): Make static, update
11651         prototypes.
11652         (sdb_debug_hooks): Update.
11653         (sdbout_init, sdbout_source_line,
11654         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
11655         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
11656         * toplev.c (compile_file, rest_of_compilation): Update.
11657         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
11658         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
11659         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
11660         Update for prototype changes.
11661         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
11662         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
11663
11664 2001-07-15  Richard Henderson  <rth@redhat.com>
11665
11666         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
11667         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
11668         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
11669         * config/alpha/alpha.c: Likewise.
11670         * config/alpha/alpha.md: Likewise.
11671         * config/alpha/alpha32.h: Likewise.
11672         * config/alpha/vms.h: Likewise.
11673         (OPEN_VMS): Remove.
11674
11675 2001-07-14  Richard Henderson  <rth@redhat.com>
11676
11677         * config/alpha/alpha.md: Use define_constants for unspec values.
11678         Substitute throughout.
11679
11680 2001-07-14  Tim Josling  <tej@melbpc.org.au>
11681
11682         * tree.def (EXPON_EXPR) remove. Never supported anyway.
11683
11684 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11685
11686         * pa.md: Remove unused constraints from define_split's.
11687
11688 2001-04-14  Richard Henderson  <rth@redhat.com>
11689
11690         * ifcvt.c (find_cond_trap): Test for exit block.
11691
11692 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
11693
11694         Re-install recently reverted patch.
11695         * emit-rtl.c (try_split): Update mark_jump_label call.
11696         * flow.c (find_sub_basic_blocks): Likewise.
11697         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
11698         jump_back_p): Kill.
11699         (mark_all_labels): Kill second parameter.
11700         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
11701         (rebuild_jump_labels, jump_optimize_minimal): Update call
11702         of jump_optimize_1.
11703         (jump_optimize_1): Kill crossjumping code.
11704         (mark_jump_label): Kill cross_jump parameter.
11705         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
11706         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
11707         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
11708          splitting.
11709         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
11710         DFI_bpro.
11711         (dump_file_info): Likewise.
11712         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
11713         reorganize passes to do reg-stack first, bb-reorder second.
11714         * invoke.texi (-d letters doc): Remove the jump2 pass.
11715
11716 2001-07-14  Richard Henderson  <rth@redhat.com>
11717
11718         * ifcvt.c (find_cond_trap): New.
11719         (find_if_header): Call it.
11720         (merge_if_block): Relax existing jump sanity check.
11721         * jump.c (jump_optimize_1): Remove conditional trap handling.
11722
11723 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
11724
11725         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
11726         millicode.
11727         (insn_refs_are_delayed): Correct comment.
11728         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
11729         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
11730         instead of r31.  Make associated insn !TARGET_64BIT, and
11731         provide an additional 64-bit insn that clobbers r2.
11732         (divsi3): Likewise.
11733         (udivsi3): Likewise.
11734         (modsi3): Likewise.
11735         (umodsi3): Likewise.
11736
11737 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
11738
11739         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
11740
11741         * flow.c (redirect_edge_and_branch_force, split_edge,
11742         try_crossjump_to_edge): Use set_block_for_new_insns.
11743         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
11744
11745 2001-07-13  H.J. Lu  (hjl@gnu.org)
11746
11747         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
11748         the correct patch.
11749
11750 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
11751
11752         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
11753
11754 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
11755
11756         * c-common.c (decl_attributes): Take a pointer to the node to
11757         which attributes are to be attached, and a flags argument.
11758         * c-common.h (enum attribute_flags): New.
11759         (decl_attributes): Update prototype.
11760         * c-decl.c (start_decl, push_parm_decl, finish_struct,
11761         finish_enum, start_function): Update calls to decl_attributes.
11762         * c-parse.in (component_declarator, component_notype_declarator,
11763         label): Update calls to decl_attributes.
11764
11765 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
11766
11767         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
11768         * config/avr/avr.c (legitimate_address_p): Return value changed
11769         from letter to register classes. For better debugging.
11770
11771 2001-07-13  Kazu Hirata  <kazu@hxi.com>
11772
11773         * jump.c (reversed_comparison_code_parts): Fix comment typos.
11774
11775 2001-07-13  H.J. Lu  (hjl@gnu.org)
11776
11777         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
11778
11779 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
11780
11781         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
11782         correctly for shared configurations.
11783         * config/t-libgcc-pic:  New.
11784         * config/{i386,m68k,sparc}/t-openbsd:  New.
11785         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
11786         Support -shared.  Support debugging libraries with -g.
11787         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
11788         frame information does not emit pointer diffs.
11789         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
11790         emit pointer diffs.
11791
11792 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
11793
11794         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
11795
11796 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
11797
11798         * combine.c (try_combine): Ensure const_int pow2 is positive.
11799
11800 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
11801
11802         * config.gcc: Add configuration for s/390.
11803         * config/s390/s390.c: New. Subroutines for code generation.
11804         * config/s390/s390.h: New. Definitions for s/390.
11805         * config/s390/s390-protos.h: New. Prototypes.
11806         * config/s390/linux.h: New. Definitions for linux for s/390.
11807         * config/s390/linux64.h: New. Definitions for linux for zSeries.
11808         * config/s390/t-linux: New. Makefile fragment.
11809         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
11810         * config/s390/fixdfdi.h: New. Fix L_fix*di.
11811
11812 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
11813
11814         * emit-rtl.c (try_split): Update mark_jump_label call.
11815         * flow.c (find_sub_basic_blocks): Likewise.
11816         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
11817         jump_back_p): Kill.
11818         (mark_all_labels): Kill second parameter.
11819         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
11820         (rebuild_jump_labels, jump_optimize_minimal): Update call
11821         of jump_optimize_1.
11822         (jump_optimize_1): Kill crossjumping code.
11823         (mark_jump_label): Kill cross_jump parameter.
11824         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
11825         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
11826         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
11827          splitting.
11828         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
11829         DFI_bpro.
11830         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
11831         reorganize passes to do reg-stack first, bb-reorder second.
11832         * invoke.texi (-d letters doc): Remove the jump2 pass.
11833
11834 2001-07-12  Steve Ellcey <sje@cup.hp.com>
11835
11836         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
11837
11838 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
11839
11840         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
11841         basic blocks.
11842         (verify_flow_info): Make diagnostics prettier.
11843
11844 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
11845
11846         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
11847
11848         * flow.c (outgoing_edges_match): Return early if condition reversal
11849         failed.
11850
11851 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
11852
11853         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
11854         (mips_move_2words): When splitting a move into two instructions,
11855         prefix the second address operand with '%D'.
11856
11857 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
11858
11859         * Makefile.in (final.o): Depend on debug.h.
11860         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
11861         (dbx_debug_hooks): Add new hooks.
11862         (xcoff_debug_hooks): New.
11863         * debug.c (debug_nothing_file_int_int): New.
11864         (do_nothing_debug_hooks): Update.
11865         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
11866         (debug_nothing_file_int_int): New.
11867         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
11868         static, update prototype.
11869         (dwarf2_debug_hooks): Update.
11870         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
11871         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
11872         static, update prototype.
11873         (dwarf_debug_hooks): Update.
11874         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
11875         * final.c: Include debug.h.
11876         (final_scan_insn): Use debug hooks when beginning and ending blocks.
11877         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
11878         static, update prototype.
11879         (sdb_debug_hooks): Update.
11880         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
11881         * toplev.c: Distinguish between xcoff and dbx.
11882
11883         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
11884         Call all debug hooks, not just dwarf ones.
11885
11886 2001-07-11  Timothy Wall  <twall@redhat.com>
11887
11888         * config.gcc: Add configuration for AIX5/IA64.
11889         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
11890         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
11891         support prefix/suffix code.
11892         * config/ia64/t-aix: New.  Makefile fragment.
11893         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
11894
11895 2001-07-11  Kazu Hirata  <kazu@hxi.com>
11896
11897         * recog.c (validate_change): Fix a comment typo.
11898
11899 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11900
11901         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
11902         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
11903         hooks directly.
11904         * dbxout.c (dbx_debug_hooks): Add new hooks.
11905         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
11906         make static.
11907         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
11908         make static.
11909         * dbxout.h (dbxout_start_new_source_file,
11910         dbxout_resume_previous_source_file): Delete.
11911         * debug.c (do_nothing_debug_hooks): Add new hooks.
11912         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
11913         (debug_nothing_int_charstar, debug_nothing_int): New.
11914         * debug.h (gcc_debug_hooks): New hooks define, undef,
11915         start_source_file and end_source_file.
11916         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
11917         (debug_nothing_int_charstar, debug_nothing_int): New.
11918         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
11919         the conditionally compiled section.
11920         (dwarf2out_start_source_file, dwarf2out_end_source_file,
11921         dwarf2out_define, dwarf2out_undef): Make static.
11922         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
11923         dwarf2out_define, dwarf2out_undef): Remove.
11924         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
11925         (dwarfout_start_source_file, dwarfout_end_source_file,
11926         dwarfout_define, dwarfout_undef): Make static.
11927         (dwarfout_start_source_file_check,
11928         dwarfout_end_source_file_check): New.
11929         (dwarfout_define, dwarfout_finish): Update.
11930         * dwarfout.h (dwarfout_start_new_source_file,
11931         dwarfout_resume_previous_source_file, dwarfout_define,
11932         dwarfout_undef): Remove.
11933         * sdbout.c (sdb_debug_hooks): Add new hooks.
11934         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
11935         make static.
11936         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
11937         make static, take an arg.
11938         * sdbout.h (sdbout_start_new_source_file,
11939         sdbout_resume_previous_source_file): Delete.
11940         * toplev.c (debug_start_source_file, debug_end_source_file,
11941         debug_define, debug_undef): Delete.
11942         * toplev.h (debug_start_source_file, debug_end_source_file,
11943         debug_define, debug_undef): Delete.
11944
11945         * java/jcf-parse.c: Include debug.h.
11946         (parse_class_file): Update to use debug hooks directly.
11947         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
11948
11949 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11950
11951         * alias.c (set_mem_alias_set): New function.
11952         * rtl.h (set_mem_alias_set): Declare it.
11953         * builtins.c (expand_builtin_return_addr): Call it instead of
11954         using MEM_ALIAS_SET accessor.
11955         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
11956         (get_memory_rtx, expand_builtin_va_arg): Likewise.
11957         (expand_builtin_va_copy):Likewise.
11958         * caller-save.c (setup_save_areas): Likewise.
11959         * calls.c (compute_argument_addresses): Likewise.
11960         * explow.c (set_mem_attributes): Likewise.
11961         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
11962         (expand_assignment, store_constructor_field, store_field): Likewise.
11963         (expand_expr_unaligned): Likewise.
11964         * function.c (assign_stack_temp_for_type): Likewise.
11965         (put_reg_into_stack, gen_mem_addressof): Likewise.
11966         * ifcvt.c (noce_try_cmove_arith): Likewise.
11967         * reload1.c (reload, alter_reg): Likewise.
11968         * config/alpha/alpha.c (get_aligned_mem): Likewise.
11969         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
11970         (alpha_expand_unaligned_store): Likewise
11971         (alpha_expand_unaligned_load_words): Likewise.
11972         (alpha_expand_unaligned_store_words): Likewise.
11973         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
11974         (alpha_expand_epilogue): Likewise.
11975         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
11976         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
11977         * config/i386/i386.c (legitimize_pic_address): Likewise.
11978         * config/i960/i960.c (setup_incoming_varargs): Likewise.
11979         * config/ia64/ia64.c (spill_restore_mem): Likewise.
11980         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
11981         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
11982         * config/mips/mips.c (mips_va_arg): Likewise.
11983         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
11984         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
11985         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
11986         (setup_incoming_varargs, rs6000_va_arg): Likewise.
11987         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
11988         (rs6000_emit_epilogue): Likewise.
11989         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
11990         * config/sparc/sparc.c (sparc_va_arg): Likewise.
11991         * config/v850/v850.c (v850_va_arg): Likewise.
11992
11993 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
11994
11995         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
11996         when fallthru edge is present.
11997         (mege_blocks): Handle case where creation of jump insn
11998         is required.
11999
12000         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
12001         CLEANUP_POST_REGSTACK): New constants.
12002         * except.c (finish_eh_generation): Update call of cleanup_cfg,
12003         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
12004         * output.h (cleanup_cfg): Update prototype.
12005         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
12006         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
12007         cleanup_cfg call; kill missleading comment.
12008         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
12009         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
12010         parameter; control optimizations performed using it.
12011         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
12012         try_crossjump_bb): New functions.
12013
12014 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12015
12016         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
12017         extern.
12018         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
12019         pa_output_function_prologue.
12020         * pa-protos.h (pa_output_function_prologue): New prototype.
12021
12022 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12023
12024         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
12025         and low to get correct sign extension in low+high test.
12026
12027 2001-07-11  Janis Johnson <janis@us.ibm.com>
12028
12029         * gcov.c (arcdata): Use gcov_type to fix branch percentage
12030         for large hit count.
12031
12032         * profile.c (branch_prob): Fix .bbg info for computed gotos
12033         and C++ EH code.
12034
12035 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
12036
12037         * stmt.c (parse_output_constraint): New function, split out
12038         from ...
12039         (expand_asm_operands): ... here.  Use parse_output_constraint.
12040         * tree.h (parse_output_constraint): Declare it.
12041
12042 2001-07-11  Richard Henderson  <rth@redhat.com>
12043
12044         * bitmap.c: Comment some functions; fiddle whitespace.
12045         (bitmap_free): Don't export.
12046         (bitmap_element_allocate): Use memset.
12047         * bitmap.h (bitmap_free): Don't declare.
12048
12049 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
12050
12051         * gcse.c, lcm.c, sched-deps.c:
12052         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
12053
12054         * flow.c (flow_loops_find): Free dom if we found no loops, since
12055         we aren't going to save it.
12056
12057         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
12058         done.
12059
12060 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
12061
12062         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
12063
12064 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12065
12066         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
12067         #ifndef DWARF2_DEBUGGING_INFO.
12068
12069 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
12070
12071         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
12072
12073 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
12074
12075         * config/mips/mips.c (gen_int_relational): Tell the caller not to
12076         reverse a branch if a NE comparison is implemented with GTU.
12077
12078 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
12079             H.J. Lu  <hjl@gnu.org>
12080
12081         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
12082         constant addresses.
12083         (call_internal2): Likewise.
12084         (call_value_internal1): Likewise.
12085         (call_value_internal2): Likewise.
12086         (call_value_multiple_internal1): Likewise.
12087         (call_value_multiple_internal2): Likewise.
12088
12089 2001-07-10  Kazu Hirata  <kazu@hxi.com>
12090
12091         * calls.c (emit_library_call_value_1): Fix a comment typo.
12092         * dwarf2out.c (mem_loc_descriptor): Likewise.
12093         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
12094
12095 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
12096
12097         * simplify-rtx.c (simplify_subreg): Fix typo in comment
12098
12099 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12100
12101         * recog.c (offsettable_address_p): Handle LO_SUM case.
12102         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
12103         instead of plus_constant.
12104
12105 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12106
12107         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
12108         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
12109
12110 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12111
12112         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
12113         adjust_address_nv instead of plus_constant.
12114
12115 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
12116
12117         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
12118         dwarf2out.o): Depend on debug.h, wrap long lines.
12119         * dbxout.c: Include debug.h.
12120         (dbx_debug_hooks): New.
12121         (dbxout_init): Make static, take just 2 args.
12122         (dbxout_finish): Make static.
12123         * dbxout.h (dbxout_init, dbxout_finish): Delete.
12124         * debug.c: New file.
12125         * debug.h: New file.
12126         * dwarf2out.c: Include debug.h.
12127         (dwarf2_debug_hooks): New.
12128         (dwarf2out_init): Make static.
12129         (dwarf2out_finish): Make static, take 2 args.
12130         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
12131         * dwarfout.c: Include debug.h.
12132         (dwarf_debug_hooks): New.
12133         (dwarfout_init): Make static.
12134         (dwarfout_finish): Make static, take 2 args.
12135         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
12136         * sdbout.c: Include debug.h.
12137         (sdb_debug_hooks): New.
12138         (sdbout_init): Make static, take 2 args.
12139         * sdbout.h (sdbout_init): Delete.
12140         * toplev.c: Include debug.h.
12141         (debug_hooks): New.
12142         (compile_file): Set deubg_hooks based on command line options.
12143         Use the hooks unconditionally rather than conditional compilation.
12144
12145 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
12146
12147         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
12148         first_insn_after_basic_block_note instead.
12149
12150         * df.c (df_bb_refs_unlink): #if 0 out for now.
12151
12152 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
12153
12154         * ssa.h: Add prototype for ssa_const_prop
12155         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
12156         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
12157         (ssa_fast_dce): Remove unused variable
12158
12159 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
12160
12161         * diagnostic.c (finish_diagnostic): Rename to
12162         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
12163         calls thourghout.
12164
12165 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
12166
12167         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
12168         .loc support.
12169
12170         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
12171         (dump_file): Only pad the demangled name with spaces if the
12172         mangled name was padded with spaces.
12173
12174 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
12175
12176         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
12177         edge detection.
12178
12179 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12180
12181         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
12182         extraction if no direct load if either EXPAND_CONST_ADDRESS or
12183         EXPAND_INITIALIZER.
12184
12185         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
12186         whether can put offset inside LO_SUM to check mode alignment, not size.
12187
12188 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
12189
12190         * doc/tm.texi (Misc): Fix thinko.
12191
12192 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
12193
12194         * regmove.c (replace_in_call_usage): Fix warnings.
12195         * sched-deps.c (add_dependence): Fix warnings.
12196         * simplify-rtx.c (simplify_subreg): Likewise.
12197         Return NULL_RTX instead of NULL.
12198
12199         * reg-stack.c (emit_swap_insn): Eliminate warnings.
12200         (subst_asm_stack_regs): Likewise.
12201
12202         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
12203         warnings.
12204
12205         * dwarf2out.c (output_call_frame_info): Declare i as int.
12206         (build_abbrev_table): Declare n_alloc as int.
12207         (dwarf2out_finish): Initialize die.
12208         * except.c: Declare sjlj_funcdef_number as unsigned.
12209         (connect_post_landing_pads): Declare j as unsigned.
12210         (convert_to_eh_region_ranges): Initialize call_site.
12211         (output_function_exception_table): Initialize tt_format_size.
12212         * expr.c (move_by_pieces_1): Initialize to1.
12213         (store_constructor): Initialize minelt and maxelt.
12214         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
12215         * function.c (instantiate_decls): Avoid signed/unsigned warning.
12216
12217         * c-decl.c (combine_parm_decls): Unused, remove.
12218         * c-tree.h: Remove prototype for combine_parm_decls.
12219
12220         * reload.c (push_reload): Fix warning.
12221         (regno_clobbered_p): Likewise.
12222         * reload1.c (replace_pseudos_in_call_usage): Likewise.
12223         (reload_combine): Likewise.
12224
12225         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
12226         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
12227         warnings.
12228         * bitmap.c (bitmap_operation): Change user.
12229         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
12230
12231 2001-07-10  Eric Christopher  <echristo@redhat.com>
12232
12233         * config/mips/mips.c (override_options): Fix typo.
12234
12235 2001-07-09  Stan Shebs  <shebs@apple.com>
12236
12237         * target.h (struct gcc_target): New fields init_builtins and
12238         expand_builtin.
12239         * target-def.h (TARGET_INIT_BUILTINS): New macro.
12240         (TARGET_EXPAND_BUILTIN): New macro.
12241         (TARGET_INITIALIZER): Add them.
12242         * builtins.c: Include target.h.
12243         (expand_builtin): Use targetm.expand_builtin.
12244         (default_init_builtins): New function.
12245         (default_expand_builtin): New function.
12246         * expr.h (default_init_builtins): Declare.
12247         (default_expand_builtin): Declare.
12248         * c-common.c (c_common_nodes_and_builtins): Use
12249         targetm.init_builtins.
12250         * defaults.h (MD_INIT_BUILTINS): Remove.
12251         * Makefile.in (builtins.o): Depend on target.h.
12252
12253         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
12254         (TARGET_EXPAND_BUILTIN): Define.
12255         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
12256         (MD_EXPAND_BUILTIN): Remove.
12257
12258         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
12259         (TARGET_EXPAND_BUILTIN): Define.
12260         (c4x_init_builtins): Make endlink arg a local.
12261         (c4x_print_operand): Fix typos in adjust_address usages.
12262         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
12263         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
12264         (MD_EXPAND_BUILTIN): Remove.
12265
12266         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
12267         (TARGET_EXPAND_BUILTIN): Define.
12268         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
12269         (ix86_init_builtins): Call new function only if TARGET_MMX.
12270         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
12271         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
12272         (MD_EXPAND_BUILTIN): Remove.
12273
12274         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
12275         (TARGET_EXPAND_BUILTIN): Define.
12276         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
12277         (MD_EXPAND_BUILTIN): Remove.
12278
12279         * doc/tm.texi: Document these changes.
12280
12281 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
12282
12283         * basic-block.h (tree_node): Forward declare if needed.
12284         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
12285         (BLOCK_HEAD_TREE): Define.
12286         (BLOCK_END_TREE): Define.
12287         (struct loops): Rename field 'tree' to 'tree_root'.
12288         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
12289         'end_tree'.
12290         (flow_loops_tree_build): Rename reference to field 'tree' to
12291         'tree_root'.
12292         (flow_loops_level_compute): Ditto.
12293         * predict.c (estimate_bb_frequencies): Ditto.
12294         * tree.h (struct tree_common): Add field 'aux'.
12295
12296 2001-07-09  Stan Shebs  <shebs@apple.com>
12297
12298         * config/darwin.c (darwin_encode_section_info): Don't mark any
12299         DECL_EXTERNAL node as defined.
12300
12301 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12302
12303         * pa.c (pa_init_machine_status, pa_mark_machine_status,
12304         pa_free_machine_status, hppa_init_pic_save): Delete.
12305         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
12306         (hppa_profile_hook): Use hppa_pic_save_rtx.
12307         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
12308         hppa_init_pic_save): Delete.
12309         (hppa_pic_save_rtx): Declare.
12310         * pa.md (call, call_value, sibcall, sibcall_value,
12311         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
12312
12313 2001-07-09  Kazu Hirata  <kazu@hxi.com>
12314
12315         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
12316         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
12317
12318 2001-07-09  Andreas Jaeger  <aj@suse.de>
12319
12320         * output.h: Add declaration of final_forward_branch_p.
12321
12322         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
12323
12324         * varray.c: Include errors.h for internal_error and trim_filename
12325         declarations.
12326
12327         * Makefile.in (varray.o): Add errors.h.
12328
12329 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
12330
12331         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
12332         * optabs.c (have_add2_insn): Check whether the add insn chosen
12333         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
12334         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
12335
12336 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
12337
12338         * Makefile.in (OBJS): Add ssa-ccp.o
12339         (ssa-ccp.o): Add dependencies.
12340         * toplev.c (DFI_ssa_ccp): New dump file enum.
12341         (dump_file): Add entry for dumping after SSA CCP.
12342         (flag_ssa_ccp): New flag variable.
12343         (f_options): Add -fssa-ccp.
12344         (rest_of_compilation): Run SSA CCP if requested.
12345         * timevar.def (TV_SSA_CCP): New timevar.
12346         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
12347         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
12348         Fix minor typo in SSA DCE documentation.
12349         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
12350         Add documentation for new dump option.  Renumber dump files
12351         appropriately.
12352
12353 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
12354
12355         * emit-rtl.c (gen_highpart_mode): New.
12356         * rtl.h (gen_highpart_mode): Declare.
12357         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
12358         operand can be VOIDmode constant.
12359
12360 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
12361
12362         * flow.c (redirect_edge_and_branch_force): New.
12363         (can_fallthru): Ensure that basic blocks are succeeding.
12364         (try_optimize_cfg): Do not delete basic block if it is the last one.
12365
12366         * flow.c (try_redirect_by_replacing_jump): Do not remove
12367         jumps with side effects, unlink chain on fallthru edge;
12368         set block for new jump instruction; avoid basic block to
12369         over by line number note.
12370
12371         * flow.c (try_simplify_condjump): Verify that the condjump
12372         is not always falling through.
12373
12374         Re-install patch:
12375         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
12376
12377         * flow.c (forwarder_block_p): Fix for fallthru blocks.
12378         (try_redirect_by_replacing_jump): Update properly the count
12379         and frequency information.
12380
12381 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12382
12383         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
12384         address that is a LO_SUM specially.
12385         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
12386
12387         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
12388
12389         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
12390         (operand_subword): Use them.
12391         (change_address_1): Renamed from change_address; new arg VALIDATE.
12392         * expr.h: Reflect above changes; change_address now macro.
12393         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
12394         making MEM.
12395         * cselib.c (add_mem_for_addr): Likewise.
12396         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
12397         * regmove.c (try_apply_stack_adjustment): Likewise.
12398         * reload.c (push_reload, make_memloc): Likewise.
12399         * reload1.c (eliminate_regs): Likewise.
12400         * simplify-rtx.c (simplify_replace_rtx): Likewise.
12401         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
12402         adjust_addess.
12403         * combine.c (make_extraction, simplify_shift_const): Likewise.
12404         (gen_lowpart_for_combine): Likewise.
12405         * cse.c (gen_lowpart_if_possible): Likewise.
12406         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
12407         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
12408         * optabs.c (gen_move_insn): Likewise.
12409         * reload1.c (alter_reg): Likewise.
12410         * simplify-rtx.c (simplify_subreg): Likewise.
12411         * stmt.c (expand_anon_union_decl): Likewise.
12412         * recog.c (validate_replace_rtx_1): Likewise.
12413         (expr.h): Include.
12414         * Makefile.in (recog.o): Add $(EXPR_H).
12415         * explow.c (stabilize): Call replace_equiv_address.
12416         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
12417         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
12418
12419 2001-07-03  Andrew Haley  <aph@redhat.com>
12420
12421         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
12422         the mode of the memory location.
12423
12424 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
12425
12426         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
12427
12428 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
12429
12430         * final.c (output_addr_const): Use target opening and
12431         closing parentheses.
12432         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
12433         defaults, add to TARGET_ASM_OUT.
12434         * target.h (struct gcc_target): Add open_paren and close_paren.
12435         * doc/md.texi: Update.
12436         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
12437         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
12438         TARGET_ASM_CLOSE_PAREN.
12439         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
12440         Override.
12441         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
12442         Override.
12443         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
12444         * config/a29k/a29k.h: Similarly.
12445         * config/alpha/alpha.h: Similarly.
12446         * config/arc/arc.h: Similarly.
12447         * config/arm/aof.h: Similarly.
12448         * config/arm/aout.h: Similarly.
12449         * config/avr/avr.h: Similarly.
12450         * config/c4x/c4x.h: Similarly.
12451         * config/clipper/clipper.h: Similarly.
12452         * config/convex/convex.h: Similarly.
12453         * config/d30v/d30v.h: Similarly.
12454         * config/dsp16xx/dsp16xx.h: Similarly.
12455         * config/elxsi/elxsi.h: Similarly.
12456         * config/fr30/fr30.h: Similarly.
12457         * config/h8300/h8300.h: Similarly.
12458         * config/i370/i370.h: Similarly.
12459         * config/i386/i386.h: Similarly.
12460         * config/i860/i860.h: Similarly.
12461         * config/i960/i960.h: Similarly.
12462         * config/ia64/ia64.h: Similarly.
12463         * config/m32r/m32r.h: Similarly.
12464         * config/m68hc11/m68hc11.h: Similarly.
12465         * config/m68k/m68k.h: Similarly.
12466         * config/m88k/m88k.h: Similarly.
12467         * config/mcore/mcore.h: Similarly.
12468         * config/mips/mips.h: Similarly.
12469         * config/mn10200/mn10200.h: Similarly.
12470         * config/mn10300/mn10300.h: Similarly.
12471         * config/ns32k/ns32k.h: Similarly.
12472         * config/pa/pa.h: Similarly.
12473         * config/pdp11/pdp11.h: Similarly.
12474         * config/pj/pj.h: Similarly.
12475         * config/romp/romp.h: Similarly.
12476         * config/rs6000/rs6000.h: Similarly.
12477         * config/sh/sh.h: Similarly.
12478         * config/sparc/sparc.h: Similarly.
12479         * config/v850/v850.h: Similarly.
12480         * config/vax/vax.h: Similarly.
12481         * config/we32k/we32k.h: Similarly.
12482
12483 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
12484
12485         * doc/c-tree.texi: Document representation of attributes.
12486
12487 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
12488
12489         * doc/tm.texi: Update some places for the rename of target to
12490         targetm.  Fix typo.
12491
12492 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
12493
12494         * target.h (struct gcc_target): Add insert_attributes.
12495         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
12496         (TARGET_INITIALIZER): Update.
12497         * tree.c, tree.h (default_insert_attributes): New function.
12498         Update comments on other default functions to refer to targetm,
12499         not target.
12500         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
12501         TARGET_INSERT_ATTRIBUTES.
12502         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
12503         * c-common.c (decl_attributes): Use targetm.insert_attributes.
12504         Don't use PRAGMA_INSERT_ATTRIBUTES.
12505         * Makefile.in (c-common.o): Depend on $(TARGET_H).
12506         * c-decl.c (start_decl, start_function): Don't call
12507         SET_DEFAULT_DECL_ATTRIBUTES.
12508         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
12509         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
12510         declare.
12511         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
12512         (c4x_check_attribute): Avoid modifying attribute list itself.
12513         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
12514         Make static.
12515         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
12516         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
12517         declare.
12518         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
12519         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
12520         Make static.
12521         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
12522         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
12523         declare.
12524         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
12525         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
12526         Adjust parameters.  Make static.
12527
12528 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
12529
12530         * c-common.c (decl_attributes): Only take a single attributes
12531         parameter.
12532         * c-common.h (decl_attributes): Update prototype.
12533         * c-decl.c (start_decl, start_function): Only take a single
12534         attributes parameter.  Update calls to decl_attributes.
12535         (finish_struct, finish_enum): Update calls to decl_attributes.
12536         (push_parm_decl): Expect unified list of attributes.  Update call
12537         to decl_attributes.
12538         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
12539         notype_nested_function, component_declarator,
12540         component_notype_declarator, label): Update calls to
12541         decl_attributes.
12542         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
12543         lists that are passed to push_parm_decl.
12544         * c-tree.h (start_function, start_decl): Update prototypes.
12545         * config/sh/sh-protos.h, config/sh/sh.c
12546         (sh_pragma_insert_attributes): Only take a single attributes
12547         parameter.
12548         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
12549         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
12550         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
12551         build_module_descriptor, generate_static_references,
12552         generate_strings, build_selector_translation_table,
12553         generate_descriptor_table, generate_protocols,
12554         generate_ivars_list, generate_dispatch_table,
12555         generate_protocol_list, generate_category,
12556         generate_shared_structures, really_start_method, add_objc_decls,
12557         generate_classref_translation_entry): Update calls to start_decl
12558         and start_function.
12559         (build_tmp_function_decl, start_method_def): Unify attribute lists
12560         that are passed to push_parm_decl.
12561
12562 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
12563
12564         * final.c (no_asm_to_stream): New.
12565         (final_scan_insn): Use target structures for prologue ends
12566         and epilogue starts.
12567         * output.h (no_asm_to_stream): New.
12568         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
12569         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
12570         (TARGET_ASM_OUT): Update.
12571         * target.h (struct gcc_target): New members function_end_prologue
12572         and function_begin_epilogue.
12573         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
12574         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
12575         * config/alpha/alpha.c (output_end_prologue): Rename to
12576         alpha_output_function_end_prologue.  Use in target struct
12577         and make static.
12578         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
12579         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
12580         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
12581         ia64_output_function_end_prologue.  Use in target struct
12582         and make static.
12583         (ia64_function_prologue, ia64_funciton_epilogue): Rename
12584         mistyped prototypes.
12585         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
12586         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
12587         Delete.
12588         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
12589         an use in target struct, make static.
12590         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
12591         Delete.
12592
12593 2001-07-08  Richard Henderson  <rth@redhat.com>
12594
12595         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
12596
12597 2001-07-08  Richard Henderson  <rth@redhat.com>
12598
12599         * config/i386/i386.md: Remove constraints strings from define_split
12600         and define_peephole2 patterns.
12601         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
12602         (eh_return): Use them.
12603
12604 2001-07-08  Richard Henderson  <rth@redhat.com>
12605
12606         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
12607         Document MD_FALLBACK_FRAME_STATE_FOR.
12608
12609 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12610
12611         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
12612         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
12613         elimination.
12614         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
12615
12616 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
12617
12618         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
12619         of the label inside NAME as opposed to just the end of NAME.
12620
12621 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12622
12623         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
12624         * config/alpha/alpha.c (alpha_init_machine_status,
12625         alpha_mark_machine_status, alpha_free_machine_status): Delete.
12626         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
12627         (vms_valid_decl_attribute_p): Make static, conditionally compile.
12628         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
12629
12630 2001-07-06  Stan Shebs  <shebs@apple.com>
12631
12632         * target.h (targetm): Rename global from "target", so as not to
12633         conflict with local variables.
12634         * c-decl.c: Ditto.
12635         * c-typeck.c: Ditto.
12636         * final.c: Ditto.
12637         * tree.c: Ditto.
12638         * cp/decl.c: Ditto.
12639         * cp/decl2.c: Ditto.
12640         * cp/typeck.c: Ditto.
12641         * 1750a/1750a.c: Ditto.
12642         * a29k/a29k.c: Ditto.
12643         * arc/arc.c: Ditto.
12644         * arm/arm.c: Ditto.
12645         * avr/avr.c: Ditto.
12646         * clipper/clipper.c: Ditto.
12647         * convex/convex.c: Ditto.
12648         * d30v/d30v.c: Ditto.
12649         * dsp16xx/dsp16xx.c: Ditto.
12650         * elxsi/elxsi.c: Ditto.
12651         * fr30/fr30.c: Ditto.
12652         * h8300/h8300.c: Ditto.
12653         * i370/i370.c: Ditto.
12654         * i386/i386.c: Ditto.
12655         * i860/i860.c: Ditto.
12656         * i960/i960.c: Ditto.
12657         * ia64/ia64.c: Ditto.
12658         * m32r/m32r.c: Ditto.
12659         * m68hc11/m68hc11.c: Ditto.
12660         * m68k/m68k.c: Ditto.
12661         * m88k/m88k.c: Ditto.
12662         * mips/mips.c: Ditto.
12663         * ns32k/ns32k.c: Ditto.
12664         * pa/pa.c: Ditto.
12665         * pdp11/pdp11.c: Ditto.
12666         * romp/romp.c: Ditto.
12667         * rs6000/rs6000.c: Ditto.
12668         * sh/sh.c: Ditto.
12669         * sparc/sparc.c: Ditto.
12670         * vax/vax.c: Ditto.
12671         * we32k/we32k.c: Ditto.
12672         * doc/tm.texi: Update the manual to match.
12673
12674 2001-07-06  Richard Henderson  <rth@redhat.com>
12675
12676         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
12677         DWARF2_UNWIND_INFO not just whether it is defined.
12678
12679 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
12680
12681         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
12682         call to simplify_binary_operation returns a new pattern.
12683
12684 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
12685
12686         * glimits.h (__SHRT_MAX__): New.
12687         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
12688         (SHRT_MAX): Define in terms of __SHRT_MAX__.
12689
12690 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
12691
12692         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
12693         avoid warnings.
12694
12695 2001-07-06  Richard Henderson  <rth@redhat.com>
12696
12697         * bitmap.c (bitmap_release_memory): Move adjacent to the
12698         allocation functions.
12699         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
12700         the implementation.  Binary search for the set bit.
12701         (bitmap_union_of_diff): Allocate the temporary on the stack
12702         instead of using xmalloc.
12703
12704 2001-07-06  Richard Henderson  <rth@redhat.com>
12705
12706         * genrecog.c (validate_pattern): Warn for constraints in
12707         define_{expand,split,peephole2}.  Remove strict_low_part
12708         before looking up match_dup.
12709
12710 2001-07-06  DJ Delorie  <dj@redhat.com>
12711
12712         * doc/gcc.texi (Makefile): Rename to be a more general purpose
12713         chapter about various build hints and history.  Add section
12714         talking about the various types of native and cross builds.
12715
12716 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
12717
12718         * Makefile.in (final.o): Depend on target.h.
12719         * final.c: Include target.h.
12720         (default_function_pro_epilogue): New.
12721         (final_start_function): Use target structure for function prologues.
12722         (final_end_function): Use target structure for function epilogues.
12723         * fold-const.c (real_hex_to_f): Constify s and p.
12724         * output.h (default_function_pro_epilogue): New.
12725         * real.h (real_hex_to_f): Update prototype.
12726         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
12727         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
12728         (TARGET_INITIALIZER): Update.
12729         * target.h (gcc_target): Add struct asm_out.
12730         * doc/tm.texi: Update.
12731
12732 config:
12733         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
12734         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
12735         in cpu/cpu.c, or rename old functions consistently.  Take
12736         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
12737         redundant macros and prototypes.  Make new functions static.
12738
12739         * 1750a/1750a.c: Similarly.
12740         * 1750a/1750a.h: Similarly.
12741         * a29k/a29k-protos.h: Similarly.
12742         * a29k/a29k.c: Similarly.
12743         * a29k/a29k.h: Similarly.
12744         * arc/arc-protos.h: Similarly.
12745         * arc/arc.c: Similarly.
12746         * arc/arc.h: Similarly.
12747         * arm/arm-protos.h: Similarly.
12748         * arm/arm.c: Similarly.
12749         * arm/arm.h: Similarly.
12750         * avr/avr-protos.h: Similarly.
12751         * avr/avr.c: Similarly.
12752         * avr/avr.h: Similarly.
12753         * clipper/clipper-protos.h: Similarly.
12754         * clipper/clipper.c: Similarly.
12755         * clipper/clipper.h: Similarly.
12756         * convex/convex.c: Similarly.
12757         * convex/convex.h: Similarly.
12758         * d30v/d30v-protos.h: Similarly.
12759         * d30v/d30v.c: Similarly.
12760         * d30v/d30v.h: Similarly.
12761         * d30v/d30v.md: Similarly.
12762         * dsp16xx/dsp16xx-protos.h: Similarly.
12763         * dsp16xx/dsp16xx.c: Similarly.
12764         * dsp16xx/dsp16xx.h: Similarly.
12765         * elxsi/elxsi.c: Similarly.
12766         * elxsi/elxsi.h: Similarly.
12767         * fr30/fr30.c: Similarly.
12768         * fr30/fr30.md: Similarly.
12769         * h8300/h8300-protos.h: Similarly.
12770         * h8300/h8300.c: Similarly.
12771         * h8300/h8300.h: Similarly.
12772         * i370/i370-protos.h: Similarly.
12773         * i370/i370.c: Similarly.
12774         * i370/i370.h: Similarly.
12775         * i386/i386.c: Similarly.
12776         * i386/osf1elf.h: Similarly.
12777         * i386/osfrose.h: Similarly.
12778         * i860/i860-protos.h: Similarly.
12779         * i860/i860.c: Similarly.
12780         * i860/i860.h: Similarly.
12781         * i960/i960-protos.h: Similarly.
12782         * i960/i960.c: Similarly.
12783         * i960/i960.h: Similarly.
12784         * ia64/ia64-protos.h: Similarly.
12785         * ia64/ia64.c: Similarly.
12786         * ia64/ia64.h: Similarly.
12787         * m32r/m32r-protos.h: Similarly.
12788         * m32r/m32r.c: Similarly.
12789         * m32r/m32r.h: Similarly.
12790         * m68hc11/m68hc11-protos.h: Similarly.
12791         * m68hc11/m68hc11.c: Similarly.
12792         * m68hc11/m68hc11.h: Similarly.
12793         * m68k/crds.h: Similarly.
12794         * m68k/dpx2.h: Similarly.
12795         * m68k/m68k-protos.h: Similarly.
12796         * m68k/m68k.c: Similarly.
12797         * m68k/m68k.h: Similarly.
12798         * m68k/news.h: Similarly.
12799         * m88k/m88k-protos.h: Similarly.
12800         * m88k/m88k.c: Similarly.
12801         * m88k/m88k.h: Similarly.
12802         * mips/mips-protos.h: Similarly.
12803         * mips/mips.c: Similarly.
12804         * mips/mips.h: Similarly.
12805         * ns32k/merlin.h: Similarly.
12806         * ns32k/ns32k.c: Similarly.
12807         * ns32k/ns32k.h: Similarly.
12808         * ns32k/tek6000.h: Similarly.
12809         * pa/pa-protos.h: Similarly.
12810         * pa/pa.c: Similarly.
12811         * pa/pa.h: Similarly.
12812         * pdp11/2bsd.h: Similarly.
12813         * pdp11/pdp11-protos.h: Similarly.
12814         * pdp11/pdp11.c: Similarly.
12815         * pdp11/pdp11.h: Similarly.
12816         * romp/romp-protos.h: Similarly.
12817         * romp/romp.c: Similarly.
12818         * romp/romp.h: Similarly.
12819         * rs6000/rs6000-protos.h: Similarly.
12820         * rs6000/rs6000.c: Similarly.
12821         * rs6000/rs6000.h: Similarly.
12822         * rs6000/sysv4.h: Similarly.
12823         * sh/sh-protos.h: Similarly.
12824         * sh/sh.c: Similarly.
12825         * sh/sh.h: Similarly.
12826         * sparc/sparc-protos.h: Similarly.
12827         * sparc/sparc.c: Similarly.
12828         * sparc/sparc.h: Similarly.
12829         * vax/vax.c: Similarly.
12830         * vax/vax.h: Similarly.
12831         * vax/vms.h: Similarly.
12832         * we32k/we32k.c: Similarly.
12833         * we32k/we32k.h: Similarly.
12834
12835 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
12836
12837         * basic-block.h (first_insn_after_basic_block_note): Declare.
12838         * flow.c (first_insn_after_basic_block_note): Define.  Moved
12839         from...
12840         * ssa.c (first_insn_after_basic_block_note): Remove.
12841         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
12842         necessary.
12843         (ssa_eliminate_dead_code): Properly update the CFG and PHI
12844         nodes when we find a dead conditional branch.  Insert BARRIERs
12845         after any blocks with no successors, but which do not have
12846         any BARRIERs.
12847
12848 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
12849
12850         * varray.c (varray_check_failed): Use internal_error.
12851
12852 2001-07-05  Andrew Haley  <aph@redhat.com>
12853
12854         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
12855         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
12856         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
12857
12858 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
12859
12860         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
12861         reference if the target constant is also a SYMBOL_REF.
12862
12863 2001-07-05  Eric Christopher  <echristo@redhat.com>
12864
12865         * config/mips/mips.h (MASK_MIPS3900): Remove.
12866         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
12867         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
12868         (TARGET_MIPS3900): Change to use mips_arch.
12869         (TARGET_MIPS4000): New.
12870         (TARGET_MIPS4100): New.
12871         (TARGET_MIPS4300): New.
12872         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
12873         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
12874         for -mipsX.
12875         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
12876         (ISA_HAS_BRANCHLIKELY): To here.
12877         (CC1_CPU_SPEC):  New.
12878         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
12879         (mips_arch_string): Declare.
12880         (mips_arch): Declare.
12881         (TARGET_OPTIONS): Add -march and -mtune.
12882
12883         * config/mips/mips.c (mips_arch_string): New.
12884         (mips_arch): New.
12885         (override_options): Handle -march for codegen and -mtune
12886         for scheduling. Use mips_arch. Move tx39 target default here.
12887         (mips_parse_cpu): Move error message to override_options.
12888
12889         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
12890
12891         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
12892
12893         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
12894         (MIPS Options): Ditto.  Change mcpu entry to historical text.
12895
12896 2001-07-05  H.J. Lu  (hjl@gnu.org)
12897
12898         * config/mips/mips.c (mips_parse_cpu): New function to parse
12899         -march=*/-mcpu=*.
12900
12901 2001-07-05  Jim Wilson  <wilson@redhat.com>
12902
12903         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
12904         * config/ia64/t-ia64: Likewise.
12905         (LIB1ASMFUNCS): Update comment.
12906
12907 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
12908
12909         * doc/install.texi (Install GCC: Binaries): Fix typo.
12910
12911 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12912
12913         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
12914         reference using the stack pointer, adjust it since we push Y
12915         temporarily.
12916         ("*ashrsi3"): Likewise.
12917         ("*lshrsi3"): Likewise.
12918
12919 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12920
12921         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
12922         when -fomit-frame-pointer is used.
12923
12924 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
12925
12926         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
12927         (try_redirect_by_replacing_jump): Reverse updating properly the
12928         count and frequency information.  Reverse removing cc0 setter.
12929         (forwarder_block_p): Reverse fixing for fallthru blocks.
12930
12931 2001-07-05  DJ Delorie  <dj@redhat.com>
12932
12933         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
12934         (translate_options): If the above is defined, use it to map
12935         given options to new options.
12936         * doc/tm.texi: Document it.
12937
12938 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
12939             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12940
12941         * doc/invoke.texi (Optimize Options): Document that -fgcse may
12942         cause programs using computed gotos to run more slowly.
12943
12944 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12945
12946         * doc/install.texi (Specific): Markup, spelling and typo fixes.
12947         Fixed sorting.
12948         Consistently require binutils 2.11.2, not prereleases.
12949         (Specific, decstation-*): Canonicalize as mips-dec-*.
12950         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
12951         always necessary.
12952         (Specific, m68k-altos): Removed reference to README.altos, deleted.
12953         (Specific, mips-*): Reword MIPS C compiler requirements.
12954         (Specific, powerpc*-*-*): New, mention --with-cpu once.
12955         (Specific, sunv5): Removed, obsolete.
12956
12957 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
12958
12959         * dwarf2out.c (output_loc_list): Use an all ones mask for
12960         .text asm output and don't rely on long long
12961         literals. Reformat some long lines.
12962
12963 2001-07-05  Andreas Jaeger  <aj@suse.de>
12964
12965         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
12966         section.
12967
12968 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
12969
12970         * dwarf2out.c (dwarf2out_define): Update comment.
12971         (dwarf2out_undef): Ditto.
12972         (dwarf2out_start_source_file): Ditto.
12973         (dwarf2out_end_source_file): Ditto.
12974         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
12975         since we never call the start/end debug hook for the primary file.
12976
12977 2001-07-04  Kazu Hirata  <kazu@hxi.com>
12978
12979         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
12980         from shll.
12981
12982 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
12983
12984         * cppinit.c (remove_dup_dirs): Inform if a system include
12985         directory is being reordered.
12986         * doc/invoke.texi (Directory Options): GCC warns if you hide a
12987         system include.
12988         * doc/cpp.texi (Search Paths): Likewise.
12989         * doc/gcc.texi (Interoperation): Remove information about
12990         -I/usr/include.
12991
12992 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
12993
12994         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
12995         (VARRAY_TOP_CHAR_PTR): Likewise.
12996
12997 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12998
12999         * gcc.c (process_command): Don't assign elements of a const char*.
13000
13001 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13002
13003         * emit-rtl.c (change_address): Don't abort if invalid address while
13004         reload is in progress.
13005
13006 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
13007
13008         * c-lex.c (cb_file_change): Pass line number to
13009         debug_start_source_file.
13010         (cb_undefine): Pass correct line number to debug_undef.
13011
13012         * toplev.c (debug_start_source_file): Add line number to
13013         parameters. Pass it along to dwarf2out_start_source_file.
13014         (decode_g_option): Stop resetting debug level back to normal when
13015         we change debug formats, unless the current level is
13016         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
13017         3).
13018
13019         * toplev.h (debug_start_source_file): Add line number to
13020         parameters.
13021
13022         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
13023         parameters.
13024
13025         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
13026         parameters.
13027         Output debug_macinfo data for starting file if requested.
13028         (dwarf2out_end_source_file): Output debug_macinfo data for ending
13029         file if requested.
13030         (dwarf2out_define): Output debug_macinfo data for defining a macro
13031         if requested.
13032         (dwarf2out_undef): Output debug_macinfo data for undefining a
13033         macro if requested.
13034         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
13035         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
13036         (macinfo_section_label): New. DWARF2 macro info section label.
13037         (dwarf2out_init): If we want macro info, output the start label
13038         for the section.
13039         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
13040         attribute to the compilation unit die pointing to the macro info.
13041
13042 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
13043
13044         * dwarf2out.c (new_loc_list): Move to inside #ifdef
13045         DWARF2_DEBUGGING_INFO.
13046         (add_loc_descr_to_loc_list): Ditto.
13047         (output_loc_list): Ditto.
13048         Also, fix thinko in curr not being initialized.
13049         (gen_internal_sym): Ditto.
13050
13051 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13052
13053         * emit-rtl.c (replace_equiv_address): New function.
13054         * expr.h (replace_equiv_address): New declaration.
13055         * explow.c (validize_mem): Call it instead of change_address and
13056         also call if -fforce-addr and address is constant.
13057         * expr.c: Replace more calls to change_address with adjust_address
13058         and/or replace_equiv_address or to validize_mem.
13059         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
13060         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
13061         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
13062         * config/i370/i370.md, config/i860/i860.md: Likewise.
13063         * config/i960/i960.md, config/mips/mips.c: Likewise.
13064         * config/mips/mips.md, config/pa/pa.md: Likewise.
13065         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
13066         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
13067
13068 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13069
13070         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
13071
13072         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
13073         function.
13074
13075 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
13076
13077         * doc/include: New directory.
13078         * doc/fdl.texi: Move to doc/include/fdl.texi.
13079         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
13080         * doc/include/funding.texi, doc/include/gpl.texi: New files.
13081         * doc/gcc.texi: Use funding.texi and gpl.texi.
13082         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
13083         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
13084         Update dependencies and use -I $(docdir)/include.
13085
13086 2001-07-04  Anthony Green  <green@redhat.com>
13087
13088         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
13089
13090 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13091
13092         * doc/install.texi (sparc64-*-*): Remove garbage.
13093
13094 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
13095
13096         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
13097         Fix typo in last change to use adjust_address.
13098
13099 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13100
13101         * doc/install.texi (Specific): Update information for *-*-solaris*.
13102
13103 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13104
13105         * explow.c (plus_constant_wide): Reinitialize Y for restart.
13106
13107 2001-07-03  Stan Shebs  <shebs@apple.com>
13108
13109         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
13110         case for flag_no_mach_text_sections.
13111         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
13112         * config/darwin.c (flag_no_mach_text_sections): Remove.
13113         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
13114
13115 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13116
13117         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
13118         and avoid checking for constant as first operand.
13119         * recog.c (find_constant_term_loc): No longer static.
13120         (adj_offettable_operand): Delete.
13121         * rtl.h (adj_offsettable_operand): Delete declaration.
13122         (find_constant_term): Add declaration.
13123         * caller-save.c: Replace calls to adj_offsettable_operand with calls
13124         to adjust_address.
13125         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
13126         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
13127         * config/i386/i386.c, config/i386/i386.md: Likewise.
13128         * config/i860/i860.c, config/i960/i960.c: Likewise.
13129         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
13130         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
13131         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
13132         * config/mips/mips.c, config/mips/mips.md: Likewise.
13133         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
13134         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
13135         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
13136         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
13137         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
13138         * config/ns32k/ns32k.md: Likewise.
13139
13140 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
13141
13142         * rtl.c (copy_rtx): Handle 'T' format letter.
13143         * gensupport.c (collect_insn_data): Likewise.
13144         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
13145
13146 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
13147
13148         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
13149         -B option.  Use 'dir' not 'foo' as example directory name.
13150
13151 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13152
13153         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
13154         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
13155
13156 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
13157
13158         * doc/cppinternals.texi: Improve formatting and logical markup.
13159
13160 2001-07-03  Andreas Jaeger  <aj@suse.de>
13161
13162         * Makefile.in (insn-recog.o): Add dependency on reload.h.
13163
13164         * genrecog.c (write_header): Include reload.h for prototypes in
13165         insn-recog.c.
13166
13167 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
13168
13169 config:
13170         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
13171         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
13172         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
13173         i386_pe_valid_type_attribute_p): Add.
13174         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
13175         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
13176
13177 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13178
13179         * explow.c (plus_constant_wide, case LO_SUM): New case.
13180         (plus_constant_for_output_wide): Delete.
13181         * rtl.h (plus_constant_for_output): Delete.
13182         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
13183         instead of plus_constant_for_output.
13184         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
13185         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
13186         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
13187         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
13188         * config/sparc/sparc.md: Likewise.
13189         Convert some change_address calls to adjust_address.
13190
13191 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
13192
13193         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
13194         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
13195         documentation of -std and -Wwrite-strings.
13196
13197 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
13198
13199         * cse.c (canon_hash): Don't register registers in very small
13200         register classes, as extending their lifetime might cause
13201         reload to fail.
13202
13203 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
13204
13205         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
13206
13207         * flow.c (forwarder_block_p): Fix for fallthru blocks.
13208         (try_redirect_by_replacing_jump): Update properly the count
13209         and frequency information.
13210
13211 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
13212
13213         * toplev.c (dump_file_index): Move SSA dumps just after first
13214         jump dump.
13215         (dump_file): Corresponding changes.
13216         (rest_of_compilation): Move SSA path to just after the first
13217         jump pass.
13218         * doc/gcc.texi (Passes): Update due to movement of SSA path.
13219         * doc/invoke.texi: Update dump file #s as they were completely
13220         out of date with reality.
13221
13222 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
13223
13224         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
13225
13226         * expr.c (emit_move_insn_1): Deal with non-default
13227         STACK_PUSH_CODE.
13228
13229         * expr.c (emit_single_push_insn): Fix warning.
13230
13231 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
13232
13233         * expr.c (emit_move_insn_1): Avoid modifying
13234         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
13235
13236 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13237
13238         * emit-rtl.c (adjust_address): New function.
13239         * expr.h (adjust_address): Add declaration.
13240         * builtins.c: Replace some calls to change_address with calls to it
13241         or to validize_mem.
13242         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
13243         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
13244         * config/arm/arm.c, config/convex/convex.c: Likewise.
13245         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
13246         * config/i386/i386.c, config/i386/i386.md: Likewise.
13247         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
13248         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
13249         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
13250         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
13251         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
13252
13253 2001-07-02  Jim Wilson  <wilson@redhat.com>
13254
13255         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
13256
13257 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
13258
13259         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
13260         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
13261
13262 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
13263
13264         * cppinit.c (lang_defaults): New table.
13265         (set_lang): Just read from lang_defaults into the live options
13266         structure.
13267
13268 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
13269
13270         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
13271         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
13272         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
13273
13274 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13275
13276         * doc/install.texi: Various spelling and markup fixes.
13277         (Installing GCC): Component specific installation instructions are
13278         gone.
13279         Fix reference.
13280         Warn about removing old install dir in the presence of shared libs.
13281         (Configuration): Invoke with options target to match configure
13282         --help.
13283         Consistently refer to gas, gld pathnames.
13284         Invert --enable-multilib documentation.
13285         Remove references to old compiler versions.
13286
13287 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13288
13289         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
13290
13291 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13292
13293         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
13294         section.
13295         (Specific, mips*-sgi-irix5): Note IDO download.
13296         Reworded MIPS C hints.
13297         Use GNU as instead of GAS.
13298         Markup fixes.
13299         Removed SGI Freeware reference, IRIX 6 only.
13300         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
13301         Note N64 library requirement/workaround.
13302         Update O32 hints.
13303         Complete list of structure passing bug victims.
13304
13305 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13306
13307         * doc/install.texi: Remove CVS Id.
13308
13309 2001-07-02  Andreas Jaeger  <aj@suse.de>
13310
13311         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
13312         (find_inherently_necessary): Remove unused variable.
13313
13314 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
13315
13316         * c-common.h (TDI_inlined): New ast dump phase.
13317         (dump_flag_name): New function.
13318         * c-dump.c (dump_files): Add inlined phase.
13319         (dump_flag_name): Define.
13320         * doc/invoke.texi (-fdump-ast-inlined): Document.
13321
13322 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13323
13324         * stor-layout.c (layout_decl): Revert change to handling of alignment
13325         in packed types.
13326
13327 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13328
13329         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
13330         for FIELD_DECL.
13331
13332 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
13333
13334         * doc/tm.texi (FUNCTION_ARG): Document that the last call
13335         is special.
13336
13337 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
13338
13339         * tlink.c (recompile_files): Remove COMPILER_PATH and
13340         LIBRARY_PATH from the environment.
13341
13342 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
13343
13344         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
13345         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
13346         enumerators.
13347         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
13348
13349         * c-parse.in (OBJC_STRING): Kill.
13350         (objc_string): Decompose to [objc_string] '@' STRING.
13351         (reswords): Take the leading '@' off all the Objective C keywords.
13352         (objc_rid_sans_at): Kill.
13353         (init_reswords): Don't initialize it.
13354         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
13355         (_yylex): Kill reconsider label.  Look ahead one token after
13356         an '@'; if we get an identifier, check whether it's an
13357         Objective C @-keyword.  If so, return the keyword.  Otherwise,
13358         put back the token and return the '@' as a terminal.
13359
13360         * cpplib.c (lex_macro_node): Remove unnecessary check for
13361         leading '@' on identifier.  Clarify control flow and commentary.
13362
13363 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13364
13365         * cse.c (new_label_ref): Variable deleted.
13366         (insert): Remove set of new_label_ref.
13367         (check_for_label_ref): New function.
13368         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
13369
13370 See ChangeLog.5 for earlier changes.