OSDN Git Service

a0731e541f4a840b36fa7123d8b0e63f5e1caf9d
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
2
3         * c-lang.c (LANG_HOOKS_NAME): New.
4         (lang_hooks): Constify.
5         (c_init_options): Update.
6         (lang_identify): Remove.
7         * c-parse.in (language_string): Remove.
8         * dbxout.c: Include langhooks.h.
9         (dbxout_symbol_location): Update.
10         * dwarf2out.c: Include langhooks.h.
11         (gen_compile_unit_die): Update.
12         * dwarfout.c: Include langhooks.h.
13         (prototyped_attribute, output_compile_unit_die): Update.
14         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
15         (LANG_HOOKS_INITIALIZER): Update.
16         * langhooks.h (struct lang_hooks): New members.  Constify.
17         * stringpool.c: Don't include toplev.h.
18         (set_identifier_size): Remove.
19         * toplev.c (toplev_main): Initialize identifier size.
20         (print_version): Update.
21         * tree.h (language_string, init_lex, lang_identify,
22         set_identifier_size): Remove.
23         * Makefile.in: Update dependencies.
24         * config/darwin.c: Include langhooks.h.
25         (func_name_maybe_scoped): Update.
26         * config/darwin.h (ASM_END_FILE): Update.
27         * config/nextstep.h (ASM_END_FILE): Update.
28         * config/nextstep21.h (ASM_END_FILE): Update.
29         * config/i386/sun386.h (ASM_END_FILE): Update.
30         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
31         (rs6000_output_function_epilogue): Update.
32 objc:
33         * objc-act.c (LANG_HOOKS_NAME): Override.
34         (struct lang_hooks): Constify.
35         (objc_init_options): Update.
36         (lang_identify): Remove.
37
38 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
39
40         * fold-const.c (lshift_double): Honor PREC.
41         (rshift_double): Likewise.
42
43 2001-11-08  Kazu Hirata  <kazu@hxi.com>
44
45         * config/1750a/1750a.c: Fix comment formatting.
46         * config/1750a/1750a.h: Likewise.
47
48 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
49
50         * configure.in (--enable-languages): Be more permissive about
51         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
52         * configure: Regenerated.
53
54 2001-11-08  Richard Henderson  <rth@redhat.com>
55
56         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
57
58 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
59
60         * config.gcc: Rename stormy16 to xstormy16.
61         * config/stormy16/stormy-abi: Likewise.
62         * config/stormy16/stormy16-protos.h: Likewise.
63         * config/stormy16/stormy16.c: Likewise.
64         * config/stormy16/stormy16.h: Likewise.
65         * config/stormy16/stormy16.md: Likewise.
66
67 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
68
69         * tree.h (TYPE_VOLATILE): Add enable-checking code.
70         (TYPE_READONLY): Likewise.
71
72 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
73
74         * reload1.c (reload): Don't delete equiv insn if can throw.
75
76         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
77         (clear_storage): Likewise, for OBJECT.
78
79 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
80
81         * pa.c (emit_move_sequence): Fix SUBREG expression to
82         use proper byte offset when extending a constant from
83         SImode to DImode.
84
85 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
86
87         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
88         which cannot throw.
89
90 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
91
92         * explow.c (convert_memory_address, case SUBREG): Only return
93         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
94
95 2001-11-08  Richard Henderson  <rth@redhat.com>
96
97         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
98         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
99         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
100
101 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
102
103         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
104
105 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
106
107         * dwarf2out.c (debug_str_hash): New.
108         (struct indirect_string_node): New.
109         (struct dw_val_struct): Change type of val_str to it.
110         (DEBUG_STR_SECTION_FLAGS): Define.
111         (add_AT_string): Push string into hashtable, increment reference
112         counter.
113         (AT_string): Return string from ht_identifier.
114         (AT_string_form): New.
115         (free_AT): For dw_val_class_str, just decrement reference counter.
116         (size_of_string): Remove.
117         (size_of_die): Use AT_string_form to decide what size the string
118         occupies in DIE.
119         (size_of_pubnames): Use strlen instead of size_of_string.
120         (value_format): Use AT_string_form for dw_val_class_str.
121         (output_die): Output DW_FORM_strp strings using
122         dw2_asm_output_offset.
123         (indirect_string_alloc, output_indirect_string): New.
124         (dwarf2out_finish): Emit .debug_str strings if there are any.
125
126 2001-11-08  Andreas Franck  <afranck@gmx.de>
127
128         * configure.in: Add AC_ARG_PROGRAM to support program name
129         transformation with --program-prefix, --program-suffix and
130         --program-transform-name.
131         * configure: Regenerated.
132         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
133         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
134         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
135         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
136         program_transform_name the way suggested by autoconf.
137         (GCC_TARGET_INSTALL_NAME): Define.
138         (install-driver): Use the transformed target alias name.
139
140 2001-11-08  Richard Henderson  <rth@redhat.com>
141
142         * config/mips/mips.c (save_restore_insns): Remove GP from the
143         restore registers mask early instead of special casing it inside
144         the loop.
145
146 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
147
148         * cp/decl.c (shadow_warning): New function.
149         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
150         and an error when a block scope decl shadows a parameter.
151
152 2001-11-08  Richard Henderson  <rth@redhat.com>
153
154         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
155         case as well.
156
157 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
158
159         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
160         to implement floating negation on processors prior to PA 2.0.
161
162 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
163
164         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
165         (USE_LINKONCE_INDIRECT): Define.
166         (dw2_output_indirect_constant_1): Try to output indirect constants
167         into linkonce sections if possible.
168         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
169         (dw2_output_indirect_constants): Likewise.
170
171 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
172
173         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
174
175 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
176
177         * c-decl.c (pushdecl): Remove file and line.
178         * c-typeck.c (pop_init_level): Remove size.
179
180 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
181
182         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
183         for rs6000.
184
185         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
186         (TARGET_ALTIVEC): New.
187         (TARGET_SWITCHES): Add altivec.
188         (FIRST_PSEUDO_REGISTER): Change to 109.
189         (CALL_USED_REGISTERS): Same.
190         (FIRST_ALTIVEC_REGNO): New.
191         (LAST_ALTIVEC_REGNO): New.
192         (ALTIVEC_REGNO_P): New.
193         (UNITS_PER_ALTIVEC_WORD): New.
194         (ALTIVEC_VECTOR_MODE): New.
195         (FIXED_REGISTERS): Add altivec registers.
196         (REG_ALLOC_ORDER): Same.
197         (HARD_REGNO_NREGS): Adjust for altivec registers.
198         (HARD_REGNO_MODE_OK): Same.
199         (MODES_TIEABLE_P): Same.
200         (REGISTER_MOVE_COST): Same.
201         (REGNO_REG_CLASS): Same.
202         (reg_class): Add ALTIVEC_REGS.
203         (REG_CLASS_NAMES): Same.
204         (REG_CLASS_CONTENTS): Same.
205         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
206         (ALTIVEC_ARG_RETURN): New.
207         (FUNCTION_VALUE): Handle VECTOR_TYPE.
208         (LIBCALL_VALUE): Handle altivec vector modes.
209         (VECTOR_MODE_SUPPORTED_P): New.
210         (ALTIVEC_ARG_MIN_REG): New.
211         (ALTIVEC_ARG_MAX_REG): New.
212         (ALTIVEC_ARG_NUM_REG): New.
213         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
214         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
215         (REGISTER_NAMES): Add altivec regs.
216         (DEBUG_REGISTER_NAMES): Same.
217         (ADDITIONAL_REGISTER_NAMES): Same.
218         (rs6000_builtins): New.
219         (MD_EXPAND_BUILTIN): New.
220         (MD_INIT_BUILTINS): New.
221         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
222         for AltiVec instructions.
223         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
224         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
225         registers.
226         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
227         (TARGET_SWITCHES): Add no-altivec.
228         (DATA_ALIGNMENT): Align vectors to 128 bits.
229         (TARGET_OPTIONS): Add abi= option.
230         Add rs6000_abi_string extern.
231         (LOCAL_ALIGNMENT): New.
232         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
233         (MASK_ALTIVEC_ABI): New.
234         (TARGET_ALTIVEC_ABI): New.
235         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
236         call-saved.
237         (STACK_BOUNDARY): Adjust for altivec.
238         (BIGGEST_ALIGNMENT): Same.
239         (rs6000_args): Add vregno.
240         (USE_ALTIVEC_FOR_ARG_P): New.
241         (FIXED_REGISTERS): Add vrsave register.
242         (CALL_USED_REGISTERS): Same.
243         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
244         (VRSAVE_REGNO): New.
245         (reg_class): Add VRSAVE_REGS.
246         (REG_CLASS_NAMES): Same.
247         (REG_CLASS_CONTENTS): Same.
248         (REGNO_REG_CLASS): Same.
249         
250         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
251         (ABI_STACK_BOUNDARY): Same.
252         (BIGGEST_ALIGNMENT): Same.
253         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
254         (ROUND_TYPE_ALIGN): Same.
255         
256         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
257         to 64.
258
259         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
260         to 64.
261
262         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
263         to 64.
264
265         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
266         (altivec_expand_builtin): New.
267         (altivec_init_builtins): New.
268         (TARGET_EXPAND_BUILTIN): New.
269         (TARGET_INIT_BUILTINS): New.
270         (rs6000_init_builtins): New.
271         (struct builtin_description): New.
272         (bdesc_2arg): New.
273         (rs6000_reg_names): Add altivec registers.
274         (alt_reg_names): Same.
275         (secondary_reload_class): Altivec regs can hold altivec regs and
276         memory.
277         (rs6000_emit_move): Force constants into memory for AltiVec moves.
278         (print_operand): Add 'y' case for printing altivec memory
279         operands.
280         (rs6000_legitimize_address): Legitimize vector addresses into
281         [REG+REG] or [REG].
282         (altivec_expand_binop_builtin): New.
283         New string rs6000_current_abi.
284         (rs6000_override_options): Call rs6000_parse_abi_options.
285         (rs6000_parse_abi_options): New.
286         (function_arg_boundary): Vector arguments must be 16
287         byte aligned.
288         (function_arg_advance): Handle vector arguments.
289         (function_arg_partial_nregs): Same.
290         (init_cumulative_args): Same.
291         (function_arg): Same.
292
293         * config/rs6000/rs6000.md (altivec_lvx): New.
294         (type): Add altivec attribute.
295         (movv4si): New.
296         (*movv4si_internal): New.
297         (movv16qi): New.
298         (*movv16qi_internal): New.
299         (movv8hi): New.
300         (*movv8hi_internal1): New.
301         (movv4sf): New.
302         (*movv4sf_internal1): New.
303         (altivec_stvx): New.
304         (vaddubm): New.
305         (vadduhm): New.
306         (vadduwm): New.
307         (vaddfp): New.
308         (vaddcuw): New.
309         (vaddubs): New.
310         (vaddsbs): New.
311         (vadduhs): New.
312         (vaddshs): New.
313         (vadduws): New.
314         (vaddsws): New.
315         (vand): New.
316         (vandc): New.
317         (vavgub): New.
318         (vavgsb): New.
319         (vavguh): New.
320         (vavgsh): New.
321         (vavguw): New.
322         (vavgsw): New.
323         (vcmpbfp): New.
324         (vcmpequb): New.
325         (vcmpequh): New.
326         (vcmpequw): New.
327         (vcmpeqfp): New.
328         (vcmpgefp): New.
329         (vcmpgtub): New.
330         (vcmpgtsb): New.
331         (vcmpgtuh): New.
332         (vcmpgtsh): New.
333         (vcmpgtuw): New.
334         (vcmpgtsw): New.
335         (vcmpgtfp): New.
336         (vcmpgefp): New.
337         (vcmpgtub): New.
338         (vcmpgtsb): New.
339         (vcmpgtuh): New.
340         (vcmpgtsh): New.
341         (vcmpgtuw): New.
342         (vcmpgtsw): New.
343         (vcmpgtfp): New.
344         (vmaxub): New.
345         (vmaxsb): New.
346         (vmaxuh): New.
347         (vmaxsh): New.
348         (vmaxuw): New.
349         (vmaxsw): New.
350         (vmaxfp): New.
351         (vmrghb): New.
352         (vmrghh): New.
353         (vmrghw): New.
354         (vmrglb): New.
355         (vmrglh): New.
356         (vmrglw): New.
357         (vminub): New.
358         (vminsb): New.
359         (vminuh): New.
360         (vminsh): New.
361         (vminuw): New.
362         (vminsw): New.
363         (vminfp): New.
364         (vmuleub): New.
365         (vmulesb): New.
366         (vmuleuh): New.
367         (vmulesh): New.
368         (vmuloub): New.
369         (vmulosb): New.
370         (vmulouh): New.
371         (vmulosh): New.
372         (vnor): New.
373         (vor): New.
374         (vpkuhum): New.
375         (vpkuwum): New.
376         (vpkpx): New.
377         (vpkuhss): New.
378         (vpkshss): New.
379         (vpkuwss): New.
380         (vpkswss): New.
381         (vpkuhus): New.
382         (vpkshus): New.
383         (vpkuwus): New.
384         (vpkswus): New.
385         (vrlb): New.
386         (vrlh): New.
387         (vrlw): New.
388         (vslb): New.
389         (vslh): New.
390         (vslw): New.
391         (vsl): New.
392         (vslo): New.
393         (vsrb): New.
394         (vrsh): New.
395         (vrsw): New.
396         (vsrab): New.
397         (vsrah): New.
398         (vsraw): New.
399         (vsr): New.
400         (vsro): New.
401         (vsububm): New.
402         (vsubuhm): New.
403         (vsubuwm): New.
404         (vsubfp): New.
405         (vsubcuw): New.
406         (vsububs): New.
407         (vsubsbs): New.
408         (vsubuhs): New.
409         (vsubshs): New.
410         (vsubuws): New.
411         (vsubsws): New.
412         (vsum4ubs): New.
413         (vsum4sbs): New.
414         (vsum4shs): New.
415         (vsum2sws): New.
416         (vsumsws): New.
417         (vxor): New.
418
419 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
420
421         * Makefile.in (df.o): Add fibheap.h to dependencies.
422        
423         * df.h: Add prototypes for transfer functions, iterative_dataflow
424         functions.
425         (enum df_flow_dir): New enum.
426         (enum df_confluence_op): New enum.
427         (struct df): Add inverse_rts_map.
428
429         * df.c: Add sbitmap.h to the list of includes.
430         (df_rd_global_compute): Removed.
431         (df_ru_global_compute): Removed.
432         (df_lr_global_compute): Removed.
433         (df_rd_transfer_function): New function.
434         (df_ru_transfer_function): New function.
435         (df_lr_transfer_function): New function.
436         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
437         Use iterative_dataflow_bitmap instead of df_*_global_compute.
438         (iterative_dataflow_sbitmap): New function.
439         (iterative_dataflow_bitmap): New function.
440
441 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
442
443         * doc/gcc.texi: Move terminology and spelling conventions to
444         htdocs/codingconventions.html.
445
446 2001-11-07  Graham Stott  <grahams@redhat.com>
447
448         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
449
450 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
451
452         * expmed.c (expand_mult): Force operand to register before computing
453         cost.
454         * i386.c (x86_decompose_lea): New global vairable.
455         * i386.h (x86_decompose_lea): Declare.
456         (TARGET_DECOMPOSE_LEA): New macro.
457         (RTX_COST): Handle leas properly.
458
459 2001-11-06  Richard Henderson  <rth@redhat.com>
460
461         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
462         defined for a CONSTRUCTOR; don't check it.
463
464 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
465
466         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
467         test for absolute pathnames.
468
469 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
470
471         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
472         instructions up to the target pc inclusive.
473
474 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
475
476         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
477
478 2001-11-06  Eric Christopher  <echristo@redhat.com>
479
480         * config/mips/mips.md(movdf_internal2): Add constraints for float
481         to general register move.
482         * config/mips/elf64.h: Add default ABI.
483
484 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
485
486         * alias.c:: Include langhooks.h.
487         * emit-rtl.c: Similarly.
488         * toplev.c: Similarly.
489         * tree-inline.c: Similarly.
490         * langhooks-def.h: New, the old langhooks.h.  Give the default
491         hooks a common prefix.
492         * langhooks.h: Contents extracted from toplev.h.
493         * toplev.h: Move langhook stuff to langhooks.h.
494         * langhooks.c: Give default hooks a common prefix.
495
496         * c-lang.c: Include langhooks-def.h.
497         * objc/objc-act.c: Similarly.
498         * Makefile.in: Update.
499         * objc/Make-lang.in: Update.
500
501 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
502
503         * doc/install.texi: Document that configure options not listed in
504         this file are unsupported.  Document --with-system-zlib.
505
506 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
507
508         * rtl.h (mem_for_const_double): New declaration.
509         * varasm.c (mem_for_const_double): New function.
510         * config/convex/convex.md (movdf): Use it.
511         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
512         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
513         * config/m68k/m68kv4.h: Likewise.
514
515         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
516         of new GP reg classes.
517
518         * expr.c (store_field): When making temp object for unaligned
519         component, set it to alias set 0.
520
521 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
522
523         * c-common.c (c_expand_expr_stmt): Apply default conversions to
524         non-lvalue arrays if C99.
525         * c-typeck.c (default_conversion): Split out code handling
526         array-to-pointer and function-to-pointer conversions into a
527         separate default_function_array_conversion function.
528         (default_function_array_conversion): New function.  Keep track of
529         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
530         arrays unchanged outside C99 mode instead of giving an error for
531         them.
532         (build_component_ref): Use pedantic_non_lvalue when handling
533         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
534         (convert_arguments): Use default_function_array_conversion.
535         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
536         non-lvalues are OK.
537         (unary_complex_lvalue): Likewise.
538         (internal_build_compound_expr): Use
539         default_function_array_conversion.  Apply default conversions to
540         function in compound expression.
541         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
542         Use default_function_array_conversion.
543         * doc/extend.texi: Update documentation of subscripting non-lvalue
544         arrays.
545         Fixes PR c/461.
546
547 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
548
549         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
550         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
551         corresponding to the complete set of .po and .gmo files in
552         the source directory's po subdir, modified by LINGUAS.  Don't
553         look at ALL_LINGUAS.
554         * configure.in: Don't set ALL_LINGUAS.
555         * configure: Regenerate.
556
557         * Makefile.in (.po.gmo): Don't move into source directory.
558         (.po.pox): Clarify comments.
559         (install-po): Look for .gmo files in both srcdir and objdir;
560         don't fail if a file is totally missing.
561         (distclean): rmdir ada subdirectory too.
562
563 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
564
565         * config/rs6000/rs6000.c (rs6000_select_section): Handle
566         CONSTRUCTORs _correctly_.
567
568 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
569
570         * c-decl.c (delete_block): Remove.
571         * c-tree.h (delete_block): Remove.
572
573 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
574
575         * cppexp.c (lex, parse_defined): Update warning about defined.
576
577 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
578
579         * config/rs6000/rs6000.c (rs6000_select_section): Handle
580         CONSTRUCTORs too.
581
582 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
583
584         * config/arm/arm.c (arm_return_in_memory): Cope with
585         int_size_in_bytes returning -1.
586
587         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
588         DECL being NULL.
589
590 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
591
592         * Makefile.in (bb-reoder.o): Add depdendency on cfglayout.h;
593         remove unneded depdendencies;
594         (cfglayout.o): New.
595         * cfglayout.c, cfglayout.h: New files; break out from ...
596         * bb-reorder.c: ... here; Remove unneeded includes;
597
598 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
599
600         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
601
602 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
603
604         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
605         mode as well.  Do not explicitly create intermediate regs.
606
607 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
608
609         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
610         (common_section): Delete unused variable.
611         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
612         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
613         * arm-protos.h (arm_poke_function_name, aof_add_import,
614         aof_delete_import): Const-ify.
615         * arm.c (legitimize_pic_address): Wrap variables in the macro
616         controlling their usage.
617         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
618         (arm_poke_function_name, pic_chain, import, aof_add_import,
619         aof_delete_import): Const-ify.
620         * i386.c (ix86_osf_output_function_prologue): Const-ify.
621         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
622         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
623         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
624         * i860/sysv3.h: Add missing comment closure.
625         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
626         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
627         to symbolic_operand.
628
629         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
630         (i960-*-*): Set tmake_file.
631         (sparc86x-*-elf*): Fix typo in header name.
632
633         * sched-rgn.c (schedule_insns): Delete unused variable.
634
635 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
636
637         PR c/2820
638         * c-typeck.c (lookup_field): Rework to return a chain down to
639         the looked-up field.
640         (build_component_ref): Use the new lookup_field to handle
641         nested anonymous entities correctly.
642
643 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
644
645         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
646         Change parameters to gen_rtx_CONST_DOUBLE.
647         (GEN_INT64, sparc_emit_set_const64): Likewise.
648         * config/sparc/sparc.md (movdf split): Likewise.
649
650 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
651
652         * unroll.c (calculate_giv_inc): Use find_last_value rather
653         than just hoping the last instruction is the right SET.
654         [Fixes 990604-1.c on stormy16.]
655
656         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
657         library at all if -T is used.
658
659         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
660         some uses of uninitialized variables in error cases.
661
662         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
663         look at 'temp' if we won't be using it.
664
665         * config/stormy16/stormy16.h (CONST_COSTS): Define.
666         (RTX_COSTS): Define.
667         (ADDRESS_COST): Define.
668         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
669
670         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
671
672         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
673         stormy16_asm_output_mi_thunk.
674         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
675         function.
676         * config/stormy16/stormy16-protos.h
677         (stormy16_asm_output_mi_thunk): New prototype.
678
679 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
680
681         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
682         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
683         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
684         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
685         sched-int.h, toplev.c, config/alpha/alpha.c,
686         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
687         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
688         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
689         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
690         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
691         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
692         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
693
694 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
695
696         * Makefile.in (dbxout.o): Depend on function.h.
697         * collect2.c (is_in_list): Hide unused function.
698         * dbxout.c: Include function.h.
699         (source_label_number, dbxout_source_line, dbxout_source_file,
700         dbxout_function_end, dbxout_begin_function): Wrap/move inside
701         macros controlling usage.
702         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
703         * output.h (exports_section): Prototype.
704
705         * convex.c (convex_output_function_prologue): Fix format specifier
706         warning.
707         (asm_declare_function_name): Fix signed/unsigned warning.
708         (print_operand): Fix format specifier warning.
709         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
710         * dsp16xx-protos.h (uns_comparison_operator,
711         num_1600_core_shifts): Prototype.
712         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
713         (frame_size, frame_pointer_offset): Delete.
714         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
715         Make static.  Fix format specifier warnings.
716         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
717         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
718         * dsp16xx.md: Add default case in switches.
719         * fr30.h (IN_RANGE): Delete.
720         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
721         * mcore-protos.h (mcore_output_cmov): Const-ify.
722         * mcore.c (mcore_output_cmov): Likewise.
723         * mcore.h (switch_to_section): Make static and prototype.
724         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
725         unsigned>=0 warnings.
726         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
727         * rs6000-protos.h (read_only_data_section,
728         read_only_private_data_section): Prototype.
729         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
730         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
731         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
732
733 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
734
735         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
736         ATTRIBUTE_UNUSED.
737         * final.c (final_scan_insn): Add brackets around body of if-stmt.
738         * gcc.c (convert_filename): Add static prototype.  Const-ify.
739         Wrap variable in macros controlling its use.
740         * output.h (sdata_section): Add prototype.
741
742         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
743         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
744         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
745         (ASM_FILE_START): Const-ify.
746         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
747         specifier warning.
748         * c4x.md: Don't use the 'U' integer suffix.
749         * clipper.md (clipper_movstr): Delete declaration.
750         * d30v-protos.h (d30v_move_2words): Const-ify.
751         (debug_stack_info): Add prototype.
752         * d30v.c: Include "integrate.h".
753         (d30v_function_arg_boundary, d30v_function_arg,
754         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
755         signed/unsigned warnings.
756         (d30v_print_operand_memory_reference, d30v_move_2words):
757         Const-ify.
758         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
759         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
760         * fr30.md: Const-ify.
761         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
762         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
763         (mvs_get_label_page): Hide unused static function.
764         * i860.c (current_function_original_name): Const-ify.
765         * i860/sysv3.h (current_function_original_name): Likewise.
766         * i860/sysv4.h (current_function_original_name): Likewise.
767         * i960.md: Add default case in switches.  Remove unused variable.
768         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
769         * m32r.md: Const-ify.
770         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
771         * m68hc11.c: Include "reload.h".
772         (static_chain_reg, print_options, m68hc11_asm_file_start):
773         Const-ify.
774         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
775         around & in comparison.
776         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
777         * mn10200.c (shift_mode): Remove trailing comma.
778         * mn10300-protos.h (output_tst): Const-ify.
779         * mn10300.c (output_tst): Likewise.
780         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
781         warnings.
782         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
783         * pa.c (output_ascii): Likewise.
784         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
785         * pdp11.md (expand_unop): Delete declarations.
786         * pj-protos.h (pj_output_addsi3): Const-ify.
787         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
788         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
789         unique_src_operand): Add prototypes.
790         (pj_output_store_into_lval): Make definition static.
791         (pj_function_incoming_arg): Don't use unary plus.
792         (pj_output_addsi3): Const-ify.
793         * romp.md (get_symref): Delete declarations.
794         * v850-c.c (mark_current_function_as_interrupt): Don't return
795         value from void function.
796         * v850.c: Include "integrate.h".
797         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
798         * vax-protos.h (const_section): Add prototype.
799
800 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
801
802         * machmode.def: Add documentation for the seventh argument in
803         vector modes.
804
805 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
806
807         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
808         consistently.
809         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
810         <-melf>: Don't have markup for ELF acronym.
811
812 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
813
814         * config.gcc (mmix-*-*): New target.
815         * doc/invoke.texi: Document MMIX options.
816         * doc/contrib.texi: Add note about MMIX port to my entry.
817         * config/mmix/t-mmix: New file.
818         * config/mmix/mmix.h: New file.
819         * config/mmix/mmix-protos.h: New file.
820         * config/mmix/mmix.c: New file.
821         * config/mmix/mmix.md: New file.
822         * config/mmix/crti.asm: New file.
823         * config/mmix/crtn.asm: New file.
824
825 2001-11-03  Kazu Hirata  <kazu@hxi.com>
826
827         * config/sparc/linux-aout.h: Fix comment formatting.
828         * config/sparc/linux.h: Likewise.
829         * config/sparc/linux64.h: Likewise.
830         * config/sparc/lynx.h: Likewise.
831         * config/sparc/pbd.h: Likewise.
832         * config/sparc/sol2-sld-64.h: Likewise.
833         * config/sparc/sol2.h: Likewise.
834         * config/sparc/sparc.c: Likewise.
835         * config/sparc/sparc.h: Likewise.
836         * config/sparc/sparc.md: Likewise.
837         * config/sparc/sunos4.h: Likewise.
838         * config/sparc/vxsim.h: Likewise.
839         * config/sparc/vxsparc.h: Likewise.
840         * config/sparc/vxsparc64.h: Likewise.
841
842 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
843
844         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
845         reference to CONST_DOUBLE_MEM in comment.
846         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
847         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
848         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
849         * function.c (pop_function_context_from): Don't call
850         restore_varasm_status.
851         * function.h (restore_varasm_status): Delete declaration.
852         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
853         * rtl.c: Likewise.
854         * rtl.def (CONST_DOUBLE): Update comment.
855         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
856         (CONST_DOUBLE_CHAIN): Likewise.
857         (CONST_DOUBLE_MEM): Delete.
858         (gen_rtx_CONST_DOUBLE): Update parameters.
859         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
860         Remove reference to CONST_DOUBLE_MEM.
861         (const_alias_set): New variable.
862         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
863         (immed_real_const_1): Adjust tests for 0, 1, and 2.
864         Don't set CONST_DOUBLE_MEM.
865         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
866         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
867         Put constant in const_alias_set.
868         (struct pool_constant): ALIGN now unsigned.
869         OFFSET now HOST_WIDE_INT.
870         Delete LABEL.
871         (restore_varasm_status): Deleted.
872         (mark_pool_constant): Mark desc->rtl.
873         (force_const_mem): Rework to store rtl in hash table,
874         not CONST_DOUBLE_MEM.
875         Put constant in const_alias_set.
876         (find_pool_constant): Check desc->rtl.
877         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
878         (init_varasm_once): Initialize const_alias_set.
879
880         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
881         force_const_mem.
882
883         * reload.c (combine_reloads): Don't combine an output reload if there
884         are other reloads around for part of the output.
885
886         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
887         constant expression.
888         (set_mem_decl): New function.
889         * expr.h (set_mem_decl): New declaration.
890         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
891         (output_asm_operand_names): Add tab.
892         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
893
894         * builtins.c (get_memory_rtx): Properly set MEM alias set and
895         attributes.
896
897 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
898
899         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
900         Use "invalid" instead of "illegal".  Use @r in comments in
901         examples.
902
903 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
904
905         * c-decl.c (pushdecl): Move block inside if conditional to remove
906         possibility of a segfault.  Lookup block-level extern
907         variables in enclosing scopes correctly.
908
909         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
910
911 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
912
913         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
914         SUBREG so we avoid SUBREGing memory.
915
916         * expmed.c (store_bit_field): Same.
917
918 2001-11-02  DJ Delorie  <dj@redhat.com>
919
920         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
921         using FP registers for DImode mem-mem moves is acceptable.
922
923 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
924
925         * builtins.c (apply_args_size): Handle vector arguments.
926         (apply_result_size): Same.
927
928         * machmode.def: Set WIDER mode field for all vector entries.
929
930 2001-11-02  Graham Stott  <grahams@redhat.com>
931
932         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
933
934 2001-11-01  Eric Christopher  <echristo@redhat.com>
935
936         * config.gcc: Revert part of earlier patch.
937         * config/mips/linux.h: Ditto.
938         * df.c: Include tm_p.h to avoid warnings.
939         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
940         #if/#endif.
941         * config/mips/mips.c: Define mips_abi regardless.
942         (mips_output_function_prologues): Add long casts for .frame
943         output.
944         (override_options): Allow use of ABI_32.
945
946 2001-11-01  Kazu Hirata  <kazu@hxi.com>
947
948         * config/m68hc11/m68hc11.c: Fix comment formatting.
949         * config/m68hc11/m68hc11.h: Likewise.
950         * config/m68hc11/m68hc11.md: Likewise.
951
952 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
953
954         * c-typeck.c (default_conversion): Retain the original expression
955         codes.
956         * gcc.dg/Wparentheses.c: New tests.
957
958 2001-11-01  David S. Miller  <davem@redhat.com>
959
960         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
961         64-bit Sparc description more in line with reality.
962
963 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
964
965         * Makefile.in (GCOV_OBJS): Add version.o.
966         * gcov.c: Include "version.h" and <getopt.h>.
967         (gcov_version_string): Remove.
968         (print_usage): Take a parameter to determine whether this is a
969         call from --help or an error message.  Give fuller output that
970         follows the GNU Coding Standards for --help.
971         (print_version): New function.
972         (options): New.
973         (process_args): Use getopt_long.  Support long options.  Follow
974         GNU Coding Standards for --help and --version.
975         * doc/gcov.texi: Document long options.
976         Addresses part of PR other/704.
977
978 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
979
980         * pa.c (output_move_double): Fix typo in double load.
981
982 2001-11-01  Kazu Hirata  <kazu@hxi.com>
983
984         * config/h8300/h8300.c (h8300_encode_label): Compute a string
985         before passing it to ggc_alloc_string.
986
987 2001-11-01  Kazu Hirata  <kazu@hxi.com>
988
989         * config/m68k/3b1.h: Fix comment formatting.
990         * config/m68k/3b1g.h: Likewise.
991         * config/m68k/a-ux.h: Likewise.
992         * config/m68k/amix.h: Likewise.
993         * config/m68k/apollo68.h: Likewise.
994         * config/m68k/atari.h: Likewise.
995         * config/m68k/aux-exit.c: Likewise.
996         * config/m68k/ccur-GAS.h: Likewise.
997         * config/m68k/crds.h: Likewise.
998         * config/m68k/dpx2.h: Likewise.
999         * config/m68k/dpx2g.h: Likewise.
1000         * config/m68k/hp310.h: Likewise.
1001         * config/m68k/hp320.h: Likewise.
1002         * config/m68k/isi.h: Likewise.
1003         * config/m68k/linux.h: Likewise.
1004         * config/m68k/lynx.h: Likewise.
1005         * config/m68k/m68k-psos.h: Likewise.
1006         * config/m68k/m68k.c: Likewise.
1007         * config/m68k/m68k.h: Likewise.
1008         * config/m68k/m68k.md: Likewise.
1009         * config/m68k/m68kelf.h: Likewise.
1010         * config/m68k/m68kv4.h: Likewise.
1011         * config/m68k/mot3300.h: Likewise.
1012         * config/m68k/news.h: Likewise.
1013         * config/m68k/next.h: Likewise.
1014         * config/m68k/pbb.h: Likewise.
1015         * config/m68k/plexus.h: Likewise.
1016         * config/m68k/sgs.h: Likewise.
1017         * config/m68k/sun3.h: Likewise.
1018         * config/m68k/tower.h: Likewise.
1019         * config/m68k/vxm68k.h: Likewise.
1020
1021 2001-10-31  DJ Delorie  <dj@redhat.com>
1022
1023         * config/mips/mips.h (mips_cache_flush_func): Prototype.
1024         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
1025         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
1026         * config/mips/mips.c (mips_cache_flush_func): New.
1027         * doc/invoke.texi: Document the new options.
1028
1029 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
1030
1031         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
1032         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
1033
1034         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
1035
1036         * config/cris/cris.c: Include output.h after tree.h but before
1037         target.h.
1038
1039 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
1040
1041         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
1042         (INTL_SUBDIRS): Just intl.
1043         (.SUFFIXES): Add .gmo .po .pox.
1044         (native): Also depend on build-@POSUB@.
1045         (intl.all, intl.install): Depend on config.h and things it includes.
1046         (po-generated): New target; depend on c-parse.c and tradcif.c.
1047         (install-normal): Also depend on install-@POSUB@.
1048         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
1049         (build-, install-, build-po, update-po, install-po,
1050         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
1051
1052         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
1053         * configure.in: Don't munge XGETTEXT.  Don't generate
1054         po/Makefile.in.
1055         * configure: Regenerate.
1056
1057         * exgettext: Delete.
1058         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
1059         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
1060
1061 2001-10-31  Kazu Hirata  <kazu@hxi.com>
1062
1063         * config/h8300/h8300.md (two anonymous patterns): New.
1064
1065 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
1066
1067         * tree.h (tree_index): Add support for V16QI and V8HI.
1068         (V8HI_type_node): New.
1069         (V16QI_type_node): New.
1070
1071         * tree.c (build_common_tree_nodes_2): Same.
1072
1073         * c-common.c (type_for_mode): Same.
1074
1075 2001-10-31  Kazu Hirata  <kazu@hxi.com>
1076
1077         * config/i386/att.h: Fix comment formatting.
1078         * config/i386/beos-elf.h: Likewise.
1079         * config/i386/bsd.h: Likewise.
1080         * config/i386/bsd386.h: Likewise.
1081         * config/i386/crtdll.h: Likewise.
1082         * config/i386/cygwin.asm: Likewise.
1083         * config/i386/cygwin.h: Likewise.
1084         * config/i386/djgpp.h: Likewise.
1085         * config/i386/freebsd-aout.h: Likewise.
1086         * config/i386/freebsd.h: Likewise.
1087         * config/i386/gas.h: Likewise.
1088         * config/i386/i386-interix.h: Likewise.
1089         * config/i386/i386-protos.h: Likewise.
1090         * config/i386/i386.c: Likewise.
1091         * config/i386/i386.h: Likewise.
1092         * config/i386/i386.md: Likewise.
1093         * config/i386/i386elf.h: Likewise.
1094         * config/i386/interix.c: Likewise.
1095         * config/i386/isc.h: Likewise.
1096         * config/i386/isccoff.h: Likewise.
1097         * config/i386/iscdbx.h: Likewise.
1098         * config/i386/linux.h: Likewise.
1099         * config/i386/lynx.h: Likewise.
1100         * config/i386/mingw32.h: Likewise.
1101         * config/i386/netbsd-elf.h: Likewise.
1102         * config/i386/next.h: Likewise.
1103         * config/i386/osf1elf.h: Likewise.
1104         * config/i386/osfrose.h: Likewise.
1105         * config/i386/sco5.h: Likewise.
1106         * config/i386/seq-gas.h: Likewise.
1107         * config/i386/seq-sysv3.h: Likewise.
1108         * config/i386/sequent.h: Likewise.
1109         * config/i386/sol2.h: Likewise.
1110         * config/i386/sun386.h: Likewise.
1111         * config/i386/uwin.asm: Likewise.
1112         * config/i386/uwin.h: Likewise.
1113         * config/i386/vxi386.h: Likewise.
1114         * config/i386/win32.h: Likewise.
1115         * config/i386/winnt.c: Likewise.
1116         * config/i386/xm-cygwin.h: Likewise.
1117         * config/i386/xm-mingw32.h: Likewise.
1118
1119 2001-10-31  Kazu Hirata  <kazu@hxi.com>
1120
1121         * builtins.def: Fix comment typos.
1122         * config/alpha.c: Likewise.
1123         * config/arm/arm.c: Likewise.
1124         * config/avr/avr.h: Likewise.
1125         * config/d30v/d30v.c: Likewise.
1126         * config/d30v/d30v.h: Likewise.
1127         * config/d30v/d30v.md: Likewise.
1128         * config/dsp16xx/dsp16xx.c: Likewise.
1129         * config/fr30/fr30.c: Likewise.
1130         * config/fr30/fr30.md: Likewise.
1131         * config/i386/i386.c: Likewise.
1132         * config/i860/i860.c: Likewise.
1133         * config/i960/i960.c: Likewise.
1134         * config/ia64/ia64.c: Likewise.
1135         * config/mips/mips.c: Likewise.
1136         * config/pa/pa.c: Likewise.
1137         * config/rs6000/rs6000.c: Likewise.
1138         * config/s390/s390.c: Likewise.
1139         * config/sparc/sparc.c: Likewise.
1140
1141 2001-10-30  Kazu Hirata  <kazu@hxi.com>
1142
1143         * config/mips/elf.h: Fix comment formatting.
1144         * config/mips/elf64.h: Likewise.
1145         * config/mips/iris5.h: Likewise.
1146         * config/mips/iris5gas.h: Likewise.
1147         * config/mips/iris6.h: Likewise.
1148         * config/mips/isa3264.h: Likewise.
1149         * config/mips/linux.h: Likewise.
1150         * config/mips/mips.c: Likewise.
1151         * config/mips/mips.h: Likewise.
1152         * config/mips/mips.md: Likewise.
1153         * config/mips/mips16.S: Likewise.
1154         * config/mips/netbsd.h: Likewise.
1155         * config/mips/osfrose.h: Likewise.
1156         * config/mips/r3900.h: Likewise.
1157         * config/mips/sni-svr4.h: Likewise.
1158         * config/mips/svr4-t.h: Likewise.
1159         * config/mips/ultrix.h: Likewise.
1160
1161 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
1162
1163         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
1164         when we update head->current.
1165
1166 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
1167
1168         * tree.c (id_string_size): Remove.
1169         (dump_tree_statistics): Update.
1170         * toplev.c (compile_file): If dumping stats, dump tree stats too.
1171
1172 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
1173
1174         * sched-rgn.c (schedule_insns): Fix comment.
1175
1176 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
1177
1178         * configure.in: Correct previous change: don't assume that
1179         gas's version number _isn't_ the last thing on the line, or
1180         isn't the only number on the line, either.
1181         * configure: Regenerate.
1182
1183 2001-10-30  Kazu Hirata  <kazu@hxi.com>
1184
1185         * cfgcleanup.c: Fix a comment typo.
1186
1187 2001-10-30  Kazu Hirata  <kazu@hxi.com>
1188
1189         * alias.c: Fix comment formatting.
1190         * recog.c: Likewise.
1191         * config/cris/cris.c: Likewise.
1192         * config/cris/cris.h: Likewise.
1193         * config/i960/i960.c: Likewise.
1194         * config/i960/i960.h: Likewise.
1195
1196 2001-10-30  Kazu Hirata  <kazu@hxi.com>
1197
1198         * config/arm/arm.c: Fix a comment typo.
1199         * config/arm/arm.h: Likewise.
1200         * config/ia64/ia64.c: Likewise.
1201
1202 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
1203
1204         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
1205         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
1206         * rtl.h (set_unique_reg_note): Change return value.
1207         * gcse.c (try_replace_reg): Use set_unique_reg_note.
1208         * cse.c (cse_insn): Likewise.
1209         * expr.c (emit_move_insn): Likewise.
1210         * explow.c (force_reg): Likewise.
1211         * local-alloc (update_equiv_regs): Likewise.
1212         * loop.c (move_moveables, load_mems): Likewise.
1213         * reload (find_reloads): Likewise.
1214
1215 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
1216
1217         Localization fixes.
1218         * c-decl.c (parmlist_tags_warning, start_struct,
1219         check_for_loop_decls): Separate messages for struct, union and
1220         enum cases to allow for languages in which they have different
1221         genders.
1222         * c-format.c (scanf_flag_specs): Separate short and long name of
1223         the assignment suppression feature.
1224         (check_format_types): Localize "pointer" and "different types"
1225         strings.
1226         * c-lex.c (lex_number): Localize "an unsigned long int" and
1227         related strings.
1228         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
1229         warning message.
1230         * c-typeck.c (build_unary_up): Separate messages for increment and
1231         decrement cases to allow for languages in which they use different
1232         articles.  Localize the strings "increment" and "decrement" in one
1233         case.
1234
1235 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
1236
1237         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
1238         when no changes has been made.
1239
1240         * gcse.c (reg_set_bitmap): Turn into reg_set.
1241         (modify_mem_list_set, canon_modify_mem_list_set)
1242         (clear_modify_mem_tables, free_modify_mem_tables): New.
1243         (gcse_main); Use free_modify_mem_tables.
1244         (free_gcse_mem): Likewise; free the bitmaps.
1245         (alloc_gcse_main): Initialize the bitmaps.
1246         (canon_list_insert): Set canon_modify_mem_list_set.
1247         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
1248         (compute_hash_table): Use clear_modify_mem_tables.
1249         (reset_opr_set_tables): Likewise.
1250         (oprs_not_set_p): reg_set_bitmap is regset.
1251         (mark_set, mark_clobber): Likewise.
1252
1253         * df.h (DF_EQUIV_NOTES): New constant.
1254         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
1255         when asked for.
1256
1257         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
1258         (init_regions, schedule_insns): Conditionalize the checking
1259         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
1260
1261 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
1262
1263         * i386.md (movti_rex64 splitter): Fix condition.
1264
1265 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
1266
1267         * configure.in: Do not assume that gas's version number is the
1268         last thing on the first line of as --version output.
1269         * configure: Regenerate.
1270
1271         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
1272         MT_WARNING, MT_ERROR, MT_FATAL.
1273         (main): Call gcc_init_libintl.
1274         (v_message): Call gettext on msgid and "warning: "
1275         * tradcif.y: Include intl.h.
1276         (yyerror): Make parameter definition consistent with
1277         prototype.  Call gettext on msgid argument.
1278
1279 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1280
1281         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
1282         warnings.
1283
1284         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
1285
1286 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1287
1288         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
1289         before referencing it.
1290
1291 2001-10-26  DJ Delorie  <dj@redhat.com>
1292
1293         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
1294         override -G, and force -G0.
1295
1296 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
1297
1298         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
1299         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
1300         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
1301         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
1302
1303         * loop.h (struct induction): Rename ext_dependant to
1304         ext_dependent.
1305         * loop.c: Change all uses.
1306         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
1307         All callers changed.
1308         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
1309
1310 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
1311
1312         * c-parse.in (expr_no_commas, primary), c-typeck.c
1313         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
1314
1315 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
1316
1317         Undo assemble_name change in earlier patch.
1318
1319 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
1320
1321         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
1322         determining the type of the receiver, do not check that TREE_CODE
1323         of receiver is CALL_EXPR before calling receiver_is_class_object().
1324         (receiver_is_class_object): For the GNU runtime: recognize
1325         the case that the receiver is self in a class method context.
1326         Check that TREE_CODE of receiver is CALL_EXPR when checking that
1327         the receiver is a call to objc_get_class.
1328
1329 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1330
1331         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
1332
1333 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1334
1335         * Makefile.in (OBJS): Put all files in alphabetical order.
1336
1337         * dwarf2out.c (add_const_value_attribute): Fix error in last
1338         change.
1339
1340 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
1341
1342         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
1343         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
1344         fix warning.
1345         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
1346         (life_analysis): call purge_all_dead_edges after deleting noops.
1347         (delete_noop_move): Do not purge CFG.
1348         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
1349
1350 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
1351
1352         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
1353         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
1354         (ASM_GLOBALIZE_LABEL): Use assemble_name.
1355         (ASM_OUTPUT_COMMON): Likewise.
1356         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
1357         (rs6000_output_function_epilogue): Likewise.
1358         (output_mi_thunk): Fix typo.
1359         (rs6000_output_symbol_ref): Use assemble_name.
1360         (output_toc): Likewise.
1361         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
1362         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
1363         assemble_name calls STRIP_NAME_ENCODING.
1364         (ASM_OUTPUT_LABEL): Use assemble_name.
1365         (ASM_GLOBALIZE_LABEL): Likewise.
1366         (ASM_DECLARE_FUNCTION_NAME): Likewise.
1367         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
1368         (ASM_OUTPUT_LOCAL): Likewise.
1369
1370 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1371
1372         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
1373         (expand_builtin_apply, expand_builtin_return): Likewise.
1374         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
1375
1376 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
1377
1378         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
1379         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
1380         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
1381         configure, configure.in, except.c, except.h, flow.c, function.c,
1382         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
1383         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
1384         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
1385         unroll.c: Fix spelling errors.
1386
1387         * doc/extend.texi, doc/invoke.texi: Fix spelling.
1388
1389         * doc/gcc.texi: Document use of "dependent" and American spelling.
1390
1391 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
1392
1393         * expr.c (emit_group_load): Support CONCATs by storing them to memory
1394         and reloading.
1395
1396 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1397
1398         * expr.c (store_constructor_field): Only call adjust_address on MEM.
1399
1400 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
1401
1402         * genrecog.c (write_switch):  Output if before switch for
1403         DT_elt_zero_wide_safe.
1404
1405 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1406
1407         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
1408         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
1409         (FUNCTION_PROFILER): Const-ify.
1410         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
1411         (eliminate_constant_term, assemble_name, output_addr_const):
1412         Remove declarations.
1413         (ptr_half_pic_address_p, half_pic_hash): Prototype.
1414         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
1415         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
1416         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
1417         (half_pic_declare, half_pic_external): Const-ify.
1418         * toplev.c: Include "halfpic.h".
1419
1420 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
1421
1422         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
1423         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
1424         config/i386/i386.c, config/i386/i386-interix.h,
1425         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
1426         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
1427         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
1428         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
1429         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
1430         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
1431         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
1432         spelling errors.
1433
1434         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
1435         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
1436         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
1437         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
1438         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
1439         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
1440         system.h, toplev.c: Fix spelling errors.
1441
1442 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1443
1444         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
1445
1446         * dwarf2out.c (reg_number): Abort if pseudo.
1447         (reg_loc_descriptor): Return 0 if pseudo.
1448         (is_based_loc): Return 0 if pseudo.
1449         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
1450         recursive calls.
1451         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
1452         (loc_descriptor): Return 0 if can't find location and handle 0
1453         return from recursive calls.
1454         (loc_descriptor_from_tree): Likewise.
1455         Fix handling of indirect.
1456         Also return 0 for PLACEHOLDER_EXPR.
1457         Clean up COMPONENT_REF cases.
1458         (add_AT_location_descriptor): Simplify, but handle 0 return from
1459         loc_descriptor.
1460         (add_const_value_attribute): Avoid shift count warning.
1461         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
1462         Set comp_unit_die as context if not in function.
1463
1464         * config/mips/mips-protos.h: Break up long lines.
1465         Remove needless #ifdef/#endif blocks.
1466         Don't declare functions declared in file made by genpreds or recog.h.
1467         * config/mips/mips.c (mips_output_function_prologue): TSIZE
1468         is now HOST_WIDE_INT; delete unneeded casts.
1469         * config/mips/mips.h: Don't use #elif.
1470
1471         * expr.c (stor_constructor_field): Always call adjust_address.
1472         Copy TARGET before changing its alias set.
1473         (store_field): Likewise, for TO_RTX.
1474         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
1475         replacement.
1476         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
1477         (find_placeholder): Return 0 if can't find object.
1478         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
1479         returns 0.
1480
1481 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
1482
1483         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
1484
1485 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
1486
1487         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
1488         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
1489         (merge_blocks): Properly udpate life after making edge nonfallthru.
1490         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
1491
1492 2001-10-26  Kazu Hirata  <kazu@hxi.com>
1493
1494         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
1495
1496 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
1497
1498         * c-typeck.c (convert_arguments): When comparing for enumeral
1499         type equality, use TYPE_MAIN_VARIANT.
1500         * gcc.dg/Wconversion.c: New tests.
1501
1502 2001-10-26  Kazu Hirata  <kazu@hxi.com>
1503
1504         * s390/s390.c: Fix comment typos.
1505         * s390/s390.h: Likewise.
1506         * s390/s390.md: Likewise.
1507
1508 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
1509
1510         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
1511         (walk_tree): Use it for tail calls where appropriate.
1512
1513 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
1514
1515         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
1516         non-local label_refs.
1517
1518 2001-10-26  Kazu Hirata  <kazu@hxi.com>
1519
1520         * config/h8300/h8300.md (4 anonymous patterns): New.
1521
1522 2001-10-26  Kazu Hirata  <kazu@hxi.com>
1523
1524         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
1525         algorithm through the shift_info structure.
1526         (emit_a_shift): Update the use of get_shift_alg.
1527
1528 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
1529
1530         * sched-rgn.c: Remove bitset typedef.
1531         Change bitset to sbitmap in prototypes / variable types.
1532         Remove bbset_size.
1533         Remove edgeset_bits.
1534         Remove edgeset_size.
1535         s/BITSET_ADD/SET_BIT/g
1536         s/BITSET_INVERT/sbitmap_ones/g
1537         s/BITSET_INTER/sbitmap_a_and_b/g
1538         s/BITSET_UNION/sbitmap_a_or_b/g
1539         s/BITSET_DIFFER/sbitmap_difference/g
1540         s/bitset_member/TEST_BIT/g
1541         (BITSET_*): Removed.
1542         (bitset_member): Removed.
1543         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
1544         EXECUTE_IF_SET_IN_SBITMAP.
1545         (split_edges): Rewrite, use sbitmap functions instead of bitset
1546         operations.
1547         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
1548
1549 2001-10-26  Andreas Schwab  <schwab@suse.de>
1550
1551         * reload1.c (emit_input_reload_insns): Fix parens in last
1552         (undocumented) change that was supposed to change only whitespace.
1553
1554 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1555
1556         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
1557
1558         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
1559         ASM_OPERANDS.
1560
1561 2001-10-26  Andreas Jaeger  <aj@suse.de>
1562
1563         * flow.c (clear_log_links): Remove unused variable.
1564         * cfgcleanup.c (cleanup_cfg): Likewise.
1565
1566 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
1567
1568         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
1569         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
1570
1571 2001-10-26  Richard Henderson  <rth@redhat.com>
1572
1573         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
1574         rename PV_REG to R27_REG.
1575         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
1576         (REG_CLASS_FROM_LETTER): Update.
1577         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
1578         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
1579         (udivsi3, modsi3, umodsi3): Likewise.
1580         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
1581
1582 2001-10-26  Richard Henderson  <rth@redhat.com>
1583
1584         * cfg.c (clear_aux_for_blocks): Split out of ...
1585         (free_aux_for_blocks): here.
1586         (clear_aux_for_edges): Split from ...
1587         (free_aux_for_edges): here.
1588         * basic-block.h: Declare them.
1589         * lcm.c (compute_antinout_edge): Use them.
1590         (compute_laterin, compute_available, compute_nearerout): Likewise.
1591         (optimize_mode_switching): Likewise.
1592
1593 2001-10-26  Richard Henderson  <rth@redhat.com>
1594
1595         * Makefile.in (unstage*): Remove as, ld, collect-ld before
1596         moving everything back to the main build directory.
1597
1598 2001-10-26  Christopher Faylor  <cgf@redhat.com>
1599
1600         * config/i386/cygwin.h: Search target specfic include directory, if
1601         appropriate.
1602
1603 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1604
1605         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
1606         of macro guards. Fix #endif comment.
1607
1608         * output.h (default_exception_section, default_eh_frame_section):
1609         Move prototypes outside of macro guard.
1610
1611         * crtstuff.c: Fix #endif comment.
1612
1613 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
1614
1615         * doc/md.texi (movMM): Clarify semantics of storing into a
1616         non-paradoxical SUBREG.
1617
1618 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
1619
1620         * langhooks.c (lang_hook_default_clear_binding_stack): New.
1621         (lang_hook_default_get_alias_set): Move next to other alias
1622         hooks.
1623         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
1624         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
1625         (LANG_HOOKS_INITIALIZER): Add it.
1626         * toplev.h (struct lang_hooks): Add clear_binding_stack.
1627         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
1628         instead of a loop calling poplevel.
1629
1630 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
1631
1632         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
1633         occurrences of #elif with #if...#endif.
1634
1635 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1636
1637         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
1638
1639 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1640
1641         * alias.c (can_address_p): No longer static.
1642         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
1643         Return 0 if all parameters are default values.
1644         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
1645         (adjust_address_1): Try harder to compute a size.
1646         * expr.c (expand_assignment, store_constructor): If can't address,
1647         set MEM_KEEP_ALIAS_SET_P.
1648         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
1649         (store_field): Likewise.
1650         (store_constructor): Simplify call to store_constructor_field.
1651         * expr.h (can_address_p): New declaration.
1652         * gensupport.c (gen_rtx_CONST_INT): New function.
1653         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
1654         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
1655         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
1656
1657         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
1658
1659 2001-10-24  Christopher Faylor  <cgf@redhat.com>
1660
1661         * config/i386/cygwin.h: Use proper path for mingw crt files when
1662         -mno-cygwin.
1663
1664 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1665
1666         * dwarf2out.c (file_info_cmp): Always return consistent results.
1667
1668 2001-10-24  Roger Sayle <roger@eyesopen.com>
1669
1670         * stmt.c (expand_end_case): Index jumptables from zero for
1671         suitably small values of minval.
1672
1673 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
1674
1675         * stor-layout.c (place_union_field): If any field was aligned with
1676         attribute aligned, set record type's TYPE_USER_ALIGN.
1677         (place_field): Likewise.
1678         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
1679         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
1680
1681 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
1682
1683         * c-common.h (struct c_common_identifier): Remove rid_code field.
1684         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
1685
1686         * c-typeck.c (constructor_designated): New local flag.
1687         (struct constructor_stack): Add "designated" field to match.
1688         (start_init): Clear it.
1689         (really_start_incremental_init, push_init_level): Push and
1690         clear it.
1691         (pop_init_level): Pop it.
1692         (set_designator): Set it.
1693
1694         (pop_init_level): Suppress "missing initializer" warnings if
1695         constructor_designated is true.
1696         (process_init_element): Suppress warning about union
1697         initialization under traditional C, if constructor_designated
1698         is true.
1699
1700 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1701
1702         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
1703         change.
1704
1705 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
1706
1707         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
1708
1709 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
1710
1711         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
1712         the node was already a set to a constant.
1713
1714 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1715
1716         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
1717         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
1718
1719 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1720
1721         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
1722         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
1723         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
1724         * s390.c (s390_final_chunkify): Don't use string concatenation.
1725         (s390_function_prologue, s390_function_epilogue): Const-ify.
1726         * s390.h (FUNCTION_PROFILER): Remove unused variable.
1727
1728 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
1729
1730         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
1731         prototypes.
1732
1733 2001-10-23  Stan Shebs  <shebs@apple.com>
1734
1735         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
1736         -traditional-cpp in first-stage compilation.
1737
1738 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1739
1740         * gensupport.c (target_flags): Add.
1741
1742 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
1743
1744         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
1745         if needed.
1746         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
1747         * except.c (expand_builtin_frob_return_addr): Likewise.
1748         (expand_builtin_eh_return): Likewise.
1749         * stmt.c (expand_computed_goto): Likewise.
1750         * explow.c (memory_address): Likewise.
1751         (allocate_dynamic_stack_space): Clean up predicate testing.
1752         (probe_stack_range): Convert SIZE to Pmode.
1753         * calls.c (rtx_for_function_call): Only call convert_memory_address
1754         if needed.
1755         Pass function call operand as ptr_mode, not Pmode.
1756         * expr.c (expand_assignment): Clean up calls to convert_memory
1757         address by only doing so when needed and making offsets Pmode.
1758         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
1759         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
1760         is in Pmode, not ptr_mode.
1761
1762 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1763
1764         * darwin-protos.h (constructor_section, destructor_section,
1765         mod_init_section, mod_term_section): Prototype.
1766         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
1767         Const-ify.
1768         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
1769         Likewise.
1770         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
1771         objc_section_init declaration.
1772         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
1773         (objc_section_init, try_section_alias): Make static.
1774         (alias_section): Make static and hide unused function.
1775         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
1776
1777 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1778
1779         * alias.c (can_address_p): Compnonents are not addressable if
1780         the containing type has alias set 0.
1781         (get_alias_set): Rework to use STRIP_NOPS.
1782         Only call front-end routine on object, type, or object with
1783         NOPs stripped, not inner values.
1784         Use language hook to call front-end routine.
1785         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
1786         (expand_builtin_apply): Call set_mem_align on MEMs we make.
1787         Don't pass alignment to emit_block_move.
1788         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
1789         (expand_builtin_memset): Likewise, but for clear_storage.
1790         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
1791         and remove C++ specific parts.
1792         * c-common.h (c_common_get_alias_set): Add declaration.
1793         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
1794         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
1795         (save_fixed_argument_area): Call set_mem_align.
1796         Remove alignment in call to emit_block_move.
1797         (emit_library_call_value_1, store_one_arg): Likewise.
1798         (target_for_arg): Remove; disabled long ago.
1799         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
1800         once and similar cleanups.
1801         (offset_address): Use proper introductory comment.
1802         * expr.c (emit_block_move): Use alignment from that of MEM args, not
1803         from explicit operand; all callers changed.
1804         (clear_storage): Likewise.
1805         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
1806         (store_field): Remove kludge on alias set used for to_rtx.
1807         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
1808         (expand_expr_unaligned): Call set_mem_attributes instead of
1809         set_mem_alias_set.
1810         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
1811         * function.c (assign_stack_temp_for_type): Set MEM alignment.
1812         (expand_function_end): Track MEM attributes of trampolines.
1813         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
1814         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
1815         attributes from original.
1816         * langhooks.c (lang_hook_default_get_alias_set): New function.
1817         (hook_get_alias_set_0): New function.
1818         * langhooks.h (hook_get_alias_set_0): New declaration.
1819         (lang_hook_default_get_alias_set): Likewise.
1820         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
1821         * reload1.c (alter_reg): Use adjust_address_nv.
1822         * rtl.c (get_mode_alignment): Moved to here.
1823         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
1824         change default if unknown from 1 to BITS_PER_UNIT.
1825         * stor-layout.c (get_mode_alignment): Remove from here.
1826         * toplev.h (struct lang_hoks): Add get_alias_set field.
1827         * tree.h (lang_get_alias_set): Delete declaration.
1828         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
1829         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
1830         (ix86_va_arg): Likewise.
1831         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
1832         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
1833         * config/sparc/sparc.c (sparc_va_arg): Likewise.
1834         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
1835         (expand_block_move_mem): Remove dead code.
1836
1837 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
1838
1839         * c-common.c (warn_div_by_zero): New.
1840         * c-common.h (warn_div_by_zero): New.
1841         * c-decl.c (c_decode_option): Take it on the command line.
1842         * c-typeck.c (build_binary_op): Warn about division by zero.
1843         * doc/invoke.texi: Document the new command line option, fix
1844         documentation of -Wmultichar.
1845         * testsuite/gcc.dg/divbyzero.c: New tests.
1846         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
1847
1848 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
1849
1850         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
1851
1852         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
1853         to avoid update_life_info call.
1854         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
1855         * cfgcleanup.c (bb_flags): New enum.
1856         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
1857         (notice_new_block, update_forwarder_flag): New functions.
1858         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
1859         (try_forward_edges): Likewise; update flags.
1860         (merge_blocks): Likewise.
1861         (outgoing_edges_match): Likewise.
1862         (try_crossjump_to_edge): Likewise.
1863         (try_optimize_cfg): Likewise; initialize and clear the flags;
1864         recompute life info if needed.
1865         (cleanup_cfg): No need to clear aux pointers.
1866
1867 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
1868
1869         * config/i386/i386.c (override_options): Default to minimum
1870         stack alignment when optimizing for code size.
1871         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
1872         change.
1873
1874         * config/i386/i386.c (override_options): Set upper limit of
1875         -mpreferred-stack-boundary to 12.
1876
1877 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
1878
1879         * recog.c (peephole2_optimize): Add default case to switch.
1880
1881 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
1882
1883         * doc/gcc.texi (Sending Patches): Remove.
1884
1885 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
1886
1887         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
1888         fields when comparing.
1889
1890 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1891
1892         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
1893         * arm.c (HOST_INT, HOST_UINT): Likewise.
1894
1895 2001-10-22  Stan Shebs  <shebs@apple.com>
1896
1897         * config/darwin-protos.h (darwin_exception_section): Declare.
1898         (darwin_eh_frame_section): Declare.
1899
1900 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
1901
1902         * i386.md (movti_rex64): Fix mode.
1903
1904 2001-10-22  Stan Shebs  <shebs@apple.com>
1905
1906         * target.h (struct gcc_target): Add asm_out.exception_section,
1907         asm_out.eh_frame_section.
1908         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
1909         (TARGET_ASM_EH_FRAME_SECTION): New.
1910         (TARGET_INITIALIZER): Update.
1911         * output.h (default_exception_section): Declare.
1912         (default_eh_frame_section): Declare.
1913         * dwarf2out.c: Include target.h.
1914         (output_call_frame_info): Call target hook for eh frames.
1915         (default_eh_frame_section): New function.
1916         * except.c: Include target.h.
1917         (output_function_exception_table): Call target hook for exception
1918         section.
1919         * varasm.c (default_exception_section): Rename from
1920         exception_section, remove EXCEPTION_SECTION macro.
1921
1922         * config/darwin.h (darwin_eh_frame_section): New function.
1923         (EXCEPTION_SECTION): Remove.
1924         (TARGET_ASM_EXCEPTION_SECTION): Define.
1925         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
1926         (nextstep_exception_section): New function.
1927         (nextstep_eh_frame_section): New function.
1928         (TARGET_ASM_EXCEPTION_SECTION): Define.
1929         (TARGET_ASM_EH_FRAME_SECTION): Define.
1930
1931         * config/pa/som.h (EXCEPTION_SECTION): Remove.
1932         (TARGET_ASM_EXCEPTION_SECTION): Define.
1933         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
1934         (EXCEPTION_SECTION): Remove.
1935         (TARGET_ASM_EXCEPTION_SECTION): Define.
1936         * config/stormy16/stormy16.h: Remove comments referencing
1937         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
1938
1939         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
1940         TARGET_ASM_EH_FRAME_SECTION.
1941
1942 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
1943
1944         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
1945         terms.
1946
1947         * c-format.c: Fix spelling typo in comment.
1948
1949         * sched-int.h: Fix typo in GCC preamble.
1950
1951 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1952
1953         PR debug/4252
1954         * doc/invoke.texi: Remove references to -fdump-translation-unit.
1955
1956 2001-10-22  Richard Henderson  <rth@redhat.com>
1957
1958         * config/i386/i386.c (ix86_expand_clear): New.
1959         * config/i386/i386-protos.h: Declare it.
1960         * config/i386/i386.md (setcc peep2s): Use it.
1961         (movsi_xor): Unexport.
1962
1963 2001-10-22  Richard Henderson  <rth@redhat.com>
1964
1965         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
1966         free_EXPR_LIST_list for LOG_LINKS.
1967
1968 2001-10-21  Robert Lipe  <robertlipe@usa.net>
1969
1970         * config/i386/i386.c (sco_asm_named_section): Delete.
1971         (sco_asm_out_constructor): Delete.
1972         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
1973         (ASM_OUTPUT_DOUBLE_INT): Likewise.
1974         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
1975         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
1976         (EXCEPTION_SECTION): Delete EH scn renaming hack.
1977
1978 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1979
1980         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
1981         and/or fold extra calls into fewer ones.
1982         * collect2.c (dump_file): Likewise.
1983         * cppexp.c (parse_number): Likewise.
1984         * cpplex.c (_cpp_lex_direct): Likewise.
1985         * final.c (output_asm_insn, asm_fprintf): Likewise.
1986         * fix-header.c (inf_scan_ident, main): Likewise.
1987         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
1988         Likewise.
1989         * fold-const.c (real_hex_to_f): Likewise.
1990         * gen-protos.c (parse_fn_proto): Likewise.
1991         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
1992         * genrecog.c (change_state, write_action): Likewise.
1993         * gensupport.c (shift_output_template): Likewise.
1994         * local-alloc.c (requires_inout): Likewise.
1995         * mips-tfile.c (IS_ASM_IDENT): Likewise.
1996         * protoize.c (is_id_char, main): Likewise.
1997         * real.c (asctoeg): Likewise.
1998         * recog.c (asm_operand_ok): Likewise.
1999         * reload.c (find_reloads): Likewise.
2000         * scan.c (scan_identget_token): Likewise.
2001         * sched-vis.c (print_value): Likewise.
2002         * stringpool.c (ggc_alloc_string): Likewise.
2003         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
2004         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
2005         * tradcpp.c (rescan): Likewise.
2006         * tree.c (clean_symbol_name): Likewise.
2007         * varasm.c (decode_reg_name): Likewise.
2008
2009         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
2010         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
2011         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
2012         * m88k.c (output_ascii): Likewise.
2013         * m88k.h (OVERRIDE_OPTIONS): Likewise.
2014         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
2015         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
2016         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
2017
2018 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
2019
2020         * langhooks.c (lang_hook_default_do_nothing,
2021         lang_hook_default_decode_option): New defaults.
2022         * langhooks.h: Make hooks unconditional and non-NULL.
2023         * toplev.c (compile_file, toplev_main): Update.
2024         * toplev.h: Update comments.
2025         * objc/objc-act.c (lang_hooks): Update to new paradigm.
2026
2027 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2028
2029         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
2030
2031         * system.h (IN_RANGE): New macro.
2032
2033 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
2034
2035         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
2036         INTLDEPS variable, which does not include $LIBICONV.
2037         * Makefile.in: Use INTLDEPS in LIBDEPS.
2038         * configure: Regenerate.
2039
2040 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
2041
2042         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
2043         * cpplex.c (lex_percent, lex_dot): Remove.
2044         (get_effective_char, skip_block_comment, skip_line_comment,
2045         parse_identifier_slow, parse_number, parse_string, save_comment,
2046         _cpp_lex_direct): Update to do lookback freely.
2047         (IF_NEXT_IS, BACKUP): New macros.
2048         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
2049         * cppmacro.c (paste_tokens): Update.
2050
2051 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
2052
2053         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
2054
2055 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
2056
2057         * reload1.c (reload): Check CONSTANT_P before calling
2058         LEGITIMATE_PIC_OPERAND_P.
2059         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
2060         workaround of 2001-10-13.
2061
2062 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
2063
2064         * i386.c (split_di): Handle splitting of DFmode.
2065
2066 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2067
2068         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
2069         (adjust_address_1, offset_address): Likewise.
2070
2071         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
2072         (output_asm_insn): Call it for each line output.
2073         Don't record an operand more than once.
2074
2075         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
2076         * main.c: Include config.h and system.h, but not ansidecl.h.
2077         * Makefile.in (main.o): Update accordingly.
2078
2079 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
2080
2081         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
2082
2083 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
2084
2085         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
2086         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
2087         Break out from ...
2088         (find_sub_basic_blocks): ... here;
2089         (find_many_sub_basic_blocks): New.
2090         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
2091
2092         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
2093
2094         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
2095
2096         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
2097
2098         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
2099         * flow.c (update_life_info): Measure time.
2100         * c-decl.c: Include timevar.h
2101         (c_expand_body): Measure time.
2102         * toplev.c (rest_of_compilation): Measure time of mode switching
2103         separately.
2104         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
2105
2106         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
2107         (lang_independent_options): Add asynchronous-unwind-tables
2108         (toplev_main): flag_asynchronous_unwind_tables implies
2109         flag_unwind_tables.
2110         * flags.h (flag_asynchronous_unwind_tables): Declare.
2111         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
2112         flag_asynchronous_unwind_tables.
2113         (output_call_frame_info): Likewise.
2114         * invoke.texi (-fasynchronous-unwind-tables): Document.
2115         * i386.c (optimization_options): Enable
2116         flag_asynchronous_unwind_tables.
2117
2118         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
2119         * i386.md (s* expanders): Destination is QImode.
2120
2121         * toplev.c (rest_of_compilation): Do not call clear_log_links.
2122         * rtl.h (clear_log_links): Kill.
2123         * flow.c (clear_log_links): Make static; accept blocks parameter;
2124         do no clear life info.
2125         (update_life_info): Call clear_log_links.
2126
2127         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
2128
2129 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
2130
2131         * cpplex.c (handle_newline, skip_escaped_newlines,
2132         get_effective_char, skip_block_comment, skip_line_comment,
2133         parse_identifier_slow, parse_number, parse_string,
2134         _cpp_lex_direct): Update to do more stepping back.
2135         (trigraph_ok): Similarly.  Rename trigraph_p.
2136         (SAVE_STATE, RESTORE_STATE): Remove.
2137         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
2138
2139         * cpplib.c (destringize): Rename destringize_and_run, and
2140         call run_directive directly.
2141         (_cpp_do__Pragma): Simplify.
2142
2143 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2144
2145         * pe.c (arm_pe_unique_section): Const-ify.
2146         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
2147         (switch_to_section): Add static prototype.
2148
2149         * output.h (drectve_section): Prototype.
2150
2151 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2152
2153         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
2154         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
2155         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
2156         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
2157         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
2158         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
2159         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
2160         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
2161         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
2162         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
2163         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
2164         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
2165         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
2166         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
2167         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
2168         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
2169         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
2170         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
2171         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
2172         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
2173         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
2174         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
2175         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
2176         cris-*-none, cris-*-linux*: Update ${tmfile} list.
2177         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
2178         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
2179         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
2180         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
2181         v850-*-*): Delete superflous ${cpu_type} setting.
2182         * config/linux.h: Delete svr4.h include.
2183         (SET_ASM_OP): Delete.
2184         * config/netware.h (INT_ASM_OP): Undef before define.
2185         * config/ptx4.h: Delete elfos.h include.
2186         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
2187         * config/svr4.h: Delete elfos.h include. Update commentary.
2188         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
2189         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
2190         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
2191         config/v850/v850.h: Delete svr4.h include.
2192         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
2193         config/m68k/m68kv4.h, config/m88k/sysv4.h,
2194         config/sparc/sysv4.h: Update includes.
2195         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
2196         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
2197         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
2198         config/m88k/dguxbcs.h: Delete includes.
2199         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
2200         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
2201         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
2202         it.
2203         * config/m88k/dgux.h: Delete include.
2204         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
2205         defining it.
2206         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
2207         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
2208         * config/sh/elf.h: Update include.
2209         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
2210         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
2211
2212 2001-10-19  Catherine Moore  <clm@redhat.com>
2213
2214         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
2215         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
2216         base and count fields.
2217         (stormy16_expand_builtin_va_start):  last_reg_count changed to
2218         size_of_reg_args.  Use count + size in first comparison.
2219
2220 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2221
2222         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
2223         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
2224         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
2225         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
2226         Set alignment from type if INDIRECT_REF.
2227         (adjust_address_1, offset_address): Simplify alignment compuitation.
2228         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
2229         here; done by set_mem_attributes.
2230
2231 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2232
2233         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
2234         * arm-protos.h (rdata_section, zero_init_section, common_section):
2235         Prototype.
2236         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
2237         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
2238         traditional mode stringification.
2239         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
2240         in macros controling its use.
2241         * rtlanal.c: Include tm_p.h.
2242         * varasm.c (asm_output_aligned_bss): Mark parameter with
2243         ATTRIBUTE_UNUSED.
2244         (assemble_constant_align, assemble_start_function, assemble_align,
2245         assemble_variable, assemble_trampoline_template,
2246         output_constant_def_contents): Wrap potentially empty if-stmt body
2247         in brackets.
2248
2249 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2250
2251         * a29k-protos.h (literal_section): Prototype.
2252         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
2253         * a29k.md: Ensure function pointers are prototyped.
2254         * genattrtab.c (write_eligible_delay): Mark parameter with
2255         ATTRIBUTE_UNUSED.
2256
2257 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2258
2259         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
2260         * 1750a.c (print_operand): Fix format specifier warning.
2261         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
2262         * 1750a.md: Likewise.
2263         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
2264         * genemit.c (output_add_clobbers): Mark parameter with
2265         ATTRIBUTE_UNUSED.
2266         * genrecog.c (write_subroutine): Likewise.
2267         * integrate.c (expand_inline_function): Delete unused variable.
2268         * varasm.c (remove_from_pending_weak_list): Wrap with
2269         ASM_WEAKEN_LABEL.
2270
2271 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
2272
2273         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
2274         field is different to previous argument's neg field.
2275
2276         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
2277
2278 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2279
2280         * final.c (get_decl_from_op): New function.
2281         (output_asm_insn): Call it; write "*" when item with decl is address.
2282
2283 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
2284
2285         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
2286         about 64-bit support from the 3.0_branch version.
2287
2288 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
2289
2290         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
2291         USE_INCLUDED_LIBINTL when appropriate.
2292         * configure, config.in: Regenerate.
2293         * Makefile.in (datadir): Set to @datadir@.
2294         (intl.o): Also depend on $(CONFIG_H) and system.h.
2295
2296         * intl.c: Factor out common gettext initialization sequence.
2297         (gcc_init_libintl):  New function.
2298         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
2299         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
2300         off NLS.  Add multiple include guard.  No need to #ifdef-guard
2301         an #undef.  Prototype gcc_init_libintl here.
2302
2303         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
2304         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
2305         Use gcc_init_libintl.
2306
2307 2001-10-19  Catherine Moore  <clm@redhat.com>
2308
2309         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
2310
2311         * config/stormy16/stormy16.c (stormy16_split_move):  Make
2312         sure that REG_INC notes are present for auto_inc operands.
2313
2314 2001-10-19  Andreas Jaeger  <aj@suse.de>
2315
2316         * configure: Regenerated.
2317         * configure.in: Add x86_64 to switch statements.
2318
2319 2001-10-18  Richard Henderson  <rth@redhat.com>
2320
2321         * config/alpha/alpha.md (sibcall_osf_1): Load destination
2322         address into $27 explicitly.
2323         (sibcall_value_osf_1): Likewise.
2324
2325 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2326
2327         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
2328         (offset_address): New function.
2329         (free_emit_status): Free regno_decl.
2330         (init_emit): Pass proper number of elements to xcalloc.
2331         Allocate regno_decl.
2332         (mark_emit_status): Mark regno_decl values.
2333         * expr.c (highest_pow2_factor): New function.
2334         (expand_assigment): Use it and offset_address.
2335         Properly handle ptr_mode vs. Pmode in offset calculation.
2336         (store_constructor, expand_expr_unaligned): Likewise.
2337         (expand_expr, case COMPONENT_EXPR): Likewise.
2338         * expr.h (offset_address): New decl.
2339         * function.h (struct emit_status): Add regno_decl.
2340         (REGNO_DECL): New macro.
2341         * final.c (output_asm_name): Move in file and don't conditionalize
2342         on flag_print_asm_name.
2343         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
2344         Output names of operands, if known.
2345         * function.c (assign_parms): Set REGNO_DECL.
2346         * integrate.c (integrate_decl_tree): Likewise.
2347         * stmt.c (expand_decl): Likewise.
2348         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
2349
2350 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
2351
2352         * attribs.c (handle_noinline_attribute): New function.
2353         (handle_used_attribute): Likewise.
2354         (c_common_attribute_table): Added noinline and used.
2355         * doc/extend.texi (Function Attributes): Document them.
2356         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
2357         Warn when merging inline with attribute noinline.
2358         (start_decl, start_function): Warn if inline and attribute
2359         noinline appear in the same declaration.
2360
2361 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
2362
2363         * config.gcc: Update c4x and i370 for C front end-specific
2364         dependencies.
2365         * config/c4x/c4x-c.c: New.
2366         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
2367         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
2368         New declarations.
2369         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
2370         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
2371         Make extern.
2372         (c4x_init_pragma): Remove.
2373         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
2374         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
2375         c4x_pr_ignored): Move to c4x-c.c.
2376         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
2377         * config/c4x/t-c4x: Update.
2378         * config/i370/i370-c.c: New.
2379         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
2380         (i370_pr_map): Move to i370-c.c.
2381         * config/i370/t-i370: New.
2382
2383         * doc/tm.texi: Update.
2384
2385 2001-10-17  Stan Shebs  <shebs@apple.com>
2386
2387         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
2388         typo fixes throughout.
2389         (machopic_output_stub): Remove some dead code.
2390
2391 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
2392
2393         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
2394         leak.
2395
2396 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2397
2398         * Makefile.in (print-rtl.o): Depend on TREE_H.
2399         * alias.c (get_alias_set): Make two passes over objects to first
2400         see if inner object is access via restricted pointer.
2401         Defer allocating alias set for restricted pointer until here.
2402         Call find_placeholder with second arg nonzero.
2403         Minor cleanups.
2404         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
2405         set for restricted pointer types.
2406         * emit-rtl.c (set_mem_attributes): Set more attributes.
2407         (set_mem_align, change_address, adjust_address_1): New functions.
2408         (change_address_1): Now static.
2409         (adjust_address, adjust_address_nv): Deleted.
2410         (replace_equiv_address): Call change_address_1.
2411         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
2412         (find_placeholder): Get starting point from PLIST arg.
2413         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
2414         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
2415         (adjust_address, adjust_address_nv): New macros.
2416         * print-rtl.c (tree.h): New include.
2417         (print_rtx, case MEM): Print all memory attributes.
2418
2419 2001-10-17  Richard Henderson  <rth@redhat.com>
2420
2421         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
2422
2423 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
2424
2425         * c-tree.texi: Eliminate duplicated word.
2426         * cpp.texi: Likewise.
2427         * install.texi: Likewise.
2428         * invoke.texi: Likewise.
2429         * tm.texi: Likewise.
2430
2431 2001-10-17  Michael Collison  <collison@isisinc.net>
2432
2433         * dsp16xx.c: Fix comment formatting to match GNU standards.
2434         (dsp16xx_output_function_prologue): Change type of 'size'
2435         parameter from 'int' to HOST_WIDE_INT.
2436         (dsp16xx_output_function_epilogue): Change type of 'size'
2437         parameter from 'int' to HOST_WIDE_INT.
2438
2439 2001-10-16  Richard Henderson  <rth@redhat.com>
2440
2441         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
2442         * configure, config.in: Rebuild.
2443
2444         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
2445         (ix86_output_addr_diff_elt): New.
2446         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
2447         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
2448         (JUMP_TABLES_IN_TEXT_SECTION): New.
2449         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
2450         * config/i386/i386-protos.h: Update.
2451
2452         * config/i386/386bsd.h, config/i386/beos-elf.h,
2453         config/i386/freebsd-aout.h, config/i386/freebsd.h,
2454         config/i386/i386-interix.h, config/i386/i386elf.h,
2455         config/i386/linux.h, config/i386/netbsd-elf.h,
2456         config/i386/netbsd.h, config/i386/openbsd.h,
2457         config/i386/ptx4-i.h, config/i386/rtemself.h,
2458         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
2459         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
2460
2461 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
2462
2463         * stmt.c (expand_asm_operands): Update commentary.
2464
2465 2001-10-16  Stan Shebs  <shebs@apple.com>
2466
2467         * config/darwin.h (GCC_NAME): Remove, no longer used.
2468         (NO_MATH_LIBRARY): Ditto.
2469         (MATH_LIBRARY): Define to emptiness.
2470         (DWARF2_DEBUGGING_INFO): Define.
2471         (PREFERRED_DEBUGGING_TYPE): Define.
2472         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
2473         (EXCEPTION_SECTION): Define.
2474         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2475         * config/darwin.c (darwin_encode_section_info): Handle case of
2476         DECL_INITIAL being error_mark_node.
2477
2478 2001-10-16  Richard Henderson  <rth@redhat.com>
2479
2480         * alpha.c (current_file_function_operand): Don't fail for profiling.
2481         (direct_call_operand): New.
2482         * alpha-protos.h: Declare it.
2483         * alpha.h (EXTRA_CONSTRAINT): Use it.
2484         (PREDICATE_CODES): Add it.
2485         (ASM_OUTPUT_MI_THUNK): Remove.
2486         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
2487         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
2488
2489 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
2490
2491         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
2492         (JUMP_TABLES_IN_TEXT_SECTION): Define.
2493
2494 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
2495
2496         * cfg.c (free_edge): Break out from ....
2497         (remove_edge): ... here.
2498         (clear_edges): Use free_edge.
2499
2500         * att.h (ASM_QUAD): Add comment.
2501         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
2502
2503 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
2504
2505         * i386.c (split_ti): New function.
2506         (ix86_split_to_parts): Support TImodes.
2507         * i386.h (VALID_INT_MODE_P): Add TImode.
2508         * i386.md (movdi splitter): Fix.
2509         (movti): Support 64bit integer registers.
2510         (movti_rex64): New function and splitter.
2511
2512         * i386.c (*_cost): Add movsx/movzx cost.
2513         * i386.h (struct processor_costs): Add movsx/movzx fields.
2514         (RTX_COSTS): Handle zero/sign extend + avoid believing that
2515         64bit operations require split on 64bit machine.
2516         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
2517
2518         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
2519         (ix86_expand_move): Avoid pushes of memory if size does not match;
2520         move long constants to register.
2521         (x86_initialize_trampoline): Fix mode.
2522         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
2523         Use ASM_QUAD on 64bit.
2524         * i386.md (test pattern): Disallow impossible constants.
2525         (tablejump PIC expander): Fix emitting of sum.
2526         (movdicc_rex64): Rename to movdicc.
2527         * linux64.h (LINK_SPEC): Add missing '%'.
2528
2529 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
2530
2531         * tree-inline.c (inlinable_function_p): Leave it up to the
2532         front-end to turn -finline-functions into DECL_INLINE set for all
2533         functions.
2534
2535 2001-10-16  Stan Shebs  <shebs@apple.com>
2536
2537         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
2538
2539 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
2540
2541         * recog.c: Formatting and comment typo fixes.
2542
2543         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
2544         version in single tree build.
2545         * configure: Regenerate.
2546
2547 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
2548
2549         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
2550         MODE arguments to gen_rtx and compare operand with const0_rtx.
2551
2552 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
2553
2554         * system.h: Poison old unused target macros.
2555         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
2556         * config/stormy16/stormy16.c: Update references to obsolete macros.
2557         * config/stormy16/stormy16.h: Similarly.
2558         * config/stormy16/stormy16.md: Similarly.
2559         * config/cris/cris.h: Similarly.
2560
2561 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
2562
2563         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
2564         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
2565         cpp_register_pragma): Update accordingly.
2566
2567 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
2568
2569         * c-pragma.h (cpp_register_pragma_space): Remove.
2570         * cpplib.h (cpp_register_pragma_space): Remove.
2571         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
2572         (cpp_register_pragma_space): Remove.
2573         (cpp_register_pragma): Simplify using lookup_pragma_entry,
2574         add sanity checks.
2575         (do_pragma): Similarly.
2576         (_cpp_init_internal_pragmas): Don't register namespaces.
2577
2578         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
2579         Don't register namespaces.
2580         * cp/lex.c (init_cp_pragma): Similarly.
2581         * doc/tm.texi: Update.
2582
2583 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2584
2585         PR c/4157
2586         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
2587
2588 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
2589
2590         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
2591         add scheduling support.
2592         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
2593         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
2594         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
2595
2596
2597 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
2598
2599         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
2600         missing CONSTANT_P test in core GCC.
2601
2602 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
2603
2604         * cppmain.c (struct printer): New member source.
2605         (scan_translation_unit): Fix spacing at start of lines.
2606         (cb_line_change): Update.
2607
2608         * gcc.dg/cpp/spacing2.c: New test.
2609
2610 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
2611
2612         * config/cris/arit.c: Use __builtin_labs, not abs.
2613
2614         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
2615
2616         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
2617         misplaced sprintf and fprintf argument.
2618
2619 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
2620
2621         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
2622         * configure.in, Makefile.in: Take out obsolete check-po logic.
2623         * configure, config.in: Regenerate.
2624
2625 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
2626
2627         * objc/objc-act.c (finish_objc): Correct precondition for emitting
2628         symtab declarations.
2629
2630 2001-10-12  Stan Shebs  <shebs@apple.com>
2631
2632         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
2633         declarations of arguments and local variables.
2634
2635 2001-10-12  Christopher Faylor  <cgf@redhat.com>
2636
2637         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
2638         ENDFILE_SPEC definition.
2639
2640 2001-10-12  Kazu Hirata  <kazu@hxi.com>
2641
2642         * gthr-dce.h: Fix comment formatting.
2643         * gthr-posix.h: Likewise.
2644         * gthr-single.h: Likewise.
2645         * gthr-solaris.h: Likewise.
2646         * gthr-vxworks.h: Likewise.
2647         * gthr-win32.h: Likewise.
2648
2649 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
2650
2651         * final.c (output_asm_insn): Make sure assembly dialects are
2652         terminated, not nested.  Output `|' and `}' characters if they
2653         don't appear inside assembly dialect selection.
2654         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
2655         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
2656         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
2657         strsetsi_rex_1): Add {} braces.
2658
2659 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
2660
2661         * toplev.c (compile_file): Ignore return value from yyparse.
2662         Always pop any nested binding levels after yyparse returns.
2663
2664 2001-10-11  Richard Henderson  <rth@redhat.com>
2665
2666         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
2667
2668 2001-10-11  Richard Henderson  <rth@redhat.com>
2669
2670         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
2671         fall back to add_AT_long_long for large CONST_INT.
2672
2673 2001-10-11  Richard Henderson  <rth@redhat.com>
2674
2675         * config/i386/i386.md (setcc splitters): Add four splitters to
2676         simplify compound compares that simplify_comparison can't handle.
2677
2678 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
2679
2680         * cpplex.c (digraph_spellings, token_spellings): Make static.
2681
2682 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2683
2684         * unroll.c (loop_iterations): Fixup last patch.
2685
2686 2001-10-11  Richard Henderson  <rth@redhat.com>
2687
2688         * rtl.h (REG_VTABLE_REF): New.
2689         * rtl.c (reg_note_name): Add it.
2690         * combine.c (distribute_notes): Handle it.
2691         * final.c (final_scan_insn): Handle it.
2692         * tree.def (VTABLE_REF): New.
2693         * expr.c (expand_expr): Handle it.
2694         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
2695         * output.h: Declare them.
2696
2697 2001-10-11  Richard Henderson  <rth@redhat.com>
2698
2699         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
2700         for a DECL_INITIAL.
2701
2702 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
2703
2704         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
2705         available in 64-bit mode.
2706
2707 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
2708
2709         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
2710         cris-*-linux* cases.
2711         * config/cris/cris-protos.h: New file.
2712         * config/cris/cris.c: New file.
2713         * config/cris/cris.h: New file.
2714         * config/cris/cris.md: New file.
2715         * config/cris/linux.h: New file.
2716         * config/cris/aout.h: New file.
2717         * config/cris/arit.c: New file.
2718         * config/cris/cris_abi_symbol.c: New file.
2719         * config/cris/mulsi3.asm: New file.
2720         * config/cris/t-aout: New file.
2721         * config/cris/t-cris: New file.
2722         * config/cris/t-elfmulti: New file.
2723         * config/cris/t-linux: New file.
2724         * doc/invoke.texi: Add CRIS options.
2725         * doc/install.texi (Specific): Add blurb for CRIS.
2726
2727 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
2728
2729         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
2730         before using it.
2731         * config/float/i32.h: Likewise.
2732         * config/float-i386.h: Likewise.
2733         * config/float-i64.h: Likewise.
2734         * config/float-m68k.h: Likewise.
2735         * config/float-sh.h: Likewise.
2736         * config/float-sparc.h: Likewise.
2737
2738 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
2739
2740         * doc/contrib.texi: Add note about CRIS port to my entry.
2741
2742 2001-10-11  Kazu Hirata  <kazu@hxi.com>
2743
2744         * basic-block.h: Fix formatting.
2745         * bitmap.h: Likewise.
2746         * cpplib.h: Likewise.
2747         * c-tree.h: Likewise.
2748         * diagnostic.h: Likewise.
2749         * flags.h: Likewise.
2750         * ggc.h: Likewise.
2751         * longlong.h: Likewise.
2752         * real.h: Likewise.
2753         * reload.h: Likewise.
2754         * rtl.h: Likewise.
2755         * tree.h: Likewise.
2756
2757 2001-10-10  Richard Henderson  <rth@redhat.com>
2758
2759         * c-parse.in (asm_operand): Allow named operands.
2760         * genconfig.c (max_recog_operands): Set to 29.
2761         * local-alloc.c (requires_inout): Skip multiple digits.
2762         * recog.c (asm_operand_ok): Likewise.
2763         (preprocess_constraints): Use strtoul for matching constraints.
2764         (constrain_operands): Likewise.
2765         * regmove.c (find_matches): Likewise.
2766         * reload.c (find_reloads): Likewise.
2767         * stmt.c (parse_output_constraint): Don't reject in-out
2768         constraint on operands > 9.  Reject '[' in constraint.
2769         (expand_asm_operands): Handle named operands.  Use strtoul
2770         for matching constraints.
2771         (check_operand_nalternatives): Split out from expand_asm_operands.
2772         (check_unique_operand_names): New.
2773         (resolve_operand_names, resolve_operand_name_1): New.
2774
2775         * doc/extend.texi (Extended Asm): Document named operands.
2776         * doc/md.texi (Simple Constraints): Document matching constraints
2777         on operands > 9.
2778
2779 2001-10-10  Richard Henderson  <rth@redhat.com>
2780
2781         * combine.c (try_combine): Handle a SEQUENCE of one insn.
2782
2783         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
2784         (jcc splitters): Add two splitters to simplify compound compares
2785         that simplify_comparison can't handle.
2786
2787 2001-10-10  Richard Henderson  <rth@redhat.com>
2788
2789         * langhooks.c: Include langhooks.h.
2790         * Makefile.in (langhooks.o): Depend on it.
2791
2792 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
2793
2794         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
2795         should not be considered as a no-op.
2796         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
2797
2798 2001-10-10  Stan Shebs  <shebs@apple.com>
2799
2800         * alias.c: Remove uses of "register" specifier in declarations
2801         of arguments and local variables.
2802         * c-common.c: Ditto.
2803         * c-convert.c: Ditto.
2804         * c-decl.c: Ditto.
2805         * c-format.c: Ditto.
2806         * c-semantics.c: Ditto.
2807         * c-typeck.c: Ditto.
2808         * caller-save.c: Ditto.
2809         * calls.c: Ditto.
2810         * cfg.c: Ditto.
2811         * cfgbuild.c: Ditto.
2812         * cfgrtl.c: Ditto.
2813         * collect2.c: Ditto.
2814         * combine.c: Ditto.
2815         * convert.c: Ditto.
2816         * cppexp.c: Ditto.
2817         * cppfiles.c: Ditto.
2818         * cse.c: Ditto.
2819         * dbxout.c: Ditto.
2820         * defaults.h: Ditto.
2821         * df.c: Ditto.
2822         * dwarf2out.c: Ditto.
2823         * dwarfout.c: Ditto.
2824         * emit-rtl.c: Ditto.
2825         * explow.c: Ditto.
2826         * expmed.c: Ditto.
2827         * expr.c: Ditto.
2828         * final.c: Ditto.
2829         * fix-header.c: Ditto.
2830         * floatlib.c: Ditto.
2831         * flow.c: Ditto.
2832         * fold-const.c: Ditto.
2833         * function.c: Ditto.
2834         * gcc.c: Ditto.
2835         * gcse.c: Ditto.
2836         * gen-protos.c: Ditto.
2837         * genattrtab.c: Ditto.
2838         * gencheck.c: Ditto.
2839         * genconfig.c: Ditto.
2840         * genemit.c: Ditto.
2841         * genextract.c: Ditto.
2842         * genflags.c: Ditto.
2843         * gengenrtl.c: Ditto.
2844         * genoutput.c: Ditto.
2845         * genpeep.c: Ditto.
2846         * genrecog.c: Ditto.
2847         * gensupport.c: Ditto.
2848         * global.c: Ditto.
2849         * gmon.c: Ditto.
2850         * graph.c: Ditto.
2851         * haifa-sched.c: Ditto.
2852         * hard-reg-set.h: Ditto.
2853         * hash.c: Ditto.
2854         * integrate.c: Ditto.
2855         * jump.c: Ditto.
2856         * lists.c: Ditto.
2857         * local-alloc.c: Ditto.
2858         * loop.c: Ditto.
2859         * mips-tdump.c: Ditto.
2860         * mips-tfile.c: Ditto.
2861         * optabs.c: Ditto.
2862         * prefix.c: Ditto.
2863         * print-rtl.c: Ditto.
2864         * read-rtl.c: Ditto.
2865         * real.c: Ditto.
2866         * recog.c: Ditto.
2867         * reg-stack.c: Ditto.
2868         * regclass.c: Ditto.
2869         * regmove.c: Ditto.
2870         * reload.c: Ditto.
2871         * reload1.c: Ditto.
2872         * reorg.c: Ditto.
2873         * resource.c: Ditto.
2874         * rtl.c: Ditto.
2875         * rtlanal.c: Ditto.
2876         * scan.c: Ditto.
2877         * sched-deps.c: Ditto.
2878         * sched-rgn.c: Ditto.
2879         * sdbout.c: Ditto.
2880         * simplify-rtx.c: Ditto.
2881         * stmt.c: Ditto.
2882         * stor-layout.c: Ditto.
2883         * toplev.c: Ditto.
2884         * tradcif.y: Ditto.
2885         * tradcpp.c: Ditto.
2886         * tree.c: Ditto.
2887         * unroll.c: Ditto.
2888         * varasm.c: Ditto.
2889         * xcoffout.c: Ditto.
2890
2891 2001-10-10  Richard Henderson  <rth@redhat.com>
2892
2893         * rtl.h (can_reverse_comparison_p): Remove.
2894
2895 2001-10-10  Christopher Faylor <cgf@redhat.com>
2896
2897         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
2898         used.
2899
2900 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
2901
2902         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
2903         (Thanks to Chris Faylor for suggesting macro name).
2904         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
2905         WIN32 defines.
2906         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
2907         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
2908         (MATH_LIBRARY): Undef before definition.
2909         (OUTPUT_QUOTED_STRING): Likewise.
2910         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
2911
2912 2001-10-10  Richard Henderson  <rth@redhat.com>
2913
2914         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
2915         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
2916         a tristate comparison value.
2917         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
2918
2919 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2920
2921         PR c++/4512
2922         * unroll.c (loop_iterations): Ignore insns generated by loop
2923         unrolling.
2924
2925         * config.gcc (mips*-*-gnu*): Delete support.
2926         * config/mips/gnu.h: Remove.
2927
2928 2001-10-10  Kazu Hirata  <kazu@hxi.com>
2929
2930         * calls.c: Fix formatting.
2931         * c-decl.c: Likewise.
2932         * cfgcleanup.c: Likewise.
2933         * combine.c: Likewise.
2934         * cppfiles.c: Likewise.
2935         * cpplib.c: Likewise.
2936         * cppmacro.c: Likewise.
2937         * crtstuff.c: Likewise.
2938         * cse.c: Likewise.
2939         * dwarf2out.c: Likewise.
2940         * expmed.c: Likewise.
2941         * expr.c: Likewise.
2942         * fold-const.c: Likewise.
2943         * function.c: Likewise.
2944         * gcse.c: Likewise.
2945         * genattrtab.c: Likewise.
2946         * ggc-page.c: Likewise.
2947         * integrate.c: Likewise.
2948         * libgcc2.c: Likewise.
2949         * loop.c: Likewise.
2950         * optabs.c: Likewise.
2951         * profile.c: Likewise.
2952         * protoize.c: Likewise.
2953         * real.c: Likewise.
2954         * recog.c: Likewise.
2955         * reload1.c: Likewise.
2956         * reload.c: Likewise.
2957         * reorg.c: Likewise.
2958         * resource.c: Likewise.
2959         * sched-rgn.c: Likewise.
2960         * sdbout.c: Likewise.
2961         * stmt.c: Likewise.
2962         * toplev.c: Likewise.
2963         * varasm.c: Likewise.
2964
2965 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
2966
2967         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
2968         * Makefile.in (langhooks.o): Add dependencies.
2969
2970 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
2971
2972         * rs6000.c (rs6000_emit_load_toc_table): Don't
2973         strdup the toc label.
2974         (create_TOC_reference): Likewise.
2975
2976 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
2977
2978         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
2979         version default.
2980
2981 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
2982
2983         * config/i386/i386.c (ix86_attribute_table): Correct
2984         min_len, max_len fields for dllimport, dllexport and shared.
2985
2986 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
2987
2988         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
2989         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
2990         Consistently use "nonzero" instead of "non-zero".
2991
2992 2001-10-09  Kazu Hirata  <kazu@hxi.com>
2993
2994         * acconfig.h: Fix comment formatting.
2995         * c-dump.h: Likewise.
2996         * c-tree.h: Likewise.
2997         * conditions.h: Likewise.
2998         * expr.h: Likewise.
2999         * function.h: Likewise.
3000         * gthr.h: Likewise.
3001         * hwint.h: Likewise.
3002         * integrate.h: Likewise.
3003         * intl.h: Likewise.
3004         * loop.h: Likewise.
3005         * optabs.h: Likewise.
3006
3007 2001-10-09  Kazu Hirata  <kazu@hxi.com>
3008
3009         * c-common.h: Fix comment formatting.
3010         * c-dump.c: Likewise.
3011         * cfg.c: Likewise.
3012         * diagnostic.h: Likewise.
3013         * except.c: Likewise.
3014         * gcc.h: Likewise.
3015         * gcov-io.h: Likewise.
3016         * genattrtab.c: Likewise.
3017         * output.h: Likewise.
3018         * predict.h: Likewise.
3019         * reload1.c: Likewise.
3020         * reload.h: Likewise.
3021         * resource.h: Likewise.
3022         * scan.h: Likewise.
3023         * system.h: Likewise.
3024         * tree.h: Likewise.
3025         * tree-inline.c: Likewise.
3026         * tsystem.h: Likewise.
3027         * varasm.c: Likewise.
3028         * xcoffout.h: Likewise.
3029
3030 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
3031
3032         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
3033
3034 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
3035
3036         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
3037         config/i386/i386elf.h, config/i386/netbsd-elf.h,
3038         config/i386/netware.h, config/mcore/gfloat.h,
3039         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
3040         config/netware.h, gccbug.in: Update FSF address.
3041
3042 2001-10-09  Kazu Hirata  <kazu@hxi.com>
3043
3044         * c-common.c: Fix comment typos.
3045         * cfgrtl.c: Likewise.
3046         * collect2.c: Likewise.
3047         * cpplex.c: Likewise.
3048         * doloop.c: Likewise.
3049         * dwarf2out.c: Likewise.
3050         * dwarfout.c: Likewise.
3051         * expr.c: Likewise.
3052         * fold-const.c: Likewise.
3053         * gcc.c: Likewise.
3054         * gcov.c: Likewise.
3055         * gcse.c: Likewise.
3056         * global.c: Likewise.
3057         * ifcvt.c: Likewise.
3058         * loop.c: Likewise.
3059         * optabs.c: Likewise.
3060         * protoize.c: Likewise.
3061         * regclass.c: Likewise.
3062         * reorg.c: Likewise.
3063         * rtl.h: Likewise.
3064         * stmt.c: Likewise.
3065         * tree.h: Likewise.
3066         * doc/cpp.texi: Likewise.
3067         * doc/c-tree.texi: Likewise.
3068         * doc/extend.texi: Likewise.
3069         * doc/invoke.texi: Likewise.
3070         * doc/objc.texi: Likewise.
3071         * doc/tm.texi: Likewise.
3072
3073 2001-10-08  Richard Henderson  <rth@redhat.com>
3074
3075         * varasm.c (set_named_section_flags): Initialize "declared".
3076
3077 2001-10-08  Robert Lipe  <robertlipe@usa.net>
3078
3079         * varasm.c (struct in_named_entry): Add declared.
3080         (named_section_first_declaration): New function.
3081         (default_elf_asm_named_section): Use it.
3082         * output.h (named_section_first_declaration): New.
3083
3084 2001-10-08  Richard Henderson  <rth@redhat.com>
3085
3086         * i386.md (movsi_xor): Export.
3087         (setcc peep2): Use it when available; add an alternative to
3088         match zero_extendhisi2_and.
3089
3090 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3091
3092         * romp-protos.h (romp_initialize_trampoline): New function.
3093         * romp.c (romp_initialize_trampoline): Likewise.
3094         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
3095         romp_initialize_trampoline.
3096
3097 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3098
3099         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
3100         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
3101         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
3102         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
3103
3104 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3105
3106         * unroll.c (loop_iterations): Extend check for multiple back edges.
3107
3108 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
3109
3110         * langhooks.h: New file.
3111         * Makefile.in (OBJS): Added langhooks.o.
3112         (c-lang.o): Depend on langhooks.h.
3113         (c-common.o): Don't depend on tree-inline.h.
3114         (tree-inline.o): Depend on toplev.h.
3115         (langhooks.o): New rule.
3116         * c-common.c: Don't include tree-inline.h.
3117         (c_mark_lang_decl): Mark argument c as unused.
3118         (c_common_lang_init): Don't initialize hooks here.
3119         * c-lang.c: Include langhooks.h, then override some macros.
3120         (lang_hooks): Initialize with macros in langhooks.h.
3121         (c_init): Don't initialize hooks here.
3122         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
3123         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
3124         * tree-inline.c: Include toplev.h.  Don't define hook variables.
3125         * tree-inline.h: Don't define hook types nor declare hook
3126         variables.  Move macros to...
3127         * langhooks.c: ... new file, as functions.  Adjust all callers.
3128
3129 2001-10-08  Jeffrey A Law  <law@cygnus.com>
3130
3131         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
3132         purge_mem_unchanging_flag on all instructions, not just on those
3133         before NOTE_INSN_FUNCTION_BEG.
3134
3135 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
3136
3137         * cppmacro.c (_cpp_create_definition): Leave comments off.
3138
3139         * doc/cpp.texi: Update.
3140
3141 2001-10-08  DJ Delorie  <dj@redhat.com>
3142
3143         * c-decl.c (grokfield): Make sure the only unnamed fields
3144         we're allowing are either structs or unions.
3145         * doc/extend.texi: Add documentation for the unnamed field
3146         extension.
3147
3148 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
3149
3150         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
3151         * configure.in: Use it.
3152         * configure: Regenerated.
3153         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
3154         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
3155
3156 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
3157
3158         * cppfiles.c (open_file): Don't mark zero-length files
3159         never-reread here.  Don't output diagnostics here either.
3160         (stack_include_file): Mark them never-reread here.
3161         (_cpp_read_file): Update.
3162
3163 2001-10-08  Richard Henderson  <rth@redhat.com>
3164
3165         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
3166
3167 2001-10-08  Richard Henderson  <rth@redhat.com>
3168
3169         * expr.c (store_expr): When converting a CONST_INT for storage
3170         in a SUBREG, convert it to both SUBREG modes before stripping
3171         the SUBREG.
3172
3173 2001-10-08  Richard Henderson  <rth@redhat.com>
3174
3175         * varasm.c (restore_varasm_status): New.
3176         * function.h: Declare it.
3177         * function.c (pop_function_context_from): Call it.
3178
3179 2001-10-08  Richard Henderson  <rth@redhat.com>
3180
3181         * c-common.h (struct c_lang_decl): Add declared_inline.
3182         * c-tree.h (DECL_DECLARED_INLINE_P): New.
3183         * c-lang.c (c_disregard_inline_limits): Use it.
3184         * c-decl.c (duplicate_decls): Likewise.
3185         (pushdecl, redeclaration_error_message): Likewise.
3186         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
3187         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
3188         Set DECL_INLINE if -finline-functions.
3189         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
3190
3191 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
3192
3193         * cppmacro.c (funlike_invocation_p): Move some logic to caller
3194         in enter_macro_context.  Create a padding token in its own context
3195         if necessary when the search for '(' fails.
3196         (enter_macro_context): Update.
3197
3198 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
3199
3200         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
3201         genmultilib, toplev.c: Fix spelling errors of "separate" as
3202         "seperate", and corresponding spelling errors of related words.
3203
3204 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3205
3206         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
3207         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
3208         Likewise.
3209         * c-dump.c (dump_option_value_info): Likewise.
3210         * c-format.c (format_length_info, format_char_info,
3211         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
3212         * collect2.c (names): Likewise.
3213         * cppdefault.h (default_include): Likewise.
3214         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
3215         * flow.c (life_analysis): Likewise.
3216         * gcc.c (dir_separator_str, modify_target, option_map,
3217         target_option_translations, spec_list_1, extra_specs_1,
3218         init_spec): Likewise.
3219         * gcov.c (gcov_version_string): Likewise.
3220         * genattr.c (write_units): Likewise.
3221         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
3222         * gengenrtl.c (rtx_definition, defs): Likewise.
3223         * genrecog.c (pred_table): Likewise.
3224         * global.c (global_alloc): Likewise.
3225         * lcm.c (optimize_mode_switching): Likewise.
3226         * local-alloc.c (find_free_reg): Likewise.
3227         * params.h (param_info): Likewise.
3228         * predict.c (predictor_info): Likewise.
3229         * protoize.c (unexpansion_struct): Likewise.
3230         * real.c (bmask): Likewise.
3231         * recog.h (insn_operand_data, insn_data): Likewise.
3232         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
3233         * stmt.c (expand_nl_goto_receiver): Likewise.
3234         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
3235         target_switches, target_options): Likewise.
3236         * tradcif.y (token, tokentab2, yylex): Likewise.
3237         * tree.h (attribute_spec): Likewise.
3238
3239         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
3240         Likewise.
3241         * arc.c (arc_output_function_epilogue): Likewise.
3242         * arm.c (processors, all_cores, all_architectures,
3243         arm_override_options, isr_attribute_arg, isr_attribute_args,
3244         arm_isr_value): Likewise.
3245         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
3246         Likewise.
3247         * c4x.c (c4x_int_reglist): Likewise.
3248         * d30v.c (override_options): Likewise.
3249         * h8300.c (shift_insn): Likewise.
3250         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
3251         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
3252         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
3253         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
3254         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
3255         * i386.h (processor_costs, ix86_cost): Likewise.
3256         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
3257         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
3258         * m68k.c (codes_68881, codes_FPA): Likewise.
3259         * m88k.c (mode_from_align, max_from_align, all_from_align,
3260         best_from_align, m_options): Likewise.
3261         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
3262         * mcore.c (mode_from_align): Likewise.
3263         * mips/elf64.h (UNIQUE_SECTION): Likewise.
3264         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
3265         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
3266         * mips.h (mips_regno_to_class): Likewise.
3267         * ns32k.c (scales): Likewise.
3268         * pa.c (import_string, magic_milli): Likewise.
3269         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
3270         * sparc.c (leaf_reg_remap, sparc_override_options,
3271         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
3272         Likewise.
3273         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
3274
3275 2001-10-07  Dale Johannesen  <dalej@apple.com>
3276
3277         * reload1.c (reload_reg_free_p): Teach register interference
3278         checking that multiple output reloads are emitted in
3279         reverse order.
3280         reload1.c (reload_reg_reaches_end_p):  Ditto.
3281         reload1.c (reloads_conflict):  Ditto.
3282
3283 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
3284
3285         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
3286         NULL_TREE inside @code.
3287
3288 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
3289
3290         * doc/gcc.texi: Document consistent style of "32-bit",
3291         "Objective-C", and "@code{NULL}".
3292
3293 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
3294
3295         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
3296         (cpp_token_len, cpp_spell_token, cpp_output_token,
3297         _cpp_equiv_tokens): Handle it.
3298         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
3299         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
3300         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
3301         error messages.
3302
3303 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3304
3305         * gcc.c (default_compilers): Remove .ada.
3306
3307 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
3308
3309         * doc/cppinternals.texi: Update.
3310
3311 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
3312
3313         * gcc.c (main): Set this_file_error if the appropriate
3314         compiler for a language has not been installed.
3315
3316 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
3317
3318         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
3319
3320 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
3321
3322         * gccbug.in (CATEGORIES): Add ada.
3323
3324 2001-10-05  Catherine Moore  <clm@redhat.com>
3325
3326         * config/stormy16/stormy-abi:  Document abi changes.
3327         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
3328         (ICALL_REGS): New register class.
3329         (NUM_ARGUMENT_REGISTERS): Now 6.
3330         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
3331         in registers.
3332         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
3333         * config/stormy16.md (call_internal, call_value_internal,
3334         indirect_jump): Use new 'z' constraint.
3335
3336 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
3337
3338         * doc/cppinternals.texi: Update.
3339
3340 2001-10-05  Richard Henderson  <rth@redhat.com>
3341
3342         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
3343         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
3344         the gas section-name-as-label feature.
3345
3346 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
3347
3348         * doc/cppinternals.texi: Update.
3349
3350 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3351
3352         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
3353         to ensure valid SImode constants.
3354
3355 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
3356
3357         * Makefile.in (c-decl.o): Depend on tree-inline.h.
3358         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
3359         * c-decl.c: Include tree-inline.h.
3360         (c_expand_body): Call optimize_inline_calls. Determine whether
3361         a function is inlinable upfront, and only clear
3362         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
3363         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
3364         (c_disregard_inline_limits): New function.
3365         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
3366         (c_post_options): Enable tree inlining if inlining is enabled.
3367         Don't inline trees when instrumenting functions.
3368         (c_init): Initialize lang_disregard_inline_limits and
3369         lang_cannot_inline_tree_fn.
3370         * tree-inline.c (initialize_inlined_parameters): Handle calls
3371         with fewer arguments than declared parameters, and fewer
3372         parameters than passed arguments.  Don't assume value is a
3373         DECL.
3374         (declare_return_variable): Convert return value back to the
3375         original type, if it was promoted.
3376         (tree_inlinable_function_p): New function.
3377         (inlinable_function_p): Don't look at DECL_INLINE if we're
3378         inlining all functions.  Make it work with a NULL id.
3379         Re-check DECL_UNINLINABLE after language-specific checks.
3380         * tree-inline.h (tree_inlinable_function_p): Declare it.
3381         * integrate.c (save_for_inline): Don't bother to prepare argvec
3382         when not inlining.
3383         * cse.c (check_for_label_ref): Don't check deleted labels.
3384
3385         * Makefile.in (tree-inline.o): Depend on newly-included headers.
3386         * tree-inline.c: Include headers needed for the functions moved in.
3387         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
3388         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
3389         (copy_body, initialize_inlined_parameters): Likewise.
3390         (declare_return_variable, inlinable_function_p): Likewise.
3391         (expand_call_inline, expand_calls_inline): Likewise.
3392         (optimize_inline_calls, clone_body): Likewise.
3393         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
3394         (copy_tree_r, remap_save_expr): Likewise.
3395
3396 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
3397
3398         * Makefile.in (OBJS): Added tree-inline.o.
3399         (c-common.o): Depend on tree-inline.h.
3400         (tree-inline.o): New target.
3401         * c-common.c: Include tree-inline.h.
3402         (c_mark_lang_decl): Don't mark saved_tree.
3403         (c_common_lang_init): Set lang_anon_aggr_type_p.
3404         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
3405         (struct c_lang_decl): Moved saved_tree to tree_decl.
3406         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
3407         * integrate.h (function_attribute_inlinable_p): Declare it.
3408         * integrate.c (function_attribute_inlinable_p): Export it.
3409         * tree-inline.c: New file.  Define variables declared in...
3410         * tree-inline.h: New file.  Declare functions to be moved to
3411         tree-inline.c.  Define macros and declare types and hooks for
3412         language-specific tree inlining.
3413         (flag_inline_trees): Moved definition from cp/decl2.c.
3414         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
3415         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
3416         (struct tree_decl): Moved saved_tree from c_lang_decl and
3417         inlined_fns from C++'s lang_decl.
3418
3419 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
3420
3421         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
3422         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
3423
3424 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
3425
3426         * doc/cppinternals.texi: Update.
3427
3428 2001-10-04  Eric Christopher  <echristo@redhat.com>
3429
3430         * config/mips/mips.c (init_cumulative_args): Remember to set
3431         cum->prototype.
3432         * config.gcc: Redo linux configuration. Add target_cpu_default
3433         of soft-float to all mipsisa32 combinations and tx39.
3434         * config/mips/linux.h: Remove include of mips.h.
3435
3436 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
3437
3438         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
3439         HOST_LDFLAGS and HOST_CPPFLAGS.
3440
3441 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
3442
3443         * c-parse.in (objc_inherit_code, objc_pq_context,
3444         objc_public_flag): Make static.
3445         (objc_interface_context, objc_implementation_context,
3446         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
3447         global tree array in objc/objc-act.[ch].
3448         (methoddef): Remove unnecessary code.
3449
3450         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
3451         Hoist struct definitions to objc-act.h.
3452         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
3453         cat_count): Place declaration in objc-act.h.
3454         (objc_tree_index): Move enumeration to objc-act.h.
3455         (objc_global_trees): Place declaration and macro accessors in
3456         objc-act.h.
3457         (implementation_context): Remove duplicate; use
3458         objc_implementation_context instead:
3459         (method_context): Remove duplicate; use objc_method_context
3460         instead.
3461         (objc_ellipsis_node, objc_method_prototype_template,
3462         implemented_classes, function_type): Move global vars to
3463         objc_global_trees.
3464         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
3465         (build_message_expr): Move actual construction of ObjC message
3466         send nodes to finish_message_expr.
3467         (finish_message_expr): New routine, contains code formerly in
3468         build_message_expr.
3469         * objc/objc-act.h (finish_message_expr): New prototype.
3470         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
3471         declarations; these vars are now part of objc_global_trees.
3472         (objc_tree_index, objc_global_trees): Move definitions from
3473         objc-act.c.
3474         * objc/objc-tree.def: Update copyright info.
3475
3476 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
3477
3478         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
3479         op is NULL.
3480         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
3481         only if TARGET_ARCH64.
3482
3483 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
3484
3485         * doc/extend.texi: Fix some problems with previous checkin.
3486         * doc/invoke.texi: Likewise.
3487
3488 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
3489
3490         * cpphash.h: Update comments.
3491         (cpp_context): Update.
3492         (spec_nodes): Remove n__Pragma.
3493         * cppinit.c (cpp_create_reader): Update.
3494         (builtin_array): Add _Pragma.
3495         * cpplib.h: Update comments.
3496         (NODE_DISABLED, BT_PRAGMA): New.
3497         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
3498         * cppmacro.c (struct cpp_macro): Remove disabled.
3499         (builtin_macro): Return int, handle _Pragma, push the new token
3500         on the context stack.
3501         (funlike_invocation_p): Unconstify, update.
3502         (enter_macro_context): Handle builtins here.
3503         (replace_args, push_token_context, push_ptoken_context):
3504         Update for prototype changes.
3505         (_cpp_pop_context): Update.
3506         (cpp_get_token): Don't handle buitins, nor _Pragma here.
3507         (cpp_sys_macro_p): Update.
3508         (_cpp_free_definition): Clear disabled flag.
3509         (_cpp_create_definition): Upate.
3510         * cppmain.c: Update comments.
3511
3512 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
3513                                 Andreas Jaeger <aj@suse.de>,
3514                                 Jan Hubicka    <jh@suse.cz>
3515
3516         * doc/invoke.texi (i386 Options): Document x86-64 options.
3517         (i386 and x86-64 Options): Rename i386 options section.
3518
3519         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
3520         (TARGET_SWITCHES): Add -munwind-info.
3521         (MASK_NO_UNWIND_INFO): New.
3522         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
3523         biarch compilation.
3524         (ASM_OUTPUT_DOUBLE_INT): New.
3525
3526         * config/i386/linux64.h: New spec file for Linux x86-64 support.
3527         * config.gcc: Fix tm_file settings for x86-64.
3528         * config/i386/x86-64.h: New file with OS independent x86-64
3529         definitions.
3530         * config/i386/biarch64.h: New file used to configure compiler
3531         to biarch/64bit compilation.
3532
3533         * config/i386/i386.c: (override_options): Set flags default
3534         for 64bit compilation.
3535
3536 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
3537
3538         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
3539         (ix86_expand_int_movcc): Optimize DImode conditional moves with
3540         constants on x86_64.
3541         (ix86_attr_length_immediate_default): Support MODE_DI.
3542         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
3543         condition.
3544         (indirect_jump, tablejump): Turn into expander.
3545
3546 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
3547
3548         * c-common.c (c_format_attribute_table): Make format and
3549         format_arg attributes apply to function types rather than to
3550         decls.
3551         (is_valid_printf_arglist): Construct an attribute list and pass
3552         that to check_function_format rather than a name.
3553         * c-common.h (check_function_format): Adjust prototype.
3554         * c-decl.c (duplicate_decls): Preserve attributes from type of
3555         built-in decl when allowing for harmless conflict in types.
3556         * c-format.c (record_function_format,
3557         record_international_format, function_format_list,
3558         international_format_info, international_format_list): Remove.
3559         (function_format_info): Remove next, name and assembler_name.
3560         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
3561         (decode_format_attr): New.
3562         (handle_format_attribute): Handle receiving a type rather than a
3563         decl.  Call decode_format_attr.  Store format information in a
3564         function_format_info.
3565         (handle_format_arg_attribute): Correct comment.  Handle receiving
3566         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
3567         arg_num.
3568         (check_format_info_recurse, check_format_info_main): Take argument
3569         numbers as unsigned HOST_WIDE_INT.
3570         (check_function_format): Take a list of attributes from the
3571         function type rather than a name or assembler name.  Check for
3572         format attributes in that list and the attributes on the type of
3573         the current function rather than looking through
3574         function_format_list.
3575         (check_format_info): Use unsigned HOST_WIDE_INT for argument
3576         numbers.
3577         (check_format_info_recurse): Take format_arg attributes from the
3578         type of the function calls rather than using
3579         international_format_list.  Allow for multiple format_arg
3580         attributes.
3581         * c-typeck.c (build_function_call): Pass type attributes to
3582         check_function_format rather than name or assembler name.  Don't
3583         require there to be a name or assembler name to check formats.
3584
3585 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
3586
3587         * attribs.c (decl_attributes): Possibly call
3588         insert_default_attributes to insert default attributes on
3589         functions in a lazy manner.
3590         * builtin-attrs.def: New file; define the default format and
3591         format_arg attributes.
3592         * c-common.c (c_format_attribute_table): Move to earlier in the
3593         file.
3594         (c_common_nodes_and_builtins): Initialize format_attribute_table.
3595         (enum built_in_attribute, built_in_attributes,
3596         c_attrs_initialized, c_init_attributes,
3597         c_common_insert_default_attributes): New.
3598         (c_common_lang_init): Don't initialize format_attribute_table.  Do
3599         call c_init_attributes.
3600         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
3601         * c-common.h (init_function_format_info): Don't declare.
3602         (c_common_insert_default_attributes): Declare.
3603         * c-decl.c (implicitly_declare, builtin_function): Call
3604         decl_attributes.
3605         (init_decl_processing): Don't call init_function_format_info.
3606         (insert_default_attributes): New.
3607         * c-format.c (handle_format_attribute,
3608         handle_format_arg_attribute): Be quiet about inappropriate
3609         declaration when applying default attributes.
3610         (init_function_format_info): Remove.
3611         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
3612         (insert_default_attributes): Declare.
3613
3614 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
3615
3616         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
3617
3618 2001-10-01  Jim Wilson  <wilson@redhat.com>
3619
3620         * sched-deps.c (add_dependence): When elide conditional dependence,
3621         check that insn doesn't modify cond2.
3622
3623 2001-10-01  Dale Johannesen  <dalej@apple.com>
3624
3625         * config/rs6000/rs6000.h (enum processor_type): Add support
3626         for 7400 (G4) and 7450.
3627         (RTX_COSTS): Ditto.
3628         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
3629         (rs6000_issue_rate): Ditto.
3630         (rs6000_adjust_cost): Fix cycle counts for compares.
3631         (debug_stack_info):  Fix an obvious typo.
3632         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
3633         * doc/invoke.texi: Document.
3634         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
3635         for Darwin.
3636         (PROCESSOR_DEFAULT): Ditto.
3637
3638 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
3639
3640         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
3641         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
3642         later recursive make invocation.
3643
3644 2001-10-01  Hans Boehm  <boehm@acm.org>
3645
3646         * optabs.c (emit_libcall_block): When using non-call exceptions,
3647         don't add REG_LIBCALL reg notes to trapping calls.
3648
3649 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
3650
3651         * flow.c (propagate_block_delete_libcall): Remove unused first arg
3652         (propagate_one_insn):  Update for above change
3653
3654 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
3655
3656         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
3657         _Unwind_GetTextRelBase): Argument is unused.
3658
3659 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3660
3661         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
3662         Loop through NOPs, placeholders, and components.
3663         Don't go through NOPs if change mode.
3664         (record_alias_subset): Do nothing if SUBSET and SET are the same.
3665         * emit-rtl.c (set_mem_alias_set): Enable check.
3666         * expr.c (find_placeholder): New function.
3667         (expand_expr, case PLACEHOLDER_EXPR): Use it.
3668         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
3669         to modify it and avoid unneeded copies.
3670         * expr.h (expand_expr): Always define.
3671         (find_placeholder): New declaration.
3672
3673 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3674
3675         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
3676         operand 2 is the stack pointer.
3677         ("addr-peephole"): Fix address computation peephole when operand 2
3678         is the stack pointer.
3679
3680 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3681
3682         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
3683         (ix86_setup_incoming_varargs): Likewise.
3684
3685 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
3686
3687         * stor-layout.c (layout_type): Don't complain about too-large
3688         array here.
3689
3690 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3691
3692         * function.c (keep_stack_depressed): Don't use delete_insn.
3693
3694         * expr.h (set_mem_alias_set): Move decl to here.
3695         * rtl.h (mem_attrs): New typedef and struct.
3696         (union rtunion_def): Add field for mem_attrs.
3697         (X0MEMATTR, MEM_ATTRS): New macros.
3698         (MEM_ALIAS_SET): Use MEM_ATTRS.
3699         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
3700         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
3701         (set_mem_alias_set): Delete decl from here.
3702
3703         * alias.c (set_mem_alias_set): Delete from here.
3704         * emit-rtl.c (mem_attrs_htab): New variable.
3705         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
3706         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
3707         (mem_attrs_mark, get_mem_attrs): Likewise.
3708         (gen_rtx_MEM): Clear MEM_ATTRS.
3709         (set_mem_attributes): Move to here.
3710         (set_mem_alias_set): Likewise, and call get_mem_attrs.
3711         (init_emit_once): const_int_htab now deletable htab.
3712         Initialize mem_attrs_htab.
3713         * explow.c (set_mem_attributes): Delete from here.
3714         * function.c (put_var_into_stack): Clear MEM_ATTRS.
3715         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
3716         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
3717         * reload1.c (reload): Rework changing REG to MEM.
3718
3719 2001-09-30  H.J. Lu <hjl@gnu.org>
3720
3721         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
3722         * config.in: Rebuild.
3723
3724 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3725
3726         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
3727         ("tsthi_1"): Avoid allocation in register y.
3728         ("*movqi_68hc12"): Reorganize and fix constraints.
3729         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
3730         ("addqi3"): Likewise.
3731         ("addhi3"): Fix constraints.
3732         ("*logicalhi3_zexthi"): Disparage soft registers.
3733
3734 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3735
3736         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
3737         to tmp reg.
3738
3739 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3740
3741         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
3742         that we use setjmp/longjmp exceptions.
3743
3744 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
3745
3746         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
3747         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
3748         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
3749         _cpp_pool_alloc, _cpp_next_chunk): Remove.
3750         (_cpp_extend_buff, BUFF_ROOM): Update.
3751         (_cpp_append_extend_buff): New.
3752         (struct cpp_reader): Remove macro_pool, add a_buff.
3753         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
3754         macro_pool.
3755         (cpp_destroy): Free a_buff instead of macro_pool.
3756         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
3757         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
3758         _cpp_pool_alloc, ): Remove.
3759         (parse_number, parse_string): Update use of _cpp_extend_buff.
3760         (_cpp_extend_buff): Update.
3761         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
3762         * cpplib.c (glue_header_name, parse_answer):
3763         Update use of _cpp_extend_buff.
3764         (cpp_register_pragma, cpp_register_pragma_space): Use
3765         _cpp_aligned_alloc.
3766         (do_assert, do_unassert): Check for EOL, update.
3767         * cppmacro.c (stringify_arg, collect_args): Update to use
3768         _cpp_extend_buff and _cpp_append_extend_buff.
3769         (save_parameter, parse_params, alloc_expansion_token,
3770         _cpp_create_definition): Rework memory management.
3771
3772 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
3773
3774         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
3775         update md_exec_prefix.
3776         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
3777         to string constant.
3778
3779 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
3780
3781         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
3782         (SELECT_CC_MODE): Use s390_select_ccmode.
3783         * config/s390/s390-protos.h (s390_select_ccmode): Add.
3784         * config/s390/s390.c (s390_select_ccmode): New.
3785         (s390_match_ccmode): Add CCLmode.
3786         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
3787         (output_branch_condition, output_inverse_branch_condition): Removed.
3788         (print_operand): Use s390_branch_condition_mnemonic.
3789         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
3790         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
3791         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
3792
3793         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
3794         when converting conditional branches to far branches.
3795         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
3796         cmpint_di): Use CCSmode instead of CCUmode.
3797
3798         * config/s390/s390.c (legitimate_la_operand_p): New.
3799         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
3800         * config/s390/s390.md (movsi): Convert load address patterns to
3801         arithmetic operations when necessary.
3802         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
3803         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
3804         (*do_la_reg_0): Don't use before reload.
3805
3806         * config/s390/s390.c (legitimize_address): Make more efficient
3807         use of two-register addressing mode.
3808
3809         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
3810         with -mno-backchain in some corner cases.
3811
3812         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
3813
3814 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
3815
3816         * reload.c (find_reloads): Mark new USE insns with QImode.
3817         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
3818         find_reloads_subreg_address): Likewise.
3819         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
3820         encountered.
3821         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
3822         CLOBBERs.
3823         (reload): Make sure there are no USEs with mode other than
3824         VOIDmode.  At the end, remove those marked with QImode.
3825
3826 2001-09-29  Per Bothner  <per@bothner.com>
3827
3828         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
3829         * Makefile.in (includedir):  Rename to local_includedir.
3830         (includedir):  Define as $(prefix)/include.
3831         * config.in (PREFIX_INCLUDE_DIR):  New variable.
3832         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
3833
3834 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
3835
3836         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
3837         storehps builtins.
3838         * doc/extend.texi (Vector Extensions): New node.
3839         * doc/invoke.texi (Machine Dependent Options): Add documentation for
3840         i386 -mmmx, -msse, -m3dnow.
3841
3842 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
3843
3844         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
3845
3846 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
3847
3848         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
3849
3850         * doc/invoke.texi (Optimize Options): Delete spurious @table.
3851
3852 2001-09-28  Richard Henderson  <rth@redhat.com>
3853
3854         * varasm.c (assemble_integer): Bound alignment check by
3855         BIGGEST_ALIGNMENT.
3856
3857         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
3858
3859 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3860
3861         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
3862
3863 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
3864
3865         Mostly from Graham Stott  <grahams@redhat.com>
3866         * c-common.c (type_for_mode): Add support for V2SFmode.
3867         * tree.c (build_common_tree_nodes_2): Likewise.
3868         * tree.h (enum tree_index, global_trees): Likewise.
3869         * config/i386/i386.c (x86_3dnow_a): New variable.
3870         (override_options): Support 3Dnow extensions.
3871         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
3872         Athlon's version of 3Dnow.
3873         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
3874         (ix86_expand_builtin): Handle them.
3875         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
3876         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
3877         TARGET_3DNOW_A): New macros.
3878         (TARGET_SWITCHES): Add 3Dnow switches.
3879         (VALID_MMX_REG_MODE_3DNOW): New macro.
3880         (VECTOR_MODE_SUPPORTED_P): Use it.
3881         (enum ix86_builtins): Add entries for 3Dnow builtins.
3882         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
3883         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
3884         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
3885         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
3886         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
3887         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
3888         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
3889         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
3890         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
3891         sfence_insn, prefetch): Make these available if TARGET_SSE or
3892         TARGET_3DNOW_A.
3893
3894 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
3895
3896         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
3897         ix86_va_start, ix86_build_va_list): Declare.
3898         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
3899         ix86_va_start, ix86_build_va_list): New global functions.
3900         * i386.md (sse_prologue_save_insn): New insn.
3901         (sse_prologue_save): New expander.
3902         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
3903         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
3904
3905 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
3906
3907         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
3908         Use size_t everywhere, make definitions consistent with
3909         prototypes.
3910
3911 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
3912
3913         * gcse.c (replace_store_insn): Use delete_insn.
3914         * loop.c (move_movables): Likewise; avoid delete_insn
3915         from clobbering notes moved elsewhere.
3916         (check_dbra_loop): Use delete_insn.
3917         * ssa.c (convert_from_ssa): Likewise.
3918         * cse.c (cse_insn): Use delete_insn.
3919
3920 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
3921
3922         * cpphash.h (struct cpp_buff): Make unsigned.
3923         (_cpp_get_buff): Take length of size_t.
3924         (_cpp_unaligned_alloc): New.
3925         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
3926         (struct cpp_reader): Remove ident_pool.  Add u_buff.
3927         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
3928         (cpp_destroy): Destroy u_buff, not ident_pool.
3929         * cpplex.c (parse_number, parse_string, save_comment,
3930         cpp_token_as_text): Update to use the unaligned buffer.
3931         (new_buff): Make unsigned.
3932         (_cpp_unaligned_alloc): New.
3933         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
3934         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
3935         Similarly.
3936         (collect_args): Make unsigned.
3937
3938 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
3939
3940         * cpplex.c (cpp_output_token): Use a putc loop for
3941         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
3942
3943         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
3944         * configure, config.in: Regenerate.
3945         * system.h: Replace fwrite and fprintf with their unlocked
3946         variants if available.
3947
3948 2001-09-27  Richard Henderson  <rth@redhat.com>
3949
3950         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
3951         in favour of .eh_frame.
3952
3953 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
3954
3955         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
3956         to macros.
3957         (LIBCALL_VALUE): Likewise.
3958
3959 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
3960
3961         * cpphash.h: Update comment.
3962         * cpplex.c: Update comments.
3963         (_cpp_can_paste): Remove.
3964         * cpplib.h (_cpp_can_paste): Remove.
3965         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
3966         lexer rather than _cpp_can_paste.
3967
3968 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
3969
3970         * doc/cppinternals.texi: Update.
3971
3972 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3973
3974         * cpphash.h (struct cpp_pool): Remove locks and locked.
3975         (struct cpp_context): Add member buff.
3976         (struct cpp_reader): Remove member argument_pool.
3977         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
3978         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
3979         * cpplex.c (chunk_suitable): Remove pool argument.
3980         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
3981         (new_buff, _cpp_extend_buff): Update.
3982         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
3983         which buffer is returned.
3984         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
3985         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
3986         * cppmacro.c (lock_pools, unlock_pools): Remove.
3987         (push_ptoken_context): Take a _cpp_buff.
3988         (enter_macro_context): Pool locking removed.
3989         (replace_args): Use a _cpp_buff for the replacement list with
3990         arguments replaced.
3991         (push_token_context): Clear buff.
3992         (expand_arg): Use _cpp_pop_context.
3993         (_cpp_pop_context): Free a context's buffer, if any.
3994
3995 2001-09-26  DJ Delorie  <dj@redhat.com>
3996
3997         * c-typeck.c (digest_init): Check for sizeless arrays.
3998
3999 2001-09-26  Richard Henderson  <rth@redhat.com>
4000
4001         * optabs.c (init_one_libfunc): Create a dummy function type
4002         instead of using error_mark_node.
4003
4004 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
4005
4006         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
4007         _cpp_extend_buff, _cpp_free_buff): New.
4008         (struct cpp_reader): New member free_buffs.
4009         * cppinit.c (cpp_destroy): Free buffers.
4010         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
4011         _cpp_extend_buff, _cpp_free_buff): New.
4012         * cpplib.h (struct cpp_options): Remove unused member.
4013         * cppmacro.c (collect_args): New.  Combines the old parse_arg
4014         and parse_args.  Use _cpp_buff for memory allocation.
4015         (funlike_invocation_p, replace_args): Update.
4016
4017 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
4018
4019         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
4020
4021 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
4022
4023         * except.c (sjlj_mark_call_sites): Change address inside sequence.
4024
4025 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
4026
4027         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
4028         glibc.
4029
4030 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
4031             Jim Wilson  <wilson@redhat.com>
4032
4033         * doc/install.texi (Specific, ia64-*-linux): Document.
4034
4035 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
4036
4037    &