OSDN Git Service

ae8aa5cbb94fea6cb873923f5b190ca1d9cdce36
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2
3         * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
4         emit_cmp_and_jump_insns.
5
6         * stormy16.c (xstormy16_expand_builtin_va_arg,
7         xstormy16_expand_casesi): Likewise.
8
9 Wed Nov 21 17:37:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10
11         * function.c (keep_stack_depressed): Major rework.
12         (handle_epilogue_set, emit_equiv_load): New functions.
13         (thread_prologue_and_epilogue_insns): keep_stack_depressed now
14         has return value.
15         * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
16         * rtl.h (SET_IS_RETURN_P): New macro.
17
18         * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
19         and also support TREE_ADDRESSABLE.
20         * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
21
22 2001-11-21  David Edelsohn  <edelsohn@gnu.org>
23
24         * rs6000.md (cmptf_internal1): Replace %$ with $.
25
26 Wed Nov 21 16:44:01 2001  Douglas B. Rupp  <rupp@gnat.com>
27
28         * cppfiles.c (STAT_SIZE_TOO_BIG): Define.
29         (read_include_file): Use STAT_SIZE_TOO_BIG.
30
31         * cppinit.c (INO_T_COPY): Define.
32         (INO_T_EQ): Uppercase parameters.
33         (append_include_chain): Use INO_T_COPY.
34
35 2001-11-21  Richard Sandiford  <rsandifo@redhat.com>
36
37         * cfg.c: Fix typos and formatting in the introductory comment.
38
39 Wed Nov 21 12:38:37 CET 2001  Jan Hubicka
40
41         * profile.c (compute_branch_probabilites):  Compute probabilities
42         for entry/exit edges; estimate probabilities for zero counts.
43
44 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
45
46         * explow.c (probe_stack_range): Use LCT_NORMAL as second argument
47         to emit_library_call.
48         * function.c (expand_main_function, expand_function_start,
49         expand_function_end): Likewise.
50         * profile.c (output_func_start_profiler): Likewise.
51         * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
52         second argument to emit_library_call.
53         * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
54         as second argument to emit_library_call.
55         * calls.c (emit_library_call): Update fn_type description.
56
57 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
58
59         * c-decl.c (c_expand_deferred_function): Only call c_expand_body
60         if fndecl is still DECL_INLINE and has DECL_RESULT.
61
62 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
63
64         * clipper.c (clipper_movstr): Avoid uninitialized warning.
65         * i960.c (is_mask, legitimize_address): Likewise.
66         * m88k.c (m88k_expand_prologue): Likewise.
67         * m88k.md: Likewise.
68         * mcore.c (emit_new_cond_insn): Likewise.
69         * stormy16.c (xstormy16_emit_cbranch): Likewise.
70
71 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
72
73         * config.gcc: Delete powerpcle-*-solaris2* stanza.
74         * config/rs6000/eabi.asm, config/rs6000/rs6000.c,
75         config/rs6000/rs6000.h, config/rs6000/rs6000.md,
76         config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
77         config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
78         config/rs6000/t-ppcos: Expunge all references to Solaris.
79
80         * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
81
82         * config/rs6000/rs6000.md: Replace '%$' with '$' in all
83         output templates.
84         * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
85         and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
86
87 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
88
89         * sh.md: Avoid uninitialized warnings.
90         * vax.c (vax_rtx_cost): Likewise.
91
92 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
93
94         * rs6000.c (direct_return): Check if we are saving altivec
95         registers.
96         (first_altivec_reg_to_save): New.
97         Updated stack frame layout comments.
98         (rs6000_stack_info): Calculate altivec register save size.
99         Save link register if we saved some altivec registers.
100         (rs6000_stack_info): Align save size to 16 if altivec abi or
101         abi_darwin.
102         (rs6000_stack_info): Calculate altivec register offsets.
103         (rs6000_stack_info): Add altivec info to save_size.
104         (debug_stack_info): Add altivec debug info.
105         (rs6000_emit_prologue): Save altivec registers and vrsave.
106         (compute_vrsave_mask): New.
107         (altivec_expand_builtin): Remove unused variables.
108         (rs6000_parse_abi_options): Add static qualifier.
109         (rs6000_expand_builtin): Remove unused parameters.
110         (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
111         (altivec_init_builtins): Same.
112         (is_altivec_return_reg): New.
113         (vrsave_operation): New.
114         (ALTIVEC_REG_BIT): New.
115         (generate_set_vrsave): New.
116
117         * rs6000.md (get_vrsave): New.
118         (set_vrsave): New.
119         (*set_vrsave_internal): New.
120
121         * rs6000.h (rs6000_stack): Add first_altivec_reg_save,
122         altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
123         altivec_padding_size, vrsave_mask.
124         (TOTAL_ALTIVEC_REGS): New.
125         (EPILOGUE_USES): Add VRSAVE_REGNO.
126
127 2001-11-20  Jeff Law <law@redhat.com>
128
129         * unroll.c (copy_loop_body): Update LABEL_NUSES for the
130         exit label as necessary.
131
132 2001-11-20  Brad Kaiser  <bkaiser@acelink.net>
133
134         * reload1.c (elimination_effects): Use function_invariant_p
135         instead of CONSTANT_P when considering register equivalences.
136
137 2001-11-20  David O'Brien  <obrien@FreeBSD.org>
138
139         * config.gcc: Add FreeBSD/PowerPC target.
140         (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
141         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
142         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
143         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
144         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
145         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
146         freebsd-spec.h to tm_file.
147         (rs6000-*-lynxos*): Add lynx.h to tm_file.
148         * config/freebsd.h: Tidy up.
149         (USING_CONFIG_FREEBSD): Define.
150         (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
151         FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
152         FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
153         (TARGET_HAS_F_SETLKW): Define.
154         (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
155         * config/freebsd-spec.h: New file.
156         * config/rs6000/freebsd.h: New file.
157         * config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
158         * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
159         USING_SVR4_H to know when to turn on ELF support.
160         * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
161         define only if not already defined.
162         Add FreeBSD support.
163         * config/rs6000/aix.h (TARGET_VERSION): Define.
164         * config/rs6000/beos.h: Likewise.
165         * config/rs6000/darwin.h: Likewise.
166         * config/rs6000/mach.h: Likewise.
167         * config/rs6000/lynx.h (TARGET_VERSION): Likewise.
168         Don't include lynx.h directly.
169
170 2001-11-20  Graham Stott  <grahams@redhat.com>
171
172         * unwind-dw2-fde.c (__deregister_frame_info_bases):
173         Fix lossage in last change return OB.
174
175 Tue Nov 20 11:56:12 2001  Douglas B. Rupp  <rupp@gnat.com>
176
177         * config/alpha/xm-vms.h (_POSIX_EXIT): Define.
178         Remove unneeded exit related macros.
179
180 2001-11-20  David Edelsohn  <edelsohn@gnu.org>
181
182         * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
183
184         * rs6000.c (rs6000_emit_move): Add TFmode case.
185         * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
186         LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
187         LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
188         * rs6000.h: ... to here.
189         * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
190         trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
191         fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
192
193 Tue Nov 20 06:41:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
194
195         * emit-rtl.c (get_mem_attrs): Fix typo.
196
197 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
198
199         * c-lang.c (finish_file): Backout 2001-11-16
200         changes, instead set DECL_DEFER_OUTPUT for static inline functions
201         before calling c_expand_deferred_function.
202
203 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
204
205         * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
206         Don't register empty .eh_frame sections.
207         (__deregister_frame_info_bases, __deregister_frame): Don't
208         unregister them either.
209
210 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
211
212         * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
213         (HAVE_AS_GSTABS_DEBUG_FLAG): Define.
214         * configure: Regenerate.
215         * config.in: Add dummy definitions of new flags.
216         * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
217         * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
218         * gcc.c (ASM_DEBUG_SPEC): New macro.
219         (asm_debug): New static variable.
220         (default_compilers): Add asm_debug when assembling from
221         user input.
222         (static_specs): Add asm_debug.
223
224 2001-11-20  Loren J. Rittle  <ljrittle@acm.org>
225
226         * config.gcc (*-*-freebsd*): Remove configuration block.
227
228 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
229
230         bootstrap/4422
231         * configure.in: Setup ability to run ./stage[1234]/xgcc in
232         fixinc *as if* it were a proper lang subdirectory.
233         * configure: Rebuilt.
234
235 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
236
237         * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
238
239 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
240
241         * 1750a.md: Don't use hex format for a const_int.
242
243 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
244
245         * expmed.c (extract_bit_field): Don't create invalid SUBREGs.
246
247 2001-11-19  Zack Weinberg  <zack@codesourcery.com>
248
249         * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
250         defined (prevents link errors when gettext isn't in the system
251         library).
252
253 2001-11-19  DJ Delorie  <dj@redhat.com>
254
255         * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
256         (validate_const_int): New.
257         (read_rtx): Validate constant integers.
258         * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
259
260 2001-11-19  Jakub Jelinek  <jakub@redhat.com>
261
262         * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
263
264 Mon Nov 19 16:57:44 2001  Douglas B. Rupp  <rupp@gnat.com>
265
266         * toplev.c (DUMPFILE_FORMAT): Define default.
267         (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
268         (close_dump_file, compile_file): Likewise.
269         * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
270         * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
271
272 2001-11-19  Jeff Law <law@redhat.com>
273
274         * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
275         a nop-jump.
276
277 2000-11-19  Neil Booth  <neil@daikokuya.demon.co.uk>
278
279         * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
280         Don't fall off the base token run.
281
282 2001-11-19  Jason Wilkins <fenix@io.com>
283
284         * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
285
286 Mon Nov 19 15:13:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
287
288         * tree.def (VIEW_CONVERT_EXPR): New tree code.
289         * tree.h (handled_component_p): New declaration.
290         * alias.c (handled_component_p): Move function from here ...
291         * expr.c (handled_component_p): ... to here and non longer static.
292         (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
293         (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
294         (get_inner_reference): Handle VIEW_CONVERT_EXPR.
295         (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
296         (expand_expr, case VIEW_CONVERT_EXPR): New case.
297         (expand_expr, cse ADDR_EXPR): No need to copy if already
298         BIGGEST_ALIGNMENT.
299         * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
300         * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
301         (output_constant): Handle VIEW_CONVERT_EXPR.
302         * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
303         Add new case for VIEW_CONVERT_EXPR.
304
305 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
306
307         * a29k/unix.h (ASM_FILE_START): Const-ify.
308         * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
309         * i386/isc.h (ASM_FILE_START): Const-ify.
310         * i386/sun386.h (ASM_FILE_START): Likewise.
311         * m32r.md: Likewise.
312         * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
313         * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
314         * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
315         * mn10200.md: Initialize variable.
316
317 Mon Nov 19 18:06:21 CET 2001  Jan Hubicka  <jh@suse.cz>
318
319         * gcse.c (try_replace_reg): Copy RTX before creating note.
320
321         * df.h (df_ref_flags): New uenum.
322         (DF_REF_FLAGS): New macro.
323         (struct ref): Add field "flags".
324         * df.c (HANDLE_SUBREG): Remove.
325         (df_ref_create): Likewise; set flags field of ref.
326         (df_def_record_1): Strip down read_write subreg; remove
327         commented out code; set READ_WRITE flag.
328         (read_modify_subreg_p): New static function.
329         (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
330         new argument "flags".
331         (df_insn_refs_record): Update call of df_uses_record.
332         (df_insn_modify): Avoid #if 0 around comment.
333         (df_dump): Dump the read/write flag.
334
335         * predict.c (propagate_freq): Make cyclic_probability and frequency
336         volatile
337
338         * i386.c (ix86_cc_mode): Accept USE.
339
340         * cfgrtl.c (purge_dead_edges):  Cleanup EDGE_ABNORMAL flag if computed
341         jump is turned into simplejump.
342
343 2001-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
344
345         * doc/fragments.texi, doc/trouble.texi: Remove links to old
346         installation chapter.
347         * doc/gcc.texi: Don't claim that this manual documents
348         installation.  Mark Installation menu entry as being out of date.
349
350 Mon Nov 19 07:21:35 2001  Douglas B. Rupp  <rupp@gnat.com>
351
352         * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
353         (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
354         * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
355
356 2001-11-19  Jason Merrill  <jason@redhat.com>
357
358         * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
359         cur_token, not after.
360
361         * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
362         Lose ASM_OUTPUT_CONSTRUCTOR.
363         * system.h: Poison it and INT_ASM_OP.
364         * c-lang.c (finish_file): Don't check for it.
365         * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
366
367 2001-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
368
369         * mmix.c (mmix_cc1_ignored_option): Const-ify.
370         (mmix_init_machine_status): Make static to match declaration.
371         (mmix_unique_section): Const-ify.
372         (mmix_output_quoted_string): Avoid automatic aggregate
373         initialization.
374         (mmix_output_register_setting): Likewise.
375         (mmix_output_shiftvalue_op_from_str): Likewise.
376
377         * mmix.h (mmix_cc1_ignored_option): Const-ify.
378         (ASM_OUTPUT_BYTE): Fix format specifier warning.
379         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
380
381 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
382
383         PR c/4448
384         * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
385         name __objc_thread_exit_status so that it matches the
386         variable defined in objc/thr.h.
387
388 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
389
390         PR bootstrap/4020
391         * mklibgcc.in: Add missing semi-colons.
392         * Makefile.in: Same.
393
394 Sun Nov 18 16:47:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
395
396         * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
397         after re-laying out decl in incomplete case.
398         (expand_expr, case ADDR_EXPR): Fix typo in copy case.
399
400 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
401
402         * doc/install-old.texi: Move some sections out to ...
403         * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
404         ... here.  New files.  Make into chapters rather than sections.
405         * doc/gcc.texi: Include the new files and add menu entries for
406         them.
407         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
408
409 Sun Nov 18 14:13:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
410
411         * tree.h (TYPE_ALIGN_OK): New flag.
412         * emit-rtl.c (set_mem_attributes): Handle it.
413         * expr.c (emit_single_push_insn): Only set to alias set 0 if
414         doing sibcall optimization.
415         (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
416         when make temporary.
417         (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
418         (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
419
420         * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
421
422 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
423
424         * c-decl.c (c_decode_option): Give deprecation warning for
425         -traditional.
426         * doc/invoke.texi (-traditional): Note that this option is
427         deprecated.
428
429 Sun Nov 18 07:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
430
431         * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
432         arg to HOST_WIDE_INT, not long.
433
434         * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
435         (HAS_INIT_SECTION): Define.
436         (REAL_ARITHMETIC): Don't undefine.
437
438 2001-11-18  Egor Duda  <deo@logos-m.ru>
439
440         * config/i386/cygwin.h: Strip leading '*' from name, if any.
441
442 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
443
444         * Makefile.in (c-parse.o, c-common.o): Update dependencies.
445         * c-common.c: Include diagnostic.h.
446         (c_common_finish): New.
447         * c-common.h (c_common_finish): New.
448         * c-lang.c (LANG_HOOKS_FINISH): Override.
449         * c-parse.in: Don't include diagnostic.h.
450         (finish_parse): Remove.
451         * langhooks.h: Update comments.
452         * toplev.c (lang_dependent_init): New prototype.
453         (finalize): New.
454         (compile_file): Split cleanup code out to finalize.
455         (lang_dependent_init): Stop if lang_hooks.init fails.
456         (toplev_main): Update.
457         * tree.h (finish_parse): Remove.
458 objc:
459         * objc-act.c (LANG_HOOKS_FINISH): Override.
460
461 Sat Nov 17 23:30:44 2001  Douglas B. Rupp  <rupp@gnat.com>
462
463         * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
464         * config/alpha/vms_tramp.asm: New file.
465         * config/alpha/vms-tramp.asm: Removed.
466
467 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
468
469         * c-common.c (struct disabled_builtin, disabled_builtins,
470         disable_builtin_function, builtin_function_disabled_p): New.
471         (builtin_function_2): Check for disabled built-in functions.
472         * c-common.h (disable_builtin_function): Declare.
473         * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
474         * doc/invoke.texi: Document -fno-builtin-FUNCTION.
475         * doc/extend.texi: Mention -fno-builtin-FUNCTION.
476
477 2001-11-17  Craig Rodrigues  <rodrigc@gcc.gnu.org>
478
479         PR target/4606
480         * config.gcc: Remove reference to va-clipper.h.
481
482 2001-11-17  Stan Shebs  <shebs@apple.com>
483
484         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
485         AltiVec-related bitfields.
486
487 Sat Nov 17 12:06:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
488
489         * except.c (enum eh_region_type): Add ERT_UNKNOWN.
490         (mark_eh_region, case ERT_UKNONW): New case.
491
492 2001-11-17  Christopher Faylor  <cgf@redhat.com>
493             Corinna Vinschen  <vinschen@redhat.com>
494
495         * config/i386/cygwin.h: Search target specific include directory for
496         w32api stuff, if appropriate.
497
498 Sat Nov 17 08:20:44 2001  Douglas Rupp  <rupp@gnat.com>
499
500         * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
501
502 2001-11-16  Aldy Hernandez  <aldyh@redhat.com>
503
504         * config/rs6000/rs6000.md: Change all ldvx to lvx.
505
506 2001-11-16  Alexandre Oliva  <aoliva@redhat.com>
507
508         * gensupport.c (process_rtx): Don't assume filename is the first
509         argument of any rtl.
510
511 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
512
513         * vax-protos.h (reg_was_0_p): New prototype.
514         * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
515         * vax.c (follows_p, reg_was_0_p): New functions.
516
517 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
518
519         * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
520         (casesi1): Likewise.  Define new pattern which arises by simplification
521         when operand 1 is a constant int.  Correct pattern which arises by
522         simplification when operand 1 is zero.
523
524 2001-11-16  David O'Brien  <obrien@FreeBSD.org>
525
526         * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
527         arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
528         arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
529         arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
530         arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
531         arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
532         xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
533         * config/arm/aof.h: Don't include arm.h.
534         * config/arm/aout.h: Likewise.
535         * config/arm/coff.h: Don't include semi.h and aout.h.
536         * config/arm/elf.h: Don't include aout.h.
537         * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
538         (TARGET_VERSION): Undef before defining.
539         (ARM_OS_NAME): Likewise
540         (TARGET_DEFAULT): Likewise
541         (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
542         * config/arm/pe.h: Don't include arm/coff.h.
543         * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
544         SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
545         * config/arm/riscix1-1.h: Likewise.
546         * config/arm/rix-gas.h: Don't include riscix.h.
547         (DBX_CONTIN_LENGTH): Undef before defining.
548         * config/arm/semi.h: Don't include aout.h.
549         * config/arm/semiaof.h: Don't include aof.h.
550         * config/arm/strongarm-coff.h: Don't include coff.h.
551         * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
552         * config/arm/vxarm.h: Don't include arm/coff.h.
553         * config/arm/xscale-coff.h: Don't include coff.h.
554
555 Fri Nov 16 15:22:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
556
557         * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
558         emit_cmp_insn.
559
560 2001-11-16  Andreas Jaeger  <aj@suse.de>
561
562         * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
563         to ....
564         (fixup_fallthru_exit_predecessor): ... this.
565         Change callers and prototype.
566
567 2001-11-16  Bernd Schmidt  <bernds@redhat.com>
568
569         * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
570         hand; don't use gen_setcc_2.
571         (ix86_expand_builtin): Fix pshufw.
572         * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
573         case UNORDERED to emit the right assembler instruction.
574         (mmx_pshufw): Lose operand 2.
575         (cvtsi2ss): Fix representation.
576         From Graham Stott:
577         (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
578
579 2001-11-16  Joseph S. Myers  <jsm28@cam.ac.uk>
580
581         * doc/include/linux-and-gnu.texi: Remove.
582         * doc/gnu.texi: New.
583         * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
584         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
585
586 2001-11-16  Kazu Hirata  <kazu@hxi.com>
587
588         * config/a29k/a29k.c: Fix comment formatting.
589         * config/a29k/a29k.h: Likewise.
590         * config/arc/arc.c: Likewise.
591         * config/arc/arc.h: Likewise.
592         * config/vax/vax.c: Likewise.
593         * config/vax/vax.h: Likewise.
594         * config/we32k/we32k.c: Likewise.
595         * config/we32k/we32k.h: Likewise.
596
597 2001-11-16  Jeff Law  <law@redhat.com>
598
599         * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
600         creating a new jump insn.
601
602 Fri Nov 13 09:06:25 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
603
604         * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
605         copy misaligned data.
606         * varasm.c (assemble_variable): Set alignment into MEM when changed.
607
608 2001-11-16  Graham Stott  <grahams@redhat.com>
609
610         * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
611         OPALIGN type.
612
613 2001-11-16  Olivier Hainque <hainque@act-europe.fr>
614
615         * except.c: Support for catching a list of types with a single handler
616         (struct eh_region): Change type and filter to lists for catch regions.
617         (mark_eh_region): Mark the filter list for GC also.
618         (expand_start_catch): Always build a list if argument not NULL and
619         register each type of the list through add_type_for_runtime.
620         (duplicate_eh_region_1): Change type into type_list for catch regions.
621         (assign_filter_values): Assign a filter to each type associated with a
622         catch region. Assign filter for NULL types in a unique entry in the
623         filter list.
624         (build_post_landing_pads): Emit compare and jump for each filter of
625         the list associated with a catch region.
626         (reachable_next_level): When the type thrown is known, stop the search
627         as soon as one type within a catch list matches. Also, a handler is
628         potentially reachable only if at least one of the types it catches
629         has not been previously caught.
630         (collect_one_action_chain): Retrieve the filter for a NULL type list
631         from the first filter list entry. For non NULL type lists, add an
632         action record for every filter assigned.
633         * except.h: Reflect changes in comment before expand_start_catch.
634
635 Fri Nov 16 07:12:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
636
637         * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
638         BLKmode.
639
640 Fri Nov 16 06:37:05 2001  Andreas Tobler  <a.tobler@schweiz.ch>
641
642         * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
643
644 2001-11-16  Jakub Jelinek  <jakub@redhat.com>
645
646         * c-lang.c (finish_file): Don't emit static inline functions if
647         they weren't referenced.
648
649 2001-11-15  Stan Shebs  <shebs@apple.com>
650
651         * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
652
653 2001-11-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
654
655         * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
656         call.
657         * config/i386/i386.md: Likewise.
658
659 Thu Nov 15 21:40:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
660
661         * timevar.c (rtl.h): Include so get fancy abort.
662
663 2001-11-15  Dale Johannesen  <dalej@apple.com>
664
665         * config/darwin.h (SELECT_RTX_SECTION):  Force address
666         initializers into 'const' section
667         * config/rs6000/rs6000.c (rs6000_emit_cmove):  Fix mode of
668         if_then_else to match result, not operands
669
670 Thu Nov 15 17:57:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
671
672         * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
673         * emit-rtl.c (change_address): Fix typo in default alignment.
674         (adjust_address_1): Use mode of NEW, not MODE, when setting size.
675         * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
676         * rtl.h (REGNO_PTR_FRAME_P): New macro.
677
678         * expr.c (store_field): Pass tree instead of max size; callers changed.
679         Change handling of alignment.
680         Only copy to_rtx if is TARGET.
681         (expand_expr_unaligned): Delete; callers now use expand_expr.
682         (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
683         (expand_assignment): Change handling of alignment.
684         Only copy to_rtx if was original.
685         (get_inner_reference): No longer return alginment; callers changed.
686         (expand_expr, case COMPONENT_REF): Change handling of alignment.
687         (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
688         (compare_from_rtx): Delete ALIGN parm; all callers changed.
689         (do_compare_rtx_and_jump): Likewise.
690         * expr.h: Reflect above changes.
691         * tree.h: Likewise.
692         * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
693         to get_inner_reference.
694         * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
695         * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
696         * optabs.c: Likewise.
697         (prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
698         (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
699         * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
700         compare_rtx_and_jump, and emit_cmp_jump_insns.
701         * fold-const.c: Remove PALIGN in calls to get_inner_reference.
702         * function.c (assign_stack_temp_for_type): No longer static.
703         * optabs.h (emit_cmp_insn): Remove ALIGN parm.
704         (prepare_cmp_insn): Delete declaration.
705         * rtl.h (assign_stack_temp_for_type): Add declaration.
706         * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
707         * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
708         * config/i386/i386.c,config/mips/mips.c: Likewise.
709         * config/i860/i860.c, config/ia64/ia64.c: Likewise.
710         * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
711
712 2001-11-15  Stan Shebs  <shebs@apple.com>
713
714         * config/rs6000/rs6000.h: Fix a comment typo.
715         (RTX_COSTS): Sort processor versions better.
716
717 2001-11-15  Kazu Hirata  <kazu@hxi.com>
718
719         * config/h8300/h8300.md: Fix insn length of bit insns.
720
721 2001-11-15  Jason Merrill  <jason@redhat.com>
722
723         * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
724         DIEs if there were errors in the source.
725
726         * config/alpha/alpha-interix.h, config/alpha/elf.h,
727         config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
728         config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
729         config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
730         config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
731         config/elfos.h, config/lynx.h, config/netware.h,
732         config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
733         config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
734         uses to use ASM_LONG.
735
736 2001-11-15  Alan Matsuoka  <alanm@redhat.com>
737
738         * gensupport.c  process_include : Change call to alloca to
739         xmalloc.
740
741 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
742
743         * config/rs6000/rs6000.md: Use spaces instead of tabs in output
744         templates.
745
746 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
747
748         * final.c (alter_subreg): If simplify_subreg can't do anything,
749         handle REG ourselves and abort for others.
750
751 2001-11-15  Richard Hodson  <hodsonr@dionecorp.com>
752
753         * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
754         routines.
755
756 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
757
758         * fix-header.c (read_scan_file): Update.
759
760 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
761
762         * toplev.c (toplev_main): Don't start timing until after
763         command-line options are parsed.
764
765 2001-11-15  Andreas Schwab  <schwab@suse.de>
766
767         * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
768         makefile frag, not host makefile frag.
769         (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
770         (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
771         used.
772         (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
773         * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
774         * config/m88k/t-dgux (STMP_FIXPROTO): Define.
775         * config/i386/t-cygwin (STMP_FIXPROTO): Define.
776         * config/i386/t-dgux (STMP_FIXPROTO): Define.
777         * config/x-interix: Don't define STMP_FIXPROTO and
778         FIXPROTO_DEFINES.
779         * config/t-interix: New file, define STMP_FIXPROTO.
780         * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
781         * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
782         * config/t-svr4 (FIXPROTO_DEFINES): Define.
783         * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
784         * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
785         * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
786         * config/m68k/t-hp3200: Renamed from x-hp3200.
787         * config/i370/t-oe: Renamed from x-oe.
788         * config/mips/t-iris: Renamed from x-iris.
789         * config/pa/t-bsd: Renamed from x-pa.
790         * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
791         * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
792         config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
793         config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
794         config/rs6000/x-cygwin: Remove files.
795
796         * configure.in: Check for target objdump and use that in eh_frame
797         optimization test.
798         * configure: Regenerated.
799
800 2001-11-15  Jakub Jelinek  <jakub@redhat.com>
801
802         * jump.c (squeeze_notes): Return true if no real insns were found.
803         * rtl.h (squeeze_notes): Adjust prototype.
804         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
805         squeeze_notes finds no real instructions, abort.
806         (merge_blocks_move_successor_nojumps): Likewise.
807         * loop.c (find_and_verify_loops): Likewise.
808         * stmt.c (expand_end_case): Likewise.
809         * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
810         find any real instructions.
811
812         * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
813
814         * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
815         conditional jump, request updating life into for the block
816         containing it.  Fix a typo which prevented life info update.
817         Clear blocks bitmap before using it.
818
819 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
820
821         * c-common.c: Include c-lex.h.
822         (c_common_lang_init): Change prototype.  Call init_c_lex and
823         init_pragma from here.
824         * c-common.h (c_common_lang_init): Change prototype.
825         * c-decl.c (init_decl_processing): Rename.  Call c_parse_init.
826         * c-lang.c (c_init): Change prototype.  Update.
827         (c_init_options): Update.
828         * c-lex.c (cpp_filename): Remove.
829         (init_c_lex): Update.  Read the main file, and get the original
830         file name.
831         (yyparse): Finish the command line options.
832         * c-parse.in (c_parse_init): Call init_reswords here.
833         (init_parse): Remove.
834         * c-tree.h (c_init_decl_processing): New.
835         * cpphash.c (_cpp_init_hashtable): After initializing the hash
836         table, populate it.
837         * cppinit.c (read_original_filename, cpp_finish_options): New.
838         (cpp_create_reader): New prototype. Defer hash table initialization.
839         (cpp_start_read): Rename cpp_read_main_file.  Initialize the
840         hash table.  Get the original filename.
841         * cpplib.h (cpp_create_reader): Update.
842         (cpp_start_read): Remove.
843         (cpp_read_main_file, cpp_finish_options): New.
844         * cppmain.c (main, do_preprocessing): Update.
845         * langhooks.h (struct langhooks): Update init prototype.
846         * toplev.c (general_init, parse_options_and_default_flags,
847         process_options, lang_indpendent_init, lang_dependent_init,
848         init_asm_output): New; perform the bulk of initialization.
849         (compile_file): Move most of initialization to above functions.
850         (debug_hooks): Initialize statically.
851         (set_Wunused): Relocate.
852         (toplev_main): Move most of initialization to other init functions.
853         Have a clear logic flow.
854         * tree.h (init_parse, init_decl_processing): Remove.
855 objc:
856         * objc-act.c (objc_init): Update prototype, combine with old
857         init_parse.
858         (objc_init_options): Update.
859
860
861 2001-11-15  Andreas Jaeger  <aj@suse.de>
862
863         * cfgrtl.c (purge_all_dead_edges): Use int as argument for
864         portability.
865         * basic-block.h: Adjust prototype.
866
867 2001-11-15  Kazu Hirata  <kazu@hxi.com>
868
869         * config/rs6000/aix31.h: Fix comment formatting.
870         * config/rs6000/beos.h: Likewise.
871         * config/rs6000/darwin.h: Likewise.
872         * config/rs6000/eabi.asm: Likewise.
873         * config/rs6000/linux.h: Likewise.
874         * config/rs6000/linux64.h: Likewise.
875         * config/rs6000/lynx.h: Likewise.
876         * config/rs6000/netbsd.h: Likewise.
877         * config/rs6000/rs6000.c: Likewise.
878         * config/rs6000/rs6000.h: Likewise.
879         * config/rs6000/rs6000.md: Likewise.
880         * config/rs6000/sol2.h: Likewise.
881         * config/rs6000/tramp.asm: Likewise.
882         * config/rs6000/xcoff.h: Likewise.
883         * config/rs6000/xm-beos.h: Likewise.
884
885 2001-11-14  Alan Matsuoka  <alanm@redhat.com>
886
887         * rtl.def (INCLUDE) : Define.
888         * gensupport.c  (init_include_reader, process_include,
889         save_string) :  New functions to implement an include facility
890         in .md files.
891         * gensupport.h : Add prototype for init_md_reader_args.
892         * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
893         genextract.c genflags.c genopinit.c genoutput.c
894         genpeep.c genrecog.c: Change call to init_md_reader to
895         init_md_reader_args.
896         * md.texi: Document (include "path") and -I directives for RTL
897         generation tools.
898
899 2001-11-14  DJ Delorie  <dj@redhat.com>
900
901         * integrate.c (get_hard_reg_initial_reg): New.
902         * integrate.h (get_hard_reg_initial_reg): Prototype.
903         * local-alloc.c (block_alloc): Don't tie pseudos that
904         represent call-saved hard regs' initial values.
905
906 2001-11-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
907
908         * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
909         recursion.
910
911 2001-11-14  Roger Sayle <roger@eyesopen.com>
912
913         * fold-const.c (fold): Optimize strlen comparisons against zero.
914
915 2001-11-14  David O'Brien  <obrien@FreeBSD.org>
916
917         * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
918         sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
919         sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
920         sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
921         sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
922         sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
923         sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
924         Include various CPU headers via tm_file.  a.out based platforms now
925         properly include sparc/aout.h.  sol2.h usage now implies including
926         elfos.h, svr4.h, and sparc/sysv4.h.
927         * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
928         Also define to '1'.
929         * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
930         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
931         DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
932         Remove.  They are a.out specific and belong in sparc/aout.h.
933         * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
934         ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
935         DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define.  Moved here from
936         sparc/sparc.h.
937         * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
938         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
939         Moved here from sparc/sparc.h.
940         * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
941         defining.
942         * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
943         * config/sparc/lynx.h:  Don't include lynx.h.
944         (SELECT_SECTION): Do not undef.
945         * config/sparc/openbsd.h: Don't include sparc/sparc.h.
946         * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
947         and sparc/sysv4.h.
948         * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
949         * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define.  Get from
950         sparc/aout.h now.
951         * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
952         Don't undef, there is no need.
953         * config/sparc/splet.h (CPP_PREDEFINES): Define.
954         * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
955         * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
956         Don't include sparc/sparc.h.
957         * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
958         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
959         DATA_SECTION_ASM_OP): Don't undef, there is no need now.  Don't include
960         elfos.h and svr4.h.
961         (TARGET_VERSION): Define.
962         * config/sparc/vxsim.h (TARGET_VERSION): Define.
963
964 Wed Nov 14 19:46:08 CET 2001  Jan Hubicka  <jh@suse.cz>
965
966         * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
967         (cfg_layout_finalize): Use it.
968         * bb-reorder.c (HAVE_epilogue): Remove.
969         (make_reorder_chain): Do not care special placement of
970         last basic block.
971
972         * predict.c (expected_value_to_br_prob): Delete the note
973         once transformed.
974
975         * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
976         measure integration time separately.
977
978 Wed Nov 14 12:30:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
979
980         * function.c (struct temp_slot): ALIGN now unsigned.
981
982 2001-11-14  Kazu Hirata  <kazu@hxi.com>
983
984         * config/dsp16xx/dsp16xx.c: Fix comment formatting.
985         * config/dsp16xx/dsp16xx.h: Likewise.
986         * config/dsp16xx/dsp16xx.md: Likewise.
987
988 2001-11-14  Kazu Hirata  <kazu@hxi.com>
989
990         * config/h8300/h8300.c (get_shift_alg): Reorganize the code
991         that deals with 7-bit shifts in HImode.
992
993 Wed Nov 14 14:17:05 CET 2001  Jan Hubicka  <jh@suse.cz>
994
995         * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
996         * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
997         (final_scan_insn): Update call of alter_subreg.
998         (cleanup_subreg_operands): Likewise.
999         (alter_subreg): Rewrite using simplify_subreg.
1000         (output_address, output_operand): Update call of alter_subreg.
1001         * output.h (alter_subreg): Update prototype.
1002         * sdbout.c (sdbout_symbol): Update call of alter_subreg.
1003         * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
1004         * Makefile.in (final.o): Add depdendancy on expr.h
1005
1006 Wed Nov 14 06:37:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1007
1008         * c-lang.c (finish_file): Make I unsigned to eliminate warning.
1009
1010 2001-11-13  Jeff Sturm  <jsturm@one-point.com>
1011
1012         * doc/install.texi (sparc-*-linux*): Mention requirements for
1013         binutils and glibc.
1014
1015 2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
1016
1017         * Makefile.in (POD2MAN): Don't include --section=1.
1018         (manext): Rename to man1ext.  All users changed.
1019         (man7ext): New.
1020         (man7dir): New.
1021         (generated-manpages): Also depend on $(docdir)/gfdl.7,
1022         $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
1023         ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
1024         --section=1 in calls to $(POD2MAN).
1025         ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
1026         (maintainer-clean, install, uninstall): Handle the new man pages.
1027         ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
1028         (installdirs): Create man7dir.
1029         * doc/cpp.texi: Include GFDL in this manual.  In the man page,
1030         refer to gfdl(7) for the GFDL.  Apply Front Cover and Back Cover
1031         texts to man page.  Include gpl(7), gfdl(7) and fsf-funding(7) in
1032         the SEE ALSO man page section.
1033         * doc/gcov.texi: Apply GFDL to man page.  Include gpl(7), gfdl(7)
1034         and fsf-funding(7) in the SEE ALSO man page section.
1035         * doc/invoke.texi: Apply GFDL to man page.  Include gpl(7),
1036         gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
1037         * doc/include/fdl.texi, doc/include/funding.texi,
1038         doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
1039         * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
1040
1041 2001-11-13  Richard Henderson  <rth@redhat.com>
1042
1043         * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
1044         as appropriate for the artificial decl.
1045
1046 2001-11-13  Richard Henderson  <rth@redhat.com>
1047
1048         * loop.c (combine_movables): Turn off combination until
1049         move_movables validation bugs are fixed.
1050
1051 2001-11-13  DJ Delorie  <dj@redhat.com>
1052
1053         * config.gcc (powerpc|rs6000): Set default cpp options based
1054         on --with-cpu settings.
1055         * config/rs6000/softfloat.h: New.
1056
1057 2001-11-13  Kazu Hirata  <kazu@hxi.com>
1058
1059         * config/h8300/h8300.c (shift_alg_si): Use special code for
1060         25-bit shifts on H8/S.
1061         (get_shift_alg): Generate special code for 25-bit shifts on
1062         H8/S.
1063
1064 2001-11-13  Jakub Jelinek  <jakub@redhat.com>
1065
1066         * emit-rtl.c (adjust_address_1): Add ADJUST argument.
1067         (adjust_automodify_address_1): New.
1068         * expr.h (adjust_address, adjust_address_nv): Adjust.
1069         (adjust_automodify_address, adjust_automodify_address_nv): Define.
1070         (adjust_address_1): Update prototype.
1071         (adjust_automodify_address_1): Add prototype.
1072         * expr.c (move_by_pieces_1): Use adjust_automodify_address.
1073         (store_by_pieces_2): Likewise.
1074
1075 Tue Nov 13 05:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1076
1077         * Makefile.in (explow.o): Now depends on ggc.h.
1078         * explow.c (ggc.h): Include.
1079         (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
1080
1081         * Makefile.in (expr.o): Depends on insn-attr.h.
1082         * expr.c (insn-attr.h): New include.
1083         (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
1084         of MEM.
1085         (highest_pow2_factor, case INTEGER_CST): Handle negative values.
1086         (expand_expr): Remove unneeded mark_temp_addr_taken calls and
1087         clean up related usage in ADDR_EXPR.
1088         (expand_expr_unaligned): Likewise.
1089
1090         * emit-rtl.c (change_address): Fix typo in alias setting.
1091
1092 2001-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1093
1094         * Makefile.in (cfgcleanup.o): Depend on insn-config.h
1095
1096 2001-11-12  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1097
1098         PR bootstrap/3451
1099         * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
1100         GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
1101
1102 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
1103
1104         * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
1105         sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
1106         sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
1107         sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
1108         sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
1109         sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
1110         sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
1111         sparc64-*-linux*):  Include various CPU headers via tm_file.
1112         * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
1113         (SELECT_SECTION): Likewise.
1114         (SELECT_RTX_SECTION): Likewise.
1115         * config/sparc/sparc_bi.h: New file.
1116         * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
1117         * config/sparc/linux-aout.h: Likewise.
1118         * config/sparc/linux.h: Don't include sparc/sysv4.h.
1119         * config/sparc/linux64.h: Likewise.
1120         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
1121         * config/sparc/lite.h:  Don't include sparc/sparc.h and gofast.h.
1122         * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
1123         and dbxcoff.h
1124         (ASM_OUTPUT_IDENT): Do not #undef.
1125         (SELECT_SECTION): Likewise.
1126         (SELECT_RTX_SECTION): Likewise.
1127         * config/sparc/liteelf.h: Don't include gofast.h.
1128         * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
1129         * config/sparc/lynx.h: Don't include sparc/sparc.h.
1130         * config/sparc/pbd.h: Likewise.
1131         * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
1132         * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
1133         * config/sparc/rtemself.h: Don't include rtems.h.
1134         * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
1135         * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
1136         sparc_bi.h instead.
1137         * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
1138         * config/sparc/sol2.h: Include sparc/sparc.h directly.
1139         * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
1140         * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
1141         * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
1142         * config/sparc/sp86x-elf.h: Don't include gofast.h.
1143         * config/sparc/splet.h: Don't include sparc/aout.h.
1144         * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
1145         * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
1146         * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
1147         * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
1148         * config/sparc/vxsparc64.h: Don't include gofast.h.
1149         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
1150
1151 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
1152
1153         * doc/standards.texi: Mention C99 TC1.
1154
1155 2001-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1156
1157         * mips-protos.h (mips_output_conditional_branch): Const-ify.
1158         * mips.c (mips_output_conditional_branch): Likewise.
1159
1160 2001-11-12  Kazu Hirata  <kazu@hxi.com>
1161
1162         * config/h8300/h8300.c (shift_alg_si): Use special code for
1163         15-bit logical shifts and 31-bit logical shifts.
1164         (get_shift_alg): Generate special code for 15-bit and 31-bit
1165         logical shifts.
1166
1167 2001-11-12  Kazu Hirata  <kazu@hxi.com>
1168
1169         * config/h8300/h8300.c (shift_alg_qi): Use rotations when
1170         doing 6-bit logical shifts on H8/S.
1171         (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
1172         (get_shift_alg): Generate special code for 21-bit shifts on
1173         H8/S.
1174
1175 2001-11-12  Kazu Hirata  <kazu@hxi.com>
1176
1177         * config/h8300/h8300.c (get_shift_alg): Remove a redundant
1178         label.
1179
1180 Mon Nov 12 11:58:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1181
1182         * alias.c (nonoverlapping_memrefs_p): Only update size from memref
1183         if both size and offset known.
1184
1185 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
1186
1187         * config/ia64/freebsd.h: Fix misspelling.
1188
1189 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
1190
1191         * doc/gcc.texi: Move several chapters out to ...
1192         * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
1193         doc/include/linux-and-gnu.texi, doc/interface.texi,
1194         doc/makefile.texi, doc/passes.texi, doc/portability.texi:
1195         ... here.  New files.
1196         * doc/gcc.texi, doc/contrib.texi: Move section headings into
1197         contrib.texi.
1198         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
1199
1200 2001-11-12  Kazu Hirata  <kazu@hxi.com>
1201
1202         * config/alpha/alpha-interix.h: Fix comment formatting.
1203         * config/alpha/alpha.c: Likewise.
1204         * config/alpha/alpha.h: Likewise.
1205         * config/alpha/alpha32.h: Likewise.
1206         * config/alpha/freebsd.h: Likewise.
1207         * config/alpha/unicosmk.h: Likewise.
1208         * config/alpha/vms.h: Likewise.
1209
1210 2001-11-12  Kazu Hirata  <kazu@hxi.com>
1211
1212         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
1213
1214 2001-11-12  Jakub Jelinek  <jakub@redhat.com>
1215
1216         * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
1217         numbers.
1218
1219 Mon Nov 12 05:18:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1220
1221         * emit-rtl.c (set_mem_attributes): If making object, can set alignment
1222         from type.
1223         (replace_equiv_address): Call update_temp_slot_address.
1224
1225         * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
1226
1227         * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
1228
1229 2001-11-12  Kazu Hirata  <kazu@hxi.com>
1230
1231         * config/h8300/h8300.c (shift_alg_qi): New.
1232         (shift_alg_hi): Likewise.
1233         (shift_alg_si): Likewise.
1234         (get_shift_alg): Change the type of count to unsigned int.
1235         Use the tables.
1236
1237 2001-11-11  Alexandre Oliva  <aoliva@redhat.com>
1238
1239         * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
1240         * c-decl.c (c_expand_body): Take argument can_defer_p.  Use it
1241         to decide whether to defer a function.
1242         (finish_function): Adjust.
1243         (c_expand_deferred_function): New function.
1244         * c-lang.c (deferred_fns): New variable.
1245         (c_init): Initialize it, and mark it as a root.
1246         (defer_fn): New function.
1247         (finish_file): Expand all deferred functions.
1248         * c-tree.h (defer_fn): Declare.
1249         (c_expand_deferred_function): Likewise.
1250         * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
1251         * objc-act.c (deferred_fns): New variable.
1252         (objc_init): Initialize it, and mark it as a root.
1253         (defer_fn): New function.
1254         (finish_file): Expand all deferred functions.
1255
1256 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1257
1258         * alpha.c (unicosmk_special_name): Prototype.
1259         (unicosmk_ssib_name): Delete unused variable.
1260         * alpha/unicosmk.h (common_section, ssib_section): Prototype.
1261         * alpha/vms.h (PREFIX): Undef before defining.
1262         * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
1263         * i370/i370.c (mvs_hash_alias): Prototype.  Wrap with macro
1264         controlling usage.  Const-ify.
1265         (alias_number): Delete unused variable.
1266         * m32r/m32r.c (m32r_sched_init): Add missing argument.
1267         (m32r_expand_block_move): Fix uninitialized warnings.
1268         * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
1269         always true' warnings.
1270         * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
1271         * sh/sh.c: Include "integrate.h".
1272         (output_far_jump): Fix uninitialized warning.
1273         * final.c (shorten_branches): Avoid automatic aggregate
1274         initialization.
1275         * integrate.c (subst_constants): Likewise.
1276
1277 2001-11-11  Kazu Hirata  <kazu@hxi.com>
1278
1279         * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
1280         (get_shift_alg): Remove redundant code.
1281
1282 2001-11-11  Kazu Hirata  <kazu@hxi.com>
1283
1284         * config/pa/milli64.S: Fix comment formatting.
1285         * config/pa/pa-64.h: Likewise.
1286         * config/pa/pa-linux.h: Likewise.
1287         * config/pa/pa-protos.h: Likewise.
1288         * config/pa/pa.c: Likewise.
1289         * config/pa/pa.h: Likewise.
1290         * config/pa/pa32-linux.h: Likewise.
1291         * config/pa/pa32-regs.h: Likewise.
1292         * config/pa/pa64-hpux.h: Likewise.
1293         * config/pa/pa64-regs.h: Likewise.
1294         * config/pa/som.h: Likewise.
1295
1296 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1297
1298         * doc/gcc.texi: Move several chapters out to ...
1299         * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
1300         doc/service.texi, doc/standards.texi, doc/trouble.texi,
1301         doc/vms.texi: ... here.  New files.
1302         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
1303
1304 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1305
1306         * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
1307         cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
1308         collect2.c, combine.c, config.in, configure, configure.in,
1309         conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
1310         genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
1311         reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
1312         spelling errors.
1313
1314 Sun Nov 11 05:56:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1315
1316         * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
1317         Adjust operand number in CONST_DOUBLE.
1318
1319         * expmed.c (extract_bit_field): No longer pass in alignment.
1320         (extract_fixed_bit_field, extract_split_bit_field): Likewise.
1321         (store_bit_field, store_fixed_bit_field, store_split_bit_field):
1322         Likewise.
1323         * expr.c (store_constructor, store_constructor_field): Likewise.
1324         (store_field, emit_group_load, emit_group_store): Likewise.
1325         * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
1326         (store_bit_field, extract_bit_field): Likewise.
1327         * calls.c, expr.c, function.c: Change calls to above functions.
1328         * ifcvt.c, stmt.c: Likewise.
1329
1330         * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
1331         constant and one is on frame.
1332         If know memref offset, adjust size from decl.
1333
1334 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1335
1336         * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
1337         format specifier warning.
1338         * convex.h (ASM_OUTPUT_BYTE): Likewise.
1339         * elfos.h (ALIGN_ASM_OP): Undef before defining.
1340         * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
1341         warning.
1342         * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1343         * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1344         * i386-interix.h (gen_stdcall_suffix): Prototype.
1345         * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
1346         * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
1347         ASM_OUTPUT_LONG_DOUBLE): Likewise.
1348         * i386/interix.c (gen_stdcall_suffix): Const-ify.
1349         * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
1350         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
1351         specifier warnings.
1352         * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1353         * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
1354         ASM_OUTPUT_LONG_DOUBLE): Likewise.
1355         * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1356         * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1357         * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1358         * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1359         * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
1360         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
1361         * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1362         * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
1363         Likewise.
1364         * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
1365         Likewise.
1366         * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
1367         * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
1368         ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
1369         Likewise.
1370         * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
1371         Likewise.
1372         * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
1373         Likewise.
1374         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
1375         * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
1376         * m68k/news.h (PRINT_OPERAND): Likewise.
1377         * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
1378         ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
1379         * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1380         * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
1381         definition.
1382         * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
1383         ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
1384         ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
1385         * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1386         * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
1387         ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
1388         PRINT_OPERAND): Likewise.
1389         * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
1390         Likewise.
1391         * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
1392         * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
1393         * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
1394         * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
1395         * mips.c (mips_output_external_libcall): Mark parameter with
1396         ATTRIBUTE_UNUSED.
1397         (mips_asm_file_start): Move variable into the scope where it's
1398         used.
1399         * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
1400         * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
1401         * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
1402         * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1403         * ns32k.c (print_operand): Likewise.
1404         * pa.c (print_operand, output_div_insn): Likewise.
1405         * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
1406         ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
1407         * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
1408         * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
1409         specifier warnings.
1410         * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1411         * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1412         (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
1413         * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
1414         specifier warnings.
1415         * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1416
1417         * sdbout.c (sdbout_end_epilogue): Mark parameter with
1418         ATTRIBUTE_UNUSED.
1419         * varasm.c (assemble_global): Likewise.
1420
1421 2001-11-11  H.J. Lu <hjl@gnu.org>
1422
1423         * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
1424
1425 Sun Nov 11 01:26:00 CET 2001  Jan Hubicka  <jh@suse.cz>
1426
1427         * final.c (*_MAX_SKIP): Use *_max_skip variables.
1428         * flags.h (align_loops_max_skip, align_jumps_max_skip,
1429         align_labels_max_skip): New global variables.
1430         * toplev.c (align_loops_max_skip, align_jumps_max_skip,
1431         align_labels_max_skip): New global variables.
1432         (toplev_main): Set new variables.
1433         * i386.c (override_options): Set max_skip values.
1434
1435 2001-11-10  Geoffrey Keating  <geoffk@redhat.com>
1436
1437         * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
1438         * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
1439         * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
1440         don't print an @fptr for labels either.
1441         (xstormy16_output_addr_vec): Don't print @fptr here.
1442         * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
1443
1444 Sat Nov 10 08:50:50 2001  Jeffrey A Law  (law@cygnus.com)
1445
1446         * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
1447         an ANSI/ISO definitino.
1448         (ssa_const_prop): Likewise.
1449
1450 2001-11-10  Aldy Hernandez  <aldyh@redhat.com>
1451
1452         * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
1453         altivec registers.
1454
1455 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1456
1457         * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
1458         * cpplex.c (hex_digit_value): Use hex_p/hex_value.
1459         * cppmain.c (general_init): Call hex_init.
1460         * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
1461
1462         * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
1463
1464         * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
1465         of dgux.c:output_file_start().
1466
1467         * i386/dgux.c: Delete file.
1468
1469 2001-11-09  Richard Henderson  <rth@redhat.com>
1470
1471         * config/alpha/alpha.c (decl_in_text_section): New.
1472         (current_file_function_operand): Use it.
1473         (alpha_encode_section_info, alpha_end_function): Likewise.
1474
1475 2001-11-07  David O'Brien  <obrien@FreeBSD.org>
1476
1477         * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
1478         * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
1479         they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
1480         so OS specific files and use CPP_PREDEFINES for their needs.
1481         * config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
1482         target headers to tm_file.
1483         * config/ia64/aix.h (TARGET_VERSION): Likewise.
1484         * config/ia64/hpux.h (TARGET_VERSION): Likewise.
1485         * config/ia64/linux.h (TARGET_VERSION): Likewise.
1486         (FUNCTION_PROFILER): Remove.
1487         * config/ia64/ia64.h (FUNCTION_PROFILER): Update defintion using the
1488         version in config/ia64/linux.h.
1489         * config/ia64/freebsd.h: New file.
1490         * config/freebsd.h: Tidy up.
1491         (_USING_CONFIG_FREEBSD): Define.
1492         (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
1493         (FBSD_CPP_SPEC): Define generic FreeBSD spec.
1494         (FBSD_STARTFILE_SPEC): Likewise.
1495         (FBSD_ENDFILE_SPEC): Likewise.
1496         (FBSD_LIB_SPEC): Likewise.
1497         (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
1498         (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
1499         set an ELF-improper one.
1500
1501 2001-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1502
1503         * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
1504         constant can be loaded in a single instruction to a register.  When
1505         loading immediate constants, use PLUS instead of HIGH/LO_SUM.  Use
1506         depdi for insertion of most significant 32-bits on 64-bit hosts.
1507         * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
1508         with ldil/ldo/depdi instruction sequence on 64-bit hosts.
1509         * pa.md: New addmove pattern for adding constant_int to HImode
1510         register and moving result to HImode register.  Remove HImode HIGH
1511         and LO_SUM patterns.
1512
1513 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
1514
1515         * Makefile.in: Update.
1516         * c-decl.c (print_lang_decl, print_lang_type): Remove.
1517         (print_lang_identifier): Rename c_print_identifier.
1518         * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
1519         (print_lang_statistics, lang_print_xnode): Remove.
1520         * c-parse.in (set_yydebug): Rename c_set_yydebug.
1521         * c-tree.h (c_set_yydebug, c_print_identifier): New.
1522         * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
1523         LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
1524         LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
1525         LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
1526         (LANG_HOOKS_INITIALIZER): Update.
1527         * langhooks.h (struct lang_hooks): New members.
1528         (lang_print_tree_hook): New.
1529         * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
1530         * print-tree.c: Include langhooks.h.
1531         (print_node): Update.
1532         * toplev.c (decode_d_option): Update.
1533         * tree.c: Include langhooks.h.
1534         (dump_tree_statistics): Update.
1535         * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
1536         print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
1537 objc:
1538         * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
1539         LANG_HOOKS_SET_YYDEBUG): Override.
1540         (lang_print_xnode, print_lang_statistics): Remove.
1541
1542 2001-11-09  Richard Henderson  <rth@redhat.com>
1543
1544         * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
1545         on the symbol string.
1546
1547 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1548
1549         * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
1550         ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
1551         * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
1552
1553         * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
1554
1555         * tlink.c (recompile_files): Copy strings passed to `putenv'.
1556
1557 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
1558
1559         * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
1560         (TYPE_READONLY): Likewise.
1561
1562         * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
1563
1564         * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
1565         don't pass --gdwarf2 to the assembler if the compiler will also
1566         provide debug info.
1567
1568         * config/stormy16/stormy16.c (xstormy16_expand_casesi):
1569         Don't change INDEX.
1570
1571 Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1572
1573         * alias.c (nonoverlapping_memrefs_p): New function.
1574         (true_dependence, canon_true_depenence, write_dependence_p): Call it.
1575
1576         * emit-rtl.c (set_mem_attributes): Get alignments for constants.
1577
1578 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
1579
1580         * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
1581         (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
1582         generating altivec code.
1583         (FIXED_REGISTERS): VRSAVE is fixed.
1584         (CALL_USED_REGISTERS): VRSAVE is call used.
1585
1586 2001-11-09  Jason Eckhardt  <jle@rice.edu>
1587
1588         * config/mips/mips.c (mips_output_conditional_branch): Do not hard
1589         code the branch target as ".+16/.+12", but rather use labels.
1590
1591 Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
1592
1593         * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
1594         to work around limitations of certain versions of GAS.
1595
1596         * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
1597         (muldi3): Update due to SUBREG_BYTE changes.
1598         (casesi): Similarly.
1599
1600 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
1601
1602         * doc/invoke.texi: Remove comment referring to -xf77-version.
1603
1604 2001-11-09  Kazu Hirata  <kazu@hxi.com>
1605
1606         * config/convex/convex.c: Fix comment formatting.
1607         * config/convex/convex.h: Likewise.
1608
1609 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
1610
1611         * Makefile.in (.po.pox): Look both in srcdir and builddir
1612         for $(PACKAGE).pot.
1613         (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
1614         to the source directory.
1615
1616 2001-11-09 Ben Elliston  <bje@redhat.com>
1617            Michael Meissner  <meissner@redhat.com>
1618            Andrew MacLeod  <amacleod@redhat.com>
1619            Richard Henderson  <rth@redhat.com>
1620            Nick Clifton  <nickc@redhat.com>
1621            Catherine Moore  <clm@redhat.com>
1622
1623         * m32r.c: Add support for m32rx processor.
1624         * m32r.h: Ditto.
1625         * m32r.md: Ditto.
1626         * t-m32r: Ditto.
1627         * m32r-protos.h: Add prototypes for m32rx functions.
1628         * doc/invoke.texi: Document -m32rx option.
1629
1630 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
1631
1632         * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
1633         or after reload.
1634
1635 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1636
1637         * doc/install.texi2html: Use $MAKEINFO --no-split.
1638
1639 2001-11-09  Andreas Schwab  <schwab@suse.de>
1640
1641         * Makefile.in ($(HOST_PREFIX_1)rtl.o,
1642         $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
1643         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
1644         $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
1645         $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
1646
1647 2001-11-09  H.J. Lu <hjl@gnu.org>
1648
1649         * config/mips/mips.c (mips_output_function_prologues): Cast
1650         `tsize' to long for output.
1651
1652 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
1653
1654         * c-lang.c (LANG_HOOKS_NAME): New.
1655         (lang_hooks): Constify.
1656         (c_init_options): Update.
1657         (lang_identify): Remove.
1658         * c-parse.in (language_string): Remove.
1659         * dbxout.c: Include langhooks.h.
1660         (dbxout_symbol_location): Update.
1661         * dwarf2out.c: Include langhooks.h.
1662         (gen_compile_unit_die): Update.
1663         * dwarfout.c: Include langhooks.h.
1664         (prototyped_attribute, output_compile_unit_die): Update.
1665         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
1666         (LANG_HOOKS_INITIALIZER): Update.
1667         * langhooks.h (struct lang_hooks): New members.  Constify.
1668         * stringpool.c: Don't include toplev.h.
1669         (set_identifier_size): Remove.
1670         * toplev.c (toplev_main): Initialize identifier size.
1671         (print_version): Update.
1672         * tree.h (language_string, init_lex, lang_identify,
1673         set_identifier_size): Remove.
1674         * Makefile.in: Update dependencies.
1675         * config/darwin.c: Include langhooks.h.
1676         (func_name_maybe_scoped): Update.
1677         * config/darwin.h (ASM_END_FILE): Update.
1678         * config/nextstep.h (ASM_END_FILE): Update.
1679         * config/nextstep21.h (ASM_END_FILE): Update.
1680         * config/i386/sun386.h (ASM_END_FILE): Update.
1681         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
1682         (rs6000_output_function_epilogue): Update.
1683 objc:
1684         * objc-act.c (LANG_HOOKS_NAME): Override.
1685         (struct lang_hooks): Constify.
1686         (objc_init_options): Update.
1687         (lang_identify): Remove.
1688
1689 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
1690
1691         * fold-const.c (lshift_double): Honor PREC.
1692         (rshift_double): Likewise.
1693
1694 2001-11-08  Kazu Hirata  <kazu@hxi.com>
1695
1696         * config/1750a/1750a.c: Fix comment formatting.
1697         * config/1750a/1750a.h: Likewise.
1698
1699 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
1700
1701         * configure.in (--enable-languages): Be more permissive about
1702         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
1703         * configure: Regenerated.
1704
1705 2001-11-08  Richard Henderson  <rth@redhat.com>
1706
1707         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
1708
1709 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
1710
1711         * config.gcc: Rename stormy16 to xstormy16.
1712         * config/stormy16/stormy-abi: Likewise.
1713         * config/stormy16/stormy16-protos.h: Likewise.
1714         * config/stormy16/stormy16.c: Likewise.
1715         * config/stormy16/stormy16.h: Likewise.
1716         * config/stormy16/stormy16.md: Likewise.
1717
1718 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
1719
1720         * tree.h (TYPE_VOLATILE): Add enable-checking code.
1721         (TYPE_READONLY): Likewise.
1722
1723 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1724
1725         * reload1.c (reload): Don't delete equiv insn if can throw.
1726
1727         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
1728         (clear_storage): Likewise, for OBJECT.
1729
1730 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
1731
1732         * pa.c (emit_move_sequence): Fix SUBREG expression to
1733         use proper byte offset when extending a constant from
1734         SImode to DImode.
1735
1736 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
1737
1738         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
1739         which cannot throw.
1740
1741 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1742
1743         * explow.c (convert_memory_address, case SUBREG): Only return
1744         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
1745
1746 2001-11-08  Richard Henderson  <rth@redhat.com>
1747
1748         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
1749         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
1750         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
1751
1752 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
1753
1754         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
1755
1756 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
1757
1758         * dwarf2out.c (debug_str_hash): New.
1759         (struct indirect_string_node): New.
1760         (struct dw_val_struct): Change type of val_str to it.
1761         (DEBUG_STR_SECTION_FLAGS): Define.
1762         (add_AT_string): Push string into hashtable, increment reference
1763         counter.
1764         (AT_string): Return string from ht_identifier.
1765         (AT_string_form): New.
1766         (free_AT): For dw_val_class_str, just decrement reference counter.
1767         (size_of_string): Remove.
1768         (size_of_die): Use AT_string_form to decide what size the string
1769         occupies in DIE.
1770         (size_of_pubnames): Use strlen instead of size_of_string.
1771         (value_format): Use AT_string_form for dw_val_class_str.
1772         (output_die): Output DW_FORM_strp strings using
1773         dw2_asm_output_offset.
1774         (indirect_string_alloc, output_indirect_string): New.
1775         (dwarf2out_finish): Emit .debug_str strings if there are any.
1776
1777 2001-11-08  Andreas Franck  <afranck@gmx.de>
1778
1779         * configure.in: Add AC_ARG_PROGRAM to support program name
1780         transformation with --program-prefix, --program-suffix and
1781         --program-transform-name.
1782         * configure: Regenerated.
1783         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
1784         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
1785         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
1786         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
1787         program_transform_name the way suggested by autoconf.
1788         (GCC_TARGET_INSTALL_NAME): Define.
1789         (install-driver): Use the transformed target alias name.
1790
1791 2001-11-08  Richard Henderson  <rth@redhat.com>
1792
1793         * config/mips/mips.c (save_restore_insns): Remove GP from the
1794         restore registers mask early instead of special casing it inside
1795         the loop.
1796
1797 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
1798
1799         * cp/decl.c (shadow_warning): New function.
1800         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
1801         and an error when a block scope decl shadows a parameter.
1802
1803 2001-11-08  Richard Henderson  <rth@redhat.com>
1804
1805         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
1806         case as well.
1807
1808 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1809
1810         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
1811         to implement floating negation on processors prior to PA 2.0.
1812
1813 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
1814
1815         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
1816         (USE_LINKONCE_INDIRECT): Define.
1817         (dw2_output_indirect_constant_1): Try to output indirect constants
1818         into linkonce sections if possible.
1819         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
1820         (dw2_output_indirect_constants): Likewise.
1821
1822 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
1823
1824         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
1825
1826 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
1827
1828         * c-decl.c (pushdecl): Remove file and line.
1829         * c-typeck.c (pop_init_level): Remove size.
1830
1831 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
1832
1833         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
1834         for rs6000.
1835
1836         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
1837         (TARGET_ALTIVEC): New.
1838         (TARGET_SWITCHES): Add altivec.
1839         (FIRST_PSEUDO_REGISTER): Change to 109.
1840         (CALL_USED_REGISTERS): Same.
1841         (FIRST_ALTIVEC_REGNO): New.
1842         (LAST_ALTIVEC_REGNO): New.
1843         (ALTIVEC_REGNO_P): New.
1844         (UNITS_PER_ALTIVEC_WORD): New.
1845         (ALTIVEC_VECTOR_MODE): New.
1846         (FIXED_REGISTERS): Add altivec registers.
1847         (REG_ALLOC_ORDER): Same.
1848         (HARD_REGNO_NREGS): Adjust for altivec registers.
1849         (HARD_REGNO_MODE_OK): Same.
1850         (MODES_TIEABLE_P): Same.
1851         (REGISTER_MOVE_COST): Same.
1852         (REGNO_REG_CLASS): Same.
1853         (reg_class): Add ALTIVEC_REGS.
1854         (REG_CLASS_NAMES): Same.
1855         (REG_CLASS_CONTENTS): Same.
1856         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
1857         (ALTIVEC_ARG_RETURN): New.
1858         (FUNCTION_VALUE): Handle VECTOR_TYPE.
1859         (LIBCALL_VALUE): Handle altivec vector modes.
1860         (VECTOR_MODE_SUPPORTED_P): New.
1861         (ALTIVEC_ARG_MIN_REG): New.
1862         (ALTIVEC_ARG_MAX_REG): New.
1863         (ALTIVEC_ARG_NUM_REG): New.
1864         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
1865         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
1866         (REGISTER_NAMES): Add altivec regs.
1867         (DEBUG_REGISTER_NAMES): Same.
1868         (ADDITIONAL_REGISTER_NAMES): Same.
1869         (rs6000_builtins): New.
1870         (MD_EXPAND_BUILTIN): New.
1871         (MD_INIT_BUILTINS): New.
1872         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
1873         for AltiVec instructions.
1874         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
1875         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
1876         registers.
1877         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
1878         (TARGET_SWITCHES): Add no-altivec.
1879         (DATA_ALIGNMENT): Align vectors to 128 bits.
1880         (TARGET_OPTIONS): Add abi= option.
1881         Add rs6000_abi_string extern.
1882         (LOCAL_ALIGNMENT): New.
1883         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
1884         (MASK_ALTIVEC_ABI): New.
1885         (TARGET_ALTIVEC_ABI): New.
1886         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
1887         call-saved.
1888         (STACK_BOUNDARY): Adjust for altivec.
1889         (BIGGEST_ALIGNMENT): Same.
1890         (rs6000_args): Add vregno.
1891         (USE_ALTIVEC_FOR_ARG_P): New.
1892         (FIXED_REGISTERS): Add vrsave register.
1893         (CALL_USED_REGISTERS): Same.
1894         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
1895         (VRSAVE_REGNO): New.
1896         (reg_class): Add VRSAVE_REGS.
1897         (REG_CLASS_NAMES): Same.
1898         (REG_CLASS_CONTENTS): Same.
1899         (REGNO_REG_CLASS): Same.
1900
1901         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
1902         (ABI_STACK_BOUNDARY): Same.
1903         (BIGGEST_ALIGNMENT): Same.
1904         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
1905         (ROUND_TYPE_ALIGN): Same.
1906
1907         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
1908         to 64.
1909
1910         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
1911         to 64.
1912
1913         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
1914         to 64.
1915
1916         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
1917         (altivec_expand_builtin): New.
1918         (altivec_init_builtins): New.
1919         (TARGET_EXPAND_BUILTIN): New.
1920         (TARGET_INIT_BUILTINS): New.
1921         (rs6000_init_builtins): New.
1922         (struct builtin_description): New.
1923         (bdesc_2arg): New.
1924         (rs6000_reg_names): Add altivec registers.
1925         (alt_reg_names): Same.
1926         (secondary_reload_class): Altivec regs can hold altivec regs and
1927         memory.
1928         (rs6000_emit_move): Force constants into memory for AltiVec moves.
1929         (print_operand): Add 'y' case for printing altivec memory
1930         operands.
1931         (rs6000_legitimize_address): Legitimize vector addresses into
1932         [REG+REG] or [REG].
1933         (altivec_expand_binop_builtin): New.
1934         New string rs6000_current_abi.
1935         (rs6000_override_options): Call rs6000_parse_abi_options.
1936         (rs6000_parse_abi_options): New.
1937         (function_arg_boundary): Vector arguments must be 16
1938         byte aligned.
1939         (function_arg_advance): Handle vector arguments.
1940         (function_arg_partial_nregs): Same.
1941         (init_cumulative_args): Same.
1942         (function_arg): Same.
1943
1944         * config/rs6000/rs6000.md (altivec_lvx): New.
1945         (type): Add altivec attribute.
1946         (movv4si): New.
1947         (*movv4si_internal): New.
1948         (movv16qi): New.
1949         (*movv16qi_internal): New.
1950         (movv8hi): New.
1951         (*movv8hi_internal1): New.
1952         (movv4sf): New.
1953         (*movv4sf_internal1): New.
1954         (altivec_stvx): New.
1955         (vaddubm): New.
1956         (vadduhm): New.
1957         (vadduwm): New.
1958         (vaddfp): New.
1959         (vaddcuw): New.
1960         (vaddubs): New.
1961         (vaddsbs): New.
1962         (vadduhs): New.
1963         (vaddshs): New.
1964         (vadduws): New.
1965         (vaddsws): New.
1966         (vand): New.
1967         (vandc): New.
1968         (vavgub): New.
1969         (vavgsb): New.
1970         (vavguh): New.
1971         (vavgsh): New.
1972         (vavguw): New.
1973         (vavgsw): New.
1974         (vcmpbfp): New.
1975         (vcmpequb): New.
1976         (vcmpequh): New.
1977         (vcmpequw): New.
1978         (vcmpeqfp): New.
1979         (vcmpgefp): New.
1980         (vcmpgtub): New.
1981         (vcmpgtsb): New.
1982         (vcmpgtuh): New.
1983         (vcmpgtsh): New.
1984         (vcmpgtuw): New.
1985         (vcmpgtsw): New.
1986         (vcmpgtfp): New.
1987         (vcmpgefp): New.
1988         (vcmpgtub): New.
1989         (vcmpgtsb): New.
1990         (vcmpgtuh): New.
1991         (vcmpgtsh): New.
1992         (vcmpgtuw): New.
1993         (vcmpgtsw): New.
1994         (vcmpgtfp): New.
1995         (vmaxub): New.
1996         (vmaxsb): New.
1997         (vmaxuh): New.
1998         (vmaxsh): New.
1999         (vmaxuw): New.
2000         (vmaxsw): New.
2001         (vmaxfp): New.
2002         (vmrghb): New.
2003         (vmrghh): New.
2004         (vmrghw): New.
2005         (vmrglb): New.
2006         (vmrglh): New.
2007         (vmrglw): New.
2008         (vminub): New.
2009         (vminsb): New.
2010         (vminuh): New.
2011         (vminsh): New.
2012         (vminuw): New.
2013         (vminsw): New.
2014         (vminfp): New.
2015         (vmuleub): New.
2016         (vmulesb): New.
2017         (vmuleuh): New.
2018         (vmulesh): New.
2019         (vmuloub): New.
2020         (vmulosb): New.
2021         (vmulouh): New.
2022         (vmulosh): New.
2023         (vnor): New.
2024         (vor): New.
2025         (vpkuhum): New.
2026         (vpkuwum): New.
2027         (vpkpx): New.
2028         (vpkuhss): New.
2029         (vpkshss): New.
2030         (vpkuwss): New.
2031         (vpkswss): New.
2032         (vpkuhus): New.
2033         (vpkshus): New.
2034         (vpkuwus): New.
2035         (vpkswus): New.
2036         (vrlb): New.
2037         (vrlh): New.
2038         (vrlw): New.
2039         (vslb): New.
2040         (vslh): New.
2041         (vslw): New.
2042         (vsl): New.
2043         (vslo): New.
2044         (vsrb): New.
2045         (vrsh): New.
2046         (vrsw): New.
2047         (vsrab): New.
2048         (vsrah): New.
2049         (vsraw): New.
2050         (vsr): New.
2051         (vsro): New.
2052         (vsububm): New.
2053         (vsubuhm): New.
2054         (vsubuwm): New.
2055         (vsubfp): New.
2056         (vsubcuw): New.
2057         (vsububs): New.
2058         (vsubsbs): New.
2059         (vsubuhs): New.
2060         (vsubshs): New.
2061         (vsubuws): New.
2062         (vsubsws): New.
2063         (vsum4ubs): New.
2064         (vsum4sbs): New.
2065         (vsum4shs): New.
2066         (vsum2sws): New.
2067         (vsumsws): New.
2068         (vxor): New.
2069
2070 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
2071
2072         * Makefile.in (df.o): Add fibheap.h to dependencies.
2073
2074         * df.h: Add prototypes for transfer functions, iterative_dataflow
2075         functions.
2076         (enum df_flow_dir): New enum.
2077         (enum df_confluence_op): New enum.
2078         (struct df): Add inverse_rts_map.
2079
2080         * df.c: Add sbitmap.h to the list of includes.
2081         (df_rd_global_compute): Removed.
2082         (df_ru_global_compute): Removed.
2083         (df_lr_global_compute): Removed.
2084         (df_rd_transfer_function): New function.
2085         (df_ru_transfer_function): New function.
2086         (df_lr_transfer_function): New function.
2087         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
2088         Use iterative_dataflow_bitmap instead of df_*_global_compute.
2089         (iterative_dataflow_sbitmap): New function.
2090         (iterative_dataflow_bitmap): New function.
2091
2092 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2093
2094         * doc/gcc.texi: Move terminology and spelling conventions to
2095         htdocs/codingconventions.html.
2096
2097 2001-11-07  Graham Stott  <grahams@redhat.com>
2098
2099         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
2100
2101 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
2102
2103         * expmed.c (expand_mult): Force operand to register before computing
2104         cost.
2105         * i386.c (x86_decompose_lea): New global vairable.
2106         * i386.h (x86_decompose_lea): Declare.
2107         (TARGET_DECOMPOSE_LEA): New macro.
2108         (RTX_COST): Handle leas properly.
2109
2110 2001-11-06  Richard Henderson  <rth@redhat.com>
2111
2112         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
2113         defined for a CONSTRUCTOR; don't check it.
2114
2115 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
2116
2117         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
2118         test for absolute pathnames.
2119
2120 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
2121
2122         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
2123         instructions up to the target pc inclusive.
2124
2125 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
2126
2127         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
2128
2129 2001-11-06  Eric Christopher  <echristo@redhat.com>
2130
2131         * config/mips/mips.md(movdf_internal2): Add constraints for float
2132         to general register move.
2133         * config/mips/elf64.h: Add default ABI.
2134
2135 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2136
2137         * alias.c:: Include langhooks.h.
2138         * emit-rtl.c: Similarly.
2139         * toplev.c: Similarly.
2140         * tree-inline.c: Similarly.
2141         * langhooks-def.h: New, the old langhooks.h.  Give the default
2142         hooks a common prefix.
2143         * langhooks.h: Contents extracted from toplev.h.
2144         * toplev.h: Move langhook stuff to langhooks.h.
2145         * langhooks.c: Give default hooks a common prefix.
2146
2147         * c-lang.c: Include langhooks-def.h.
2148         * objc/objc-act.c: Similarly.
2149         * Makefile.in: Update.
2150         * objc/Make-lang.in: Update.
2151
2152 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
2153
2154         * doc/install.texi: Document that configure options not listed in
2155         this file are unsupported.  Document --with-system-zlib.
2156
2157 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2158
2159         * rtl.h (mem_for_const_double): New declaration.
2160         * varasm.c (mem_for_const_double): New function.
2161         * config/convex/convex.md (movdf): Use it.
2162         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
2163         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
2164         * config/m68k/m68kv4.h: Likewise.
2165
2166         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
2167         of new GP reg classes.
2168
2169         * expr.c (store_field): When making temp object for unaligned
2170         component, set it to alias set 0.
2171
2172 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
2173
2174         * c-common.c (c_expand_expr_stmt): Apply default conversions to
2175         non-lvalue arrays if C99.
2176         * c-typeck.c (default_conversion): Split out code handling
2177         array-to-pointer and function-to-pointer conversions into a
2178         separate default_function_array_conversion function.
2179         (default_function_array_conversion): New function.  Keep track of
2180         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
2181         arrays unchanged outside C99 mode instead of giving an error for
2182         them.
2183         (build_component_ref): Use pedantic_non_lvalue when handling
2184         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
2185         (convert_arguments): Use default_function_array_conversion.
2186         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
2187         non-lvalues are OK.
2188         (unary_complex_lvalue): Likewise.
2189         (internal_build_compound_expr): Use
2190         default_function_array_conversion.  Apply default conversions to
2191         function in compound expression.
2192         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
2193         Use default_function_array_conversion.
2194         * doc/extend.texi: Update documentation of subscripting non-lvalue
2195         arrays.
2196         Fixes PR c/461.
2197
2198 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
2199
2200         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
2201         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
2202         corresponding to the complete set of .po and .gmo files in
2203         the source directory's po subdir, modified by LINGUAS.  Don't
2204         look at ALL_LINGUAS.
2205         * configure.in: Don't set ALL_LINGUAS.
2206         * configure: Regenerate.
2207
2208         * Makefile.in (.po.gmo): Don't move into source directory.
2209         (.po.pox): Clarify comments.
2210         (install-po): Look for .gmo files in both srcdir and objdir;
2211         don't fail if a file is totally missing.
2212         (distclean): rmdir ada subdirectory too.
2213
2214 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
2215
2216         * config/rs6000/rs6000.c (rs6000_select_section): Handle
2217         CONSTRUCTORs _correctly_.
2218
2219 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2220
2221         * c-decl.c (delete_block): Remove.
2222         * c-tree.h (delete_block): Remove.
2223
2224 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2225
2226         * cppexp.c (lex, parse_defined): Update warning about defined.
2227
2228 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
2229
2230         * config/rs6000/rs6000.c (rs6000_select_section): Handle
2231         CONSTRUCTORs too.
2232
2233 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
2234
2235         * config/arm/arm.c (arm_return_in_memory): Cope with
2236         int_size_in_bytes returning -1.
2237
2238         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
2239         DECL being NULL.
2240
2241 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
2242
2243         * Makefile.in (bb-reoder.o): Add dependency on cfglayout.h;
2244         remove unneeded dependencies;
2245         (cfglayout.o): New.
2246         * cfglayout.c, cfglayout.h: New files; break out from ...
2247         * bb-reorder.c: ... here; Remove unneeded includes;
2248
2249 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
2250
2251         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
2252
2253 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
2254
2255         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
2256         mode as well.  Do not explicitly create intermediate regs.
2257
2258 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2259
2260         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
2261         (common_section): Delete unused variable.
2262         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
2263         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
2264         * arm-protos.h (arm_poke_function_name, aof_add_import,
2265         aof_delete_import): Const-ify.
2266         * arm.c (legitimize_pic_address): Wrap variables in the macro
2267         controlling their usage.
2268         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
2269         (arm_poke_function_name, pic_chain, import, aof_add_import,
2270         aof_delete_import): Const-ify.
2271         * i386.c (ix86_osf_output_function_prologue): Const-ify.
2272         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
2273         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
2274         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
2275         * i860/sysv3.h: Add missing comment closure.
2276         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
2277         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
2278         to symbolic_operand.
2279
2280         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
2281         (i960-*-*): Set tmake_file.
2282         (sparc86x-*-elf*): Fix typo in header name.
2283
2284         * sched-rgn.c (schedule_insns): Delete unused variable.
2285
2286 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2287
2288         PR c/2820
2289         * c-typeck.c (lookup_field): Rework to return a chain down to
2290         the looked-up field.
2291         (build_component_ref): Use the new lookup_field to handle
2292         nested anonymous entities correctly.
2293
2294 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2295
2296         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
2297         Change parameters to gen_rtx_CONST_DOUBLE.
2298         (GEN_INT64, sparc_emit_set_const64): Likewise.
2299         * config/sparc/sparc.md (movdf split): Likewise.
2300
2301 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
2302
2303         * unroll.c (calculate_giv_inc): Use find_last_value rather
2304         than just hoping the last instruction is the right SET.
2305         [Fixes 990604-1.c on stormy16.]
2306
2307         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
2308         library at all if -T is used.
2309
2310         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
2311         some uses of uninitialized variables in error cases.
2312
2313         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
2314         look at 'temp' if we won't be using it.
2315
2316         * config/stormy16/stormy16.h (CONST_COSTS): Define.
2317         (RTX_COSTS): Define.
2318         (ADDRESS_COST): Define.
2319         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
2320
2321         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
2322
2323         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
2324         stormy16_asm_output_mi_thunk.
2325         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
2326         function.
2327         * config/stormy16/stormy16-protos.h
2328         (stormy16_asm_output_mi_thunk): New prototype.
2329
2330 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2331
2332         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
2333         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
2334         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
2335         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
2336         sched-int.h, toplev.c, config/alpha/alpha.c,
2337         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
2338         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
2339         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
2340         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
2341         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
2342         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
2343         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
2344
2345 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2346
2347         * Makefile.in (dbxout.o): Depend on function.h.
2348         * collect2.c (is_in_list): Hide unused function.
2349         * dbxout.c: Include function.h.
2350         (source_label_number, dbxout_source_line, dbxout_source_file,
2351         dbxout_function_end, dbxout_begin_function): Wrap/move inside
2352         macros controlling usage.
2353         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
2354         * output.h (exports_section): Prototype.
2355
2356         * convex.c (convex_output_function_prologue): Fix format specifier
2357         warning.
2358         (asm_declare_function_name): Fix signed/unsigned warning.
2359         (print_operand): Fix format specifier warning.
2360         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
2361         * dsp16xx-protos.h (uns_comparison_operator,
2362         num_1600_core_shifts): Prototype.
2363         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
2364         (frame_size, frame_pointer_offset): Delete.
2365         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
2366         Make static.  Fix format specifier warnings.
2367         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
2368         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
2369         * dsp16xx.md: Add default case in switches.
2370         * fr30.h (IN_RANGE): Delete.
2371         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
2372         * mcore-protos.h (mcore_output_cmov): Const-ify.
2373         * mcore.c (mcore_output_cmov): Likewise.
2374         * mcore.h (switch_to_section): Make static and prototype.
2375         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
2376         unsigned>=0 warnings.
2377         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
2378         * rs6000-protos.h (read_only_data_section,
2379         read_only_private_data_section): Prototype.
2380         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
2381         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
2382         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
2383
2384 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2385
2386         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
2387         ATTRIBUTE_UNUSED.
2388         * final.c (final_scan_insn): Add brackets around body of if-stmt.
2389         * gcc.c (convert_filename): Add static prototype.  Const-ify.
2390         Wrap variable in macros controlling its use.
2391         * output.h (sdata_section): Add prototype.
2392
2393         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
2394         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
2395         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
2396         (ASM_FILE_START): Const-ify.
2397         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
2398         specifier warning.
2399         * c4x.md: Don't use the 'U' integer suffix.
2400         * clipper.md (clipper_movstr): Delete declaration.
2401         * d30v-protos.h (d30v_move_2words): Const-ify.
2402         (debug_stack_info): Add prototype.
2403         * d30v.c: Include "integrate.h".
2404         (d30v_function_arg_boundary, d30v_function_arg,
2405         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
2406         signed/unsigned warnings.
2407         (d30v_print_operand_memory_reference, d30v_move_2words):
2408         Const-ify.
2409         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
2410         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
2411         * fr30.md: Const-ify.
2412         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
2413         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
2414         (mvs_get_label_page): Hide unused static function.
2415         * i860.c (current_function_original_name): Const-ify.
2416         * i860/sysv3.h (current_function_original_name): Likewise.
2417         * i860/sysv4.h (current_function_original_name): Likewise.
2418         * i960.md: Add default case in switches.  Remove unused variable.
2419         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
2420         * m32r.md: Const-ify.
2421         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
2422         * m68hc11.c: Include "reload.h".
2423         (static_chain_reg, print_options, m68hc11_asm_file_start):
2424         Const-ify.
2425         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
2426         around & in comparison.
2427         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
2428         * mn10200.c (shift_mode): Remove trailing comma.
2429         * mn10300-protos.h (output_tst): Const-ify.
2430         * mn10300.c (output_tst): Likewise.
2431         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
2432         warnings.
2433         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
2434         * pa.c (output_ascii): Likewise.
2435         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
2436         * pdp11.md (expand_unop): Delete declarations.
2437         * pj-protos.h (pj_output_addsi3): Const-ify.
2438         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
2439         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
2440         unique_src_operand): Add prototypes.
2441         (pj_output_store_into_lval): Make definition static.
2442         (pj_function_incoming_arg): Don't use unary plus.
2443         (pj_output_addsi3): Const-ify.
2444         * romp.md (get_symref): Delete declarations.
2445         * v850-c.c (mark_current_function_as_interrupt): Don't return
2446         value from void function.
2447         * v850.c: Include "integrate.h".
2448         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
2449         * vax-protos.h (const_section): Add prototype.
2450
2451 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
2452
2453         * machmode.def: Add documentation for the seventh argument in
2454         vector modes.
2455
2456 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
2457
2458         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
2459         consistently.
2460         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
2461         <-melf>: Don't have markup for ELF acronym.
2462
2463 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
2464
2465         * config.gcc (mmix-*-*): New target.
2466         * doc/invoke.texi: Document MMIX options.
2467         * doc/contrib.texi: Add note about MMIX port to my entry.
2468         * config/mmix/t-mmix: New file.
2469         * config/mmix/mmix.h: New file.
2470         * config/mmix/mmix-protos.h: New file.
2471         * config/mmix/mmix.c: New file.
2472         * config/mmix/mmix.md: New file.
2473         * config/mmix/crti.asm: New file.
2474         * config/mmix/crtn.asm: New file.
2475
2476 2001-11-03  Kazu Hirata  <kazu@hxi.com>
2477
2478         * config/sparc/linux-aout.h: Fix comment formatting.
2479         * config/sparc/linux.h: Likewise.
2480         * config/sparc/linux64.h: Likewise.
2481         * config/sparc/lynx.h: Likewise.
2482         * config/sparc/pbd.h: Likewise.
2483         * config/sparc/sol2-sld-64.h: Likewise.
2484         * config/sparc/sol2.h: Likewise.
2485         * config/sparc/sparc.c: Likewise.
2486         * config/sparc/sparc.h: Likewise.
2487         * config/sparc/sparc.md: Likewise.
2488         * config/sparc/sunos4.h: Likewise.
2489         * config/sparc/vxsim.h: Likewise.
2490         * config/sparc/vxsparc.h: Likewise.
2491         * config/sparc/vxsparc64.h: Likewise.
2492
2493 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2494
2495         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
2496         reference to CONST_DOUBLE_MEM in comment.
2497         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
2498         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
2499         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
2500         * function.c (pop_function_context_from): Don't call
2501         restore_varasm_status.
2502         * function.h (restore_varasm_status): Delete declaration.
2503         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
2504         * rtl.c: Likewise.
2505         * rtl.def (CONST_DOUBLE): Update comment.
2506         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
2507         (CONST_DOUBLE_CHAIN): Likewise.
2508         (CONST_DOUBLE_MEM): Delete.
2509         (gen_rtx_CONST_DOUBLE): Update parameters.
2510         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
2511         Remove reference to CONST_DOUBLE_MEM.
2512         (const_alias_set): New variable.
2513         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
2514         (immed_real_const_1): Adjust tests for 0, 1, and 2.
2515         Don't set CONST_DOUBLE_MEM.
2516         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
2517         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
2518         Put constant in const_alias_set.
2519         (struct pool_constant): ALIGN now unsigned.
2520         OFFSET now HOST_WIDE_INT.
2521         Delete LABEL.
2522         (restore_varasm_status): Deleted.
2523         (mark_pool_constant): Mark desc->rtl.
2524         (force_const_mem): Rework to store rtl in hash table,
2525         not CONST_DOUBLE_MEM.
2526         Put constant in const_alias_set.
2527         (find_pool_constant): Check desc->rtl.
2528         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
2529         (init_varasm_once): Initialize const_alias_set.
2530
2531         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
2532         force_const_mem.
2533
2534         * reload.c (combine_reloads): Don't combine an output reload if there
2535         are other reloads around for part of the output.
2536
2537         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
2538         constant expression.
2539         (set_mem_decl): New function.
2540         * expr.h (set_mem_decl): New declaration.
2541         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
2542         (output_asm_operand_names): Add tab.
2543         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
2544
2545         * builtins.c (get_memory_rtx): Properly set MEM alias set and
2546         attributes.
2547
2548 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
2549
2550         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
2551         Use "invalid" instead of "illegal".  Use @r in comments in
2552         examples.
2553
2554 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
2555
2556         * c-decl.c (pushdecl): Move block inside if conditional to remove
2557         possibility of a segfault.  Lookup block-level extern
2558         variables in enclosing scopes correctly.
2559
2560         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
2561
2562 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
2563
2564         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
2565         SUBREG so we avoid SUBREGing memory.
2566
2567         * expmed.c (store_bit_field): Same.
2568
2569 2001-11-02  DJ Delorie  <dj@redhat.com>
2570
2571         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
2572         using FP registers for DImode mem-mem moves is acceptable.
2573
2574 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
2575
2576         * builtins.c (apply_args_size): Handle vector arguments.
2577         (apply_result_size): Same.
2578
2579         * machmode.def: Set WIDER mode field for all vector entries.
2580
2581 2001-11-02  Graham Stott  <grahams@redhat.com>
2582
2583         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
2584
2585 2001-11-01  Eric Christopher  <echristo@redhat.com>
2586
2587         * config.gcc: Revert part of earlier patch.
2588         * config/mips/linux.h: Ditto.
2589         * df.c: Include tm_p.h to avoid warnings.
2590         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
2591         #if/#endif.
2592         * config/mips/mips.c: Define mips_abi regardless.
2593         (mips_output_function_prologues): Add long casts for .frame
2594         output.
2595         (override_options): Allow use of ABI_32.
2596
2597 2001-11-01  Kazu Hirata  <kazu@hxi.com>
2598
2599         * config/m68hc11/m68hc11.c: Fix comment formatting.
2600         * config/m68hc11/m68hc11.h: Likewise.
2601         * config/m68hc11/m68hc11.md: Likewise.
2602
2603 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
2604
2605         * c-typeck.c (default_conversion): Retain the original expression
2606         codes.
2607         * gcc.dg/Wparentheses.c: New tests.
2608
2609 2001-11-01  David S. Miller  <davem@redhat.com>
2610
2611         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
2612         64-bit Sparc description more in line with reality.
2613
2614 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
2615
2616         * Makefile.in (GCOV_OBJS): Add version.o.
2617         * gcov.c: Include "version.h" and <getopt.h>.
2618         (gcov_version_string): Remove.
2619         (print_usage): Take a parameter to determine whether this is a
2620         call from --help or an error message.  Give fuller output that
2621         follows the GNU Coding Standards for --help.
2622         (print_version): New function.
2623         (options): New.
2624         (process_args): Use getopt_long.  Support long options.  Follow
2625         GNU Coding Standards for --help and --version.
2626         * doc/gcov.texi: Document long options.
2627         Addresses part of PR other/704.
2628
2629 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2630
2631         * pa.c (output_move_double): Fix typo in double load.
2632
2633 2001-11-01  Kazu Hirata  <kazu@hxi.com>
2634
2635         * config/h8300/h8300.c (h8300_encode_label): Compute a string
2636         before passing it to ggc_alloc_string.
2637
2638 2001-11-01  Kazu Hirata  <kazu@hxi.com>
2639
2640         * config/m68k/3b1.h: Fix comment formatting.
2641         * config/m68k/3b1g.h: Likewise.
2642         * config/m68k/a-ux.h: Likewise.
2643         * config/m68k/amix.h: Likewise.
2644         * config/m68k/apollo68.h: Likewise.
2645         * config/m68k/atari.h: Likewise.
2646         * config/m68k/aux-exit.c: Likewise.
2647         * config/m68k/ccur-GAS.h: Likewise.
2648         * config/m68k/crds.h: Likewise.
2649         * config/m68k/dpx2.h: Likewise.
2650         * config/m68k/dpx2g.h: Likewise.
2651         * config/m68k/hp310.h: Likewise.
2652         * config/m68k/hp320.h: Likewise.
2653         * config/m68k/isi.h: Likewise.
2654         * config/m68k/linux.h: Likewise.
2655         * config/m68k/lynx.h: Likewise.
2656         * config/m68k/m68k-psos.h: Likewise.
2657         * config/m68k/m68k.c: Likewise.
2658         * config/m68k/m68k.h: Likewise.
2659         * config/m68k/m68k.md: Likewise.
2660         * config/m68k/m68kelf.h: Likewise.
2661         * config/m68k/m68kv4.h: Likewise.
2662         * config/m68k/mot3300.h: Likewise.
2663         * config/m68k/news.h: Likewise.
2664         * config/m68k/next.h: Likewise.
2665         * config/m68k/pbb.h: Likewise.
2666         * config/m68k/plexus.h: Likewise.
2667         * config/m68k/sgs.h: Likewise.
2668         * config/m68k/sun3.h: Likewise.
2669         * config/m68k/tower.h: Likewise.
2670         * config/m68k/vxm68k.h: Likewise.
2671
2672 2001-10-31  DJ Delorie  <dj@redhat.com>
2673
2674         * config/mips/mips.h (mips_cache_flush_func): Prototype.
2675         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
2676         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
2677         * config/mips/mips.c (mips_cache_flush_func): New.
2678         * doc/invoke.texi: Document the new options.
2679
2680 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
2681
2682         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
2683         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
2684
2685         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
2686
2687         * config/cris/cris.c: Include output.h after tree.h but before
2688         target.h.
2689
2690 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
2691
2692         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
2693         (INTL_SUBDIRS): Just intl.
2694         (.SUFFIXES): Add .gmo .po .pox.
2695         (native): Also depend on build-@POSUB@.
2696         (intl.all, intl.install): Depend on config.h and things it includes.
2697         (po-generated): New target; depend on c-parse.c and tradcif.c.
2698         (install-normal): Also depend on install-@POSUB@.
2699         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
2700         (build-, install-, build-po, update-po, install-po,
2701         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
2702
2703         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
2704         * configure.in: Don't munge XGETTEXT.  Don't generate
2705         po/Makefile.in.
2706         * configure: Regenerate.
2707
2708         * exgettext: Delete.
2709         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
2710         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
2711
2712 2001-10-31  Kazu Hirata  <kazu@hxi.com>
2713
2714         * config/h8300/h8300.md (two anonymous patterns): New.
2715
2716 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
2717
2718         * tree.h (tree_index): Add support for V16QI and V8HI.
2719         (V8HI_type_node): New.
2720         (V16QI_type_node): New.
2721
2722         * tree.c (build_common_tree_nodes_2): Same.
2723
2724         * c-common.c (type_for_mode): Same.
2725
2726 2001-10-31  Kazu Hirata  <kazu@hxi.com>
2727
2728         * config/i386/att.h: Fix comment formatting.
2729         * config/i386/beos-elf.h: Likewise.
2730         * config/i386/bsd.h: Likewise.
2731         * config/i386/bsd386.h: Likewise.
2732         * config/i386/crtdll.h: Likewise.
2733         * config/i386/cygwin.asm: Likewise.
2734         * config/i386/cygwin.h: Likewise.
2735         * config/i386/djgpp.h: Likewise.
2736         * config/i386/freebsd-aout.h: Likewise.
2737         * config/i386/freebsd.h: Likewise.
2738         * config/i386/gas.h: Likewise.
2739         * config/i386/i386-interix.h: Likewise.
2740         * config/i386/i386-protos.h: Likewise.
2741         * config/i386/i386.c: Likewise.
2742         * config/i386/i386.h: Likewise.
2743         * config/i386/i386.md: Likewise.
2744         * config/i386/i386elf.h: Likewise.
2745         * config/i386/interix.c: Likewise.
2746         * config/i386/isc.h: Likewise.
2747         * config/i386/isccoff.h: Likewise.
2748         * config/i386/iscdbx.h: Likewise.
2749         * config/i386/linux.h: Likewise.
2750         * config/i386/lynx.h: Likewise.
2751         * config/i386/mingw32.h: Likewise.
2752         * config/i386/netbsd-elf.h: Likewise.
2753         * config/i386/next.h: Likewise.
2754         * config/i386/osf1elf.h: Likewise.
2755         * config/i386/osfrose.h: Likewise.
2756         * config/i386/sco5.h: Likewise.
2757         * config/i386/seq-gas.h: Likewise.
2758         * config/i386/seq-sysv3.h: Likewise.
2759         * config/i386/sequent.h: Likewise.
2760         * config/i386/sol2.h: Likewise.
2761         * config/i386/sun386.h: Likewise.
2762         * config/i386/uwin.asm: Likewise.
2763         * config/i386/uwin.h: Likewise.
2764         * config/i386/vxi386.h: Likewise.
2765         * config/i386/win32.h: Likewise.
2766         * config/i386/winnt.c: Likewise.
2767         * config/i386/xm-cygwin.h: Likewise.
2768         * config/i386/xm-mingw32.h: Likewise.
2769
2770 2001-10-31  Kazu Hirata  <kazu@hxi.com>
2771
2772         * builtins.def: Fix comment typos.
2773         * config/alpha.c: Likewise.
2774         * config/arm/arm.c: Likewise.
2775         * config/avr/avr.h: Likewise.
2776         * config/d30v/d30v.c: Likewise.
2777         * config/d30v/d30v.h: Likewise.
2778         * config/d30v/d30v.md: Likewise.
2779         * config/dsp16xx/dsp16xx.c: Likewise.
2780         * config/fr30/fr30.c: Likewise.
2781         * config/fr30/fr30.md: Likewise.
2782         * config/i386/i386.c: Likewise.
2783         * config/i860/i860.c: Likewise.
2784         * config/i960/i960.c: Likewise.
2785         * config/ia64/ia64.c: Likewise.
2786         * config/mips/mips.c: Likewise.
2787         * config/pa/pa.c: Likewise.
2788         * config/rs6000/rs6000.c: Likewise.
2789         * config/s390/s390.c: Likewise.
2790         * config/sparc/sparc.c: Likewise.
2791
2792 2001-10-30  Kazu Hirata  <kazu@hxi.com>
2793
2794         * config/mips/elf.h: Fix comment formatting.
2795         * config/mips/elf64.h: Likewise.
2796         * config/mips/iris5.h: Likewise.
2797         * config/mips/iris5gas.h: Likewise.
2798         * config/mips/iris6.h: Likewise.
2799         * config/mips/isa3264.h: Likewise.
2800         * config/mips/linux.h: Likewise.
2801         * config/mips/mips.c: Likewise.
2802         * config/mips/mips.h: Likewise.
2803         * config/mips/mips.md: Likewise.
2804         * config/mips/mips16.S: Likewise.
2805         * config/mips/netbsd.h: Likewise.
2806         * config/mips/osfrose.h: Likewise.
2807         * config/mips/r3900.h: Likewise.
2808         * config/mips/sni-svr4.h: Likewise.
2809         * config/mips/svr4-t.h: Likewise.
2810         * config/mips/ultrix.h: Likewise.
2811
2812 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
2813
2814         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
2815         when we update head->current.
2816
2817 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
2818
2819         * tree.c (id_string_size): Remove.
2820         (dump_tree_statistics): Update.
2821         * toplev.c (compile_file): If dumping stats, dump tree stats too.
2822
2823 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
2824
2825         * sched-rgn.c (schedule_insns): Fix comment.
2826
2827 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
2828
2829         * configure.in: Correct previous change: don't assume that
2830         gas's version number _isn't_ the last thing on the line, or
2831         isn't the only number on the line, either.
2832         * configure: Regenerate.
2833
2834 2001-10-30  Kazu Hirata  <kazu@hxi.com>
2835
2836         * cfgcleanup.c: Fix a comment typo.
2837
2838 2001-10-30  Kazu Hirata  <kazu@hxi.com>
2839
2840         * alias.c: Fix comment formatting.
2841         * recog.c: Likewise.
2842         * config/cris/cris.c: Likewise.
2843         * config/cris/cris.h: Likewise.
2844         * config/i960/i960.c: Likewise.
2845         * config/i960/i960.h: Likewise.
2846
2847 2001-10-30  Kazu Hirata  <kazu@hxi.com>
2848
2849         * config/arm/arm.c: Fix a comment typo.
2850         * config/arm/arm.h: Likewise.
2851         * config/ia64/ia64.c: Likewise.
2852
2853 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
2854
2855         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
2856         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
2857         * rtl.h (set_unique_reg_note): Change return value.
2858         * gcse.c (try_replace_reg): Use set_unique_reg_note.
2859         * cse.c (cse_insn): Likewise.
2860         * expr.c (emit_move_insn): Likewise.
2861         * explow.c (force_reg): Likewise.
2862         * local-alloc (update_equiv_regs): Likewise.
2863         * loop.c (move_moveables, load_mems): Likewise.
2864         * reload (find_reloads): Likewise.
2865
2866 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
2867
2868         Localization fixes.
2869         * c-decl.c (parmlist_tags_warning, start_struct,
2870         check_for_loop_decls): Separate messages for struct, union and
2871         enum cases to allow for languages in which they have different
2872         genders.
2873         * c-format.c (scanf_flag_specs): Separate short and long name of
2874         the assignment suppression feature.
2875         (check_format_types): Localize "pointer" and "different types"
2876         strings.
2877         * c-lex.c (lex_number): Localize "an unsigned long int" and
2878         related strings.
2879         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
2880         warning message.
2881         * c-typeck.c (build_unary_up): Separate messages for increment and
2882         decrement cases to allow for languages in which they use different
2883         articles.  Localize the strings "increment" and "decrement" in one
2884         case.
2885
2886 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
2887
2888         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
2889         when no changes has been made.
2890
2891         * gcse.c (reg_set_bitmap): Turn into reg_set.
2892         (modify_mem_list_set, canon_modify_mem_list_set)
2893         (clear_modify_mem_tables, free_modify_mem_tables): New.
2894         (gcse_main); Use free_modify_mem_tables.
2895         (free_gcse_mem): Likewise; free the bitmaps.
2896         (alloc_gcse_main): Initialize the bitmaps.
2897         (canon_list_insert): Set canon_modify_mem_list_set.
2898         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
2899         (compute_hash_table): Use clear_modify_mem_tables.
2900         (reset_opr_set_tables): Likewise.
2901         (oprs_not_set_p): reg_set_bitmap is regset.
2902         (mark_set, mark_clobber): Likewise.
2903
2904         * df.h (DF_EQUIV_NOTES): New constant.
2905         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
2906         when asked for.
2907
2908         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
2909         (init_regions, schedule_insns): Conditionalize the checking
2910         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
2911
2912 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
2913
2914         * i386.md (movti_rex64 splitter): Fix condition.
2915
2916 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
2917
2918         * configure.in: Do not assume that gas's version number is the
2919         last thing on the first line of as --version output.
2920         * configure: Regenerate.
2921
2922         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
2923         MT_WARNING, MT_ERROR, MT_FATAL.
2924         (main): Call gcc_init_libintl.
2925         (v_message): Call gettext on msgid and "warning: "
2926         * tradcif.y: Include intl.h.
2927         (yyerror): Make parameter definition consistent with
2928         prototype.  Call gettext on msgid argument.
2929
2930 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2931
2932         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
2933         warnings.
2934
2935         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
2936
2937 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2938
2939         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
2940         before referencing it.
2941
2942 2001-10-26  DJ Delorie  <dj@redhat.com>
2943
2944         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
2945         override -G, and force -G0.
2946
2947 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
2948
2949         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
2950         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
2951         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
2952         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
2953
2954         * loop.h (struct induction): Rename ext_dependant to
2955         ext_dependent.
2956         * loop.c: Change all uses.
2957         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
2958         All callers changed.
2959         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
2960
2961 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
2962
2963         * c-parse.in (expr_no_commas, primary), c-typeck.c
2964         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
2965
2966 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
2967
2968         Undo assemble_name change in earlier patch.
2969
2970 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
2971
2972         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
2973         determining the type of the receiver, do not check that TREE_CODE
2974         of receiver is CALL_EXPR before calling receiver_is_class_object().
2975         (receiver_is_class_object): For the GNU runtime: recognize
2976         the case that the receiver is self in a class method context.
2977         Check that TREE_CODE of receiver is CALL_EXPR when checking that
2978         the receiver is a call to objc_get_class.
2979
2980 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2981
2982         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
2983
2984 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2985
2986         * Makefile.in (OBJS): Put all files in alphabetical order.
2987
2988         * dwarf2out.c (add_const_value_attribute): Fix error in last
2989         change.
2990
2991 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
2992
2993         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
2994         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
2995         fix warning.
2996         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
2997         (life_analysis): call purge_all_dead_edges after deleting noops.
2998         (delete_noop_move): Do not purge CFG.
2999         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
3000
3001 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
3002
3003         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
3004         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
3005         (ASM_GLOBALIZE_LABEL): Use assemble_name.
3006         (ASM_OUTPUT_COMMON): Likewise.
3007         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
3008         (rs6000_output_function_epilogue): Likewise.
3009         (output_mi_thunk): Fix typo.
3010         (rs6000_output_symbol_ref): Use assemble_name.
3011         (output_toc): Likewise.
3012         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
3013         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
3014         assemble_name calls STRIP_NAME_ENCODING.
3015         (ASM_OUTPUT_LABEL): Use assemble_name.
3016         (ASM_GLOBALIZE_LABEL): Likewise.
3017         (ASM_DECLARE_FUNCTION_NAME): Likewise.
3018         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
3019         (ASM_OUTPUT_LOCAL): Likewise.
3020
3021 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3022
3023         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
3024         (expand_builtin_apply, expand_builtin_return): Likewise.
3025         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
3026
3027 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
3028
3029         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
3030         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
3031         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
3032         configure, configure.in, except.c, except.h, flow.c, function.c,
3033         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
3034         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
3035         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
3036         unroll.c: Fix spelling errors.
3037
3038         * doc/extend.texi, doc/invoke.texi: Fix spelling.
3039
3040         * doc/gcc.texi: Document use of "dependent" and American spelling.
3041
3042 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
3043
3044         * expr.c (emit_group_load): Support CONCATs by storing them to memory
3045         and reloading.
3046
3047 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3048
3049         * expr.c (store_constructor_field): Only call adjust_address on MEM.
3050
3051 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
3052
3053         * genrecog.c (write_switch):  Output if before switch for
3054         DT_elt_zero_wide_safe.
3055
3056 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3057
3058         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
3059         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
3060         (FUNCTION_PROFILER): Const-ify.
3061         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
3062         (eliminate_constant_term, assemble_name, output_addr_const):
3063         Remove declarations.
3064         (ptr_half_pic_address_p, half_pic_hash): Prototype.
3065         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
3066         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
3067         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
3068         (half_pic_declare, half_pic_external): Const-ify.
3069         * toplev.c: Include "halfpic.h".
3070
3071 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
3072
3073         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
3074         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
3075         config/i386/i386.c, config/i386/i386-interix.h,
3076         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
3077         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
3078         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
3079         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
3080         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
3081         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
3082         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
3083         spelling errors.
3084
3085         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
3086         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
3087         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
3088         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
3089         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
3090         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
3091         system.h, toplev.c: Fix spelling errors.
3092
3093 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3094
3095         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
3096
3097         * dwarf2out.c (reg_number): Abort if pseudo.
3098         (reg_loc_descriptor): Return 0 if pseudo.
3099         (is_based_loc): Return 0 if pseudo.
3100         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
3101         recursive calls.
3102         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
3103         (loc_descriptor): Return 0 if can't find location and handle 0
3104         return from recursive calls.
3105         (loc_descriptor_from_tree): Likewise.
3106         Fix handling of indirect.
3107         Also return 0 for PLACEHOLDER_EXPR.
3108         Clean up COMPONENT_REF cases.
3109         (add_AT_location_descriptor): Simplify, but handle 0 return from
3110         loc_descriptor.
3111         (add_const_value_attribute): Avoid shift count warning.
3112         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
3113         Set comp_unit_die as context if not in function.
3114
3115         * config/mips/mips-protos.h: Break up long lines.
3116         Remove needless #ifdef/#endif blocks.
3117         Don't declare functions declared in file made by genpreds or recog.h.
3118         * config/mips/mips.c (mips_output_function_prologue): TSIZE
3119         is now HOST_WIDE_INT; delete unneeded casts.
3120         * config/mips/mips.h: Don't use #elif.
3121
3122         * expr.c (stor_constructor_field): Always call adjust_address.
3123         Copy TARGET before changing its alias set.
3124         (store_field): Likewise, for TO_RTX.
3125         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
3126         replacement.
3127         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
3128         (find_placeholder): Return 0 if can't find object.
3129         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
3130         returns 0.
3131
3132 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
3133
3134         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
3135
3136 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
3137
3138         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
3139         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
3140         (merge_blocks): Properly udpate life after making edge nonfallthru.
3141         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
3142
3143 2001-10-26  Kazu Hirata  <kazu@hxi.com>
3144
3145         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
3146
3147 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3148
3149         * c-typeck.c (convert_arguments): When comparing for enumeral
3150         type equality, use TYPE_MAIN_VARIANT.
3151         * gcc.dg/Wconversion.c: New tests.
3152
3153 2001-10-26  Kazu Hirata  <kazu@hxi.com>
3154
3155         * s390/s390.c: Fix comment typos.
3156         * s390/s390.h: Likewise.
3157         * s390/s390.md: Likewise.
3158
3159 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
3160
3161         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
3162         (walk_tree): Use it for tail calls where appropriate.
3163
3164 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
3165
3166         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
3167         non-local label_refs.
3168
3169 2001-10-26  Kazu Hirata  <kazu@hxi.com>
3170
3171         * config/h8300/h8300.md (4 anonymous patterns): New.
3172
3173 2001-10-26  Kazu Hirata  <kazu@hxi.com>
3174
3175         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
3176         algorithm through the shift_info structure.
3177         (emit_a_shift): Update the use of get_shift_alg.
3178
3179 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
3180
3181         * sched-rgn.c: Remove bitset typedef.
3182         Change bitset to sbitmap in prototypes / variable types.
3183         Remove bbset_size.
3184         Remove edgeset_bits.
3185         Remove edgeset_size.
3186         s/BITSET_ADD/SET_BIT/g
3187         s/BITSET_INVERT/sbitmap_ones/g
3188         s/BITSET_INTER/sbitmap_a_and_b/g
3189         s/BITSET_UNION/sbitmap_a_or_b/g
3190         s/BITSET_DIFFER/sbitmap_difference/g
3191         s/bitset_member/TEST_BIT/g
3192         (BITSET_*): Removed.
3193         (bitset_member): Removed.
3194         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
3195         EXECUTE_IF_SET_IN_SBITMAP.
3196         (split_edges): Rewrite, use sbitmap functions instead of bitset
3197         operations.
3198         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
3199
3200 2001-10-26  Andreas Schwab  <schwab@suse.de>
3201
3202         * reload1.c (emit_input_reload_insns): Fix parens in last
3203         (undocumented) change that was supposed to change only whitespace.
3204
3205 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3206
3207         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
3208
3209         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
3210         ASM_OPERANDS.
3211
3212 2001-10-26  Andreas Jaeger  <aj@suse.de>
3213
3214         * flow.c (clear_log_links): Remove unused variable.
3215         * cfgcleanup.c (cleanup_cfg): Likewise.
3216
3217 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
3218
3219         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
3220         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
3221
3222 2001-10-26  Richard Henderson  <rth@redhat.com>
3223
3224         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
3225         rename PV_REG to R27_REG.
3226         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
3227         (REG_CLASS_FROM_LETTER): Update.
3228         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
3229         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
3230         (udivsi3, modsi3, umodsi3): Likewise.
3231         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
3232
3233 2001-10-26  Richard Henderson  <rth@redhat.com>
3234
3235         * cfg.c (clear_aux_for_blocks): Split out of ...
3236         (free_aux_for_blocks): here.
3237         (clear_aux_for_edges): Split from ...
3238         (free_aux_for_edges): here.
3239         * basic-block.h: Declare them.
3240         * lcm.c (compute_antinout_edge): Use them.
3241         (compute_laterin, compute_available, compute_nearerout): Likewise.
3242         (optimize_mode_switching): Likewise.
3243
3244 2001-10-26  Richard Henderson  <rth@redhat.com>
3245
3246         * Makefile.in (unstage*): Remove as, ld, collect-ld before
3247         moving everything back to the main build directory.
3248
3249 2001-10-26  Christopher Faylor  <cgf@redhat.com>
3250
3251         * config/i386/cygwin.h: Search target specific include directory, if
3252         appropriate.
3253
3254 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3255
3256         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
3257         of macro guards. Fix #endif comment.
3258
3259         * output.h (default_exception_section, default_eh_frame_section):
3260         Move prototypes outside of macro guard.
3261
3262         * crtstuff.c: Fix #endif comment.
3263
3264 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
3265
3266         * doc/md.texi (movMM): Clarify semantics of storing into a
3267         non-paradoxical SUBREG.
3268
3269 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
3270
3271         * langhooks.c (lang_hook_default_clear_binding_stack): New.
3272         (lang_hook_default_get_alias_set): Move next to other alias
3273         hooks.
3274         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
3275         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
3276         (LANG_HOOKS_INITIALIZER): Add it.
3277         * toplev.h (struct lang_hooks): Add clear_binding_stack.
3278         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
3279         instead of a loop calling poplevel.
3280
3281 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
3282
3283         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
3284         occurrences of #elif with #if...#endif.
3285
3286 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3287
3288         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
3289
3290 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3291
3292         * alias.c (can_address_p): No longer static.
3293         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
3294         Return 0 if all parameters are default values.
3295         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
3296         (adjust_address_1): Try harder to compute a size.
3297         * expr.c (expand_assignment, store_constructor): If can't address,
3298         set MEM_KEEP_ALIAS_SET_P.
3299         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
3300         (store_field): Likewise.
3301         (store_constructor): Simplify call to store_constructor_field.
3302         * expr.h (can_address_p): New declaration.
3303         * gensupport.c (gen_rtx_CONST_INT): New function.
3304         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
3305         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
3306         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
3307
3308         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
3309
3310 2001-10-24  Christopher Faylor  <cgf@redhat.com>
3311
3312         * config/i386/cygwin.h: Use proper path for mingw crt files when
3313         -mno-cygwin.
3314
3315 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3316
3317         * dwarf2out.c (file_info_cmp): Always return consistent results.
3318
3319 2001-10-24  Roger Sayle <roger@eyesopen.com>
3320
3321         * stmt.c (expand_end_case): Index jumptables from zero for
3322         suitably small values of minval.
3323
3324 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
3325
3326         * stor-layout.c (place_union_field): If any field was aligned with
3327         attribute aligned, set record type's TYPE_USER_ALIGN.
3328         (place_field): Likewise.
3329         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
3330         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
3331
3332 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
3333
3334         * c-common.h (struct c_common_identifier): Remove rid_code field.
3335         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
3336
3337         * c-typeck.c (constructor_designated): New local flag.
3338         (struct constructor_stack): Add "designated" field to match.
3339         (start_init): Clear it.
3340         (really_start_incremental_init, push_init_level): Push and
3341         clear it.
3342         (pop_init_level): Pop it.
3343         (set_designator): Set it.
3344
3345         (pop_init_level): Suppress "missing initializer" warnings if
3346         constructor_designated is true.
3347         (process_init_element): Suppress warning about union
3348         initialization under traditional C, if constructor_designated
3349         is true.
3350
3351 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3352
3353         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
3354         change.
3355
3356 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
3357
3358         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
3359
3360 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
3361
3362         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
3363         the node was already a set to a constant.
3364
3365 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3366
3367         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
3368         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
3369
3370 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3371
3372         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
3373         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
3374         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
3375         * s390.c (s390_final_chunkify): Don't use string concatenation.
3376         (s390_function_prologue, s390_function_epilogue): Const-ify.
3377         * s390.h (FUNCTION_PROFILER): Remove unused variable.
3378
3379 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
3380
3381         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
3382         prototypes.
3383
3384 2001-10-23  Stan Shebs  <shebs@apple.com>
3385
3386         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
3387         -traditional-cpp in first-stage compilation.
3388
3389 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3390
3391         * gensupport.c (target_flags): Add.
3392
3393 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
3394
3395         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
3396         if needed.
3397         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
3398         * except.c (expand_builtin_frob_return_addr): Likewise.
3399         (expand_builtin_eh_return): Likewise.
3400         * stmt.c (expand_computed_goto): Likewise.
3401         * explow.c (memory_address): Likewise.
3402         (allocate_dynamic_stack_space): Clean up predicate testing.
3403         (probe_stack_range): Convert SIZE to Pmode.
3404         * calls.c (rtx_for_function_call): Only call convert_memory_address
3405         if needed.
3406         Pass function call operand as ptr_mode, not Pmode.
3407         * expr.c (expand_assignment): Clean up calls to convert_memory
3408         address by only doing so when needed and making offsets Pmode.
3409         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
3410         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
3411         is in Pmode, not ptr_mode.
3412
3413 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3414
3415         * darwin-protos.h (constructor_section, destructor_section,
3416         mod_init_section, mod_term_section): Prototype.
3417         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
3418         Const-ify.
3419         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
3420         Likewise.
3421         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
3422         objc_section_init declaration.
3423         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
3424         (objc_section_init, try_section_alias): Make static.
3425         (alias_section): Make static and hide unused function.
3426         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
3427
3428 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3429
3430         * alias.c (can_address_p): Compnonents are not addressable if
3431         the containing type has alias set 0.
3432         (get_alias_set): Rework to use STRIP_NOPS.
3433         Only call front-end routine on object, type, or object with
3434         NOPs stripped, not inner values.
3435         Use language hook to call front-end routine.
3436         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
3437         (expand_builtin_apply): Call set_mem_align on MEMs we make.
3438         Don't pass alignment to emit_block_move.
3439         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
3440         (expand_builtin_memset): Likewise, but for clear_storage.
3441         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
3442         and remove C++ specific parts.
3443         * c-common.h (c_common_get_alias_set): Add declaration.
3444         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
3445         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
3446         (save_fixed_argument_area): Call set_mem_align.
3447         Remove alignment in call to emit_block_move.
3448         (emit_library_call_value_1, store_one_arg): Likewise.
3449         (target_for_arg): Remove; disabled long ago.
3450         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
3451         once and similar cleanups.
3452         (offset_address): Use proper introductory comment.
3453         * expr.c (emit_block_move): Use alignment from that of MEM args, not
3454         from explicit operand; all callers changed.
3455         (clear_storage): Likewise.
3456         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
3457         (store_field): Remove kludge on alias set used for to_rtx.
3458         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
3459         (expand_expr_unaligned): Call set_mem_attributes instead of
3460         set_mem_alias_set.
3461         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
3462         * function.c (assign_stack_temp_for_type): Set MEM alignment.
3463         (expand_function_end): Track MEM attributes of trampolines.
3464         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
3465         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
3466         attributes from original.
3467         * langhooks.c (lang_hook_default_get_alias_set): New function.
3468         (hook_get_alias_set_0): New function.
3469         * langhooks.h (hook_get_alias_set_0): New declaration.
3470         (lang_hook_default_get_alias_set): Likewise.
3471         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
3472         * reload1.c (alter_reg): Use adjust_address_nv.
3473         * rtl.c (get_mode_alignment): Moved to here.
3474         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
3475         change default if unknown from 1 to BITS_PER_UNIT.
3476         * stor-layout.c (get_mode_alignment): Remove from here.
3477         * toplev.h (struct lang_hoks): Add get_alias_set field.
3478         * tree.h (lang_get_alias_set): Delete declaration.
3479         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
3480         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
3481         (ix86_va_arg): Likewise.
3482         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
3483         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
3484         * config/sparc/sparc.c (sparc_va_arg): Likewise.
3485         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
3486         (expand_block_move_mem): Remove dead code.
3487
3488 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
3489
3490         * c-common.c (warn_div_by_zero): New.
3491         * c-common.h (warn_div_by_zero): New.
3492         * c-decl.c (c_decode_option): Take it on the command line.
3493         * c-typeck.c (build_binary_op): Warn about division by zero.
3494         * doc/invoke.texi: Document the new command line option, fix
3495         documentation of -Wmultichar.
3496         * testsuite/gcc.dg/divbyzero.c: New tests.
3497         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
3498
3499 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
3500
3501         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
3502
3503         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
3504         to avoid update_life_info call.
3505         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
3506         * cfgcleanup.c (bb_flags): New enum.
3507         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
3508         (notice_new_block, update_forwarder_flag): New functions.
3509         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
3510         (try_forward_edges): Likewise; update flags.
3511         (merge_blocks): Likewise.
3512         (outgoing_edges_match): Likewise.
3513         (try_crossjump_to_edge): Likewise.
3514         (try_optimize_cfg): Likewise; initialize and clear the flags;
3515         recompute life info if needed.
3516         (cleanup_cfg): No need to clear aux pointers.
3517
3518 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
3519
3520         * config/i386/i386.c (override_options): Default to minimum
3521         stack alignment when optimizing for code size.
3522         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
3523         change.
3524
3525         * config/i386/i386.c (override_options): Set upper limit of
3526         -mpreferred-stack-boundary to 12.
3527
3528 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
3529
3530         * recog.c (peephole2_optimize): Add default case to switch.
3531
3532 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
3533
3534         * doc/gcc.texi (Sending Patches): Remove.
3535
3536 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
3537
3538         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
3539         fields when comparing.
3540
3541 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3542
3543         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
3544         * arm.c (HOST_INT, HOST_UINT): Likewise.
3545
3546 2001-10-22  Stan Shebs  <shebs@apple.com>
3547
3548         * config/darwin-protos.h (darwin_exception_section): Declare.
3549         (darwin_eh_frame_section): Declare.
3550
3551 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
3552
3553         * i386.md (movti_rex64): Fix mode.
3554
3555 2001-10-22  Stan Shebs  <shebs@apple.com>
3556
3557         * target.h (struct gcc_target): Add asm_out.exception_section,
3558         asm_out.eh_frame_section.
3559         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
3560         (TARGET_ASM_EH_FRAME_SECTION): New.
3561         (TARGET_INITIALIZER): Update.
3562         * output.h (default_exception_section): Declare.
3563         (default_eh_frame_section): Declare.
3564         * dwarf2out.c: Include target.h.
3565         (output_call_frame_info): Call target hook for eh frames.
3566         (default_eh_frame_section): New function.
3567         * except.c: Include target.h.
3568         (output_function_exception_table): Call target hook for exception
3569         section.
3570         * varasm.c (default_exception_section): Rename from
3571         exception_section, remove EXCEPTION_SECTION macro.
3572
3573         * config/darwin.h (darwin_eh_frame_section): New function.
3574         (EXCEPTION_SECTION): Remove.
3575         (TARGET_ASM_EXCEPTION_SECTION): Define.
3576         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
3577         (nextstep_exception_section): New function.
3578         (nextstep_eh_frame_section): New function.
3579         (TARGET_ASM_EXCEPTION_SECTION): Define.
3580         (TARGET_ASM_EH_FRAME_SECTION): Define.
3581
3582         * config/pa/som.h (EXCEPTION_SECTION): Remove.
3583         (TARGET_ASM_EXCEPTION_SECTION): Define.
3584         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
3585         (EXCEPTION_SECTION): Remove.
3586         (TARGET_ASM_EXCEPTION_SECTION): Define.
3587         * config/stormy16/stormy16.h: Remove comments referencing
3588         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
3589
3590         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
3591         TARGET_ASM_EH_FRAME_SECTION.
3592
3593 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
3594
3595         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
3596         terms.
3597
3598         * c-format.c: Fix spelling typo in comment.
3599
3600         * sched-int.h: Fix typo in GCC preamble.
3601
3602 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3603
3604         PR debug/4252
3605         * doc/invoke.texi: Remove references to -fdump-translation-unit.
3606
3607 2001-10-22  Richard Henderson  <rth@redhat.com>
3608
3609         * config/i386/i386.c (ix86_expand_clear): New.
3610         * config/i386/i386-protos.h: Declare it.
3611         * config/i386/i386.md (setcc peep2s): Use it.
3612         (movsi_xor): Unexport.
3613
3614 2001-10-22  Richard Henderson  <rth@redhat.com>
3615
3616         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
3617         free_EXPR_LIST_list for LOG_LINKS.
3618
3619 2001-10-21  Robert Lipe  <robertlipe@usa.net>
3620
3621         * config/i386/i386.c (sco_asm_named_section): Delete.
3622         (sco_asm_out_constructor): Delete.
3623         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
3624         (ASM_OUTPUT_DOUBLE_INT): Likewise.
3625         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
3626         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
3627         (EXCEPTION_SECTION): Delete EH scn renaming hack.
3628
3629 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3630
3631         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
3632         and/or fold extra calls into fewer ones.
3633         * collect2.c (dump_file): Likewise.
3634         * cppexp.c (parse_number): Likewise.
3635         * cpplex.c (_cpp_lex_direct): Likewise.
3636         * final.c (output_asm_insn, asm_fprintf): Likewise.
3637         * fix-header.c (inf_scan_ident, main): Likewise.
3638         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
3639         Likewise.
3640         * fold-const.c (real_hex_to_f): Likewise.
3641         * gen-protos.c (parse_fn_proto): Likewise.
3642         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
3643         * genrecog.c (change_state, write_action): Likewise.
3644         * gensupport.c (shift_output_template): Likewise.
3645         * local-alloc.c (requires_inout): Likewise.
3646         * mips-tfile.c (IS_ASM_IDENT): Likewise.
3647         * protoize.c (is_id_char, main): Likewise.
3648         * real.c (asctoeg): Likewise.
3649         * recog.c (asm_operand_ok): Likewise.
3650         * reload.c (find_reloads): Likewise.
3651         * scan.c (scan_identget_token): Likewise.
3652         * sched-vis.c (print_value): Likewise.
3653         * stringpool.c (ggc_alloc_string): Likewise.
3654         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
3655         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
3656         * tradcpp.c (rescan): Likewise.
3657         * tree.c (clean_symbol_name): Likewise.
3658         * varasm.c (decode_reg_name): Likewise.
3659
3660         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
3661         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
3662         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
3663         * m88k.c (output_ascii): Likewise.
3664         * m88k.h (OVERRIDE_OPTIONS): Likewise.
3665         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
3666         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
3667         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
3668
3669 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
3670
3671         * langhooks.c (lang_hook_default_do_nothing,
3672         lang_hook_default_decode_option): New defaults.
3673         * langhooks.h: Make hooks unconditional and non-NULL.
3674         * toplev.c (compile_file, toplev_main): Update.
3675         * toplev.h: Update comments.
3676         * objc/objc-act.c (lang_hooks): Update to new paradigm.
3677
3678 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3679
3680         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
3681
3682         * system.h (IN_RANGE): New macro.
3683
3684 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
3685
3686         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
3687         INTLDEPS variable, which does not include $LIBICONV.
3688         * Makefile.in: Use INTLDEPS in LIBDEPS.
3689         * configure: Regenerate.
3690
3691 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
3692
3693         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
3694         * cpplex.c (lex_percent, lex_dot): Remove.
3695         (get_effective_char, skip_block_comment, skip_line_comment,
3696         parse_identifier_slow, parse_number, parse_string, save_comment,
3697         _cpp_lex_direct): Update to do lookback freely.
3698         (IF_NEXT_IS, BACKUP): New macros.
3699         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
3700         * cppmacro.c (paste_tokens): Update.
3701
3702 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
3703
3704         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
3705
3706 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
3707
3708         * reload1.c (reload): Check CONSTANT_P before calling
3709         LEGITIMATE_PIC_OPERAND_P.
3710         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
3711         workaround of 2001-10-13.
3712
3713 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
3714
3715         * i386.c (split_di): Handle splitting of DFmode.
3716
3717 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3718
3719         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
3720         (adjust_address_1, offset_address): Likewise.
3721
3722         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
3723         (output_asm_insn): Call it for each line output.
3724         Don't record an operand more than once.
3725
3726         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
3727         * main.c: Include config.h and system.h, but not ansidecl.h.
3728         * Makefile.in (main.o): Update accordingly.
3729
3730 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
3731
3732         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
3733
3734 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
3735
3736         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
3737         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
3738         Break out from ...
3739         (find_sub_basic_blocks): ... here;
3740         (find_many_sub_basic_blocks): New.
3741         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
3742
3743         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
3744
3745         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
3746
3747         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
3748
3749         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
3750         * flow.c (update_life_info): Measure time.
3751         * c-decl.c: Include timevar.h
3752         (c_expand_body): Measure time.
3753         * toplev.c (rest_of_compilation): Measure time of mode switching
3754         separately.
3755         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
3756
3757         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
3758         (lang_independent_options): Add asynchronous-unwind-tables
3759         (toplev_main): flag_asynchronous_unwind_tables implies
3760         flag_unwind_tables.
3761         * flags.h (flag_asynchronous_unwind_tables): Declare.
3762         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
3763         flag_asynchronous_unwind_tables.
3764         (output_call_frame_info): Likewise.
3765         * invoke.texi (-fasynchronous-unwind-tables): Document.
3766         * i386.c (optimization_options): Enable
3767         flag_asynchronous_unwind_tables.
3768
3769         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
3770         * i386.md (s* expanders): Destination is QImode.
3771
3772         * toplev.c (rest_of_compilation): Do not call clear_log_links.
3773         * rtl.h (clear_log_links): Kill.
3774         * flow.c (clear_log_links): Make static; accept blocks parameter;
3775         do no clear life info.
3776         (update_life_info): Call clear_log_links.
3777
3778         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
3779
3780 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
3781
3782         * cpplex.c (handle_newline, skip_escaped_newlines,
3783         get_effective_char, skip_block_comment, skip_line_comment,
3784         parse_identifier_slow, parse_number, parse_string,
3785         _cpp_lex_direct): Update to do more stepping back.
3786         (trigraph_ok): Similarly.  Rename trigraph_p.
3787         (SAVE_STATE, RESTORE_STATE): Remove.
3788         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
3789
3790         * cpplib.c (destringize): Rename destringize_and_run, and
3791         call run_directive directly.
3792         (_cpp_do__Pragma): Simplify.
3793
3794 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3795
3796         * pe.c (arm_pe_unique_section): Const-ify.
3797         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
3798         (switch_to_section): Add static prototype.
3799
3800         * output.h (drectve_section): Prototype.
3801
3802 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3803
3804         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
3805         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
3806         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
3807         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
3808         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
3809         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
3810         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
3811         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
3812         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
3813         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
3814         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
3815         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
3816         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
3817         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
3818         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
3819         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
3820         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
3821         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
3822         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
3823         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
3824         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
3825         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
3826         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
3827         cris-*-none, cris-*-linux*: Update ${tmfile} list.
3828         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
3829         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
3830         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
3831         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
3832         v850-*-*): Delete superflous ${cpu_type} setting.
3833         * config/linux.h: Delete svr4.h include.
3834         (SET_ASM_OP): Delete.
3835         * config/netware.h (INT_ASM_OP): Undef before define.
3836         * config/ptx4.h: Delete elfos.h include.
3837         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
3838         * config/svr4.h: Delete elfos.h include. Update commentary.
3839         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
3840         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
3841         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
3842         config/v850/v850.h: Delete svr4.h include.
3843         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
3844         config/m68k/m68kv4.h, config/m88k/sysv4.h,
3845         config/sparc/sysv4.h: Update includes.
3846         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
3847         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
3848         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
3849         config/m88k/dguxbcs.h: Delete includes.
3850         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
3851         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
3852         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
3853         it.
3854         * config/m88k/dgux.h: Delete include.
3855         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
3856         defining it.
3857         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
3858         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
3859         * config/sh/elf.h: Update include.
3860         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
3861         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
3862
3863 2001-10-19  Catherine Moore  <clm@redhat.com>
3864
3865         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
3866         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
3867         base and count fields.
3868         (stormy16_expand_builtin_va_start):  last_reg_count changed to
3869         size_of_reg_args.  Use count + size in first comparison.
3870
3871 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3872
3873         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
3874         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
3875         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
3876         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
3877         Set alignment from type if INDIRECT_REF.
3878         (adjust_address_1, offset_address): Simplify alignment compuitation.
3879         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
3880         here; done by set_mem_attributes.
3881
3882 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3883
3884         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
3885         * arm-protos.h (rdata_section, zero_init_section, common_section):
3886         Prototype.
3887         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
3888         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
3889         traditional mode stringification.
3890         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
3891         in macros controling its use.
3892         * rtlanal.c: Include tm_p.h.
3893         * varasm.c (asm_output_aligned_bss): Mark parameter with
3894         ATTRIBUTE_UNUSED.
3895         (assemble_constant_align, assemble_start_function, assemble_align,
3896         assemble_variable, assemble_trampoline_template,
3897         output_constant_def_contents): Wrap potentially empty if-stmt body
3898         in brackets.
3899
3900 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3901
3902         * a29k-protos.h (literal_section): Prototype.
3903         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
3904         * a29k.md: Ensure function pointers are prototyped.
3905         * genattrtab.c (write_eligible_delay): Mark parameter with
3906         ATTRIBUTE_UNUSED.
3907
3908 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3909
3910         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
3911         * 1750a.c (print_operand): Fix format specifier warning.
3912         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
3913         * 1750a.md: Likewise.
3914         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
3915         * genemit.c (output_add_clobbers): Mark parameter with
3916         ATTRIBUTE_UNUSED.
3917         * genrecog.c (write_subroutine): Likewise.
3918         * integrate.c (expand_inline_function): Delete unused variable.
3919         * varasm.c (remove_from_pending_weak_list): Wrap with
3920         ASM_WEAKEN_LABEL.
3921
3922 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
3923
3924         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
3925         field is different to previous argument's neg field.
3926
3927         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
3928
3929 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3930
3931         * final.c (get_decl_from_op): New function.
3932         (output_asm_insn): Call it; write "*" when item with decl is address.
3933
3934 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
3935
3936         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
3937         about 64-bit support from the 3.0_branch version.
3938
3939 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
3940
3941         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
3942         USE_INCLUDED_LIBINTL when appropriate.
3943         * configure, config.in: Regenerate.
3944         * Makefile.in (datadir): Set to @datadir@.
3945         (intl.o): Also depend on $(CONFIG_H) and system.h.
3946
3947         * intl.c: Factor out common gettext initialization sequence.
3948         (gcc_init_libintl):  New function.
3949         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
3950         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
3951         off NLS.  Add multiple include guard.  No need to #ifdef-guard
3952         an #undef.  Prototype gcc_init_libintl here.
3953
3954         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
3955         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
3956         Use gcc_init_libintl.
3957
3958 2001-10-19  Catherine Moore  <clm@redhat.com>
3959
3960         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
3961
3962         * config/stormy16/stormy16.c (stormy16_split_move):  Make
3963         sure that REG_INC notes are present for auto_inc operands.
3964
3965 2001-10-19  Andreas Jaeger  <aj@suse.de>
3966
3967         * configure: Regenerated.
3968         * configure.in: Add x86_64 to switch statements.
3969
3970 2001-10-18  Richard Henderson  <rth@redhat.com>
3971
3972         * config/alpha/alpha.md (sibcall_osf_1): Load destination
3973         address into $27 explicitly.
3974         (sibcall_value_osf_1): Likewise.
3975
3976 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3977
3978         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
3979         (offset_address): New function.
3980         (free_emit_status): Free regno_decl.
3981         (init_emit): Pass proper number of elements to xcalloc.
3982         Allocate regno_decl.
3983         (mark_emit_status): Mark regno_decl values.
3984         * expr.c (highest_pow2_factor): New function.
3985         (expand_assigment): Use it and offset_address.
3986         Properly handle ptr_mode vs. Pmode in offset calculation.
3987         (store_constructor, expand_expr_unaligned): Likewise.
3988         (expand_expr, case COMPONENT_EXPR): Likewise.
3989         * expr.h (offset_address): New decl.
3990         * function.h (struct emit_status): Add regno_decl.
3991         (REGNO_DECL): New macro.
3992         * final.c (output_asm_name): Move in file and don't conditionalize
3993         on flag_print_asm_name.
3994         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
3995         Output names of operands, if known.
3996         * function.c (assign_parms): Set REGNO_DECL.
3997         * integrate.c (integrate_decl_tree): Likewise.
3998         * stmt.c (expand_decl): Likewise.
3999         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
4000
4001 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
4002
4003         * attribs.c (handle_noinline_attribute): New function.
4004         (handle_used_attribute): Likewise.
4005         (c_common_attribute_table): Added noinline and used.
4006         * doc/extend.texi (Function Attributes): Document them.
4007         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
4008         Warn when merging inline with attribute noinline.
4009         (start_decl, start_function): Warn if inline and attribute
4010         noinline appear in the same declaration.
4011
4012 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
4013
4014         * config.gcc: Update c4x and i370 for C front end-specific
4015         dependencies.
4016         * config/c4x/c4x-c.c: New.
4017         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
4018         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):